1. 29 Sep, 2013 8 commits
  2. 28 Sep, 2013 22 commits
    • antti@apple.com's avatar
      Add first()/last() to ElementIteratorAdapters · 1cff4b46
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122067
      
      Reviewed by Darin Adler.
      
      Add a convenient way for getting the first and last element if it exists.
              
      Use it in some places.
      
      * accessibility/AccessibilityNodeObject.cpp:
      (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
      * css/CSSFontFaceSource.cpp:
      (WebCore::CSSFontFaceSource::getFontData):
      * dom/Document.cpp:
      (WebCore::Document::childrenChanged):
      (WebCore::Document::removeTitle):
      * dom/ElementChildIterator.h:
      (WebCore::::first):
      (WebCore::::last):
      * dom/ElementDescendantIterator.h:
      (WebCore::::first):
      (WebCore::::last):
      * html/HTMLFieldSetElement.cpp:
      (WebCore::HTMLFieldSetElement::legend):
      * html/HTMLLegendElement.cpp:
      (WebCore::HTMLLegendElement::associatedControl):
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::finishParsingChildren):
      (WebCore::HTMLMediaElement::selectMediaResource):
      * svg/SVGElement.cpp:
      (WebCore::SVGElement::title):
      * svg/SVGFontFaceElement.cpp:
      (WebCore::SVGFontFaceElement::rebuildFontFace):
      * svg/graphics/SVGImage.cpp:
      (WebCore::SVGImage::hasSingleSecurityOrigin):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1cff4b46
    • mrowe@apple.com's avatar
      Fix some failures with newer versions of clang. · a75e9229
      mrowe@apple.com authored
      Some CoreGraphics headers generate warnings under newer versions of clang. Since they're system headers the warnings would
      usually be suppressed, but we're adding the frameworks to the non-system framework search path so they're no longer treated
      as system headers. We address this by removing the system paths from FRAMEWORK_SEARCH_PATHS and using the -iframework compiler
      flag in OTHER_CFLAGS to add the paths to the system framework search path. We have to set OTHER_CFLAGS at the target level
      in order for it to coexist with the ASAN-related OTHER_CFLAGS that's set in DebugRelease.xcconfig.
      
      Reviewed by Dan Bernstein.
      
      Source/WebCore:
      
      * Configurations/WebCore.xcconfig:
      
      Source/WebKit/mac:
      
      * Configurations/DebugRelease.xcconfig:
      * Configurations/WebKit.xcconfig:
      
      Source/WebKit2:
      
      * Configurations/BaseTarget.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      
      Tools:
      
      * DumpRenderTree/mac/Configurations/Base.xcconfig:
      * DumpRenderTree/mac/Configurations/BaseTarget.xcconfig: A new .xcconfig file that's included by all target-specific .xcconfig files.
      * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
      * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
      * DumpRenderTree/mac/Configurations/ImageDiff.xcconfig:
      * DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig:
      * WebKitTestRunner/Configurations/Base.xcconfig:
      * WebKitTestRunner/Configurations/BaseTarget.xcconfig: A new .xcconfig file that's included by all target-specific .xcconfig files.
      * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
      * WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
      * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a75e9229
    • mrowe@apple.com's avatar
      Take Xcode's advice and enable some extra warnings. · c11deac3
      mrowe@apple.com authored
      Reviewed by Sam Weinig.
      
      Source/JavaScriptCore:
      
      * Configurations/Base.xcconfig:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      
      Source/WebCore:
      
      * Configurations/Base.xcconfig:
      * WebCore.xcodeproj/project.pbxproj:
      * dom/NamedNodeMap.cpp:
      (WebCore::NamedNodeMap::removeNamedItemNS): Use the correct constant.
      
      Source/WebKit:
      
      * WebKit.xcodeproj/project.pbxproj:
      
      Source/WebKit/mac:
      
      * Configurations/Base.xcconfig:
      
      Source/WebKit2:
      
      * Configurations/Base.xcconfig:
      * WebKit2.xcodeproj/project.pbxproj:
      
      Source/WTF:
      
      * Configurations/Base.xcconfig:
      * WTF.xcodeproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c11deac3
    • weinig@apple.com's avatar
      CTTE: VisitedLinkState should hold a Document& · 9ec60814
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122066
      
      Reviewed by Antti Koivisto.
      
      The Document can never be null, so use a reference.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ec60814
    • antti@apple.com's avatar
      Clean up code for getting first line style · b0608f67
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122037
      
      Reviewed by Andreas Kling.
      
      We have confusing RenderObject::style(bool firstLine). Get rid of it in favour of 
      just using RenderObject::firstLineStyle() where appropriate.
              
      Also switch to RenderStyle references in many places and move first line style caching
      code down to RenderElement.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b0608f67
    • darin@apple.com's avatar
      Add Frame::mainFrame and Frame::isMainFrame · 0e83ab12
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122064
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      * WebCore.exp.in: Removed exports of FrameView::isMainFrameView and
      Page::frameIsMainFrame. Since the new isMainFrame function is inline, it
      does not need to be exported.
      
      * history/PageCache.cpp:
      (WebCore::PageCache::markPagesForFullStyleRecalc):
      (WebCore::PageCache::markPagesForDeviceScaleChanged):
      These two were the only functions I found that really wanted the equivalent
      of Page::frameIsMainFrame, so wrote it out here instead of using a function
      call.
      
      * inspector/InspectorAgent.cpp: Removed the unused isMainResourceLoader function.
      * inspector/InspectorAgent.h: Removed declarations of a few nonexistent or
      unused private member functions. Also removed the InjectedScriptForOriginMap
      typedef: It's mor readable to use the type directly
      
      * loader/FrameLoader.h: Removed isLoadingMainFrame. It's not better than
      calling frame().isMainFrame() directly.
      
      * page/Frame.cpp:
      (WebCore::Frame::Frame): Initialize m_mainFrame and call selfOnlyRef, keeping
      the MainFrame alive as long as any of its subframes is alive.
      (WebCore::Frame::~Frame): Call selfOnlyDeref.
      (WebCore::Frame::createView): Use isMainFrame.
      (WebCore::Frame::setPageAndTextZoomFactors): Ditto.
      
      * page/Frame.h: Added Frame::mainFrame, Frame::isMainFrame, and Frame::m_mainFrame.
      
      * page/FrameView.h: Removed the isMainFrameView function. It's not better than
      calling frame().isMainFrame() directly.
      
      * page/MainFrame.cpp:
      (WebCore::MainFrame::MainFrame): Initialize m_selfOnlyRefCount to 0.
      (WebCore::MainFrame::selfOnlyRef): Added.
      (WebCore::MainFrame::selfOnlyDeref): Added.
      (WebCore::MainFrame::dropChildren): Added. Called when the self-only reference
      count reaches 0 to avoid a reference cycle with subframes.
      
      * page/MainFrame.h: Added new data members as mentioned above. Also, the
      definition of the Frame::isMainFrame inline function goes here, since it can't
      compile without the MainFrame class definition. This means that callers of
      isMainFrame need to include MainFrame.h, which seems reasonable and is easy
      to do.
      
      * page/Page.cpp:
      * page/Page.h: Added assertion to Page::mainFrame since it returns a reference.
      Removed Page::frameIsMainFrame since it's not better than calling isMainFrame
      on the frame.
      
      * dom/Document.cpp:
      (WebCore::Document::setVisualUpdatesAllowed):
      (WebCore::Document::didBecomeCurrentDocumentInFrame):
      (WebCore::Document::updateViewportArguments):
      (WebCore::Document::setInPageCache):
      (WebCore::Document::ensurePlugInsInjectedScript):
      * history/CachedFrame.cpp:
      (WebCore::CachedFrame::CachedFrame):
      * history/CachedPage.cpp:
      (WebCore::CachedPage::restore):
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
      * html/ImageDocument.cpp:
      (WebCore::ImageDocument::shouldShrinkToFit):
      * inspector/InspectorController.cpp:
      (WebCore::InspectorController::didClearWindowObjectInWorld):
      * inspector/InspectorInstrumentation.cpp:
      (WebCore::InspectorInstrumentation::didCommitLoadImpl):
      * inspector/InspectorPageAgent.cpp:
      (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
      (WebCore::InspectorPageAgent::frameNavigated):
      * loader/DocumentLoader.cpp:
      (WebCore::DocumentLoader::willSendRequest):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::transitionToCommitted):
      (WebCore::FrameLoader::prepareForCachedPageRestore):
      (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
      (WebCore::FrameLoader::didLayout):
      (WebCore::FrameLoader::checkLoadComplete):
      (WebCore::FrameLoader::addExtraFieldsToRequest):
      (WebCore::FrameLoader::loadResourceSynchronously):
      (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
      (WebCore::FrameLoader::dispatchDidCommitLoad):
      (WebCore::FrameLoader::loadProgressingStatusChanged):
      * loader/HistoryController.cpp:
      (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
      (WebCore::HistoryController::restoreScrollPositionAndViewState):
      (WebCore::HistoryController::updateForCommit):
      (WebCore::HistoryController::updateForSameDocumentNavigation):
      (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
      (WebCore::HistoryController::pushState):
      * loader/icon/IconController.cpp:
      (WebCore::IconController::startLoader):
      * page/AutoscrollController.cpp:
      (WebCore::AutoscrollController::stopAutoscrollTimer):
      * page/ContextMenuController.cpp:
      (WebCore::ContextMenuController::populate):
      * page/DOMWindow.cpp:
      (WebCore::allowsBeforeUnloadListeners):
      (WebCore::DOMWindow::focus):
      (WebCore::DOMWindow::blur):
      (WebCore::DOMWindow::close):
      (WebCore::DOMWindow::allowedToChangeWindowGeometry):
      * page/EventHandler.cpp:
      (WebCore::EventHandler::hitTestResultAtPoint):
      (WebCore::EventHandler::selectCursor):
      (WebCore::EventHandler::handleMousePressEvent):
      (WebCore::EventHandler::keyEvent):
      * page/FrameTree.cpp:
      (WebCore::FrameTree::find):
      (WebCore::FrameTree::traverseNextWithWrap):
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::setFrameRect):
      (WebCore::FrameView::createScrollbar):
      (WebCore::FrameView::applyOverflowToViewport):
      (WebCore::FrameView::setHeaderHeight):
      (WebCore::FrameView::setFooterHeight):
      (WebCore::FrameView::minimumScrollPosition):
      (WebCore::FrameView::maximumScrollPosition):
      (WebCore::FrameView::shouldUpdateFixedElementsAfterScrolling):
      (WebCore::FrameView::beginDeferredRepaints):
      (WebCore::FrameView::endDeferredRepaints):
      (WebCore::FrameView::performPostLayoutTasks):
      (WebCore::FrameView::sendResizeEventIfNeeded):
      (WebCore::FrameView::pagination):
      (WebCore::FrameView::visibleContentScaleFactor):
      (WebCore::FrameView::setVisibleScrollerThumbRect):
      (WebCore::FrameView::scrollbarStyleChanged):
      (WebCore::FrameView::paintScrollCorner):
      (WebCore::FrameView::paintScrollbar):
      (WebCore::FrameView::paintOverhangAreas):
      * page/scrolling/ScrollingCoordinator.cpp:
      (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::RenderLayerBacking):
      Use the new functions where possible instead of Page::frameIsMainFrame,
      Page::mainFrame, FrameLoader::isLoadingMainFrame, and FrameView::isMainFrameView.
      
      Source/WebKit/blackberry:
      
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
      Call isMainFrame.
      
      Source/WebKit/efl:
      
      * WebCoreSupport/FrameLoaderClientEfl.cpp:
      (WebCore::FrameLoaderClientEfl::dispatchWillSendRequest):
      (WebCore::FrameLoaderClientEfl::assignIdentifierToInitialRequest):
      (WebCore::FrameLoaderClientEfl::updateGlobalHistory):
      Call isMainFrame.
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/FrameLoaderClientGtk.cpp:
      (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest):
      Call isMainFrame.
      
      Source/WebKit/mac:
      
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (WebFrameLoaderClient::canHandleRequest):
      (WebFrameLoaderClient::transitionToCommittedForNewPage):
      * WebView/WebFrameView.mm:
      (-[WebFrameView _install]):
      Call isMainFrame.
      
      Source/WebKit2:
      
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrameView):
      Call isMainFrame.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e83ab12
    • commit-queue@webkit.org's avatar
      filter: drop-shadow doesnot support viewport units · 786d0398
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122053
      
      Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2013-09-28
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      drop-shadow properties were not applied incase its values
      were given in vh, vw, vmax, vmin units.
      
      Tests: fast/css/drop-shadow-viewport-height.html
             fast/css/drop-shadow-viewport-vmax.html
             fast/css/drop-shadow-viewport-vmin.html
             fast/css/drop-shadow-viewport-width.html
      
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::createFilterOperations):
      Calculating the drop-shadow values which has been specified in viewport
      units.The vh/vw units are calcultated as percent of viewport height and
      viewport width respectively. 1vmax: 1vw or 1vh, whatever is largest.
      1vmin: 1vw or 1vh, whatever is smallest.
      
      LayoutTests:
      
      * fast/css/drop-shadow-viewport-height-expected-mismatch.html: Added.
      * fast/css/drop-shadow-viewport-height.html: Added.
      * fast/css/drop-shadow-viewport-vmax-expected-mismatch.html: Added.
      * fast/css/drop-shadow-viewport-vmax.html: Added.
      * fast/css/drop-shadow-viewport-vmin-expected-mismatch.html: Added.
      * fast/css/drop-shadow-viewport-vmin.html: Added.
      * fast/css/drop-shadow-viewport-width-expected-mismatch.html: Added.
      * fast/css/drop-shadow-viewport-width.html: Added.
      Added new tests for verifying that drop-shadow properties are applied
      when its values are viewport units.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      786d0398
    • commit-queue@webkit.org's avatar
      REGRESSION (r154614): Setting the document scroll position isn't symmetric;... · 2c0b0d6b
      commit-queue@webkit.org authored
      REGRESSION (r154614): Setting the document scroll position isn't symmetric; can successfully set document.body.scrollTop, but can only read from document.documentElement.scrollTop
      https://bugs.webkit.org/show_bug.cgi?id=121876
      
      Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2013-09-28
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Non-Quirks mode should set/get scrolltop/scrollleft through
      document.documentElement.scrollTop/document.documentElement.scrollLeft
      Quirks mode should set/get scrolltop/scrollleft through
      document.body.scrollTop/document.body.scrollLeft.
      
      Tests: fast/dom/Element/body-scrollLeft-Quirks.html
             fast/dom/Element/body-scrollLeft.html
             fast/dom/Element/body-scrollTop-Quirks.html
             fast/dom/Element/body-scrollTop.html
             fast/dom/Element/documentElement-scrollLeft-Quirks.html
             fast/dom/Element/documentElement-scrollLeft.html
             fast/dom/Element/documentElement-scrollTop-Quirks.html
             fast/dom/Element/documentElement-scrollTop.html
      
      * dom/Element.cpp:
      (WebCore::Element::setScrollLeft):
      (WebCore::Element::setScrollTop):
      * html/HTMLBodyElement.cpp:
      (WebCore::HTMLBodyElement::setScrollLeft):
      (WebCore::HTMLBodyElement::setScrollTop):
      Need to set the scrollTop and scrollLeft after checking if document
      is in quirks or non-quirks mode. Incase it is body.scrollLeft/
      body.scrollTop set only if document is in quirks mode. If document is
      non-quirks mode set documentElement.scrollLeft/documentElement.scrollTop.
      
      LayoutTests:
      
      * fast/dom/Element/body-scrollLeft-Quirks-expected.txt: Added.
      * fast/dom/Element/body-scrollLeft-Quirks.html: Added.
      * fast/dom/Element/body-scrollLeft-expected.txt: Added.
      * fast/dom/Element/body-scrollLeft.html: Added.
      * fast/dom/Element/body-scrollTop-Quirks-expected.txt: Added.
      * fast/dom/Element/body-scrollTop-Quirks.html: Added.
      * fast/dom/Element/body-scrollTop-expected.txt: Added.
      * fast/dom/Element/body-scrollTop.html: Added.
      * fast/dom/Element/documentElement-scrollLeft-Quirks-expected.txt: Added.
      * fast/dom/Element/documentElement-scrollLeft-Quirks.html: Added.
      * fast/dom/Element/documentElement-scrollLeft-expected.txt: Added.
      * fast/dom/Element/documentElement-scrollLeft.html: Added.
      * fast/dom/Element/documentElement-scrollTop-Quirks-expected.txt: Added.
      * fast/dom/Element/documentElement-scrollTop-Quirks.html: Added.
      * fast/dom/Element/documentElement-scrollTop-expected.txt: Added.
      * fast/dom/Element/documentElement-scrollTop.html: Added.
      Added test cases for verifying that Non-Quirks mode should set
      scrolltop/scrollleft through document.documentElement.scrollTop/
      document.documentElement.scrollLeft and Quirks mode should set/get
      scrolltop/scrollleft through document.body.scrollTop/document.body.scrollLeft.
      
      * fast/multicol/scrolling-overflow.html:
      Rebaselining existing tests as per the new behavior. To set
      document.body.scrollLeft document to be in Quirks mode.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2c0b0d6b
    • andersca@apple.com's avatar
      Message sending functions should only accept rvalues · d87d9354
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122041
      
      Reviewed by Andreas Kling.
      
      In order to safely encode move-only types, make all send variants accept rvalues only, except
      for the "send to all processes" ones. For them, copy the message before sending. This ensures that trying
      to send a move-only type in a message will fail to compile.
      
      * NetworkProcess/NetworkResourceLoader.h:
      (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
      * Platform/CoreIPC/Connection.h:
      (CoreIPC::Connection::send):
      (CoreIPC::Connection::sendSync):
      * Platform/CoreIPC/MessageSender.h:
      (CoreIPC::MessageSender::sendSync):
      * Shared/ChildProcessProxy.h:
      (WebKit::ChildProcessProxy::send):
      (WebKit::ChildProcessProxy::sendSync):
      * UIProcess/WebContext.h:
      (WebKit::WebContext::sendToNetworkingProcess):
      (WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary):
      (WebKit::WebContext::sendToAllProcesses):
      (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
      (WebKit::WebContext::sendToOneProcess):
      * UIProcess/WebPageGroup.h:
      (WebKit::WebPageGroup::sendToAllProcessesInGroup):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d87d9354
    • philn@webkit.org's avatar
      Unreviewed GTK build fix after r156560. · a8d0b378
      philn@webkit.org authored
      Source/WebKit/gtk:
      
      * WebCoreSupport/AcceleratedCompositingContext.h:
      
      Source/WebKit2:
      
      * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
      (WebKit::LayerTreeHostGtk::paintContents):
      (WebKit::LayerTreeHostGtk::createPageOverlayLayer):
      (WebKit::LayerTreeHostGtk::destroyPageOverlayLayer):
      * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8d0b378
    • akling@apple.com's avatar
      Pass VM instead of ExecState to JSFunction constructors. · 20d6f9c1
      akling@apple.com authored
      <https://webkit.org/b/122014>
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      JSFunction doesn't need the ExecState for anything during its
      construction, so reduce the amount of loads by just passing the
      VM around instead.
      
      Factored out putDirectNonIndexAccessor() from the existing
      putDirectAccessor() to avoid snowballing the patch (and because
      it's kinda neat to avoid the extra branch.)
      
      JSC release binary size -= 9680 bytes.
      
      Source/WebCore:
      
      Updated for new JSFunction::create() signature.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20d6f9c1
    • gyuyoung.kim@samsung.com's avatar
      Generate toCSSFooValue() for CSSImageValue · d0c71466
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122051
      
      Reviewed by Andreas Kling.
      
      Clean up static_cast<CSSImageValue*> type casts. It will help to
      detect bad cast as well as improve code readability.
      
      Removed unnecessary local variables as well.
      
      No new tests, no behavior changes.
      
      * css/CSSCrossfadeValue.cpp:
      (WebCore::subimageKnownToBeOpaque):
      * css/CSSCursorImageValue.cpp:
      (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
      (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
      (WebCore::CSSCursorImageValue::cachedImage):
      (WebCore::CSSCursorImageValue::isSVGCursor):
      * css/CSSImageGeneratorValue.cpp:
      (WebCore::CSSImageGeneratorValue::subimageIsPending):
      (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
      * css/CSSImageSetValue.cpp:
      (WebCore::CSSImageSetValue::fillImageSet):
      * css/CSSImageValue.h:
      * css/CSSValue.cpp:
      (WebCore::CSSValue::destroy):
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::applyProperty):
      (WebCore::StyleResolver::styleImage):
      * page/PageSerializer.cpp:
      (WebCore::PageSerializer::retrieveResourcesForProperties):
      * rendering/style/StylePendingImage.h:
      (WebCore::StylePendingImage::data):
      (WebCore::StylePendingImage::cssImageValue):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d0c71466
    • mrowe@apple.com's avatar
      WebCore fails to build with newer versions of clang. · 00e249e3
      mrowe@apple.com authored
      Reviewed by Sam Weinig.
      
      * Modules/indexeddb/IDBIndex.cpp: Remove an unused constant.
      * Modules/indexeddb/IDBObjectStore.cpp: Ditto.
      * Modules/webaudio/AudioContext.cpp: Ditto.
      * Modules/webaudio/ScriptProcessorNode.cpp: Ditto.
      * Modules/webdatabase/SQLResultSet.cpp: Ditto.
      * Modules/webdatabase/SQLTransactionBackend.cpp: Ditto.
      * Modules/websockets/WebSocketHandshake.cpp: Ditto.
      * bindings/objc/DOM.mm: Disable a warning about overriding a protocol method in a cateogry around the one
      place we do it. I don't understand why this generates a warning, nor can I see a different approach that
      would not result in the warning being emitted.
      * css/CSSGrammar.y.in: #if a function that's only used inside an #if.
      * html/track/TextTrackCue.cpp: Remove an unused constant.
      * loader/TextResourceDecoder.cpp: Remove two unused functions.
      * page/ContentSecurityPolicy.cpp: Add #if's around constants and functions that are only used when CSP_NEXT is enabled.
      (WebCore::CSPDirectiveList::checkSourceAndReportViolation): Reorder the ifs slightly to make the #if'ing easier.
      * page/ContentSecurityPolicy.h: Add #if's around functions that are only used when CSP_NEXT is enabled.
      * page/DOMSecurityPolicy.cpp: Ditto.
      * page/DOMSecurityPolicy.h: Ditto.
      * page/animation/CSSPropertyAnimation.cpp: Remove an unused function.
      * platform/mac/DisplaySleepDisabler.cpp: Add an #if around a constant that's only used on iOS.
      * platform/mac/WebCoreFullScreenWarningView.mm: Remove three unused constants.
      * rendering/RenderLayer.cpp: Remove two unused constants.
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::compositingLogEnabled): Move the #if around the function definition.
      * svg/SVGAnimatedAngle.cpp: Remove an unused function.
      * svg/SVGUseElement.cpp: #if a function that's only used inside an ASSERT.
      * xml/XPathStep.cpp: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      00e249e3
    • mrowe@apple.com's avatar
      WebKit fails to build with newer versions of clang. · 71c9e4d0
      mrowe@apple.com authored
      Reviewed by Sam Weinig.
      
      * Carbon/HIWebView.mm: Remove an unused function.
      * History/BinaryPropertyList.cpp: #if a constant that's only used in 64-bit.
      * Misc/WebIconDatabase.mm: Remove two unused constants.
      * Plugins/WebBaseNetscapePluginView.mm: Remove an unused constant.
      * WebCoreSupport/WebEditorClient.mm: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71c9e4d0
    • mrowe@apple.com's avatar
      WebKit2 fails to build with newer versions of clang. · f81ab24c
      mrowe@apple.com authored
      Reviewed by Anders Carlsson.
      
      * Shared/VisitedLinkTable.cpp: #if a function that's only used inside an ASSERT.
      * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Remove an unused constant.
      * UIProcess/mac/WKFullScreenWindowController.mm: Ditto.
      * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Ditto.
      * WebProcess/WebPage/FindController.cpp: Ditto.
      * WebProcess/WebPage/WebBackForwardListProxy.cpp: Remove two unused constants.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f81ab24c
    • mrowe@apple.com's avatar
      JavaScriptCore fails to build with newer versions of clang. · aae57e37
      mrowe@apple.com authored
      Reviewed by Sam Weinig.
      
      * interpreter/Interpreter.cpp: Remove an unused function.
      * parser/SourceProvider.cpp: Ditto.
      * runtime/GCActivityCallback.cpp: #if a constant that's only used on non-CF platforms.
      * runtime/JSCJSValue.cpp: Remove an unused constant.
      * runtime/JSString.cpp: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aae57e37
    • mrowe@apple.com's avatar
      <rdar://problem/15079224> WTF fails to build with newer versions of clang. · 1524ed50
      mrowe@apple.com authored
      Reviewed by Sam Weinig.
      
      * wtf/DateMath.cpp: Remove some unused constants.
      * wtf/FastMalloc.cpp: #if some constants and functions that are unused in some configurations.
      Remove a function that's unused on all platforms.
      * wtf/TCSystemAlloc.cpp: Remove some unused constants.
      (TCMalloc_SystemRelease): Remove an if whose body is never executed.
      * wtf/dtoa.cpp: #if things such that storeInc is only defined when USE_LONG_LONG is undefined.
      Remove an unused constant.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1524ed50
    • ap@apple.com's avatar
      Restore accidentally removed ChangeLog lines. · 14deeab8
      ap@apple.com authored
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      14deeab8
    • fpizlo@apple.com's avatar
      Get rid of SetMyScope/SetCallee; use normal variables for the scope and callee... · 48cdafdc
      fpizlo@apple.com authored
      Get rid of SetMyScope/SetCallee; use normal variables for the scope and callee of inlined call frames of closures
      https://bugs.webkit.org/show_bug.cgi?id=122047
      
      Reviewed by Oliver Hunt.
              
      Currently we have the DFG reserve space for inline call frames at exactly the same stack
      offsets that you would have gotten if the baseline interpreter/JIT had made the calls.
      We need to get rid of that. One of the weirder parts of this is that we have special DFG
      operations for accessing these inlined call frame headers. It's really hard for any
      analysis of DFG IR to see what the liveness of any of those frame header "variables" is;
      the liveness behaves like flushed arguments (it's all live until end of the inlinee) but
      we don't have anything like a Flush node for those special variables.
              
      This patch gets rid of the special operations for accessing inline call frame headers.
      GetMyScope and GetCallee still remain, and are only for accessing the machine call
      frame's scope/callee entries. The inline call frame's scope/callee now behave like
      normal variables, and have Flush behavior just like inline arguments.
      
      * dfg/DFGAbstractInterpreterInlines.h:
      (JSC::DFG::::executeEffects):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::getDirect):
      (JSC::DFG::ByteCodeParser::get):
      (JSC::DFG::ByteCodeParser::setDirect):
      (JSC::DFG::ByteCodeParser::set):
      (JSC::DFG::ByteCodeParser::setLocal):
      (JSC::DFG::ByteCodeParser::setArgument):
      (JSC::DFG::ByteCodeParser::flush):
      (JSC::DFG::ByteCodeParser::InlineStackEntry::remapOperand):
      (JSC::DFG::ByteCodeParser::handleInlining):
      (JSC::DFG::ByteCodeParser::getScope):
      * dfg/DFGCSEPhase.cpp:
      (JSC::DFG::CSEPhase::getCalleeLoadElimination):
      (JSC::DFG::CSEPhase::getMyScopeLoadElimination):
      (JSC::DFG::CSEPhase::performNodeCSE):
      * dfg/DFGClobberize.h:
      (JSC::DFG::clobberize):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::fixupNode):
      * dfg/DFGNodeType.h:
      * dfg/DFGPredictionPropagationPhase.cpp:
      (JSC::DFG::PredictionPropagationPhase::propagate):
      * dfg/DFGSafeToExecute.h:
      (JSC::DFG::safeToExecute):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48cdafdc
    • bjonesbe@adobe.com's avatar
      [CSS Shapes] New positioning model: Positive margins · 28bb0b6e
      bjonesbe@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118089
      
      Reviewed by Alexandru Chiculita.
      
      The remaining tests for shape-outside with positive margins. These
      have all been imported from the CSSWG's repo.
      
      * csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log:
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005-expected.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006-expected.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007-expected.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008-expected.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009-expected.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28bb0b6e
    • ap@apple.com's avatar
      Layout Test media/media-controller-playback.html is flaky · 105e399e
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122042
      
      * platform/mac/TestExpectations: Marked as such.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      105e399e
    • lforschler@apple.com's avatar
      Versioning. · 648f3a69
      lforschler@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      648f3a69
  3. 27 Sep, 2013 10 commits
    • beidson@apple.com's avatar
      IndexedDB IDL Refactoring. · 77a081cf
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121996
      
      Reviewed by Alexey Proskuryakov.
      
      This includes:
      1 - Leveraging EventTarget.idl inheritance
      2 - Removing comments
      3 - Reordering to match the spec's IDLs
      4 - Removing nonstandard, WebKit-specific methods
      5 - Updating interfaces to match the spec (versions are only uint64_t's now...)
      6 - Updating implementation code as needed (versions are only uint64_t's now...)
      
      IDL changes:
      * Modules/indexeddb/IDBCursor.idl:
      * Modules/indexeddb/IDBDatabase.idl:
      * Modules/indexeddb/IDBFactory.idl:
      * Modules/indexeddb/IDBIndex.idl:
      * Modules/indexeddb/IDBKeyRange.idl:
      * Modules/indexeddb/IDBObjectStore.idl:
      * Modules/indexeddb/IDBRequest.idl:
      * Modules/indexeddb/IDBTransaction.idl:
      * Modules/indexeddb/IDBVersionChangeEvent.idl:
      
      * Modules/indexeddb/IndexedDB.h: Add new enum to represent version nullness.
      
      Adapt to new IDLs, and also refactor representation of initial, null versioning:
      * Modules/indexeddb/IDBCallbacks.h:
      (WebCore::IDBCallbacks::onBlocked):
      (WebCore::IDBCallbacks::onUpgradeNeeded):
      
      * Modules/indexeddb/IDBDatabase.cpp:
      (WebCore::IDBDatabase::version):
      (WebCore::IDBDatabase::onVersionChange):
      * Modules/indexeddb/IDBDatabase.h:
      
      * Modules/indexeddb/IDBDatabaseCallbacks.h:
      * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
      (WebCore::IDBDatabaseCallbacksImpl::onVersionChange):
      * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
      
      * Modules/indexeddb/IDBFactory.cpp:
      (WebCore::IDBFactory::open):
      (WebCore::IDBFactory::openInternal):
      (WebCore::IDBFactory::deleteDatabase):
      * Modules/indexeddb/IDBFactory.h:
      
      * Modules/indexeddb/IDBMetadata.h:
      (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
      
      * Modules/indexeddb/IDBOpenDBRequest.cpp:
      (WebCore::IDBOpenDBRequest::create):
      (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
      (WebCore::IDBOpenDBRequest::onBlocked):
      (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
      * Modules/indexeddb/IDBOpenDBRequest.h:
      
      * Modules/indexeddb/IDBRequest.cpp:
      * Modules/indexeddb/IDBRequest.h:
      
      * Modules/indexeddb/IDBTransaction.cpp:
      * Modules/indexeddb/IDBTransaction.h:
      
      * Modules/indexeddb/IDBVersionChangeEvent.cpp:
      (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
      * Modules/indexeddb/IDBVersionChangeEvent.h:
      (WebCore::IDBVersionChangeEvent::create):
      (WebCore::IDBVersionChangeEvent::oldVersion):
      (WebCore::IDBVersionChangeEvent::newVersion):
      
      Keep leveldb building with minimal adaptations to the new IDLs,
      but note that the LevelDB implementation is now incompatible with the spec:
      * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
      (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
      (WebCore::objectStoreCursorOptions):
      (WebCore::indexCursorOptions):
      
      * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
      (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
      (WebCore::IDBDatabaseBackendLevelDB::openInternal):
      (WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::perform):
      (WebCore::IDBDatabaseBackendLevelDB::processPendingCalls):
      (WebCore::IDBDatabaseBackendLevelDB::openConnection):
      (WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
      (WebCore::IDBDatabaseBackendLevelDB::deleteDatabase):
      (WebCore::IDBDatabaseBackendLevelDB::deleteDatabaseFinal):
      (WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::perform):
      
      * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
      (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
      
      * inspector/InspectorIndexedDBAgent.cpp: Update for metadata change.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77a081cf
    • ossy@webkit.org's avatar
      CookieStorageShim should be PLATFORM(MAC) guarded · 4e3438e4
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121423
      
      Reviewed by Darin Adler.
      
      Original patch by Kwang Yul Seo <skyul@company100.com>.
      
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::initializeWebProcess):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156589 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e3438e4
    • enrica@apple.com's avatar
      Upstream changes to Pasteboard implementation for iOS. · 38848efa
      enrica@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121818
      
      Reviewed by Benjamin Poulain.
      
      Source/WebCore: 
      
      * WebCore.exp.in:
      * editing/Editor.cpp:
      (WebCore::Editor::dispatchCPPEvent):
      * editing/ios/EditorIOS.mm:
      (WebCore::Editor::WebContentReader::addFragment):
      (WebCore::Editor::WebContentReader::readWebArchive):
      (WebCore::Editor::WebContentReader::readFilenames):
      (WebCore::Editor::WebContentReader::readHTML):
      (WebCore::Editor::WebContentReader::readRTFD):
      (WebCore::Editor::WebContentReader::readRTF):
      (WebCore::uniqueURLWithRelativePart):
      (WebCore::Editor::WebContentReader::readImage):
      (WebCore::Editor::WebContentReader::readURL):
      (WebCore::Editor::WebContentReader::readPlainText):
      (WebCore::Editor::webContentFromPasteboard):
      (WebCore::Editor::pasteWithPasteboard):
      (WebCore::Editor::createFragmentAndAddResources):
      (WebCore::Editor::createFragmentForImageResourceAndAddResource):
      * platform/Pasteboard.h:
      * platform/PasteboardStrategy.h:
      * platform/PlatformPasteboard.h:
      * platform/ios/PasteboardIOS.mm:
      (WebCore::PasteboardWebContent::PasteboardWebContent):
      (WebCore::PasteboardWebContent::~PasteboardWebContent):
      (WebCore::PasteboardImage::PasteboardImage):
      (WebCore::PasteboardImage::~PasteboardImage):
      (WebCore::Pasteboard::Pasteboard):
      (WebCore::Pasteboard::clear):
      (WebCore::Pasteboard::readString):
      (WebCore::Pasteboard::writeString):
      (WebCore::Pasteboard::types):
      * platform/ios/PlatformPasteboardIOS.mm:
      (WebCore::PlatformPasteboard::changeCount):
      (WebCore::PlatformPasteboard::write):
      (WebCore::PlatformPasteboard::count):
      (WebCore::PlatformPasteboard::readBuffer):
      (WebCore::PlatformPasteboard::readString):
      (WebCore::PlatformPasteboard::readURL):
      * platform/mac/PasteboardMac.mm:
      (WebCore::PasteboardWebContent::PasteboardWebContent):
      (WebCore::PasteboardWebContent::~PasteboardWebContent):
      (WebCore::PasteboardImage::PasteboardImage):
      (WebCore::PasteboardImage::~PasteboardImage):
      * platform/mac/PlatformPasteboardMac.mm:
      
      Source/WebKit/mac: 
      
      * WebCoreSupport/WebPlatformStrategies.h:
      * WebCoreSupport/WebPlatformStrategies.mm:
      (WebPlatformStrategies::writeToPasteboard):
      (WebPlatformStrategies::getPasteboardItemsCount):
      (WebPlatformStrategies::readBufferFromPasteboard):
      (WebPlatformStrategies::readURLFromPasteboard):
      (WebPlatformStrategies::readStringFromPasteboard):
      (WebPlatformStrategies::changeCount):
      
      Source/WebKit2: 
      
      * Shared/WebCoreArgumentCoders.cpp:
      (CoreIPC::decodeSharedBuffer):
      * Shared/WebCoreArgumentCoders.h:
      * UIProcess/WebContext.h:
      * UIProcess/WebContext.messages.in:
      * UIProcess/mac/WebContextMac.mm:
      (WebKit::WebContext::writeWebContentToPasteboard):
      (WebKit::WebContext::writeImageToPasteboard):
      (WebKit::WebContext::writeStringToPasteboard):
      (WebKit::WebContext::readStringFromPasteboard):
      (WebKit::WebContext::readURLFromPasteboard):
      (WebKit::WebContext::readBufferFromPasteboard):
      (WebKit::WebContext::getPasteboardItemsCount):
      * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
      (WebKit::WebPlatformStrategies::writeToPasteboard):
      (WebKit::WebPlatformStrategies::getPasteboardItemsCount):
      (WebKit::WebPlatformStrategies::readBufferFromPasteboard):
      (WebKit::WebPlatformStrategies::readURLFromPasteboard):
      (WebKit::WebPlatformStrategies::readStringFromPasteboard):
      (WebKit::WebPlatformStrategies::changeCount):
      * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156588 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      38848efa
    • roger_fong@apple.com's avatar
      [Windows] Unreviewed build fix following r156560. · 19e5534f
      roger_fong@apple.com authored
      * WebView.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156587 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19e5534f
    • hmuller@adobe.com's avatar
      Crash on shape-outside when using calc() · df9b2640
      hmuller@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121020
      
      Reviewed by Dirk Schulze.
      
      Source/WebCore:
      
      This change prevents a crash caused by specifying a CSS Shape geometry
      Length attribute with a calc() expression. It adds support for converting
      Lengths to CSSPrimitive Values, in large part by migrating Blink changes
      made to the calc classes since the split. Doing so required a few supporting
      changes in some related classes, notably CSSPrimitiveValue.
      
      Tests: fast/shapes/shape-inside/shape-inside-calc-crash.html
             css3/calc/simplification.html
      
      * css/BasicShapeFunctions.cpp:
      (WebCore::convertToCSSPrimitiveValue): Effectively use the new CSSPrimtiveValue(length,style) constructor to convert Lengths to CSSValues.
      (WebCore::valueForBasicShape): Use the convertToCSSPrimitiveValue() function.
      (WebCore::convertToLength): Added the CalculatedConversion convertToLength() flag to enable support for calc() valued Length Shape attributes.
      * css/BasicShapeFunctions.h:
      * css/CSSCalculationValue.cpp:
      (WebCore::hasDoubleValue):
      (WebCore::buildCssText):
      (WebCore::CSSCalcValue::clampToPermittedRange):
      (WebCore::CSSCalcValue::doubleValue):
      (WebCore::CSSCalcExpressionNode::~CSSCalcExpressionNode):
      (WebCore::CSSCalcPrimitiveValue::create):
      (WebCore::CSSCalcPrimitiveValue::toCalcValue):
      (WebCore::CSSCalcPrimitiveValue::doubleValue):
      (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
      (WebCore::CSSCalcPrimitiveValue::primitiveType):
      (WebCore::CSSCalcPrimitiveValue::CSSCalcPrimitiveValue):
      (WebCore::determineCategory):
      (WebCore::isIntegerResult):
      (WebCore::CSSCalcBinaryOperation::create):
      (WebCore::CSSCalcBinaryOperation::createSimplified):
      (WebCore::CSSCalcBinaryOperation::doubleValue):
      (WebCore::CSSCalcBinaryOperation::buildCssText):
      (WebCore::CSSCalcBinaryOperation::primitiveType):
      (WebCore::CSSCalcBinaryOperation::CSSCalcBinaryOperation):
      (WebCore::CSSCalcBinaryOperation::getNumberSide):
      (WebCore::CSSCalcBinaryOperation::evaluate):
      (WebCore::CSSCalcBinaryOperation::evaluateOperator):
      (WebCore::CSSCalcExpressionNodeParser::parseValue):
      (WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
      (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
      (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
      (WebCore::CSSCalcValue::createExpressionNode):
      (WebCore::CSSCalcValue::create):
      * css/CSSCalculationValue.h:
      (WebCore::CSSCalcExpressionNode::category):
      (WebCore::CSSCalcValue::create):
      (WebCore::CSSCalcValue::isInt):
      (WebCore::CSSCalcValue::permittedValueRange):
      (WebCore::CSSCalcValue::expressionNode):
      (WebCore::CSSCalcValue::CSSCalcValue):
      (WebCore::toCSSCalcValue):
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::ComputedStyleExtractor::propertyValue): Pass the style along to the new valueForBasicShape() function.
      * css/CSSPrimitiveValue.cpp:
      (WebCore::CSSPrimitiveValue::unitCategory): Made this function public so that CSSCalculationValue could use it.
      (WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor): Ditto.
      (WebCore::CSSPrimitiveValue::primitiveType): Cleared trailing whitespace.
      (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Construct a CSSPrimitiveValue from a Length and a RenderStyle*.
      (WebCore::CSSPrimitiveValue::init): The common part of the two Length CSSPrimitiveValue constructors.
      (WebCore::CSSPrimitiveValue::computeLengthDouble): Moved the case labels to the left per check-webkit-style.
      (WebCore::CSSPrimitiveValue::getStringValue): Ditto.
      (WebCore::CSSPrimitiveValue::getDoubleValue): Removed trailing whitespace.
      * css/CSSPrimitiveValue.h:
      (WebCore::CSSPrimitiveValue::create): Construct a CSSPrimitiveValue from a Length and a RenderStyle*.
      (WebCore::toCSSPrimitiveValue): Check the CSSValue*'s validity with ASSERT_WITH_SECURITY_IMPLICATION before casting to CSSPrimitiveValue*.
      * css/CSSValuePool.h:
      (WebCore::CSSValuePool::createValue): A new overload that delegates to the new CSSPrimitiveValue(length,style) constructor.
      * platform/CalculationValue.h:
      (WebCore::CalculationValue::operator==):
      (WebCore::CalculationValue::isNonNegative):
      (WebCore::CalculationValue::expression):
      (WebCore::CalcExpressionNumber::value):
      (WebCore::toCalcExpressionNumber):
      (WebCore::CalcExpressionLength::CalcExpressionLength):
      (WebCore::CalcExpressionLength::length):
      (WebCore::toCalcExpressionLength):
      (WebCore::CalcExpressionBinaryOperation::leftSide):
      (WebCore::CalcExpressionBinaryOperation::rightSide):
      (WebCore::CalcExpressionBinaryOperation::getOperator):
      (WebCore::toCalcExpressionBinaryOperation):
      (WebCore::CalcExpressionBlendLength::CalcExpressionBlendLength):
      (WebCore::CalcExpressionBlendLength::from):
      (WebCore::CalcExpressionBlendLength::to):
      (WebCore::CalcExpressionBlendLength::progress):
      (WebCore::toCalcExpressionBlendLength):
      
      LayoutTests:
      
      Specifying a CSS Shape geometry Length attribute with a calc() expression
      or looking up the value with getComputedStyle(), caused crashes.
      
      * fast/shapes/shape-inside/shape-inside-calc-crash-expected.txt: Added.
      * fast/shapes/shape-inside/shape-inside-calc-crash.html: Added.
      * css3/calc/simplification-expected.txt: Added
      * css3/calc/simplification.html: Added
      * LayoutTests/css3/calc/cssom-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df9b2640
    • ap@apple.com's avatar
      Layout Test animations/combo-transform-translate+scale.html is flaky · e7bd69fa
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122040
      
      * platform/mac/TestExpectations: Marking as such.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e7bd69fa
    • ap@apple.com's avatar
      Layout Test media/track/track-cue-overlap-snap-to-lines-not-set.html is flaky · 0b041ea2
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122039
      
      * platform/mac/TestExpectations: Marking as such.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156584 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b041ea2
    • ap@apple.com's avatar
      animations/transform-non-accelerated.html is flaky · c8b006f9
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122038
      
      * platform/mac/TestExpectations: Marking as such.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156583 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c8b006f9
    • akling@apple.com's avatar
      REGRESSION(r154219): 30% more malloc memory used on html5-full-render. · 8bfe97c6
      akling@apple.com authored
      <https://webkit.org/b/122034>
      
      Reviewed by Antti Koivisto.
      
      canExecuteScripts() used to rely on Frame::settings() returning null
      when the Frame was disconnected from its Page, and giving Frame its
      own handle on the Settings broke this mechanism.
      
      This caused us to hold on for some objects for a bit longer than we
      needed to in the run-perf-tests harness, showing up as a massive 30%
      regression in malloc memory use.
      
      Fixed it by added an explicit null check of Frame::page().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156582 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8bfe97c6
    • alex.christensen@flexsim.com's avatar
      [Windows] Unreviewed build fix. · e1499256
      alex.christensen@flexsim.com authored
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      Fixed linker symbols I broke last time.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e1499256