1. 02 Jan, 2014 28 commits
    • weinig@apple.com's avatar
      Update Promises to the https://github.com/domenic/promises-unwrapping spec · 349af4e4
      weinig@apple.com authored
      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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      349af4e4
    • mhahnenberg@apple.com's avatar
      Add support for StoreBarrier and friends to the FTL · 72454da3
      mhahnenberg@apple.com authored
      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):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      72454da3
    • timothy_horton@apple.com's avatar
      ImageBufferBackingStoreCache should use DeferrableOneShotTimer · 60344bcb
      timothy_horton@apple.com authored
      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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60344bcb
    • ap@apple.com's avatar
      Bindings tests results links are broken at build.webkit.org/dashboard · eaaa8b42
      ap@apple.com authored
      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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eaaa8b42
    • mmaxfield@apple.com's avatar
      Allow ImageBuffer to re-use IOSurfaces · 22d3d43e
      mmaxfield@apple.com authored
      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.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22d3d43e
    • ap@apple.com's avatar
      "+" is very confusing at http://build.webkit.org/dashboard · 0805b3e8
      ap@apple.com authored
      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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0805b3e8
    • commit-queue@webkit.org's avatar
      Video-seek-with-negative-playback was flaky. · 451c1317
      commit-queue@webkit.org authored
      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):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      451c1317
    • mhahnenberg@apple.com's avatar
      Storing new CopiedSpace memory into a JSObject should fire a write barrier · ebf01914
      mhahnenberg@apple.com authored
      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):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ebf01914
    • barraclough@apple.com's avatar
      Source/WebCore: [iOS] Tapping any link crashes in WebCore::EventHandler::mouseMoved() · 2f3625cd
      barraclough@apple.com authored
      (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).
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2f3625cd
    • dbates@webkit.org's avatar
      [iOS] Tapping any link crashes in WebCore::EventHandler::mouseMoved() · 3168e38f
      dbates@webkit.org authored
      (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.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161227 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3168e38f
    • barraclough@apple.com's avatar
      Refactor ViewState handling for drawing area / plugins · 465850b9
      barraclough@apple.com authored
      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.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161226 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      465850b9
    • ap@apple.com's avatar
      Merge didMoveOnscreen / page visibility to isVisible · cb02e800
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126268
      
      Build fix.
      
      * UIProcess/WebContext.h: Removed some accidental input.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb02e800
    • barraclough@apple.com's avatar
      Merge didMoveOnscreen / page visibility to isVisible · 21294937
      barraclough@apple.com authored
      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.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      21294937
    • oliver@apple.com's avatar
      Update bindings test results · 61cca14e
      oliver@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      61cca14e
    • zandobersek@gmail.com's avatar
      [GTK] Fix mismatched header guards in private WK1 header files · 1f215b18
      zandobersek@gmail.com authored
      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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1f215b18
    • oliver@apple.com's avatar
      Refactor PutPropertySlot to be aware of custom properties · 6884841a
      oliver@apple.com authored
      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):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6884841a
    • fpizlo@apple.com's avatar
      Rationalize DFG DCE · 9775655d
      fpizlo@apple.com authored
      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):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9775655d
    • ap@apple.com's avatar
      Accessing Trac from build.webkit.org/dashboard should enable XMLHttpRequest.withCredentials · 04118560
      ap@apple.com authored
      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):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      04118560
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r160846. · a668ac64
      commit-queue@webkit.org authored
      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):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a668ac64
    • mrobinson@webkit.org's avatar
      [GTK] [CMake] run-gtk-tests should run with the cmake build · 96f03ef5
      mrobinson@webkit.org authored
      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.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      96f03ef5
    • ap@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=126391 · fb8dbbb3
      ap@apple.com authored
      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.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fb8dbbb3
    • simon.fraser@apple.com's avatar
      Add AsyncScrollingCoordinator, which is a base class for threaded and future... · 6576a4b7
      simon.fraser@apple.com authored
      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.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6576a4b7
    • akling@apple.com's avatar
      Simplify the insides of DocumentSharedObjectPool and reduce memory usage. · 2e4918b1
      akling@apple.com authored
      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):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e4918b1
    • krit@webkit.org's avatar
      Support <box> values computed style for 'clip-path' property · a4389c23
      krit@webkit.org authored
      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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a4389c23
    • antti@apple.com's avatar
      Always resolve style from root · 1fbb5c99
      antti@apple.com authored
      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:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1fbb5c99
    • antti@apple.com's avatar
      Remove PlaceholderDocument · e9bd3267
      antti@apple.com authored
      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):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e9bd3267
    • benjamin@webkit.org's avatar
      Attempt to fix the build of WebCore's code generator on CMake based system · c2a7dfd9
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=126271
      
      Reviewed by Sam Weinig.
      
      * CMakeLists.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161206 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c2a7dfd9
    • antti@apple.com's avatar
      Remove public attachRenderTree · eb1e9087
      antti@apple.com authored
      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.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb1e9087
  2. 01 Jan, 2014 12 commits
    • seokju@webkit.org's avatar
      Remove stale ScriptProfiler methods · 5abcf76f
      seokju@webkit.org authored
      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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5abcf76f
    • akling@apple.com's avatar
      Remove ChromeClient::fullScreenRendererChanged(). · 8da15849
      akling@apple.com authored
      <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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8da15849
    • simon.fraser@apple.com's avatar
      Fix the build by exposing some more scrolling state node headers · 4c0e3bdf
      simon.fraser@apple.com authored
      as Private in WebCore.framework.
      
      * WebCore.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c0e3bdf
    • ryuan.choi@samsung.com's avatar
      [EFL] Unreviewed build fix after r160903 when ACCESSIBILITY is disabled · c2fb3d3d
      ryuan.choi@samsung.com authored
      * accessibility/AccessibilityObject.h:
      (WebCore::AccessibilityObject::children):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161201 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c2fb3d3d
    • akling@apple.com's avatar
      RenderScrollbar: Map of scrollbar parts should use RenderPtr. · a351e06d
      akling@apple.com authored
      <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.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a351e06d
    • antti@apple.com's avatar
      Remove reattachRenderTree · 99eea33d
      antti@apple.com authored
      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.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161199 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      99eea33d
    • simon.fraser@apple.com's avatar
      Create a ThreadedScrollingTree subclass of ScrollingTree, and push all... · 1584c72a
      simon.fraser@apple.com authored
      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:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161198 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1584c72a
    • akling@apple.com's avatar
      FrameView: Store scroll corner renderer in a RenderPtr. · 7294513b
      akling@apple.com authored
      <https://webkit.org/b/126364>
      
      Make FrameView::m_scrollCorner a RenderPtr<RenderScrollbarPart> and
      remove two manual destroy() calls.
      
      Reviewed by Antti Koivisto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161197 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7294513b
    • antti@apple.com's avatar
      Remove elementChildren/elementDescendants shorthands · 3eb8fea5
      antti@apple.com authored
      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):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3eb8fea5
    • antti@apple.com's avatar
      Do less synchronous render tree construction · ef239769
      antti@apple.com authored
      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.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef239769
    • simon.fraser@apple.com's avatar
      Updating the scrolling tree should use references to state nodes · 1fb2e828
      simon.fraser@apple.com authored
      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):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1fb2e828
    • zandobersek@gmail.com's avatar
      Unreviewed GTK gardening. · 239cbca4
      zandobersek@gmail.com authored
      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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161193 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      239cbca4