[chromium] Move opaque rectangle tracking logic out of compositor core
https://bugs.webkit.org/show_bug.cgi?id=89031

Patch by James Robinson <jamesr@chromium.org> on 2012-06-14
Reviewed by Adrienne Walker.

Source/WebCore:

This moves the opaque paint tracking logic from the compositor (specifically CanvasLayerTextureUpdater) out to a
dedicated class used by GraphicsLayerChromium for GraphicsContext-painted content. This changes the interface
exposed by the compositor to pass a SkCanvas and let the user fill in an opaque rect if needed. Callers that are
using GraphicsContext to paint can instantiate a PlatformContextSkia / GraphicsContext around this SkCanvas if
they choose to, or use some other strategy, or not fill it in at all. This avoids creating extra wrapper classes
if the eventual caller is going to use the underlying SkCanvas anyway (such as WebContentLayer) and breaks the
dependency from the compositor code on GraphicsContext / PlatformContextSkia.

OpaqueRectTrackingContentLayerDelegate is a helper class that wraps a ContentLayerDelegate implementation with
PlatformContextSkia's opaque region tracking logic.

* WebCore.gypi:
* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
(WebCore::BitmapCanvasLayerTextureUpdater::BitmapCanvasLayerTextureUpdater):
(WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
(WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
(WebCore::BitmapCanvasLayerTextureUpdater::setOpaque):
* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
(WebCore):
(BitmapCanvasLayerTextureUpdater):
* platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
(WebCore::CanvasLayerTextureUpdater::paintContents):
* platform/graphics/chromium/CanvasLayerTextureUpdater.h:
(WebCore):
(CanvasLayerTextureUpdater):
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerPainter::paint):
* platform/graphics/chromium/ContentLayerChromium.h:
(ContentLayerDelegate):
(WebCore):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::paint):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(GraphicsLayerChromium):
* platform/graphics/chromium/LayerPainterChromium.h:
(LayerPainterChromium):
* platform/graphics/chromium/LinkHighlight.cpp:
(WebCore::LinkHighlight::paintContents):
* platform/graphics/chromium/LinkHighlight.h:
(LinkHighlight):
* platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp: Added.
(WebCore):
(WebCore::OpaqueRectTrackingContentLayerDelegate::OpaqueRectTrackingContentLayerDelegate):
(WebCore::OpaqueRectTrackingContentLayerDelegate::~OpaqueRectTrackingContentLayerDelegate):
(WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
* platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.h: Added.
(WebCore):
(GraphicsContextPainter):
(WebCore::GraphicsContextPainter::~GraphicsContextPainter):
(OpaqueRectTrackingContentLayerDelegate):
(WebCore::OpaqueRectTrackingContentLayerDelegate::setOpaque):
* platform/graphics/chromium/PlatformCanvas.cpp:
(WebCore::PlatformCanvas::Painter::Painter):
* platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore):

Source/WebKit/chromium:

Moves the grayscale/subpixel AA text decision into NonCompositedContentHost and removes one layer of indirection
betwen NCCH and WVI that existed only for historical reasons.

Ports the opaque rect tracking tests that were in LayerTextureUpdaterTest to
OpaquerectTrackingContentLayerDelegateTest to reflect the move in responsibilities.

* WebKit.gypi:
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
(WebKit::NonCompositedContentHost::setOpaque):
(WebKit::NonCompositedContentHost::paintContents):
* src/NonCompositedContentHost.h:
(WebCore):
(WebKit):
(WebKit::NonCompositedContentHost::create):
(NonCompositedContentHost):
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::paintContents):
* src/WebContentLayerImpl.h:
(WebContentLayerImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::paintRootLayer):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* src/WebViewImpl.h:
(WebViewImpl):
* tests/CCLayerTreeHostTest.cpp:
(WTF::TestOpacityChangeLayerDelegate::paintContents):
(WTF::MockContentLayerDelegate::paintContents):
* tests/LayerChromiumTest.cpp:
* tests/LayerTextureUpdaterTest.cpp: Removed.
* tests/OpaqueRectTrackingContentLayerDelegateTest.cpp: Added.
(WebCore):
(PaintCallback):
(TestLayerPainterChromium):
(WebCore::TestLayerPainterChromium::TestLayerPainterChromium):
(WebCore::PaintFillAlpha::operator()):
(WebCore::PaintFillPartialOpaque::PaintFillPartialOpaque):
(PaintFillPartialOpaque):
(WebCore::PaintFillPartialOpaque::operator()):
(OpaqueRectTrackingContentLayerDelegateTest):
(WebCore::OpaqueRectTrackingContentLayerDelegateTest::OpaqueRectTrackingContentLayerDelegateTest):
(WebCore::OpaqueRectTrackingContentLayerDelegateTest::skCanvas):
(WebCore::OpaqueRectTrackingContentLayerDelegateTest::canvasRect):
(WebCore::TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Remove devtoolsInjectedScript hidden property
https://bugs.webkit.org/show_bug.cgi?id=89087

We use the devtoolsInjectedScript hidden property to reference a InjectedScript object
for a given ScriptState, but we also have the same reference in the InjectedScriptManager's
hash maps. Just use the hash maps and remove the hidden property from the global object.

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-06-14
Reviewed by Pavel Feldman.

* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::visitChildren):
* bindings/js/JSDOMGlobalObject.h:
(JSDOMGlobalObject):
* bindings/js/JSInjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::createInjectedScript):
* bindings/v8/V8HiddenPropertyName.h:
(WebCore):
* bindings/v8/custom/V8InjectedScriptManager.cpp:
* inspector/InjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::discardInjectedScripts):
(WebCore::InjectedScriptManager::discardInjectedScriptsFor):
(WebCore::InjectedScriptManager::injectedScriptFor):
(WebCore):
(WebCore::InjectedScriptManager::wrapWebGLRenderingContextForInstrumentation):
* inspector/InjectedScriptManager.h:
(InjectedScriptManager):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
NRWT should honor --skipped=[default|ignore|only], like ORWT does
https://bugs.webkit.org/show_bug.cgi?id=66308

