[TexmapGL] Reduce the number of glTexSubImage2D calls
https://bugs.webkit.org/show_bug.cgi?id=83665

Instead of copy the pixels row by row, put the pixels in a buffer and
call glTexSubImage2D just once.

Reviewed by Noam Rosenthal.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::updateContents):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening, updating baselines
after r120492 and r120495.

* platform/gtk/fast/lists/001-expected.txt:
* platform/gtk/fast/lists/001-vertical-expected.txt:
* platform/gtk/mathml/xHeight-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update baselines after http://trac.webkit.org/changeset/120485

* platform/chromium-linux-x86/http/tests/local: Removed.
* platform/chromium-linux-x86/http/tests/local/file-url-sent-as-referer-expected.png: Removed.
* platform/chromium-linux-x86/scrollbars: Removed.
* platform/chromium-linux-x86/scrollbars/listbox-scrollbar-combinations-expected.png: Removed.
* platform/chromium-linux-x86/scrollbars/overflow-scrollbar-combinations-expected.png: Removed.
* platform/chromium-linux-x86/svg/as-border-image: Removed.
* platform/chromium-linux-x86/svg/as-border-image/svg-as-border-image-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/createImageElement-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/createImageElement2-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/focus-ring-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/group-opacity-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/image-parent-translation-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/image-small-width-height-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/js-update-image-and-display-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/js-update-image-and-display2-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/js-update-image-and-display3-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/js-update-image-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/text-image-opacity-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/use-on-g-containing-foreignObject-and-image-expected.png: Removed.
* platform/chromium-linux-x86/svg/dynamic-updates/SVGImageElement-dom-height-attr-expected.png: Removed.
* platform/chromium-linux-x86/svg/filters/feImage-subregions-expected.png: Removed.
* platform/chromium-linux-x86/svg/filters/feImage-subregions-preseveAspectRatio-none-expected.png: Removed.
* platform/chromium-linux-x86/svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.png: Removed.
* platform/chromium-linux-x86/svg/filters/filter-source-position-expected.png: Removed.
* platform/chromium-linux-x86/svg/repaint: Removed.
* platform/chromium-linux-x86/svg/repaint/image-href-change-expected.png: Removed.
* platform/chromium-linux-x86/svg/transforms/animated-path-inside-transformed-html-expected.png: Removed.
* platform/chromium-linux-x86/svg/zoom/page/zoom-background-images-expected.png: Removed.
* platform/chromium-linux-x86/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png: Removed.
* platform/chromium-linux-x86/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png: Removed.
* platform/chromium-linux-x86/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png: Removed.
* platform/chromium-linux/http/tests/local/file-url-sent-as-referer-expected.png:
* platform/chromium-linux/scrollbars/listbox-scrollbar-combinations-expected.png:
* platform/chromium-linux/scrollbars/overflow-scrollbar-combinations-expected.png:
* platform/chromium-linux/svg/as-border-image/svg-as-border-image-expected.png:
* platform/chromium-linux/svg/custom/createImageElement2-expected.png:
* platform/chromium-linux/svg/custom/focus-ring-expected.png:
* platform/chromium-linux/svg/custom/image-parent-translation-expected.png:
* platform/chromium-linux/svg/custom/image-small-width-height-expected.png:
* platform/chromium-linux/svg/custom/text-image-opacity-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGImageElement-dom-height-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGImageElement-dom-width-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGImageElement-dom-x-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGImageElement-dom-y-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGImageElement-svgdom-height-prop-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGImageElement-svgdom-width-prop-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGImageElement-svgdom-x-prop-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGImageElement-svgdom-y-prop-expected.png:
* platform/chromium-linux/svg/transforms/animated-path-inside-transformed-html-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-background-images-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-win-vista/http/tests/local: Removed.
* platform/chromium-win-vista/svg/dynamic-updates: Added.
* platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr-expected.png: Added.
* platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-dom-x-attr-expected.png: Added.
* platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-dom-y-attr-expected.png: Added.
* platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-svgdom-height-prop-expected.png: Added.
* platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-svgdom-width-prop-expected.png: Added.
* platform/chromium-win-xp/svg/dynamic-updates: Removed.
* platform/chromium-win/http/tests/local/file-url-sent-as-referer-expected.png:
* platform/chromium-win/scrollbars/listbox-scrollbar-combinations-expected.png:
* platform/chromium-win/scrollbars/overflow-scrollbar-combinations-expected.png:
* platform/chromium-win/svg/as-border-image/svg-as-border-image-expected.png:
* platform/chromium-win/svg/custom/createImageElement-expected.png:
* platform/chromium-win/svg/custom/createImageElement2-expected.png:
* platform/chromium-win/svg/custom/focus-ring-expected.png:
* platform/chromium-win/svg/custom/group-opacity-expected.png:
* platform/chromium-win/svg/custom/image-parent-translation-expected.png:
* platform/chromium-win/svg/custom/image-small-width-height-expected.png:
* platform/chromium-win/svg/custom/js-update-image-and-display-expected.png:
* platform/chromium-win/svg/custom/js-update-image-and-display2-expected.png:
* platform/chromium-win/svg/custom/js-update-image-and-display3-expected.png:
* platform/chromium-win/svg/custom/js-update-image-expected.png:
* platform/chromium-win/svg/custom/text-image-opacity-expected.png:
* platform/chromium-win/svg/custom/use-on-g-containing-foreignObject-and-image-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGImageElement-dom-height-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGImageElement-dom-width-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGImageElement-dom-x-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGImageElement-dom-y-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGImageElement-svgdom-height-prop-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGImageElement-svgdom-width-prop-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGImageElement-svgdom-x-prop-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGImageElement-svgdom-y-prop-expected.png:
* platform/chromium-win/svg/filters/feImage-subregions-expected.png:
* platform/chromium-win/svg/filters/feImage-subregions-preseveAspectRatio-none-expected.png:
* platform/chromium-win/svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.png:
* platform/chromium-win/svg/filters/filter-source-position-expected.png:
* platform/chromium-win/svg/repaint/image-href-change-expected.png:
* platform/chromium-win/svg/transforms/animated-path-inside-transformed-html-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-background-images-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove a bunch of 32-bit specific results.  These results are the same
on 64 bit.

