MediaWiki  master
WebPHandler Class Reference

Handler for Google's WebP format https://developers.google.com/speed/webp/ More...

Inheritance diagram for WebPHandler:
Collaboration diagram for WebPHandler:

Public Member Functions

 canAnimateThumbnail ( $file)
 
 canRender ( $file)
 
 getImageSize ( $file, $path, $metadata=false)
 
 getMetadata ( $image, $filename)
 
 getMetadataType ( $image)
 
 getThumbType ( $ext, $mime, $params=null)
 Render files as PNG. More...
 
 isAnimatedImage ( $image)
 
 isMetadataValid ( $image, $metadata)
 
 mustRender ( $file)
 
- Public Member Functions inherited from BitmapHandler
 autoRotateEnabled ()
 
 canRotate ()
 Returns whether the current scaler supports rotation (im and gd do) More...
 
 makeParamString ( $params)
 
 normaliseParams ( $image, &$params)
 
 parseParamString ( $str)
 
 rotate ( $file, $params)
 
 validateParam ( $name, $value)
 
- Public Member Functions inherited from TransformationalImageHandler
 autoRotateEnabled ()
 Should we automatically rotate an image based on exif. More...
 
 canRotate ()
 Returns whether the current scaler supports rotation. More...
 
 doTransform ( $image, $dstPath, $dstUrl, $params, $flags=0)
 Create a thumbnail. More...
 
 escapeMagickInput ( $path, $scene=false)
 Escape a string for ImageMagick's input filenames. More...
 
 escapeMagickOutput ( $path, $scene=false)
 Escape a string for ImageMagick's output filename. More...
 
 escapeMagickProperty ( $s)
 Escape a string for ImageMagick's property input (e.g. More...
 
 extractPreRotationDimensions ( $params, $rotation)
 Extracts the width/height if the image will be scaled before rotating. More...
 
 getMediaTransformError ( $params, $errMsg)
 Get a MediaTransformError with error 'thumbnail_error'. More...
 
 isImageAreaOkForThumbnaling ( $file, &$params)
 Check if the file is smaller than the maximum image area for thumbnailing. More...
 
 mustRender ( $file)
 Returns whether the file needs to be rendered. More...
 
 normaliseParams ( $image, &$params)
 
 rotate ( $file, $params)
 Rotate a thumbnail. More...
 
- Public Member Functions inherited from ImageHandler
 canRender ( $file)
 
 getDimensionsString ( $file)
 
 getImageArea ( $image)
 Function that returns the number of pixels to be thumbnailed. More...
 
 getImageSize ( $image, $path)
 
 getLongDesc ( $file)
 
 getParamMap ()
 
 getScriptedTransform ( $image, $script, $params)
 
 getShortDesc ( $file)
 
 makeParamString ( $params)
 
 normaliseParams ( $image, &$params)
 
 parseParamString ( $str)
 
 sanitizeParamsForBucketing ( $params)
 
 validateParam ( $name, $value)
 
 validateThumbParams (&$width, &$height, $srcWidth, $srcHeight, $mimeType)
 Validate thumbnail parameters and fill in the correct height. More...
 
