Timeline



Jan 2, 2014:

11:56 PM Changeset in webkit [161255] by Carlos Garcia Campos
  • 15 edits in trunk

REGRESSION(r160304): [GTK] Disable libtool fast install
https://bugs.webkit.org/show_bug.cgi?id=126381

Reviewed by Martin Robinson.

.:

After r160304 we are building some of our binaries that are
installed with the -no-fast-install ld flag. This makes that the
binaries are installed with the source code path hardcoded in
binary RPATH. Disabling fast install globally, the libtool script
always relinks the binaries right before being installed.

  • Source/autotools/SetupLibtool.m4: Add AC_DISABLE_FAST_INSTALL.

Source/JavaScriptCore:

Remove -no-fast-install ld flag since fast install is now disabled
globally.

  • GNUmakefile.am:

Source/WebKit/gtk:

  • tests/GNUmakefile.am:

Source/WebKit2:

Remove -no-fast-install ld flag since fast install is now disabled
globally.

  • GNUmakefile.am:
  • UIProcess/API/gtk/tests/GNUmakefile.am:

Tools:

Remove -no-fast-install ld flag since fast install is now disabled
globally.

  • GNUmakefile.am:
  • GtkLauncher/GNUmakefile.am:
  • MiniBrowser/gtk/GNUmakefile.am:
  • TestWebKitAPI/GNUmakefile.am:
  • WebKitTestRunner/GNUmakefile.am:
11:48 PM Changeset in webkit [161254] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Remove defaultPageGroupIdentifier not to make the confusion
https://bugs.webkit.org/show_bug.cgi?id=126249

Reviewed by Gyuyoung Kim.

ewk_page_group_create always creates new page group,
but the identifiers of page groups will be same as "defaultPageGroupIdentifier" when passed 0 or "".
It is unnecessary and just makes the confusion.

This patch let WebPageGroup generate unique identifier if 0 or "" is passed as argument.

  • UIProcess/API/efl/ewk_page_group.cpp:

(EwkPageGroup::create):

  • UIProcess/API/efl/ewk_page_group_private.h:
11:40 PM Changeset in webkit [161253] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

[GTK] Switch from WTF::Function to std::function in WebProcessTest
https://bugs.webkit.org/show_bug.cgi?id=126397

Reviewed by Anders Carlsson.

Use std::function<> and std::bind() instead of WTF::Function and WTF::bind,
following the effort of using STL concepts where possible.

  • UIProcess/API/gtk/tests/WebProcessTest.cpp:

(WebProcessTest::add):

  • UIProcess/API/gtk/tests/WebProcessTest.h:
9:21 PM Changeset in webkit [161252] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebCore

IconController.cpp needs to include <wtf/text/CString.h>
https://bugs.webkit.org/show_bug.cgi?id=126415

Reviewed by Gyuyoung Kim.

Build fails in IconController.cpp when ICONDATABASE is disabled.
WebKit/Source/WebCore/loader/icon/IconController.cpp:124:110: error: invalid use of incomplete type ‘class WTF::CString’
IconController.cpp needs #include <wtf/text/CString.h>.

No new tests. Just build fix.

  • loader/icon/IconController.cpp: Add #include statement.
8:40 PM Changeset in webkit [161251] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebCore

[EFL] Previous scrollbar is remained sometimes
https://bugs.webkit.org/show_bug.cgi?id=126414

Reviewed by Gyuyoung Kim.

  • platform/efl/ScrollbarEfl.cpp:

(ScrollbarEfl::invalidate):
Updated scrollbar visibility in Scrollbar::invalidate().

  • platform/efl/ScrollbarEfl.h:

Removed show()/hide() which never been called() for scrollbar.

7:50 PM Changeset in webkit [161250] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself to EFL and related watch lists.

  • Scripts/webkitpy/common/config/watchlist:
6:52 PM Changeset in webkit [161249] by ljaehun.lim@samsung.com
  • 2 edits in trunk

[CMake][EFL] Fix some typos in OptionsEfl.cmake
https://bugs.webkit.org/show_bug.cgi?id=126376

Reviewed by Gyuyoung Kim.

  • Source/cmake/WebKitFeatures.cmake: Correct a wrong word and remove comma(,).
6:16 PM Changeset in webkit [161248] by jinwoo7.song@samsung.com
  • 4 edits in trunk/LayoutTests

[WebGL] Correct symbol lookup logic to handle 1-element arrays
https://bugs.webkit.org/show_bug.cgi?id=126411
<rdar://problem/15394564>

Patch by Brent Fulgham <Brent Fulgham> on 2014-01-02
Reviewed by Dean Jackson.

  • webgl/1.0.2/resources/webgl_test_files/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html: Add test for accessing the

single-element array.

6:11 PM Changeset in webkit [161247] by Brent Fulgham
  • 4 edits in trunk

[WebGL] Correct symbol lookup logic to handle 1-element arrays
https://bugs.webkit.org/show_bug.cgi?id=126411
<rdar://problem/15394564>

Reviewed by Dean Jackson.

Source/WebCore:

Tested by revisions to webgl/1.0.2/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getUniformLocation): Revise to
handle access to zeroeth element of the array.

LayoutTests:

  • webgl/1.0.2/resources/webgl_test_files/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html: Add test for accessing the

single-element array.

6:09 PM Changeset in webkit [161246] by barraclough@apple.com
  • 13 edits
    2 adds in trunk/Source/WebKit2

Propagate WindowServer modifications state to WebProcess
https://bugs.webkit.org/show_bug.cgi?id=126356

Reviewed by Sam Weinig.

This will be necessary to move control of process suppression to the WebProcess.
IsVisuallyIdle implies the process has stopped painting, or painted rects are
occluded and not actually being composited. State is provided on a per
WindowServer connection basis, and as such may produce (safe) false positives.

  • Shared/ViewState.h:
    • added IsVisuallyIdle.
  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::isVisuallyIdle):

  • added, on mac checks WindowServerConnection.
  • UIProcess/PageClient.h:

(WebKit::PageClient::isVisuallyIdle):

  • base implementation purely based on isViewVisible.
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::windowServerConnectionStateChanged):

  • broadcast the state change.
  • UIProcess/WebContext.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateViewState):
(WebKit::WebPageProxy::viewStateDidChange):

  • propagate IsVisuallyIdle.
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::windowServerConnectionStateChanged):

  • broadcast the state change.
  • UIProcess/WebProcessProxy.h:
    • add windowServerConnectionStateChanged.
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::updateProcessSuppressionStateOfGlobalChildProcesses):

  • moved from static in fle to static member of class.

(WebKit::WebContext::platformInitialize):

  • no need to enableOcclusionNotifications.

(WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):
(WebKit::WebContext::canEnableProcessSuppressionForWebProcess):
(WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):

  • changed to call WindowServerConnection.

(WebKit::WebContext::processSuppressionEnabledChanged):

  • don't remove/reregister occlusion notifications.
  • UIProcess/mac/WindowServerConnection.h: Added.

(WebKit::WindowServerConnection::applicationIsOccluded):
(WebKit::WindowServerConnection::applicationWindowModificationsHaveStopped):

  • accessors.
  • UIProcess/mac/WindowServerConnection.mm: Added.

(WebKit::WindowServerConnection::applicationBecameOccluded):
(WebKit::WindowServerConnection::applicationWindowModificationsStopped):
(WebKit::WindowServerConnection::applicationBecameVisible):
(WebKit::WindowServerConnection::applicationWindowModificationsStarted):

  • handle notifications from the WindowServer.

(WebKit::WindowServerConnection::windowServerConnectionStateChanged):

  • broadcast the state change.

(WebKit::WindowServerConnection::shared):

  • accessor for singleton object.

(WebKit::WindowServerConnection::WindowServerConnection):

  • constructor inizializes fields & register notification handlers.
  • WebKit2.xcodeproj/project.pbxproj:
    • added new files.
  • config.h:
    • added HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS.
6:00 PM Changeset in webkit [161245] by jinwoo7.song@samsung.com
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening. Rebaselining after r161140.

  • platform/efl/fast/table/dynamic-caption-add-before-child-expected.png:
  • platform/efl/fast/table/dynamic-caption-add-before-child-expected.txt:
5:32 PM Changeset in webkit [161244] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Crash in WebCore::translateIntersectionPointsToSkipInkBoundaries
https://bugs.webkit.org/show_bug.cgi?id=126252

Reviewed by Alexey Proskuryakov.

Source/WebCore:

lastIntermediate was a iterator pointing into a Vector, which was being re-used
even while appending to the Vector. If any of the append operators triggered
a realloc, the iterator would point to the old free'ed memory.

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-crash-many-gaps.html

  • rendering/InlineTextBox.cpp:

(WebCore::translateIntersectionPointsToSkipInkBoundaries):

LayoutTests:

This test causes intermediateTuples, a Vector of tuples of floats, to have enough
entries to cause a realloc. In my tests, the realloc seems to always allocate the
next area of memory (without unmapping any old pages), so this test only crashes
if guardMalloc is used.

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-crash-many-gaps-expected.txt: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-crash-many-gaps.html: Added.
5:19 PM Changeset in webkit [161243] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] fixing ycm_extra_conf.py file
https://bugs.webkit.org/show_bug.cgi?id=126371

It's an attempt to fix three problems with the current ycm_extra_conf file.
The current implementation assumes that it's a symlink, which is not true.
Usually python creates a pyc file, and this is what you get in file.
the .pyc is not a symlink, and the current implementation doesn't work
if that's the case.