* platform/chromium-linux-x86/compositing/color-matching: Removed.
* platform/chromium-linux-x86/compositing/color-matching/image-color-matching-expected.png: Removed.
* platform/chromium-linux-x86/css3/filters/crash-hw-sw-switch-expected.png: Removed.
* platform/chromium-linux-x86/css3/filters/custom: Removed.
* platform/chromium-linux-x86/css3/filters/custom/custom-filter-shader-cache-expected.png: Removed.
* platform/chromium-linux-x86/css3/filters/custom/effect-custom-combined-missing-expected.png: Removed.
* platform/chromium-linux-x86/css3/filters/custom/effect-custom-expected.png: Removed.
* platform/chromium-linux-x86/css3/filters/custom/missing-custom-filter-shader-expected.png: Removed.
* platform/chromium-linux-x86/css3/filters/effect-blur-hw-expected.png: Removed.
* platform/chromium-linux-x86/css3/filters/effect-brightness-expected.png: Removed.
* platform/chromium-linux-x86/css3/filters/effect-brightness-hw-expected.png: Removed.
* platform/chromium-linux-x86/css3/filters/effect-contrast-hw-expected.png: Removed.
* platform/chromium-linux-x86/css3/filters/effect-drop-shadow-hw-expected.png: Removed.
* platform/chromium-linux-x86/fast/images: Removed.
* platform/chromium-linux-x86/fast/images/jpeg-with-color-profile-expected.png: Removed.
* platform/chromium-linux-x86/fast/images/png-with-color-profile-expected.png: Removed.
* platform/chromium-linux/compositing/color-matching/image-color-matching-expected.png:
* platform/chromium-linux/css3/filters/crash-hw-sw-switch-expected.png:
* platform/chromium-linux/css3/filters/custom/custom-filter-shader-cache-expected.png:
* platform/chromium-linux/css3/filters/custom/effect-custom-combined-missing-expected.png:
* platform/chromium-linux/css3/filters/custom/effect-custom-expected.png:
* platform/chromium-linux/css3/filters/custom/missing-custom-filter-shader-expected.png:
* platform/chromium-linux/css3/filters/effect-blur-hw-expected.png:
* platform/chromium-linux/css3/filters/effect-brightness-expected.png:
* platform/chromium-linux/css3/filters/effect-brightness-hw-expected.png:
* platform/chromium-linux/css3/filters/effect-contrast-hw-expected.png:
* platform/chromium-linux/css3/filters/effect-drop-shadow-hw-expected.png:
* platform/chromium-linux/fast/images/jpeg-with-color-profile-expected.png: Added.
* platform/chromium-linux/fast/images/png-with-color-profile-expected.png: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled DEPS.

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

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Texmap] Remove unused code in Texmap.
https://bugs.webkit.org/show_bug.cgi?id=89265

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-16
Reviewed by Noam Rosenthal.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::didSynchronize):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::syncCompositingState):
* platform/graphics/texmap/TextureMapperLayer.h:
(TextureMapperLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120532 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Texmap] SIGSEV in WebCore::TextureMapperGL::drawTexture.
https://bugs.webkit.org/show_bug.cgi?id=89113

