Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Issue 2155973002: Save a bitmap copy when advancing to dependent GIF and WebP animation frames (Closed)

Created:
4 years, 5 months ago by aleksandar.stojiljkovic
Modified:
4 years, 2 months ago
CC:
chromium-reviews, blink-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Save a copy when advancing to dependent GIF and WebP animation frames As clearCacheExceptFrame anyhow clears dependent frame, this is causing no change in cache content: instead of create new, copy and clear old, we do: swap content of old and empty new. Measurements for GIF file are available in the crbug.com/490895 BUG=490895, 425474 Committed: https://crrev.com/3a38c33c398189620281ad19a0f8e5b7f6ac3e69 Cr-Commit-Position: refs/heads/master@{#422125}

Patch Set 1 #

Total comments: 6

Patch Set 2 : nits #

Total comments: 1

Patch Set 3 : nit #

Patch Set 4 : +webp. fix test failures. #

Total comments: 22

Patch Set 5 : finalizePixelsAndGetImage. #

Total comments: 25

Patch Set 6 : review #34 fixes. #

Patch Set 7 : fixes. Remove the rest of external bitmap().setImmutable. #

Patch Set 8 : DCHECK in ImageFrame::copy/take. #

Total comments: 18

Patch Set 9 : Rebase. #

Patch Set 10 : Nits. Thanks pkasting@. #

Total comments: 4

Patch Set 11 : Remove unecessary color check in ImageBitmap. Thanks dcheng@. #

Total comments: 8

Patch Set 12 : DCHECK m_status in ImageFrame. Shortened commit message. Thanks kbr@. #

Messages

