1. 21 Mar, 2013 40 commits
    • commit-queue@webkit.org's avatar
      [V8] Generate specialized callbacks for the main world · 48dff2e8
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112430
      
      Patch by Marja Hölttä <marja@chromium.org> on 2013-03-21
      Reviewed by Jochen Eisinger.
      
      The new specialized bindings will be faster, because they don't need to
      do the "main world, isolated world or a worker" check, but can right
      away assume that we're in the main world.
      
      This patch generates main world bindings for getters and setters of Node,
      Element and Document.
      
      No new tests (updated existing binding tests).
      
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateOverloadedFunction):
      (GenerateFunctionCallback):
      (GenerateFunction):
      (GenerateParametersCheck):
      (GenerateSingleConstructorCallback):
      (GenerateNonStandardFunction):
      (GenerateImplementation):
      (GenerateFunctionCallString):
      * bindings/scripts/test/V8/V8Float64Array.cpp:
      (WebCore):
      * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
      (WebCore):
      * bindings/scripts/test/V8/V8TestEventTarget.cpp:
      (WebCore):
      * bindings/scripts/test/V8/V8TestInterface.cpp:
      (WebCore):
      * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
      (WebCore):
      * bindings/scripts/test/V8/V8TestObj.cpp:
      (WebCore):
      * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
      (WebCore):
      * bindings/scripts/test/V8/V8TestTypedefs.cpp:
      (WebCore):
      * bindings/v8/V8DOMConfiguration.cpp:
      (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
      (WebCore::V8DOMConfiguration::configureTemplate):
      * bindings/v8/V8DOMConfiguration.h:
      (BatchedMethod):
      (V8DOMConfiguration):
      * dom/Document.idl:
      * dom/Element.idl:
      * dom/Node.idl:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48dff2e8
    • esprehn@chromium.org's avatar
      Remove RenderObject::canHaveRegionStyle since nothing uses it · c3fcedbc
      esprehn@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112973
      
      Reviewed by Eric Seidel.
      
      Nothing uses canHaveRegionStyle so we can remove it.
      
      * rendering/RenderObject.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146533 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3fcedbc
    • pkasting@chromium.org's avatar
      [chromium] Minor test expectations updates and some Skia rebaselines. · 8bbbec68
      pkasting@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94240
      https://bugs.webkit.org/show_bug.cgi?id=104595
      https://code.google.com/p/chromium/issues/detail?id=181700
      https://code.google.com/p/chromium/issues/detail?id=222382
      
      Unreviewed, gardening.
      
      * platform/chromium-linux-x86/platform/chromium/virtual/gpu: Removed.
      * platform/chromium-linux-x86/platform/chromium/virtual/gpu/fast: Removed.
      * platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-expected.png:
      * platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-transformclip-expected.png:
      * platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png:
      * platform/chromium-mac-lion/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-expected.png:
      * platform/chromium-mac-lion/platform/chromium/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png:
      * platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-expected.png:
      * platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png:
      * platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-expected.png:
      * platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-transformclip-expected.png:
      * platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png:
      * platform/chromium-win-xp/fast/writing-mode/Kusa-Makura-background-canvas-expected.png:
      * platform/chromium-win/fast/writing-mode/Kusa-Makura-background-canvas-expected.png:
      * platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-expected.png:
      * platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-composite-transformclip-expected.png:
      * platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png:
      * platform/chromium/TestExpectations:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146532 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8bbbec68
    • alokp@chromium.org's avatar
      Mark GraphicsLayers as opaque when possible · 1f006a4f
      alokp@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=70634
      
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      Mark layers as opaque in a very simple case - any child renderer has an opaque background and covers the entire composited bounds. It is important to note that since we only consider the background, the only layer that can be marked opaque is the primary GraphicsLayer of a RenderLayer.
      
      Tests: compositing/contents-opaque/background-clip.html
             compositing/contents-opaque/background-color.html
             compositing/contents-opaque/body-background-painted.html
             compositing/contents-opaque/body-background-skipped.html
             compositing/contents-opaque/layer-opacity.html
             compositing/contents-opaque/layer-transform.html
      
      * rendering/RenderBox.cpp:
      (WebCore::skipBodyBackground):
      (WebCore):
      (WebCore::RenderBox::paintBackground):
      (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):
      * rendering/RenderBox.h:
      (RenderBox):
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
      (WebCore):
      (WebCore::RenderLayer::listBackgroundIsKnownToBeOpaqueInRect):
      * rendering/RenderLayer.h:
      (RenderLayer):
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
      * rendering/RenderLayerModelObject.h:
      (RenderLayerModelObject):
      (WebCore::RenderLayerModelObject::backgroundIsKnownToBeOpaqueInRect):
      
      LayoutTests:
      
      * compositing/absolute-inside-out-of-view-fixed-expected.txt:
      * compositing/backing/no-backing-for-clip-expected.txt:
      * compositing/backing/no-backing-for-clip-overlap-expected.txt:
      * compositing/backing/no-backing-for-perspective-expected.txt:
      * compositing/clip-child-by-non-stacking-ancestor-expected.txt:
      * compositing/columns/composited-in-paginated-expected.txt:
      * compositing/contents-opaque/background-clip-expected.txt: Copied from LayoutTests/platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt.
      * compositing/contents-opaque/background-clip.html: Added.
      * compositing/contents-opaque/background-color-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-positioned-expected.txt.
      * compositing/contents-opaque/background-color.html: Added.
      * compositing/contents-opaque/body-background-painted-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt.
      * compositing/contents-opaque/body-background-painted.html: Added.
      * compositing/contents-opaque/body-background-skipped-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt.
      * compositing/contents-opaque/body-background-skipped.html: Added.
      * compositing/contents-opaque/layer-opacity-expected.txt: Copied from LayoutTests/compositing/clip-child-by-non-stacking-ancestor-expected.txt.
      * compositing/contents-opaque/layer-opacity.html: Added.
      * compositing/contents-opaque/layer-transform-expected.txt: Copied from LayoutTests/compositing/clip-child-by-non-stacking-ancestor-expected.txt.
      * compositing/contents-opaque/layer-transform.html: Added.
      * compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
      * compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
      * compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
      * compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt:
      * compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
      * compositing/geometry/bounds-ignores-hidden-expected.txt:
      * compositing/geometry/clip-expected.txt:
      * compositing/geometry/clip-inside-expected.txt:
      * compositing/geometry/fixed-position-composited-switch-expected.txt:
      * compositing/geometry/flipped-writing-mode-expected.txt:
      * compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
      * compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
      * compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
      * compositing/geometry/limit-layer-bounds-fixed-expected.txt:
      * compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
      * compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
      * compositing/geometry/limit-layer-bounds-positioned-expected.txt:
      * compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
      * compositing/geometry/limit-layer-bounds-transformed-expected.txt:
      * compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
      * compositing/geometry/preserve-3d-switching-expected.txt:
      * compositing/iframes/become-composited-nested-iframes-expected.txt:
      * compositing/iframes/become-overlapped-iframe-expected.txt:
      * compositing/iframes/composited-parent-iframe-expected.txt:
      * compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
      * compositing/iframes/connect-compositing-iframe-expected.txt:
      * compositing/iframes/connect-compositing-iframe2-expected.txt:
      * compositing/iframes/connect-compositing-iframe3-expected.txt:
      * compositing/iframes/enter-compositing-iframe-expected.txt:
      * compositing/iframes/iframe-resize-expected.txt:
      * compositing/iframes/invisible-nested-iframe-hide-expected.txt:
      * compositing/iframes/invisible-nested-iframe-show-expected.txt:
      * compositing/iframes/overlapped-iframe-expected.txt:
      * compositing/iframes/overlapped-iframe-iframe-expected.txt:
      * compositing/iframes/overlapped-nested-iframes-expected.txt:
      * compositing/iframes/page-cache-layer-tree-expected.txt:
      * compositing/iframes/scrolling-iframe-expected.txt:
      * compositing/layer-creation/animation-overlap-with-children-expected.txt:
      * compositing/layer-creation/fixed-position-and-transform-expected.txt:
      * compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
      * compositing/layer-creation/fixed-position-out-of-view-expected.txt:
      * compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
      * compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
      * compositing/layer-creation/fixed-position-under-transform-expected.txt:
      * compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
      * compositing/layer-creation/overflow-scroll-overlap-expected.txt:
      * compositing/layer-creation/overlap-animation-clipping-expected.txt:
      * compositing/layer-creation/overlap-animation-expected.txt:
      * compositing/layer-creation/overlap-child-layer-expected.txt:
      * compositing/layer-creation/overlap-clipping-expected.txt:
      * compositing/layer-creation/overlap-transformed-3d-expected.txt:
      * compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
      * compositing/layer-creation/overlap-transformed-layer-expected.txt:
      * compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
      * compositing/layer-creation/overlap-transforms-expected.txt:
      * compositing/layer-creation/spanOverlapsCanvas-expected.txt:
      * compositing/layer-creation/stacking-context-overlap-expected.txt:
      * compositing/layer-creation/translatez-overlap-expected.txt:
      * compositing/masks/mask-layer-size-expected.txt:
      * compositing/overflow-trumps-transform-style-expected.txt:
      * compositing/overflow/clip-descendents-expected.txt:
      * compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
      * compositing/overflow/textarea-scroll-touch-expected.txt:
      * compositing/plugins/no-backing-store-expected.txt:
      * compositing/repaint/invalidations-on-composited-layers-expected.txt:
      * compositing/rtl/rtl-absolute-expected.txt:
      * compositing/rtl/rtl-absolute-overflow-expected.txt:
      * compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
      * compositing/rtl/rtl-fixed-expected.txt:
      * compositing/rtl/rtl-fixed-overflow-expected.txt:
      * compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
      * compositing/rtl/rtl-iframe-absolute-expected.txt:
      * compositing/rtl/rtl-iframe-fixed-expected.txt:
      * compositing/rtl/rtl-iframe-relative-expected.txt:
      * compositing/rtl/rtl-relative-expected.txt:
      * compositing/tiled-layers-hidpi-expected.txt:
      * compositing/tiling/backface-preserve-3d-tiled-expected.txt:
      * compositing/tiling/crash-reparent-tiled-layer-expected.txt:
      * compositing/tiling/huge-layer-add-remove-child-expected.txt:
      * compositing/tiling/huge-layer-with-layer-children-expected.txt:
      * compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
      * compositing/tiling/rotated-tiled-clamped-expected.txt:
      * compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
      * compositing/tiling/tile-cache-zoomed-expected.txt:
      * compositing/tiling/tiled-layer-resize-expected.txt:
      * compositing/visible-rect/2d-transformed-expected.txt:
      * compositing/visible-rect/3d-transform-style-expected.txt:
      * compositing/visible-rect/3d-transformed-expected.txt:
      * compositing/visible-rect/animated-expected.txt:
      * compositing/visible-rect/animated-from-none-expected.txt:
      * compositing/visible-rect/clipped-by-viewport-expected.txt:
      * compositing/visible-rect/clipped-visible-rect-expected.txt:
      * compositing/visible-rect/iframe-and-layers-expected.txt:
      * compositing/visible-rect/iframe-no-layers-expected.txt:
      * compositing/visible-rect/nested-transform-expected.txt:
      * compositing/visible-rect/scrolled-expected.txt:
      * css3/filters/filtered-compositing-descendant-expected.txt:
      * platform/chromium-linux-x86/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
      * platform/chromium-linux-x86/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
      * platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
      * platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
      * platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
      * platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
      * platform/chromium-linux/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
      * platform/chromium-linux/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
      * platform/chromium-linux/compositing/iframes/become-overlapped-iframe-expected.txt:
      * platform/chromium-linux/compositing/iframes/composited-parent-iframe-expected.txt:
      * platform/chromium-linux/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
      * platform/chromium-linux/compositing/iframes/connect-compositing-iframe-expected.txt:
      * platform/chromium-linux/compositing/iframes/connect-compositing-iframe2-expected.txt:
      * platform/chromium-linux/compositing/iframes/connect-compositing-iframe3-expected.txt:
      * platform/chromium-linux/compositing/iframes/enter-compositing-iframe-expected.txt:
      * platform/chromium-linux/compositing/iframes/iframe-resize-expected.txt:
      * platform/chromium-linux/compositing/iframes/iframe-size-from-zero-expected.txt:
      * platform/chromium-linux/compositing/iframes/invisible-nested-iframe-show-expected.txt:
      * platform/chromium-linux/compositing/iframes/overlapped-iframe-expected.txt:
      * platform/chromium-linux/compositing/iframes/resizer-expected.txt:
      * platform/chromium-linux/compositing/overflow/textarea-scroll-touch-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/become-overlapped-iframe-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/composited-parent-iframe-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe-delayed-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe2-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe3-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/enter-compositing-iframe-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/iframe-resize-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/iframe-size-from-zero-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/invisible-nested-iframe-show-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/overlapped-iframe-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/resizer-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/scrolling-iframe-expected.txt: Removed.
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/textarea-scroll-touch-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
      * platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
      * platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
      * platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
      * platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
      * platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
      * platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
      * platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
      * platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
      * platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
      * platform/chromium-mac/compositing/iframes/invisible-nested-iframe-show-expected.txt:
      * platform/chromium-mac/compositing/overflow/textarea-scroll-touch-expected.txt:
      * platform/chromium-mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
      * platform/chromium-mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
      * platform/chromium-mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
      * platform/chromium-mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
      * platform/chromium-mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
      * platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch-expected.txt:
      * platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/textarea-scroll-touch-expected.txt:
      * platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
      * platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
      * platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
      * platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
      * platform/chromium-win-xp/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
      * platform/chromium-win-xp/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
      * platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
      * platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
      * platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
      * platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
      * platform/chromium-win/compositing/backing/no-backing-for-clip-expected.txt:
      * platform/chromium-win/compositing/backing/no-backing-for-clip-overlap-expected.txt:
      * platform/chromium-win/compositing/backing/no-backing-for-perspective-expected.txt:
      * platform/chromium-win/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
      * platform/chromium-win/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
      * platform/chromium-win/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
      * platform/chromium-win/compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
      * platform/chromium-win/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
      * platform/chromium-win/compositing/geometry/preserve-3d-switching-expected.txt:
      * platform/chromium-win/compositing/iframes/invisible-nested-iframe-show-expected.txt:
      * platform/chromium-win/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
      * platform/chromium-win/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
      * platform/chromium-win/compositing/tiling/huge-layer-add-remove-child-expected.txt:
      * platform/chromium-win/compositing/tiling/huge-layer-with-layer-children-expected.txt:
      * platform/chromium-win/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
      * platform/chromium/TestExpectations:
      * platform/chromium/compositing/backing/no-backing-for-clip-expected.txt:
      * platform/chromium/compositing/backing/no-backing-for-clip-overlap-expected.txt:
      * platform/chromium/compositing/backing/no-backing-for-perspective-expected.txt:
      * platform/chromium/compositing/columns/composited-in-paginated-expected.txt:
      * platform/chromium/compositing/contents-opaque/background-color-expected.txt: Copied from LayoutTests/platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt.
      * platform/chromium/compositing/contents-opaque/body-background-painted-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt.
      * platform/chromium/compositing/contents-opaque/body-background-skipped-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt.
      * platform/chromium/compositing/contents-opaque/layer-opacity-expected.txt: Copied from LayoutTests/compositing/clip-child-by-non-stacking-ancestor-expected.txt.
      * platform/chromium/compositing/contents-opaque/layer-transform-expected.txt: Copied from LayoutTests/compositing/clip-child-by-non-stacking-ancestor-expected.txt.
      * platform/chromium/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
      * platform/chromium/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
      * platform/chromium/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
      * platform/chromium/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
      * platform/chromium/compositing/geometry/clip-expected.txt:
      * platform/chromium/compositing/geometry/clip-inside-expected.txt:
      * platform/chromium/compositing/geometry/fixed-position-composited-switch-expected.txt:
      * platform/chromium/compositing/geometry/flipped-writing-mode-expected.txt:
      * platform/chromium/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
      * platform/chromium/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
      * platform/chromium/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
      * platform/chromium/compositing/geometry/limit-layer-bounds-positioned-expected.txt:
      * platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
      * platform/chromium/compositing/geometry/limit-layer-bounds-transformed-expected.txt:
      * platform/chromium/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
      * platform/chromium/compositing/geometry/preserve-3d-switching-expected.txt:
      * platform/chromium/compositing/iframes/become-composited-nested-iframes-expected.txt:
      * platform/chromium/compositing/iframes/become-overlapped-iframe-expected.txt:
      * platform/chromium/compositing/iframes/composited-parent-iframe-expected.txt:
      * platform/chromium/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
      * platform/chromium/compositing/iframes/connect-compositing-iframe-expected.txt:
      * platform/chromium/compositing/iframes/connect-compositing-iframe2-expected.txt:
      * platform/chromium/compositing/iframes/connect-compositing-iframe3-expected.txt:
      * platform/chromium/compositing/iframes/enter-compositing-iframe-expected.txt:
      * platform/chromium/compositing/iframes/iframe-resize-expected.txt:
      * platform/chromium/compositing/iframes/iframe-size-from-zero-expected.txt:
      * platform/chromium/compositing/iframes/invisible-nested-iframe-hide-expected.txt:
      * platform/chromium/compositing/iframes/overlapped-iframe-expected.txt:
      * platform/chromium/compositing/iframes/overlapped-iframe-iframe-expected.txt:
      * platform/chromium/compositing/iframes/overlapped-nested-iframes-expected.txt:
      * platform/chromium/compositing/iframes/resizer-expected.txt:
      * platform/chromium/compositing/layer-creation/fixed-position-and-transform-expected.txt:
      * platform/chromium/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
      * platform/chromium/compositing/layer-creation/fixed-position-out-of-view-expected.txt:
      * platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
      * platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
      * platform/chromium/compositing/layer-creation/fixed-position-under-transform-expected.txt:
      * platform/chromium/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
      * platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt:
      * platform/chromium/compositing/layer-creation/overlap-animation-clipping-expected.txt:
      * platform/chromium/compositing/layer-creation/overlap-animation-expected.txt:
      * platform/chromium/compositing/layer-creation/overlap-child-layer-expected.txt:
      * platform/chromium/compositing/layer-creation/overlap-clipping-expected.txt:
      * platform/chromium/compositing/layer-creation/overlap-transformed-3d-expected.txt:
      * platform/chromium/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
      * platform/chromium/compositing/layer-creation/overlap-transformed-layer-expected.txt:
      * platform/chromium/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
      * platform/chromium/compositing/layer-creation/overlap-transforms-expected.txt:
      * platform/chromium/compositing/layer-creation/spanOverlapsCanvas-expected.txt:
      * platform/chromium/compositing/layer-creation/stacking-context-overlap-expected.txt:
      * platform/chromium/compositing/layer-creation/translatez-overlap-expected.txt:
      * platform/chromium/compositing/overflow-trumps-transform-style-expected.txt:
      * platform/chromium/compositing/overflow/clip-descendents-expected.txt:
      * platform/chromium/compositing/rtl/rtl-absolute-expected.txt:
      * platform/chromium/compositing/rtl/rtl-absolute-overflow-expected.txt:
      * platform/chromium/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
      * platform/chromium/compositing/rtl/rtl-fixed-expected.txt:
      * platform/chromium/compositing/rtl/rtl-fixed-overflow-expected.txt:
      * platform/chromium/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
      * platform/chromium/compositing/rtl/rtl-iframe-absolute-expected.txt:
      * platform/chromium/compositing/rtl/rtl-iframe-fixed-expected.txt:
      * platform/chromium/compositing/rtl/rtl-iframe-relative-expected.txt:
      * platform/chromium/compositing/rtl/rtl-relative-expected.txt:
      * platform/chromium/css3/filters/filtered-compositing-descendant-expected.txt:
      * platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
      * platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt:
      * platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
      * platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
      * platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt:
      * platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
      * platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
      * platform/mac/compositing/iframes/resizer-expected.txt:
      * platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
      * platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
      * platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt:
      * platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
      * platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
      * platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
      * platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
      * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
      * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
      * platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
      * platform/mac/compositing/tiling/tiled-layer-resize-expected.txt:
      * platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
      * platform/qt-5.0-wk1/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
      * platform/qt-5.0-wk1/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
      * platform/qt-5.0-wk1/compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
      * platform/qt-5.0-wk1/compositing/iframes/page-cache-layer-tree-expected.txt:
      * platform/qt-5.0-wk1/compositing/overflow/textarea-scroll-touch-expected.txt:
      * platform/qt-5.0-wk1/compositing/repaint/invalidations-on-composited-layers-expected.txt:
      * platform/qt-5.0-wk2/compositing/columns/composited-in-paginated-expected.txt:
      * platform/qt-5.0-wk2/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/become-composited-nested-iframes-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/become-overlapped-iframe-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/composited-parent-iframe-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe2-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe3-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/enter-compositing-iframe-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/iframe-resize-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/invisible-nested-iframe-show-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/overlapped-iframe-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/overlapped-nested-iframes-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/page-cache-layer-tree-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/resizer-expected.txt:
      * platform/qt-5.0-wk2/compositing/iframes/scrolling-iframe-expected.txt: Removed.
      * platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-and-transform-expected.txt:
      * platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
      * platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt:
      * platform/qt-5.0-wk2/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
      * platform/qt-5.0-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt:
      * platform/qt-5.0-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
      * platform/qt-5.0-wk2/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
      * platform/qt-5.0-wk2/compositing/tiled-layers-hidpi-expected.txt:
      * platform/qt-5.0-wk2/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
      * platform/qt-5.0-wk2/compositing/tiling/huge-layer-add-remove-child-expected.txt:
      * platform/qt-5.0-wk2/compositing/tiling/huge-layer-with-layer-children-expected.txt:
      * platform/qt-5.0-wk2/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
      * platform/qt/compositing/backing/no-backing-for-clip-expected.txt:
      * platform/qt/compositing/backing/no-backing-for-clip-overlap-expected.txt:
      * platform/qt/compositing/backing/no-backing-for-perspective-expected.txt:
      * platform/qt/compositing/geometry/preserve-3d-switching-expected.txt:
      * platform/qt/compositing/iframes/invisible-nested-iframe-show-expected.txt:
      * platform/qt/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
      * platform/qt/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
      * platform/win/compositing/iframes/overlapped-iframe-iframe-expected.txt:
      * platform/win/compositing/tiling/huge-layer-add-remove-child-expected.txt:
      * platform/win/compositing/tiling/rotated-tiled-clamped-expected.txt:
      * platform/win/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1f006a4f
    • roger_fong@apple.com's avatar
      Move common props files for VS2010 solution to WebKitLibraries folder and... · 356fb46a
      roger_fong@apple.com authored
      Move common props files for VS2010 solution to WebKitLibraries folder and update all projects accordingly.
      
      * WebKit.vcxproj/FeatureDefines.props: Removed.
      * WebKit.vcxproj/FeatureDefinesCairo.props: Removed.
      * WebKit.vcxproj/WebKit/cURL.props: Removed.
      * WebKit.vcxproj/WinCairo.props: Removed.
      * WebKit.vcxproj/common.props: Removed.
      * WebKit.vcxproj/debug.props: Removed.
      * WebKit.vcxproj/debug_wincairo.props: Removed.
      * WebKit.vcxproj/debugsuffix.props: Removed.
      * WebKit.vcxproj/production.props: Removed.
      * WebKit.vcxproj/release.props: Removed.
      * win/tools/vsprops/FeatureDefines.props: Copied from ../Source/WebKit/WebKit.vcxproj/FeatureDefines.props.
      * win/tools/vsprops/FeatureDefinesCairo.props: Copied from ../Source/WebKit/WebKit.vcxproj/FeatureDefinesCairo.props.
      * win/tools/vsprops/WinCairo.props: Copied from ../Source/WebKit/WebKit.vcxproj/WinCairo.props.
      * win/tools/vsprops/cURL.props: Copied from ../Source/WebKit/WebKit.vcxproj/WebKit/cURL.props.
      * win/tools/vsprops/common.props: Copied from ../Source/WebKit/WebKit.vcxproj/common.props.
      * win/tools/vsprops/debug.props: Copied from ../Source/WebKit/WebKit.vcxproj/debug.props.
      * win/tools/vsprops/debug_wincairo.props: Copied from ../Source/WebKit/WebKit.vcxproj/debug_wincairo.props.
      * win/tools/vsprops/debugsuffix.props: Copied from ../Source/WebKit/WebKit.vcxproj/debugsuffix.props.
      * win/tools/vsprops/production.props: Copied from ../Source/WebKit/WebKit.vcxproj/production.props.
      * win/tools/vsprops/release.props: Copied from ../Source/WebKit/WebKit.vcxproj/release.props.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      356fb46a
    • achicu@adobe.com's avatar
      [CSS Shaders] Implement a StyleCustomFilterProgram cache · 2be2dfce
      achicu@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112602
      
      Reviewed by Dean Jackson.
      
      Source/WebCore:
      
      When the style is recalculated, the new computed RenderStyle is saved as the m_style of the
      RenderObject, even if the style was not different.
      
      In the case of Custom Filters, a new StyleCustomFilterProgram was created at all times, but the
      actual equality check was done by comparing the pair of cached shaders from inside the StyleCustomFilterProgram.
      
      Because of that the RenderLayer::styleChanged was not called when the new StyleCustomFilterProgram was created, so it
      will end up still knowing only about the previous StyleCustomFilterProgram.
      
      The RenderLayer sets itself as a client of the StyleCustomFilterProgram, so that it can repaint itself
      when the program is loaded, but because RenderLayer::styleChanged is not called, it will not add itself as a client of the new
      StyleCustomFilterProgram.
      
      StyleCustomFilterProgram waits until the first client to load the programs, so in this case it will just remain unloaded.
      
      There was no crash, but just an assert in debug mode. Also, as a visible side-effect some frames were rendered using blank shaders,
      resulting in a pass-through filter.
      
      The fix would be to actually make the RenderStyle::diff detect the change of the StyleCustomFilterProgram
      using the pointer value and not the values. However, that will always invalidate the "filter" property because
      of the StyleCustomFilterProgram that always gets created during the recalculation time.
      
      I've added StyleCustomFilterProgramCache to cache all the instances of the StyleCustomFilterPrograms that a
      StyleResolver allocates. This way, next time it will try to reuse previously allocated StyleCustomFilterPrograms.
      The key of the cache is the CustomFilterProgramInfo, that combines the URLs to the shaders and a couple of other program settings.
      
      StyleCustomFilterProgramCache is owned by the StyleResovler and StyleCustomFilterPrograms are responsible with
      removing themselves from the cache when the last reference goes away.
      
      This change makes the previous "platform level" program cache obsolete and I will remove that in a future patch.
      https://bugs.webkit.org/show_bug.cgi?id=112844
      
      Test: css3/filters/custom/custom-filter-reload.html
      
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::lookupCustomFilterProgram): Lookup any similar programs in the cache. It will create a new pending
      StyleCustomFilterProgram if there is no pre-cached version of the program.
      if no program is found. loadPendingShaders is responsible for adding the program in the cache if it is actually going to be used.
      (WebCore::StyleResolver::loadPendingShaders): At this point the program is final, so it's safe to add it to the cache.
      (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
      * css/StyleResolver.h:
      (StyleResolver):
      * css/WebKitCSSShaderValue.cpp:
      (WebCore::WebKitCSSShaderValue::completeURL): Factored out the function to compute the complete URL of the resource.
      (WebCore::WebKitCSSShaderValue::cachedShader):
      * css/WebKitCSSShaderValue.h:
      (WebCore::toWebKitCSSShaderValue):
      (WebKitCSSShaderValue):
      * platform/graphics/filters/CustomFilterOperation.cpp:
      (WebCore::CustomFilterOperation::blend):
      * platform/graphics/filters/CustomFilterOperation.h:
      (WebCore::CustomFilterOperation::operator==): Removed. Programs should now compare by pointer. Kept it as
      private to catch any potential use of it.
      * rendering/style/StyleCustomFilterProgram.cpp: Copied from Source/WebCore/css/WebKitCSSShaderValue.h.
      (WebCore::StyleCustomFilterProgram::~StyleCustomFilterProgram): Destructor removes the program from the cache.
      * rendering/style/StyleCustomFilterProgram.h:
      (WebCore::StyleCustomFilterProgram::setVertexShader): Added an assert to check that the shader is not in the
      cache while the mutation happens. Otherwise the cache might have the wrong key.
      (WebCore::StyleCustomFilterProgram::setFragmentShader): Ditto.
      (WebCore::StyleCustomFilterProgram::isLoaded): Added more asserts to catch cases when the program is used with no clients.
      (StyleCustomFilterProgram):
      (WebCore::StyleCustomFilterProgram::hasPendingShaders):
      (WebCore::StyleCustomFilterProgram::inCache):
      (WebCore::StyleCustomFilterProgram::setCache): Function called when a program is added to / removed from the cache.
      (WebCore::StyleCustomFilterProgram::vertexShaderURL): Added methods to store the KURL that we used as keys in the cache.
      The same KURLs will be used to lookup and remove the filter at the end.
      (WebCore::StyleCustomFilterProgram::setVertexShaderURL):
      (WebCore::StyleCustomFilterProgram::fragmentShaderURL):
      (WebCore::StyleCustomFilterProgram::setFragmentShaderURL):
      (WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram):
      * rendering/style/StyleCustomFilterProgramCache.cpp: Added.
      (WebCore::StyleCustomFilterProgramCache::programCacheKey):
      (WebCore::StyleCustomFilterProgramCache::StyleCustomFilterProgramCache):
      (WebCore::StyleCustomFilterProgramCache::~StyleCustomFilterProgramCache): Destructor removes itself from all the
      referenced StyleCustomFilterPrograms. This is to avoid issues with different destruction orders.
      (WebCore::StyleCustomFilterProgramCache::lookup):
      (WebCore::StyleCustomFilterProgramCache::add):
      (WebCore::StyleCustomFilterProgramCache::remove):
      * rendering/style/StyleCustomFilterProgramCache.h:
      (StyleCustomFilterProgramCache):
      * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h:
      (WebCore::CoordinatedCustomFilterProgram::operator==: Removed. Programs should now compare by pointer.
      
      LayoutTests:
      
      Added a new test to check for the case when the style is recalculated but the
      filter property is not changed. All the other cases for the new StyleCustomFilterProgramCache
      class should be tested by existing tests.
      
      * css3/filters/custom/custom-filter-reload-expected.txt: Added.
      * css3/filters/custom/custom-filter-reload.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2be2dfce
    • commit-queue@webkit.org's avatar
      [BlackBerry] Last paragraph can't be selected by touch hold selection if there... · 49ae7448
      commit-queue@webkit.org authored
      [BlackBerry] Last paragraph can't be selected by touch hold selection if there is no new line after it in subframe.
      https://bugs.webkit.org/show_bug.cgi?id=112966
      
      Patch by Iris Wu <shuwu@blackberry.com> on 2013-03-21
      Reviewed by Rob Buis.
      
      PR 312044
      Reviewed Internally By Genevieve Mak.
      
      If selection reaches the bottom of content, ignore scroll margin
      so the text on the bottom can be selected.
      Stop expanding selection only if the end of document is selected
      or touch is released.
      
      * WebKitSupport/SelectionHandler.cpp:
      (BlackBerry::WebKit::SelectionHandler::expandSelection):
      (BlackBerry::WebKit::SelectionHandler::ensureSelectedTextVisible):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      49ae7448
    • jsbell@chromium.org's avatar
      IndexedDB: Ensure all API methods have IDB_TRACE macros · 49ac829d
      jsbell@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112963
      
      Reviewed by Tony Chang.
      
      Anntotate methods and callbacks that weren't already annotated
      with IDB_TRACE macros to assist in debugging, e.g. when using
      the chromium port's chrome://tracing visualization.
      
      No new tests - just harmless diagnostic sprinkles.
      
      * Modules/indexeddb/IDBDatabase.cpp:
      (WebCore::IDBDatabase::createObjectStore): Added IDB_TRACE macro call here.
      (WebCore::IDBDatabase::deleteObjectStore): ...and here.
      (WebCore::IDBDatabase::transaction): ...etc.
      (WebCore::IDBDatabase::close):
      (WebCore::IDBDatabase::onVersionChange):
      * Modules/indexeddb/IDBFactory.cpp:
      (WebCore::IDBFactory::getDatabaseNames):
      (WebCore::IDBFactory::open):
      (WebCore::IDBFactory::deleteDatabase):
      * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
      (WebCore::IDBFactoryBackendImpl::getDatabaseNames):
      (WebCore::IDBFactoryBackendImpl::deleteDatabase):
      (WebCore::IDBFactoryBackendImpl::open):
      * Modules/indexeddb/IDBOpenDBRequest.cpp:
      (WebCore::IDBOpenDBRequest::onBlocked):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      49ac829d
    • commit-queue@webkit.org's avatar
      [BlackBerry] addSearchProvider shouldn't match the full host, only the server · 54605ab0
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112960
      
      Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-03-21
      Reviewed by Rob Buis.
      Internally Reviewed by Jeff Rogers.
      
      Remove full host matching. only check if domains are from the same server.
      
      Also, check user gesture before dispatching the addSearchProvider event to the browser.
      
      * WebCoreSupport/ChromeClientBlackBerry.cpp:
      (WebCore::ChromeClientBlackBerry::addSearchProvider):
      (WebCore::ChromeClientBlackBerry::isSearchProviderInstalled):
      * WebCoreSupport/ChromeClientBlackBerry.h:
      (ChromeClientBlackBerry):
      * WebCoreSupport/ExternalExtension.cpp:
      (IsSearchProviderInstalledMethod):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      54605ab0
    • jochen@chromium.org's avatar
      Skip triaged crashes on content shell · ff907d2e
      jochen@chromium.org authored
      Unreviewed gardening
      
      * platform/chromium/ContentShellTestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff907d2e
    • rniwa@webkit.org's avatar
      EWS bubbles need more space · efb31a03
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112964
      
      Reviewed by Philip Rogers.
      
      Increased the width from 500px to 600px so that all bubbles fit.
      
      * template/en/custom/attachment/list.html.tmpl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      efb31a03
    • tkent@chromium.org's avatar
      fast/frames/detach-frame-during-focus.html fails on some platforms · b9404b11
      tkent@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112904
      
      * fast/frames/detach-frame-during-focus.html:
      Do not run the test sequence twice.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9404b11
    • commit-queue@webkit.org's avatar
      http://trac.webkit.org/changeset/146375 causing CrOS crashes · 0007ff81
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112958
      
      Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-03-21
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Test: fast/flexbox/crash-anonymous-box.html
      
      * rendering/RenderDeprecatedFlexibleBox.cpp:
      (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
      Anonymous renderers don't have a node in their constructor, so
      don't get document() in there.
      
      LayoutTests:
      
      * fast/flexbox/crash-anonymous-box-expected.txt: Added.
      * fast/flexbox/crash-anonymous-box.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146522 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0007ff81
    • commit-queue@webkit.org's avatar
      [chromium] Add possibleUserNames to WebPasswordFormData · b07cdb74
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112375
      
      Patch by Garrett Casto <gcasto@chromium.org> on 2013-03-21
      Reviewed by Adam Barth.
      
      * public/WebPasswordFormData.h:
      (WebPasswordFormData):
      * src/WebPasswordFormData.cpp:
      (WebKit::WebPasswordFormData::WebPasswordFormData):
      * src/WebPasswordFormUtils.cpp:
      (WebKit::findPasswordFormFields):
      * src/WebPasswordFormUtils.h:
      (PasswordFormFields):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b07cdb74
    • mkwst@chromium.org's avatar
      CSP 1.1: Fire a SecurityPolicyViolationEvent when violations occur. · 27b18607
      mkwst@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112783
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      A new event type for Content Security Policy violations landed in
      http://wkrev.com/146305; this patch takes that stub, and wires it up to
      ContentSecurityPolicy::reportViolation such that violation events fire
      when resources are blocked.
      
      This should bring WebKit up to date with the current description of
      CSP's event model in sections 3.3[1] and 3.4.1.3[2] of the editor's
      draft.
      
      [1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#processing-model
      [2]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#firing-events-using-the-securitypolicyviolationevent-interface
      
      Test: http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image.html
      
      * page/ContentSecurityPolicy.cpp:
      (WebCore::gatherSecurityPolicyViolationEventData):
          Populate a SecurityPolicyViolationEventInit object with the various
          bits of data that should be passed into the event constructor.
      
          This static method is strictly an implementation detail; it's not
          part of ContentSecurityPolicy's public API.
      (WebCore::ContentSecurityPolicy::reportViolation):
          Regardless of whether the policy has set a 'report-uri' directive
          or not, gather together all the data we'll need to fire an event,
          create the event, and queue it up for dispatching on the Document.
      
      LayoutTests:
      
      * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-expected.txt: Added.
      * http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      27b18607
    • tdanderson@chromium.org's avatar
      [chromium] Remove SK_SUPPORT_HINTING_SCALE_FACTOR flag and code · c409d280
      tdanderson@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112928
      
      Reviewed by Stephen White.
      
      This flag was only for ChromeOS builds with HighDPI. It is no longer needed and can be removed.
      See http://crbug.com/17550
      
      Source/WebCore:
      
      No new tests needed since this is just removing unused code.
      
      * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
      (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
      * platform/graphics/skia/PlatformContextSkia.cpp:
      (WebCore::PlatformContextSkia::PlatformContextSkia):
      (WebCore::PlatformContextSkia::setupPaintCommon):
      * platform/graphics/skia/PlatformContextSkia.h:
      
      Source/WebKit/chromium:
      
      * features.gypi:
      * tests/OpaqueRectTrackingContentLayerDelegateTest.cpp:
      * tests/PlatformContextSkiaTest.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c409d280
    • timothy@apple.com's avatar
      Support connecting the Web Inspector without showing it. · d87bd33f
      timothy@apple.com authored
      This allows you to get the debugger attached in the background. When a breakpoint is hit
      the Inspector will open. This change also reduces some WebProcess messaging by removing
      the DidLoadInspectorPage message and stops sending the SetAttachedWindow message on close.
      
      https://bugs.webkit.org/show_bug.cgi?id=112445
      
      Reviewed by Sam Weinig.
      
      * UIProcess/API/C/WKInspector.cpp:
      (WKInspectorIsConnected): Added.
      (WKInspectorConnect): Added.
      (WKInspectorHide): Added.
      
      * UIProcess/API/C/WKInspector.h:
      Added new APIs.
      
      * UIProcess/WebInspectorProxy.cpp:
      (WebKit::WebInspectorProxy::WebInspectorProxy):
      Initialize new state booleans.
      
      (WebKit::WebInspectorProxy::invalidate):
      Don't set state booleans that didClose already resets.
      
      (WebKit::WebInspectorProxy::connect): Added.
      (WebKit::WebInspectorProxy::show):
      Open if we are already connected. Call connect().
      
      (WebKit::WebInspectorProxy::hide): Added.
      
      (WebKit::WebInspectorProxy::close):
      Call didClose we can detach or close the window immediately instead of waiting for a
      message from the WebProcess.
      
      (WebKit::WebInspectorProxy::attach):
      (WebKit::WebInspectorProxy::detach):
      Check for !m_page to match other functions.
      
      (WebKit::WebInspectorProxy::createInspectorPage):
      (WebKit::WebInspectorProxy::didLoadInspectorPage):
      Removed. Moved logic to open().
      
      (WebKit::WebInspectorProxy::open): Added.
      
      (WebKit::WebInspectorProxy::didClose):
      Clear new state booleans. Don't perform work again if already closed. Use platformDetach()
      instead of detach() to avoid sending the SetAttachedWindow message.
      
      (WebKit::WebInspectorProxy::bringToFront):
      Call open() if we are not visible yet, otherwise platformBringToFront.
      
      * UIProcess/WebInspectorProxy.h:
      (WebKit::WebInspectorProxy::isConnected): Added.
      
      * UIProcess/WebInspectorProxy.messages.in: Removed DidLoadInspectorPage.
      
      * UIProcess/gtk/WebInspectorProxyGtk.cpp:
      (WebKit::WebInspectorProxy::platformHide): Added stub.
      
      * UIProcess/mac/WebInspectorProxyMac.mm:
      (WebKit::WebInspectorProxy::platformHide): Added.
      
      * UIProcess/qt/WebInspectorProxyQt.cpp:
      (WebKit::WebInspectorProxy::platformHide): Added stub.
      
      * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
      * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
      Removed frontendLoaded().
      
      * WebProcess/WebPage/WebInspector.cpp:
      * WebProcess/WebPage/WebInspector.h:
      Removed didLoadInspectorPage().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d87bd33f
    • commit-queue@webkit.org's avatar
      Cleanup android media layout test code · cf12f5fb
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112944
      
      Patch by Min Qin <qinmin@chromium.org> on 2013-03-21
      Reviewed by Adam Barth.
      
      Chromium change: https://codereview.chromium.org/12892010/
      The current android layout tests are using WebmediaPlayerInProcessAndroid class.
      The code path has been largely diverged from that of the WebMediaPlayerImplAndroid.
      It is not worth the effort to keep the code path, and the layout tests will not reflect the actual behavior on the browser.
      Instead, we should switch to use content shell for layout tests.
      
      * DumpRenderTree/chromium/TestShell.cpp:
      (TestShell::resetTestController):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146517 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf12f5fb
    • mkwst@chromium.org's avatar
      Drop full URLs from cross-origin access errors caused by protocol mismatches. · 18b6035c
      mkwst@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112894
      
      Reviewed by Timothy Hatcher.
      
      Source/WebCore:
      
      Following up on http://wkbug.com/112813, this patch brings protocol
      mismatch errors into line with the new origin-only hotness. The message
      is also changed to display the URL's protocol rather than the origin's
      protocol: it makes a big difference for 'data:' URLs, for instance.
      
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::crossDomainAccessErrorMessage):
      
      LayoutTests:
      
      * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block-expected.txt:
      * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow-expected.txt:
      * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block-expected.txt:
      * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter-expected.txt:
      * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid-expected.txt:
      * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset-expected.txt:
      * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block-expected.txt:
      * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block-expected.txt:
      * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block-expected.txt:
      * http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block-expected.txt:
      * http/tests/security/cross-frame-access-protocol-expected.txt:
      * http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
      * http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
      * http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
      * http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
      * http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
      * http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
      * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
      * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
      * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
      * http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
      * http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
      * http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
      * http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
      * http/tests/security/view-source-no-javascript-url-expected.txt:
      * http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
      * http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
      * http/tests/security/xssAuditor/full-block-base-href-expected.txt:
      * http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
      * http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
      * http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
      * http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
      * http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
      * http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
      * http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
      * http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
      * http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
      * platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
      * platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
      * platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
      * platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
      * platform/chromium/http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
      * platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
      * platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
      * platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
      * platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
      * platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
      * platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
      * platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
      * platform/chromium/http/tests/security/inactive-document-with-empty-security-origin-expected.txt:
      * platform/chromium/http/tests/security/window-named-proto-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146516 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      18b6035c
    • schenney@chromium.org's avatar
      SVG text path referencing parent text infinite loops · 6f1de057
      schenney@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112078
      
      Reviewed by Philip Rogers.
      
      Source/WebCore:
      
      We do not check the target type when adding a resource reference for
      SVG Text Path's URI. This goes horribly wrong when the target is the
      text path's parent text element. In this patch we check that the target
      element of the text path is indeed a path element, as the spec
      requires. No other element type is allowed.
      
      Note that RenderSVGTextPath enforces this check in the renderer code
      also, so if we get past this check via pending resources, it doesn't
      matter. You can't get into this situation with a pending reference
      because, by definition, the parent must be defined before the text
      path child.
      
      Test: svg/text/textpath-referencing-text-crash.svg
      
      * svg/SVGTextPathElement.cpp:
      (WebCore::SVGTextPathElement::buildPendingResource):
      
      LayoutTests:
      
      * svg/text/textpath-referencing-text-crash-expected.txt: Added.
      * svg/text/textpath-referencing-text-crash.svg: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f1de057
    • dpranke@chromium.org's avatar
      [chromium] add missing project dependencies to DRT to fix Mac Valgrind · 93ad3e30
      dpranke@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112953
      
      Reviewed by Tony Chang.
      
      When I created the DumpRenderTree_resources target in r144863 I
      forgot to declare the needed dependencies on the other resource
      targets. Due to a quirk of ordering, this appears to have been fine
      w/ ninja but not w/ Xcode (which is still being used on the chromium
      mac valgrind bots). Declaring the dependencies fixes the build
      failures.
      
      * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93ad3e30
    • ap@apple.com's avatar
      Build fix. · bc899baf
      ap@apple.com authored
              * NetworkProcess/mac/NetworkResourceLoaderMac.mm: Include CurrentTime.h, as needed
              to call currentTime().
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bc899baf
    • pilgrim@chromium.org's avatar
      [Chromium] Removed unused WEBKIT_USE_NEW_WEBFILESYSTEMTYPE flag · 192bd054
      pilgrim@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112931
      
      Reviewed by Adam Barth.
      
      Migration complete; flag no longer needed.
      
      * chromium/public/WebFileSystemType.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      192bd054
    • jsbell@chromium.org's avatar
      IndexedDB: Remove onVersionChange(string) plumbing · 0e6a82c1
      jsbell@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112712
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Delete unused onVersionChange(string) overload.
      
      No new tests - just deleting dead code.
      
      * Modules/indexeddb/IDBDatabase.cpp: Delete onVersionChange(string) overload.
      * Modules/indexeddb/IDBDatabase.h: Ditto.
      * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Ditto.
      * Modules/indexeddb/IDBDatabaseCallbacks.h: Ditto.
      * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: Ditto.
      * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: Ditto.
      
      Source/WebKit/chromium:
      
      * public/WebIDBDatabaseCallbacks.h: Remove onVersionChange(string) overload.
      * src/IDBDatabaseCallbacksProxy.cpp: Ditto.
      * src/IDBDatabaseCallbacksProxy.h: Ditto.
      * src/WebIDBDatabaseCallbacksImpl.cpp: Ditto.
      * src/WebIDBDatabaseCallbacksImpl.h: Ditto.
      * tests/IDBAbortOnCorruptTest.cpp: Ditto.
      * tests/IDBDatabaseBackendTest.cpp: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146511 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e6a82c1
    • pdr@google.com's avatar
      Correct bisector angle calculation for markers · bd2e9785
      pdr@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112054
      
      Reviewed by Stephen Chenney.
      
      Source/WebCore:
      
      The SVG marker spec states that mid markers with orient=auto should be aligned with their
      x-axis along the bisector of the incoming (in) and outgoing (out) angles. Previously we
      calculated this bisector angle as:
          bisector = (in + out) / 2;
      Angles cannot be averaged this way! Consider in=90deg and out=-180deg: the bisector should
      be 135deg but a naive average gives -45deg. This patch corrects for the discontinuity in
      angle values with:
          bisector = (in + out + 360) / 2   // if |in - out| > 180
          bisector = (in + out) / 2         // otherwise
      This patch includes an exhaustive test of angle values.
      
      Test: svg/custom/marker-orient-auto.html
      
      * rendering/svg/SVGMarkerData.h:
      (WebCore::SVGMarkerData::currentAngle):
      
      LayoutTests:
      
      * platform/chromium-linux/svg/custom/marker-orient-auto-expected.png: Added.
      * platform/chromium-linux/svg/custom/marker-orient-auto-expected.txt: Added.
      * platform/chromium/TestExpectations:
      * svg/custom/marker-orient-auto.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146510 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd2e9785
    • commit-queue@webkit.org's avatar
      Expose the Type field of an RTCStatsReport · 8fb659c1
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112951
      
      Patch by Harald Alvestrand <hta@google.com> on 2013-03-21
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Covered by an extension of an existing test.
      
      * Modules/mediastream/RTCStatsReport.h:
      (WebCore::RTCStatsReport::type):
      * Modules/mediastream/RTCStatsReport.idl:
      
      LayoutTests:
      
      * fast/mediastream/RTCPeerConnection-stats-expected.txt:
      * fast/mediastream/RTCPeerConnection-stats.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8fb659c1
    • ap@apple.com's avatar
      Move non-trivial virtual functions out of ResourceHandleClient.h · 47ed39b0
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=112950
      
              Reviewed by Brady Eidson.
      
              * CMakeLists.txt:
              * GNUmakefile.list.am:
              * Target.pri:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.vcxproj/WebCore.vcxproj:
              * WebCore.vcxproj/WebCore.vcxproj.filters:
              * WebCore.xcodeproj/project.pbxproj:
              * platform/network/ResourceHandleClient.cpp: Added.
              (WebCore::ResourceHandleClient::ResourceHandleClient):
              (WebCore::ResourceHandleClient::~ResourceHandleClient):
              (WebCore::ResourceHandleClient::didReceiveBuffer):
              (WebCore::ResourceHandleClient::getBuffer):
              * platform/network/ResourceHandleClient.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      47ed39b0
    • bfulgham@webkit.org's avatar
      [WinCairo] Correct assert in Empty BitmapImage Test. · 8dddec75
      bfulgham@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112934
      
      Reviewed by Tim Horton.
      
      * TestWebKitAPI/Tests/WebCore/win/BitmapImage.cpp:
      (TestWebKitAPI::TEST): Use proper RefPtr and adoptRef
      to avoid ref counting assertion when leaving test scope.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8dddec75
    • rniwa@webkit.org's avatar
      Windows rebaseline after r146469. · 68b03cfb
      rniwa@webkit.org authored
      * platform/win/css3/filters/effect-reference-expected.txt:
      * platform/win/css3/filters/effect-reference-hw-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146506 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      68b03cfb
    • mark.lam@apple.com's avatar
      Fix lexer charPosition computation when "rewind"ing the lexer. · 4f75bbeb
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112952.
      
      Reviewed by Michael Saboff.
      
      Changed the Lexer to no longer keep a m_charPosition. Instead, we compute
      currentCharPosition() from m_code and m_codeStartPlusOffset, where
      m_codeStartPlusOffset is the SourceProvider m_codeStart + the SourceCode
      start offset. This ensures that the charPosition is always in sync with
      m_code.
      
      * parser/Lexer.cpp:
      (JSC::::setCode):
      (JSC::::internalShift):
      (JSC::::shift):
      (JSC::::lex):
      * parser/Lexer.h:
      (JSC::Lexer::currentCharPosition):
      (JSC::::lexExpectIdentifier):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4f75bbeb
    • zandobersek@gmail.com's avatar
      [GTK] generate-feature-defines-files is incompatible with Python3 · 70410638
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112956
      
      Reviewed by Martin Robinson.
      
      Make the generate-feature-defines-files compatible with Python3 by calling the items()
      method on the dictionary objects when iterating through said dictionaries.
      
      * gtk/generate-feature-defines-files:
      (write_feature_defines_header):
      (write_flattened_feature_defines_file):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70410638
    • fmalita@chromium.org's avatar
      [SVG] Remove explicit LightSource dispatchers · 96b9c2db
      fmalita@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112827
      
      Reviewed by Stephen Chenney.
      
      Convert LightSource setters to dynamic dispatch. This allows us to remove LightSource.cpp
      altogether.
      
      No new tests: refactoring only.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * platform/graphics/filters/DistantLightSource.h:
      (DistantLightSource):
      * platform/graphics/filters/LightSource.cpp: Removed.
      * platform/graphics/filters/LightSource.h:
      (WebCore::LightSource::setAzimuth):
      (WebCore::LightSource::setElevation):
      (WebCore::LightSource::setX):
      (WebCore::LightSource::setY):
      (WebCore::LightSource::setZ):
      (WebCore::LightSource::setPointsAtX):
      (WebCore::LightSource::setPointsAtY):
      (WebCore::LightSource::setPointsAtZ):
      (WebCore::LightSource::setSpecularExponent):
      (WebCore::LightSource::setLimitingConeAngle):
      * platform/graphics/filters/PointLightSource.h:
      (PointLightSource):
      * platform/graphics/filters/SpotLightSource.h:
      (SpotLightSource):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      96b9c2db
    • commit-queue@webkit.org's avatar
      [BlackBerry] GCActivityCallback: replace JSLock with JSLockHolder · eb79cda9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112448
      
      Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-21
      Reviewed by Xan Lopez.
      
      This changed in r121381.
      
      * runtime/GCActivityCallbackBlackBerry.cpp:
      (JSC::DefaultGCActivityCallback::doWork):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146502 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb79cda9
    • igor.o@sisa.samsung.com's avatar
      [Texmap] Implement support for OpenGLES EXT_unpack_subimage extension · 15ab1ab2
      igor.o@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108716
      
      If the extension GL_EXT_unpack_subimage is supported, it adds GL_UNPACK_ROW_LENGTH,
      GL_UNPACK_SKIP_ROWS and GL_UNPACK_SKIP_PIXELS as valid enums to PixelStore.
      
      Reviewed by Noam Rosenthal.
      
      * platform/graphics/texmap/TextureMapperGL.cpp:
      (WebCore::driverSupportsSubImage):
      (WebCore::BitmapTextureGL::updateContentsNoSwizzle):
      (WebCore::BitmapTextureGL::updateContents):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      15ab1ab2
    • commit-queue@webkit.org's avatar
      Web Inspector: Regression: drawer resizes slowly with animation. · a7e76827
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112920
      
      Drawer status bar opacity wasn't set to zero on inialization, so no transition event
      was fired on first time drawer appeared,thus animation styles wasn't removed properly.
      
      Patch by Dmitry Zvorygin <zvorygin@chromium.org> on 2013-03-21
      Reviewed by Vsevolod Vlasov.
      
      * inspector/front-end/Drawer.js:
      (WebInspector.Drawer):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a7e76827
    • commit-queue@webkit.org's avatar
      [BlackBerry] GraphicsLayer: fix code that was accidentally reverted · 3eb581b5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112143
      
      Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-21
      Reviewed by Rob Buis.
      
      Several changes were accidentally reverted in r144465 due to the
      upstreaming of some new code:
      
      - clearBackgroundColor() and m_contentsLayerHasBackgroundColor had
        been removed in r137798.
      
      - showDebugBorders() had been renamed to isShowingDebugBorder() in
        r133517.
      
      - A new GraphicsLayer::create() overload had been introduced in
        r130185.
      
      This patch fixes them all.
      
      * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
      (WebCore::GraphicsLayer::create):
      (WebCore):
      (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
      (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
      (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
      (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
      * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
      (GraphicsLayerBlackBerry):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3eb581b5
    • zandobersek@gmail.com's avatar
      [GTK] Move libLevelDB.la setup into a separate GNUmakefile.am · 24838de9
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112947
      
      Reviewed by Martin Robinson.
      
      .: 
      
      * GNUmakefile.am: Include the new GNUmakefile.am, located under Source/ThirdParty/leveldb.
      
      Source/ThirdParty: 
      
      * leveldb/GNUmakefile.am: Added, sets up the libLevelDB.la library.
      
      Source/WebCore: 
      
      No new tests - no new functionality.
      
      * GNUmakefile.am: Move the libLevelDD.la setup into the new GNUmakefile.am that's placed in
      the third-party leveldb source directory.
      * GNUmakefile.list.am: Move the LevelDB sources listing there as well.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      24838de9
    • commit-queue@webkit.org's avatar
      [BlackBerry] DrawingBuffer: add clearPlatformLayer() implementation · 59e18270
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112696
      
      Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-21
      Reviewed by Rob Buis.
      
      DrawingBuffer::clearPlatformLayer() was added in r139142.
      
      This is not needed in the BlackBerry port, so this patch only
      contains a dummy implementation.
      
      * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
      (WebCore):
      (WebCore::DrawingBuffer::clearPlatformLayer):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59e18270
    • rniwa@webkit.org's avatar
      kill-old-processes spits out error messages on Mac · 702321a8
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112878
      
      Reviewed by Jessie Berlin.
      
      Use grep -E instead of grep -P since grep on Mac doesn't seem to support the latter even though it's
      included in the list of options grep --help shows.
      
      Also use double-slash in escaping ++ in clang++ since the slashes needs to escape + inside the shell.
      
      * BuildSlaveSupport/kill-old-processes:
      (main):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      702321a8
    • fmalita@chromium.org's avatar
      [SVG] Suppress painting when an empty viewBox is specified · 9e4854cb
      fmalita@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112623
      
      Reviewed by Philip Rogers.
      
      Source/WebCore:
      
      Per spec, elements with an empty viewBox should not be rendered:
      http://www.w3.org/TR/SVG/coords.html#ViewBoxAttribute.
      
      This patch adds the missing viewBox checks to RenderSVGRoot, RenderSVGViewPortContainer,
      RenderSVGResourceMarker and RenderSVGResourceMarker's paint methods.
      
      In order to detect the case of "viewBox present but invalid", the patch also introduces
      SVGAnimatedProperty plumbing for tracking property validity: the baseVal setter now takes
      an additional optional 'validValue' boolean parameter, which can later be queried via a
      macroed getter (LowerProperty##IsValid()).
      
      Test: svg/custom/viewBox-empty.html
      
      * rendering/svg/RenderSVGResourceMarker.cpp:
      (WebCore::RenderSVGResourceMarker::draw):
      * rendering/svg/RenderSVGResourcePattern.cpp:
      (WebCore::RenderSVGResourcePattern::buildPattern):
      * rendering/svg/RenderSVGRoot.cpp:
      (WebCore::RenderSVGRoot::paintReplaced):
      * rendering/svg/RenderSVGViewportContainer.cpp:
      (WebCore::RenderSVGViewportContainer::paint):
      (WebCore):
      * rendering/svg/RenderSVGViewportContainer.h:
      (RenderSVGViewportContainer):
      * svg/SVGPatternElement.cpp:
      (WebCore::SVGPatternElement::collectPatternAttributes):
      * svg/SVGSVGElement.h:
      (WebCore::SVGSVGElement::hasEmptyViewBox):
      (SVGSVGElement):
      Suppress painting if a valid empty viewBox is found.
      
      * svg/SVGFitToViewBox.h:
      (WebCore::SVGFitToViewBox::parseAttribute):
      Mark the viewBox property as invalid if not successfully parsed.
      
      * svg/SVGExternalResourcesRequired.h:
      (SVGExternalResourcesRequired):
      * svg/SVGURIReference.h:
      (SVGURIReference):
      * svg/properties/SVGAnimatedPropertyMacros.h:
      (WebCore::SVGSynchronizableAnimatedProperty::SVGSynchronizableAnimatedProperty):
      (SVGSynchronizableAnimatedProperty):
      (WebCore):
      Plumbing for tracking property value validation.
      
      LayoutTests:
      
      * svg/custom/script-tests/svg-viewBox-dynamic.js:
      * svg/custom/svg-viewBox-dynamic-expected.txt:
      * svg/custom/viewBox-empty-expected.html: Added.
      * svg/custom/viewBox-empty.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9e4854cb