Reviewed by Ryosuke Niwa.

This patch adds support for ORWT's --skipped=(default|ignore|only)
flag and cleans up the interaction between that and --ignore.

Individual tests (but not directories) explicitly listed on the
command line will always be run regardless of what is passed
for --skipped and --ignore.

This patch also changes the "found" and "running" log messages
since it wasn't clear how the skipped tests were included in those numbers.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.__init__):
(Manager.collect_tests):
(Manager.prepare_lists_and_print_output):
* Scripts/webkitpy/layout_tests/port/test.py:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options):
(parse_args):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_ignore_flag):
(MainTest):
(MainTest.test_skipped_flag):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
new-run-webkit-tests doesn't find similar platform tests for a keyword
https://bugs.webkit.org/show_bug.cgi?id=37956

Reviewed by Ryosuke Niwa.

This patches adds support for NRWT so that if you type
"new-run-webkit-tests foo" it will run all the tests in foo as
well as platform/foo for all of the platforms that are normally
searched (this only applies to directories, not to individual tests).

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.collect_tests):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.tests):
(Port):
(Port._expanded_paths):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_no_http_tests):
(MainTest):
(MainTest.test_platform_tests_are_found):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Gtk] Add support in DumpRenderTree for tracking repaints
https://bugs.webkit.org/show_bug.cgi?id=87658

Reviewed by Martin Robinson.

Source/WebKit/gtk: 

Add methods to the DumpRenderTreeSupport class for controlling the
status of repaint tracking along with retreiving and resetting the
tracked repaints.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::setTracksRepaints):
(DumpRenderTreeSupportGtk::isTrackingRepaints):
(DumpRenderTreeSupportGtk::trackedRepaintRects):
(DumpRenderTreeSupportGtk::resetTrackedRepaints):
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):

Tools: 

Reimplement the displayWebView method in DumpRenderTree - force a
repaint before starting tracking repaints and resetting them.

When gathering pixel output from a web view, if tracking repaints,
paint an overlay over the output with the overlay being clear in the
areas where the repaints occurred.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(displayWebView):
(resetDefaultsToConsistentValues):
* DumpRenderTree/gtk/PixelDumpSupportGtk.cpp:
(paintOverlay):
(fillRepaintOverlayIntoContext):
(createBitmapContextFromWebView):

LayoutTests: 

Update pixel baselines for all the tests in fast/repaint now that the
Gtk's DumpRenderTree properly tracks the repaint rects and displays
an appropriate overlay in the pixel results for such tests.