Total messages: 69 (32 generated)
aleksandar.stojiljkovic
4 years, 5 months ago (2016-07-17 14:40:32 UTC) #5
Peter Kasting
https://codereview.chromium.org/2155973002/diff/1/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h File third_party/WebKit/Source/platform/image-decoders/ImageFrame.h (right): https://codereview.chromium.org/2155973002/diff/1/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h#newcode96 third_party/WebKit/Source/platform/image-decoders/ImageFrame.h:96: // Takes over other's frame pixel data. Other becomes ...
4 years, 5 months ago (2016-07-19 03:04:17 UTC) #6
aleksandar.stojiljkovic
On 2016/07/19 03:04:17, Peter Kasting (slow) wrote: > https://codereview.chromium.org/2155973002/diff/1/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h > File third_party/WebKit/Source/platform/image-decoders/ImageFrame.h (right): > > ...
4 years, 5 months ago (2016-07-19 11:09:49 UTC) #7
aleksandar.stojiljkovic
https://codereview.chromium.org/2155973002/diff/1/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h File third_party/WebKit/Source/platform/image-decoders/ImageFrame.h (right): https://codereview.chromium.org/2155973002/diff/1/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h#newcode96 third_party/WebKit/Source/platform/image-decoders/ImageFrame.h:96: // Takes over other's frame pixel data. Other becomes ...
4 years, 5 months ago (2016-07-19 11:10:40 UTC) #9
Peter Kasting
cblume: WDYT of this patch? It seems like with this, and if the bit about ...
4 years, 5 months ago (2016-07-20 01:00:28 UTC) #10
aleksandar.stojiljkovic
On 2016/07/28 10:24:07, commit-bot: I haz the power wrote: > Dry run: Try jobs failed ...
4 years, 4 months ago (2016-07-28 14:03:44 UTC) #17
reed1
4 years, 4 months ago (2016-07-28 14:11:45 UTC) #19
reed1
Is it possible to decode (directly write) into a SkSurface instead? Surface already has a ...
4 years, 4 months ago (2016-07-28 14:13:21 UTC) #20
aleksandar.stojiljkovic
On 2016/07/28 14:13:21, reed1 wrote: > Is it possible to decode (directly write) into a ...
4 years, 4 months ago (2016-07-28 15:38:43 UTC) #21
f(malita)
On 2016/07/28 14:03:44, aleksandar.stojiljkovic wrote: > Problem with immutable pixel ref (we set it when ...
4 years, 4 months ago (2016-07-28 16:34:00 UTC) #22
aleksandar.stojiljkovic
Thanks. I'll try SkSurface approach then. On 2016/07/28 16:34:00, f(malita) wrote: > On 2016/07/28 14:03:44, ...
4 years, 4 months ago (2016-07-28 18:39:44 UTC) #23
aleksandar.stojiljkovic
Patch Set 4 : +webp. fix test failures. I decided to not to do SkBitmap->SkSurface&SkImage ...
4 years, 3 months ago (2016-08-26 18:53:41 UTC) #25
Peter Kasting
https://codereview.chromium.org/2155973002/diff/60001/third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp File third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp (right): https://codereview.chromium.org/2155973002/diff/60001/third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp#newcode104 third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp:104: if (other->m_bitmap.isImmutable()) Nit: Just combine these conditionals https://codereview.chromium.org/2155973002/diff/60001/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h File ...
4 years, 3 months ago (2016-08-26 19:04:05 UTC) #26
aleksandar.stojiljkovic
https://codereview.chromium.org/2155973002/diff/60001/third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp File third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp (right): https://codereview.chromium.org/2155973002/diff/60001/third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp#newcode104 third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp:104: if (other->m_bitmap.isImmutable()) On 2016/08/26 19:04:04, Peter Kasting wrote: > ...
4 years, 3 months ago (2016-08-26 21:53:52 UTC) #27
Peter Kasting
https://codereview.chromium.org/2155973002/diff/60001/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h File third_party/WebKit/Source/platform/image-decoders/ImageFrame.h (right): https://codereview.chromium.org/2155973002/diff/60001/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h#newcode139 third_party/WebKit/Source/platform/image-decoders/ImageFrame.h:139: // decoding animations. See also takeBitmapDataIfWritable. On 2016/08/26 21:53:51, ...
4 years, 3 months ago (2016-08-27 04:19:58 UTC) #28
aleksandar.stojiljkovic
https://codereview.chromium.org/2155973002/diff/60001/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h File third_party/WebKit/Source/platform/image-decoders/ImageFrame.h (right): https://codereview.chromium.org/2155973002/diff/60001/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h#newcode139 third_party/WebKit/Source/platform/image-decoders/ImageFrame.h:139: // decoding animations. See also takeBitmapDataIfWritable. On 2016/08/27 04:19:58, ...
4 years, 3 months ago (2016-08-28 08:58:31 UTC) #29
Peter Kasting
https://codereview.chromium.org/2155973002/diff/80001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp File third_party/WebKit/Source/core/frame/ImageBitmap.cpp (right): https://codereview.chromium.org/2155973002/diff/80001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp#newcode177 third_party/WebKit/Source/core/frame/ImageBitmap.cpp:177: DCHECK_EQ(frame->bitmap().colorType(), kN32_SkColorType); The old code handled this conditionally, so ...
4 years, 3 months ago (2016-08-30 06:59:40 UTC) #34
aleksandar.stojiljkovic
Patch Set 6 : review #34 fixes. pkasting@, thanks and sorry for the delay on ...
4 years, 3 months ago (2016-09-21 20:56:57 UTC) #35
Peter Kasting
Have not re-reviewed https://codereview.chromium.org/2155973002/diff/80001/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp File third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp (right): https://codereview.chromium.org/2155973002/diff/80001/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp#newcode101 third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp:101: bitmap.setImmutable(); On 2016/09/21 20:56:57, aleksandar.stojiljkovic wrote: ...
4 years, 3 months ago (2016-09-21 21:54:50 UTC) #36
aleksandar.stojiljkovic
https://codereview.chromium.org/2155973002/diff/80001/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp File third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp (right): https://codereview.chromium.org/2155973002/diff/80001/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp#newcode101 third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp:101: bitmap.setImmutable(); On 2016/09/21 21:54:49, Peter Kasting wrote: > On ...
4 years, 3 months ago (2016-09-22 09:41:19 UTC) #39
Peter Kasting
LGTM https://codereview.chromium.org/2155973002/diff/140001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp File third_party/WebKit/Source/core/frame/ImageBitmap.cpp (right): https://codereview.chromium.org/2155973002/diff/140001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp#newcode178 third_party/WebKit/Source/core/frame/ImageBitmap.cpp:178: if (frame->bitmap().colorType() != kN32_SkColorType) So, what I meant ...
4 years, 3 months ago (2016-09-22 21:44:09 UTC) #42
aleksandar.stojiljkovic
Patch 9: Rebase. Path 10: Nits. Thanks pkasting@. https://codereview.chromium.org/2155973002/diff/140001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp File third_party/WebKit/Source/core/frame/ImageBitmap.cpp (right): https://codereview.chromium.org/2155973002/diff/140001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp#newcode178 third_party/WebKit/Source/core/frame/ImageBitmap.cpp:178: if ...
4 years, 2 months ago (2016-09-27 18:08:29 UTC) #47
aleksandar.stojiljkovic
Further owner's review needed. fmalita@ (changes in platform/graphics and platform/exported) and dcheng@ (change in core/frame/ImageBitmap.cpp), ...
4 years, 2 months ago (2016-09-27 19:06:30 UTC) #48
aleksandar.stojiljkovic
+dcheng@ - reviewer for core/frame/ImageBitmap.cpp change. Thanks.
4 years, 2 months ago (2016-09-27 20:24:09 UTC) #50
dcheng
https://codereview.chromium.org/2155973002/diff/180001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp File third_party/WebKit/Source/core/frame/ImageBitmap.cpp (right): https://codereview.chromium.org/2155973002/diff/180001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp#newcode213 third_party/WebKit/Source/core/frame/ImageBitmap.cpp:213: return (frame->bitmap().colorType() == kN32_SkColorType) ? frame->finalizePixelsAndGetImage() : nullptr; Just ...
4 years, 2 months ago (2016-09-27 22:44:15 UTC) #51
aleksandar.stojiljkovic
https://codereview.chromium.org/2155973002/diff/180001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp File third_party/WebKit/Source/core/frame/ImageBitmap.cpp (right): https://codereview.chromium.org/2155973002/diff/180001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp#newcode213 third_party/WebKit/Source/core/frame/ImageBitmap.cpp:213: return (frame->bitmap().colorType() == kN32_SkColorType) ? frame->finalizePixelsAndGetImage() : nullptr; On ...
4 years, 2 months ago (2016-09-28 18:51:24 UTC) #52
dcheng
https://codereview.chromium.org/2155973002/diff/180001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp File third_party/WebKit/Source/core/frame/ImageBitmap.cpp (right): https://codereview.chromium.org/2155973002/diff/180001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp#newcode213 third_party/WebKit/Source/core/frame/ImageBitmap.cpp:213: return (frame->bitmap().colorType() == kN32_SkColorType) ? frame->finalizePixelsAndGetImage() : nullptr; On ...
4 years, 2 months ago (2016-09-28 21:16:52 UTC) #53
aleksandar.stojiljkovic
Patch Set 11 : Remove unecessary color check in ImageBitmap. Thanks dcheng@. https://codereview.chromium.org/2155973002/diff/180001/third_party/WebKit/Source/core/frame/ImageBitmap.cpp File third_party/WebKit/Source/core/frame/ImageBitmap.cpp ...
4 years, 2 months ago (2016-09-28 22:10:22 UTC) #54
dcheng
LGTM
4 years, 2 months ago (2016-09-28 22:15:11 UTC) #55
aleksandar.stojiljkovic
The patch still needs platform/graphics OWNER's review. CC-ing kbr@ in case fmalita@ is busy/away. Thanks.
4 years, 2 months ago (2016-09-28 22:21:26 UTC) #57
Ken Russell (switch to Gerrit)
A few questions. https://codereview.chromium.org/2155973002/diff/200001/third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp File third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp (right): https://codereview.chromium.org/2155973002/diff/200001/third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp#newcode107 third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp:107: other->m_status = FrameEmpty; What about all ...
4 years, 2 months ago (2016-09-29 00:40:05 UTC) #58
Ken Russell (switch to Gerrit)
Also: the description for this CL is very long. Could you put most of the ...
4 years, 2 months ago (2016-09-29 00:41:38 UTC) #59
aleksandar.stojiljkovic
Patch Set 12 : DCHECK m_status in ImageFrame. Shortened commit message. Thanks kbr@. On 2016/09/29 ...
4 years, 2 months ago (2016-09-29 08:03:53 UTC) #61
Ken Russell (switch to Gerrit)
Thanks for the updates. LGTM
4 years, 2 months ago (2016-09-30 14:53:52 UTC) #62
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2155973002/220001
4 years, 2 months ago (2016-09-30 14:57:02 UTC) #65
commit-bot: I haz the power
Committed patchset #12 (id:220001)
4 years, 2 months ago (2016-09-30 16:04:47 UTC) #67
commit-bot: I haz the power
4 years, 2 months ago (2016-09-30 16:07:12 UTC) #69
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/3a38c33c398189620281ad19a0f8e5b7f6ac3e69
Cr-Commit-Position: refs/heads/master@{#422125}

Powered by Google App Engine
This is Rietveld 408576698