TextureMapperTile::m_texture is created lazilly, so we need null check before
using it.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-16
Reviewed by Noam Rosenthal.

No new tests. This patch doesn't change behavior.

* platform/graphics/texmap/TextureMapperBackingStore.cpp:
(WebCore::TextureMapperTile::paint):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120533 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Settings::devicePixelRatio doesn't do anything and is confusing
https://bugs.webkit.org/show_bug.cgi?id=89272

Reviewed by James Robinson.

Source/WebCore:

Settings::devicePixelRatio is yet another piece of state trying to
represent the device scale factor. The canonical place to store this
state is Page::m_deviceScaleFactor. Nothing in WebCore references
Settings::devicePixelRatio anymore, so we can remove it.

* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(Settings):

Source/WebKit2:

* Shared/WebPreferencesStore.h:
(WebKit):
    - Remove boilerplate code for the setting.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewExperimental::devicePixelRatio):
(QQuickWebViewExperimental::setDevicePixelRatio):
    - Change these functions to get and set the real device scale factor.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
    - Use the real device scale factor for the viewport calculation.
(WebKit::WebPage::updatePreferences):
    - Remove boilerplate code for the setting.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Rebaseline MathML tests after r120492
https://bugs.webkit.org/show_bug.cgi?id=89282

Unreviewed EFL gardening. Several MathML tests needed
rebaselining after r120492.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-16

* platform/efl/mathml/presentation/attributes-expected.txt:
* platform/efl/mathml/presentation/fenced-expected.txt:
* platform/efl/mathml/presentation/fenced-mi-expected.txt:
* platform/efl/mathml/presentation/fractions-expected.txt:
* platform/efl/mathml/presentation/fractions-vertical-alignment-expected.txt:
* platform/efl/mathml/presentation/mo-stretch-expected.txt:
* platform/efl/mathml/presentation/mroot-pref-width-expected.txt:
* platform/efl/mathml/presentation/roots-expected.txt:
* platform/efl/mathml/presentation/row-alignment-expected.png:
* platform/efl/mathml/presentation/row-alignment-expected.txt:
* platform/efl/mathml/presentation/sub-expected.txt:
* platform/efl/mathml/presentation/subsup-expected.txt:
* platform/efl/mathml/presentation/sup-expected.txt:
* platform/efl/mathml/presentation/tables-expected.txt:
* platform/efl/mathml/presentation/tokenElements-expected.txt:
* platform/efl/mathml/presentation/under-expected.png:
* platform/efl/mathml/presentation/under-expected.txt:
* platform/efl/mathml/presentation/underover-expected.png:
* platform/efl/mathml/presentation/underover-expected.txt:
* platform/efl/mathml/xHeight-expected.png:
* platform/efl/mathml/xHeight-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Move chromium/public/linuxish/WebFontRendering.h out of linuxish directory
https://bugs.webkit.org/show_bug.cgi?id=89228