* platform/gtk/fast/repaint/4774354-expected.png:
* platform/gtk/fast/repaint/4776765-expected.png:
* platform/gtk/fast/repaint/absolute-position-change-containing-block-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-new-in-block-expected.png.
* platform/gtk/fast/repaint/absolute-position-changed-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/layer-visibility-expected.png.
* platform/gtk/fast/repaint/absolute-position-moved-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/background-clip-text-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/selection-clear-expected.png.
* platform/gtk/fast/repaint/background-generated-expected.png:
* platform/gtk/fast/repaint/background-misaligned-expected.png:
* platform/gtk/fast/repaint/background-scaling-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/clip-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/backgroundSizeRepaint-expected.png:
* platform/gtk/fast/repaint/block-layout-inline-children-float-positioned-expected.png: Added.
* platform/gtk/fast/repaint/block-layout-inline-children-replaced-expected.png: Added.
* platform/gtk/fast/repaint/block-no-inflow-children-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/slider-thumb-drag-release-expected.png.
* platform/gtk/fast/repaint/block-selection-gap-in-composited-layer-expected.png:
* platform/gtk/fast/repaint/block-selection-gap-in-table-cell-expected.png:
* platform/gtk/fast/repaint/block-selection-gap-stale-cache-2-expected.png:
* platform/gtk/fast/repaint/block-selection-gap-stale-cache-expected.png:
* platform/gtk/fast/repaint/body-background-image-expected.png:
* platform/gtk/fast/repaint/border-fit-lines-expected.png:
* platform/gtk/fast/repaint/border-radius-repaint-expected.png:
* platform/gtk/fast/repaint/border-repaint-glitch-expected.png:
* platform/gtk/fast/repaint/box-shadow-dynamic-expected.png:
* platform/gtk/fast/repaint/box-shadow-h-expected.png:
* platform/gtk/fast/repaint/box-shadow-v-expected.png:
* platform/gtk/fast/repaint/bugzilla-3509-expected.png:
* platform/gtk/fast/repaint/bugzilla-5699-expected.png:
* platform/gtk/fast/repaint/bugzilla-6278-expected.png:
* platform/gtk/fast/repaint/bugzilla-6388-expected.png:
* platform/gtk/fast/repaint/bugzilla-6473-expected.png:
* platform/gtk/fast/repaint/bugzilla-7235-expected.png:
* platform/gtk/fast/repaint/button-spurious-layout-hint-expected.png:
* platform/gtk/fast/repaint/canvas-putImageData-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/selection-clear-expected.png.
* platform/gtk/fast/repaint/caret-outside-block-expected.png:
* platform/gtk/fast/repaint/change-transform-expected.png:
* platform/gtk/fast/repaint/clip-with-layout-delta-expected.png:
* platform/gtk/fast/repaint/clipped-relative-expected.png:
* platform/gtk/fast/repaint/containing-block-position-change-expected.png:
* platform/gtk/fast/repaint/content-into-overflow-expected.png:
* platform/gtk/fast/repaint/continuation-after-outline-expected.png:
* platform/gtk/fast/repaint/control-clip-expected.png:
* platform/gtk/fast/repaint/create-layer-repaint-expected.png:
* platform/gtk/fast/repaint/delete-into-nested-block-expected.png:
* platform/gtk/fast/repaint/dynamic-table-vertical-alignment-change-expected.png:
* platform/gtk/fast/repaint/erase-overflow-expected.png:
* platform/gtk/fast/repaint/fixed-after-scroll-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/fixed-and-absolute-position-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/fixed-child-move-after-scroll-expected.png: Added.
* platform/gtk/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.png: Added.
* platform/gtk/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.png: Added.
* platform/gtk/fast/repaint/fixed-expected.png:
* platform/gtk/fast/repaint/fixed-in-page-scale-expected.png: Added.
* platform/gtk/fast/repaint/fixed-move-after-keyboard-scroll-expected.png: Added.
* platform/gtk/fast/repaint/fixed-move-after-scroll-expected.png: Added.
* platform/gtk/fast/repaint/fixed-position-transparency-with-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/button-spurious-layout-hint-expected.png.
* platform/gtk/fast/repaint/fixed-right-bottom-in-page-scale-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/slider-thumb-drag-release-expected.png.
* platform/gtk/fast/repaint/fixed-right-in-page-scale-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/fixed-scale-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/fixed-scroll-simple-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-section-overflow-expected.png.
* platform/gtk/fast/repaint/fixed-table-cell-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/fixed-table-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/fixed-table-overflow-zindex-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/fixed-to-relative-position-with-absolute-child-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/fixed-tranformed-expected.png: Added.
* platform/gtk/fast/repaint/flexible-box-overflow-expected.png:
* platform/gtk/fast/repaint/flexible-box-overflow-horizontal-expected.png:
* platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png:
* platform/gtk/fast/repaint/float-move-during-layout-expected.png:
* platform/gtk/fast/repaint/float-new-in-block-expected.png:
* platform/gtk/fast/repaint/float-overflow-expected.png: Added.
* platform/gtk/fast/repaint/float-overflow-right-expected.png: Added.
* platform/gtk/fast/repaint/focus-layers-expected.png:
* platform/gtk/fast/repaint/gradients-em-stops-repaint-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/iframe-scroll-repaint-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/intermediate-layout-position-clip-expected.png.
* platform/gtk/fast/repaint/inline-block-overflow-expected.png:
* platform/gtk/fast/repaint/inline-block-resize-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/inline-color-change-expected.png:
* platform/gtk/fast/repaint/inline-horizontal-bt-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/layer-hide-when-needs-layout-expected.png.
* platform/gtk/fast/repaint/inline-outline-repaint-expected.png:
* platform/gtk/fast/repaint/inline-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/layer-hide-when-needs-layout-expected.png.
* platform/gtk/fast/repaint/inline-relative-positioned-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/selection-clear-expected.png.
* platform/gtk/fast/repaint/inline-vertical-lr-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/block-selection-gap-in-composited-layer-expected.png.
* platform/gtk/fast/repaint/inline-vertical-rl-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/button-spurious-layout-hint-expected.png.
* platform/gtk/fast/repaint/intermediate-layout-position-clip-expected.png:
* platform/gtk/fast/repaint/intermediate-layout-position-expected.png:
* platform/gtk/fast/repaint/invisible-objects-expected.png:
* platform/gtk/fast/repaint/japanese-rl-selection-clear-expected.png: Added.
* platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.png: Added.
* platform/gtk/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Added.
* platform/gtk/fast/repaint/layer-child-outline-expected.png:
* platform/gtk/fast/repaint/layer-full-repaint-expected.png:
* platform/gtk/fast/repaint/layer-hide-when-needs-layout-expected.png:
* platform/gtk/fast/repaint/layer-outline-expected.png:
* platform/gtk/fast/repaint/layer-outline-horizontal-expected.png:
* platform/gtk/fast/repaint/layer-visibility-expected.png:
* platform/gtk/fast/repaint/layout-state-only-positioned-expected.png:
* platform/gtk/fast/repaint/layout-state-relative-expected.png:
* platform/gtk/fast/repaint/layout-state-scrolloffset-expected.png: Added.
* platform/gtk/fast/repaint/layout-state-scrolloffset2-expected.png: Added.
* platform/gtk/fast/repaint/layout-state-scrolloffset3-expected.png: Added.
* platform/gtk/fast/repaint/line-flow-with-floats-1-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-10-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-2-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-3-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-4-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-5-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-6-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-7-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-8-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-9-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-in-regions-expected.png: Added.
* platform/gtk/fast/repaint/line-in-scrolled-clipped-block-expected.png:
* platform/gtk/fast/repaint/line-overflow-expected.png:
* platform/gtk/fast/repaint/lines-with-layout-delta-expected.png:
* platform/gtk/fast/repaint/list-marker-2-expected.png:
* platform/gtk/fast/repaint/list-marker-expected.png:
* platform/gtk/fast/repaint/make-children-non-inline-expected.png:
* platform/gtk/fast/repaint/moving-shadow-on-container-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/block-selection-gap-in-composited-layer-expected.png.
* platform/gtk/fast/repaint/moving-shadow-on-path-expected.png: Added.
* platform/gtk/fast/repaint/multicol-repaint-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/slider-thumb-drag-release-expected.png.
* platform/gtk/fast/repaint/nested-iframe-scroll-inner-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/intermediate-layout-position-expected.png.
* platform/gtk/fast/repaint/nested-iframe-scroll-outer-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/block-selection-gap-in-table-cell-expected.png.
* platform/gtk/fast/repaint/no-caret-repaint-in-non-content-editable-element-expected.png:
* platform/gtk/fast/repaint/opacity-change-on-overflow-float-expected.png:
* platform/gtk/fast/repaint/outline-child-repaint-expected.png:
* platform/gtk/fast/repaint/outline-inset-expected.png:
* platform/gtk/fast/repaint/outline-repaint-glitch-expected.png:
* platform/gtk/fast/repaint/outline-shrinking-expected.png:
* platform/gtk/fast/repaint/overflow-auto-in-overflow-auto-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/overflow-clip-subtree-layout-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/block-selection-gap-in-composited-layer-expected.png.
* platform/gtk/fast/repaint/overflow-delete-line-expected.png:
* platform/gtk/fast/repaint/overflow-flipped-writing-mode-block-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/layer-full-repaint-expected.png.
* platform/gtk/fast/repaint/overflow-flipped-writing-mode-table-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/overflow-hidden-in-overflow-hidden-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/overflow-hide-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/layer-hide-when-needs-layout-expected.png.
* platform/gtk/fast/repaint/overflow-into-content-expected.png:
* platform/gtk/fast/repaint/overflow-outline-repaint-expected.png:
* platform/gtk/fast/repaint/overflow-scroll-body-appear-expected.png:
* platform/gtk/fast/repaint/overflow-scroll-delete-expected.png:
* platform/gtk/fast/repaint/overflow-scroll-in-overflow-scroll-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/overflow-show-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-row-expected.png.
* platform/gtk/fast/repaint/reflection-redraw-expected.png:
* platform/gtk/fast/repaint/reflection-repaint-test-expected.png:
* platform/gtk/fast/repaint/region-painting-invalidation-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-new-in-block-expected.png.
* platform/gtk/fast/repaint/region-painting-via-layout-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/selection-clear-expected.png.
* platform/gtk/fast/repaint/rel-positioned-inline-with-overflow-expected.png:
* platform/gtk/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png:
* platform/gtk/fast/repaint/repaint-across-writing-mode-boundary-expected.png: Added.
* platform/gtk/fast/repaint/repaint-during-scroll-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-new-in-block-expected.png.
* platform/gtk/fast/repaint/repaint-resized-overflow-expected.png:
* platform/gtk/fast/repaint/repaint-svg-after-style-change-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-col-background-expected.png.
* platform/gtk/fast/repaint/scale-page-shrink-expected.png:
* platform/gtk/fast/repaint/scroll-absolute-layer-with-reflection-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-new-in-block-expected.png.
* platform/gtk/fast/repaint/scroll-fixed-layer-with-no-visible-content-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/scroll-fixed-layer-with-reflection-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/erase-overflow-expected.png.
* platform/gtk/fast/repaint/scroll-fixed-layer-with-transformed-parent-layer-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/layer-visibility-expected.png.
* platform/gtk/fast/repaint/scroll-fixed-reflected-layer-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/erase-overflow-expected.png.
* platform/gtk/fast/repaint/scroll-in-clipped-layer-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/scroll-in-fixed-layer-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/scroll-in-transformed-layer-expected.png: Added.
* platform/gtk/fast/repaint/scroll-inside-table-cell-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/continuation-after-outline-expected.png.
* platform/gtk/fast/repaint/scroll-relative-table-inside-table-cell-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/block-selection-gap-in-composited-layer-expected.png.
* platform/gtk/fast/repaint/scroll-with-transformed-parent-layer-expected.png: Added.
* platform/gtk/fast/repaint/search-field-cancel-expected.png:
* platform/gtk/fast/repaint/select-option-background-color-expected.png: Added.
* platform/gtk/fast/repaint/selected-replaced-expected.png:
* platform/gtk/fast/repaint/selection-after-delete-expected.png:
* platform/gtk/fast/repaint/selection-after-remove-expected.png:
* platform/gtk/fast/repaint/selection-clear-expected.png:
* platform/gtk/fast/repaint/selection-gap-overflow-scroll-2-expected.png: Added.
* platform/gtk/fast/repaint/selection-gap-overflow-scroll-expected.png:
* platform/gtk/fast/repaint/selection-rl-expected.png: Added.
* platform/gtk/fast/repaint/shadow-multiple-horizontal-expected.png:
* platform/gtk/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
* platform/gtk/fast/repaint/shadow-multiple-strict-vertical-expected.png:
* platform/gtk/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/gtk/fast/repaint/slider-thumb-drag-release-expected.png:
* platform/gtk/fast/repaint/slider-thumb-float-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/clip-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/stacked-diacritics-expected.png: Added.
* platform/gtk/fast/repaint/static-to-positioned-expected.png:
* platform/gtk/fast/repaint/subtree-layoutstate-transform-expected.png:
* platform/gtk/fast/repaint/subtree-root-clip-2-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-col-background-expected.png.
* platform/gtk/fast/repaint/subtree-root-clip-3-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/subtree-root-clip-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-col-background-expected.png.
* platform/gtk/fast/repaint/subtree-root-skipped-expected.png:
* platform/gtk/fast/repaint/svg-layout-root-style-attr-update-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/button-spurious-layout-hint-expected.png.
* platform/gtk/fast/repaint/table-cell-collapsed-border-expected.png:
* platform/gtk/fast/repaint/table-cell-move-expected.png:
* platform/gtk/fast/repaint/table-cell-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/clip-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/table-col-background-expected.png:
* platform/gtk/fast/repaint/table-collapsed-border-expected.png:
* platform/gtk/fast/repaint/table-extra-bottom-grow-expected.png:
* platform/gtk/fast/repaint/table-hover-on-link-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/intermediate-layout-position-clip-expected.png.
* platform/gtk/fast/repaint/table-outer-border-expected.png:
* platform/gtk/fast/repaint/table-overflow-auto-in-overflow-auto-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/selection-clear-expected.png.
* platform/gtk/fast/repaint/table-overflow-hidden-in-overflow-hidden-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/table-overflow-scroll-in-overflow-scroll-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/selection-clear-expected.png.
* platform/gtk/fast/repaint/table-row-expected.png:
* platform/gtk/fast/repaint/table-section-overflow-expected.png:
* platform/gtk/fast/repaint/table-section-repaint-expected.png:
* platform/gtk/fast/repaint/table-two-pass-layout-overpaint-expected.png:
* platform/gtk/fast/repaint/table-writing-modes-h-expected.png: Added.
* platform/gtk/fast/repaint/table-writing-modes-v-expected.png: Added.
* platform/gtk/fast/repaint/text-append-dirty-lines-expected.png:
* platform/gtk/fast/repaint/text-emphasis-h-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/continuation-after-outline-expected.png.
* platform/gtk/fast/repaint/text-emphasis-v-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/text-in-relative-positioned-inline-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/button-spurious-layout-hint-expected.png.
* platform/gtk/fast/repaint/text-selection-rect-in-overflow-2-expected.png:
* platform/gtk/fast/repaint/text-selection-rect-in-overflow-expected.png:
* platform/gtk/fast/repaint/text-shadow-expected.png:
* platform/gtk/fast/repaint/text-shadow-horizontal-expected.png:
* platform/gtk/fast/repaint/textarea-set-disabled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/trailing-floats-root-line-box-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-row-expected.png.
* platform/gtk/fast/repaint/transform-absolute-child-expected.png:
* platform/gtk/fast/repaint/transform-absolute-in-positioned-container-expected.png:
* platform/gtk/fast/repaint/transform-disable-layoutstate-expected.png:
* platform/gtk/fast/repaint/transform-layout-repaint-expected.png:
* platform/gtk/fast/repaint/transform-relative-position-expected.png:
* platform/gtk/fast/repaint/transform-repaint-descendants-expected.png:
* platform/gtk/fast/repaint/transform-replaced-shadows-expected.png:
* platform/gtk/fast/repaint/transform-rotate-and-remove-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-col-background-expected.png.
* platform/gtk/fast/repaint/transform-translate-expected.png:
* platform/gtk/fast/repaint/view-background-from-body-1-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/block-selection-gap-stale-cache-expected.png.
* platform/gtk/fast/repaint/view-background-from-body-2-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/invisible-objects-expected.png.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120350 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unhide login form on the build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=88981

