Title: [233341] trunk/Source/WebCore
- Revision
- 233341
- Author
- [email protected]
- Date
- 2018-06-28 16:57:57 -0700 (Thu, 28 Jun 2018)
Log Message
REGRESSION (233281): fast/dom/location-new-window-no-crash.html and some other tests are timing out
https://bugs.webkit.org/show_bug.cgi?id=187156
Reviewed by Zalan Bujtas.
We need still need to re-enable memory cache client calls even when not doing other post-resolution callbacks.
* style/StyleTreeResolver.cpp:
(WebCore::Style::memoryCacheClientCallsResumeQueue):
Add a separate queue for this.
(WebCore::Style::suspendMemoryCacheClientCalls):
(WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (233340 => 233341)
--- trunk/Source/WebCore/ChangeLog 2018-06-28 23:57:01 UTC (rev 233340)
+++ trunk/Source/WebCore/ChangeLog 2018-06-28 23:57:57 UTC (rev 233341)
@@ -1,3 +1,20 @@
+2018-06-28 Antti Koivisto <[email protected]>
+
+ REGRESSION (233281): fast/dom/location-new-window-no-crash.html and some other tests are timing out
+ https://bugs.webkit.org/show_bug.cgi?id=187156
+
+ Reviewed by Zalan Bujtas.
+
+ We need still need to re-enable memory cache client calls even when not doing other post-resolution callbacks.
+
+ * style/StyleTreeResolver.cpp:
+ (WebCore::Style::memoryCacheClientCallsResumeQueue):
+
+ Add a separate queue for this.
+
+ (WebCore::Style::suspendMemoryCacheClientCalls):
+ (WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler):
+
2018-06-28 Wenson Hsieh <[email protected]>
[iOS] DataTransfer.getData always returns the empty string when dropping text
Modified: trunk/Source/WebCore/style/StyleTreeResolver.cpp (233340 => 233341)
--- trunk/Source/WebCore/style/StyleTreeResolver.cpp 2018-06-28 23:57:01 UTC (rev 233340)
+++ trunk/Source/WebCore/style/StyleTreeResolver.cpp 2018-06-28 23:57:57 UTC (rev 233341)
@@ -579,6 +579,12 @@
return vector;
}
+static Vector<RefPtr<Frame>>& memoryCacheClientCallsResumeQueue()
+{
+ static NeverDestroyed<Vector<RefPtr<Frame>>> vector;
+ return vector;
+}
+
void queuePostResolutionCallback(Function<void ()>&& callback)
{
postResolutionCallbackQueue().append(WTFMove(callback));
@@ -592,10 +598,7 @@
page->setMemoryCacheClientCallsEnabled(false);
- postResolutionCallbackQueue().append([protectedMainFrame = makeRef(page->mainFrame())] {
- if (Page* page = protectedMainFrame->page())
- page->setMemoryCacheClientCallsEnabled(true);
- });
+ memoryCacheClientCallsResumeQueue().append(&page->mainFrame());
}
static unsigned resolutionNestingDepth;
@@ -622,6 +625,14 @@
queue[i]();
queue.clear();
}
+
+ auto& queue = memoryCacheClientCallsResumeQueue();
+ for (size_t i = 0; i < queue.size(); ++i) {
+ if (auto* page = queue[i]->page())
+ page->setMemoryCacheClientCallsEnabled(true);
+ }
+ queue.clear();
+
platformStrategies()->loaderStrategy()->resumePendingRequests();
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes