1. 13 May, 2013 40 commits
    • benjamin@webkit.org's avatar
      Remove platform/graphic's Generator · be3e8666
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116084
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-13
      Reviewed by Darin Adler.
      
      The Generator no longer abstract anything useful, its only
      implementation is Gradient.
      
      * GNUmakefile.list.am:
      * WebCore.exp.in:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * platform/graphics/GeneratedImage.h:
      * platform/graphics/Generator.h: Removed.
      * platform/graphics/GeneratorGeneratedImage.cpp:
      (WebCore::GeneratorGeneratedImage::draw):
      (WebCore::GeneratorGeneratedImage::drawPattern):
      * platform/graphics/GeneratorGeneratedImage.h:
      (WebCore::GeneratorGeneratedImage::create):
      (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
      (GeneratorGeneratedImage):
      * platform/graphics/Gradient.h:
      (WebCore):
      (Gradient):
      * platform/graphics/GraphicsContext.cpp:
      (WebCore::GraphicsContext::fillRect):
      * platform/graphics/GraphicsContext.h:
      (WebCore):
      (GraphicsContext):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be3e8666
    • ryuan.choi@samsung.com's avatar
      Unreviewed EFL gardening. · e94bca80
      ryuan.choi@samsung.com authored
      Unskip several tests which already passed and add png expected results.
      
      * platform/efl/TestExpectations:
      * platform/efl/editing/selection/doubleclick-crash-expected.png: Added.
      * platform/efl/editing/selection/select-missing-image-expected.png: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e94bca80
    • commit-queue@webkit.org's avatar
      Nightly build's jsc doesn't work without DYLD_FRAMEWORK... · d24c7079
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79065
      
      Patch by Alvaro Lopez Ortega <alvaro@alobbs.com> on 2013-05-13
      Reviewed by Darin Adler.
      
      Fixes the build process so the depencencies of the jsc binary are
      modified before its copied to its target directory. In this way
      jsc should always use relative reference to the JavaScriptCore
      libraries.
      
      * JavaScriptCore.xcodeproj/project.pbxproj: Fixes the commands in
      the "Copy Into Framework" target.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d24c7079
    • mhahnenberg@apple.com's avatar
      Objective-C API: scanExternalObjectGraph should not create new JSVirtualMachine wrappers · f3fe00a7
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116074
      
      If scanExternalObjectGraph creates a new JSVirtualMachine wrapper during collection, when the 
      scanExternalObjectGraph call finishes and the autorelease pool is drained we will dealloc the 
      JSVirtualMachine which will cause us to try to take the API lock for the corresponding VM. 
      If this happens on a GC thread other than the "main" thread, we will deadlock. The solution 
      is to just check the VM cache, and if there is no JSVirtualMachine wrapper, return early.
      
      Reviewed by Darin Adler.
      
      * API/JSVirtualMachine.mm:
      (scanExternalObjectGraph):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f3fe00a7
    • ddkilzer@apple.com's avatar
      Upstream iOS Clipboard and Pasteboard changes · 08a363f8
      ddkilzer@apple.com authored
      <http://webkit.org/b/116062>
      
      Reviewed by Darin Adler.
      
      * WebCore.xcodeproj/project.pbxproj:
      * dom/Clipboard.h:
      * platform/Pasteboard.h:
      * platform/ios/ClipboardIOS.h: Added.
      * platform/ios/ClipboardIOS.mm: Added.
      * platform/ios/PasteboardIOS.mm: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      08a363f8
    • allan.jensen@digia.com's avatar
      compositing/transitions/transform-on-large-layer.html is flaky · eed644c5
      allan.jensen@digia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=110099
      
      Reviewed by Darin Adler.
      
      Only set the timeout for test end after the resize event has been
      received. This helps slow test bots, and also makes it easier to
      tell rendering failures from failures to send resize event.
      
      * compositing/transitions/transform-on-large-layer.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eed644c5
    • commit-queue@webkit.org's avatar
      [Mac] Use pageScaleFactor * deviceScaleFactor in requiresTiledLayer() and... · e3b14e5e
      commit-queue@webkit.org authored
      [Mac] Use pageScaleFactor * deviceScaleFactor in requiresTiledLayer() and computePixelAlignment() of GraphicsLayerCA.
      https://bugs.webkit.org/show_bug.cgi?id=107359
      
      Patch by Huang Dongsung <luxtella@company100.net> on 2013-05-13
      Reviewed by Darin Adler.
      
      Currently GraphicsLayerCA uses pageScaleFactor in requiresTiledLayer() and
      computePixelAlignment(), but we must use pageScaleFactor * deviceScaleFactor in
      them.
      It is because:
      1. requiresTiledLayer() uses the scale to compute an actual layer size in the device
      pixel unit.
      2. computePixelAlignment() uses the scale to compute an aligned layer position
      in the device pixel unit.
      
      No new tests. We can not test about requiresTiledLayer() because it depends on
      gpu. computePixelAlignment() is correct now because fortunately Mac uses
      only 2 (for retina display) as a deviceScaleFactor.
      
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::requiresTiledLayer):
      (WebCore::GraphicsLayerCA::computePixelAlignment):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3b14e5e
    • commit-queue@webkit.org's avatar
      Added testRunner.setPrinting. · 3928ca47
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=42693
      rdar://problem/8213845
      
      Patch by Alex Christensen <achristensen@apple.com> on 2013-05-13
      Reviewed by Darin Adler.
      
      Source/WebKit2:
      
      * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
      (WKBundlePageCopyRenderTreeExternalRepresentationForPrinting): Added.
      * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
      Added WKBundlePageCopyRenderTreeExternalRepresentationForPrinting declaration.
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::renderTreeExternalRepresentationForPrinting): Added.
      * WebProcess/WebPage/WebPage.h:
      Added renderTreeExternalRepresentationForPrinting declaration.
      
      Tools:
      
      * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
      Added setPrinting JavaScript function.
      * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
      (WTR::InjectedBundlePage::dump):
      Dump the external representation for printing if setPrinting has been called.
      * WebKitTestRunner/InjectedBundle/TestRunner.h:
      (WTR::TestRunner::isPrinting): Added.
      (WTR::TestRunner::setPrinting): Added.
      Added and initialized m_isPrinting member boolean.
      
      LayoutTests:
      
      * platform/wk2/TestExpectations:
      Unskipped printing tests.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3928ca47
    • ch.dumez@sisa.samsung.com's avatar
      Rename BarInfo to BarProp and remove [NoInterfaceObject] · aeca17a4
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116027
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      Rename BarInfo to BarProp and remove [NoInterfaceObject] extended attribute from
      the IDL interface to match the specification:
      http://www.w3.org/html/wg/drafts/html/master/browsers.html#barprop
      
      The new behavior also matches Firefox and Blink.
      
      No new tests, covered by LayoutTests/fast/js/global-constructors-attributes.html.
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.order:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/gobject/GNUmakefile.am:
      * page/BarProp.cpp: Renamed from Source/WebCore/page/BarInfo.cpp.
      * page/BarProp.h: Renamed from Source/WebCore/page/BarInfo.h.
      * page/BarProp.idl: Renamed from Source/WebCore/page/BarInfo.idl.
      * page/DOMWindow.cpp:
      * page/DOMWindow.h:
      * page/DOMWindow.idl:
      
      LayoutTests:
      
      Rebaseline fast/js/global-constructors-attributes.html now that there is a new
      'BarProp' global constructor.
      
      Rebaseline a few other tests now that BarInfo was renamed to BarProp.
      
      * fast/dom/Window/window-lookup-precedence-expected.txt:
      * fast/js/global-constructors-attributes-expected.txt:
      * fast/loader/window-properties-restored-from-page-cache-expected.txt:
      * http/tests/security/cross-frame-access-put-expected.txt:
      * platform/efl/fast/js/global-constructors-attributes-expected.txt:
      * platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
      * platform/gtk/fast/js/global-constructors-attributes-expected.txt:
      * platform/mac-lion/fast/js/global-constructors-attributes-expected.txt:
      * platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
      * platform/qt/fast/js/global-constructors-attributes-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aeca17a4
    • andersca@apple.com's avatar
      Remove ChromeClient::willPopupMenu · edea63a9
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116063
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      Remove ChromeClient::willPopupMenu.
      
      * page/ChromeClient.h:
      
      Source/WebKit/mac:
      
      ChromeClient::willPopupMenu is only called in one place from WebKit, so just move the function to the call site.
      
      * WebCoreSupport/PopupMenuMac.mm:
      (PopupMenuMac::show):
      * WebCoreSupport/WebChromeClient.h:
      * WebCoreSupport/WebChromeClient.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      edea63a9
    • bdakin@apple.com's avatar
      Headers and footers should be pinned to the left edge of the window when scrolling · b7642b9b
      bdakin@apple.com authored
      horizontally
      https://bugs.webkit.org/show_bug.cgi?id=116061
      -and corresponding-
      <rdar://problem/13599215>
      
      Reviewed by Simon Fraser.
      
      The scrolling thread will need to know about the header and footer layers in order 
      the implement this custom scrolling behavior. 
      
      These getters will fetch the header or footer layer from the FrameView as 
      appropriate.
      * page/scrolling/ScrollingCoordinator.cpp:
      (WebCore::ScrollingCoordinator::headerLayerForFrameView):
      (WebCore::ScrollingCoordinator::footerLayerForFrameView):
      * page/scrolling/ScrollingCoordinator.h:
      
      When we’re scrolling on the main thread, adjust the position of the header and 
      footer layers here.
      (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
      
      ScrollingStateScrollingNode now stores GraphicsLayers and PlatformLayers for the 
      header and footer, just like it already does for the counterScrollingLayer.
      * page/scrolling/ScrollingStateScrollingNode.cpp:
      (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
      * page/scrolling/ScrollingStateScrollingNode.h:
      (ScrollingStateScrollingNode):
      (WebCore::ScrollingStateScrollingNode::headerLayer):
      (WebCore::ScrollingStateScrollingNode::footerLayer):
      
      Setters for the new layers.
      * page/scrolling/mac/ScrollingCoordinatorMac.h:
      (ScrollingCoordinatorMac):
      * page/scrolling/mac/ScrollingCoordinatorMac.mm:
      (WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange):
      (WebCore::ScrollingCoordinatorMac::setHeaderLayerForNode):
      (WebCore::ScrollingCoordinatorMac::setFooterLayerForNode):
      
      These setters and getters mirror the existing one for counterScrollingLayer.
      * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
      (WebCore::ScrollingStateScrollingNode::headerPlatformLayer):
      (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
      (WebCore::ScrollingStateScrollingNode::footerPlatformLayer):
      (WebCore::ScrollingStateScrollingNode::setFooterLayer):
      
      And the ScrollingTree will store CALayers for the header and footer.
      * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
      (ScrollingTreeScrollingNodeMac):
      * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
      (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
      
      This is where the magic happens when we are scrolling on the scrolling thread. 
      Adjust the horizontal position the behave like a fixed object, but keep the 
      vertical position what it was when layer was created.
      (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
      
      RenderLayerCompositor must now provide getters for the header and footer.
      * rendering/RenderLayerCompositor.h:
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::headerLayer):
      (WebCore::RenderLayerCompositor::footerLayer):
      
      Set the anchor point for when we adjust the position later on. Also call 
      frameViewRootLayerDidChange() to get the new layers picked up and sent to the 
      scrolling tree.
      (WebCore::RenderLayerCompositor::updateLayerForHeader):
      (WebCore::RenderLayerCompositor::updateLayerForFooter):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b7642b9b
    • benjamin@webkit.org's avatar
      Improve stringProtoFuncLastIndexOf for the prefix case · 9a1ba8f2
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115952
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore: 
      
      * runtime/StringPrototype.cpp:
      (JSC::stringProtoFuncLastIndexOf):
      Use the optimized string search when possible.
      
      On Joseph Pecoraro's tests, this gives a ~30% speed improvement.
      
      Source/WTF: 
      
      Add an optimized version of StringImpl::startsWith() for JavaScriptCore.
      
      * wtf/text/StringImpl.cpp:
      (WTF::StringImpl::startsWith):
      * wtf/text/StringImpl.h:
      (StringImpl):
      (WTF::StringImpl::startsWith):
      * wtf/text/WTFString.h:
      (WTF::String::startsWith):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9a1ba8f2
    • timothy@apple.com's avatar
      Add support for updating the Web Inspector toolbar height. · 4c595c20
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115996
      
      Reviewed by Joseph Pecoraro and Benjamin Poulain.
      
      Source/WebCore:
      
      * inspector/InspectorFrontendClient.h:
      (InspectorFrontendClient):
      * inspector/InspectorFrontendHost.cpp:
      (WebCore::InspectorFrontendHost::setToolbarHeight):
      * inspector/InspectorFrontendHost.h:
      (InspectorFrontendHost):
      * inspector/InspectorFrontendHost.idl:
      * testing/Internals.cpp:
      
      Source/WebKit/efl:
      
      * WebCoreSupport/InspectorClientEfl.cpp:
      (WebCore::InspectorFrontendClientEfl::setToolbarHeight):
      * WebCoreSupport/InspectorClientEfl.h:
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/InspectorClientGtk.cpp:
      (WebKit::InspectorFrontendClient::setToolbarHeight):
      * WebCoreSupport/InspectorClientGtk.h:
      
      Source/WebKit/mac:
      
      * WebCoreSupport/WebInspectorClient.h:
      * WebCoreSupport/WebInspectorClient.mm:
      (WebInspectorFrontendClient::setToolbarHeight):
      
      Source/WebKit/qt:
      
      * WebCoreSupport/InspectorClientQt.cpp:
      (WebCore::InspectorFrontendClientQt::setToolbarHeight):
      * WebCoreSupport/InspectorClientQt.h:
      
      Source/WebKit/win:
      
      * WebCoreSupport/WebInspectorClient.cpp:
      (WebInspectorFrontendClient::setToolbarHeight):
      * WebCoreSupport/WebInspectorClient.h:
      
      Source/WebKit2:
      
      * UIProcess/WebInspectorProxy.h:
      (WebKit::WebInspectorProxy::setToolbarHeight):
      (WebInspectorProxy):
      * UIProcess/WebInspectorProxy.messages.in:
      * UIProcess/efl/WebInspectorProxyEfl.cpp:
      (WebKit::WebInspectorProxy::platformSetToolbarHeight):
      * UIProcess/gtk/WebInspectorProxyGtk.cpp:
      (WebKit::WebInspectorProxy::platformSetToolbarHeight):
      (WebKit):
      * UIProcess/mac/WebInspectorProxyMac.mm:
      (WebKit::WebInspectorProxy::platformSetToolbarHeight):
      * UIProcess/qt/WebInspectorProxyQt.cpp:
      (WebKit::WebInspectorProxy::platformSetToolbarHeight):
      * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
      (WebKit::WebInspectorFrontendClient::setToolbarHeight):
      * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
      (WebInspectorFrontendClient):
      * WebProcess/WebPage/WebInspector.cpp:
      (WebKit::WebInspector::setToolbarHeight):
      * WebProcess/WebPage/WebInspector.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c595c20
    • dino@apple.com's avatar
      toDataURL can return an empty image in some cases · 92cf174d
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115981
      <rdar://problem/13760256>
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      In some accelerated rendering cases, calling toDataURL on
      an off-screen canvas produced an empty image. The solution
      was to force a CGContextFlush before extracting the data
      for image generation.
      
      While here, I collected the flushing code from other methods
      into a single place. Also we were getting into a situation where
      we called flush two times in a row.
      
      Test: fast/canvas/toDataURL-not-empty.html
      
      * platform/graphics/ImageBuffer.h:
      (ImageBuffer): Define two new methods flushContext and flushContextIfNecessary.
      * platform/graphics/cg/ImageBufferCG.cpp:
      (WebCore::ImageBuffer::context): Call flushContextIfNecessary.
      (WebCore::ImageBuffer::flushContextIfNecessary): Moved the 10.7 code in here.
      (WebCore::ImageBuffer::flushContext): Calls CGContextFlush.
      (WebCore::ImageBuffer::getUnmultipliedImageData): Call new helper.
      (WebCore::ImageBuffer::getPremultipliedImageData): Call new helper.
      (WebCore::ImageBuffer::toDataURL): Flush the CG context.
      
      LayoutTests:
      
      Make sure that a canvas with content is not the same as one
      without content.
      
      * fast/canvas/toDataURL-not-empty-expected.txt: Added.
      * fast/canvas/toDataURL-not-empty.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      92cf174d
    • ch.dumez@sisa.samsung.com's avatar
      Unreviewed EFL gardening. · 8b0f58d8
      ch.dumez@sisa.samsung.com authored
      Mark fast/table/crash-split-table-section-no-cell-recalc.html as crashing
      on EFL port.
      
      * platform/efl/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b0f58d8
    • hyatt@apple.com's avatar
      Regressions in flexbox layout caused by the flexing optimizations. · 469c15f7
      hyatt@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116058
      <rdar://problem/13863647>
              
      Reviewed by Beth Dakin.
      
      Roll out the flex-related changes from r149597 so that the layout
      algorithm goes back to the way it was. Leave the repainting optimizations
      in place though.
      
      * rendering/RenderDeprecatedFlexibleBox.cpp:
      (WebCore::gatherFlexChildrenInfo):
      (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
      (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      469c15f7
    • ch.dumez@sisa.samsung.com's avatar
      Unreviewed EFL gardening. · 201b2c4c
      ch.dumez@sisa.samsung.com authored
      Unskip several tests that stopped crashing after r150030.
      
      * platform/efl-wk2/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      201b2c4c
    • ch.dumez@sisa.samsung.com's avatar
      Unreviewed EFL gardening. · 221298be
      ch.dumez@sisa.samsung.com authored
      Mark fast/css/variables/var-inside-shape.html as failing on EFL after
      r150025.
      
      * platform/efl/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      221298be
    • philn@webkit.org's avatar
      Unreviewed, rolling out r150014. · c285a74a
      philn@webkit.org authored
      http://trac.webkit.org/changeset/150014
      https://bugs.webkit.org/show_bug.cgi?id=86410
      
      Broke video playback on WK2 and some webgl tests
      
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
      (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
      (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
      (WebCore::MediaPlayerPrivateGStreamerBase::paint):
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
      (MediaPlayerPrivateGStreamerBase):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c285a74a
    • rniwa@webkit.org's avatar
      Sometimes NSUndoManager can get into an inconsistent state · 27ced7b3
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116050
      
      Reviewed by Enrica Casucci.
      
      Always group undo items to work around a bug in NSUndoManager that manifests
      when we call removeAllActionsWithTarget.
      
      Source/WebKit/mac: 
      
      * WebCoreSupport/WebEditorClient.mm:
      (WebEditorClient::registerUndoOrRedoStep):
      
      Source/WebKit2: 
      
      * UIProcess/API/mac/PageClientImpl.mm:
      (WebKit::PageClientImpl::registerEditCommand):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      27ced7b3
    • ch.dumez@sisa.samsung.com's avatar
      Unreviewed EFL gardening. · b4afe65d
      ch.dumez@sisa.samsung.com authored
      Mark fast/animation/request-animation-frame-too-rapid.html as failing on EFL WK2
      due to r150015.
      
      * platform/efl-wk2/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4afe65d
    • hmuller@adobe.com's avatar
      [CSS Exclusions] Simple shape-outside tests fail when subpixel layout is disabled · 3f66c4ad
      hmuller@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115767
      
      Reviewed by Dirk Schulze.
      
      The overall goal of this change was to restore the (last) four excluded exclusions ref-tests
      by making them work correctly when subpixel layout is disabled. All of the tests were
      substantially simplified, as was the supporting javascript code. The original
      shape-outside-floats-simple-rounded-rectangle test was replaced by three separate tests
      because the original was bigger then then the 800x600 limit and because it unncessarily
      combined three indepedent test cases.
      
      * fast/exclusions/resources/rounded-rectangle.js:
      (ellipseXIntercept): Return the 1st quadrant X intercept for an ellipse given a first quadrant Y intercept.
      (scanConvertRoundedRectangleOutside): Return the line segment intervals that overlap a rounded rectangle.
      (genLeftRightRoundedRectFloatShapeOutsideRefTest): Insert a stack of float divs that match the left or right edge of a rounded rectangle.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-non-zero-y-expected.html:
      * fast/exclusions/shape-outside-floats/shape-outside-floats-non-zero-y.html:
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-circle-expected.html:
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-circle.html:
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-ellipse-expected.html:
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-ellipse.html:
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-001-expected.html: Added.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-001.html: Added.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-002-expected.html: Added.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-002.html: Added.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-003-expected.html: Added.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-003.html: Added.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-expected.html: Removed.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle.html: Removed.
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f66c4ad
    • ch.dumez@sisa.samsung.com's avatar
      Unreviewed, rolling out r150022. · 7f3a9eb5
      ch.dumez@sisa.samsung.com authored
      http://trac.webkit.org/changeset/150022
      https://bugs.webkit.org/show_bug.cgi?id=114044
      
      Causes assertions in media tests
      
      Source/WebCore:
      
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
      (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
      (WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
      (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
      (WebCore::MediaPlayerPrivateGStreamer::currentTime):
      (WebCore::MediaPlayerPrivateGStreamer::seek):
      (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
      (MediaPlayerPrivateGStreamer):
      
      LayoutTests:
      
      * media/video-seek-after-end-expected.txt: Removed.
      * media/video-seek-after-end.html: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7f3a9eb5
    • andersca@apple.com's avatar
      [WK2] Crash in WebKit::StorageAreaMap::didSetItem() · 59d47873
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116026
      
      Reviewed by Andreas Kling.
      
      Make sure that we ignore any leftover messages from the UI process after we've reset
      the storage map. Achieve this by keeping a seed count in the StorageAreaMap object that's incremented
      everytime the map is reset. Associate every storage area change with the seed and ignore any incoming
      notification messages from the UI process if the seeds are different.
      
      * Platform/CoreIPC/HandleMessage.h:
      (CoreIPC):
      (CoreIPC::callMemberFunction):
      * UIProcess/Storage/StorageManager.cpp:
      (WebKit::StorageManager::getValues):
      (WebKit::StorageManager::setItem):
      (WebKit::StorageManager::removeItem):
      (WebKit::StorageManager::clear):
      * UIProcess/Storage/StorageManager.h:
      (StorageManager):
      * UIProcess/Storage/StorageManager.messages.in:
      * WebProcess/Storage/StorageAreaMap.cpp:
      (WebKit::StorageAreaMap::StorageAreaMap):
      (WebKit::StorageAreaMap::setItem):
      (WebKit::StorageAreaMap::removeItem):
      (WebKit::StorageAreaMap::clear):
      (WebKit::StorageAreaMap::resetValues):
      (WebKit::StorageAreaMap::loadValuesIfNeeded):
      (WebKit::StorageAreaMap::didGetValues):
      (WebKit::StorageAreaMap::didSetItem):
      (WebKit::StorageAreaMap::didRemoveItem):
      (WebKit::StorageAreaMap::didClear):
      (WebKit::StorageAreaMap::applyChange):
      * WebProcess/Storage/StorageAreaMap.h:
      (StorageAreaMap):
      * WebProcess/Storage/StorageAreaMap.messages.in:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59d47873
    • commit-queue@webkit.org's avatar
      Source/WebCore: Floats should not overhang from flex items · 24a5e474
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115925
      
      Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-05-13
      Reviewed by David Hyatt.
      
      Allowing floats to overhand from flex items is not only against the
      spec, it causes bad bugs. Fix this by having flex items properly avoid
      floats.
      
      Test: fast/block/float/float-not-removed-crash2.html
      
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::avoidsFloats): Add flex items to avoid floats.
      * rendering/RenderBox.h:
      (WebCore::RenderBox::isFlexItemIncludingDeprecated): Determine if the current box is a
          flex item or deprecated flex item.
      
      LayoutTests: Fix the float logic to not return an anonymous block ancestor
      https://bugs.webkit.org/show_bug.cgi?id=115925
      
      Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-05-13
      Reviewed by David Hyatt.
      
      Cleaned up fuzzer test. Note that this will only crash when run under
      a memory checker like ASAN.
      
      * fast/block/float/float-not-removed-crash2-expected.txt: Added.
      * fast/block/float/float-not-removed-crash2.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      24a5e474
    • ossy@webkit.org's avatar
      [webkitpy] Make FileInfo.repository_name support SVN version > 1.6 · a3aedf12
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116016
      
      Reviewed by Dirk Pranke.
      
      Same fix as in the upstream style checker, but without hg support.
      ( http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py )
      
      * Scripts/webkitpy/style/checkers/cpp.py:
      (FileInfo.repository_name):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3aedf12
    • zoltan@webkit.org's avatar
      [CSS Regions][CSS Exclusions] Shape-inside on regions should respect region borders and paddings · bd3dabd7
      zoltan@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115456
      
      Reviewed by David Hyatt.
      
      I refactored the computation logic of shape-inside on regions by removing access to RenderFlowThread from ExclusionShapeInfo's logicalTopOffset
      function, this means all the logic is now existing in RenderBlockLineLayout.cpp. By modifying the logicalTopOffset it turned out that the borders
      and padding hadn't worked correctly, since borders and paddings were counted twice in the shape-inside's computation. This patch adds the necessary
      modifications to let it respect the borders and padding in the correct way. I created 2 new helper functions to prevent increasing the code size of
      the layoutRunsAndFloatsInRange function.
      
      Source/WebCore:
      
      I introduced 7 new tests to test for testing the correct behavior.
      
      Tests: fast/regions/shape-inside/shape-inside-on-first-region-block-content.html
             fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html
             fast/regions/shape-inside/shape-inside-on-second-region-block-content.html
             fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html
             fast/regions/shape-inside/shape-inside-on-regions-inline-content.html
             fast/regions/shape-inside/shape-inside-with-region-borders.html
             fast/regions/shape-inside/shape-inside-with-region-padding.html
      
      * rendering/ExclusionShapeInfo.cpp:
      (WebCore): Remove FlowThread logic from logicalTopOffset move definition to header.
      * rendering/ExclusionShapeInfo.h:
      (WebCore::ExclusionShapeInfo::logicalTopOffset): Moved from cpp.
      (WebCore::ExclusionShapeInfo::logicalLeftOffset): Add condition for RenderRegions.
      * rendering/RenderBlock.h:
      (RenderBlock): Add definition to the new helper members.
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Modified the flow thread case to return the appropriate region.
      (WebCore::RenderBlock::updateLineBoundariesForExclusions): Added new helper function. Modify the shape-inside on regions
      line boundaries and position computation logic.
      (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded): Added new helper function which handles the flow thread case also.
      (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Modified the code to use the helper functions.
      
      LayoutTests:
      
      * fast/regions/shape-inside/shape-inside-on-additional-regions-expected.html: Modify to not use shape-inside for testing.
      * fast/regions/shape-inside/shape-inside-on-additional-regions.html: Fix the shape-inside's dimension.
      * fast/regions/shape-inside/shape-inside-on-first-region-block-content-expected.html: Added.
      * fast/regions/shape-inside/shape-inside-on-first-region-block-content.html: Added.
      * fast/regions/shape-inside/shape-inside-on-first-region-inline-content-expected.html: Added.
      * fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html: Added.
      * fast/regions/shape-inside/shape-inside-on-regions-expected.html: Match the shape-inside height to the container's height.
      * fast/regions/shape-inside/shape-inside-on-regions-inline-content-expected.html: Added.
      * fast/regions/shape-inside/shape-inside-on-regions.html: Match the shape-inside height to the container's height.
      * fast/regions/shape-inside/shape-inside-on-second-region-block-content-expected.html: Added.
      * fast/regions/shape-inside/shape-inside-on-second-region-block-content.html: Added.
      * fast/regions/shape-inside/shape-inside-on-second-region-inline-content-expected.html: Added.
      * fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html: Added.
      * fast/regions/shape-inside/shape-inside-with-region-borders-expected.html: Added.
      * fast/regions/shape-inside/shape-inside-with-region-borders.html: Added.
      * fast/regions/shape-inside/shape-inside-with-region-padding-expected.html: Added.
      * fast/regions/shape-inside/shape-inside-with-region-padding.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd3dabd7
    • roger_fong@apple.com's avatar
      Unreviewed. AppleWin VS2005 build fix. · 9e70e888
      roger_fong@apple.com authored
      * WebKit.vcproj/WebKitExports.def.in:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9e70e888
    • betravis@adobe.com's avatar
      [css exclusions] Enable CSS Exclusions by default when CSS_EXCLUSIONS is set · 684b35c9
      betravis@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115919
      
      Reviewed by Dean Jackson.
      
      Source/WebCore:
      
      Change the RuntimeEnabledFeatures::isCSSExclusionsEnabled boolean to default
      to true. CSS Exclusions can still be enabled / disabled in platforms by
      setting the CSS_EXCLUSIONS compile flag in one of the FeatureDefine files.
      
      Test: fast/exclusions/css-exclusions-enabled.html
      
      * bindings/generic/RuntimeEnabledFeatures.cpp:
      (WebCore):
      
      LayoutTests:
      
      Adding a test to make sure CSS Exclusions can be enabled, and are enabled by
      default.
      
      * fast/exclusions/css-exclusions-enabled-expected.txt: Added.
      * fast/exclusions/css-exclusions-enabled.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      684b35c9
    • commit-queue@webkit.org's avatar
      [WK2][CoordinatedGraphics] Avoid dispensable calls to WebView::updateViewportSize() · 90c635e3
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116045
      
      Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2013-05-13
      Reviewed by Darin Adler.
      
      * UIProcess/CoordinatedGraphics/WebView.cpp:
      (WebKit::WebView::setSize):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90c635e3
    • commit-queue@webkit.org's avatar
      Cell heights are disproportional when a row-spanning cell contains a block... · 7551a0ef
      commit-queue@webkit.org authored
      Cell heights are disproportional when a row-spanning cell contains a block element that determines the height of the rows
      https://bugs.webkit.org/show_bug.cgi?id=52185
      
      Patch by Suchit Agrawal <a.suchit@samsung.com> on 2013-05-13
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      Cells heights are not proper when rowspan cell have its own height and rowspan height
      is more than the height of the rows present in rowspan.
      
      After calculating logical height of the rows in the table, we are recalculating the height
      of the rows present in rowspan. Based on the ratio of row's logical height, we are
      distributing rowspan cell height in rows.
      
      Test: fast/table/table-rowspan-height-distribution-in-rows.html
      
      * rendering/RenderTableSection.cpp:
      (WebCore):
      
      Update the logical height of the rows based on rowspan cell height.
      (WebCore::RenderTableSection::distributeRowSpanHeightToRows):
      
      It calculates logical height of the rows in the table.
      (WebCore::RenderTableSection::calcRowLogicalHeight):
      
      Added new private API to distribute rowSpan cell height in rows.
      * rendering/RenderTableSection.h:
      (RenderTableSection):
      
      LayoutTests:
      
      Test case updated.
      * fast/css/vertical-align-baseline-rowspan-007.htm:
      
      Reference Test cases updated.
      * fast/css/vertical-align-baseline-rowspan-007-expected.html:
      * fast/css/vertical-align-baseline-rowspan-008-expected.html:
      
      Added test cases based on changes in the code and different scenarios for rowspan height
      distribution in rows.
      * fast/table/table-rowspan-height-distribution-in-rows.html: Added.
      * platform/qt/fast/table/table-rowspan-height-distribution-in-rows-expected.png: Added.
      * platform/qt/fast/table/table-rowspan-height-distribution-in-rows-expected.txt: Added.
      
      Test cases need to rebaseline in qt, efl, gtk and mac platforms.
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/qt/TestExpectations:
      
      Test case results are updated in qt platform.
      * platform/qt/tables/mozilla/bugs/bug17548-expected.png:
      * platform/qt/tables/mozilla/bugs/bug17548-expected.txt:
      * platform/qt/tables/mozilla/bugs/bug220536-expected.png:
      * platform/qt/tables/mozilla/bugs/bug220536-expected.txt:
      * platform/qt/tables/mozilla/bugs/bug7714-expected.png:
      * platform/qt/tables/mozilla/bugs/bug7714-expected.txt:
      * platform/qt/tables/mozilla/core/bloomberg-expected.png:
      * platform/qt/tables/mozilla/core/bloomberg-expected.txt:
      * platform/qt/tables/mozilla/other/test6-expected.png:
      * platform/qt/tables/mozilla/other/test6-expected.txt:
      * platform/qt/tables/mozilla_expected_failures/bugs/bug1010-expected.png:
      * platform/qt/tables/mozilla_expected_failures/bugs/bug1010-expected.txt:
      * platform/qt/tables/mozilla_expected_failures/bugs/bug23847-expected.png:
      * platform/qt/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png:
      * platform/qt/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
      * platform/qt/tables/mozilla_expected_failures/bugs/bug6933-expected.png:
      * platform/qt/tables/mozilla_expected_failures/bugs/bug6933-expected.txt:
      * tables/mozilla/core/bloomberg-expected.txt:
      * tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7551a0ef
    • kbalazs@webkit.org's avatar
      [GStreamer] cannot seek after video finished · 55ee27ae
      kbalazs@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114044
      
      Patch by Balazs Kelemen <b.kelemen@sisa.samsung.com> on 2013-04-30
      Reviewed by Philippe Normand.
      
      Source/WebCore:
      
      Test: media/video-seek-after-end.html
      
      Rework the seeking logic to be able to seek after reseting the pipeline.
      In addition to solve the actual problem this patch supposed to make seeking
      more robust and correct.
      The previous implementation tried to hide the complexity of asynchronous operations
      on the pipeline. It did not handle the GST_MESSAGE_ASYNC_DONE message from the bus
      but instead reported the seek as finished when it saw an asynchronous pending state
      (GST_STATE_CHANGE_ASYNC) which could happen way before the seek is really done.
      Now we pay attention to the GST_MESSAGE_ASYNC_DONE message to track the status of seeks.
      Seeks are not the only operations executed asynchronously, changing the pipeling state is
      similar. It means a seek can overlap with onother ongoing asynchronous operation.
      This change address this by introducing an invariant for seeks, which is that we only request
      a seek if there are no other ongoing asynchronous operations and the pipeline state is either
      paused or playing (which is recommended anyway according to GStreamer's documentation).
      This way we can be sure that the time when we get the next GST_MESSAGE_ASYNC_DONE message the
      seek has been completed.
      
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
      (WebCore::toGstClockTime): Factored time conversation into a helper.
      (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
      
      (WebCore::MediaPlayerPrivateGStreamer::playbackPosition): The position might not be available
      if the pipeline still has a pending state. As a workaround, if we are right after a seek we can
      use the seek time. Avoiding this situation would be possible by not allowing any asynchronous
      operation to overlap. I believe it would add a lot more complexity so I decided to rather introduce
      this workaround. Otherwise those overlapping operations are handled fine by GStreamer.
      
      (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): Do not reset internal state variables.
      This function called when there is an intent to restart playback but it does not actually restart it.
      (WebCore::MediaPlayerPrivateGStreamer::currentTime): Just removed a staling newline.
      (WebCore::MediaPlayerPrivateGStreamer::seek): Take a look to the pipeline state and act upon that.
      If there is an ongoing asynchronous operation make the seek pending, otherwise do it now.
      Now we handle overlapping seeks as well because I saw that it can happen in some tests.
      Added an early return for live streams as it doesn't makes sense to try seeking in them.
      
      (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Handle GST_MESSAGE_ASYNC_DONE and some refactoring.
      (WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
      (WebCore::MediaPlayerPrivateGStreamer::updateStates): Only handle seeks in the pending case, the rest is
      now handled in asyncStateChangeDone.
      (WebCore::MediaPlayerPrivateGStreamer::cacheDuration): Do not reset the m_mediaDurationKnown if the pipeline
      has an asynchronous pending state because it would fail. It does actually happen when we get a duration message
      after restarting the pipeline and it would result in restarting playback from the start. It seems to be a bug
      in GStreamer that it sends the duration message too early. Also sanitized this function by merging redundant branches.
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
      (MediaPlayerPrivateGStreamer):
      
      LayoutTests:
      
      * media/video-seek-after-end-expected.txt: Added.
      * media/video-seek-after-end.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55ee27ae
    • jocelyn.turcotte@digia.com's avatar
      [Qt] Fix a crash on startup in FrameLoaderClientQt::callPolicyFunction with MSVC · 08fb760e
      jocelyn.turcotte@digia.com authored
      Reviewed by Allan Sandfeld Jensen.
      
      It's not clear why it crashes, but here's my guess by looking at the generated
      assembly code:
      Since we're using a member function pointer to PolicyChecker, the representation
      is not necessarily just a simple pointer and might be a bigger structure used
      to handle virtual functions resolution.
      For a function taking such a function "pointer" as parameter, the compiler doesn't
      seem to have the caller and callee agree on which convention to use if the function
      pointer's class is non-virtual and only one of the ends doesn't know about it.
      
      Including the definition of the member function pointer's class fixes the crash.
      
      * WebCoreSupport/FrameLoaderClientQt.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      08fb760e
    • jonlee@apple.com's avatar
      [WK2] Notification manager removal should not be tied to termination of web processes · 6673c0c3
      jonlee@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116038
      <rdar://problem/10968680>
      
      Reviewed by Ryosuke Niwa.
      
      WebNotificationManagerProxy incorrectly removes the manager when web processes close.
      Since it is a supplemental on the web context, the manager should only be removed
      when the context is destroyed.
      
      * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
      * UIProcess/Notifications/WebNotificationManagerProxy.h: Remove implementation of
      processDidClose().
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6673c0c3
    • carlosgc@webkit.org's avatar
      Unreviewed. Fix Qt Linux MIPS32R2 build after r149879. · f0349e39
      carlosgc@webkit.org authored
      Bring back GLIB_CHECK_VERSION for GBytes since Qt Linux MIPS32R2
      depends on glib 2.24.2.
      
      * wtf/gobject/GRefPtr.cpp:
      (_GBytes):
      (WTF::refGPtr):
      (WTF::derefGPtr):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0349e39
    • mrobinson@webkit.org's avatar
      [GTK] [WebKit2] Use a template file for generated GObject enum files · b83e2db9
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115867
      
      Reviewed by Carlos Garcia Campos.
      
      * GNUmakefile.am: Use a template file instead of specifying portions of the file on the command-line.
      * UIProcess/API/gtk/WebKitEnumTypes.cpp.template: Added.
      * UIProcess/API/gtk/WebKitEnumTypes.h.template: Added.
      * UIProcess/API/gtk/WebKitFindController.cpp: We can no longer rely on WebKitEnumTypes.h to pull in WebKitWebView.h.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b83e2db9
    • akling@apple.com's avatar
      Remove accidental unrelated ChangeLog entry from r150016. · 5c3c16a7
      akling@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c3c16a7
    • darin@apple.com's avatar
      Source/WebCore: [Mac] Move writeRange/PlainText/URL from ClipboardMac to PasteboardMac · b1cadf5a
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116009
      
      Reviewed by Andreas Kling.
      
      * dom/Clipboard.cpp:
      (WebCore::Clipboard::writeRange): Added. Moved from ClipboardMac,
      but added some FIXMEs.
      (WebCore::Clipboard::writePlainText): Ditto.
      (WebCore::Clipboard::writeURL): Ditto.
      
      * dom/Clipboard.h: Made writeURL, writeRange, and writePlainText
      non-virtual in non-legacy clipboard implementations.
      
      * platform/mac/ClipboardMac.h: Removed writeRange, writeURL, and
      writePlainText.
      * platform/mac/ClipboardMac.mm: Ditto.
      
      Source/WebKit/mac: [Mac] Layer-backed WebViews draw their background color even when setDrawsBackground:NO was called
      https://bugs.webkit.org/show_bug.cgi?id=116014
      <rdar://problem/12781227>
      
      Reviewed by Andreas Kling.
      
      * WebView/WebFrame.mm:
      (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Remove calls to setBackgroundColor: and
      setDrawsBackground: on the document view. These were added to support a hypothetical document view
      that wanted to draw its background like WebHTMLView does, but this was never communicated as a
      document view protocol, formal or informal, and it's unlikely that it was ever used. The bug was
      caused because there is an -[NSView setDrawsBackground:] method, probably an internal one, and we
      were calling it unintentionally on a WebHTMLView.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b1cadf5a
    • commit-queue@webkit.org's avatar
      [CoordGfx] requestAnimationFrame performance issues · 984d32f9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112345
      
      Patch by Noam Rosenthal <noam@webkit.org> on 2013-05-13
      Reviewed by Jocelyn Turcotte.
      
      Source/WebCore:
      
      Removed current requestAnimationFrame logic from CoordinatedGraphics. The new logic
      is entirely in WebKit2 CoordinatedLayerTreeHost.
      
      Covered by existing tests in fast/animations.
      
      * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
      (WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
      (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
      * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
      (CoordinatedGraphicsScene):
      
      Source/WebKit2:
      
      Changed the logic of requestAnimationFrame in Coordinated Graphics.
      We don't send any IPC messages for requestAnimationFrame. Instead, we do one of two things:
      - If there is already a frame pending in the UI process, do nothing, as the animations would
        be serviced when the frame is returned to the web process.
      - If there is no frame pending, we schedule a flush, making sure that that flush occurs at
        least 1/60 seconds after the last animation service, so that we don't get an infinite loop
        of flushes.
      
      * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
      (WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):
      * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
      (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
      (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
      (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      984d32f9
    • commit-queue@webkit.org's avatar
      [texmap][GStreamer] Composited Video support · fd07aca1
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=86410
      
      Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2013-05-13
      Reviewed by Philippe Normand.
      
      Enable the video accelerated compositing using the WebKit's
      TextureMapper.
      
      This patch does not use hardware accelerated video decoding. It
      provides a generic path for system memory buffers.
      
      No new tests, already covered by existing tests.
      
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
      (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
      (WebCore):
      (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): update the
      texture content with the new received video buffer.
      (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): choose to
      use the accelerated compositing or the normal code path
      (WebCore::MediaPlayerPrivateGStreamerBase::paint): if accelerated
      compositing is used this method is halted.
      (WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper): get
      a texture from the pool and draws it if it is already available.
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
      (MediaPlayerPrivateGStreamerBase):
      (WebCore::MediaPlayerPrivateGStreamerBase::platformLayer): returns itself
      (WebCore::MediaPlayerPrivateGStreamerBase::supportsAcceleratedRendering):
      returns true
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd07aca1