Source/WebCore:

Reverse the dependency originally from WebKit::WebFontRendering to WebCore::FontPlatformDataHarfBuzz
so that WebKit::WebFontRendering can be platform-independent.

Reviewed by Tony Chang.

Refactory only. No new tests.

* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
(WebCore::FontPlatformData::setupPaint):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
(FontPlatformData):

Source/WebKit/chromium:

Reverse dependency originally from WebCore::FontPlatformDataHarfBuzz to WebKit::WebFontRendering
so that WebKit::WebFontRendering can be platform-independent.

This also avoids the ambiguous name 'linuxish'.

Reviewed by Tony Chang.

* WebKit.gyp:
* public/WebFontRendering.h: Copied from Source/WebKit/chromium/public/linuxish/WebFontRendering.h. Added getters under WEBKIT_IMPLEMENTATION.
(WebFontRendering):
* public/linux/WebFontRendering.h:
* public/linuxish: Removed.
* public/linuxish/WebFontRendering.h: Removed.
* src/WebFontRendering.cpp: Copied from Source/WebKit/chromium/src/linuxish/WebFontRendering.cpp. Changed setters to be independent of platform-dependent implementation and added getters.
(WebKit):
(WebKit::WebFontRendering::setHinting):
(WebKit::WebFontRendering::hinting):
(WebKit::WebFontRendering::setAutoHint):
(WebKit::WebFontRendering::autoHint):
(WebKit::WebFontRendering::setUseBitmaps):
(WebKit::WebFontRendering::useBitmaps):
(WebKit::WebFontRendering::setAntiAlias):
(WebKit::WebFontRendering::antiAlias):
(WebKit::WebFontRendering::setSubpixelRendering):
(WebKit::WebFontRendering::subpixelRendering):
(WebKit::WebFontRendering::setSubpixelPositioning):
(WebKit::WebFontRendering::subpixelPositioning):
* src/linuxish: Removed.
* src/linuxish/WebFontRendering.cpp: Removed.

Tools:

Reviewed by Tony Chang.

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::reset):
(LayoutTestController::setTextSubpixelPositioning):
* DumpRenderTree/chromium/TestShellAndroid.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Rebaseline fast/lists/001*.html tests after r120495
https://bugs.webkit.org/show_bug.cgi?id=89283

Unreviewed EFL gardening after r120495.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-16

* platform/efl/fast/lists/001-expected.png:
* platform/efl/fast/lists/001-expected.txt:
* platform/efl/fast/lists/001-vertical-expected.png:
* platform/efl/fast/lists/001-vertical-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix test cases for `header`/`footer` AXRoleDescription
https://bugs.webkit.org/show_bug.cgi?id=88911

The relative URLs to js-test-pre.js and js-test-post.js were incorrect.

Patch by Mike West <mkwst@chromium.org> on 2012-06-16
Reviewed by Simon Fraser.

* platform/mac/accessibility/footer.html:
* platform/mac/accessibility/header.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120538 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Compositor should avoid drawing quads when cached textures are available and contents unchanged
https://bugs.webkit.org/show_bug.cgi?id=88482

Patch by Zeev Lieber <zlieber@chromium.org> on 2012-06-16
Reviewed by Adrienne Walker.

Source/WebCore:

Post-processing CCRenderPassList after it's been generated and
removing all render surface quads for which there are
cached textures, and whose content didn't change. Added a new
flag to CCLayerImpl to differentiate surface property change and
layer property change.

The changes are covered by new unit tests that check that
the removal algorithm functions propertly. No rendering
behaviour change, so no new layout tests.

