* @ingroup Media
*/
class TiffHandler extends ExifBitmapHandler {
+ const EXPENSIVE_SIZE_LIMIT = 10485760; // TIFF files over 10M are considered expensive to thumbnail
+
/**
* Conversion to PNG for inline display can be disabled here...
* Note scaling should work with ImageMagick, but may not with GD scaling.
* InstantCommons will have thumbnails managed from the remote instance,
* so we can skip this check.
*
- * @param $file
- *
+ * @param File $file
* @return bool
*/
- function canRender( $file ) {
+ public function canRender( $file ) {
global $wgTiffThumbnailType;
return (bool)$wgTiffThumbnailType
* Browsers don't support TIFF inline generally...
* For inline display, we need to convert to PNG.
*
- * @param $file
- *
+ * @param File $file
* @return bool
*/
- function mustRender( $file ) {
+ public function mustRender( $file ) {
return true;
}
/**
- * @param $ext
- * @param $mime
- * @param $params
+ * @param string $ext
+ * @param string $mime
+ * @param array $params
* @return bool
*/
function getThumbType( $ext, $mime, $params = null ) {
$meta['MEDIAWIKI_EXIF_VERSION'] = Exif::version();
return serialize( $meta );
- } catch ( MWException $e ) {
+ } catch ( Exception $e ) {
// BitmapMetadataHandler throws an exception in certain exceptional
// cases like if file does not exist.
wfDebug( __METHOD__ . ': ' . $e->getMessage() . "\n" );
return '';
}
}
+
+ public function isExpensiveToThumbnail( $file ) {
+ return $file->getSize() > static::EXPENSIVE_SIZE_LIMIT;
+ }
}