summaryrefslogtreecommitdiffstats
path: root/image
Commit message (Collapse)AuthorAgeLines
* BMPs from the clipboard may include extra padding.Andrew Osmond2019-02-16-16/+36
| | | | | | | | | | | | | In the original Windows clipboard BMP decoder implementation in nsImageFromClipboard::ConvertColorBitMap, if the bitmap used bitfields compression, it always adjusted the offset to the RGB data by 12 bytes. It did this even for newer BMP header formats which explicitly include space for the bitfields in their header sizes. This patch updates our BMP decoder to do the same for clipboard BMPs, since we have observed pasted BMPs using bitfield compression appearing incorrectly. To the user this appears as if we read a color mask; completely red, blue, green pixels at the start of the last row, causing all of the other rows to start with the last three pixels of the previous row.
* Use existing image decoders to handle clipboard BMP data.wolfbeast2019-02-07-5/+26
| | | | | This gets rid of the old nsImageClipboard widget code in favor of using the nsBMPDecoder in imglib.
* Check for contiguous buffer state.wolfbeast2019-01-21-0/+11
| | | | | | | | | | | | | | When we are reading large image data (i.e.: people using webp to stream video instead of the native webm format; I'm looking at you, Giphy!) we can run into the situation where the available data is not in a contiguous buffer, and we need to either buffer additional data or re-buffer from the start. If we don't do this, we can run into issues because of buffer over-reading (causing corrupted data if allocated or more likely crashes if not allocated). Re-buffering is expensive, but this should be rare and limited to dealing with unintended use for animated image formats. This resolves #940.
* Make Sourcebuffer::AppendFromInputStream handle canceled image loads.wolfbeast2019-01-21-3/+11
|
* Make resuming of decoding work for anonymous decoders.wolfbeast2019-01-21-7/+18
|
* Telemetry: Remove stubs and related codeadeshkp2019-01-12-13/+0
|
* Avoid overflow in nsPNGEncoder::WriteCallback.wolfbeast2018-12-13-13/+40
|
* Fix debug assertion.wolfbeast2018-11-22-1/+1
| | | | See: https://github.com/MoonchildProductions/UXP/commit/622098073e132995994fac4d61e3629d08ee1801#commitcomment-31390051
* Fix blank pixel color for truncated GIFswolfbeast2018-11-21-1/+7
|
* Split out FrameTimeout into its own header file for re-use.wolfbeast2018-11-21-100/+119
|
* Unrefactor mRawVeggies back to mVBuffMeat ;Pwolfbeast2018-11-21-4/+4
| | | | (mRawSurface -> mVBuf)
* Fix pasta errorwolfbeast2018-11-21-0/+2
|
* Bug 1462355 - Part 1c. Make individual image decoders to use updated ↵wolfbeast2018-11-21-33/+49
| | | | | | Decoder/SurfacePipe methods. Extend this change to nsWebPDecoder.cpp
* Bug 1462355 - Part 1b. Update Decoder and SurfacePipe plumbing to use ↵wolfbeast2018-11-21-92/+84
| | | | updated imgFrame methods.
* Bug 1462355 - Part 1a. Make imgFrame animation parameters threadsafe.wolfbeast2018-11-20-65/+91
| | | | | | | | | | | | We currently choose to set the animation parameters (blend method, blend rect, disposal method, timeout) in imgFrame::Finish instead of imgFrame::InitForDecoder. The decoders themselves already have access to the necessary information at the time InitForDecoder is called, so there is no reason to do this. Moving the configuration to initialization will allow us to relax the mutex protection on these parameters. This part simply reorganizes imgFrame, and subsequent parts will introduce the necessary changes to SurfacePipe and decoders.
* Port WebP decoder changes.wolfbeast2018-11-20-273/+408
| | | | | This breaks animated WebP for the moment, but adds QCMS color management and lexer changes. Tag #831
* Remove all C++ Telemetry Accumulation calls.wolfbeast2018-09-03-33/+1
| | | | | This creates a number of stubs and leaves some surrounding code that may be irrelevant (eg. recorded time stamps, status variables). Stub resolution/removal should be a follow-up to this.
* Free the decoded image buffer before deleting the WebP decoder.wolfbeast2018-06-13-0/+1
| | | | This should solve #483.
* Perform some sanity checks on nsMozIconURI.Pale Moon2018-06-07-0/+10
|
* Merge pull request #412 from g4jc/hsts_priming_removal_backportMoonchild2018-05-30-13/+0
|\ | | | | Remove support and tests for HSTS priming from the tree. Fixes #384
| * Remove support and tests for HSTS priming from the tree. Fixes #384Gaming4JC2018-05-26-13/+0
| |
* | Limit PNG image dimensions.wolfbeast2018-05-29-3/+15
|/
* Bug 1323683 - Fold nsIURIWithQuery into nsIURIjanekptacijarabaci2018-04-22-0/+26
| | | | native in moebius
* Bug 1409440. r=tnikkel, a=RyanVMAndrew Osmond2018-04-19-8/+20
|
* Make vector image surface caching smarter.wolfbeast2018-04-05-5/+17
| | | | This resolves #91.
* CSS: inline-block with a display:block <input> child element has a wrong ↵janekptacijarabaci2018-03-12-0/+1
| | | | baseline (HTML forms)
* Remove the use of GetProcAddress() for shell32wolfbeast2018-02-19-36/+17
| | | | | This avoids manually hooking into shell32.dll and using the native shell API instead. Tag #22.
* Use int instead of uint for vector dimension cap.wolfbeast2018-02-04-1/+1
|
* Don't cache vector images in the surface cache if they are too large.wolfbeast2018-02-04-1/+10
| | | | | | A dimension of 3000 largest size x or y should cover all common caching cases for SVG icons and web app elements, but not caching large vector rasters that would exhaust the cache. This limit is a royal 36MB/element (3000x3000x4) as cap (if the SVG is square). This avoids performance regressions when repeatedly scaling large vector images, but also allows for large SVG backgrounds to be cached. It allows for the bad practice of slapping a large SVG on a site as html background, considering they are likely, even when using large sizes for "responsive" layout, not going to exceed 3000 px in the largest dimension (and if they do, the web designer needs to be slapped with a big trout).
* Add WebP content sniffing code.wolfbeast2018-02-03-0/+90
|
* Implement WebP image decoder.wolfbeast2018-02-03-2/+573
|
* Add m-esr52 at 52.6.0Matt A. Tobin2018-02-02-0/+181639