Summary: | Async image decoding should be disabled for snapshots, printing and preview | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Said Abou-Hallawa <sabouhallawa> | ||||||||||
Component: | Images | Assignee: | Said Abou-Hallawa <sabouhallawa> | ||||||||||
Status: | RESOLVED FIXED | ||||||||||||
Severity: | Normal | CC: | aestes, commit-queue, simon.fraser, thorton, webkit-bug-importer | ||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||
Version: | WebKit Nightly Build | ||||||||||||
Hardware: | Unspecified | ||||||||||||
OS: | Unspecified | ||||||||||||
Attachments: |
|
Description
Said Abou-Hallawa
2017-04-28 17:21:15 PDT
Created attachment 308625 [details]
Patch
Comment on attachment 308625 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=308625&action=review > Source/WebCore/page/FrameView.cpp:4410 > + frame().settings().setLargeImageAsyncDecodingEnabled(false); We don't generally toggle settings as a way of setting temporary runtime state; toggling settings can have side effects like all-frame style recalcs. Why not just test (view().frameView().paintBehavior() & PaintBehaviorFlattenCompositingLayers) as we do in RenderBox::paintMaskImages? Created attachment 308748 [details]
Patch
Is this testable (say, with an API test)? Created attachment 308921 [details]
Patch
Comment on attachment 308921 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=308921&action=review > Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm:271 > + CGContextRef context = CGBitmapContextCreate(rgba, viewWidth, viewHeight, 8, 4 * viewWidth, colorSpace.get(), kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); We we use RetainPtr<> = adoptCF() here? Created attachment 308935 [details]
Patch
Comment on attachment 308935 [details] Patch Clearing flags on attachment: 308935 Committed r216135: <http://trac.webkit.org/changeset/216135> All reviewed patches have been landed. Closing bug. |