Reviewed by Lucas Forschler.

* BuildSlaveSupport/build.webkit.org-config/public_html/default.css:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120351 268f45cc-cd09-0410-ab3c-d52691b4dbfc
master.cfg cleanup, pass BuildStep instances instead of BuildStep subclasses
https://bugs.webkit.org/show_bug.cgi?id=89001

Reviewed by Lucas Forschler.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(Factory.__init__):
(BuildFactory.__init__):
(TestFactory.__init__):
(BuildAndTestFactory.__init__):
(BuildAndPerfTestFactory.__init__):
(BuildAndPerfTestWebKit2Factory.__init__):
(DownloadAndPerfTestFactory.__init__):
(DownloadAndPerfTestWebKit2Factory.__init__):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120352 268f45cc-cd09-0410-ab3c-d52691b4dbfc
master.cfg cleanup, remove unnecessary workaround
https://bugs.webkit.org/show_bug.cgi?id=88994

Reviewed by Lucas Forschler.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(loadBuilderConfig):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change RenderTableSection::calcRowLogicalHeight to round rather than floor height
https://bugs.webkit.org/show_bug.cgi?id=88813

Reviewed by Julien Chaffraix.

Source/WebCore:

Change RenderTableSection::calcRowLogicalHeight to round the
logicalHeight instead of flooring it. This matches our rounding logic
elsewhere and results in table rows better matching the expected height.