* platform/graphics/chromium/cc/CCDamageTracker.cpp:
(WebCore::layerNeedsToRedrawOntoItsTargetSurface):
(WebCore):
(WebCore::CCDamageTracker::extendDamageForLayer):
(WebCore::CCDamageTracker::extendDamageForRenderSurface):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::layerSurfacePropertyChanged):
(WebCore):
(WebCore::CCLayerImpl::resetAllChangeTrackingForSubtree):
(WebCore::CCLayerImpl::setOpacity):
(WebCore::CCLayerImpl::setTransform):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::CCLayerTreeHostImpl::removeRenderPassesRecursive):
(WebCore):
(WebCore::CCLayerTreeHostImpl::removePassesWithCachedTextures):
(WebCore::CCLayerTreeHostImpl::prepareToDraw):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(FrameData):
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCRenderPass.h:
(CCRenderPass):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::prepareContentsTexture):
(WebCore::CCRenderSurface::hasCachedContentsTexture):
(WebCore):
(WebCore::CCRenderSurface::contentsChanged):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(CCRenderSurface):

Source/WebKit/chromium:

Added tests to verify quad removal algorithm. Added infrastructure
code to generate custom render passes out of a script
encoded as C string.

* tests/CCDamageTrackerTest.cpp:
(WebKitTests::TEST_F):
* tests/CCLayerImplTest.cpp:
(WebCore):
(WebCore::TEST):
* tests/CCLayerTreeHostImplTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Ignore paths in Content Security Policy sources rather than failing to parse them.
https://bugs.webkit.org/show_bug.cgi?id=89281

Patch by Mike West <mkwst@chromium.org> on 2012-06-16
Reviewed by Adam Barth.

Source/WebCore:

In short: `script-src http://example.com/` should allow scripts from
http://example.com. Currently, it allows no scripts at all, as the
terminal `/` isn't accepted as part of a hostname.

This patch adjusts CSPSourceList::parseSource to accept paths (and
discard them). Once this lands, the next step will be to keep the
path, and use it when comparing source origins in the various
allowXXXFromSource methods.

Tests: http/tests/security/contentSecurityPolicy/source-list-parsing-05.html
       http/tests/security/contentSecurityPolicy/source-list-parsing-06.html

* page/ContentSecurityPolicy.cpp:
(CSPSourceList):
(WebCore):
(WebCore::CSPSourceList::parseSource):
    Reworked this method entirely to support paths.
(WebCore::CSPSourceList::parsePath):
    More or less a no-op at the moment.
(WebCore::CSPSourceList::parsePort):
    Moved the `:` assertion here from parseSource.

LayoutTests:

* http/tests/security/contentSecurityPolicy/source-list-parsing-05-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/source-list-parsing-05.html: Added.
* http/tests/security/contentSecurityPolicy/source-list-parsing-06-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/source-list-parsing-06.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
layoutTestController.setBackingScaleFactor is redundant with (and less awesome than) internals.settings.setDeviceScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=89274

Reviewed by Levi Weintraub.

Tools:

Delete (mostly stub) implementations of layoutTestController.setBackingScaleFactor.
Note: The WebKit2 API that setBackingScaleFactor exercises is still
tested by API-level tests.

* DumpRenderTree/LayoutTestController.cpp:
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
(LayoutTestController):
* DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
* DumpRenderTree/wx/LayoutTestControllerWx.cpp:
* WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessage):
(WTR):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
(WTR):
* WebKitTestRunner/InjectedBundle/LayoutTestController.h:
(LayoutTestController):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

We don't need both layoutTestController.setBackingScaleFactor and
internals.settings.setDeviceScaleFactor because they do exactly the
same thing.  This patch removes setBackingScaleFactor because it's
async nature is annoying and implementing it requires a bunch of
port-specific code.

