Unreviewed GTK gardening.

Adding expectations for flakily-crashing tests, these failures
are a regression from r128802.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Build is broken without option --enable-unstable-features
https://bugs.webkit.org/show_bug.cgi?id=96996

Reviewed by Martin Robinson.

When searching for the bare feature define in feature_defines_unstable or
feature_defines_overrides, search for the bare define followed by = character.
This avoids incorrectly matching the ENABLE_VIDEO define to the ENABLE_VIDEO_TRACK
overriding define (and works as well for other similarly named feature defines).

No new tests - no new functionality.

* GNUmakefile.am:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128905 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tables without any descendant and auto logical width should have a 0px logical width
https://bugs.webkit.org/show_bug.cgi?id=95521

Reviewed by Abhishek Arya.

Source/WebCore:

The code would wrongly add the border-spacing in the row direction to the table's logical
width even if we didn't have a column. The new behavior matches FireFox and Opera. IE
matches our old behavior for inline tables but our new behavior for normal tables which
is a bug on their side.

Tests: fast/table/empty-table-should-take-no-space.html
       fast/table/fixed-table-layout/empty-table-should-take-no-space-fixed-layout.html

* rendering/RenderTable.h:
(WebCore::RenderTable::borderSpacingInRowDirection):
Added this new helper function to return the right border-spacing. Added a FIXME as the code always
return the horizontal dimension which is wrong in vertical-writing mode.

(WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
Changed to call borderSpacingInRowDirection. Added a comment as to why we don't add border-spacing on
border-collapse: separate tables.

LayoutTests:

* fast/table/empty-table-should-take-no-space-expected.html: Added.
* fast/table/empty-table-should-take-no-space.html: Added.
* fast/table/fixed-table-layout/empty-table-should-take-no-space-fixed-layout-expected.html: Added.
* fast/table/fixed-table-layout/empty-table-should-take-no-space-fixed-layout.html: Added.
2 new tests to check that empty tables have 0px logical width.

* platform/chromium-linux/tables/mozilla/bugs/bug56563-expected.png:
* platform/chromium-win/tables/mozilla/bugs/bug56563-expected.txt:
* platform/mac/tables/mozilla/bugs/bug56563-expected.txt:
* platform/qt/tables/mozilla/bugs/bug56563-expected.txt:
* tables/mozilla/bugs/bug56563-expected.txt:
Progression. The table now is 2px wide as it has a 1px right & left border.

* platform/chromium-linux/fast/invalid/residual-style-expected.txt:
Progression. The changes are due to the tables shrinking which is expected.

* platform/chromium-linux/fast/forms/file/file-input-disabled-expected.txt:
* platform/chromium-mac/fast/forms/file/file-input-disabled-expected.txt:
* platform/chromium-mac/tables/mozilla/bugs/bug113235-2-expected.txt:
* platform/chromium-win-xp/fast/forms/file-input-disabled-expected.txt:
* platform/chromium-win/fast/forms/file/file-input-disabled-expected.txt:
* platform/chromium-win/fast/invalid/017-expected.txt:
* platform/chromium-win/fast/invalid/018-expected.txt:
* platform/chromium-win/fast/invalid/020-expected.txt:
* platform/chromium-win/fast/invalid/table-inside-stray-table-content-expected.txt:
* platform/chromium-win/tables/mozilla/bugs/bug113235-2-expected.txt:
* platform/chromium-win/tables/mozilla/bugs/bug23994-expected.txt:
* platform/chromium-win/tables/mozilla/bugs/bug56405-expected.txt:
* platform/efl/fast/forms/file/file-input-disabled-expected.txt:
* platform/efl/fast/invalid/017-expected.txt:
* platform/efl/fast/invalid/018-expected.txt:
* platform/efl/fast/invalid/020-expected.txt:
* platform/efl/fast/invalid/table-inside-stray-table-content-expected.txt:
* platform/efl/fast/invalid/table-residual-style-crash-expected.txt:
* platform/efl/tables/mozilla/bugs/bug23994-expected.txt:
* platform/efl/tables/mozilla/bugs/bug56405-expected.txt:
* platform/gtk/fast/forms/file/file-input-disabled-expected.txt:
* platform/gtk/fast/invalid/017-expected.txt:
* platform/gtk/fast/invalid/018-expected.txt:
* platform/gtk/fast/invalid/020-expected.txt:
* platform/gtk/fast/invalid/table-inside-stray-table-content-expected.txt:
* platform/gtk/fast/invalid/table-residual-style-crash-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug23994-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug56405-expected.txt:
* platform/mac/fast/forms/file/file-input-disabled-expected.txt:
* platform/mac/fast/invalid/017-expected.txt:
* platform/mac/fast/invalid/018-expected.txt:
* platform/mac/fast/invalid/020-expected.txt:
* platform/mac/fast/invalid/table-inside-stray-table-content-expected.txt:
* platform/mac/fast/invalid/table-residual-style-crash-expected.txt:
* platform/mac/tables/mozilla/bugs/bug113235-2-expected.txt:
* platform/mac/tables/mozilla/bugs/bug23994-expected.txt:
* platform/mac/tables/mozilla/bugs/bug56405-expected.txt:
* platform/qt/fast/forms/file/file-input-disabled-expected.txt:
* platform/qt/fast/invalid/017-expected.txt:
* platform/qt/fast/invalid/018-expected.txt:
* platform/qt/fast/invalid/020-expected.txt:
* platform/qt/fast/invalid/table-inside-stray-table-content-expected.txt:
* platform/qt/fast/invalid/table-residual-style-crash-expected.txt:
* platform/qt/tables/mozilla/bugs/bug113235-2-expected.txt:
* platform/qt/tables/mozilla/bugs/bug23994-expected.txt:
* platform/qt/tables/mozilla/bugs/bug56405-expected.txt:
* platform/win/fast/forms/file-input-disabled-expected.txt:
* platform/win/fast/forms/file/file-input-disabled-expected.txt:
* tables/mozilla/bugs/bug113235-2-expected.txt:
Progression. The tables now have a 0px logical width. In some cases, we add the border-spacing in the
block-flow direction if we have a row. This is not consistently handled by browsers and not very well
defined in CSS.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] [WebKit2] Use XComposite window for accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=94417