Test: fast/sub-pixel/table-rows-have-stable-height.html

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):

LayoutTests:

Add new test ensuring that rows are laid out the desired height when
given a height that maps to a device pixel value.

* fast/sub-pixel/table-rows-have-stable-height-expected.txt: Added.
* fast/sub-pixel/table-rows-have-stable-height.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r120353.
http://trac.webkit.org/changeset/120353
https://bugs.webkit.org/show_bug.cgi?id=89119

It seems we still need this workaround (Requested by Ossy on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-14

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(loadBuilderConfig):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ARMv7 should support spinlocks
https://bugs.webkit.org/show_bug.cgi?id=88957

Reviewed by Darin Adler.

More info @ http://infocenter.arm.com/help/topic/
com.arm.doc.genc007826/Barrier_Litmus_Tests_and_Cookbook_A08.pdf

* wtf/Atomics.h:
(WTF::memoryBarrierAfterLock):
(WTF::memoryBarrierBeforeUnlock): Added memory barrier primitives since
ARMv7 has a weakly ordered memory model.

* wtf/Platform.h: Enabled compare-and-swap on Windows so our spinlock
implementation would continue working on Windows.

* wtf/TCSpinLock.h:
(TCMalloc_SpinLock::Lock):
(TCMalloc_SpinLock::Unlock):
(TCMalloc_SpinLock): Use our compare-and-swap helper function to avoid
rewriting it in assembly here.

Added memory barriers since ARMv7 needs them.

Removed PPC support because our helper function doesn't support PPC.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mark text with text alternative with blue underline.
https://bugs.webkit.org/show_bug.cgi?id=83047

Reviewed by Enrica Casucci.

Tests: platform/mac/editing/input/edit-dictated-text-with-alternative.html
       platform/mac/editing/input/insert-dictated-text.html

This patch implements visual indication on dictated text with alternatives, and provides UI
to show alternative text on OS X. Majority of the changes is for generalizing existing AlternativeTextController
class to handle dictation alternatives. The two new classes, AlternativeTextUIController and
TextAlternativeWithRange, are used by both WebKit and WK2. So WebCore seems to be the natural place
for them.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* editing/AlternativeTextController.cpp: Expanded exising class interface to support dictation alternatives.
(DictationAlternativeDetails): Marker detail class for dictation alternative mark.
(WebCore::DictationAlternativeDetails::create):
(WebCore::DictationAlternativeDetails::dictationContext):
(WebCore::DictationAlternativeDetails::DictationAlternativeDetails):
(WebCore::markerTypesForAppliedDictationAlternative):
(WebCore::AlternativeTextController::applyAlternativeTextToRange): Generalized existing applyAlternativeTextToRange() to handle dictation alternatives.
(WebCore::AlternativeTextController::timerFired): Expanded existing code to handle dictation alternatives.
(WebCore::AlternativeTextController::handleAlternativeTextUIResult): Expanded existing code to handle dictation alternatives.
(WebCore::AlternativeTextController::respondToChangedSelection): Moved part of the function into respondToMarkerAtEndOfWord() to improve readability.
(WebCore::AlternativeTextController::shouldStartTimerFor):
(WebCore::AlternativeTextController::respondToMarkerAtEndOfWord):
(WebCore::AlternativeTextController::markerDescriptionForAppliedAlternativeText):
(WebCore::AlternativeTextController::removeDictationAlternativesForMarker):
(WebCore::AlternativeTextController::dictationAlternativesForMarker):
(WebCore::AlternativeTextController::applyDictationAlternative):
* editing/AlternativeTextController.h:
* editing/Editor.cpp:
(WebCore::Editor::notifyComponentsOnChangedSelection): Renamed existing respondToChangedSelection() function to avoid naming collision.
(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::reappliedEditing):
(WebCore::Editor::updateMarkersForWordsAffectedByEditing):
(WebCore::Editor::changeSelectionAfterCommand):
(WebCore::Editor::respondToChangedSelection):
(WebCore::Editor::dictationAlternativesForMarker):
(WebCore::Editor::applyDictationAlternativelternative):
* editing/Editor.h:
* editing/FrameSelection.h:
* editing/mac/AlternativeTextUIController.h: Added. WK1 and WK2 use this class to keep track of text alternatives objects.
(AlternativeTextUIController):
(WebCore::AlternativeTextUIController::AlternativeTextUIController):
(AlernativeTextContextController):
(WebCore::AlternativeTextUIController::AlernativeTextContextController::AlernativeTextContextController):
* editing/mac/AlternativeTextUIController.mm: Added.
(WebCore::AlternativeTextUIController::AlernativeTextContextController::addAlternatives):
(WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext):
(WebCore::AlternativeTextUIController::AlernativeTextContextController::removeAlternativesForContext):
(WebCore::AlternativeTextUIController::AlernativeTextContextController::clear):
(WebCore::AlternativeTextUIController::addAlternatives):
(WebCore::AlternativeTextUIController::alternativesForContext):
(WebCore::AlternativeTextUIController::clear):
(WebCore::AlternativeTextUIController::showAlternatives):
(WebCore::AlternativeTextUIController::handleAcceptedAlternative):
(WebCore::AlternativeTextUIController::dismissAlternatives):
(WebCore::AlternativeTextUIController::removeAlternatives):
* editing/mac/TextAlternativeWithRange.h: Added.  A simple struct to make it easier to pass around a pair of text alternatives object and range.
* editing/mac/TextAlternativeWithRange.mm: Added.
(WebCore::TextAlternativeWithRange::TextAlternativeWithRange):
(WebCore::collectDictationTextAlternatives):
* page/AlternativeTextClient.h:
* page/ContextMenuController.cpp: Added code to show alternative dictated text in context menu.
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):
* platform/ContextMenuItem.h:
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::dictationAlternatives):
* rendering/HitTestResult.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDocumentMarker):