* fast/hidpi/broken-image-icon-hidpi.html:
* fast/hidpi/broken-image-with-size-hidpi.html:
* fast/hidpi/clip-text-in-hidpi.html:
* fast/hidpi/focus-rings.html:
* fast/hidpi/image-set-as-background.html:
* fast/hidpi/image-set-background-dynamic.html:
* fast/hidpi/image-set-background-repeat-without-size.html:
* fast/hidpi/image-set-background-repeat.html:
* fast/hidpi/image-set-border-image-comparison.html:
* fast/hidpi/image-set-border-image-dynamic.html:
* fast/hidpi/image-set-border-image-simple.html:
* fast/hidpi/image-set-in-content-dynamic.html:
* fast/hidpi/image-set-out-of-order.html:
* fast/hidpi/image-set-simple.html:
* fast/hidpi/image-set-without-specified-width.html:
* fast/hidpi/resize-corner-hidpi.html:
* fast/hidpi/video-controls-in-hidpi.html:
* svg/as-image/image-respects-deviceScaleFactor.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r120539.
http://trac.webkit.org/changeset/120539
https://bugs.webkit.org/show_bug.cgi?id=89295

Does not compile on chromium-mac (Requested by abarth on
#webkit).

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

Source/WebCore:

* platform/graphics/chromium/cc/CCDamageTracker.cpp:
(WebCore::CCDamageTracker::extendDamageForLayer):
(WebCore::CCDamageTracker::extendDamageForRenderSurface):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::resetAllChangeTrackingForSubtree):
(WebCore::CCLayerImpl::setOpacity):
(WebCore::CCLayerImpl::setTransform):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::CCLayerTreeHostImpl::prepareToDraw):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCRenderPass.h:
(CCRenderPass):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::prepareContentsTexture):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(CCRenderSurface):

Source/WebKit/chromium:

* tests/CCDamageTrackerTest.cpp:
(WebKitTests::TEST_F):
* tests/CCLayerImplTest.cpp:
(WebCore):
(WebCore::TEST):
* tests/CCLayerTreeHostImplTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120542 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r120536.
http://trac.webkit.org/changeset/120536
https://bugs.webkit.org/show_bug.cgi?id=89296

Does not compile on chromium-linux (Requested by abarth on
#webkit).

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

Source/WebCore:

* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
(WebCore):
(WebCore::FontPlatformData::setHinting):
(WebCore::FontPlatformData::setAutoHint):
(WebCore::FontPlatformData::setUseBitmaps):
(WebCore::FontPlatformData::setAntiAlias):
(WebCore::FontPlatformData::setSubpixelRendering):
(WebCore::FontPlatformData::setSubpixelPositioning):
(WebCore::FontPlatformData::setupPaint):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
(FontPlatformData):

Source/WebKit/chromium:

* WebKit.gyp:
* public/linux/WebFontRendering.h:
* public/linuxish/WebFontRendering.h: Renamed from Source/WebKit/chromium/public/WebFontRendering.h.
(WebKit):
(WebFontRendering):
* src/linuxish/WebFontRendering.cpp: Renamed from Source/WebKit/chromium/src/WebFontRendering.cpp.
(WebKit):
(WebKit::WebFontRendering::setHinting):
(WebKit::WebFontRendering::setAutoHint):
(WebKit::WebFontRendering::setUseBitmaps):
(WebKit::WebFontRendering::setAntiAlias):
(WebKit::WebFontRendering::setSubpixelRendering):
(WebKit::WebFontRendering::setSubpixelPositioning):
(WebKit::WebFontRendering::setLCDOrder):
(WebKit::WebFontRendering::setLCDOrientation):

Tools:

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::reset):
(LayoutTestController::setTextSubpixelPositioning):
* DumpRenderTree/chromium/TestShellAndroid.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Make the deviceScaleFactor dynamically adjustable.
https://bugs.webkit.org/show_bug.cgi?id=88916

Reviewed by James Robinson.

Source/Platform:

* chromium/public/WebLayerTreeView.h: Plumb setDeviceScaleFactor and
deviceScaleFactor functions.
(WebKit::WebLayerTreeView::Settings::Settings): Remove deviceScaleFactor from
settings as it is now dynamic.
(Settings):
(WebLayerTreeView):

