1. 25 Aug, 2013 3 commits
    • fpizlo@apple.com's avatar
      FloatTypedArrayAdaptor::toJSValue should almost certainly not use jsNumber()... · 1fb752ad
      fpizlo@apple.com authored
      FloatTypedArrayAdaptor::toJSValue should almost certainly not use jsNumber() since that attempts int conversions
      https://bugs.webkit.org/show_bug.cgi?id=120228
      
      Source/JavaScriptCore: 
      
      Reviewed by Oliver Hunt.
              
      It turns out that there were three problems:
              
      - Using jsNumber() meant that we were converting doubles to integers and then
        possibly back again whenever doing a set() between floating point arrays.
              
      - Slow-path accesses to double typed arrays were slower than necessary because
        of the to-int conversion attempt.
              
      - The use of JSValue as an intermediate for converting between differen types
        in typedArray.set() resulted in worse code than I had previously expected.
              
      This patch solves the problem by using template double-dispatch to ensure that
      that C++ compiler sees the simplest possible combination of casts between any
      combination of typed array types, while still preserving JS and typed array
      conversion semantics. Conversions are done as follows:
              
          SourceAdaptor::convertTo<TargetAdaptor>(value)
              
      Internally, convertTo() calls one of three possible methods on TargetAdaptor,
      with one method for each of int32_t, uint32_t, and double. This means that the
      C++ compiler will at worst see a widening cast to one of those types followed
      by a narrowing conversion (not necessarily a cast - may have clamping or the
      JS toInt32() function).
              
      This change doesn't just affect typedArray.set(); it also affects slow-path
      accesses to typed arrays as well. This patch also adds a bunch of new test
      coverage.
              
      This change is a ~50% speed-up on typedArray.set() involving floating point
      types.
      
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * runtime/GenericTypedArrayView.h:
      (JSC::GenericTypedArrayView::set):
      * runtime/JSDataViewPrototype.cpp:
      (JSC::setData):
      * runtime/JSGenericTypedArrayView.h:
      (JSC::JSGenericTypedArrayView::setIndexQuicklyToDouble):
      (JSC::JSGenericTypedArrayView::setIndexQuickly):
      * runtime/JSGenericTypedArrayViewInlines.h:
      (JSC::::setWithSpecificType):
      (JSC::::set):
      * runtime/ToNativeFromValue.h: Added.
      (JSC::toNativeFromValue):
      * runtime/TypedArrayAdaptors.h:
      (JSC::IntegralTypedArrayAdaptor::toJSValue):
      (JSC::IntegralTypedArrayAdaptor::toDouble):
      (JSC::IntegralTypedArrayAdaptor::toNativeFromInt32):
      (JSC::IntegralTypedArrayAdaptor::toNativeFromUint32):
      (JSC::IntegralTypedArrayAdaptor::toNativeFromDouble):
      (JSC::IntegralTypedArrayAdaptor::convertTo):
      (JSC::FloatTypedArrayAdaptor::toJSValue):
      (JSC::FloatTypedArrayAdaptor::toDouble):
      (JSC::FloatTypedArrayAdaptor::toNativeFromInt32):
      (JSC::FloatTypedArrayAdaptor::toNativeFromUint32):
      (JSC::FloatTypedArrayAdaptor::toNativeFromDouble):
      (JSC::FloatTypedArrayAdaptor::convertTo):
      (JSC::Uint8ClampedAdaptor::toJSValue):
      (JSC::Uint8ClampedAdaptor::toDouble):
      (JSC::Uint8ClampedAdaptor::toNativeFromInt32):
      (JSC::Uint8ClampedAdaptor::toNativeFromUint32):
      (JSC::Uint8ClampedAdaptor::toNativeFromDouble):
      (JSC::Uint8ClampedAdaptor::convertTo):
      
      LayoutTests: 
      
      Reviewed by Oliver Hunt.
              
      Add coverage for three things:
              
      - Typed array accesses with corner-case values.
              
      - Typed array set() (i.e. copy) between arrays of different types.
              
      - Performance of typedArray.set() involving different types.
              
      This required some changes to our test harnesses, since they previously
      couldn't consistently do numerical array comparisons in a reliable way.
      
      * fast/js/regress/Float32Array-to-Float64Array-set-expected.txt: Added.
      * fast/js/regress/Float32Array-to-Float64Array-set.html: Added.
      * fast/js/regress/Float64Array-to-Int16Array-set-expected.txt: Added.
      * fast/js/regress/Float64Array-to-Int16Array-set.html: Added.
      * fast/js/regress/Int16Array-to-Int32Array-set-expected.txt: Added.
      * fast/js/regress/Int16Array-to-Int32Array-set.html: Added.
      * fast/js/regress/script-tests/Float32Array-to-Float64Array-set.js: Added.
      * fast/js/regress/script-tests/Float64Array-to-Int16Array-set.js: Added.
      * fast/js/regress/script-tests/Int16Array-to-Int32Array-set.js: Added.
      * fast/js/resources/js-test-pre.js:
      (areNumbersEqual):
      (areArraysEqual):
      (isResultCorrect):
      * fast/js/resources/standalone-pre.js:
      (areNumbersEqual):
      (areArraysEqual):
      (isTypedArray):
      (isResultCorrect):
      (stringify):
      (shouldBe):
      * fast/js/script-tests/typed-array-access.js: Added.
      (bitsToString):
      (bitsToValue):
      (valueToBits):
      (roundTrip):
      * fast/js/script-tests/typed-array-set-different-types.js: Added.
      (MyRandom):
      (.reference):
      (.usingConstruct):
      * fast/js/typed-array-access-expected.txt: Added.
      * fast/js/typed-array-access.html: Added.
      * fast/js/typed-array-set-different-types-expected.txt: Added.
      * fast/js/typed-array-set-different-types.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154569 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1fb752ad
    • ryuan.choi@samsung.com's avatar
      Unreviewed EFL gardening. · 57ac83d3
      ryuan.choi@samsung.com authored
      * platform/efl/TestExpectations:
      Unskipped some accessibility tests which are already passed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      57ac83d3
    • zandobersek@gmail.com's avatar
      Unreviewed GTK build fix after r154565. · b2f9b5cb
      zandobersek@gmail.com authored
      * UIProcess/API/gtk/tests/TestInspector.cpp: Include the Vector header.
      * UIProcess/API/gtk/tests/TestResources.cpp: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2f9b5cb
  2. 24 Aug, 2013 28 commits
    • ryuan.choi@samsung.com's avatar
      Unreviewed build fix after r154560 · 0c12208f
      ryuan.choi@samsung.com authored
      * page/FrameTree.cpp:
      (WebCore::FrameTree::scopedChild):
      Use tree(). instead of tree()->.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c12208f
    • benjamin@webkit.org's avatar
      Save three bytes per CStringBuffer object · 7db5494c
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120040
      
      Reviewed by Darin Adler.
      
      Merge https://chromium.googlesource.com/chromium/blink/+/894ae8eafdb64912aefd8f9c809f4ccda84f3b89
      
      sizeof(CStringBuffer) was rounded up to 8 on account of struct size and
      alignment rules. This is clearly not what was intended.
      
      * wtf/text/CString.cpp:
      (WTF::CStringBuffer::createUninitialized):
      * wtf/text/CString.h:
      (WTF::CStringBuffer::data):
      (WTF::CStringBuffer::mutableData):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7db5494c
    • bfulgham@apple.com's avatar
      [Windows] Another attempt to fix the Windows bots. Need to retain older · ec7d3748
      bfulgham@apple.com authored
      QuickTime player features for external builders.
      
      * win/include/WebKitSystemInterface/WebKitSystemInterface.h:
      * win/lib32/WebKitSystemInterface.lib:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ec7d3748
    • fpizlo@apple.com's avatar
      Unreviewed, fix build-webkit --ftl-jit in the case that you have your own llvm... · 8c4949bc
      fpizlo@apple.com authored
      Unreviewed, fix build-webkit --ftl-jit in the case that you have your own llvm directory. We need to
      prune 'libgtest' and friends from the llvm build, since WebKit builds its own and none of the llvm
      libraries depend on libgtest anyway.
      
      * Scripts/copy-webkitlibraries-to-product-directory:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c4949bc
    • benjamin@webkit.org's avatar
      <https://webkit.org/b/120102> Inline SelectorQuery's execution traits · d2bc8d15
      benjamin@webkit.org authored
      Reviewed by Sam Weinig.
      
      For some reason, clang does not always inline the trait. The operations are so simple
      that it shows up in profile.
      Force the inlining to match the original speed.
      
      * dom/SelectorQuery.cpp:
      (WebCore::AllElementExtractorSelectorQueryTrait::appendOutputForElement):
      (WebCore::SingleElementExtractorSelectorQueryTrait::appendOutputForElement):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2bc8d15
    • benjamin@webkit.org's avatar
      Remove a useless #include from StyledElement · b5e6855f
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120245
      
      Reviewed by Andreas Kling.
      
      * dom/StyledElement.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154561 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b5e6855f
    • darin@apple.com's avatar
      Move Frame::inScope into FrameTree · ccb70760
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120257
      
      Reviewed by Sam Weinig.
      
      * page/Frame.cpp: Removed inScope.
      * page/Frame.h: Ditto.
      
      * page/FrameTree.cpp:
      (WebCore::inScope): Moved it here.
      (WebCore::FrameTree::scopedChild): Changed to call new function.
      (WebCore::FrameTree::scopedChildCount): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ccb70760
    • ddkilzer@apple.com's avatar
      BUILD FIX: Include HTMLPlugInImageElement.h for ENABLE(PLUGIN_PROXY_FOR_VIDEO) · ec3baf52
      ddkilzer@apple.com authored
      Fixes the following build failure for iOS:
      
          In file included from Source/WebCore/accessibility/AccessibilityAllInOne.cpp:28:
          In file included from Source/WebCore/accessibility/AXObjectCache.cpp:42:
          In file included from Source/WebCore/accessibility/AccessibilityMediaControls.h:36:
          In file included from Source/WebCore/html/shadow/MediaControlElements.h:34:
          In file included from Source/WebCore/html/shadow/MediaControlElementTypes.h:37:
          Source/WebCore/html/HTMLMediaElement.h:324:23: error: unknown type name 'PluginCreationOption'
              void updateWidget(PluginCreationOption);
                                ^
      
      * html/HTMLMediaElement.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ec3baf52
    • darin@apple.com's avatar
      Frame::tree should return a reference instead of a pointer · fed4d16e
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120259
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      * page/Frame.h:
      (WebCore::Frame::tree): Return a reference instead of a pointer.
      
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::childFrameGetter):
      (WebCore::indexGetter):
      (WebCore::JSDOMWindow::getOwnPropertySlot):
      (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
      (WebCore::JSDOMWindow::setLocation):
      * bindings/js/PageScriptDebugServer.cpp:
      (WebCore::PageScriptDebugServer::setJavaScriptPaused):
      * dom/Document.cpp:
      (WebCore::canAccessAncestor):
      (WebCore::Document::adoptNode):
      (WebCore::Document::canNavigate):
      (WebCore::Document::findUnsafeParentScrollPropagationBoundary):
      (WebCore::Document::notifySeamlessChildDocumentsOfStylesheetUpdate):
      (WebCore::Document::openSearchDescriptionURL):
      (WebCore::Document::setDesignMode):
      (WebCore::Document::parentDocument):
      (WebCore::Document::initSecurityContext):
      (WebCore::Document::initContentSecurityPolicy):
      (WebCore::Document::requestFullScreenForElement):
      (WebCore::Document::webkitExitFullscreen):
      (WebCore::Document::didRemoveTouchEventHandler):
      * dom/TreeScope.cpp:
      (WebCore::focusedFrameOwnerElement):
      * editing/FrameSelection.cpp:
      (WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):
      * history/CachedFrame.cpp:
      (WebCore::CachedFrameBase::CachedFrameBase):
      (WebCore::CachedFrameBase::restore):
      (WebCore::CachedFrame::CachedFrame):
      * history/CachedPage.cpp:
      (WebCore::CachedPage::restore):
      * history/PageCache.cpp:
      (WebCore::logCanCacheFrameDecision):
      (WebCore::PageCache::canCachePageContainingThisFrame):
      * html/HTMLDocument.cpp:
      (WebCore::HTMLDocument::hasFocus):
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns):
      * inspector/InspectorApplicationCacheAgent.cpp:
      (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
      * inspector/InspectorCanvasAgent.cpp:
      (WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
      (WebCore::InspectorCanvasAgent::frameNavigated):
      * inspector/InspectorDOMAgent.cpp:
      (WebCore::InspectorDOMAgent::documents):
      * inspector/InspectorFileSystemAgent.cpp:
      (WebCore::InspectorFileSystemAgent::assertScriptExecutionContextForOrigin):
      * inspector/InspectorPageAgent.cpp:
      (WebCore::InspectorPageAgent::getCookies):
      (WebCore::InspectorPageAgent::deleteCookie):
      (WebCore::InspectorPageAgent::searchInResources):
      (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
      (WebCore::InspectorPageAgent::buildObjectForFrame):
      (WebCore::InspectorPageAgent::buildObjectForFrameTree):
      * inspector/PageRuntimeAgent.cpp:
      (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
      * loader/DocumentLoader.cpp:
      (WebCore::DocumentLoader::willSendRequest):
      (WebCore::DocumentLoader::mainResource):
      * loader/DocumentWriter.cpp:
      (WebCore::DocumentWriter::createDecoderIfNeeded):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::submitForm):
      (WebCore::FrameLoader::allChildrenAreComplete):
      (WebCore::FrameLoader::allAncestorsAreComplete):
      (WebCore::FrameLoader::loadURLIntoChildFrame):
      (WebCore::FrameLoader::outgoingReferrer):
      (WebCore::FrameLoader::updateFirstPartyForCookies):
      (WebCore::FrameLoader::setFirstPartyForCookies):
      (WebCore::FrameLoader::completed):
      (WebCore::FrameLoader::started):
      (WebCore::FrameLoader::loadURL):
      (WebCore::FrameLoader::loadWithDocumentLoader):
      (WebCore::FrameLoader::stopAllLoaders):
      (WebCore::FrameLoader::commitProvisionalLoad):
      (WebCore::FrameLoader::closeOldDataSources):
      (WebCore::FrameLoader::prepareForCachedPageRestore):
      (WebCore::FrameLoader::subframeIsLoading):
      (WebCore::FrameLoader::subresourceCachePolicy):
      (WebCore::FrameLoader::detachChildren):
      (WebCore::FrameLoader::closeAndRemoveChild):
      (WebCore::FrameLoader::checkLoadComplete):
      (WebCore::FrameLoader::numPendingOrLoadingRequests):
      (WebCore::FrameLoader::detachFromParent):
      (WebCore::FrameLoader::shouldClose):
      (WebCore::FrameLoader::handleBeforeUnloadEvent):
      (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
      (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
      (WebCore::FrameLoader::findFrameForNavigation):
      (WebCore::FrameLoader::effectiveSandboxFlags):
      (WebCore::createWindow):
      * loader/HistoryController.cpp:
      (WebCore::HistoryController::saveDocumentState):
      (WebCore::HistoryController::saveDocumentAndScrollState):
      (WebCore::HistoryController::restoreDocumentState):
      (WebCore::HistoryController::goToItem):
      (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
      (WebCore::HistoryController::recursiveUpdateForCommit):
      (WebCore::HistoryController::recursiveUpdateForSameDocumentNavigation):
      (WebCore::HistoryController::initializeItem):
      (WebCore::HistoryController::createItemTree):
      (WebCore::HistoryController::recursiveSetProvisionalItem):
      (WebCore::HistoryController::recursiveGoToItem):
      (WebCore::HistoryController::currentFramesMatchItem):
      * loader/NavigationScheduler.cpp:
      (WebCore::NavigationScheduler::mustLockBackForwardList):
      (WebCore::NavigationScheduler::scheduleFormSubmission):
      * loader/ProgressTracker.cpp:
      (WebCore::ProgressTracker::progressStarted):
      (WebCore::ProgressTracker::progressCompleted):
      (WebCore::ProgressTracker::isMainLoadProgressing):
      * loader/appcache/ApplicationCacheGroup.cpp:
      (WebCore::ApplicationCacheGroup::selectCache):
      (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
      * loader/archive/cf/LegacyWebArchive.cpp:
      (WebCore::LegacyWebArchive::create):
      * loader/cache/CachedResourceLoader.cpp:
      (WebCore::CachedResourceLoader::checkInsecureContent):
      * loader/icon/IconController.cpp:
      (WebCore::IconController::urlsForTypes):
      (WebCore::IconController::startLoader):
      * page/Chrome.cpp:
      (WebCore::canRunModalIfDuringPageDismissal):
      (WebCore::Chrome::windowScreenDidChange):
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::length):
      (WebCore::DOMWindow::name):
      (WebCore::DOMWindow::setName):
      (WebCore::DOMWindow::parent):
      (WebCore::DOMWindow::top):
      (WebCore::DOMWindow::open):
      * page/EventHandler.cpp:
      (WebCore::EventHandler::scrollRecursively):
      (WebCore::EventHandler::logicalScrollRecursively):
      (WebCore::EventHandler::handleMouseMoveEvent):
      * page/FocusController.cpp:
      (WebCore::FocusController::setContainingWindowIsVisible):
      * page/Frame.cpp:
      (WebCore::parentPageZoomFactor):
      (WebCore::parentTextZoomFactor):
      (WebCore::Frame::setPrinting):
      (WebCore::Frame::shouldUsePrintingLayout):
      (WebCore::Frame::dispatchVisibilityStateChangeEvent):
      (WebCore::Frame::willDetachPage):
      (WebCore::Frame::setPageAndTextZoomFactors):
      (WebCore::Frame::deviceOrPageScaleFactorChanged):
      (WebCore::Frame::notifyChromeClientWheelEventHandlerCountChanged):
      (WebCore::Frame::isURLAllowed):
      * page/FrameTree.cpp:
      (WebCore::FrameTree::~FrameTree):
      (WebCore::FrameTree::setName):
      (WebCore::FrameTree::transferChild):
      (WebCore::FrameTree::appendChild):
      (WebCore::FrameTree::actuallyAppendChild):
      (WebCore::FrameTree::removeChild):
      (WebCore::FrameTree::uniqueChildName):
      (WebCore::FrameTree::scopedChild):
      (WebCore::FrameTree::scopedChildCount):
      (WebCore::FrameTree::childCount):
      (WebCore::FrameTree::child):
      (WebCore::FrameTree::find):
      (WebCore::FrameTree::isDescendantOf):
      (WebCore::FrameTree::traverseNext):
      (WebCore::FrameTree::traversePreviousWithWrap):
      (WebCore::FrameTree::deepLastChild):
      (WebCore::FrameTree::top):
      (printFrames):
      (showFrameTree):
      * page/FrameView.cpp:
      (WebCore::FrameView::setFrameRect):
      (WebCore::FrameView::hasCompositedContentIncludingDescendants):
      (WebCore::FrameView::hasCompositingAncestor):
      (WebCore::FrameView::flushCompositingStateIncludingSubframes):
      (WebCore::FrameView::updateCanBlitOnScrollRecursively):
      (WebCore::FrameView::setIsOverlapped):
      (WebCore::FrameView::shouldUseLoadTimeDeferredRepaintDelay):
      (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
      (WebCore::FrameView::serviceScriptedAnimations):
      (WebCore::FrameView::updateBackgroundRecursively):
      (WebCore::FrameView::parentFrameView):
      (WebCore::FrameView::paintContentsForSnapshot):
      (WebCore::FrameView::setTracksRepaints):
      (WebCore::FrameView::notifyWidgetsInAllFrames):
      * page/Location.cpp:
      (WebCore::Location::ancestorOrigins):
      * page/Page.cpp:
      (WebCore::networkStateChanged):
      (WebCore::Page::~Page):
      (WebCore::Page::renderTreeSize):
      (WebCore::Page::updateStyleForAllPagesAfterGlobalChangeInEnvironment):
      (WebCore::Page::setNeedsRecalcStyleInAllFrames):
      (WebCore::Page::refreshPlugins):
      (WebCore::Page::takeAnyMediaCanStartListener):
      (WebCore::incrementFrame):
      (WebCore::Page::setDefersLoading):
      (WebCore::Page::setMediaVolume):
      (WebCore::Page::setDeviceScaleFactor):
      (WebCore::Page::setShouldSuppressScrollbarAnimations):
      (WebCore::Page::didMoveOnscreen):
      (WebCore::Page::willMoveOffscreen):
      (WebCore::Page::setIsInWindow):
      (WebCore::Page::suspendScriptedAnimations):
      (WebCore::Page::resumeScriptedAnimations):
      (WebCore::Page::userStyleSheetLocationChanged):
      (WebCore::Page::allVisitedStateChanged):
      (WebCore::Page::visitedStateChanged):
      (WebCore::Page::setDebugger):
      (WebCore::Page::setMemoryCacheClientCallsEnabled):
      (WebCore::Page::setMinimumTimerInterval):
      (WebCore::Page::setTimerAlignmentInterval):
      (WebCore::Page::dnsPrefetchingStateChanged):
      (WebCore::Page::collectPluginViews):
      (WebCore::Page::storageBlockingStateChanged):
      (WebCore::Page::privateBrowsingStateChanged):
      (WebCore::Page::checkSubframeCountConsistency):
      (WebCore::Page::suspendActiveDOMObjectsAndAnimations):
      (WebCore::Page::resumeActiveDOMObjectsAndAnimations):
      (WebCore::Page::captionPreferencesChanged):
      * page/PageGroup.cpp:
      (WebCore::PageGroup::invalidateInjectedStyleSheetCacheInAllFrames):
      * page/PageGroupLoadDeferrer.cpp:
      (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
      (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
      * page/PageSerializer.cpp:
      (WebCore::PageSerializer::serializeFrame):
      * page/PageThrottler.cpp:
      (WebCore::PageThrottler::throttlePage):
      (WebCore::PageThrottler::unthrottlePage):
      * page/Settings.cpp:
      (WebCore::setImageLoadingSettings):
      (WebCore::Settings::setTextAutosizingFontScaleFactor):
      * page/SpatialNavigation.cpp:
      (WebCore::rectToAbsoluteCoordinates):
      * page/animation/AnimationController.cpp:
      (WebCore::AnimationControllerPrivate::suspendAnimations):
      (WebCore::AnimationControllerPrivate::resumeAnimations):
      * page/mac/PageMac.cpp:
      (WebCore::Page::addSchedulePair):
      (WebCore::Page::removeSchedulePair):
      * page/scrolling/ScrollingCoordinator.cpp:
      (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
      (WebCore::ScrollingCoordinator::computeCurrentWheelEventHandlerCount):
      * plugins/PluginView.cpp:
      (WebCore::PluginView::performRequest):
      (WebCore::PluginView::load):
      * rendering/HitTestResult.cpp:
      (WebCore::HitTestResult::targetFrame):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
      (WebCore::RenderLayerCompositor::updateCompositingLayers):
      (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
      * rendering/TextAutosizer.cpp:
      (WebCore::TextAutosizer::processSubtree):
      * storage/StorageEventDispatcher.cpp:
      (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
      (WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
      * svg/SVGSVGElement.cpp:
      (WebCore::SVGSVGElement::currentScale):
      (WebCore::SVGSVGElement::setCurrentScale):
      * testing/Internals.cpp:
      (WebCore::Internals::formControlStateOfPreviousHistoryItem):
      (WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
      (WebCore::Internals::numberOfScrollableAreas):
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      (WebCore::hasNoStyleInformation):
      Use tree(). instead of tree()->.
      
      Source/WebKit/blackberry:
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::closeURLRecursively):
      (BlackBerry::WebKit::enableCrossSiteXHRRecursively):
      (BlackBerry::WebKit::WebPagePrivate::setScreenOrientation):
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      (WebCore::FrameLoaderClientBlackBerry::createFrame):
      * WebKitSupport/DOMSupport.cpp:
      (BlackBerry::WebKit::DOMSupport::convertPointToFrame):
      (BlackBerry::WebKit::DOMSupport::incrementFrame):
      Use tree(). instead of tree()->.
      
      Source/WebKit/efl:
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      (DumpRenderTreeSupportEfl::clearFrameName):
      (DumpRenderTreeSupportEfl::frameChildren):
      (DumpRenderTreeSupportEfl::frameParent):
      * ewk/ewk_frame.cpp:
      (_ewk_frame_children_iterator_next):
      (ewk_frame_child_find):
      (ewk_frame_name_get):
      (ewk_frame_child_add):
      * ewk/ewk_view.cpp:
      (ewk_view_frame_create):
      Use tree(). instead of tree()->.
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
      (DumpRenderTreeSupportGtk::getFrameChildren):
      (DumpRenderTreeSupportGtk::clearMainFrameName):
      * WebCoreSupport/FrameLoaderClientGtk.cpp:
      (WebKit::FrameLoaderClient::createFrame):
      * webkit/webkitwebframe.cpp:
      (webkit_web_frame_get_name):
      (webkit_web_frame_get_parent):
      (webkit_web_frame_find_frame):
      * webkit/webkitwebview.cpp:
      (webkit_web_view_set_highlight_text_matches):
      Use tree(). instead of tree()->.
      
      Source/WebKit/mac:
      
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::performRequest):
      * Plugins/WebBaseNetscapePluginView.mm:
      (-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]):
      * Plugins/WebNetscapePluginView.mm:
      (-[WebNetscapePluginView loadPluginRequest:]):
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (applyAppleDictionaryApplicationQuirkNonInlinePart):
      (WebFrameLoaderClient::prepareForDataSourceReplacement):
      (WebFrameLoaderClient::createFrame):
      * WebView/WebFrame.mm:
      (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
      (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
      (-[WebFrame _unmarkAllBadGrammar]):
      (-[WebFrame _unmarkAllMisspellings]):
      (-[WebFrame _atMostOneFrameHasSelection]):
      (-[WebFrame _findFrameWithSelection]):
      (-[WebFrame _drawRect:contentsOnly:]):
      (-[WebFrame _isDescendantOfFrame:]):
      (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
      (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
      (-[WebFrame name]):
      (-[WebFrame findFrameNamed:]):
      (-[WebFrame parentFrame]):
      (-[WebFrame childFrames]):
      * WebView/WebView.mm:
      (-[WebView _attachScriptDebuggerToAllFrames]):
      (-[WebView _detachScriptDebuggerFromAllFrames]):
      (-[WebView _clearMainFrameName]):
      (-[WebView _isUsingAcceleratedCompositing]):
      (-[WebView _isSoftwareRenderable]):
      (-[WebView setHostWindow:]):
      (incrementFrame):
      Use tree(). instead of tree()->.
      
      Source/WebKit/qt:
      
      * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
      (DumpRenderTreeSupportQt::clearFrameName):
      * WebCoreSupport/FrameLoaderClientQt.cpp:
      (drtDescriptionSuitableForTestResult):
      (WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
      (WebCore::FrameLoaderClientQt::dispatchDidFinishDocumentLoad):
      (WebCore::FrameLoaderClientQt::postProgressStartedNotification):
      (WebCore::FrameLoaderClientQt::didPerformFirstNavigation):
      (WebCore::FrameLoaderClientQt::createFrame):
      * WebCoreSupport/QWebFrameAdapter.cpp:
      (QWebFrameData::QWebFrameData):
      (QWebFrameAdapter::load):
      (QWebFrameAdapter::uniqueName):
      (QWebFrameAdapter::childFrames):
      * WebCoreSupport/QWebPageAdapter.cpp:
      (QWebPageAdapter::findText):
      Use tree(). instead of tree()->.
      
      Source/WebKit/win:
      
      * WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebFrameLoaderClient::createFrame):
      * WebFrame.cpp:
      (WebFrame::name):
      (WebFrame::findFrameNamed):
      (WebFrame::parentFrame):
      (EnumChildFrames::EnumChildFrames):
      (EnumChildFrames::Next):
      (EnumChildFrames::Skip):
      (EnumChildFrames::Reset):
      (WebFrame::isDescendantOfFrame):
      (WebFrame::unmarkAllMisspellings):
      (WebFrame::unmarkAllBadGrammar):
      * WebView.cpp:
      (WebView::initWithFrame):
      (incrementFrame):
      (WebView::clearMainFrameName):
      Use tree(). instead of tree()->.
      
      Source/WebKit/wince:
      
      * WebView.cpp:
      (WebView::createFrame):
      Use tree(). instead of tree()->.
      
      Source/WebKit2:
      
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::PluginView::performJavaScriptURLRequest):
      * WebProcess/Storage/StorageAreaMap.cpp:
      (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
      (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::createFrame):
      * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
      (WebKit::WebContextMenuClient::searchWithSpotlight):
      * WebProcess/WebPage/FindController.cpp:
      (WebKit::frameWithSelection):
      (WebKit::FindController::rectsForTextMatches):
      * WebProcess/WebPage/WebFrame.cpp:
      (WebKit::WebFrame::init):
      (WebKit::WebFrame::contentsAsString):
      (WebKit::WebFrame::name):
      (WebKit::WebFrame::childFrames):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::clearMainFrameName):
      (WebKit::WebPage::setDrawsBackground):
      (WebKit::WebPage::setDrawsTransparentBackground):
      (WebKit::WebPage::setWindowResizerSize):
      (WebKit::frameWithSelection):
      (WebKit::WebPage::unmarkAllMisspellings):
      (WebKit::WebPage::unmarkAllBadGrammar):
      (WebKit::pageContainsAnyHorizontalScrollbars):
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
      Use tree(). instead of tree()->.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154558 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fed4d16e
    • mitz@apple.com's avatar
      [mac] link against libz in a more civilized manner · 28a23036
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120258
      
      Reviewed by Darin Adler.
      
      * Configurations/JavaScriptCore.xcconfig: Removed “-lz” from OTHER_LDFLAGS_BASE.
      * JavaScriptCore.xcodeproj/project.pbxproj: Added libz.dylib to the JavaScriptCore target’s
      Link Binary With Libraries build phase.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154557 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28a23036
    • akling@apple.com's avatar
      Merge Document::viewportSize() logic into RenderView::viewportSize(). · 7b131b9d
      akling@apple.com authored
      <https://webkit.org/b/120254>
      
      Reviewed by Darin Adler.
      
      RenderView can just ask FrameView (the viewport) about its size directly, no need for
      a weirdly-placed method on Document.
      
      * dom/Document.cpp:
      * rendering/RenderView.cpp:
      (WebCore::RenderView::viewportSize):
      * rendering/RenderView.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7b131b9d
    • darin@apple.com's avatar
      RetainPtr lacks move constructor for case when argument is a RetainPtr of a different type · d8ed2323
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120255
      
      Reviewed by Andreas Kling.
      
      Source/WTF:
      
      * wtf/RetainPtr.h: Added missing move constructor, modeled on the other move constructor,
      and the one from RetPtr.
      
      Tools:
      
      * TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm: Added four tests covering move assignment and construction.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154555 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d8ed2323
    • akling@apple.com's avatar
      RenderObject::frame() should return a reference. · e4b42ffe
      akling@apple.com authored
      <https://webkit.org/b/120251>
      
      Reviewed by Darin Adler.
      
      There is now always a Frame, and we can get to it by walking this path:
      
          RenderObject -> Document -> RenderView -> FrameView -> Frame
      
      Removed the customary horde of null checks.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154554 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e4b42ffe
    • oliver@apple.com's avatar
      Make the world build. · 75a5d88c
      oliver@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154553 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      75a5d88c
    • oliver@apple.com's avatar
      REGRESSION(r154498): Crashes on EFL, GTK, Qt on release configurations · 19e7cbfd
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120246
      
      Reviewed by Antti Koivisto.
      
      Undestroy all the platforms that don't use the global new overload
      
      * wtf/Compression.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154552 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19e7cbfd
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r154545. · 37e7470a
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/154545
      https://bugs.webkit.org/show_bug.cgi?id=120252
      
      Broke WebKit2 API tests (Requested by andersca on #webkit).
      
      * GNUmakefile.list.am:
      * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
      * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
      (beforeAll):
      * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
      (methodCallCallback):
      * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
      (webkit_frame_get_javascript_global_context):
      * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h:
      * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Removed.
      * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Removed.
      * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Removed.
      * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
      (webkitWebPageCreate):
      * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154551 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37e7470a
    • joepeck@webkit.org's avatar
      Web Inspector: Breakpoints in the editors gutter should have a contextmenu · 7a1aa530
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120169
      
      Reviewed by Timothy Hatcher.
      
      Updated CodeMirror now has a gutterContextMenu event. Use that to give
      breakpoint related context menus. Add, Edit, Enable/Disable, Delete, and
      Reveal in Debugger Navigation Sidebar.
      
      * Localizations/en.lproj/localizedStrings.js:
      "Add Breakpoint", and "Reveal in Debugger Navigation Sidebar".
      
      * UserInterface/SourceCodeTextEditor.js:
      (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.addBreakpoint):
      (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.revealInSidebar):
      (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.removeBreakpoints):
      (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.toggleBreakpoints):
      (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
      Show a context menu when clicking on the gutter for 0 breakpoints,
      1 breakpoint, or >1 breakpoints. The only tricky handler is addBreakpoint,
      since that must update the TextEditor for the new breakpoint info.
      
      * UserInterface/TextEditor.js:
      (WebInspector.TextEditor):
      (WebInspector.TextEditor.prototype._gutterContextMenu):
      Send to delegate if the delegate implements textEditorGutterContextMenu.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154550 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a1aa530
    • akling@apple.com's avatar
      RenderLayer::compositor() should return a reference. · c3466048
      akling@apple.com authored
      <https://webkit.org/b/120250>
      
      Reviewed by Anders Carlsson.
      
      It was already converting from a reference to a pointer.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154549 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3466048
    • commit-queue@webkit.org's avatar
      Eliminate a useless comparison in srcset's candidate selection algorithm · d42ca388
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120235
      
      Source/WebCore:
      
      There is no point in comparing the last item in the candidates vector to the DPR, since it will be returned anyway. Therefore, the
      iteration on the candidates vector now skips the last candidate.
      
      Patch by Yoav Weiss <yoav@yoav.ws> on 2013-08-24
      Reviewed by Andreas Kling.
      
      * html/parser/HTMLParserIdioms.cpp:
      (WebCore::bestFitSourceForImageAttributes):
      
      LayoutTests:
      
      Removed MIME types from the test's output, since they're irrelevant for the test, and make it fragile.
      
      Patch by Yoav Weiss <yoav@yoav.ws> on 2013-08-24
      Reviewed by Andreas Kling.
      
      * fast/hidpi/image-srcset-fraction-expected.txt:
      * fast/hidpi/image-srcset-fraction.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154548 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d42ca388
    • andersca@apple.com's avatar
      Don't treat NSLocalizedDescriptionKey and... · 7d28d21e
      andersca@apple.com authored
      Don't treat NSLocalizedDescriptionKey and NSLocalizedRecoverySuggestionErrorKey as NSLocalized macros
      https://bugs.webkit.org/show_bug.cgi?id=120249
      
      Reviewed by Andreas Kling.
      
      * Scripts/extract-localizable-strings:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7d28d21e
    • akling@apple.com's avatar
      RenderObject::view() should return a reference. · 691cf5c1
      akling@apple.com authored
      <https://webkit.org/b/120247>
      
      Reviewed by Antti Koivisto.
      
      Now that the lifetime and accessibility characteristics of RenderView are well-defined,
      we can make RenderObject::view() return a reference, exposing a plethora of unnecessary
      null checks.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      691cf5c1
    • carlosgc@webkit.org's avatar
      [GTK] Add WebKit2 API for isolated worlds · 1dad7777
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=103377
      
      Reviewed by Anders Carlsson.
      
      * GNUmakefile.list.am: Add new files to compilation.
      * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
      * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
      (testWebExtensionWindowObjectCleared):
      (scriptDialogCallback):
      (runJavaScriptInIsolatedWorldFinishedCallback):
      (testWebExtensionIsolatedWorld):
      (beforeAll):
      * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
      (echoCallback):
      (windowObjectCleared):
      (getWebPage):
      (methodCallCallback):
      * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
      (webkit_frame_get_javascript_context_for_script_world): New public
      method to tget the JavaScript execution context for a given script
      world.
      * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h:
      * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Added.
      (scriptWorlds): Global WebKitScriptWorld map.
      (_WebKitScriptWorldPrivate::~_WebKitScriptWorldPrivate):
      (webkitScriptWorldGet): Get the WebKitScriptWorld wrapping the
      given injected bundle script world.
      (webkitScriptWorldGetInjectedBundleScriptWorld): Get the injected
      bundle script world wrapped by the given WebKitScriptWorld.
      (webkitScriptWorldWindowObjectCleared): Emit
      WebKitScriptWorld::window-object-cleared signal.
      (webkitScriptWorldCreate): Create a new WebKitScriptWorld wrapping
      the given injected bundle script world.
      (createDefaultScriptWorld): Create the default WebKitScriptWorld
      wrapping the normal world.
      (webkit_script_world_get_default): Return the default WebKitScriptWorld.
      (webkit_script_world_new): Create a new isolated WebKitScriptWorld.
      * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Added.
      * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Added.
      * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
      (didClearWindowObjectForFrame): Call webkitScriptWorldWindowObjectCleared().
      (webkitWebPageCreate): Add implementation for callback
      didClearWindowObjectForFrame in injected bundle loader client.
      * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
      Include WebKitScriptWorld.h.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154545 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1dad7777
    • carlosgc@webkit.org's avatar
      Unreviewed. Fix GTK+ build after r154541. · 16161366
      carlosgc@webkit.org authored
      * Source/autotools/symbols.filter: Export symbols required by
      libWebCoreInternal.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154544 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      16161366
    • commit-queue@webkit.org's avatar
      Web Inspector: Cleanup Inspector Agents a bit · ecfaf0d7
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120218
      
      Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-08-24
      Reviewed by Andreas Kling.
      
      Merge https://chromium.googlesource.com/chromium/blink/+/8693dcb8ba42a5c225f516c664fb0f453c8ba6f0.
      
      * inspector/InspectorCSSAgent.cpp:
      (WebCore::InspectorCSSAgent::elementForId):
      * inspector/InspectorStyleSheet.cpp:
      (ParsedStyleSheet::ParsedStyleSheet):
      (WebCore::InspectorStyle::setPropertyText):
      (WebCore::InspectorStyle::populateAllProperties):
      (WebCore::InspectorStyleSheet::inlineStyleSheetText):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ecfaf0d7
    • akling@apple.com's avatar
      Let Document keep its RenderView during render tree detach. · 19df30ed
      akling@apple.com authored
      <https://webkit.org/b/120233>
      
      Reviewed by Antti Koivisto.
      
      Instead of having "Document::renderer() == NULL" signify that the render tree is being
      torn down, give Document an explicit flag for this instead.
      
      This way, we can keep Document's RenderView in place during tree detach.
      
      * dom/Document.cpp:
      (WebCore::Document::Document):
      (WebCore::Document::detach):
      * dom/Document.h:
      (WebCore::Document::renderTreeBeingDestroyed):
      * rendering/RenderObject.h:
      (WebCore::RenderObject::documentBeingDestroyed):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154542 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19df30ed
    • antti@apple.com's avatar
      Tighten before/after pseudo element accessors · 9426a748
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120204
      
      Reviewed by Andreas Kling.
      
      We have generic looking Element::pseudoElement(PseudoID) which only returns before/after pseudo elements.
              
      Switch to Element::before/afterPseudoElement(), similarly for setters.
      
      * WebCore.exp.in:
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::ComputedStyleExtractor::styledNode):
      * dom/Element.cpp:
      (WebCore::Element::~Element):
      (WebCore::beforeOrAfterPseudeoElement):
      (WebCore::Element::computedStyle):
      (WebCore::Element::updatePseudoElement):
      (WebCore::Element::createPseudoElementIfNeeded):
      (WebCore::Element::updateBeforePseudoElement):
      (WebCore::Element::updateAfterPseudoElement):
      (WebCore::Element::beforePseudoElement):
      (WebCore::Element::afterPseudoElement):
      (WebCore::Element::setBeforePseudoElement):
      (WebCore::Element::setAfterPseudoElement):
      (WebCore::disconnectPseudoElement):
      (WebCore::Element::clearBeforePseudoElement):
      (WebCore::Element::clearAfterPseudoElement):
      (WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
      * dom/Element.h:
      * dom/ElementRareData.h:
      (WebCore::ElementRareData::beforePseudoElement):
      (WebCore::ElementRareData::afterPseudoElement):
      (WebCore::ElementRareData::hasPseudoElements):
      (WebCore::ElementRareData::~ElementRareData):
      (WebCore::ElementRareData::clearBeforePseudoElement):
      (WebCore::ElementRareData::clearAfterPseudoElement):
      (WebCore::ElementRareData::setBeforePseudoElement):
      (WebCore::ElementRareData::setAfterPseudoElement):
              
          Move detach logic to Element. ElementRareData should not implement semantics.
      
      * dom/Node.cpp:
      (WebCore::Node::pseudoAwarePreviousSibling):
      (WebCore::Node::pseudoAwareNextSibling):
      (WebCore::Node::pseudoAwareFirstChild):
      (WebCore::Node::pseudoAwareLastChild):
      * dom/NodeRenderingTraversal.cpp:
      (WebCore::NodeRenderingTraversal::nextSiblingSlow):
      (WebCore::NodeRenderingTraversal::previousSiblingSlow):
      * rendering/RenderTreeAsText.cpp:
      (WebCore::writeCounterValuesFromChildren):
      (WebCore::counterValueForElement):
      * style/StyleResolveTree.cpp:
      (WebCore::Style::attachRenderTree):
      (WebCore::Style::resolveTree):
      * testing/Internals.cpp:
      (WebCore::Internals::pauseAnimationAtTimeOnPseudoElement):
      (WebCore::Internals::pauseTransitionAtTimeOnPseudoElement):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9426a748
    • carlosgc@webkit.org's avatar
      [GTK] Expose WebKitFrame in WebKit2GTK+ web extensions API · 51f44d80
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119743
      
      Reviewed by Anders Carlsson.
      
      Source/WebKit2:
      
      * GNUmakefile.list.am: Add new files to compilation.
      * Shared/APIClientTraits.cpp: Update for new interface version.
      * Shared/APIClientTraits.h: Ditto.
      * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add WebKitFrame
      section.
      * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new public
      symbols.
      * UIProcess/API/gtk/docs/webkit2gtk.types: Add
      webkit_frame_get_type.
      * UIProcess/API/gtk/tests/FrameTest.cpp: Added.
      (WebKitFrameTest::create):
      (WebKitFrameTest::webPageFromArgs):
      (WebKitFrameTest::testMainFrame):
      (WebKitFrameTest::testURI):
      (WebKitFrameTest::testJavaScriptContext):
      (WebKitFrameTest::runTest):
      (registerTests):
      * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test files.
      * UIProcess/API/gtk/tests/TestFrame.cpp: Added.
      (webkitFrameTestRun):
      (testWebKitFrameMainFrame):
      (testWebKitFrameURI):
      (testWebKitFrameJavaScriptContext):
      (beforeAll):
      (afterAll):
      * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add
      willDestroyFrame callback to the injected bundle loader client, to
      notify the client when a frame is about to be destroyed.
      * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp: Added.
      (webkit_frame_class_init):
      (webkitFrameCreate):
      (webkit_frame_is_main_frame):
      (webkit_frame_get_uri):
      (webkit_frame_get_javascript_global_context):
      * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h: Added.
      * WebProcess/InjectedBundle/API/gtk/WebKitFramePrivate.h: Added.
      * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
      (webkitFrameGetOrCreate): Helper function to create a WebKitFrame
      wrapping the given WebFrame or returning the wrapper if it already
      exists.
      (willDestroyFrame): Remove the WebKitFrame wrapping the given
      WebFrame if it exists.
      (webkitWebPageCreate): Add willDestroyFrame implementation to
      injected bundle loader client.
      (webkit_web_page_get_main_frame): Return the main frame of the
      page.
      * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h:
      * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
      Include WebKitFrame.h.
      * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
      (WebKit::InjectedBundlePageLoaderClient::willDestroyFrame): New
      callback to be called when a frame is about to be destroyed.
      * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::frameLoaderDestroyed): Call
      willDestroyFrame callback of injected bundle loader client.
      * WebProcess/qt/QtBuiltinBundlePage.cpp:
      (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): Add
      willDestroyFrame callback.
      
      Tools:
      
      * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
      (WTR::InjectedBundlePage::InjectedBundlePage): Add
      willDestroyFrame.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      51f44d80
    • antti@apple.com's avatar
      Revert accidental change. · 200ae688
      antti@apple.com authored
              
      Not reviewed.
      
      * WebProcess/com.apple.WebProcess.sb.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      200ae688
  3. 23 Aug, 2013 9 commits