Changes in WebKit include implementation of new functions declared in AlternativeTextClient,
and logic for calling Editor::insertDictatedText() instead of Editor::insertText() when there's
alternatives attached to the input string.

* WebCoreSupport/CorrectionPanel.mm:
(correctionIndicatorType):
(CorrectionPanel::handleAcceptedReplacement):
* WebCoreSupport/WebAlternativeTextClient.h:
(WebAlternativeTextClient):
* WebCoreSupport/WebAlternativeTextClient.mm:
(WebAlternativeTextClient::showCorrectionAlternative):
(WebAlternativeTextClient::dismissAlternative):
(WebAlternativeTextClient::dismissAlternativeSoon):
(WebAlternativeTextClient::recordAutocorrectionResponse):
(WebAlternativeTextClient::removeDictationAlternatives):
(WebAlternativeTextClient::showDictationAlternativeUI):
(WebAlternativeTextClient::dismissDictationAlternativeUI):
(WebAlternativeTextClient::dictationAlternatives):
* WebView/WebHTMLView.mm:
(-[WebHTMLView validAttributesForMarkedText]):
(-[WebHTMLView insertText:]):
* WebView/WebView.mm:
(-[WebView handleAcceptedAlternativeText:]):
(-[WebView _getWebCoreDictationAlternatives:fromTextAlternatives:]):
(-[WebView _showDictationAlternativeUI:WebCore::forDictationContext:]):
(-[WebView _dismissDictationAlternativeUI]):
(-[WebView _removeDictationAlternatives:]):
(-[WebView _dictationAlternatives:]):
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate init]):
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:

Changes in WebKit2 include implementation of new functions declared in AlternativeTextClient,
and logic for calling Editor::insertDictatedText() instead of Editor::insertText() when there's
alternatives attached to the input string.