Source/WebCore:

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Removed use of static
deviceScaleFactor from settings with dyanmic m_deviceScaleFactor
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setViewportSize):
(WebCore::CCLayerTreeHost::updateLayers):
(WebCore::CCLayerTreeHost::setDeviceScaleFactor): Added function to
set deviceScaleFactor.
(WebCore):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings): Removed static deviceScaleFactor
(CCSettings):
(CCLayerTreeHost): Added dynamic m_deviceScaleFactor in its place.
(WebCore::CCLayerTreeHost::deviceScaleFactor):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Same as above.
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
(WebCore::CCLayerTreeHostImpl::setViewportSize):
(WebCore::CCLayerTreeHostImpl::setDeviceScaleFactor): Added function to
set deviceScaleFactor.
(WebCore):
(WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
(WebCore::CCLayerTreeHostImpl::scrollBegin):
(WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Added dynamic
m_deviceScaleFactor instance variable.
(WebCore::CCLayerTreeHostImpl::deviceScaleFactor):
(CCLayerTreeHostImpl):

Source/WebKit/chromium:

* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::Settings::operator CCSettings): Removed unused
static deviceScaleFactor.
(WebKit::WebLayerTreeView::setDeviceScaleFactor):
(WebKit):
(WebKit::WebLayerTreeView::deviceScaleFactor):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setDeviceScaleFactor): Push the dynamic deviceScaleFactor
to the compositor as required.
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* tests/CCLayerTreeHostTest.cpp: Tests use dynamic setDeviceScaleFactor.
(WTF::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers):
(WTF::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers::beginTest):
(WTF::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers::commitCompleteOnCCThread):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120544 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Texmap] Share gaussian formula between shaders in TextureMapperShaderManager.
https://bugs.webkit.org/show_bug.cgi?id=89277

This patch makes blur and drop shadow shader share gaussian formula.

On the other hand, blur and drop shadow filter computed a gaussian weight in
pixel shader. However, a gaussian kernal has always same values, so this patch
computes the gaussian kernel only one time using CPU.
It is more accurate and faster.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-16
Reviewed by Noam Rosenthal.

Covered by existing tests, particularly css3/filters/.

* platform/graphics/texmap/TextureMapperShaderManager.cpp:
(WebCore):
(WebCore::StandardFilterProgram::StandardFilterProgram):
(WebCore::gauss):
(WebCore::gaussianKernel):
(WebCore::StandardFilterProgram::prepare):
* platform/graphics/texmap/TextureMapperShaderManager.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120545 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make garden-o-matic work for the Apple Mac port
https://bugs.webkit.org/show_bug.cgi?id=84642

Reviewed by Adam Barth.

Make garden-o-matic work for the Apple, webkit.org-hosted builders and testers. This involved
educating the scripts in various ways:
* Wrap up platform-related differences in config.kPlatforms[]
* Add a <select> to switch between platforms, and support a url parameter, ?platform=chromium/apple
* The webkit.org bots don't accumulate test results into a single directory like the chromium.org ones do,
  so add config.haveBuilderAccumulatedResults and logic in fetchResultsByBuilder() to find the most
  recent build with valid results.
* The webkit.org bots often generate results directories with no layout test data (e.g. when testers
  try to test a build that has already been deleted). Make walkHistory() more robust here.
* webkit.org uses differently named test result directories, that include the SVN revision as
  well as the build number. That forces us to fetch more build info before we can get the
  result directory URL.
* chromium.org serves raw directory listings for a builder's results directories. webkit.org serves
  those with Twisted, so rather than scrape directory listings, we use buildbot JSON to find results
  dirs.
* Various URLs differ between webkit.org and chromium.org
* Better UI for the failures info, so that some info is visible even when not hovered.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/LayoutTestResultsLoader.js:
(LayoutTestResultsLoader.prototype.set _fetchAndParseNRWTResults):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/net.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/summary-mock.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/notifications.css:
(ol.notifications>li table.failures):
(ol.notifications>li:hover table.failures):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/onebar.css:
(#onebar #platform-picker):
* Scripts/webkitpy/layout_tests/port/builders.py:

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