- Public Member Functions inherited from MediaHandler
 canAnimateThumbnail ( $file)
 If the material is animated, we can animate the thumbnail. More...
 
 canRender ( $file)
 True if the handled types can be transformed. More...
 
 canRotate ()
 True if the handler can rotate the media. More...
 
 convertMetadataVersion ( $metadata, $version=1)
 Convert metadata version. More...
 
 doTransform ( $image, $dstPath, $dstUrl, $params, $flags=0)
 Get a MediaTransformOutput object representing the transformed output. More...
 
 filterThumbnailPurgeList (&$files, $options)
 Remove files from the purge list. More...
 
 formatMetadata ( $image, $context=false)
 Get an array structure that looks like this: More...
 
 formatMetadataHelper ( $metadataArray, $context=false)
 sorts the visible/invisible field. More...
 
 getAvailableLanguages (File $file)
 Get list of languages file can be viewed in. More...
 
 getCommonMetaArray (File $file)
 Get an array of standard (FormatMetadata type) metadata values. More...
 
 getContentHeaders ( $metadata)
 Get useful response headers for GET/HEAD requests for a file with the given metadata. More...
 
 getDefaultRenderLanguage (File $file)
 On file types that support renderings in multiple languages, which language is used by default if unspecified. More...
 
 getDimensionsString ( $file)
 Shown in file history box on image description page. More...
 
 getEntireText (File $file)
 Get the text of the entire document. More...
 
 getImageSize ( $image, $path)
 Get an image size array like that returned by getimagesize(), or false if it can't be determined. More...
 
 getLength ( $file)
 If its an audio file, return the length of the file. More...
 
 getLongDesc ( $file)
 Long description. More...
 
 getMatchedLanguage ( $userPreferredLanguage, array $availableLanguages)
 When overridden in a descendant class, returns a language code most suiting. More...
 
 getMetadata ( $image, $path)
 Get handler-specific metadata which will be saved in the img_metadata field. More...
 
 getMetadataType ( $image)
 Get a string describing the type of metadata, for display purposes. More...
 
 getPageDimensions (File $image, $page)
 Get an associative array of page dimensions Currently "width" and "height" are understood, but this might be expanded in the future. More...
 
 getPageText (File $image, $page)
 Generic getter for text layer. More...
 
 getParamMap ()
 Get an associative array mapping magic word IDs to parameter names. More...
 
 getRotation ( $file)
 On supporting image formats, try to read out the low-level orientation of the file and return the angle that the file needs to be rotated to be viewed. More...
 
 getScriptedTransform ( $image, $script, $params)
 Get a MediaTransformOutput object representing an alternate of the transformed output which will call an intermediary thumbnail assist script. More...
 
 getShortDesc ( $file)
 Short description. More...
 
 getThumbType ( $ext, $mime, $params=null)
 Get the thumbnail extension and MIME type for a given source MIME type. More...
 
 getTransform ( $image, $dstPath, $dstUrl, $params)
 Get a MediaTransformOutput object representing the transformed output. More...
 
 getWarningConfig ( $file)
 Gets configuration for the file warning message. More...
 
 isAnimatedImage ( $file)
 The material is an image, and is animated. More...
 
 isEnabled ()
 False if the handler is disabled for all files. More...
 
 isExpensiveToThumbnail ( $file)
 True if creating thumbnails from the file is large or otherwise resource-intensive. More...
 
 isMetadataValid ( $image, $metadata)
 Check if the metadata string is valid for this handler. More...
 
 isMultiPage ( $file)
 True if the type has multi-page capabilities. More...
 
 isVectorized ( $file)
 The material is vectorized and thus scaling is lossless. More...
 
 makeParamString ( $params)
 Merge a parameter array into a string appropriate for inclusion in filenames. More...
 
 mustRender ( $file)
 True if handled types cannot be displayed directly in a browser but can be rendered. More...
 
 normaliseParams ( $image, &$params)
 Changes the parameter array as necessary, ready for transformation. More...
 
 pageCount (File $file)
 Page count for a multi-page document, false if unsupported or unknown. More...
 
 parseParamString ( $str)
 Parse a param string made with makeParamString back into an array. More...
 
 parserTransformHook ( $parser, $file)
 Modify the parser object post-transform. More...
 
 removeBadFile ( $dstPath, $retval=0)
 Check for zero-sized thumbnails. More...
 
 sanitizeParamsForBucketing ( $params)
 Returns a normalised params array for which parameters have been cleaned up for bucketing purposes. More...
 
 supportsBucketing ()
 Returns whether or not this handler supports the chained generation of thumbnails according to buckets. More...
 
 validateParam ( $name, $value)
 Validate a thumbnail parameter at parse time. More...
 
 verifyUpload ( $fileName)
 File validation hook called on upload. More...
 

Static Public Member Functions

static decodeExtendedChunkHeader ( $header)
 Decodes an extended chunk header. More...
 
static decodeLosslessChunkHeader ( $header)
 Decodes a lossless chunk header. More...
 
static extractMetadata ( $filename)
 Extracts the image size and WebP type from a file. More...
 
static extractMetadataFromChunks ( $chunks, $filename)
 Extracts the image size and WebP type from a file based on the chunk list. More...
 
- Static Public Member Functions inherited from BitmapHandler
static imageJpegWrapper ( $dst_image, $thumbPath, $quality=null)
 Callback for transformGd when transforming jpeg images. More...
 
- Static Public Member Functions inherited from MediaHandler
static fitBoxWidth ( $boxWidth, $boxHeight, $maxHeight)
 Calculate the largest thumbnail width for a given original file size such that the thumbnail's height is at most $maxHeight. More...
 
static getGeneralLongDesc ( $file)
 Used instead of getLongDesc if there is no handler registered for file. More...
 
