RESOLVED FIXED 134004
[iOS][wk2] Ensure that layers are marked volatile before allowing the process to suspend
https://bugs.webkit.org/show_bug.cgi?id=134004
Summary [iOS][wk2] Ensure that layers are marked volatile before allowing the process...
Tim Horton
Reported 2014-06-17 16:45:51 PDT
WebKit tries to make layers volatile when unparented, but sometimes isn't given a chance to do so before the process gets suspended, so we end up with lots of non-volatile surfaces that should really be volatile. <rdar://problem/17186342>
Attachments
patch (18.59 KB, patch)
2014-06-17 17:13 PDT, Tim Horton
simon.fraser: review+
with simon's changes (18.65 KB, patch)
2014-06-17 19:23 PDT, Tim Horton
no flags
Tim Horton
Comment 1 2014-06-17 17:13:20 PDT
Simon Fraser (smfr)
Comment 2 2014-06-17 18:26:11 PDT
Comment on attachment 233271 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=233271&action=review > Source/WebKit2/Shared/mac/RemoteLayerBackingStoreCollection.h:65 > + bool markBackingStoreVolatileImmediately(RemoteLayerBackingStore&, unsigned volatilityMarkingFlags = 0); enum for the set of flag mask please, not unsigned. > Source/WebKit2/Shared/mac/RemoteLayerBackingStoreCollection.mm:160 > + for (const auto& backingStore : m_unparentedBackingStore) Blank line above please. > Source/WebKit2/UIProcess/ios/ProcessThrottler.mm:109 > + // If the process is currently waiting for the WebProcess to become suspendable but would become runnable, > + // let it know that it can cancel the suspension cleanup. Hard to grok
Tim Horton
Comment 3 2014-06-17 18:44:37 PDT
(In reply to comment #2) > (From update of attachment 233271 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=233271&action=review > > > Source/WebKit2/Shared/mac/RemoteLayerBackingStoreCollection.h:65 > > + bool markBackingStoreVolatileImmediately(RemoteLayerBackingStore&, unsigned volatilityMarkingFlags = 0); > > enum for the set of flag mask please, not unsigned. To clarify, .smfr says to use a typedef of unsigned for the flag argument type.
Tim Horton
Comment 4 2014-06-17 19:23:49 PDT
Created attachment 233277 [details] with simon's changes This patch will now sit here for a bit while I work on the final remaining piece in another bug.
WebKit Commit Bot
Comment 5 2014-06-17 19:25:52 PDT
Attachment 233277 [details] did not pass style-queue: ERROR: Source/WebKit2/Shared/mac/RemoteLayerBackingStoreCollection.h:66: The parameter name "volatilityMarkingFlags" adds no information, so it should be removed. [readability/parameter_name] [5] Total errors found: 1 in 15 files If any of these errors are false positives, please file a bug against check-webkit-style.
Gavin Barraclough
Comment 6 2014-06-17 22:27:42 PDT
LGTM
Tim Horton
Comment 7 2014-06-23 14:12:45 PDT
Note You need to log in before you can comment on or make changes to this bug.