It also assumes that the user is in the root folder.
If the user is in WebkitBuild/Debug and open a file as ../../Source/* it won't work.

Last but not least, "elif flag in FLAGS_PRECEDING_PATHS" emits an
exception since "flag" doesn't exists.

All those things were fixed.

Patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2014-01-02
Reviewed by Martin Robinson.

  • gtk/ycm_extra_conf.py:

(transform_relative_paths_to_absolute_paths):

5:18 PM Changeset in webkit [161242] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[WebGL] Correct symbol lookup logic to handle 1-element arrays
https://bugs.webkit.org/show_bug.cgi?id=126411
<rdar://problem/15394564>

Reviewed by Dean Jackson.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getUniformLocation): Revise code to handle the case of single-element
arrays.

4:40 PM Changeset in webkit [161241] by weinig@apple.com
  • 79 edits
    32 adds
    22 deletes in trunk

Update Promises to the https://github.com/domenic/promises-unwrapping spec
https://bugs.webkit.org/show_bug.cgi?id=120954

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Update Promises to the revised spec. Notable changes:

  • JSPromiseResolver is gone.
  • TaskContext has been renamed Microtask and now has a virtual run() function.
  • Instead of using custom InternalFunction subclasses, JSFunctions are used with PrivateName properties for internal slots.
  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • interpreter/CallFrame.h:

(JSC::ExecState::promiseConstructorTable):

  • runtime/CommonIdentifiers.cpp:

(JSC::CommonIdentifiers::CommonIdentifiers):

  • runtime/CommonIdentifiers.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):
(JSC::JSGlobalObject::queueMicrotask):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::promiseConstructor):
(JSC::JSGlobalObject::promisePrototype):
(JSC::JSGlobalObject::promiseStructure):

  • runtime/JSPromise.cpp:

(JSC::JSPromise::create):
(JSC::JSPromise::JSPromise):
(JSC::JSPromise::finishCreation):
(JSC::JSPromise::visitChildren):
(JSC::JSPromise::reject):
(JSC::JSPromise::resolve):
(JSC::JSPromise::appendResolveReaction):
(JSC::JSPromise::appendRejectReaction):
(JSC::triggerPromiseReactions):

  • runtime/JSPromise.h:

(JSC::JSPromise::status):
(JSC::JSPromise::result):
(JSC::JSPromise::constructor):

  • runtime/JSPromiseCallback.cpp: Removed.
  • runtime/JSPromiseCallback.h: Removed.
  • runtime/JSPromiseConstructor.cpp:

(JSC::constructPromise):
(JSC::JSPromiseConstructor::getCallData):
(JSC::JSPromiseConstructorFuncCast):
(JSC::JSPromiseConstructorFuncResolve):
(JSC::JSPromiseConstructorFuncReject):

  • runtime/JSPromiseConstructor.h:
  • runtime/JSPromiseDeferred.cpp: Added.

(JSC::JSPromiseDeferred::create):
(JSC::JSPromiseDeferred::JSPromiseDeferred):
(JSC::JSPromiseDeferred::finishCreation):
(JSC::JSPromiseDeferred::visitChildren):
(JSC::createJSPromiseDeferredFromConstructor):
(JSC::updateDeferredFromPotentialThenable):

  • runtime/JSPromiseDeferred.h: Added.

(JSC::JSPromiseDeferred::createStructure):
(JSC::JSPromiseDeferred::promise):
(JSC::JSPromiseDeferred::resolve):
(JSC::JSPromiseDeferred::reject):

  • runtime/JSPromiseFunctions.cpp: Added.

(JSC::deferredConstructionFunction):
(JSC::createDeferredConstructionFunction):
(JSC::identifyFunction):
(JSC::createIdentifyFunction):
(JSC::promiseAllCountdownFunction):
(JSC::createPromiseAllCountdownFunction):
(JSC::promiseResolutionHandlerFunction):
(JSC::createPromiseResolutionHandlerFunction):
(JSC::rejectPromiseFunction):
(JSC::createRejectPromiseFunction):
(JSC::resolvePromiseFunction):
(JSC::createResolvePromiseFunction):
(JSC::throwerFunction):
(JSC::createThrowerFunction):

  • runtime/JSPromiseFunctions.h: Added.
  • runtime/JSPromisePrototype.cpp:

(JSC::JSPromisePrototypeFuncThen):
(JSC::JSPromisePrototypeFuncCatch):

  • runtime/JSPromiseReaction.cpp: Added.

(JSC::createExecutePromiseReactionMicroTask):
(JSC::ExecutePromiseReactionMicroTask::run):
(JSC::JSPromiseReaction::create):
(JSC::JSPromiseReaction::JSPromiseReaction):
(JSC::JSPromiseReaction::finishCreation):
(JSC::JSPromiseReaction::visitChildren):

  • runtime/JSPromiseReaction.h: Added.

(JSC::JSPromiseReaction::createStructure):
(JSC::JSPromiseReaction::deferred):
(JSC::JSPromiseReaction::handler):

  • runtime/JSPromiseResolver.cpp: Removed.
  • runtime/JSPromiseResolver.h: Removed.
  • runtime/JSPromiseResolverConstructor.cpp: Removed.
  • runtime/JSPromiseResolverConstructor.h: Removed.
  • runtime/JSPromiseResolverPrototype.cpp: Removed.
  • runtime/JSPromiseResolverPrototype.h: Removed.
  • runtime/Microtask.h: Added.
  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::~VM):

  • runtime/VM.h:

Source/WebCore:

  • ForwardingHeaders/runtime/JSPromiseDeferred.h: Added.
  • ForwardingHeaders/runtime/JSPromiseResolver.h: Removed.
  • bindings/js/JSDOMGlobalObjectTask.cpp:

(WebCore::JSGlobalObjectTask::JSGlobalObjectTask):

  • bindings/js/JSDOMGlobalObjectTask.h:
  • bindings/js/JSDOMPromise.cpp:

(WebCore::DeferredWrapper::DeferredWrapper):
(WebCore::DeferredWrapper::promise):
(WebCore::DeferredWrapper::resolve):
(WebCore::DeferredWrapper::reject):

  • bindings/js/JSDOMPromise.h:

(WebCore::DeferredWrapper::resolve):
(WebCore::DeferredWrapper::reject):
(WebCore::DeferredWrapper::resolve<String>):
(WebCore::DeferredWrapper::resolve<bool>):
(WebCore::char>>):
(WebCore::DeferredWrapper::reject<String>):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::queueTaskToEventLoop):

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::digest):
(WebCore::JSSubtleCrypto::generateKey):
(WebCore::JSSubtleCrypto::importKey):
(WebCore::JSSubtleCrypto::exportKey):
(WebCore::JSSubtleCrypto::wrapKey):
(WebCore::JSSubtleCrypto::unwrapKey):

  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):

  • bindings/js/JSWorkerGlobalScopeBase.h:

LayoutTests:

  • crypto/subtle/argument-conversion.html:
  • crypto/subtle/resources/common.js:
  • crypto/subtle/sha-1.html:
  • crypto/subtle/sha-224.html:
  • crypto/subtle/sha-256.html:
  • crypto/subtle/sha-384.html:
  • crypto/subtle/sha-512.html:
  • js/dom/Promise-already-fulfilled-expected.txt: Removed.
  • js/dom/Promise-already-fulfilled.html: Removed.
  • js/dom/Promise-already-rejected.html:
  • js/dom/Promise-already-resolved.html:
  • js/dom/Promise-catch-expected.txt:
  • js/dom/Promise-catch-in-workers-expected.txt:
  • js/dom/Promise-catch.html:
  • js/dom/Promise-chain.html:
  • js/dom/Promise-exception-expected.txt:
  • js/dom/Promise-exception.html:
  • js/dom/Promise-expected.txt:
  • js/dom/Promise-fulfill-expected.txt: Removed.
  • js/dom/Promise-fulfill-in-workers-expected.txt: Removed.
  • js/dom/Promise-fulfill-in-workers.html: Removed.
  • js/dom/Promise-fulfill.html: Removed.
  • js/dom/Promise-init-callback-receiver-expected.txt: Added.
  • js/dom/Promise-init-callback-receiver.html: Added.
  • js/dom/Promise-init-expected.txt:
  • js/dom/Promise-init-in-workers-expected.txt:
  • js/dom/Promise-init.html:
  • js/dom/Promise-onFulfilled-deep-expected.txt: Added.
  • js/dom/Promise-onFulfilled-deep.html: Added.
  • js/dom/Promise-onRejected-deep-expected.txt: Added.
  • js/dom/Promise-onRejected-deep.html: Added.
  • js/dom/Promise-reject.html:
  • js/dom/Promise-resolve-chain.html:
  • js/dom/Promise-resolve-expected.txt:
  • js/dom/Promise-resolve-in-workers-expected.txt:
  • js/dom/Promise-resolve-state-expected.txt: Added.
  • js/dom/Promise-resolve-state-in-workers-expected.txt: Added.
  • js/dom/Promise-resolve-state-in-workers.html: Added.
  • js/dom/Promise-resolve-state.html: Added.
  • js/dom/Promise-resolve-with-itself-expected.txt: Added.
  • js/dom/Promise-resolve-with-itself.html: Added.
  • js/dom/Promise-resolve-with-then-exception.html:
  • js/dom/Promise-resolve-with-then-fulfill-expected.txt:
  • js/dom/Promise-resolve-with-then-fulfill.html:
  • js/dom/Promise-resolve-with-then-reject-expected.txt:
  • js/dom/Promise-resolve-with-then-reject.html:
  • js/dom/Promise-resolve.html:
  • js/dom/Promise-simple-expected.txt:
  • js/dom/Promise-simple-fulfill-expected.txt: Removed.
  • js/dom/Promise-simple-fulfill-inside-callback-expected.txt: Removed.
  • js/dom/Promise-simple-fulfill-inside-callback.html: Removed.
  • js/dom/Promise-simple-fulfill.html: Removed.
  • js/dom/Promise-simple-in-workers-expected.txt:
  • js/dom/Promise-simple-resolve-expected.txt: Added.
  • js/dom/Promise-simple-resolve.html: Added.
  • js/dom/Promise-simple.html:
  • js/dom/Promise-static-all-expected.txt: Added.
  • js/dom/Promise-static-all.html: Added.
  • js/dom/Promise-static-cast-expected.txt: Added.
  • js/dom/Promise-static-cast.html: Added.
  • js/dom/Promise-static-fulfill-expected.txt: Removed.
  • js/dom/Promise-static-fulfill.html: Removed.
  • js/dom/Promise-static-race-expected.txt: Added.
  • js/dom/Promise-static-race.html: Added.
  • js/dom/Promise-static-resolve.html:
  • js/dom/Promise-then-callback-receiver-expected.txt: Added.
  • js/dom/Promise-then-callback-receiver.html: Added.
  • js/dom/Promise-then-expected.txt:
  • js/dom/Promise-then-in-workers-expected.txt:
  • js/dom/Promise-then-without-callbacks.html:
  • js/dom/Promise-then.html:
  • js/dom/Promise-types-expected.txt:
  • js/dom/Promise-types.html:
  • js/dom/Promise.html:
  • js/resources/Promise-catch-in-workers.js:
  • js/resources/Promise-fulfill-in-workers.js: Removed.
  • js/resources/Promise-init-in-workers.js:
  • js/resources/Promise-reject-in-workers.js:
  • js/resources/Promise-resolve-in-workers.js:
  • js/resources/Promise-resolve-state-in-workers.js: Added.
  • js/resources/Promise-simple-in-workers.js:
  • js/resources/Promise-then-in-workers.js:
  • js/resources/Promise-then-without-callbacks-in-workers.js:
4:24 PM Changeset in webkit [161240] by mhahnenberg@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Add support for StoreBarrier and friends to the FTL
https://bugs.webkit.org/show_bug.cgi?id=126040

Reviewed by Filip Pizlo.

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileStoreBarrier):
(JSC::FTL::LowerDFGToLLVM::compileConditionalStoreBarrier):
(JSC::FTL::LowerDFGToLLVM::compileStoreBarrierWithNullCheck):
(JSC::FTL::LowerDFGToLLVM::loadMarkByte):
(JSC::FTL::LowerDFGToLLVM::emitStoreBarrier):

  • heap/Heap.cpp:

(JSC::Heap::Heap):

  • heap/Heap.h:

(JSC::Heap::writeBarrierBuffer):

4:10 PM Changeset in webkit [161239] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

ImageBufferBackingStoreCache should use DeferrableOneShotTimer
https://bugs.webkit.org/show_bug.cgi?id=126155

Reviewed by Anders Carlsson.

Since ImageBufferBackingStoreCache's purge timer is pushed out every time
a backing store is deallocated, we can easily waste a lot of time rescheduling
the timer. Since it's a cache purge timer and doesn't need that kind of precision,
adopt DeferrableOneShotTimer, which is much more performant when deferred frequently.

  • platform/graphics/cg/ImageBufferBackingStoreCache.cpp:

(WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
(WebCore::ImageBufferBackingStoreCache::timerFired):
(WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):

  • platform/graphics/cg/ImageBufferBackingStoreCache.h:
3:58 PM Changeset in webkit [161238] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Addressed review comments in https://bugs.webkit.org/show_bug.cgi?id=126393#c5.
Reviewed by Michael Saboff.

  • offlineasm/cloop.rb:
3:50 PM Changeset in webkit [161237] by fpizlo@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Address review comments in https://bugs.webkit.org/show_bug.cgi?id=126409#c3

  • llint/LowLevelInterpreter32_64.asm:
3:35 PM Changeset in webkit [161236] by ap@apple.com
  • 2 edits in trunk/Tools

Bindings tests results links are broken at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126402

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:

(Buildbot.prototype.bindingsTestResultsURLForIteration): Fixed a typo that was there
since the beginning.

3:32 PM Changeset in webkit [161235] by mmaxfield@apple.com
  • 4 edits
    5 adds in trunk

Allow ImageBuffer to re-use IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=125477

Source/WebCore:

Reviewed by Geoff Garen. Modifications reviewed by Tim Horton.

This patch is taken from r160945, but the modifications to ImageBufferCG.cpp
have been reverted.

This test adds a static class, ImageBufferBackingStoreCache, that vends
IOSurfaces. It remembers IOSurfaces that have been returned to it until
a configurable timeout.

The storage used by this class is in the form of a HashMap from a
bucketed size to the IOSurface. There are many other data structures
that could be used, but this implementation gives a 80% hit rate on
normal browsing of some example sites with Canvas and
text-decoration-skip: ink. Because the buckets are fairly
small (rounding the width and height up to multiples of 8), traversing the
bucket contents takes on average 2 steps.

Test: fast/canvas/canvas-backing-store-reuse.html

  • WebCore.xcodeproj/project.pbxproj: Added new caching class
  • platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Added.

(WebCore::createIOSurface): Copied from ImageBufferCG.cpp
(WebCore::ImageBufferBackingStoreCache::timerFired): Forget the cache
contents
(WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):
(WebCore::ImageBufferBackingStoreCache::get): Static getter
(WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
(WebCore::ImageBufferBackingStoreCache::insertIntoCache): Memory-management
creation function
(WebCore::ImageBufferBackingStoreCache::takeFromCache): Memory-management
deletion function
(WebCore::ImageBufferBackingStoreCache::isAcceptableSurface): Does this cached
IOSurface fit the bill?
(WebCore::ImageBufferBackingStoreCache::tryTakeFromCache): Lookup
a bucket and walk through its contents
(WebCore::ImageBufferBackingStoreCache::getOrAllocate): Public function
for clients who want a IOSurface from the cache
(WebCore::ImageBufferBackingStoreCache::deallocate): Public
function for clients to return an IOSurface to the pool

  • platform/graphics/cg/ImageBufferBackingStoreCache.h: Added.

(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::~ImageBuffer):

PerformanceTests:

Reviewed by Geoff Garen.

This test times creating a variety of different sizes of canvases
once some have already been created. The second creation of the
canvases should re-use the existing IOSurfaces.

  • Canvas/reuse.html: Added.

LayoutTests:

Reviewed by Geoff Garen.

Now that we're re-using the backing store of canvases, this
test makes sure that if we draw to a canvas, then destroy it,
then create a new canvas (which should share the same backing
store) that it doesn't have the stale data in it

  • fast/canvas/canvas-backing-store-reuse-expected.txt: Added.
  • fast/canvas/canvas-backing-store-reuse.html: Added.
3:28 PM Changeset in webkit [161234] by fpizlo@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack LLInt 32-bit should build
https://bugs.webkit.org/show_bug.cgi?id=126409

Not yet reviewed.

And the stuff we do to make it build should at least try to be correct.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
3:24 PM Changeset in webkit [161233] by ap@apple.com
  • 2 edits in trunk/Tools

"+" is very confusing at http://build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126400

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype._appendPendingRevisionCount): Instead of listing open
source and internal counts separately, simply add them. One can always open a popover
for more detail.

3:20 PM Changeset in webkit [161232] by mark.lam@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Added a missing word in a change comment, and updated review status for:

https://bugs.webkit.org/show_bug.cgi?id=126321
https://bugs.webkit.org/show_bug.cgi?id=126328
https://bugs.webkit.org/show_bug.cgi?id=126334
https://bugs.webkit.org/show_bug.cgi?id=126405

3:14 PM Changeset in webkit [161231] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Video-seek-with-negative-playback was flaky.
https://bugs.webkit.org/show_bug.cgi?id=126379

Patch by Piotr Grad <p.grad@samsung.com> on 2014-01-02
Reviewed by Eric Carlson.

No new tests. Covered by existing tests.

m_player->setRate() should be called before updating m_playbackRate, because potentiallyPlaying() depends
on endedPlayback(), which checks m_playbackRate.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setPlaybackRate):

2:57 PM Changeset in webkit [161230] by mhahnenberg@apple.com
  • 13 edits
    1 add in trunk/Source/JavaScriptCore

Storing new CopiedSpace memory into a JSObject should fire a write barrier
https://bugs.webkit.org/show_bug.cgi?id=126025

Reviewed by Filip Pizlo.

Technically this is creating a pointer between a (potentially) old generation object and a young
generation chunk of memory, thus there needs to be a barrier.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGOperations.cpp:
  • heap/CopyWriteBarrier.h: Added. This class functions similarly to the WriteBarrier class. It

acts as a proxy for pointers to CopiedSpace. Assignments to the field cause a write barrier to
fire for the object that is the owner of the CopiedSpace memory. This is to ensure during nursery
collections that objects with new backing stores are visited, even if they are old generation objects.
(JSC::CopyWriteBarrier::CopyWriteBarrier):
(JSC::CopyWriteBarrier::operator!):
(JSC::CopyWriteBarrier::operator UnspecifiedBoolType*):
(JSC::CopyWriteBarrier::get):
(JSC::CopyWriteBarrier::operator*):
(JSC::CopyWriteBarrier::operator->):
(JSC::CopyWriteBarrier::set):
(JSC::CopyWriteBarrier::setWithoutWriteBarrier):
(JSC::CopyWriteBarrier::clear):

  • heap/Heap.h:
  • runtime/JSArray.cpp:

(JSC::JSArray::unshiftCountSlowCase):
(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::unshiftCountWithArrayStorage):

  • runtime/JSCell.h:

(JSC::JSCell::unvalidatedStructure):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):

  • runtime/JSObject.cpp:

(JSC::JSObject::copyButterfly):
(JSC::JSObject::getOwnPropertySlotByIndex):
(JSC::JSObject::putByIndex):
(JSC::JSObject::enterDictionaryIndexingModeWhenArrayStorageAlreadyExists):
(JSC::JSObject::createInitialIndexedStorage):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::deletePropertyByIndex):
(JSC::JSObject::getOwnPropertyNames):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::countElements):
(JSC::JSObject::increaseVectorLength):
(JSC::JSObject::ensureLengthSlow):

  • runtime/JSObject.h:

(JSC::JSObject::butterfly):
(JSC::JSObject::setStructureAndButterfly):
(JSC::JSObject::setButterflyWithoutChangingStructure):
(JSC::JSObject::JSObject):
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::putDirectWithoutTransition):

  • runtime/MapData.cpp:

(JSC::MapData::ensureSpaceForAppend):

  • runtime/Structure.cpp:

(JSC::Structure::materializePropertyMap):

2:43 PM Changeset in webkit [161229] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Interpreter::executeCall() should check for exceptions after calling callToNativeFunction().
https://bugs.webkit.org/show_bug.cgi?id=126405.

Not yet reviewed.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeCall):

  • executeCall() was expecting to return a non-null JSValue but neglected to check if an exception was thrown during a call to callToNativeFunction. We now check if an exception was thrown, and if so, we set the result to jsNull() the same way that JITCode::execute() does.
2:35 PM Changeset in webkit [161228] by barraclough@apple.com
  • 23 edits in trunk/Source

Source/WebCore: [iOS] Tapping any link crashes in WebCore::EventHandler::mouseMoved()
(also crashes when scrolling certain sites)
https://bugs.webkit.org/show_bug.cgi?id=126401
<rdar://problem/15739334>

Patch by Daniel Bates <dabates@apple.com> on 2014-01-02
Reviewed by Tim Horton.

  • page/ios/EventHandlerIOS.mm:

(WebCore::currentEventSlot): Make the shared variable have static-storage duration.

Source/WebKit/mac: Remove WindowIsVisible
https://bugs.webkit.org/show_bug.cgi?id=126270

Reviewed by Tim Horton.

We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible.
The latter detects that the content is hidden in fewer cases than the former, and as such, the
former is always preferable.

This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to
Plugin::windowVisibilityChanged.

  • WebView/WebView.mm:

(-[WebView _windowWillOrderOnScreen:]):
(-[WebView _windowWillOrderOffScreen:]):

  • rename ContainingWindowIsVisible -> ContentIsVisible.

Source/WebKit2: Remove WindowIsVisible
https://bugs.webkit.org/show_bug.cgi?id=126270

Reviewed by Tim Horton.

We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible.
The latter detects that the content is hidden in fewer cases than the former, and as such, the
former is always preferable.

This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to
Plugin::windowVisibilityChanged.

  • Shared/ViewState.h:
    • remove WindowIsVisible.
  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:
    • remove isWindowVisible.
  • UIProcess/API/mac/WKView.mm:

(-[WKView viewDidMoveToWindow]):
(-[WKView _windowDidMiniaturize:]):
(-[WKView _windowDidDeminiaturize:]):
(-[WKView _windowDidOrderOffScreen:]):
(-[WKView _windowDidOrderOnScreen:]):

  • remove ViewState::WindowIsVisible.
  • UIProcess/PageClient.h:
    • remove isWindowVisible.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateViewState):

  • remove handling of ViewState::WindowIsVisible.
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setIsVisible):
(WebKit::PluginView::didInitializePlugin):

  • WebProcess/Plugins/PluginView.h:
    • setWindowIsVisible -> setIsVisible.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setViewIsVisible):
(WebKit::WebPage::setViewState):
(WebKit::WebPage::windowAndWebPageAreFocused):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::isVisible):

  • remove m_windowIsVisible, setWindowIsVisible (implementation moved to setViewIsVisible).
2:32 PM Changeset in webkit [161227] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Tapping any link crashes in WebCore::EventHandler::mouseMoved()
(also crashes when scrolling certain sites)
https://bugs.webkit.org/show_bug.cgi?id=126401
<rdar://problem/15739334>

Reviewed by Tim Horton.

  • page/ios/EventHandlerIOS.mm:

(WebCore::currentEventSlot): Make the shared variable have static-storage duration.

2:20 PM Changeset in webkit [161226] by barraclough@apple.com
  • 8 edits in trunk/Source/WebKit2

Refactor ViewState handling for drawing area / plugins
https://bugs.webkit.org/show_bug.cgi?id=126272

Reviewed by Tim Horton.

Instead of all ViewState changes being handled by the WebPage, notify the DrawingArea & PluginView to better encapsulate.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::viewStateDidChange):
(WebKit::PluginView::platformViewStateDidChange):

  • added, handle changes in ViewState relevant to PluginView.

(WebKit::PluginView::didInitializePlugin):

  • helper function removed.
  • WebProcess/Plugins/PluginView.h:
    • added/removed function declarations.
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::viewStateDidChange):

  • declare viewStateDidChange.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setActive):

  • no need to notify plugin.

(WebKit::WebPage::setViewIsVisible):

  • no need to notify drawing area.

(WebKit::WebPage::setViewState):

  • send viewStateDidChange to drawing area / plugin.

(WebKit::WebPage::setWindowIsVisible):

  • no need to notify plugin.
  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::layerHostingMode):

  • removed setLayerHostingMode.
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
    • declare viewStateDidChange.
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange):

  • added, handle changes in ViewState relevant to DrawingArea.
2:16 PM Changeset in webkit [161225] by fpizlo@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Address review feedback in https://bugs.webkit.org/show_bug.cgi?id=126387#c3

  • llint/LowLevelInterpreter.asm:
2:15 PM Changeset in webkit [161224] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Merge didMoveOnscreen / page visibility to isVisible
https://bugs.webkit.org/show_bug.cgi?id=126268

Build fix.

  • UIProcess/WebContext.h: Removed some accidental input.
2:06 PM Changeset in webkit [161223] by barraclough@apple.com
  • 17 edits in trunk/Source

Merge didMoveOnscreen / page visibility to isVisible
https://bugs.webkit.org/show_bug.cgi?id=126268

Reviewed by Tim Horton.

The onscreen state most closely tracks view visibility (though currently
also tracks a mix of in-window state). Make more consistent, simplify,
and move all animation suspension logic to Page, so it can be controlled
by the PageThrottler.

Source/WebCore:

  • WebCore.exp.in:
  • page/EventHandler.cpp:

(WebCore::EventHandler::fakeMouseMoveEventTimerFired):

  • page/FrameView.cpp:

(WebCore::FrameView::shouldSetCursor):

  • page/Page.cpp:

(WebCore::Page::Page):

  • initialize new variables.

(WebCore::Page::setIsVisible):

  • merge setVisibilityState, didMoveOnscreen, willMoveOffscreen.

(WebCore::Page::setIsPrerender):

  • switches visibility state from hidden to prerender.

(WebCore::Page::visibilityState):

  • computed from m_isVisible, m_isPrerender.

(WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):

  • m_visibilityState -> m_isVisible.
  • page/Page.h:
    • remove didMoveOnscreen/willMoveOffscreen m_isOnscreen & m_visibilityState -> m_isVisible & m_isPrerender setVisibilityState -> setIsVisible & setIsPrerender.

(WebCore::Page::isVisible):

  • isOnscreen -> isVisible.

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setPageVisibilityState):

  • setVisibilityState -> setIsVisible.

Source/WebKit/efl:

  • ewk/ewk_view.cpp:

(ewk_view_visibility_state_set):

  • setVisibilityState -> setIsVisible/setIsPrerender.

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::setPageVisibility):

  • setVisibilityState -> setIsVisible/setIsPrerender.

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _updateVisibilityState]):

  • _setVisibilityState:isInitialState: -> _setIsVisibile:isInitialState:.

(-[WebView _setIsVisible:isInitialState:]):

  • added.

(-[WebView _setVisibilityState:isInitialState:]):

  • setVisibilityState -> setIsVisible/setIsPrerender.

(-[WebView viewWillMoveToWindow:]):
(-[WebView viewDidMoveToWindow]):

  • remove redundant calls to willMoveOffscreen/didMoveOnscreen (this is handled by _updateVisibilityState).

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setViewIsVisible):

  • updateVisibilityState -> setIsVisible.

(WebKit::WebPage::setIsInWindow):

  • remove redundant willMoveOffscreen/didMoveOnscreen calls - this is handled by setIsVisible.

(WebKit::WebPage::setMayStartMediaWhenInWindow):

  • isOnscreen -> isInWindow. We start media when the view is in a window, not when the view is visible.

(WebKit::WebPage::setVisibilityStatePrerender):

  • setVisibilityState -> setIsPrerender.
1:34 PM Changeset in webkit [161222] by oliver@apple.com
  • 17 edits in trunk/Source/WebCore

Update bindings test results

1:00 PM Changeset in webkit [161221] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebKit/gtk

[GTK] Fix mismatched header guards in private WK1 header files
https://bugs.webkit.org/show_bug.cgi?id=126390

Reviewed by Martin Robinson.

Fix three mismatched header guards that are producing warnings when building with Clang.

  • webkit/webkitsecurityoriginprivate.h:
  • webkit/webkitviewportattributesprivate.h:
  • webkit/webkitwebnavigationactionprivate.h:
12:56 PM Changeset in webkit [161220] by oliver@apple.com
  • 27 edits in trunk/Source

Refactor PutPropertySlot to be aware of custom properties
https://bugs.webkit.org/show_bug.cgi?id=126187

Reviewed by Antti Koivisto.

Source/JavaScriptCore:

Refactor PutPropertySlot, making the constructor take the thisValue
used as a target. This results in a wide range of boilerplate changes
to pass the new parameter.

  • API/JSObjectRef.cpp:

(JSObjectSetProperty):

  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.cpp:

(JSC::Arguments::putByIndex):

  • runtime/ArrayPrototype.cpp:

(JSC::putProperty):
(JSC::arrayProtoFuncPush):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::putToPrimitiveByIndex):

  • runtime/JSCell.cpp:

(JSC::JSCell::putByIndex):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::put):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex):

  • runtime/JSONObject.cpp:

(JSC::Walker::walk):

  • runtime/JSObject.cpp:

(JSC::JSObject::putByIndex):
(JSC::JSObject::putDirectNonIndexAccessor):
(JSC::JSObject::deleteProperty):

  • runtime/JSObject.h:

(JSC::JSObject::putDirect):

  • runtime/Lookup.h:

(JSC::putEntry):
(JSC::lookupPut):

  • runtime/PutPropertySlot.h:

(JSC::PutPropertySlot::PutPropertySlot):
(JSC::PutPropertySlot::setCustomProperty):
(JSC::PutPropertySlot::thisValue):
(JSC::PutPropertySlot::isCacheable):

Source/WebCore:

Update the bindings code generation and custom objects
to the new function signatures

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::put):

  • bindings/objc/WebScriptObject.mm:

(-[WebScriptObject setValue:forKey:]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterface::putByIndex):

  • bridge/NP_jsobject.cpp:

(_NPN_SetProperty):

Source/WebKit/mac:

Update for new method signatures.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::setProperty):

Source/WebKit2:

Update for new method signatures.

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::setProperty):

12:42 PM Changeset in webkit [161219] by mark.lam@apple.com
  • 15 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Get the C Loop LLINT to build again.
https://bugs.webkit.org/show_bug.cgi?id=126393.

Not yet reviewed.

  • jit/JITCode.cpp:

(JSC::DirectJITCode::addressForCall):

  • #if ENABLE(JIT) out the use of RegisterPreservationWrappers.
  • llint/LLIntCLoop.cpp:

(JSC::LLInt::CLoop::initialize):

  • Update CLoop::initialize() to call the new CLoop::execute().
  • llint/LLIntCLoop.h:
  • CLoop::execute() now takes the arguments for callToJavaScript, and it effectively acts as the gateway for re-entering the VM in place for callToJavaScript (and callToNativeFunction).

CLoop::execute() should set up the "CPU" execution environment i.e.
CLoopRegisters should be initialized with the incoming args, stack
pointer, base pointer, and return address. We'll take care of this
part in a subsequent patch.

  • llint/LLIntOpcode.h:
  • Added C loop only llint opcodes llint_call_to_javascript, and llint_call_to_native_function. These will be used as the opcodeID for the llint interpreter blob for callToJavaScript and callToNativeFunction.

Meanwhile, the LLINT thunk will provide C functions for callToJavaScript
and callToNativeFunction which calls CLoop::execute() with the opcodeID
for llint_call_to_javascript and llint_call_to_native_function
respectively.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::llint_throw_stack_overflow_error):

  • Changed llint_throw_stack_overflow_error()'s return type so that it is easier for the C Loop LLINT to generate boilerplate code to call it.

The return value is not used by anyone. But since this is code that
rarely executed, we'll opt to take this small hit of returning an
unused value rather than having to spin some way to make the C Loop
offlineasm smarter only for handling this one case.

  • llint/LLIntSlowPaths.h:
  • llint/LLIntThunks.cpp:

(JSC::callToJavaScript):
(JSC::callToNativeFunction):

  • Updated to call the new CLoop::execute().

We're going to try to use the doCallToJavaScript code defined in the
LLINT assembly instead of spinning our own version in C++ as we did
previously.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter.cpp:

(JSC::CLoopRegister::operator ExecState*):
(JSC::CLoopRegister::operator Instruction*):
(JSC::CLoopRegister::operator VM*):
(JSC::CLoopRegister::operator ProtoCallFrame*):

  • Added these cast operators to the CLoopRegister to simplify the C Loop call slow path boilerplate.

(JSC::CLoop::execute):

  • llint/LowLevelInterpreter64.asm:
  • offlineasm/cloop.rb:
  • Define C Loop registers to match ARM as expected by the code.
  • Replaced a #error with a RELEASE_ASSERT_NOT_REACHED().
  • Reworked the call slow path boilerplate to take advantage of the CLoopRegister cast operators. We need this in order to be able to call slow path functions that take different argument types e.g. llint_throw_stack_overflow_error().
  • runtime/CommonSlowPaths.cpp:

(JSC::setupArityCheckData):

  • runtime/VM.cpp:

(JSC::VM::getHostFunction):

  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::requiredCapacity):

12:15 PM Changeset in webkit [161218] by fpizlo@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Rationalize DFG DCE
https://bugs.webkit.org/show_bug.cgi?id=125523

Reviewed by Mark Hahnenberg.

Adds the ability to DCE more things. It's now the case that if a node is completely
pure, we clear NodeMustGenerate and the node becomes a DCE candidate.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::cleanVariables):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::clobbersWorld):

  • dfg/DFGNodeType.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileAdd):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileValueAdd):

12:11 PM Changeset in webkit [161217] by fpizlo@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Some crashes in C stack on Mountain Lion, for example on crypto-aes, due to misaligned stack
https://bugs.webkit.org/show_bug.cgi?id=126394

Not yet reviewed.

The specialized math thunks currently ensure that inside the thunk, the stack is aligned. But when they
call the wrapper, the wrapper previously didn't align the stack. This patch fixes that.

I think that we can drop the wrappers on X86-64 and maybe on other platforms as well. I'll leave that to
a future patch.

  • jit/ThunkGenerators.cpp:
12:06 PM Changeset in webkit [161216] by ap@apple.com
  • 3 edits in trunk/Tools

Accessing Trac from build.webkit.org/dashboard should enable XMLHttpRequest.withCredentials
https://bugs.webkit.org/show_bug.cgi?id=126391

Reviewed by Dan Bernstein.

Make it conditional, as trac.webkit.org doesn't work when withCredentials is enabled.
One can request credentials use via Initialization.js.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:

(Trac):
(Trac.prototype.update):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:

(loadXML):

12:03 PM Changeset in webkit [161215] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r160846.
http://trac.webkit.org/changeset/160846
https://bugs.webkit.org/show_bug.cgi?id=126395

Breaks build scripts for Windows when Visual Studio is not
installed in Program Files (Requested by rfong on #webkit).

  • Scripts/webkitdirs.pm:

(visualStudioInstallDir):

11:45 AM Changeset in webkit [161214] by Martin Robinson
  • 3 edits in trunk/Tools

[GTK] [CMake] run-gtk-tests should run with the cmake build
https://bugs.webkit.org/show_bug.cgi?id=126341

Reviewed by Carlos Garcia Campos.

  • Scripts/run-gtk-tests:

(TestRunner.init): Use the new calling conventions for the common script.
(TestRunner._setup_testing_environment): Ditto.

  • gtk/common.py:

(set_build_types): Added set_build_types, to avoid having build_type arguments
for all functions in common.
(binary_build_path): Added this function which gets the path to the built binaries.
(get_build_path): Removed the build_types argument.
(build_path): Removed the build_types argument and call get_build_path directly now.

11:42 AM Changeset in webkit [161213] by ap@apple.com
  • 2 edits in trunk/Tools

https://bugs.webkit.org/show_bug.cgi?id=126391
Accessing Trac from build.webkit.org/dashboard should enable XMLHttpRequest.withCredentials

Rubber-stamped by Dan Bernstein.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:

(loadXML): Quick and dirty fix, with a FIXME.

11:41 AM Changeset in webkit [161212] by Simon Fraser
  • 11 edits
    2 copies in trunk/Source

Add AsyncScrollingCoordinator, which is a base class for threaded and future remote ScrollingCoordinators
https://bugs.webkit.org/show_bug.cgi?id=126389

Source/WebCore:

Reviewed by Tim Horton.

Add AsyncScrollingCoordinator, a ScrollingCoordinator that knows about ScrollingStateTrees
and ScrollingTrees, but leaves it up to subclasses to decide when and how to commit.

  • WebCore.xcodeproj/project.pbxproj: Added AsyncScrollingCoordinator.*
  • page/scrolling/AsyncScrollingCoordinator.cpp: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm.

(WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
(WebCore::AsyncScrollingCoordinator::~AsyncScrollingCoordinator):
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
(WebCore::AsyncScrollingCoordinator::attachToStateTree):
(WebCore::AsyncScrollingCoordinator::detachFromStateTree):
(WebCore::AsyncScrollingCoordinator::clearStateTree):
(WebCore::AsyncScrollingCoordinator::syncChildPositions):
(WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView):
(WebCore::AsyncScrollingCoordinator::updateScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
(WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
(WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
(WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
(WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
(WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
(WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
(WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
(WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
(WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
(WebCore::AsyncScrollingCoordinator::updateMainFrameScrollLayerPosition):
(WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
(WebCore::AsyncScrollingCoordinator::isRubberBandInProgress):
(WebCore::AsyncScrollingCoordinator::setScrollPinningBehavior):
(WebCore::AsyncScrollingCoordinator::scrollingStateTreeAsText):

  • page/scrolling/AsyncScrollingCoordinator.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.

(WebCore::AsyncScrollingCoordinator::scrollingTree):
(WebCore::AsyncScrollingCoordinator::setScrollingTree):
(WebCore::AsyncScrollingCoordinator::scrollingStateTree):
(WebCore::AsyncScrollingCoordinator::releaseScrollingTree):

  • page/scrolling/ScrollingCoordinator.h: Add casting support.

(WebCore::ScrollingCoordinator::isAsyncScrollingCoordinator):

  • page/scrolling/ThreadedScrollingTree.h: commitNewTreeState() needs to be public.
  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm: Lots of code moved to AsyncScrollingCoordinator.

(WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
(WebCore::ScrollingCoordinatorMac::~ScrollingCoordinatorMac):
(WebCore::ScrollingCoordinatorMac::pageDestroyed):
(WebCore::ScrollingCoordinatorMac::commitTreeStateIfNeeded):
(WebCore::ScrollingCoordinatorMac::handleWheelEvent):
(WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
(WebCore::ScrollingCoordinatorMac::commitTreeState):
(WebCore::ScrollingCoordinatorMac::updateTiledScrollingIndicator):

Source/WebKit2:

Reviewed by Tim Horton.

Add AsyncScrollingCoordinator, a ScrollingCoordinator that knows about ScrollingStateTrees
and ScrollingTrees, but leaves it up to subclasses to decide when and how to commit.

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::addScrollingTreeForPage): The ScrollingTree is exposed on
AsyncScrollingCoordinator now, not ScrollingCoordinator, so we have to cast here.

  • WebProcess/WebPage/WebPage.cpp: m_useThreadedScrolling -> m_useAsyncScrolling terminology change.

(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Cast to AsyncScrollingCoordinator in order
to get to the ScrollingTree.

11:20 AM Changeset in webkit [161211] by fpizlo@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

Refactor LLInt C stack frame munging helpers so that 32-bit code paths can use them
https://bugs.webkit.org/show_bug.cgi?id=126387

Not yet reviewed.

This gets us closer to the 32-bit LLInt working on the C stack by enabling the
32-bit code paths to use the low-level stack/frame pointer munging helpers. This
patch doesn't completely ensure that these helpers actually work - the 32-bit
build is still broken - but it's a good change to land separately since it affects
64-bit code paths as well.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
10:45 AM Changeset in webkit [161210] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Simplify the insides of DocumentSharedObjectPool and reduce memory usage.

Merging Blink r164152 by Elliott Sprehn.

Instead of storing an OwnPtr to an object that has a pointer to the
ShareableElementData as well as a pointer into the ShareableElementData
and the length we can just store a RefPtr to the SharableElementData.

This also reduces the memory usage of the pool by 2 pointers per entry.

  • dom/DocumentSharedObjectPool.h:
  • dom/DocumentSharedObjectPool.cpp:

(WebCore::attributeHash):
(WebCore::hasSameAttributes):
(WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):

10:11 AM Changeset in webkit [161209] by krit@webkit.org
  • 14 edits in trunk

Support <box> values computed style for 'clip-path' property
https://bugs.webkit.org/show_bug.cgi?id=126148

Reviewed by Simon Fraser.

Source/WebCore:

Calculate computed style for 'clip-path' property.

Updated tests to check for computed style.

  • css/BasicShapeFunctions.cpp: Add box value bounding-box.

(WebCore::valueForBox):
(WebCore::boxForValue):

  • css/CSSComputedStyleDeclaration.cpp: Return the computed style

for 'clip-path'.

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/DeprecatedStyleBuilder.cpp: Create CSSValueLists for 'clip-th'.

(WebCore::ApplyPropertyClipPath::applyValue):

  • rendering/ClipPathOperation.h: Add bounding-box value.

(WebCore::ShapeClipPathOperation::pathForReferenceRect):
(WebCore::ShapeClipPathOperation::setReferenceBox):
(WebCore::ShapeClipPathOperation::referenceBox):
(WebCore::BoxClipPathOperation::create):
(WebCore::BoxClipPathOperation::pathForReferenceRect):
(WebCore::BoxClipPathOperation::referenceBox):
(WebCore::BoxClipPathOperation::BoxClipPathOperation):

  • rendering/shapes/ShapeInfo.h: Add bounding-box value.

(WebCore::ShapeInfo::setShapeSize):
(WebCore::ShapeInfo::logicalTopOffset):
(WebCore::ShapeInfo::logicalLeftOffset):

  • rendering/style/BasicShapes.cpp: Add bounding-box value.

(WebCore::BasicShape::referenceBoxSize):

  • rendering/style/BasicShapes.h:

LayoutTests:

Test computed style of 'clip-path' property.

  • fast/masking/parsing-clip-path-shape.html:
7:51 AM Changeset in webkit [161208] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

Always resolve style from root
https://bugs.webkit.org/show_bug.cgi?id=126380

Reviewed by Andreas Kling.

Forced style resolve that does not start from the root is never really correct.
Remove the few remaining instances.

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::setResetStyleInheritance):

Update style asynchronously.

  • dom/ShadowRoot.h:
  • dom/Text.h:
  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::createElementRenderer):
(WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
(WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):

Delete the render tree synchronously on suspend and rebuild it asynchronously on resume.
No need for m_customStyleForPageCache hack.

  • html/HTMLPlugInImageElement.h:


Remove m_customStyleForPageCache.

  • style/StyleResolveTree.cpp:
  • style/StyleResolveTree.h:


Remove Element version of resolveTree from the interface.

  • svg/SVGUseElement.h:
7:50 AM Changeset in webkit [161207] by Antti Koivisto
  • 11 edits
    2 deletes in trunk/Source/WebCore

Remove PlaceholderDocument
https://bugs.webkit.org/show_bug.cgi?id=126382

Reviewed by Andreas Kling.

Remove PlaceholderDocument class and replace it with a bit in Document.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::createRenderTree):

  • dom/Document.h:


Also make Synthesized a construction flag instead of a boolean parameter.

(WebCore::Document::createNonRenderedPlaceholder):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::HTMLDocument):

  • html/HTMLDocument.h:

(WebCore::HTMLDocument::create):
(WebCore::HTMLDocument::createSynthesizedDocument):

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::createDocument):

  • loader/PlaceholderDocument.cpp: Removed.
  • loader/PlaceholderDocument.h: Removed.
  • pdf/ios/PDFDocument.h:

(WebCore::PDFDocument::PDFDocument):

5:09 AM WebKitGTK/StartHacking edited by Manuel Rego Casasnovas
Link to SpeedUpBuild for ld.gold instructions (diff)
5:08 AM WebKitGTK/SpeedUpBuild edited by Manuel Rego Casasnovas
Add information about how to configure ld.gold with update-alternatives (diff)
3:43 AM Changeset in webkit [161206] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Attempt to fix the build of WebCore's code generator on CMake based system
https://bugs.webkit.org/show_bug.cgi?id=126271

Reviewed by Sam Weinig.

  • CMakeLists.txt:
1:49 AM Changeset in webkit [161205] by Antti Koivisto
  • 8 edits in trunk/Source/WebCore

Remove public attachRenderTree
https://bugs.webkit.org/show_bug.cgi?id=126368

Reviewed by Andreas Kling.

Remove the remaining explicit render tree construction.

  • dom/Document.cpp:

(WebCore::Document::createRenderTree):

Use recalcStyle() instead of calling attachRenderTree directly.

  • html/HTMLViewSourceDocument.cpp:

(WebCore::HTMLViewSourceDocument::addText):

Remove forgotten attachTextRenderer.

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::InsertionPoint):

Remove willAttachRenderers/didAttachRenderers hack.

  • html/shadow/InsertionPoint.h:

(WebCore::toInsertionPoint):

  • loader/PlaceholderDocument.cpp:

(WebCore::PlaceholderDocument::createRenderTree):

Seriously, nothing to do here.

  • style/StyleResolveTree.cpp:

(WebCore::Style::attachDistributedChildren):
(WebCore::Style::attachChildren):
(WebCore::Style::detachDistributedChildren):
(WebCore::Style::detachChildren):

Making attaching and detaching distributed insertion point children part of ResolveTree internals.

  • style/StyleResolveTree.h:


Remove interfaces with no clients.

Jan 1, 2014:

10:21 PM Changeset in webkit [161204] by Seokju Kwon
  • 2 edits in trunk/Source/WebCore

Remove stale ScriptProfiler methods
https://bugs.webkit.org/show_bug.cgi?id=126373

Reviewed by Darin Adler.

No new tests, No change behavior.

  • bindings/js/ScriptProfiler.h: Remove dead code.
7:22 PM Changeset in webkit [161203] by akling@apple.com
  • 6 edits in trunk/Source

Remove ChromeClient::fullScreenRendererChanged().
<https://webkit.org/b/126370>

This hook was added in r75277 to notify WebFullScreenController when
the full screen renderer changed. In r110216 the code was refactored,
making this notification unnecessary.

Reviewed by Antti Koivisto.

6:07 PM Changeset in webkit [161202] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix the build by exposing some more scrolling state node headers
as Private in WebCore.framework.

  • WebCore.xcodeproj/project.pbxproj:
5:30 PM Changeset in webkit [161201] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] Unreviewed build fix after r160903 when ACCESSIBILITY is disabled

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::children):

4:52 PM Changeset in webkit [161200] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

RenderScrollbar: Map of scrollbar parts should use RenderPtr.
<https://webkit.org/b/126367>

Turn RenderScrollbar::m_parts into HashMap of RenderPtrs. This makes
renderer destruction automatic and lets us remove some code.

Reviewed by Antti Koivisto.

  • rendering/RenderPtr.h:

Add HashTraits for RenderPtr so we can use them as values in
WTF hash tables.

  • rendering/RenderScrollbar.h:
  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::~RenderScrollbar):
(WebCore::RenderScrollbar::setParent):
(WebCore::RenderScrollbar::updateScrollbarParts):
(WebCore::RenderScrollbar::updateScrollbarPart):

Remove now-unneeded kludges of logic to manually delete scrollbar
part renderers in various scenarios.

4:31 PM Changeset in webkit [161199] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Remove reattachRenderTree
https://bugs.webkit.org/show_bug.cgi?id=126366

Reviewed by Andreas Kling.

Remove the last remaining client.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::parseAttribute):

Reconstruct render tree asynchronously.

(WebCore::HTMLSelectElement::scrollToSelection):
(WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
(WebCore::HTMLSelectElement::selectOption):

It is not safe to cast the renderer based on usesMenuList test. Switch to RenderObject::isMenuList test.

(WebCore::HTMLSelectElement::parseMultipleAttribute):

Reconstruct render tree asynchronously.

(WebCore::HTMLSelectElement::platformHandleKeydownEvent):
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
(WebCore::HTMLSelectElement::defaultEventHandler):

  • style/StyleResolveTree.cpp:
  • style/StyleResolveTree.h:


Remove the function.

3:20 PM Changeset in webkit [161198] by Simon Fraser
  • 11 edits
    2 adds in trunk/Source

Create a ThreadedScrollingTree subclass of ScrollingTree, and push all knowledge of the scrolling thread into it
https://bugs.webkit.org/show_bug.cgi?id=126362

Reviewed by Sam Weinig.

Eventually we'll have a ScrollingTree in situations where there is no scrolling
thread, so make the ScrollingTree base class thread-agnostic (but threadsafe),
and subclass it in ThreadedScrollingTree for scrolling-thread-specific functionality.

The ScrollingTree base class also no longer needs to know about the
ScrollingCoordinator.

ScrollingCoordinatorMac creates a ThreadedScrollingTree.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj: Add ThreadedScrollingTree.*

Make some headers Private that we'll need in WebKit2 soon.

  • page/scrolling/ScrollingStateTree.h: Drive-by cleanup: clone() was unimplemented.
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::ScrollingTree):
(WebCore::ScrollingTree::~ScrollingTree):
(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Wrap up some logic that
involves taking the mutex, so ThreadedScrollingTree can conveniently call it.
(WebCore::ScrollingTree::handleWheelEvent):
(WebCore::ScrollingTree::commitNewTreeState):
(WebCore::ScrollingTree::setMainFrameScrollPosition):
(WebCore::ScrollingTree::isHandlingProgrammaticScroll):

  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::isThreadedScrollingTree):
(WebCore::ScrollingTree::invalidate):

  • page/scrolling/ThreadedScrollingTree.cpp: Added.

(WebCore::ThreadedScrollingTree::create):
(WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
(WebCore::ThreadedScrollingTree::~ThreadedScrollingTree):
(WebCore::ThreadedScrollingTree::tryToHandleWheelEvent):
(WebCore::ThreadedScrollingTree::handleWheelEvent):
(WebCore::derefScrollingCoordinator):
(WebCore::ThreadedScrollingTree::invalidate):
(WebCore::ThreadedScrollingTree::commitNewTreeState):
(WebCore::ThreadedScrollingTree::updateMainFrameScrollPosition):
(WebCore::ThreadedScrollingTree::handleWheelEventPhase):

  • page/scrolling/ThreadedScrollingTree.h: Added.

(WebCore::ThreadedScrollingTree::isThreadedScrollingTree):

  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
(WebCore::ScrollingCoordinatorMac::handleWheelEvent):

Source/WebKit2:

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::addScrollingTreeForPage):
(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/EventDispatcher.h:
3:18 PM Changeset in webkit [161197] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

FrameView: Store scroll corner renderer in a RenderPtr.
<https://webkit.org/b/126364>

Make FrameView::m_scrollCorner a RenderPtr<RenderScrollbarPart> and
remove two manual destroy() calls.

Reviewed by Antti Koivisto.

1:48 PM Changeset in webkit [161196] by Antti Koivisto
  • 19 edits in trunk/Source/WebCore

Remove elementChildren/elementDescendants shorthands
https://bugs.webkit.org/show_bug.cgi?id=126363

Reviewed by Anders Carlsson.

Just use childrenOfType<Element>/descendantsOfType<Element> instead. They are not that much longer
and consistency is valuable.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
(WebCore::siblingWithAriaRole):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::isDataTable):

  • css/StyleInvalidationAnalysis.cpp:

(WebCore::StyleInvalidationAnalysis::invalidateStyle):

  • dom/ChildNodeList.cpp:

(WebCore::ChildNodeList::namedItem):

  • dom/Document.cpp:

(WebCore::Document::buildAccessKeyMap):
(WebCore::Document::childrenChanged):

  • dom/Element.cpp:

(WebCore::Element::resetComputedStyle):

  • dom/ElementChildIterator.h:
  • dom/ElementDescendantIterator.h:
  • dom/SelectorQuery.cpp:

(WebCore::elementsForLocalName):
(WebCore::anyElement):
(WebCore::SelectorDataList::executeSingleTagNameSelectorData):
(WebCore::SelectorDataList::executeSingleClassNameSelectorData):
(WebCore::SelectorDataList::executeSingleSelectorData):
(WebCore::SelectorDataList::executeSingleMultiSelectorData):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::removeHeadContents):

  • editing/markup.cpp:

(WebCore::completeURLs):

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::containsJavaApplet):

  • loader/PlaceholderDocument.cpp:

(WebCore::PlaceholderDocument::createRenderTree):

  • rendering/RenderChildIterator.h:
  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::getElementById):

  • svg/SVGUseElement.cpp:

(WebCore::subtreeContainsDisallowedElement):
(WebCore::removeDisallowedElementsFromSubtree):

1:20 PM Changeset in webkit [161195] by Antti Koivisto
  • 11 edits in trunk

Do less synchronous render tree construction
https://bugs.webkit.org/show_bug.cgi?id=126359

Source/WebCore:

Reviewed by Anders Carlsson.

Remove some now-unnecessary attachRenderTree calls.

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::parseAttribute):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::renderFallbackContent):

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::willRecalcStyle):
(WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree):
(WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):

  • html/HTMLViewSourceDocument.cpp:

(WebCore::HTMLViewSourceDocument::createContainingTable):
(WebCore::HTMLViewSourceDocument::addSpanWithClassName):
(WebCore::HTMLViewSourceDocument::addLine):
(WebCore::HTMLViewSourceDocument::finishLine):
(WebCore::HTMLViewSourceDocument::addBase):
(WebCore::HTMLViewSourceDocument::addLink):

  • xml/XMLErrors.cpp:

(WebCore::XMLErrors::insertErrorMessageBlock):

LayoutTests:

  • fast/html/object-image-nested-fallback.html: Update test to work with asynchronous load failures.
  • fast/overflow/overflow-height-float-not-removed-crash3-expected.txt: Whitespace change.
11:53 AM Changeset in webkit [161194] by Simon Fraser
  • 13 edits in trunk/Source/WebCore

Updating the scrolling tree should use references to state nodes
https://bugs.webkit.org/show_bug.cgi?id=126360

Reviewed by Anders Carlsson.

Change functions related to ScrollingTreeNode updating to take
const references to state nodes rather than pointers.

  • page/scrolling/ScrollingStateNode.h:

(WebCore::ScrollingStateNode::hasChangedProperty):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::commitNewTreeState):
(WebCore::ScrollingTree::updateTreeFromStateNode): The node can be nil so
this continues to take a pointer.
(WebCore::ScrollingTree::removeDestroyedNodes):

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeNode.h:

(WebCore::ScrollingTreeNode::updateAfterChildren):

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/mac/ScrollingTreeFixedNode.h:
  • page/scrolling/mac/ScrollingTreeFixedNode.mm:

(WebCore::ScrollingTreeFixedNode::updateBeforeChildren):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):

  • page/scrolling/mac/ScrollingTreeStickyNode.h:
  • page/scrolling/mac/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::updateBeforeChildren):

10:36 AM Changeset in webkit [161193] by zandobersek@gmail.com
  • 22 edits in trunk/LayoutTests

Unreviewed GTK gardening.
Updating test baselines after the introduction of lazy render tree attaching,
enabling the saturated layout arithmetics for the GTK port, and other changes.

  • platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/gtk/fast/backgrounds/size/contain-and-cover-zoomed-expected.txt:
  • platform/gtk/fast/block/float/016-expected.txt:
  • platform/gtk/fast/css-generated-content/table-row-group-to-inline-expected.txt:
  • platform/gtk/fast/dynamic/011-expected.txt:
  • platform/gtk/fast/forms/formmove3-expected.txt:
  • platform/gtk/fast/forms/preserveFormDuringResidualStyle-expected.txt:
  • platform/gtk/fast/invalid/001-expected.txt:
  • platform/gtk/fast/invalid/003-expected.txt:
  • platform/gtk/fast/invalid/004-expected.txt:
  • platform/gtk/fast/invalid/007-expected.txt:
  • platform/gtk/fast/invalid/019-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
  • platform/gtk/fast/ruby/ruby-base-merge-block-children-crash-expected.txt:
  • platform/gtk/fast/spatial-navigation/snav-unit-overflow-and-scroll-in-direction-expected.txt:
  • platform/gtk/fast/table/empty-cells-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug113235-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug647-expected.txt:
  • platform/gtk/tables/mozilla/other/wa_table_tr_align-expected.txt:
10:34 AM Changeset in webkit [161192] by Simon Fraser
  • 16 edits in trunk/Source

Add a typedef for PlatformLayerID on GraphicsLayer, and migrate RemoteLayerTreeTransaction to use it
https://bugs.webkit.org/show_bug.cgi?id=126346

Source/WebCore:

Reviewed by Tim Horton.

Remote scrolling tree code is soon going to use RemoteLayerTreeTransaction::LayerID,
so it makes more sense to put this layerID type on GraphicsLayer as
GraphicsLayer::PlatformLayerID.

Also add some type cast macros for PlatformCALayer and subclasses, and use them
where appropriate.

  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setName):

  • platform/graphics/ca/PlatformCALayer.h:

(WebCore::PlatformCALayer::isPlatformCALayerMac):
(WebCore::PlatformCALayer::isPlatformCALayerRemote):
(WebCore::PlatformCALayer::PlatformCALayer):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:

Source/WebKit2:

Reviewed by Tim Horton.

Remote scrolling tree code is soon going to use RemoteLayerTreeTransaction::LayerID,
so it makes more sense to put this layerID type on GraphicsLayer as
GraphicsLayer::PlatformLayerID.

Also add some type cast macros for PlatformCALayer and subclasses, and use them
where appropriate.

  • Shared/mac/RemoteLayerTreePropertyApplier.h:
  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::rootLayerID):
(WebKit::RemoteLayerTreeTransaction::changedLayers):
(WebKit::RemoteLayerTreeTransaction::destroyedLayers):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::setRootLayerID):
(WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs):
(WebKit::RemoteLayerTreeTextStream::operator<<):
(WebKit::dumpChangedLayers):
(WebKit::RemoteLayerTreeTransaction::description):

  • UIProcess/mac/RemoteLayerTreeHost.h:
  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::commit):
(WebKit::RemoteLayerTreeHost::getLayer):

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:

(WebKit::GraphicsLayerCARemote::primaryLayerID):

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(generateLayerID):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:

(WebKit::PlatformCALayerRemote::layerID):

  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
10:26 AM Changeset in webkit [161191] by Simon Fraser
  • 13 edits in trunk/Source/WebCore

ScrollingStateNodes should have a reference to the ScrollingStateTree
https://bugs.webkit.org/show_bug.cgi?id=126348

Reviewed by Sam Weinig.

Make ScrollingStateNodes always belong to a ScrollingStateTree, and thus
have a reference to the tree rather than a pointer. When cloning nodes,
they are adopted by a new ScrollingStateTree, which adds them to its
node map (which didn't happen before).

In subclasses access the ScrollingStateTree through a member function.

  • page/scrolling/ScrollingStateFixedNode.cpp:

(WebCore::ScrollingStateFixedNode::create):
(WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode):
(WebCore::ScrollingStateFixedNode::clone):
(WebCore::ScrollingStateFixedNode::updateConstraints):

  • page/scrolling/ScrollingStateFixedNode.h:
  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::ScrollingStateNode):
(WebCore::ScrollingStateNode::cloneAndReset):
(WebCore::ScrollingStateNode::cloneAndResetChildren):
(WebCore::ScrollingStateNode::willBeRemovedFromStateTree):

  • page/scrolling/ScrollingStateNode.h:

(WebCore::ScrollingStateNode::scrollingStateTree):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::create):
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::clone):
(WebCore::ScrollingStateScrollingNode::setViewportRect):
(WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
(WebCore::ScrollingStateScrollingNode::setScrollOrigin):
(WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters):
(WebCore::ScrollingStateScrollingNode::setFrameScaleFactor):
(WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
(WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
(WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
(WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
(WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
(WebCore::ScrollingStateScrollingNode::setHeaderHeight):
(WebCore::ScrollingStateScrollingNode::setFooterHeight):

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::create):
(WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
(WebCore::ScrollingStateStickyNode::clone):
(WebCore::ScrollingStateStickyNode::updateConstraints):

  • page/scrolling/ScrollingStateStickyNode.h:
  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::commit):
(WebCore::ScrollingStateTree::addNode):

  • page/scrolling/ScrollingStateTree.h:
  • page/scrolling/mac/ScrollingStateNodeMac.mm:

(WebCore::ScrollingStateNode::setScrollLayer):

  • page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:

(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
(WebCore::ScrollingStateScrollingNode::setHeaderLayer):
(WebCore::ScrollingStateScrollingNode::setFooterLayer):
(WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):

10:14 AM Changeset in webkit [161190] by Simon Fraser
  • 11 edits in trunk/Source/WebCore

Give ScrollingStateNodes a nodeType()
https://bugs.webkit.org/show_bug.cgi?id=126347

Reviewed by Tim Horton.

When we start serializing ScrollingStateNodes to send to the UI process,
it's more convenient if they have a nodeType member rather than virtual functions,
so give them one, and fix the casting macros to use it. This allows us to use
a switch() on node creation, so the compiler will tell us if we forgot to create
a node type.

  • page/scrolling/ScrollingStateFixedNode.cpp:

(WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode):

  • page/scrolling/ScrollingStateFixedNode.h:
  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::ScrollingStateNode):

  • page/scrolling/ScrollingStateNode.h: const ScrollingNodeType field

(can't be modified after construction), and move the m_scrollingStateTree
member after it (the awkward protected:/private: will be cleaned up in a later patch).
(WebCore::ScrollingStateNode::nodeType):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):

  • page/scrolling/ScrollingStateStickyNode.h:
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::updateTreeFromStateNode):

7:41 AM Changeset in webkit [161189] by Martin Robinson
  • 2 edits in trunk/Source/WebKit2

[GTK] [CMake] Fix the WEBKIT_SRC_DIR define when building the WebKit2 GObject API unit tests
https://bugs.webkit.org/show_bug.cgi?id=126350

Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/tests/CMakeLists.txt: Fix the define.
7:35 AM Changeset in webkit [161188] by Martin Robinson
  • 6 edits in trunk

[GTK] Rename libtestnetscapeplugin to libTestNetscapePlugin
https://bugs.webkit.org/show_bug.cgi?id=126349

Reviewed by Carlos Garcia Campos.

All CMake ports use "libTestNetscapePlugin," so choosing the same
name in the autotools port will make the transition easier.

Source/WebKit2:

  • UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:

(testWebContextGetPlugins): Use the new plugin library name.

Tools:

  • GNUmakefile.am: Rename the plugin library.

LayoutTests:

  • platform/gtk/plugins/plugin-javascript-access-expected.txt: Change the plugin name.
5:35 AM Changeset in webkit [161187] by ChangSeok Oh
  • 2 edits in trunk/Tools

[GTK][WK2] Back items are shown in reverse order in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=126354

Reviewed by Carlos Garcia Campos.

The latest visited site for backward history should be placed on the top of a history stack
as a common behavior. However currently its order is reverse.

  • MiniBrowser/gtk/BrowserWindow.c:

(browserWindowUpdateNavigationActions):

Dec 31, 2013:

5:08 PM Changeset in webkit [161186] by b.long@cablelabs.com
  • 2 edits in trunk/Source/WebKit2

[Gtk] WebKitWebInspector has build warnings due to uninitialized didChangeAttachedWidth member
https://bugs.webkit.org/show_bug.cgi?id=126353

Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitWebInspector.cpp:

(webkitWebInspectorCreate): Initialize didChangeAttachedWidth to null.

3:46 PM Changeset in webkit [161185] by aestes@apple.com
  • 115 edits
    1 copy
    1 add in trunk/Source/WebKit

[iOS] Upstream PLATFORM(IOS) changes to Source/WebKit/
https://bugs.webkit.org/show_bug.cgi?id=125746

Reviewed by David Kilzer.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj: Added WebDatabaseManagerInternal.h

and iOS.xcconfig.

Source/WebKit/ios:

  • WebCoreSupport/WebVisiblePosition.mm:

(-[WebVisiblePosition positionAtStartOrEndOfWord]): Changed a comment
to mention iOS rather than iPhone.

Source/WebKit/mac:

This is a straight upstreaming of the various PLATFORM(IOS) changes
made to Source/WebKit/ with the following modifications:

  • Includes of <Cocoa/Cocoa.h> were generally replaced with an include

of <Foundation/Foundation.h> followed by an include of
<AppKit/AppKit.h> on non-iOS platforms. This assumes that nobody was
relying on <Cocoa/Cocoa.h>'s inclusion of <CoreData/CoreData.h>.

  • Includes of <Cocoa/Cocoa.h> and <Foundation/Foundation.h> were

removed from files that include WebKitPrefix.h.

  • Instances of 'iPhone (OS)' in comments were replaced with 'iOS', and

other sensitive terms were elided.

  • Various PLATFORM(IOS) blocks were simplified. For instance:

#if !PLATFORM(IOS)
...
#endif
#if PLATFORM(IOS)
...
#endif

Was simplified to:

#if !PLATFORM(IOS)
...
#else
...
#endif

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/Version.xcconfig:
  • Configurations/WebKit.xcconfig:
  • Configurations/iOS.xcconfig: Added.
  • DOM/WebDOMOperations.mm:
  • DefaultDelegates/WebDefaultContextMenuDelegate.mm:
  • DefaultDelegates/WebDefaultEditingDelegate.m:
  • DefaultDelegates/WebDefaultPolicyDelegate.m:
  • DefaultDelegates/WebDefaultUIDelegate.h:
  • DefaultDelegates/WebDefaultUIDelegate.m:
  • History/WebBackForwardList.mm:
  • History/WebHistory.mm:
  • History/WebHistoryItem.mm:
  • History/WebURLsWithTitles.m:
  • Misc/WebCache.mm:
  • Misc/WebDownload.mm:
  • Misc/WebElementDictionary.mm:
  • Misc/WebIconDatabase.mm:
  • Misc/WebIconDatabaseInternal.h:
  • Misc/WebKitNSStringExtras.mm:
  • Misc/WebKitSystemBits.m:
  • Misc/WebKitVersionChecks.h:
  • Misc/WebKitVersionChecks.m:
  • Misc/WebLocalizableStrings.mm:
  • Misc/WebNSArrayExtras.h:
  • Misc/WebNSArrayExtras.m:
  • Misc/WebNSControlExtras.h:
  • Misc/WebNSControlExtras.m:
  • Misc/WebNSDictionaryExtras.h:
  • Misc/WebNSDictionaryExtras.m:
  • Misc/WebNSEventExtras.m:
  • Misc/WebNSFileManagerExtras.mm:
  • Misc/WebNSImageExtras.h:
  • Misc/WebNSImageExtras.m:
  • Misc/WebNSPasteboardExtras.mm:
  • Misc/WebNSPrintOperationExtras.h:
  • Misc/WebNSPrintOperationExtras.m:
  • Misc/WebNSURLExtras.mm:
  • Misc/WebNSViewExtras.m:
  • Misc/WebNSWindowExtras.m:
  • Panels/WebAuthenticationPanel.h:
  • Panels/WebAuthenticationPanel.m:
  • Panels/WebPanelAuthenticationHandler.m:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm:
  • Plugins/WebBasePluginPackage.h:
  • Plugins/WebBasePluginPackage.mm:
  • Plugins/WebJavaPlugIn.h:
  • Plugins/WebPluginContainerCheck.mm:
  • Plugins/WebPluginController.h:
  • Plugins/WebPluginController.mm:
  • Plugins/WebPluginDatabase.mm:
  • Plugins/WebPluginPackage.mm:
  • Plugins/WebPluginsPrivate.m:
  • Storage/WebDatabaseManager.mm:
  • Storage/WebDatabaseManagerClient.h:
  • Storage/WebDatabaseManagerClient.mm:
  • Storage/WebDatabaseManagerInternal.h: Added.
  • Storage/WebStorageManager.mm:
  • WebCoreSupport/CorrectionPanel.h:
  • WebCoreSupport/WebAlternativeTextClient.h:
  • WebCoreSupport/WebApplicationCache.mm:
  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:
  • WebCoreSupport/WebContextMenuClient.mm:
  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebCoreSupport/WebFrameNetworkingContext.h:
  • WebCoreSupport/WebFrameNetworkingContext.mm:
  • WebCoreSupport/WebGeolocationClient.h:
  • WebCoreSupport/WebGeolocationClient.mm:
  • WebCoreSupport/WebJavaScriptTextInputPanel.m:
  • WebCoreSupport/WebKeyGenerator.mm:
  • WebCoreSupport/WebNotificationClient.mm:
  • WebCoreSupport/WebOpenPanelResultListener.mm:
  • WebCoreSupport/WebSecurityOrigin.mm:
  • WebCoreSupport/WebSystemInterface.mm:
  • WebKitPrefix.h:
  • WebView/WebArchive.mm:
  • WebView/WebClipView.h:
  • WebView/WebDataSource.mm:
  • WebView/WebDelegateImplementationCaching.h:
  • WebView/WebDelegateImplementationCaching.mm:
  • WebView/WebDeviceOrientation.mm:
  • WebView/WebDocumentInternal.h:
  • WebView/WebDocumentLoaderMac.mm:
  • WebView/WebDynamicScrollBarsViewInternal.h:
  • WebView/WebFormDelegate.m:
  • WebView/WebFrame.mm:
  • WebView/WebFrameInternal.h:
  • WebView/WebFrameView.mm:
  • WebView/WebFullScreenController.h:
  • WebView/WebFullScreenController.mm:
  • WebView/WebHTMLRepresentation.mm:
  • WebView/WebHTMLView.mm:
  • WebView/WebHTMLViewInternal.h:
  • WebView/WebPDFDocumentExtras.h:
  • WebView/WebPDFDocumentExtras.mm:
  • WebView/WebPDFRepresentation.h:
  • WebView/WebPDFRepresentation.mm:
  • WebView/WebPDFView.h:
  • WebView/WebPDFView.mm:
  • WebView/WebPreferences.mm:
  • WebView/WebResource.mm:
  • WebView/WebTextCompletionController.h:
  • WebView/WebTextIterator.mm:
  • WebView/WebView.mm:
  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:
  • WebView/WebViewInternal.h:
8:40 AM Changeset in webkit [161184] by akling@apple.com
  • 37 edits in trunk/Source/WebCore

Out-of-line RenderStyle substructure copying helpers.
<https://webkit.org/b/126340>

This shrinks the .access() calls by moving memory allocation logic
out-of-line, though I'm really doing this to make Instruments.app
allocations output more readable.

Writes to e.g 'font' or 'color' will now be grouped under a single
StyleInheritedData::copy() call instead of being spread out over
setFontDescription(), setLineHeight(), setColor(), etc.

Reviewed by Anders Carlsson.

8:16 AM Changeset in webkit [161183] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderListItem should store its marker in a RenderPtr.
<https://webkit.org/b/126298>

Make RenderListItem::m_marker a RenderPtr<RenderListMarker> and
remove two manual destroy() calls. Tweaked code to reduce nesting.

Reviewed by Anders Carlsson.

8:14 AM Changeset in webkit [161182] by Martin Robinson
  • 8 edits in trunk

[GTK] Make the output directory of GObject unit tests binaries consistent with the CMake build
https://bugs.webkit.org/show_bug.cgi?id=126297

Reviewed by Philippe Normand.

Source/WebKit/gtk:

  • tests/GNUmakefile.am: Build the tests in the new directory.

Source/WebKit2:

  • UIProcess/API/gtk/tests/GNUmakefile.am: Build the tests in the new directory.
  • UIProcess/API/gtk/tests/TestInspectorServer.cpp:

(startTestServer): Update the search path to reflect the new directory.

  • UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:

(startTestServer): Update the search path to reflect the new directory.

Tools:

  • Scripts/run-gtk-tests: Looks for the tests in the new directories.

(TestRunner): Ditto.
(TestRunner._run_test): Ditto.

6:05 AM Changeset in webkit [161181] by akling@apple.com
  • 132 edits in trunk/Source/WebCore

Element's renderer factory should return RenderPtrs.
<https://webkit.org/b/126318>

Rename Element::createRenderer() to createElementRenderer() and have
it return RenderPtr<RenderElement>. Propagate signature until it
builds again.

We leakPtr() the renderer at two call sites when handing things over
to raw pointer API. This'll get tidied up in subsequent patches.

Reviewed by Sam Weinig.

2:26 AM Changeset in webkit [161180] by mark.lam@apple.com
  • 8 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Need a separate stack limit for the JS stack and the C stack.
https://bugs.webkit.org/show_bug.cgi?id=126320.

Not yet reviewed.

With this patch, we now accurately track how much JS stack space the
VM has used, and cap that at the value specified by Options::maxStackSize().

The JS stack space is measured in chunks, one for each VMEntryScope. Each
VMEntryScope will also keep a running total of the sum of all the stack
usage of previous VMEntryScopes to simplify the calculation of the total
usage.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • In Interpreter::execute() for programs, we were installing the VMEntryScope even if we end up only processing a JSON object. This poses a problem because the code that processes the JSON object will call functions that will re-enter the VM thereby installing another VMEntryScope. Each VMEntryScope expects VM.topCallFrame and VM.stackPointerAtVMEntry to be set up properly for the previous VMEntryScope. However, in this case, we've installed the VMEntryScope for a potential ProgramExecutable but never executed a program to initialize its values for VM.topCallFrame and VM.stackPointerAtVMEntry. This in turn causes a crash when the second VMEntryScope makes use of VM.topCallFrame.

The fix is simply to defer installation of the VMEntryScope for the

program till we are actually sure that we will attempt to execute a
program.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL(stack_check)):

  • In llint_stack_check(), we pop the frame that we failed to set up before throwing the StackOverflowError. Added an update of topCallFrame here to reflect this popping action.
  • llint/LowLevelInterpreter64.asm:
  • The VMEntryScope will have to calculate and set up a jsStackLimit value before we actually know what the stack pointer is at the point when we re-enter the VM. So, instead of using the real stackPointerAtVMEntry for the jsStackLimit calculation, we use an estimate.

doCallToJavaScript() here will set VM.stackPointerAtVMEntry to its

real value. But before it does that, it needs to adjust VM.jsStackLimit
by the delta between the estimate and the real stackPointerAtVMEntry.

  • If doCallToJavaScript() fails its stack check for incoming args, it also needs to clear VM.stackPointerAtVMEntry so that C code can assert that the various pointers into the stack remain consistent.

By consistent, I mean that, given that the stack grows down, and that
VM.stackPointerAtVMEntry and VM.topCallFrame are properly initialized,
then the following should always be true:

let topOfStack = VM.topCallFrame->topOfFrame();
stackPointerAtVMEntry >= topOfStack >= stack pointer in a C helper function

and

JSStack.containsAddress(stackPointerAtVMEntry)

and

JSStack.containsAddress(topOfStack)

Clearing VM.stackPointerAtVMEntry, if the stack check in doCallToJavaScript()
fails, indicates we failed to enter the current VMEntryScope and that we
should be using the previous VMEntryScope's stackPointerAtVMEntry and
topCallFrame for the above assertions.

NOTE: These assertions are done in VMEntryScope::updateStackLimits().

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):
(JSC::VMEntryScope::stackUsageFor):
(JSC::VMEntryScope::updateStackLimits):
(JSC::VMEntryScope::currentStackPointer):
(JSC::VMEntryScope::requiredCapacity):

  • requiredCapacity() now computes the excess amount C stack capacity that we have available, and discount it in the computation of the JS stack limit. By excess, I mean the amount of unused C stack space that exceeds the amount of unused JS stack space capacity.
  • runtime/VMEntryScope.h:
12:34 AM Changeset in webkit [161179] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[SOUP] Return early in ResourceHandle::receivedCancellation if the load has already cancelled
https://bugs.webkit.org/show_bug.cgi?id=126287

Reviewed by Martin Robinson.

This situation can happen when using the network process, because
the ReceivedCancellation message can be received when the resource
loader has already been removed, but the authentication challenge
still has a reference to the ResourceHandleClient.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::receivedCancellation):

12:32 AM Changeset in webkit [161178] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[SOUP] The initiating page is lost after a redirection
https://bugs.webkit.org/show_bug.cgi?id=126293

Reviewed by Martin Robinson.

The initiating page id is attached to the initial soup request
object, but not to the one created after a redirection.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::createSoupRequestAndMessageForHandle): Call
setSoupRequestInitiatingPageIDFromNetworkingContext() here if the
soup request is created successfully.
(WebCore::ResourceHandle::start): Remove the call to
setSoupRequestInitiatingPageIDFromNetworkingContext().

12:30 AM Changeset in webkit [161177] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[SOUP] Implement ResourceHandle::continueWillSendRequest()
https://bugs.webkit.org/show_bug.cgi?id=126291

Reviewed by Martin Robinson.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::continueAfterWillSendRequest): Helper function that
continues with the load after willSendRequest has been called.
(WebCore::doRedirect): Call continueAfterWillSendRequest() when
client doesn't use async callbacks.
(WebCore::ResourceHandle::continueWillSendRequest): Call
continueAfterWillSendRequest().

12:28 AM Changeset in webkit [161176] by Carlos Garcia Campos
  • 4 edits in trunk/Source

[SOUP] willSendRequest doesn't work after a redirect
https://bugs.webkit.org/show_bug.cgi?id=126290

Reviewed by Martin Robinson.

Source/WebCore:

The problem is that we are creating the new soup request for the
redirect before calling ResourceHandleClient::willSendRequest() so
that any change made to the request by the client is ignored.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::doRedirect): Create the new soup request and soup
message for the redirect after calling willSendRequest() on the
client.

Source/WebKit2:

Add test cases to test send-request signal in case of
redirection.

  • UIProcess/API/gtk/tests/TestResources.cpp:

(testWebResourceSendRequest):
(serverCallback):

Dec 30, 2013:

11:39 PM Changeset in webkit [161175] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack: the GC should not be assuming any limit on the stack size.
https://bugs.webkit.org/show_bug.cgi?id=126335.

Not yet reviewed.

  • heap/ConservativeRoots.cpp:

(JSC::ConservativeRoots::genericAddSpan):

11:22 PM Changeset in webkit [161174] by mark.lam@apple.com
  • 6 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Introduce tracking of the top VMEntryScope.
https://bugs.webkit.org/show_bug.cgi?id=126334.

Not yet reviewed.

When we start measuring the stack usage of each VMEntryScope, we'll need
to know which VMEntryScope is the top (most recent) one, not just the
first one.

Also, for correctness, in JSStack::updateStackLimit(), when we set a new
jsStackLimit, we should set it on the top VMEntryScope, and not on the
first (oldest) one. This is because the 2 scopes may be on 2 different
thread stacks, and the most present stack limits only apply to the most
recent scope. That said, presently, VMEntryScope::updateStackLimits()
does not rely on any scope specific data yet. So, calling updateStackLimits()
on the oldest VMEntryScope hasn't manifested any issues yet. Regardless,
this is now fixed.

  • interpreter/JSStack.cpp:

(JSC::JSStack::updateStackLimit):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):

  • runtime/VMEntryScope.h:
10:54 PM Changeset in webkit [161173] by commit-queue@webkit.org
  • 13 edits
    5 adds in trunk/Source

Unreviewed, rolling out r161157, r161158, r161160, r161161,
r161163, and r161165.
http://trac.webkit.org/changeset/161157
http://trac.webkit.org/changeset/161158
http://trac.webkit.org/changeset/161160
http://trac.webkit.org/changeset/161161
http://trac.webkit.org/changeset/161163
http://trac.webkit.org/changeset/161165
https://bugs.webkit.org/show_bug.cgi?id=126332

Broke WebKit2 on Mountain Lion (Requested by ap on #webkit).

Source/JavaScriptCore:

  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::~BlockAllocator):
(JSC::BlockAllocator::waitForRelativeTimeWhileHoldingLock):
(JSC::BlockAllocator::waitForRelativeTime):
(JSC::BlockAllocator::blockFreeingThreadMain):

  • heap/BlockAllocator.h:

(JSC::BlockAllocator::deallocate):

Source/WebKit2:

  • Platform/IPC/Connection.cpp:

(IPC::Connection::SyncMessageState::wait):
(IPC::Connection::sendSyncMessageFromSecondaryThread):
(IPC::Connection::waitForSyncReply):

Source/WTF:

  • GNUmakefile.list.am:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Forward.h:
  • wtf/PlatformWin.cmake:
  • wtf/threads/BinarySemaphore.cpp: Added.

(WTF::BinarySemaphore::BinarySemaphore):
(WTF::BinarySemaphore::~BinarySemaphore):
(WTF::BinarySemaphore::signal):
(WTF::BinarySemaphore::wait):

  • wtf/threads/BinarySemaphore.h: Added.

(WTF::BinarySemaphore::event):

  • wtf/threads/win/BinarySemaphoreWin.cpp: Added.

(WTF::BinarySemaphore::BinarySemaphore):
(WTF::BinarySemaphore::~BinarySemaphore):
(WTF::BinarySemaphore::signal):
(WTF::BinarySemaphore::wait):

10:49 PM Changeset in webkit [161172] by mark.lam@apple.com
  • 5 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Refactor to split the tracking of the jsStackLimit from the native stackLimit.
https://bugs.webkit.org/show_bug.cgi?id=126331.

Not yet reviewed.

Previously, when using the C stack for the JS stack, VM::m_jsStackLimit is a union
with VM::m_stackLimit. We now separate them into 2 distinct fields but haven't yet
changed the computation of the limit values to set them with.

  • interpreter/JSStack.cpp:

(JSC::JSStack::updateStackLimit):

  • runtime/VM.h:
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):
(JSC::VMEntryScope::updateStackLimits):
(JSC::VMEntryScope::requiredCapacity):

  • runtime/VMEntryScope.h:
10:32 PM Changeset in webkit [161171] by ap@apple.com
  • 4 edits in trunk/Tools

full_results.json should distinguish unexpected failures from expected ones
https://bugs.webkit.org/show_bug.cgi?id=126300

Reviewed by Timothy Hatcher.

  • Scripts/webkitpy/layout_tests/models/test_run_results.py:

(summarize_results): Add "report" element to JSON, which tells the consumer how
this result was counted for summary.

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

Updated results to include the new element.

  • Scripts/webkitpy/layout_tests/views/buildbot_results.py:

(print_unexpected_results): Added a comment pointing to another place that
summarizes results, and should stay in sync.

9:41 PM Changeset in webkit [161170] by mark.lam@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Fix JSStack::ensureCapacity() to match LLINT and JIT stack checks.
https://bugs.webkit.org/show_bug.cgi?id=126328.

Not yet reviewed.

Also removed the now unused JSSTack::topOfStackForCapacityCheck().

  • interpreter/JSStack.h:
  • interpreter/JSStackInlines.h:

(JSC::JSStack::ensureCapacityFor):

9:18 PM Changeset in webkit [161169] by mark.lam@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Introducing Options::maxStackSize().
https://bugs.webkit.org/show_bug.cgi?id=126321.

Not yet reviewed.

We need an option to limit the JS stack size. Currently, we just change
the JSStack class to use this limit.

  • interpreter/JSStack.cpp:

(JSC::JSStack::JSStack):

  • interpreter/JSStack.h:
  • runtime/Options.h:
8:46 PM Changeset in webkit [161168] by roger_fong@apple.com
  • 2 edits in trunk/WebKitLibraries

[Windows] Disable some annoying build warnings.

  • win/tools/vsprops/common.props:
7:02 PM Changeset in webkit [161167] by akling@apple.com
  • 18 edits in trunk/Source/WebCore

InputType should return input renderers wrapped in RenderPtr.
<https://webkit.org/b/126307>

Rename InputType::createRenderer() to createInputRenderer() and
make it return RenderPtr<RenderElement>. Also made it non-const.

Reviewed by Anders Carlsson.

6:58 PM Changeset in webkit [161166] by gyuyoung.kim@samsung.com
  • 11 edits in trunk/Source

Cleanup static_cast<HTMLFormElement*> by using toHTMLFormElement()
https://bugs.webkit.org/show_bug.cgi?id=126309

Reviewed by Andreas Kling.

To detect bad type casts, it would be good to use toHTMLFormElement() instead of
using manual type cast. Additionally FORM_ASSOCIATED_ELEMENT_TYPE_CASTS is introduced newly
to do it.

Source/WebCore:

No new tests, no behavior changes.

  • html/FormAssociatedElement.h:
  • html/HTMLFormControlElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::submitImplicitly):
(WebCore::HTMLFormElement::validateInteractively):
(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::reset):
(WebCore::HTMLFormElement::defaultButton):
(WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
(WebCore::HTMLFormElement::documentDidResumeFromPageCache):

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

Source/WebKit/blackberry:

  • WebCoreSupport/CredentialTransformData.cpp:

(WebCore::CredentialTransformData::findPasswordFormFields):

  • WebKitSupport/DOMSupport.cpp:

(BlackBerry::WebKit::DOMSupport::toTextControlElement):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::updateFormState):
(BlackBerry::WebKit::InputHandler::submitForm):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::elementWithName):

6:14 PM Changeset in webkit [161165] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the test failures seen on the bots.

Restore the BinarySemaphore behavior that existed in the old binary semaphore.

  • Platform/IPC/Connection.cpp:

(IPC::BinarySemaphore::wait):

6:05 PM Changeset in webkit [161164] by andersca@apple.com
  • 8 edits in trunk/Source

Replace yield() and pauseBriefly() with std::this_thread::yield()
https://bugs.webkit.org/show_bug.cgi?id=126105

Reviewed by Sam Weinig.

Source/WebCore:

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::interrupt):

Source/WTF:

  • wtf/ByteSpinLock.h:

(WTF::ByteSpinLock::lock):

  • wtf/Threading.h:
  • wtf/ThreadingPrimitives.h:
  • wtf/ThreadingPthreads.cpp:
  • wtf/ThreadingWin.cpp:
5:46 PM Changeset in webkit [161163] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix build.

  • heap/BlockAllocator.h:
5:37 PM Changeset in webkit [161162] by weinig@apple.com
  • 2 edits in trunk/Source/WTF

Remove unnecessary non-const overload in IteratorPair
https://bugs.webkit.org/show_bug.cgi?id=126314

Reviewed by Anders Carlsson.

  • wtf/IteratorPair.h:
5:22 PM Changeset in webkit [161161] by andersca@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Stop using ThreadCondition in BlockAllocator
https://bugs.webkit.org/show_bug.cgi?id=126313

Reviewed by Sam Weinig.

  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::~BlockAllocator):
(JSC::BlockAllocator::waitForDuration):
(JSC::BlockAllocator::blockFreeingThreadMain):

  • heap/BlockAllocator.h:

(JSC::BlockAllocator::deallocate):

4:31 PM Changeset in webkit [161160] by weinig@apple.com
  • 8 edits
    1 delete in trunk/Source/WTF

Remove WTF's BinarySemaphore
https://bugs.webkit.org/show_bug.cgi?id=126310

Reviewed by Anders Carlsson.

It's unused. Also remove the now empty wtf/threads directory.

  • GNUmakefile.list.am:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Forward.h:
  • wtf/PlatformWin.cmake:
  • wtf/threads: Removed.
  • wtf/threads/BinarySemaphore.cpp: Removed.
  • wtf/threads/BinarySemaphore.h: Removed.
  • wtf/threads/win: Removed.
  • wtf/threads/win/BinarySemaphoreWin.cpp: Removed.
4:30 PM Changeset in webkit [161159] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Stop using ThreadCondition in jsc.cpp
https://bugs.webkit.org/show_bug.cgi?id=126311

Reviewed by Sam Weinig.

  • jsc.cpp:

(timeoutThreadMain):
(main):

3:57 PM Changeset in webkit [161158] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::plugInDidStartFromOrigin):

3:46 PM Changeset in webkit [161157] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Move more of Connection over to STL threading primitives
https://bugs.webkit.org/show_bug.cgi?id=126308

Reviewed by Andreas Kling.

  • Platform/IPC/Connection.cpp:

(IPC::BinarySemaphore::BinarySemaphore):
(IPC::BinarySemaphore::~BinarySemaphore):
(IPC::BinarySemaphore::signal):
(IPC::BinarySemaphore::wait):
Add a new BinarySemaphore class that uses STL threading primitives.

(IPC::Connection::SyncMessageState::wait):
Change this to take a std::chrono::steady_clock::time_point.

(IPC::absoluteTimeoutTime):
Add a new helper function that returns a time point from the a given timeout duration,
correctly handling the max duration.

(IPC::Connection::sendSyncMessageFromSecondaryThread):
Pass a time point to SyncMessageState::wait.

(IPC::Connection::waitForSyncReply):
Ditto.

3:34 PM Changeset in webkit [161156] by ryuan.choi@samsung.com
  • 60 edits in trunk

Replace remaning CoreIPC namespace to IPC
https://bugs.webkit.org/show_bug.cgi?id=126305

Reviewed by Anders Carlsson.

Source/WebKit2:

This patch replaces CoreIPC to IPC in build scripts and source codes to fix
build break on CMake based ports and Gtk (and maybe IOS).

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Platform/IPC/unix/AttachmentUnix.cpp:
  • Platform/IPC/unix/ConnectionUnix.cpp:
  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::Handle::encode):
(WebKit::SharedMemory::Handle::decode):
(WebKit::SharedMemory::Handle::releaseToAttachment):

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  • Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:

(WebKit::WebCoordinatedSurface::Handle::encode):
(WebKit::WebCoordinatedSurface::Handle::decode):

  • Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::downloadFailed):
(WebKit::Download::cancel):

  • Shared/WebBatteryStatus.cpp:

(WebKit::WebBatteryStatus::Data::encode):
(WebKit::WebBatteryStatus::Data::decode):

  • Shared/WebBatteryStatus.h:
  • Shared/WebNetworkInfo.cpp:

(WebKit::WebNetworkInfo::Data::encode):
(WebKit::WebNetworkInfo::Data::decode):

  • Shared/WebNetworkInfo.h:
  • Shared/cairo/LayerTreeContextCairo.cpp:

(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):

  • Shared/efl/LayerTreeContextEfl.cpp:

(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):

  • Shared/gtk/ArgumentCodersGtk.cpp:
  • Shared/gtk/ArgumentCodersGtk.h:
  • Shared/gtk/LayerTreeContextGtk.cpp:

(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):

  • Shared/ios/WebPlatformTouchPointIOS.cpp:

(WebKit::WebPlatformTouchPoint::encode):
(WebKit::WebPlatformTouchPoint::decode):

  • Shared/ios/WebTouchEventIOS.cpp:

(WebKit::WebTouchEvent::encode):
(WebKit::WebTouchEvent::decode):

  • Shared/linux/SeccompFilters/OpenSyscall.cpp:

(WebKit::OpenSyscall::encode):
(WebKit::OpenSyscall::decode):
(WebKit::OpenSyscallResult::encode):
(WebKit::OpenSyscallResult::decode):

  • Shared/linux/SeccompFilters/OpenSyscall.h:
  • Shared/linux/SeccompFilters/SeccompBroker.cpp:

(WebKit::SeccompBrokerClient::dispatch):
(WebKit::SeccompBroker::runLoop):

  • Shared/linux/SeccompFilters/Syscall.cpp:

(WebKit::Syscall::createFromDecoder):
(WebKit::SyscallResult::createFromDecoder):

  • Shared/linux/SeccompFilters/Syscall.h:
  • Shared/soup/WebCoreArgumentCodersSoup.cpp:

(IPC::ArgumentCoder<CertificateInfo>::encode):
(IPC::ArgumentCoder<CertificateInfo>::decode):

  • UIProcess/API/ios/PageClientImplIOS.h:
  • UIProcess/API/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):

  • UIProcess/API/mac/PDFViewController.h:
  • UIProcess/API/mac/PDFViewController.mm:

(WebKit::convertPostScriptDataSourceToPDF):
(WebKit::PDFViewController::setPDFDocumentData):

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • UIProcess/DrawingAreaProxyImpl.h:
  • UIProcess/WebBatteryManagerProxy.h:
  • UIProcess/WebNetworkInfoManagerProxy.h:
  • UIProcess/WebVibrationProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
(WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
(WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):

  • UIProcess/soup/WebSoupRequestManagerProxy.h:
  • WebProcess/Battery/WebBatteryManager.h:
  • WebProcess/NetworkInfo/WebNetworkInfoManager.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:

(WebKit::CoordinatedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/DrawingAreaImpl.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::registerUIProcessAccessibilityTokens):

  • WebProcess/ios/WebProcessIOS.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

  • WebProcess/soup/WebSoupRequestManager.cpp:

(WebKit::WebSoupRequestManager::didHandleURIRequest):
(WebKit::WebSoupRequestManager::didReceiveURIRequestData):

  • WebProcess/soup/WebSoupRequestManager.h:
  • WebProcess/soup/WebSoupRequestManager.messages.in:

Tools:

  • TestWebKitAPI/CMakeLists.txt: Replaced CoreIPC includes to IPC.
  • TestWebKitAPI/efl/PlatformWebView.cpp: Removed temporal define for IPC.
  • WebKitTestRunner/CMakeLists.txt: Replaced CoreIPC includes to IPC.
  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp: Removed temporal define for IPC.
2:58 PM Changeset in webkit [161155] by b.long@cablelabs.com
  • 2 edits in trunk/Tools

Add myself to the committers list.

Unreviewed.

Patch by Brendan Long <self@brendanlong.com> on 2013-12-30

  • Scripts/webkitpy/common/config/contributors.json:
2:49 PM Changeset in webkit [161154] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix attempt on GTK port after 161152

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::WebEditorClient::getEditorCommandsForKeyEvent):

2:40 PM Changeset in webkit [161153] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

Rename createRenderObject() to createRenderer().

Somewhat rubber-stamped by Antti Koivisto.

1:43 PM Changeset in webkit [161152] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

Use std::chrono::milliseconds for all IPC message timeouts
https://bugs.webkit.org/show_bug.cgi?id=126303

Reviewed by Andreas Kling.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::sendSyncMessage):
(IPC::Connection::sendSyncMessageFromSecondaryThread):
(IPC::Connection::waitForSyncReply):

  • Platform/IPC/Connection.h:

(IPC::Connection::sendSync):

  • Platform/IPC/MessageSender.h:

(IPC::MessageSender::sendSync):

  • Shared/ChildProcessProxy.h:

(WebKit::ChildProcessProxy::sendSync):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::stringSelectionForPasteboard):
(WebKit::WebPageProxy::dataSelectionForPasteboard):
(WebKit::WebPageProxy::readSelectionFromPasteboard):
(WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent):
(WebKit::WebPageProxy::acceptsFirstMouse):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::postSynchronousMessage):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::createInspectorPage):

1:05 PM Changeset in webkit [161151] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Document should store its RenderView in a RenderPtr.
<https://webkit.org/b/126299>

Make Document::m_renderView a RenderPtr<RenderView> and remove one
manual destroy() call. Also removed the setRenderView() helper and
inlined it at the two call sites.

Reviewed by Antti Koivisto.

12:54 PM Changeset in webkit [161150] by andersca@apple.com
  • 1 edit
    1 delete in trunk/Source/WebKit2

Remove empty directories.

  • Platform/CoreIPC: Removed.
  • Platform/CoreIPC/mac: Removed.
  • Platform/CoreIPC/unix: Removed.
12:45 PM Changeset in webkit [161149] by roger_fong@apple.com
  • 2 edits in trunk/Source/WTF

[Windows] Unreviewed build fix following r160959.

  • wtf/Platform.h:
12:20 PM Changeset in webkit [161148] by andersca@apple.com
  • 302 edits in trunk/Source/WebKit2

Move code over to the IPC namespace.

Rubber-stamped by Andreas Kling.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::initializeConnection):
(WebKit::DatabaseProcess::didClose):
(WebKit::DatabaseProcess::didReceiveInvalidMessage):
(WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):

  • DatabaseProcess/DatabaseProcess.h:
  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::create):
(WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
(WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
(WebKit::DatabaseToWebProcessConnection::didClose):
(WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):

  • DatabaseProcess/DatabaseToWebProcessConnection.h:

(WebKit::DatabaseToWebProcessConnection::connection):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::messageSenderConnection):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • NetworkProcess/AsynchronousNetworkLoaderClient.cpp:

(WebKit::AsynchronousNetworkLoaderClient::willSendRequest):
(WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::create):
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):

  • NetworkProcess/NetworkConnectionToWebProcess.h:

(WebKit::NetworkConnectionToWebProcess::connection):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didReceiveSyncMessage):
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::didReceiveInvalidMessage):
(WebKit::NetworkProcess::downloadProxyConnection):
(WebKit::NetworkProcess::initializeConnection):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::messageSenderConnection):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/mac/DiskCacheMonitor.h:
  • NetworkProcess/mac/DiskCacheMonitor.mm:

(WebKit::DiskCacheMonitor::messageSenderConnection):

  • Platform/IPC/ArgumentCoder.h:
  • Platform/IPC/ArgumentCoders.cpp:
  • Platform/IPC/ArgumentCoders.h:
  • Platform/IPC/ArgumentDecoder.cpp:
  • Platform/IPC/ArgumentDecoder.h:
  • Platform/IPC/ArgumentEncoder.cpp:
  • Platform/IPC/ArgumentEncoder.h:
  • Platform/IPC/Arguments.h:
  • Platform/IPC/Attachment.cpp:
  • Platform/IPC/Attachment.h:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::Connection):

  • Platform/IPC/Connection.h:
  • Platform/IPC/HandleMessage.h:
  • Platform/IPC/MessageDecoder.cpp:
  • Platform/IPC/MessageDecoder.h:
  • Platform/IPC/MessageEncoder.cpp:
  • Platform/IPC/MessageEncoder.h:
  • Platform/IPC/MessageFlags.h:
  • Platform/IPC/MessageReceiver.h:
  • Platform/IPC/MessageReceiverMap.cpp:
  • Platform/IPC/MessageReceiverMap.h:
  • Platform/IPC/mac/ConnectionMac.cpp:
  • Platform/IPC/mac/ImportanceAssertion.h:
  • Platform/IPC/mac/MachPort.h:
  • Platform/SharedMemory.h:
  • Platform/mac/SharedMemoryMac.cpp:

(WebKit::SharedMemory::Handle::encode):
(WebKit::SharedMemory::Handle::decode):

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::streamDidReceiveData):
(WebKit::PluginControllerProxy::manualStreamDidReceiveData):

  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginControllerProxy.messages.in:
  • PluginProcess/PluginCreationParameters.cpp:

(WebKit::PluginCreationParameters::encode):
(WebKit::PluginCreationParameters::decode):

  • PluginProcess/PluginCreationParameters.h:
  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::didReceiveMessage):
(WebKit::PluginProcess::didClose):
(WebKit::PluginProcess::didReceiveInvalidMessage):
(WebKit::PluginProcess::createWebProcessConnection):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::create):
(WebKit::WebProcessConnection::WebProcessConnection):
(WebKit::WebProcessConnection::setGlobalException):
(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):
(WebKit::WebProcessConnection::didClose):
(WebKit::WebProcessConnection::didReceiveInvalidMessage):

  • PluginProcess/WebProcessConnection.h:

(WebKit::WebProcessConnection::connection):

  • PluginProcess/mac/PluginControllerProxyMac.mm:

(WebKit::PluginControllerProxy::setComplexTextInputState):

  • Scripts/webkit2/messages.py:

(arguments_type_old):
(message_to_struct_declaration):
(forward_declarations_and_headers):
(generate_messages_header):
(async_message_statement):
(sync_message_statement):
(headers_for_type):
(generate_message_handler):

  • Scripts/webkit2/messages_unittest.py:

(IPC):
(std):

  • Shared/API/Cocoa/RemoteObjectRegistry.h:
  • Shared/APIGeometry.cpp:

(API::Point::encode):
(API::Point::decode):
(API::Size::encode):
(API::Size::decode):
(API::Rect::encode):
(API::Rect::decode):

  • Shared/APIGeometry.h:
  • Shared/APINumber.h:

(API::Number::encode):
(API::Number::decode):

  • Shared/Authentication/AuthenticationManager.h:
  • Shared/ChildProcess.cpp:

(WebKit::didCloseOnConnectionWorkQueue):
(WebKit::ChildProcess::initialize):
(WebKit::ChildProcess::initializeConnection):
(WebKit::ChildProcess::addMessageReceiver):
(WebKit::ChildProcess::removeMessageReceiver):
(WebKit::ChildProcess::messageSenderConnection):

  • Shared/ChildProcess.h:

(WebKit::ChildProcess::parentProcessConnection):
(WebKit::ChildProcess::messageReceiverMap):

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::fromConnection):
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::addMessageReceiver):
(WebKit::ChildProcessProxy::removeMessageReceiver):
(WebKit::ChildProcessProxy::dispatchMessage):
(WebKit::ChildProcessProxy::dispatchSyncMessage):
(WebKit::ChildProcessProxy::didFinishLaunching):
(WebKit::ChildProcessProxy::connectionWillOpen):
(WebKit::ChildProcessProxy::connectionWillClose):

  • Shared/ChildProcessProxy.h:

(WebKit::ChildProcessProxy::connection):
(WebKit::ChildProcessProxy::send):

  • Shared/ChildProcessSupplement.h:

(WebKit::ChildProcessSupplement::initializeConnection):

  • Shared/ConnectionStack.h:

(WebKit::ConnectionStack::current):
(WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):

  • Shared/CoreIPCSupport/WebContextMessageKinds.h:

(WebContextLegacyMessages::messageReceiverName):
(WebContextLegacyMessages::postMessageMessageName):
(WebContextLegacyMessages::postSynchronousMessageMessageName):

  • Shared/Databases/DatabaseProcessCreationParameters.cpp:

(WebKit::DatabaseProcessCreationParameters::encode):
(WebKit::DatabaseProcessCreationParameters::decode):

  • Shared/Databases/DatabaseProcessCreationParameters.h:
  • Shared/DictionaryPopupInfo.cpp:

(WebKit::DictionaryPopupInfo::encode):
(WebKit::DictionaryPopupInfo::decode):

  • Shared/DictionaryPopupInfo.h:
  • Shared/Downloads/Download.cpp:

(WebKit::Download::didFail):
(WebKit::Download::didCancel):
(WebKit::Download::messageSenderConnection):

  • Shared/Downloads/Download.h:
  • Shared/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::downloadProxyConnection):

  • Shared/Downloads/DownloadManager.h:
  • Shared/Downloads/mac/DownloadMac.mm:

(WebKit::Download::cancel):
(-[WKDownloadAsDelegate download:didFailWithError:]):

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode):
(WebKit::EditorState::decode):

  • Shared/EditorState.h:
  • Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
  • Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm:

(WebKit::ChildProcessMainDelegate::getConnectionIdentifier):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:

(WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier):

  • Shared/FileAPI/BlobRegistrationData.cpp:

(WebKit::BlobRegistrationData::encode):
(WebKit::BlobRegistrationData::decode):

  • Shared/FileAPI/BlobRegistrationData.h:
  • Shared/FontInfo.cpp:

(WebKit::FontInfo::encode):
(WebKit::FontInfo::decode):

  • Shared/FontInfo.h:
  • Shared/LayerTreeContext.h:
  • Shared/Network/CustomProtocols/CustomProtocolManager.h:
  • Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
  • Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:

(WebKit::CustomProtocolManager::initializeConnection):
(WebKit::CustomProtocolManager::didLoadData):

  • Shared/Network/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • Shared/Network/NetworkProcessCreationParameters.h:
  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):

  • Shared/Network/NetworkResourceLoadParameters.h:
  • Shared/OriginAndDatabases.cpp:

(WebKit::OriginAndDatabases::encode):
(WebKit::OriginAndDatabases::decode):

  • Shared/OriginAndDatabases.h:
  • Shared/PlatformPopupMenuData.cpp:

(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):

  • Shared/PlatformPopupMenuData.h:
  • Shared/Plugins/NPIdentifierData.cpp:

(WebKit::NPIdentifierData::encode):
(WebKit::NPIdentifierData::decode):

  • Shared/Plugins/NPIdentifierData.h:
  • Shared/Plugins/NPObjectMessageReceiver.h:
  • Shared/Plugins/NPRemoteObjectMap.cpp:

(WebKit::NPRemoteObjectMap::create):
(WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):

  • Shared/Plugins/NPRemoteObjectMap.h:

(WebKit::NPRemoteObjectMap::connection):

  • Shared/Plugins/NPVariantData.cpp:

(WebKit::NPVariantData::encode):
(WebKit::NPVariantData::decode):

  • Shared/Plugins/NPVariantData.h:
  • Shared/Plugins/PluginProcessCreationParameters.cpp:

(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):

  • Shared/Plugins/PluginProcessCreationParameters.h:
  • Shared/PrintInfo.cpp:

(WebKit::PrintInfo::encode):
(WebKit::PrintInfo::decode):

  • Shared/PrintInfo.h:
  • Shared/SandboxExtension.h:

(WebKit::SandboxExtension::Handle::encode):
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::HandleArray::encode):
(WebKit::SandboxExtension::HandleArray::decode):

  • Shared/SecurityOriginData.cpp:

(WebKit::SecurityOriginData::encode):
(WebKit::SecurityOriginData::decode):

  • Shared/SecurityOriginData.h:
  • Shared/SessionState.cpp:

(WebKit::SessionState::encode):
(WebKit::SessionState::decode):

  • Shared/SessionState.h:
  • Shared/ShareableBitmap.cpp:

(WebKit::ShareableBitmap::Handle::encode):
(WebKit::ShareableBitmap::Handle::decode):

  • Shared/ShareableBitmap.h:
  • Shared/ShareableResource.cpp:

(WebKit::ShareableResource::Handle::encode):
(WebKit::ShareableResource::Handle::decode):

  • Shared/ShareableResource.h:
  • Shared/StatisticsData.cpp:

(WebKit::StatisticsData::encode):
(WebKit::StatisticsData::decode):

  • Shared/StatisticsData.h:
  • Shared/TextCheckerState.h:
  • Shared/UpdateInfo.cpp:

(WebKit::UpdateInfo::encode):
(WebKit::UpdateInfo::decode):

  • Shared/UpdateInfo.h:
  • Shared/UserData.cpp:

(WebKit::UserData::encode):
(WebKit::UserData::decode):

  • Shared/UserData.h:
  • Shared/UserMessageCoders.h:

(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):

  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::encode):
(WebKit::WebBackForwardListItem::decode):

  • Shared/WebBackForwardListItem.h:
  • Shared/WebConnection.cpp:

(WebKit::WebConnection::postMessage):
(WebKit::WebConnection::didReceiveMessage):
(WebKit::WebConnection::handleMessage):

  • Shared/WebConnection.h:
  • Shared/WebContextMenuItemData.cpp:

(WebKit::WebContextMenuItemData::encode):
(WebKit::WebContextMenuItemData::decode):

  • Shared/WebContextMenuItemData.h:
  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebEvent.cpp:

(WebKit::WebEvent::encode):
(WebKit::WebEvent::decode):

  • Shared/WebEvent.h:
  • Shared/WebGeolocationPosition.cpp:

(WebKit::WebGeolocationPosition::Data::encode):
(WebKit::WebGeolocationPosition::Data::decode):

  • Shared/WebGeolocationPosition.h:
  • Shared/WebHitTestResult.cpp:

(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):

  • Shared/WebHitTestResult.h:
  • Shared/WebKeyboardEvent.cpp:

(WebKit::WebKeyboardEvent::encode):
(WebKit::WebKeyboardEvent::decode):

  • Shared/WebMouseEvent.cpp:

(WebKit::WebMouseEvent::encode):
(WebKit::WebMouseEvent::decode):

  • Shared/WebNavigationDataStore.h:

(WebKit::WebNavigationDataStore::encode):
(WebKit::WebNavigationDataStore::decode):

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • Shared/WebPageGroupData.cpp:

(WebKit::WebPageGroupData::encode):
(WebKit::WebPageGroupData::decode):

  • Shared/WebPageGroupData.h:
  • Shared/WebPlatformTouchPoint.cpp:

(WebKit::WebPlatformTouchPoint::encode):
(WebKit::WebPlatformTouchPoint::decode):

  • Shared/WebPopupItem.cpp:

(WebKit::WebPopupItem::encode):
(WebKit::WebPopupItem::decode):

  • Shared/WebPopupItem.h:
  • Shared/WebPreferencesStore.cpp:

(WebKit::WebPreferencesStore::encode):
(WebKit::WebPreferencesStore::decode):

  • Shared/WebPreferencesStore.h:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • Shared/WebSerializedScriptValue.h:

(WebKit::WebSerializedScriptValue::dataReference):

  • Shared/WebTouchEvent.cpp:

(WebKit::WebTouchEvent::encode):
(WebKit::WebTouchEvent::decode):

  • Shared/WebWheelEvent.cpp:

(WebKit::WebWheelEvent::encode):
(WebKit::WebWheelEvent::decode):

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::encode):
(IPC::decode):

  • Shared/cf/ArgumentCodersCF.h:
  • Shared/mac/ArgumentCodersMac.h:
  • Shared/mac/ArgumentCodersMac.mm:

(IPC::encode):
(IPC::decode):

  • Shared/mac/AttributedString.h:
  • Shared/mac/AttributedString.mm:

(WebKit::AttributedString::encode):
(WebKit::AttributedString::decode):

  • Shared/mac/ColorSpaceData.h:
  • Shared/mac/ColorSpaceData.mm:

(WebKit::ColorSpaceData::encode):
(WebKit::ColorSpaceData::decode):

  • Shared/mac/LayerTreeContextMac.mm:

(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):

  • Shared/mac/ObjCObjectGraphCoders.h:
  • Shared/mac/ObjCObjectGraphCoders.mm:

(WebKit::ObjCObjectGraphEncoder::baseEncode):
(WebKit::ObjCObjectGraphDecoder::baseDecode):
(WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
(WebKit::WebContextObjCObjectGraphEncoder::encode):
(WebKit::WebContextObjCObjectGraphDecoder::decode):
(WebKit::InjectedBundleObjCObjectGraphEncoder::encode):
(WebKit::InjectedBundleObjCObjectGraphDecoder::decode):

  • Shared/mac/RemoteLayerBackingStore.h:
  • Shared/mac/RemoteLayerBackingStore.mm:

(RemoteLayerBackingStore::encode):
(RemoteLayerBackingStore::decode):

  • Shared/mac/RemoteLayerTreeTransaction.h:
  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):

  • Shared/mac/SandboxExtensionMac.mm:

(WebKit::SandboxExtension::Handle::encode):
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::HandleArray::encode):
(WebKit::SandboxExtension::HandleArray::decode):

  • Shared/mac/SecItemRequestData.cpp:

(WebKit::SecItemRequestData::encode):
(WebKit::SecItemRequestData::decode):

  • Shared/mac/SecItemRequestData.h:
  • Shared/mac/SecItemResponseData.cpp:

(WebKit::SecItemResponseData::encode):
(WebKit::SecItemResponseData::decode):

  • Shared/mac/SecItemResponseData.h:
  • Shared/mac/SecItemShim.cpp:

(WebKit::SecItemShim::initializeConnection):

  • Shared/mac/SecItemShim.h:
  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
(IPC::ArgumentCoder<ResourceResponse>::encodePlatformData):
(IPC::ArgumentCoder<ResourceResponse>::decodePlatformData):
(IPC::ArgumentCoder<CertificateInfo>::encode):
(IPC::ArgumentCoder<CertificateInfo>::decode):
(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):

  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _accessibilityRegisterUIProcessTokens]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Authentication/AuthenticationChallengeProxy.cpp:

(WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):

  • UIProcess/Authentication/AuthenticationChallengeProxy.h:

(WebKit::AuthenticationChallengeProxy::create):

  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::connectionWillOpen):
(WebKit::DatabaseProcessProxy::connectionWillClose):
(WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
(WebKit::DatabaseProcessProxy::didClose):
(WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):
(WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection):
(WebKit::DatabaseProcessProxy::didFinishLaunching):

  • UIProcess/Databases/DatabaseProcessProxy.h:
  • UIProcess/Databases/DatabaseProcessProxy.messages.in:
  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::createData):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):

  • UIProcess/Downloads/DownloadProxy.h:
  • UIProcess/Downloads/DownloadProxy.messages.in:
  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::ProcessLauncher::didFinishLaunchingProcess):

  • UIProcess/Launcher/ProcessLauncher.h:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService):
(WebKit::tryPreexistingProcess):
(WebKit::createProcess):

  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  • UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:

(-[WKCustomProtocolLoader connection:didReceiveData:]):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::connectionWillOpen):
(WebKit::NetworkProcessProxy::connectionWillClose):
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didReceiveSyncMessage):
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
(WebKit::NetworkProcessProxy::didFinishLaunching):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/Notifications/WebNotification.h:
  • UIProcess/PageClient.h:
  • UIProcess/Plugins/PluginProcessManager.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::getPluginProcessConnection):
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
(WebKit::PluginProcessProxy::didClose):
(WebKit::PluginProcessProxy::didReceiveInvalidMessage):
(WebKit::PluginProcessProxy::didFinishLaunching):
(WebKit::PluginProcessProxy::didCreateWebProcessConnection):

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.messages.in:
  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::platformInitializePluginProcess):

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::addListener):
(WebKit::StorageManager::StorageArea::removeListener):
(WebKit::StorageManager::StorageArea::setItem):
(WebKit::StorageManager::StorageArea::removeItem):
(WebKit::StorageManager::StorageArea::clear):
(WebKit::StorageManager::StorageArea::dispatchEvents):
(WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
(WebKit::StorageManager::createSessionStorageNamespace):
(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
(WebKit::StorageManager::processWillCloseConnection):
(WebKit::StorageManager::createLocalStorageMap):
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::destroyStorageMap):
(WebKit::StorageManager::getValues):
(WebKit::StorageManager::setItem):
(WebKit::StorageManager::removeItem):
(WebKit::StorageManager::clear):
(WebKit::StorageManager::createSessionStorageNamespaceInternal):
(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
(WebKit::StorageManager::invalidateConnectionInternal):
(WebKit::StorageManager::findStorageArea):

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebApplicationCacheManagerProxy.h:
  • UIProcess/WebConnectionToWebProcess.cpp:

(WebKit::WebConnectionToWebProcess::encodeMessageBody):
(WebKit::WebConnectionToWebProcess::decodeMessageBody):
(WebKit::WebConnectionToWebProcess::messageSenderConnection):

  • UIProcess/WebConnectionToWebProcess.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::networkingProcessConnection):
(WebKit::WebContext::didReceiveInvalidMessage):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::postMessageToInjectedBundle):
(WebKit::WebContext::addMessageReceiver):
(WebKit::WebContext::removeMessageReceiver):
(WebKit::WebContext::dispatchMessage):
(WebKit::WebContext::dispatchSyncMessage):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):

  • UIProcess/WebContext.h:
  • UIProcess/WebContextUserMessageCoders.h:

(WebKit::WebContextUserMessageEncoder::encode):
(WebKit::WebContextUserMessageDecoder::decode):

  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebDatabaseManagerProxy.h:
  • UIProcess/WebEditCommandProxy.cpp:

(WebKit::WebEditCommandProxy::unapply):
(WebKit::WebEditCommandProxy::reapply):

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebFullScreenManagerProxy.h:
  • UIProcess/WebGeolocationManagerProxy.cpp:

(WebKit::WebGeolocationManagerProxy::startUpdating):
(WebKit::WebGeolocationManagerProxy::stopUpdating):
(WebKit::WebGeolocationManagerProxy::removeRequester):
(WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):

  • UIProcess/WebGeolocationManagerProxy.h:
  • UIProcess/WebIconDatabase.cpp:

(WebKit::WebIconDatabase::setIconDataForIconURL):
(WebKit::WebIconDatabase::synchronousIconDataForPageURL):

  • UIProcess/WebIconDatabase.h:
  • UIProcess/WebIconDatabase.messages.in:
  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebMediaCacheManagerProxy.h:
  • UIProcess/WebOriginDataManagerProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::willGoToBackForwardListItem):
(WebKit::WebPageProxy::preferencesDidChange):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::didReceiveTitleForFrame):
(WebKit::WebPageProxy::didFirstLayoutForFrame):
(WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
(WebKit::WebPageProxy::didLayout):
(WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
(WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
(WebKit::WebPageProxy::didRunInsecureContentForFrame):
(WebKit::WebPageProxy::didDetectXSSForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseSync):
(WebKit::WebPageProxy::unableToImplementPolicy):
(WebKit::WebPageProxy::willSubmitForm):
(WebKit::WebPageProxy::mouseDidMoveOverElement):
(WebKit::WebPageProxy::connectionWillOpen):
(WebKit::WebPageProxy::connectionWillClose):
(WebKit::WebPageProxy::sendMessage):
(WebKit::WebPageProxy::messageSenderConnection):
(WebKit::WebPageProxy::showContextMenu):
(WebKit::WebPageProxy::internalShowContextMenu):
(WebKit::WebPageProxy::dataCallback):
(WebKit::WebPageProxy::scriptValueCallback):
(WebKit::WebPageProxy::beginPrinting):
(WebKit::WebPageProxy::endPrinting):
(WebKit::WebPageProxy::computePagesForPrinting):
(WebKit::WebPageProxy::drawRectToImage):
(WebKit::WebPageProxy::drawPagesToPDF):
(WebKit::WebPageProxy::drawPagesForPrinting):
(WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionWillClose):
(WebKit::WebProcessProxy::addBackForwardItem):
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
(WebKit::WebProcessProxy::didClose):
(WebKit::WebProcessProxy::didReceiveInvalidMessage):
(WebKit::WebProcessProxy::didFinishLaunching):

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::fromConnection):

  • UIProcess/WebProcessProxy.messages.in:
  • UIProcess/WebResourceCacheManagerProxy.h:
  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::WebBackForwardList::createCFDictionaryRepresentation):

  • UIProcess/mac/RemoteLayerTreeHost.h:
  • UIProcess/mac/SecItemShimProxy.cpp:

(WebKit::SecItemShimProxy::initializeConnection):
(WebKit::SecItemShimProxy::secItemRequest):

  • UIProcess/mac/SecItemShimProxy.h:
  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
(WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
(WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/ApplicationCache/WebApplicationCacheManager.h:
  • WebProcess/Cookies/WebCookieManager.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::messageSenderConnection):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/WebToDatabaseProcessConnection.cpp:

(WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
(WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
(WebKit::WebToDatabaseProcessConnection::didClose):
(WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):

  • WebProcess/Databases/WebToDatabaseProcessConnection.h:

(WebKit::WebToDatabaseProcessConnection::create):
(WebKit::WebToDatabaseProcessConnection::connection):

  • WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:

(WebKit::WebContentProcessMainDelegate::getConnectionIdentifier):

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::didReceiveMessage):

  • WebProcess/FullScreen/WebFullScreenManager.h:
  • WebProcess/Geolocation/WebGeolocationManager.h:
  • WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:

(WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
(WebKit::WebIconDatabaseProxy::setIconDataForIconURL):

  • WebProcess/IconDatabase/WebIconDatabaseProxy.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):

  • WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:

(WebKit::InjectedBundleUserMessageEncoder::encode):
(WebKit::InjectedBundleUserMessageDecoder::decode):

  • WebProcess/MediaCache/WebMediaCacheManager.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::NetworkProcessConnection):
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
(WebKit::NetworkProcessConnection::didClose):
(WebKit::NetworkProcessConnection::didReceiveInvalidMessage):

  • WebProcess/Network/NetworkProcessConnection.h:

(WebKit::NetworkProcessConnection::create):
(WebKit::NetworkProcessConnection::connection):

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::messageSenderConnection):
(WebKit::WebResourceLoader::didReceiveData):

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
  • WebProcess/Notifications/WebNotificationManager.h:
  • WebProcess/OriginData/WebOriginDataManager.h:
  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/Plugin.cpp:

(WebKit::Plugin::Parameters::encode):
(WebKit::Plugin::Parameters::decode):

  • WebProcess/Plugins/Plugin.h:
  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::PluginProcessConnection):
(WebKit::PluginProcessConnection::didReceiveMessage):
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
(WebKit::PluginProcessConnection::didClose):
(WebKit::PluginProcessConnection::didReceiveInvalidMessage):

  • WebProcess/Plugins/PluginProcessConnection.h:

(WebKit::PluginProcessConnection::create):
(WebKit::PluginProcessConnection::connection):

  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::initializeConnection):
(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
(WebKit::PluginProcessConnectionManager::pluginProcessCrashed):

  • WebProcess/Plugins/PluginProcessConnectionManager.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::geometryDidChange):
(WebKit::PluginProxy::streamDidReceiveData):
(WebKit::PluginProxy::manualStreamDidReceiveData):

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/ResourceCache/WebResourceCacheManager.h:
  • WebProcess/Storage/StorageAreaMap.h:
  • WebProcess/WebConnectionToUIProcess.cpp:

(WebKit::WebConnectionToUIProcess::encodeMessageBody):
(WebKit::WebConnectionToUIProcess::decodeMessageBody):
(WebKit::WebConnectionToUIProcess::messageSenderConnection):

  • WebProcess/WebConnectionToUIProcess.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):

  • WebProcess/WebCoreSupport/WebDatabaseManager.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

  • WebProcess/WebPage/DecoderAdapter.cpp:

(WebKit::DecoderAdapter::decodeBytes):
(WebKit::DecoderAdapter::decodeString):

  • WebProcess/WebPage/DecoderAdapter.h:
  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/EncoderAdapter.cpp:

(WebKit::EncoderAdapter::dataReference):
(WebKit::EncoderAdapter::encodeBytes):
(WebKit::EncoderAdapter::encodeString):

  • WebProcess/WebPage/EncoderAdapter.h:
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::initializeConnection):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/LayerTreeHost.h:
  • WebProcess/WebPage/ViewGestureGeometryCollector.h:
  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::createInspectorPage):

  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::messageSenderConnection):
(WebKit::WebPage::loadURL):
(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::loadString):
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadHTMLString):
(WebKit::WebPage::loadAlternateHTMLString):
(WebKit::WebPage::loadPlainTextString):
(WebKit::WebPage::loadWebArchiveData):
(WebKit::WebPage::postInjectedBundleMessage):
(WebKit::WebPage::runJavaScriptInMainFrame):
(WebKit::WebPage::getContentsAsMHTMLData):
(WebKit::WebPage::getSelectionAsWebArchiveData):
(WebKit::WebPage::getMainResourceDataOfFrame):
(WebKit::WebPage::getResourceDataFromFrame):
(WebKit::WebPage::getWebArchiveOfFrame):
(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):
(WebKit::WebPage::drawPagesToPDF):
(WebKit::WebPage::savePDFToFileInDownloadsFolder):
(WebKit::WebPage::savePDFToTemporaryFolderAndOpenWithNativeApplication):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/WebPageGroupProxy.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::registerUIProcessAccessibilityTokens):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::downloadProxyConnection):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::ensureNetworkProcessConnection):
(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::didClose):
(WebKit::WebProcess::didReceiveInvalidMessage):
(WebKit::WebProcess::postInjectedBundleMessage):
(WebKit::WebProcess::ensureWebToDatabaseProcessConnection):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

  • config.h:
11:46 AM Changeset in webkit [161147] by andersca@apple.com
  • 2 edits
    26 moves
    2 adds in trunk/Source/WebKit2

Move remaining IPC related files to Platform/IPC.

Rubber-stamped by Andreas Kling.

  • Platform/IPC/ArgumentCoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h.
  • Platform/IPC/ArgumentCoders.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp.
  • Platform/IPC/ArgumentCoders.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h.
  • Platform/IPC/ArgumentDecoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp.
  • Platform/IPC/ArgumentDecoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h.
  • Platform/IPC/ArgumentEncoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp.
  • Platform/IPC/ArgumentEncoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.h.
  • Platform/IPC/Arguments.h: Renamed from Source/WebKit2/Platform/CoreIPC/Arguments.h.
  • Platform/IPC/Attachment.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/Attachment.cpp.
  • Platform/IPC/Attachment.h: Renamed from Source/WebKit2/Platform/CoreIPC/Attachment.h.
  • Platform/IPC/Connection.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/Connection.cpp.
  • Platform/IPC/Connection.h: Renamed from Source/WebKit2/Platform/CoreIPC/Connection.h.
  • Platform/IPC/HandleMessage.h: Renamed from Source/WebKit2/Platform/CoreIPC/HandleMessage.h.
  • Platform/IPC/MessageDecoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageDecoder.cpp.
  • Platform/IPC/MessageDecoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageDecoder.h.
  • Platform/IPC/MessageEncoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageEncoder.cpp.
  • Platform/IPC/MessageEncoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageEncoder.h.
  • Platform/IPC/MessageFlags.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageFlags.h.
  • Platform/IPC/MessageReceiver.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiver.h.
  • Platform/IPC/MessageReceiverMap.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.cpp.
  • Platform/IPC/MessageReceiverMap.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.h.
  • Platform/IPC/mac/ConnectionMac.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp.
  • Platform/IPC/mac/ImportanceAssertion.h: Renamed from Source/WebKit2/Platform/CoreIPC/mac/ImportanceAssertion.h.
  • Platform/IPC/mac/MachPort.h: Renamed from Source/WebKit2/Platform/CoreIPC/mac/MachPort.h.
  • Platform/IPC/unix/AttachmentUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/unix/AttachmentUnix.cpp.
  • Platform/IPC/unix/ConnectionUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp.
  • WebKit2.xcodeproj/project.pbxproj:
11:32 AM Changeset in webkit [161146] by andersca@apple.com
  • 6 edits
    1 delete in trunk/Source

Replace WTF::ThreadingOnce with std::call_once
https://bugs.webkit.org/show_bug.cgi?id=126215

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • dfg/DFGWorklist.cpp:

(JSC::DFG::globalWorklist):

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

Source/WTF:

  • GNUmakefile.list.am:
  • wtf/CompilationThread.cpp:

(WTF::initializeCompilationThreads):

  • wtf/ThreadingOnce.h: Removed.
10:45 AM Changeset in webkit [161145] by Martin Robinson
  • 2 edits in trunk/Source/WebKit2

[GTK] [CMake] Parallel build sometimes fails when building libWebKit2APITestCore
https://bugs.webkit.org/show_bug.cgi?id=126294

Reviewed by Daniel Bates.

  • UIProcess/API/gtk/tests/CMakeLists.txt: Give libWebKit2APITestCore a dependency on

WebKit2 so that it's always built before the auto-generated sources.

10:44 AM Changeset in webkit [161144] by Martin Robinson
  • 11 edits in trunk

[CMake] [GTK] Add support for GObject introspection
https://bugs.webkit.org/show_bug.cgi?id=126162

Reviewed by Daniel Bates.

.:

  • Source/PlatformGTK.cmake: Add a 'gir' target that builds all GIR files.
  • Source/cmake/OptionsGTK.cmake: Add a macro for propagating typelib

targets to the Source level of the build.

Source/JavaScriptCore:

  • PlatformGTK.cmake: Add the GIR targets.

Source/WebCore:

  • PlatformGTK.cmake: Build a list of WebKitDOM headers and expose it to the

parent scope of the build.

Source/WebKit:

  • PlatformGTK.cmake: Add the GIR targets.

Source/WebKit2:

  • PlatformGTK.cmake: Add the GIR targets, split the installed headers list

between WebKitWebExtension and the WebKit2 library. Update the headers list
with new headers.

8:41 AM Changeset in webkit [161143] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Text::createTextRenderer() should return a RenderPtr.
<https://webkit.org/b/126292>

Make createTextRenderer() return a RenderPtr and remove one manual
destroy() call. Also, since it should always return a valid object,
I turned a null check into an assertion instead.

Reviewed by Antti Koivisto.

6:47 AM Changeset in webkit [161142] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Remove attachChild
https://bugs.webkit.org/show_bug.cgi?id=126288

Reviewed by Andreas Kling.

  • dom/ContainerNode.cpp:

(WebCore::destroyRenderTreeIfNeeded):

Rename detachChild and move the tests here.

(WebCore::ContainerNode::takeAllChildrenFrom):

No need to call attachRenderTree explicitly anymore.

(WebCore::ContainerNode::removeBetween):

6:13 AM Changeset in webkit [161141] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderLayer: Store corner and resizer renderers in RenderPtrs.
<https://webkit.org/b/126274>

Turn RenderLayer::m_scrollCorner and m_resizer into RenderPtrs.
Removed manual destroy() calls as appropriate. Also tweaked some
code to reduce nesting.

Reviewed by Anders Carlsson.

6:04 AM Changeset in webkit [161140] by Antti Koivisto
  • 10 edits in trunk

XML document builder should create render tree asynchronously
https://bugs.webkit.org/show_bug.cgi?id=126285

Source/WebCore:

Reviewed by Andreas Kling.

Stop creating renderers explicitly.
Fix SVG <use> element to not rely on parse time render tree construction.

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::svgAttributeChanged):

Remove renderer check, we may not have created the render tree yet.

(WebCore::SVGUseElement::willAttachRenderers):

Switch to willAttachRenderers from willRecalcStyle. The latter is only called as long as style
recalc doesn't start creating new renderers.

(WebCore::SVGUseElement::invalidateShadowTree):

Remove renderer check, we may not have created the render tree yet.
Invalidate with ReconstructRenderTree so willAttachRenderers will always get called.

  • svg/SVGUseElement.h:
  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::exitText):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::cdataBlock):

Remove explicit call to attachRenderTree. The render tree will be created lazily.

LayoutTests:

Reviewed by Andreas Kling.

  • platform/mac/fast/table/dynamic-caption-add-before-child-expected.png:
  • platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt:


This is progression. Captions are now correctly in document order.

  • svg/custom/object-no-size-attributes-expected.txt:


Unnecessary text renderer disappears.

  • svg/custom/resource-invalidation-crash-expected.txt:


Progression, the dump has the correct fill.

2:26 AM Changeset in webkit [161139] by Michał Pakuła vel Rutka
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Replace ecore_main_loop_iterate with waitUntilTrue in ewk tests
https://bugs.webkit.org/show_bug.cgi?id=125919

Reviewed by Gyuyoung Kim.

Using ecore_main_loop_iterate in while loop may result in tests hang-up when
condition is not met. Replacing it with waitUntilTrue introduces a timer
after which internal loop is canceled. This will cause test to fail instead
of running infinitely.

  • UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:

(TEST_F):

  • UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:

(TEST_F):

  • UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:

(TEST_F):

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(EWK2ViewTest::onVibrate):
(EWK2ViewTest::onCancelVibration):
(EWK2ViewTest::loadVibrationHTMLString):
(TEST_F):

1:58 AM Changeset in webkit [161138] by Carlos Garcia Campos
  • 5 edits
    2 adds in trunk

[GTK] Split WebKit2APITests/TestWebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=126284

Reviewed by Philippe Normand.

Source/WebKit2:

WebKitWebView test is too big already making more difficult to
handle timeouts and skipped tests. Split it in 3 by moving
UIClient and auth tests to their own files.

  • UIProcess/API/gtk/tests/GNUmakefile.am:
  • UIProcess/API/gtk/tests/TestAuthentication.cpp: Added.

(testWebViewAuthenticationRequest):
(testWebViewAuthenticationCancel):
(testWebViewAuthenticationLoadCancelled):
(testWebViewAuthenticationFailure):
(testWebViewAuthenticationNoCredential):
(testWebViewAuthenticationStorage):
(testWebViewAuthenticationSuccess):
(serverCallback):
(beforeAll):
(afterAll):

  • UIProcess/API/gtk/tests/TestUIClient.cpp: Added.

(testWebViewCreateReadyClose):
(checkMimeTypeForFilter):
(testWebViewAllowModalDialogs):
(testWebViewDisallowModalDialogs):
(testWebViewJavaScriptDialogs):
(testWebViewWindowProperties):
(testWebViewMouseTarget):
(testWebViewPermissionRequests):
(testWebViewFileChooserRequest):
(beforeAll):
(afterAll):

  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:

(beforeAll):
(afterAll):

Tools:

Skip only WebKitWebView/mouse-target and all TestAuthentication
tests that are timing out when running under xvfb.

  • Scripts/run-gtk-tests:

(TestRunner):

Dec 29, 2013:

10:31 PM Changeset in webkit [161137] by joone.hur@intel.com
  • 3 edits
    4 deletes in trunk

Reverted r156742. The same fix was reverted from Blink due to heap-use-after-free on ClusterFuzz.
https://bugs.webkit.org/show_bug.cgi?id=126275

https://codereview.chromium.org/102993011

Reviewed by Darin Adler.

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateFirstLetter):

LayoutTests:

  • fast/css/first-letter-block-change.html: Removed.
  • platform/gtk-wk1/fast/css/first-letter-block-change-expected.png: Removed.
  • platform/gtk-wk2/fast/css/first-letter-block-change-expected.png: Removed.
  • platform/gtk/fast/css/first-letter-block-change-expected.txt: Removed.
9:12 PM Changeset in webkit [161136] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

Remove unused functions in GraphicsContext3D.cpp
https://bugs.webkit.org/show_bug.cgi?id=126265

Reviewed by Andreas Kling.

platformGraphicsContext3D, platformTexture and platformLayer in GC3D.cpp
seem not used by any ports.

No new tests, no functionality changed.

  • platform/graphics/GraphicsContext3D.cpp:
5:27 PM Changeset in webkit [161135] by Michał Pakuła vel Rutka
  • 2 edits in trunk/Tools

[EFL][WK2] Disable geolocation API test
https://bugs.webkit.org/show_bug.cgi?id=125851

Reviewed by Gyuyoung Kim.

Geolocation is turned off by default in EFL port, so it shouldn't be tested.

  • TestWebKitAPI/PlatformEfl.cmake: Move Geolocation to test_webkit2_api_fail_BINARIES.
5:23 PM Changeset in webkit [161134] by ryuan.choi@samsung.com
  • 12 edits
    7 deletes in trunk

[EFL] Remove ewk_view_tiled
https://bugs.webkit.org/show_bug.cgi?id=125961

Reviewed by Gyuyoung Kim.

Source/WebKit:

  • PlatformEfl.cmake: Removed ewk_view_tiled related files.

Source/WebKit/efl:

We didn't use ewk_view_tiled very long time while we focused webkit2/efl.
There are many bugs and we don't have plan to fix them.
Instead, We will use WebCore's TiledBackingStore and it looks more stable.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::transitionToCommittedForNewPage):

  • ewk/ewk_tiled_backing_store.cpp: Removed.
  • ewk/ewk_tiled_backing_store_private.h: Removed.
  • ewk/ewk_tiled_matrix.cpp: Removed.
  • ewk/ewk_tiled_matrix_private.h: Removed.
  • ewk/ewk_tiled_model.cpp: Removed.
  • ewk/ewk_tiled_model_private.h: Removed.
  • ewk/ewk_view.cpp:
  • ewk/ewk_view.h:
  • ewk/ewk_view_private.h:
  • ewk/ewk_view_tiled.cpp: Removed.
  • tests/UnitTestUtils/EWKTestView.cpp:

(EWKUnitTests::EWKTestView::init):

Tools:

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(shouldUseTiledBackingStore):
Moved from DumpRenderTreeChrome to enable WebCore's TiledBackingStore
instead of switching ewk_view_tiled.
(DumpRenderTreeChrome::createView):

  • DumpRenderTree/efl/DumpRenderTreeView.cpp:

(drtViewAdd):

  • EWebLauncher/main.c: Removed ewk_view_tiled option.

(windowCreate):
(parseUserArguments):

4:40 PM Changeset in webkit [161133] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Fix build error on 64bit debug build.
https://bugs.webkit.org/show_bug.cgi?id=126248

r161076 used ‘%lli’(for long long int) for int64_t(aka long int).
However, in a 64bit compile, int64_t is 'long int', not a 'long long int'.
To support 32bit and 64bit, we use static_cast<long long>.

  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::commit):

4:38 PM Changeset in webkit [161132] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Remove some accidental commented out code.

  • testing/Internals.cpp:

(WebCore::Internals::mallocStatistics):

4:27 PM Changeset in webkit [161131] by ap@apple.com
  • 4 edits in trunk/Tools

Pending revision popover is slightly misplaced at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126278

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype._appendPendingRevisionCount): Create a span for the text,
as StatusLineView message element has extra padding, and doesn't fit the text snugly.
(BuildbotQueueView.prototype._revisionPopoverContentForIteration): Added bug number to a FIXME.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:

(StatusLineView.prototype.set messageElement): Removed the getter, as we no longer need it.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

Removed display:inline-block hack for messageElement div, as we no longer use it for measuring text bounds.

3:53 PM Changeset in webkit [161130] by ap@apple.com
  • 3 edits in trunk/Tools

Interrupted test runs should not count at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126279

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.get productive):
(BuildbotIteration.prototype.get previousProductiveIteration): Replaced previous with
this accessor to skips iterations that don't have relevant data. We still want to
display them, but revision ranges should not be affected.
(BuildbotIteration.prototype.update): Record whether the iteration was up for retry.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

Use latest productive iteration instead of latest iteration for pending revision
count and popovers.

3:50 PM Changeset in webkit [161129] by Antti Koivisto
  • 3 edits in trunk/LayoutTests

Revert the results change. It depended on xml parser changes which were not landed.

  • platform/mac/fast/table/dynamic-caption-add-before-child-expected.png:
  • platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt:
3:08 PM Changeset in webkit [161128] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Fix build.

  • xml/parser/XMLDocumentParser.cpp:
2:40 PM Changeset in webkit [161127] by Antti Koivisto
  • 34 edits in trunk

Source/WebCore: Remove Node::attached()
https://bugs.webkit.org/show_bug.cgi?id=126276

Reviewed by Sam Weinig.

Node::attached() is poorly defined. Replace it with renderer() and inRenderedDocument() tests as appropriate.

Also remove some unnecessary explicit attachRenderTree/detachRenderTree calls from the tree builders.

LayoutTests: Remove Node::attached()
https://bugs.webkit.org/show_bug.cgi?id=126276

Reviewed by Sam Weinig.

  • platform/mac/fast/table/dynamic-caption-add-before-child-expected.png:
  • platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt:


This test result change is a progression. Dynamic captions are now correctly in document order.

1:50 PM Changeset in webkit [161126] by fpizlo@apple.com
  • 43 edits
    2 adds in trunk/Source/JavaScriptCore

Get rid of DFG forward exiting
https://bugs.webkit.org/show_bug.cgi?id=125531

Reviewed by Oliver Hunt.

This finally gets rid of forward exiting. Forward exiting was always a fragile concept
since it involved the compiler trying to figure out how to "roll forward" the
execution from some DFG node to the next bytecode index. It was always easy to find
counterexamples where it broke, and it has always served as an obstacle to adding
compiler improvements - the latest being http://webkit.org/b/125523, which tried to
make DCE work for more things.

This change finishes the work of removing forward exiting. A lot of forward exiting
was already removed in some other bugs, but SetLocal still did forward exits. SetLocal
is in many ways the hardest to remove, since the forward exiting of SetLocal also
implied that any conversion nodes inserted before the SetLocal would then also be
marked as forward-exiting. Hence SetLocal's forward-exiting made a bunch of other
things also forward-exiting, and this was always a source of weirdo bugs.

SetLocal must be able to exit in case it performs a hoisted type speculation. Nodes
inserted just before SetLocal must also be able to exit - for example type check
hoisting may insert a CheckStructure, or fixup phase may insert something like
Int32ToDouble. But if any of those nodes tried to backward exit, then this could lead
to the reexecution of a side-effecting operation, for example:

a: Call(...)
b: SetLocal(@a, r1)


For a long time it seemed like SetLocal *had* to exit forward because of this. But
this change side-steps the problem by changing the ByteCodeParser to always emit a
kind of "two-phase commit" for stores to local variables. Now when the ByteCodeParser
wishes to store to a local, it first emits a MovHint and then enqueues a SetLocal.
The SetLocal isn't actually emitted until the beginning of the next bytecode
instruction (which the exception of op_enter and op_ret, which emit theirs immediately
since it's always safe to reexecute those bytecode instructions and since deferring
SetLocals would be weird there - op_enter has many SetLocals and op_ret is a set
followed by a jump in case of inlining, so we'd have to emit the SetLocal "after" the
jump and that would be awkward). This means that the above IR snippet would look
something like:

a: Call(..., bc#42)
b: MovHint(@a, r1, bc#42)
c: SetLocal(@a, r1, bc#47)


Where the SetLocal exits "backwards" but appears at the beginning of the next bytecode
instruction. This means that by the time we get to that SetLocal, the OSR exit
analysis already knows that r1 is associated with @a, and it means that the SetLocal
or anything hoisted above it can exit backwards as normal.

This change also means that the "forward rewiring" can be killed. Previously, we might
have inserted a conversion node on SetLocal and then the SetLocal died (i.e. turned
into a MovHint) and the conversion node either died completely or had its lifetime
truncated to be less than the actual value's bytecode lifetime. This no longer happens
since conversion nodes are only inserted at SetLocals.

More precisely, this change introduces two laws that we were basically already
following anyway:

1) A MovHint's child should never be changed except if all other uses of that child

are also replaced. Specifically, this prohibits insertion of conversion nodes at
MovHints.


2) Anytime any child is replaced with something else, and all other uses aren't also

replaced, we must insert a Phantom use of the original child.

This is a slight compile-time regression but has no effect on code-gen. It unlocks a
bunch of optimization opportunities so I think it's worth it.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpAssumingJITType):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::instructionCount):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):

  • dfg/DFGArrayifySlowPathGenerator.h:

(JSC::DFG::ArrayifySlowPathGenerator::ArrayifySlowPathGenerator):

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::setDirect):
(JSC::DFG::ByteCodeParser::DelayedSetLocal::DelayedSetLocal):
(JSC::DFG::ByteCodeParser::DelayedSetLocal::execute):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::eliminate):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommon.h:
  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::run):
(JSC::DFG::DCEPhase::fixupBlock):
(JSC::DFG::DCEPhase::cleanVariables):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixEdge):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::run):
(JSC::DFG::LICMPhase::attemptHoist):

  • dfg/DFGMinifiedNode.cpp:

(JSC::DFG::MinifiedNode::fromNode):

  • dfg/DFGMinifiedNode.h:

(JSC::DFG::belongsInMinifiedGraph):
(JSC::DFG::MinifiedNode::constantNumber):
(JSC::DFG::MinifiedNode::weakConstant):

  • dfg/DFGNode.cpp:

(JSC::DFG::Node::hasVariableAccessData):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToPhantom):
(JSC::DFG::Node::convertToPhantomUnchecked):
(JSC::DFG::Node::convertToIdentity):
(JSC::DFG::Node::containsMovHint):
(JSC::DFG::Node::hasUnlinkedLocal):
(JSC::DFG::Node::willHaveCodeGenOrOSR):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::dumpNodeFlags):

  • dfg/DFGNodeFlags.h:
  • dfg/DFGNodeType.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::OSRAvailabilityAnalysisPhase::run):

  • dfg/DFGOSREntrypointCreationPhase.cpp:

(JSC::DFG::OSREntrypointCreationPhase::run):

  • dfg/DFGOSRExit.cpp:
  • dfg/DFGOSRExit.h:
  • dfg/DFGOSRExitBase.cpp:
  • dfg/DFGOSRExitBase.h:

(JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSite):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::doDoubleVoting):

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::emitInvalidationPoint):
(JSC::DFG::SpeculativeJIT::typeCheck):
(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compileInt32ToDouble):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::detectPeepHoleBranch):
(JSC::DFG::SpeculativeJIT::needsTypeCheck):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::run):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validateCPS):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::VariableAccessData):

  • dfg/DFGVariableEventStream.cpp:

(JSC::DFG::VariableEventStream::reconstruct):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetArgument):
(JSC::FTL::LowerDFGToLLVM::compileSetLocal):
(JSC::FTL::LowerDFGToLLVM::compileMovHint):
(JSC::FTL::LowerDFGToLLVM::compileZombieHint):
(JSC::FTL::LowerDFGToLLVM::compileInt32ToDouble):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::typeCheck):
(JSC::FTL::LowerDFGToLLVM::appendTypeCheck):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):

  • ftl/FTLOSRExit.cpp:
  • ftl/FTLOSRExit.h:
  • tests/stress/dead-int32-to-double.js: Added.

(foo):

  • tests/stress/dead-uint32-to-number.js: Added.

(foo):

1:49 PM Changeset in webkit [161125] by fpizlo@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack branch with --ftl-jit should fail no more tests than without FTL as of r161113
https://bugs.webkit.org/show_bug.cgi?id=126280

Not yet reviewed.

This change fixes erroneous results in 3d-raytrace in FTL-eager mode.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile): Reject code that uses activations since the FTL doesn't

support it yet. Previously it would *sometimes* slip by in OSR entry
situations.

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub): Fix stack alignment.

1:17 PM Changeset in webkit [161124] by ap@apple.com
  • 9 edits in trunk/Tools

Please display (and link to) revision ranges at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122187

Reviewed by Timothy Hatcher.

Added popovers for revision numbers. Removed direct links, because they were misleading -
a test run covers a revision range, not just the latest revision. This also makes
selecting a revision for copy easier.

All revision numbers have the popovers for consistency, although they are most useful
for iterations that are not the last ones in a view, because the content is a delta
from previous iteration.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus):
revisionLinksForIteration() is now named revisionContentForIteration().

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):
Ditto.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.get previous): Added a function to go back in iteration history.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

Refactored to support the new popover variation. Replaced revisionLinksForIteration()
with a function that builds an element with popover.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/PopoverTracker.js:

Changed to take a function for popover presentation instead of delegate object.
We only need one delegate function, and it's easier to have multiple popovers per view class
this way.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

Removed a rule for selectable class. It's replaced with a semantic rule in StatusLineView.css.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:

Renamed pending-commits-popover class to commit-history-popover.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line .message .revision-number): Added a rule for revision numbers.

12:57 PM Changeset in webkit [161123] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

RenderLayer: Store reflection renderer in a RenderPtr.
<https://webkit.org/b/126273>

Reviewed by Anders Carlsson.

  • rendering/RenderLayer.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::calculateClipRects):

Turn RenderLayer::m_reflection into a RenderPtr<RenderReplica>
instead of a raw pointer.

  • WebCore.xcodeproj/project.pbxproj:

Add RenderPtr.h to private headers.

10:51 AM Changeset in webkit [161122] by Martin Robinson
  • 3 edits
    1 add in trunk

[GTK][CMake] Translations must be built
https://bugs.webkit.org/show_bug.cgi?id=125513

Reviewed by Gustavo Noronha Silva.

.:

  • Source/PlatformGTK.cmake: Add the po subdirectory.

Source/WebCore/platform/gtk/po:

  • CMakeLists.txt: Added.
10:49 AM Changeset in webkit [161121] by Martin Robinson
  • 4 edits in trunk/Source

[GTK] [CMake] Convenience libraries that export API should be compiled with --whole-archive on Unix
https://bugs.webkit.org/show_bug.cgi?id=126232

Reviewed by Gustavo Noronha Silva.

Source/WebKit:

  • PlatformGTK.cmake: Prefix libGObjectDOMBindings with --whole-archive so that

symbols are not omitted during final linking.

Source/WebKit2:

  • PlatformGTK.cmake: Prefix libGObjectDOMBindings with --whole-archive so that

symbols are not omitted during final linking.

9:24 AM Changeset in webkit [161120] by ap@apple.com
  • 9 edits
    4 adds in trunk/Tools

Please display information about pending runs in build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122180

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus): Added a semicolon at the end of a line.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype._latestFinishedIteration): Factored out of _appendPendingRevisionCount.
(BuildbotQueueView.prototype._appendPendingRevisionCount): Install a popover tracker over the element.
(BuildbotQueueView.prototype.lineForCommit): Build an element for a particular commit ot be shown in popover.
(BuildbotQueueView.prototype.presentPopoverForElement): Build and show popover content when PopoverTracker
asks us to.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Geometry.js: Added.

Taken from WebInspector with minimal changes:

  • Changed root name from WebInspector to Dashboard.
  • Removed some unused functionality.
  • Added Rect.containsPoint.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Popover.js: Added.

Popover has extensive changes compared to WebInspector version, only drawing code is the same:

  • Fixed to work in scrollable pages - WebInspector version assumes that window

and document coordinates are the same, and also erroneously dismisses a scrollable
popover if scrolling cascades out of it after reaching a bound.

  • Simplified API and implementation to Dashboard needs, it is no longer possible to

change content of an existing popover.

  • Rewrote visibility tracking to be more complete, and not rely on external tracker

object so much.

  • Added code to flash scroll bars when showing a scrollable popover.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/PopoverTracker.js: Added.

Objects of this class show and hide popovers as appropriate for registered active elements.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:

(StatusLineView.prototype.get messageElement): Added an accessor, so that we could
install a popover on message element. It's the only visible element in pending commit
line, but the line has different bounds, so we can't install a popover on it (it
would be incorrectly positioned if we did).

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:

(Trac.prototype._convertCommitInfoElementToObject):

  • Some trac installations report author in a different element, updated to support that.
  • Changed to parse title out of description, because trac titles are ugly. Also,

we get a nice HTML with links from the description.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:

(Node.prototype.isAncestor): Copied from Web Inspector, only changing the form for
consistency with the rest of this file (add a property on prototype with assignment
instead of using Object.defineProperty).
(Node.prototype.isDescendant): Ditto.
(Node.prototype.isSelfOrAncestor): Ditto.
(Node.prototype.isSelfOrDescendant): Ditto.
(DOMTokenList.prototype.contains): Ditto.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Popover.css: Added.

Like JS counterpart, mostly lifted from Web Inspector.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:

Added style rules for pending commits popover.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line.no-bubble .message): Changed to display:inline-block, so that it fits
to content, and we can show the popover in a correct place.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html: Added new files.
8:44 AM Changeset in webkit [161119] by mark.lam@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Updated review status for r160981: <http://trac.webkit.org/r160981>.

8:41 AM Changeset in webkit [161118] by mark.lam@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Updated review status for r160960: <http://trac.webkit.org/r160960>.

8:29 AM Changeset in webkit [161117] by mark.lam@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Updated commit status for r160967: <http://trac.webkit.org/r160967>.

1:08 AM Changeset in webkit [161116] by ap@apple.com
  • 1 edit in trunk/Tools/ChangeLog

Fix a typo in ChangeLog, landing a commit that won't trigger a build, and will remain
"pending" on dashboard for testing.

Note: See TracTimeline for information about the timeline view.