Reviewed by Carlos Garcia Campos.

Instead of rendering directly to the widget's native window, render to an
offscreen window redirected to a Pixmap with XComposite.

Source/WebCore:

No new tests. This will be covered by the existing accelerated compositing tests,
which should now give correct pixel results.

* platform/gtk/RedirectedXCompositeWindow.cpp:
(WebCore::RedirectedXCompositeWindow::resize): Add a call to XFlush which ensures
that pending X11 operations complete.
* platform/gtk/RedirectedXCompositeWindow.h:
(WebCore::RedirectedXCompositeWindow::windowId): Added this accessor.

Source/WebKit2:

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(_WebKitWebViewBasePrivate): Added a few members necessary to track the
offscreen window.
(webkit_web_view_base_init):
(renderAcceleratedCompositingResults): Added this helper functions which renders
the results of the accelerated compositing operations during the GTK+ draw loop.
(webkitWebViewBaseDraw): Call renderAcceleratedCompositingResults when appropriate.
(resizeWebKitWebViewBaseFromAllocation): Resize the offscreen window when appropriate.
(webkitWebViewBaseSizeAllocate): Do not call resizeWebKitWebViewBaseFromAllocation when
the actual size of the widget does not change. This prevents destroying and recreating
the offscreen window pixmap when it isn't necessary.
(webkitWebViewBaseMap): We no longer send the window id during map, instead it's sent
as soon as there is WebPageProxy.
(webkitWebViewBaseCreateWebPage): Send the window id of the redirected window to
the WebProcess.
(queueAnotherDrawOfAcceleratedCompositingResults): Added this helper which works
around the issue of slow updates of the pixmap backing the redirected XComposite window.
(webkitWebViewBaseQueueDrawOfAcceleratedCompositingResults): Added this method which
is what the WebProcess uses to force a redraw on the UIProcess side.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Added new method to the list of private methods.
* UIProcess/DrawingAreaProxyImpl.h:
(DrawingAreaProxyImpl):
(WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode): Exposed this method publically
so that it can be used from WebKitWebViewBase.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Renamed widgetMapped to setAcceleratedCompositingWindowId.
* UIProcess/WebPageProxy.messages.in: Ditto.
* UIProcess/gtk/WebPageProxyGtk.cpp: Ditto.
(WebKit::WebPageProxy::setAcceleratedCompositingWindowId):
* WebProcess/WebPage/WebPage.h:
(WebPage): Ditto.
* WebProcess/WebPage/WebPage.messages.in: Ditto.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::sizeDidChange): Force a composite to the resized window right
away so that the new window pixmap is updated before the first draw.
(WebKit::LayerTreeHostGtk::compositeLayersToContext): If the composition is for a resize,
first clear the entire GL context so that we don't see black artifacts during resize.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(LayerTreeHostGtk): Update the signature of  compositeLayersToContext.
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::setAcceleratedCompositingWindowId): Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WTFString::show doesn't dump non-ASCII characters in a readable manner
https://bugs.webkit.org/show_bug.cgi?id=96749

