RESOLVED FIXED 132115
WebKit2 View Gestures (Swipe): Discard snapshots made with a different view size/pixel density
https://bugs.webkit.org/show_bug.cgi?id=132115
Summary WebKit2 View Gestures (Swipe): Discard snapshots made with a different view s...
Tim Horton
Reported 2014-04-24 01:36:20 PDT
We shouldn't even bother trying to use swipe snapshots taken at a different view size or device pixel ratio, they always look terrible. <rdar://problem/16681791>
Attachments
patch (21.89 KB, patch)
2014-04-26 03:06 PDT, Tim Horton
no flags
fix the build (22.09 KB, patch)
2014-04-26 10:46 PDT, Tim Horton
no flags
fix the ML build (22.08 KB, patch)
2014-04-26 19:02 PDT, Tim Horton
no flags
pulled crash fix into another bug (21.52 KB, patch)
2014-04-26 19:03 PDT, Tim Horton
simon.fraser: review+
Tim Horton
Comment 1 2014-04-26 02:52:53 PDT
*** Bug 132116 has been marked as a duplicate of this bug. ***
Tim Horton
Comment 2 2014-04-26 03:06:54 PDT
Tim Horton
Comment 3 2014-04-26 10:46:51 PDT
Created attachment 230244 [details] fix the build
Tim Horton
Comment 4 2014-04-26 15:38:25 PDT
Comment on attachment 230244 [details] fix the build View in context: https://bugs.webkit.org/attachment.cgi?id=230244&action=review > Source/WebKit2/UIProcess/mac/ViewSnapshotStore.mm:154 > String oldSnapshotUUID = item->snapshotUUID(); > - if (!oldSnapshotUUID.isEmpty()) > - m_snapshotMap.remove(oldSnapshotUUID); > + if (!oldSnapshotUUID.isEmpty()) { > + const auto& oldSnapshotIter = m_snapshotMap.find(oldSnapshotUUID); > + if (oldSnapshotIter != m_snapshotMap.end()) { > + if (oldSnapshotIter->value.hasImage()) > + m_snapshotsWithImagesCount--; > + m_snapshotMap.remove(oldSnapshotIter); > + } > + } > Pulled this bit out into https://bugs.webkit.org/show_bug.cgi?id=132204
Tim Horton
Comment 5 2014-04-26 19:02:27 PDT
Created attachment 230250 [details] fix the ML build
Tim Horton
Comment 6 2014-04-26 19:03:36 PDT
Created attachment 230251 [details] pulled crash fix into another bug
Tim Horton
Comment 7 2014-04-28 10:30:17 PDT
Comment on attachment 230251 [details] pulled crash fix into another bug View in context: https://bugs.webkit.org/attachment.cgi?id=230251&action=review > Source/WebKit2/ChangeLog:65 > + Fix a bug where the count of snapshots with live images was too high > + because we were failing to decrement it when replacing a snapshot of > + an existing item with a fresh one. get rid of the changelog part of this too (code change moved to a different bug)
Simon Fraser (smfr)
Comment 8 2014-04-28 10:48:48 PDT
Comment on attachment 230251 [details] pulled crash fix into another bug View in context: https://bugs.webkit.org/attachment.cgi?id=230251&action=review > Source/WebKit2/ChangeLog:9 > + To do this, we need an accurate picture of the topContentInset, both for the Web view, "picture" in the context of snapshotting is ... confusing. > Source/WebKit2/UIProcess/mac/ViewGestureController.h:137 > + CALayer *determineSnapshotLayerParent(); > + CALayer *determineLayerAdjacentToSnapshotForParent(SwipeDirection, CALayer *snapshotLayerParent); Not sure why these aren't const.
Tim Horton
Comment 9 2014-04-28 14:07:59 PDT
Note You need to log in before you can comment on or make changes to this bug.