static getGeneralShortDesc ( $file)
 Used instead of getShortDesc if there is no handler registered for file. More...
 
static getHandler ( $type)
 Get a MediaHandler for a given MIME type from the instance cache. More...
 
static getMetadataVersion ()
 Get metadata version. More...
 
static getPageRangesByDimensions ( $pagesByDimensions)
 Converts a dimensions array about a potentially multipage document from an exhaustive list of ordered page numbers to a list of page ranges. More...
 

Public Attributes

const BROKEN_FILE = '0'
 
const VP8X_ALPHA = 16
 
const VP8X_ANIM = 2
 
const VP8X_EXIF = 8
 
const VP8X_ICC = 32
 
const VP8X_XMP = 4
 
- Public Attributes inherited from MediaHandler
const MAX_ERR_LOG_SIZE = 65535
 Max length of error logged by logErrorForExternalProcess() More...
 
const METADATA_BAD = false
 
const METADATA_COMPATIBLE = 2
 
const METADATA_GOOD = true
 
const TRANSFORM_LATER = 1
 

Protected Member Functions

 getScalerType ( $dstPath, $checkDstPath=true)
 Must use "im" for XCF. More...
 
- Protected Member Functions inherited from BitmapHandler
 getScalerType ( $dstPath, $checkDstPath=true)
 Returns which scaler type should be used. More...
 
 imageMagickSubsampling ( $pixelFormat)
 Get ImageMagick subsampling factors for the target JPEG pixel format. More...
 
 transformCustom ( $image, $params)
 Transform an image using a custom command. More...
 
 transformGd ( $image, $params)
 Transform an image using the built in GD library. More...
 
 transformImageMagick ( $image, $params)
 Transform an image using ImageMagick. More...
 
 transformImageMagickExt ( $image, $params)
 Transform an image using the Imagick PHP extension. More...
 
- Protected Member Functions inherited from TransformationalImageHandler
 escapeMagickPath ( $path, $scene=false)
 Armour a string against ImageMagick's GetPathComponent(). More...
 
 getClientScalingThumbnailImage ( $image, $scalerParams)
 Get a ThumbnailImage that respresents an image that will be scaled client side. More...
 
 getMagickVersion ()
 Retrieve the version of the installed ImageMagick You can use PHPs version_compare() to use this value Value is cached for one hour. More...
 
 getScalerType ( $dstPath, $checkDstPath=true)
 Returns what sort of scaler type should be used. More...
 
 getThumbnailSource ( $file, $params)
 Get the source file for the transform. More...
 
 transformCustom ( $image, $params)
 Transform an image using a custom command. More...
 
 transformGd ( $image, $params)
 Transform an image using the built in GD library. More...
 
 transformImageMagick ( $image, $params)
 Transform an image using ImageMagick. More...
 
 transformImageMagickExt ( $image, $params)
 Transform an image using the Imagick PHP extension. More...
 
- Protected Member Functions inherited from ImageHandler
 getScriptParams ( $params)
 
- Protected Member Functions inherited from MediaHandler
 logErrorForExternalProcess ( $retval, $err, $cmd)
 Log an error that occurred in an external process. More...
 
 visibleMetadataFields ()
 Get a list of metadata items which should be displayed when the metadata table is collapsed. More...
 

Static Protected Member Functions

static decodeLossyChunkHeader ( $header)
 Decodes a lossy chunk header. More...
 
- Static Protected Member Functions inherited from MediaHandler
static addMeta (&$array, $visibility, $type, $id, $value, $param=false)
 This is used to generate an array element for each metadata value That array is then used to generate the table of metadata values on the image page. More...
 

Detailed Description

Handler for Google's WebP format https://developers.google.com/speed/webp/

Definition at line 29 of file WebPHandler.php.

Member Function Documentation

◆ canAnimateThumbnail()

WebPHandler::canAnimateThumbnail (   $file)

Definition at line 283 of file WebPHandler.php.

◆ canRender()

WebPHandler::canRender (   $file)
Parameters
File$file
Returns
bool False if we are unable to render this image

Definition at line 260 of file WebPHandler.php.

References $file.

◆ decodeExtendedChunkHeader()

static WebPHandler::decodeExtendedChunkHeader (   $header)
static

Decodes an extended chunk header.

Parameters
string$headerFirst few bytes of the header, expected to be at least 18 bytes long
Returns
bool|array See WebPHandler::decodeHeader