Patch by Glenn Adams <glenn@skynav.com> on 2012-09-18
Reviewed by Benjamin Poulain.

Dump non-ASCII characters in a useful form for debugging.

* wtf/text/WTFString.cpp:
(asciiDebug):
Dump non-ASCII characters (i.e., UTF-16 code elements) as well as non-printable ASCII characters
using \uXXXX format. Also escape \ as \\ in order to remove ambiguity.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline tests failing due to expected slight pixel differences.

* platform/chromium-linux/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
* platform/chromium-linux/svg/custom/feComponentTransfer-Discrete-expected.png:
* platform/chromium-linux/svg/custom/feComponentTransfer-Gamma-expected.png:
* platform/chromium-linux/svg/custom/feComponentTransfer-Linear-expected.png:
* platform/chromium-linux/svg/custom/feComponentTransfer-Table-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/feComponentTransfer-Discrete-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/feComponentTransfer-Gamma-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/feComponentTransfer-Linear-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/feComponentTransfer-Table-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop-expected.png:
* platform/chromium-mac/css3/filters/effect-combined-expected.png:
* platform/chromium-mac/css3/filters/effect-opacity-expected.png:
* platform/chromium-mac/css3/filters/effect-reference-ordering-expected.png:
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
* platform/chromium-mac/svg/custom/feComponentTransfer-Discrete-expected.png:
* platform/chromium-mac/svg/custom/feComponentTransfer-Gamma-expected.png:
* platform/chromium-mac/svg/custom/feComponentTransfer-Linear-expected.png:
* platform/chromium-mac/svg/custom/feComponentTransfer-Table-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop-expected.png:
* platform/chromium-win/css3/filters/effect-combined-expected.png:
* platform/chromium-win/css3/filters/effect-opacity-expected.png:
* platform/chromium-win/css3/filters/effect-reference-ordering-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
* platform/chromium-win/svg/custom/feComponentTransfer-Discrete-expected.png:
* platform/chromium-win/svg/custom/feComponentTransfer-Gamma-expected.png:
* platform/chromium-win/svg/custom/feComponentTransfer-Linear-expected.png:
* platform/chromium-win/svg/custom/feComponentTransfer-Table-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop-expected.png:
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Set focus on the ExtensionPanel's iframe when it is selected
https://bugs.webkit.org/show_bug.cgi?id=96148

Patch by John J. Barton <johnjbarton@chromium.org> on 2012-09-18
Reviewed by Vsevolod Vlasov.

Source/WebCore:

ExtensionView ctor calls setDefaultFocusedElement with its iframe,
ExtensionPanel ctor calls setDefaultFocusedElement with the extensionView
and ExtensionPanel's setDefaultFocusedElement calls its grandparent impl

Tests: Added hasFocus test to extensions/extension-panel.html

* inspector/front-end/ExtensionPanel.js:
(WebInspector.ExtensionPanel):
(WebInspector.ExtensionPanel.prototype.defaultFocusedElement):
* inspector/front-end/ExtensionView.js:
(WebInspector.ExtensionView):

LayoutTests:

Add one line to verify that the panel's document has focus after show

* inspector/extensions/extensions-panel-expected.txt:
* inspector/extensions/extensions-panel.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Skipping large number of tests that have been failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=97026

Due to the state of the windows bots a large number of tests have been failing for quite some time and it is difficult to tell when the failure started. 
For now I'm adding these tests to the skip list to get the bots greener and will come back to them later.

* platform/win/Skipped:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline tests. Mostly failing due to slight pixel differences.
* platform/chromium-win/css3/filters/crash-hw-sw-switch-expected.png:
* platform/chromium-win/css3/filters/effect-brightness-clamping-expected.png:
* platform/chromium-win/css3/filters/effect-brightness-expected.png:
These two results are darker now, but this matches the mac/linux results.