* Shared/API/c/WKContextMenuItemTypes.h:
* Shared/API/c/WKSharedAPICast.h:
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::pageClosed):
(WebKit::PageClientImpl::addDictationAlternatives):
(WebKit::PageClientImpl::removeDictationAlternatives):
(WebKit::PageClientImpl::showDictationAlternativeUI):
(WebKit::PageClientImpl::dictationAlternatives):
(WebKit::PageClientImpl::dismissDictationAlternativeUI):
* UIProcess/API/mac/WKView.mm:
(-[WKView insertText:replacementRange:]):
(-[WKView validAttributesForMarkedText]):
(-[WKView handleAcceptedAlternativeText:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showDictationAlternativeUI):
(WebKit::WebPageProxy::dismissDictationAlternativeUI):
(WebKit::WebPageProxy::removeDictationAlternatives):
(WebKit::WebPageProxy::dictationAlternatives):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/CorrectionPanel.mm:
(correctionIndicatorType):
(WebKit::CorrectionPanel::handleAcceptedReplacement):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::insertDictatedText):
* WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
(WebAlternativeTextClient):
* WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
(WebKit::WebAlternativeTextClient::showCorrectionAlternative):
(WebKit::WebAlternativeTextClient::dismissAlternative):
(WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
(WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
(WebKit::WebAlternativeTextClient::removeDictationAlternatives):
(WebKit::WebAlternativeTextClient::showDictationAlternativeUI):
(WebKit::WebAlternativeTextClient::dismissDictationAlternativeUI):
(WebKit::WebAlternativeTextClient::dictationAlternatives):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::insertDictatedText):

* platform/mac-lion/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac/editing/input/edit-dictated-text-with-alternative-expected.txt: Added.
* platform/mac/editing/input/edit-dictated-text-with-alternative.html: Added.
* platform/mac/editing/input/insert-dictated-text-expected.txt: Added.
* platform/mac/editing/input/insert-dictated-text.html: Added.

* DumpRenderTree/mac/TextInputController.m:
(+[TextInputController isSelectorExcludedFromWebScript:]):
(+[TextInputController webScriptNameForSelector:]):
(-[TextInputController dictatedStringWithPrimaryString:alternative:alternativeOffset:alternativeLength:]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120357 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r120352.
http://trac.webkit.org/changeset/120352
https://bugs.webkit.org/show_bug.cgi?id=89120

It seems something is still wrong with it :/ (Requested by
Ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-14

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(Factory.__init__):
(BuildFactory.__init__):
(TestFactory.__init__):
(BuildAndTestFactory.__init__):
(BuildAndPerfTestFactory.__init__):
(BuildAndPerfTestWebKit2Factory.__init__):
(DownloadAndPerfTestFactory.__init__):
(DownloadAndPerfTestWebKit2Factory.__init__):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-06-14  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Add TextureMapper ImageBuffer support as a fallback from the hardware accelerated path
        https://bugs.webkit.org/show_bug.cgi?id=73634

        Add the new graphics layer client that uses cairo to render the
        composition. The cairo transformations do not support perspective
        so in perspective cases we have just a representation not the real
        perspective transformation.

        This patch adds a new implementation of already tested cases.

        Reviewed by Martin Robinson.

        * GNUmakefile.am:
        * WebCoreSupport/AcceleratedCompositingContext.h:
        (AcceleratedCompositingContext):
        * WebCoreSupport/AcceleratedCompositingContextCairo.cpp: Added.
        * WebCoreSupport/ChromeClientGtk.cpp:
        (WebKit::ChromeClient::invalidateWidgetRect): We need to
        invalidate the widget in this case because we do not directly
        render to a texture but to the widget surface.
        (WebKit::ChromeClient::paint): We can not render here, we have to
        invalidate and wait for the widget rendering.
        * webkit/webkitwebview.cpp:
        (webkit_web_view_draw): In this case the renderLayersToWindow
        requires the graphics context used to render in the window.
        (webkit_web_view_realize): Small cleanup of the priv variable
        definition.

2012-06-14  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Add TextureMapper ImageBuffer support as a fallback from the hardware accelerated path
        https://bugs.webkit.org/show_bug.cgi?id=73634

        Remove the TextureMapperCairo classes, now we use
        TextureMapperImageBuffer to implement the software fallback. Add
        implementation for the 3D transformations in the 2D cairo graphics
        context.

        Reviewed by Martin Robinson.

        This patch adds a new implementation of already tested cases.

        * GNUmakefile.list.am:
        * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
        (WebCore):
        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
        Required for compilation when WebGL is enabled.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::get3DTransform):
        (WebCore::GraphicsContext::concat3DTransform):
        (WebCore::GraphicsContext::set3DTransform):
        * platform/graphics/cairo/TextureMapperCairo.cpp: Removed.
        * platform/graphics/cairo/TextureMapperCairo.h: Removed.
        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
        (WebCore::BitmapTextureImageBuffer::updateContents):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120359 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Certain settings in CCSettings could be global
https://bugs.webkit.org/show_bug.cgi?id=88384

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-14
Reviewed by James Robinson.

Source/Platform:

* chromium/public/WebLayerTreeView.h:
(WebCore):
(WebKit::WebLayerTreeView::Settings::Settings):
(Settings):

Source/WebCore:

No new tests. No new functionality.

* WebCore.gypi:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(Settings):
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::addAnimation):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
* platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
(WebCore::CCDebugRectHistory::enabled):
(WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
* platform/graphics/chromium/cc/CCDebugRectHistory.h:
(WebCore):
(CCDebugRectHistory):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::enabled):
(WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
(WebCore::CCHeadsUpDisplay::showDebugRects):
(WebCore::CCHeadsUpDisplay::draw):
(WebCore::CCHeadsUpDisplay::drawHudContents):
(WebCore::CCHeadsUpDisplay::drawDebugRects):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
(WebCore):
(CCHeadsUpDisplay):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::create):
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::animateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
(CCLayerTreeSettings):
(CCLayerTreeHost):
(WebCore::CCLayerTreeHost::settings):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::create):
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
(WebCore::CCLayerTreeHostImpl::animateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCRenderer.h:
(CCRendererClient):
(WebCore::CCRenderer::settings):
* platform/graphics/chromium/cc/CCSettings.cpp: Added.
(WebCore):
(WebCore::CCSettings::perTilePaintingEnabled):
(WebCore::CCSettings::setPerTilePaintingEnabled):
(WebCore::CCSettings::partialSwapEnabled):
(WebCore::CCSettings::setPartialSwapEnabled):
(WebCore::CCSettings::acceleratedAnimationEnabled):
(WebCore::CCSettings::setAcceleratedAnimationEnabled):
(WebCore::CCSettings::reset):
* platform/graphics/chromium/cc/CCSettings.h: Added.
(WebCore):
(CCSettings):
* testing/InternalSettings.cpp:
* testing/InternalSettings.h:
(InternalSettings):

Source/WebKit/chromium:

* WebKit.gypi:
* public/WebCompositor.h:
(WebCompositor):
* public/WebSettings.h:
* src/WebCompositorImpl.cpp:
(WebKit::WebCompositor::shutdown):
(WebKit):
(WebKit::WebCompositor::setPerTilePaintingEnabled):
(WebKit::WebCompositor::setPartialSwapEnabled):
(WebKit::WebCompositor::setAcceleratedAnimationEnabled):
* src/WebLayerTreeView.cpp:
(WebKit):
(WebKit::WebLayerTreeView::Settings::operator CCLayerTreeSettings):
* src/WebSettingsImpl.cpp:
* src/WebSettingsImpl.h:
(WebSettingsImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* tests/CCLayerTreeHostImplTest.cpp:
* tests/CCLayerTreeHostTest.cpp:
(WTF):
(CCLayerTreeHostTestShortlived1):
(WTF::CCLayerTreeHostTestShortlived1::CCLayerTreeHostTestShortlived1):
(WTF::CCLayerTreeHostTestShortlived1::beginTest):
(WTF::CCLayerTreeHostTestShortlived1::afterTest):
* tests/CCTestCommon.h: Added.
(WebKitTests):
(CCScopedSettings):
(WebKitTests::CCScopedSettings::CCScopedSettings):
(WebKitTests::CCScopedSettings::~CCScopedSettings):
* tests/CCThreadedTest.cpp:
(WebKitTests::MockLayerTreeHostImpl::create):
(WebKitTests::MockLayerTreeHostImpl::MockLayerTreeHostImpl):
(WebKitTests::MockLayerTreeHost::create):
(WebKitTests::MockLayerTreeHost::createLayerTreeHostImpl):
(WebKitTests::MockLayerTreeHost::MockLayerTreeHost):
(WebKitTests::CCThreadedTest::runTest):
* tests/CCThreadedTest.h:
(CCThreadedTest):
(MockLayerTreeHostImpl):
* tests/GraphicsLayerChromiumTest.cpp:
(WebKitTests::MockLayerTreeHost::create):
(WebKitTests::MockLayerTreeHost::createLayerTreeHostImpl):
(WebKitTests::MockLayerTreeHost::MockLayerTreeHost):
(WebKitTests::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
* tests/LayerChromiumTest.cpp:
* tests/LayerRendererChromiumTest.cpp:
(LayerRendererChromiumTest):
(TEST_F):
(TEST):
* tests/TextureLayerChromiumTest.cpp:
* tests/TiledLayerChromiumTest.cpp:
* tests/TreeSynchronizerTest.cpp:
(WebKitTests::TEST):

Tools:

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
(TestShell::resetWebSettings):
(TestShell::setPerTilePaintingEnabled):
* DumpRenderTree/chromium/TestShell.h:
(TestShell):
* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::reset):
(WebPreferences::applyTo):
* DumpRenderTree/chromium/WebPreferences.h:
(WebPreferences):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The whole world rebuilds when you touch any IDL file
https://bugs.webkit.org/show_bug.cgi?id=89125

Reviewed by Sam Weinig.

No new tests; this only changes the build system and its dependencies.

* bindings/scripts/preprocess-idls.pl: Optionally generate the
dependencies for supplemental IDLs in Makefile format.
* DerivedSources.make: Use the new feature of preprocess-idls.pl to generate
the correct IDL dependencies created by Supplemental, then include it. This way,
we avoid the situation where every bindings file implicitly depends on every single
IDL file in the project.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] For hit testing in CCLayerTreeHostCommon, need to check that the transform is invertible before inverting it.
https://bugs.webkit.org/show_bug.cgi?id=89049

Reviewed by Adrienne Walker.

Source/WebCore:

Unit test added to CCLayerTreeHostCommonTest.cpp:
  CCLayerTreeHostCommonTest.verifyHitTestingForUninvertibleTransform

* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::pointHitsRect):