Definition at line 211 of file WebPHandler.php.

References $header.

◆ decodeLosslessChunkHeader()

static WebPHandler::decodeLosslessChunkHeader (   $header)
static

Decodes a lossless chunk header.

Parameters
string$headerFirst few bytes of the header, expected to be at least 13 bytes long
Returns
bool|array See WebPHandler::decodeHeader

Definition at line 186 of file WebPHandler.php.

References $header, and wfDebugLog().

◆ decodeLossyChunkHeader()

static WebPHandler::decodeLossyChunkHeader (   $header)
staticprotected

Decodes a lossy chunk header.

Parameters
string$headerFirst few bytes of the header, expected to be at least 18 bytes long
Returns
bool|array See WebPHandler::decodeHeader

Definition at line 160 of file WebPHandler.php.

References $header, and wfDebugLog().

◆ extractMetadata()

static WebPHandler::extractMetadata (   $filename)
static

Extracts the image size and WebP type from a file.

Parameters
string$filename
Returns
array|bool Header data array with entries 'compression', 'width' and 'height', where 'compression' can be 'lossy', 'lossless', 'animated' or 'unknown'. False if file is not a valid WebP file.

Definition at line 94 of file WebPHandler.php.

References RiffExtractor\findChunksFromFile(), and wfDebugLog().

Referenced by WebPHandlerTest\testExtractMetaData(), and WebPHandlerTest\testWithFileExtractMetaData().

◆ extractMetadataFromChunks()

static WebPHandler::extractMetadataFromChunks (   $chunks,
  $filename 
)
static

Extracts the image size and WebP type from a file based on the chunk list.

Parameters
array$chunksChunks as extracted by RiffExtractor
string$filename
Returns
array Header data array with entries 'compression', 'width' and 'height', where 'compression' can be 'lossy', 'lossless', 'animated' or 'unknown'

Definition at line 125 of file WebPHandler.php.

References as, null, and wfDebugLog().

◆ getImageSize()

WebPHandler::getImageSize (   $file,
  $path,
  $metadata = false 
)

Definition at line 230 of file WebPHandler.php.

References $file, $path, null, and unserialize().

◆ getMetadata()

WebPHandler::getMetadata (   $image,
  $filename 
)

Definition at line 46 of file WebPHandler.php.

References serialize().

◆ getMetadataType()

WebPHandler::getMetadataType (   $image)

Definition at line 56 of file WebPHandler.php.

◆ getScalerType()

WebPHandler::getScalerType (   $dstPath,
  $checkDstPath = true 
)
protected

Must use "im" for XCF.

Parameters
string$dstPath
bool$checkDstPath
Returns
string

Definition at line 306 of file WebPHandler.php.

◆ getThumbType()

WebPHandler::getThumbType (   $ext,
  $mime,
  $params = null 
)

Render files as PNG.

Parameters
string$ext
string$mime
array | null$params
Returns
array

Definition at line 295 of file WebPHandler.php.

◆ isAnimatedImage()

WebPHandler::isAnimatedImage (   $image)
Parameters
File$image
Returns
bool

Definition at line 271 of file WebPHandler.php.

References $image, and unserialize().

◆ isMetadataValid()

WebPHandler::isMetadataValid (   $image,
  $metadata 
)

Definition at line 60 of file WebPHandler.php.

References unserialize(), and wfDebug().

◆ mustRender()

WebPHandler::mustRender (   $file)
Parameters
File$file
Returns
bool True, not all browsers support WebP

Definition at line 252 of file WebPHandler.php.

Member Data Documentation

◆ BROKEN_FILE

const WebPHandler::BROKEN_FILE = '0'

Definition at line 30 of file WebPHandler.php.

◆ VP8X_ALPHA

const WebPHandler::VP8X_ALPHA = 16

Definition at line 41 of file WebPHandler.php.

◆ VP8X_ANIM

const WebPHandler::VP8X_ANIM = 2

Definition at line 44 of file WebPHandler.php.

◆ VP8X_EXIF

const WebPHandler::VP8X_EXIF = 8

Definition at line 42 of file WebPHandler.php.

◆ VP8X_ICC

const WebPHandler::VP8X_ICC = 32

Definition at line 40 of file WebPHandler.php.

◆ VP8X_XMP

const WebPHandler::VP8X_XMP = 4

Definition at line 43 of file WebPHandler.php.


The documentation for this class was generated from the following file: