Timeline
Jan 2, 2014:
- 11:56 PM Changeset in webkit [161255] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 13 edits2 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
-
- 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
-
- 3 edits2 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
-
- 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
-
- 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
-
- 79 edits32 adds22 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 4 edits5 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 13 edits1 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 17 edits in trunk/Source/WebCore
Update bindings test results
- 1:00 PM Changeset in webkit [161221] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 11 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 11 edits2 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
- Link to SpeedUpBuild for ld.gold instructions (diff)
- 5:08 AM WebKitGTK/SpeedUpBuild edited by
- Add information about how to configure ld.gold with update-alternatives (diff)
- 3:43 AM Changeset in webkit [161206] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 11 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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):