Source/WebKit/chromium:

* tests/CCLayerTreeHostCommonTest.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium/linux] Drop deprecated WebFontRenderStyle::useSubpixel
https://bugs.webkit.org/show_bug.cgi?id=88263

Patch by Daniel Erat <derat@chromium.org> on 2012-06-14
Reviewed by Adam Barth.

This removes the useSubpixel member, which was replaced by
useSubpixelRendering.  Chrome has been updated to set only the
useSubpixelRendering field.

No test updates since the existing behavior shouldn't change.

* public/linux/WebFontInfo.h:
(WebFontInfo):
* public/linux/WebFontRenderStyle.h:
* src/linux/WebFontInfo.cpp:
(WebKit::WebFontInfo::renderStyleForStrike):
* src/linux/WebFontRenderStyle.cpp:
(WebKit::WebFontRenderStyle::toFontRenderStyle):
(WebKit::WebFontRenderStyle::setDefaults):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crashes below IconDatabase::performPendingRetainAndReleaseOperations().
<http://webkit.org/b/88846>
<rdar://problem/11629106>

Reviewed by Brady Eidson.

Put isolatedCopy() strings in the retain/release operation queues to make sure it's safe
for secondary threads to ref/deref them in performPendingRetainAndReleaseOperations().
Also added assertions as appropriate.

* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::retainIconForPageURL):
(WebCore::IconDatabase::releaseIconForPageURL):
(WebCore::IconDatabase::performPendingRetainAndReleaseOperations):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120364 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix bit packing of StyleRareInheritedData on Windows
https://bugs.webkit.org/show_bug.cgi?id=89112

Reviewed by Ryosuke Niwa.

On my machine (64 bit Chromium Linux), StyleRareInheritedData is 168 bytes.

No new tests, added a compile assert to ensure correctness going forward.

* rendering/style/StyleRareInheritedData.cpp:
(SameSizeAsStyleRareInheritedData):
(WebCore):
* rendering/style/StyleRareInheritedData.h:
(StyleRareInheritedData):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120366 268f45cc-cd09-0410-ab3c-d52691b4dbfc