* platform/chromium-win/css3/filters/filter-change-repaint-composited-expected.png: Added.
* platform/chromium-win/css3/filters/filter-change-repaint-expected.png: Added.
* platform/chromium-win/css3/filters/filter-repaint-child-layers-expected.png: Added.
* platform/chromium-win/css3/filters/filter-repaint-composited-fallback-crash-expected.png: Added.
* platform/chromium-win/css3/filters/filter-repaint-composited-fallback-expected.png: Added.
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] [WK2] Replace Skipped with TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=97029

Reviewed by Martin Robinson.

Replace the Skipped file with a TestExpectations file which adds
lots of semantics.

* platform/gtk-wk2/Skipped: Removed.
* platform/gtk-wk2/TestExpectations: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Revert 128780, 128676, 128645
https://bugs.webkit.org/show_bug.cgi?id=97022

Patch by Bo Liu <boliu@chromium.org> on 2012-09-18
Reviewed by Adam Barth.

I made these revisions to add in-place reload behavior to ImagesEnabled setting.
Reverting this for now due to them causing performance regression in
chromium, possibly caused by increased calls to
PermissionClient::imageAllowed.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

* WebCore.exp.in:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequest):
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::load):
* loader/cache/CachedImage.h:
(WebCore::CachedImage::stillNeedsLoad):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::didAddClient):
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::canRequest):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
(WebCore::CachedResourceLoader::setAutoLoadImages):
* loader/cache/CachedResourceLoader.h:
(CachedResourceLoader):
* page/Settings.cpp:
(WebCore::setLoadsImagesAutomaticallyInAllFrames):
(WebCore::Settings::Settings):
(WebCore::Settings::setLoadsImagesAutomatically):
(WebCore::Settings::loadsImagesAutomaticallyTimerFired):
(WebCore::Settings::setImagesEnabled):
* page/Settings.h:
(Settings):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
* testing/InternalSettings.h:
(Backup):
(InternalSettings):
* testing/InternalSettings.idl:

Source/WebKit2:

* win/WebKit2.def:

LayoutTests:

* fast/loader/display-image-unset-allows-cached-image-load-expected.txt: Removed.
* fast/loader/display-image-unset-allows-cached-image-load.html: Removed.
* fast/loader/display-image-unset-can-block-image-and-can-reload-in-place-expected.txt: Removed.
* fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html: Removed.
* fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place-expected.txt: Removed.
* fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html: Removed.
* fast/loader/resources/image1.html: Removed.
* fast/loader/resources/image2.html: Removed.
* platform/chromium/http/tests/permissionclient/image-permissions-expected.txt:
* platform/chromium/permissionclient/image-permissions-expected.txt:
* platform/chromium/permissionclient/image-permissions.html:
* platform/chromium/permissionclient/resources/image.html:
* platform/wk2/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Complete some forgotten rebaselines. The new results match other ports/platforms.

* fast/block/float/024-expected.txt: Renamed from LayoutTests/platform/efl/fast/block/float/024-expected.txt.
* fast/block/margin-collapse/025-expected.txt: Renamed from LayoutTests/platform/efl/fast/block/margin-collapse/025-expected.txt.
* fast/block/margin-collapse/block-inside-inline/025-expected.txt: Renamed from LayoutTests/platform/efl/fast/block/margin-collapse/block-inside-inline/025-expected.txt.
* fast/block/margin-collapse/empty-clear-blocks-expected.txt: Renamed from LayoutTests/platform/efl/fast/block/margin-collapse/empty-clear-blocks-expected.txt.
* platform/chromium-mac-snowleopard/fast/block/float/024-expected.png:
* platform/chromium-mac-snowleopard/fast/block/margin-collapse/empty-clear-blocks-expected.png:
* platform/chromium-mac/fast/block/float/024-expected.png:
* platform/chromium-mac/fast/block/float/024-expected.txt: Renamed from LayoutTests/platform/gtk/fast/block/float/024-expected.txt.
* platform/chromium-mac/fast/block/margin-collapse/025-expected.txt: Renamed from LayoutTests/platform/gtk/fast/block/margin-collapse/025-expected.txt.
* platform/chromium-mac/fast/block/margin-collapse/block-inside-inline/025-expected.txt: Renamed from LayoutTests/platform/gtk/fast/block/margin-collapse/block-inside-inline/025-expected.txt.
* platform/chromium-mac/fast/block/margin-collapse/empty-clear-blocks-expected.png:
* platform/chromium-mac/fast/block/margin-collapse/empty-clear-blocks-expected.txt: Renamed from LayoutTests/platform/gtk/fast/block/margin-collapse/empty-clear-blocks-expected.txt.
* platform/chromium/TestExpectations:

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