Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(892)

Issue 9355009: Merge 107170 - DOM mutations should not be delivered on worker threads (Closed)

Created:
8 years, 10 months ago by adamk
Modified:
8 years, 10 months ago
Reviewers:
adamk
CC:
chromium-reviews
Base URL:
http://svn.webkit.org/repository/webkit/branches/chromium/1025/
Visibility:
Public.

Description

Merge 107170 - DOM mutations should not be delivered on worker threads https://bugs.webkit.org/show_bug.cgi?id=77898 Reviewed by Dmitry Titov. Source/WebCore: In V8RecursionScope, only call WebKitMutationObserver::deliverAllMutations if in a Document context. This is accomplished through a change to V8Proxy::instrumentedCallFunction (which now takes a Frame* instead of a Page*), requiring an update to all callers of that function (accounting for the majority of files changed in this patch). Added ASSERT(isMainThread()) in a deliverAllMutations to confirm that it's no longer called on worker threads, and in enqueueMutationRecord, where the same global store of active observers is accessed. See also http://crbug.com/112586, where the problem was initially reported. * bindings/v8/ScriptFunctionCall.cpp: (WebCore::ScriptCallback::call): * bindings/v8/V8NodeFilterCondition.cpp: (WebCore::V8NodeFilterCondition::acceptNode): * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::runScript): (WebCore::V8Proxy::callFunction): (WebCore::V8Proxy::instrumentedCallFunction): * bindings/v8/V8Proxy.h: (WebCore): (V8Proxy): * bindings/v8/V8RecursionScope.cpp: (WebCore::V8RecursionScope::didLeaveScriptContext): * bindings/v8/V8RecursionScope.h: (WebCore): (WebCore::V8RecursionScope::V8RecursionScope): (V8RecursionScope): (WebCore::V8RecursionScope::~V8RecursionScope): * bindings/v8/V8WindowErrorHandler.cpp: (WebCore::V8WindowErrorHandler::callListenerFunction): * bindings/v8/custom/V8CustomVoidCallback.cpp: (WebCore::invokeCallback): * bindings/v8/custom/V8CustomXPathNSResolver.cpp: (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): * dom/WebKitMutationObserver.cpp: (WebCore::WebKitMutationObserver::enqueueMutationRecord): (WebCore::WebKitMutationObserver::deliverAllMutations): Source/WebKit/chromium: * src/WebDevToolsFrontendImpl.cpp: (WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend): TBR=adamk@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=108091

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+33 lines, -20 lines) Patch
M Source/WebCore/bindings/v8/ScriptFunctionCall.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/WebCore/bindings/v8/V8NodeFilterCondition.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/WebCore/bindings/v8/V8Proxy.h View 2 chunks +1 line, -2 lines 0 comments Download
M Source/WebCore/bindings/v8/V8Proxy.cpp View 4 chunks +6 lines, -6 lines 0 comments Download
M Source/WebCore/bindings/v8/V8RecursionScope.h View 1 chunk +12 lines, -3 lines 0 comments Download
M Source/WebCore/bindings/v8/V8RecursionScope.cpp View 2 chunks +4 lines, -2 lines 0 comments Download
M Source/WebCore/bindings/v8/V8WindowErrorHandler.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/WebCore/bindings/v8/custom/V8CustomVoidCallback.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M Source/WebCore/bindings/v8/custom/V8CustomXPathNSResolver.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/WebCore/dom/WebKitMutationObserver.cpp View 3 chunks +3 lines, -0 lines 0 comments Download
M Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 1 (0 generated)
adamk
8 years, 10 months ago (2012-02-17 18:16:42 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698