Summary: | REGRESSION (r80478): broke GTK inspector tests | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Philippe Normand <pnormand> | ||||
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | darin, mrobinson, pfeldman, rniwa, yong.li.webkit | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | PC | ||||||
OS: | OS X 10.5 | ||||||
Attachments: |
|
Description
Philippe Normand
2011-03-08 07:14:48 PST
(In reply to comment #0) > It seems we try to suspend an already-suspended timer. I'm not sure why that ASSERT is needed, really. If two different clients try to suspend and then resume a timer, and the suspend/resume mechanism is not based on a count, it’s likely the timer gets resumed too early, when one of the clients still wants the timer suspended. Presumably the assert helps us notice mistakes like that. 4770 asyncScriptRunner()->resume(); 4771 resumeActiveDOMObjects(); 4772 resumeScriptedAnimationControllerCallbacks(); I moved ln4770 to there to be exactly the reverse order of the one their "suspend" brothers are called. This could break inspector if asyncScriptRunner()->resume() immediately executes JS. (that is not a good idea if so). Created attachment 85069 [details]
proposed patch
Comment on attachment 85069 [details] proposed patch View in context: https://bugs.webkit.org/attachment.cgi?id=85069&action=review > Source/WebCore/bindings/js/ScriptDebugServer.cpp:-478 > - setJavaScriptPaused(page->group(), true); setJavaScriptPaused was also pausing PluginViews. > Source/WebCore/bindings/js/ScriptDebugServer.cpp:488 > + } PageGroupLoadDeferrer is going to restore the list of deferred frames (m_deferredFrames). Some of them might be dead by now since we are dispatching event loop while on a breakpoint and allow various page interactions by means of console. *** Bug 56014 has been marked as a duplicate of this bug. *** Rolled out r80478 as r80718 Committing to http://svn.webkit.org/repository/webkit/trunk ... D Source/WebCore/manual-tests/database-callback-deferred.html M LayoutTests/ChangeLog M LayoutTests/platform/gtk/Skipped M Source/WebCore/ChangeLog M Source/WebCore/dom/Document.cpp M Source/WebCore/dom/Document.h M Source/WebCore/loader/FrameLoader.cpp M Source/WebCore/page/PageGroupLoadDeferrer.cpp Committed r80718 |