[GTK] Add graphviz debug output for the gstreamer video pipeline.
https://bugs.webkit.org/show_bug.cgi?id=89660

Patch by Allan Xavier <allan.xavier@undefinedltd.co.uk> on 2012-06-25
Reviewed by Martin Robinson.

Dump the current video pipeline as a graphviz DOT file when the
pipeline state changes or when an error occours.

No new tests as the change is only useful for debugging.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Implement Network Information API
https://bugs.webkit.org/show_bug.cgi?id=87067

Reviewed by Kenneth Rohde Christiansen.

.:

* Source/cmake/FindEFL.cmake: Find eeze library in build system.

Source/WebKit:

* PlatformEfl.cmake: Add dependency of eeze library.

Source/WebKit/efl:

Implement NetworkInfoClientEfl.cpp using eeze library. However, this patch only
supports this feature on ethernet interface.

* WebCoreSupport/NetworkInfoClientEfl.cpp:
(WebCore):
(WebCore::NetworkInfoClientEfl::NetworkInfoClientEfl):
(WebCore::NetworkInfoClientEfl::startUpdating):
(WebCore::NetworkInfoClientEfl::stopUpdating):
(WebCore::NetworkInfoClientEfl::bandwidth):
(WebCore::NetworkInfoClientEfl::metered):
* WebCoreSupport/NetworkInfoClientEfl.h:
(NetworkInfoClientEfl):

Tools:

* efl/jhbuild.modules: Add eeze library dependency.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Missing implementation of textInputController.setComposition() causes bot redness
https://bugs.webkit.org/show_bug.cgi?id=89845

* platform/mac/Skipped: Skip fast/forms/input-set-composition-scroll.html

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] RenderPass textures are evicted at the end of every frame
https://bugs.webkit.org/show_bug.cgi?id=89786

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

Source/WebCore:

Removed calls to TextureManager::reduceMemoryToLimit inside
finishDrawingFrame() method.

Added unit tests to verify new behavior.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::finishDrawingFrame):

Source/WebKit/chromium:

Added unit tests to verify large textures are staying in memory
and available for render pass optimization.

* tests/CCLayerTreeHostImplTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unused constant timeWithoutMouseMovementBeforeHidingControls
https://bugs.webkit.org/show_bug.cgi?id=89823

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-06-25
Reviewed by Daniel Bates.

After r87692, timeWithoutMouseMovementBeforeHidingControls is not used anymore.

* html/HTMLMediaElement.cpp:
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unused static function shadowFor
https://bugs.webkit.org/show_bug.cgi?id=89824

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-06-25
Reviewed by Daniel Bates.

shadowFor is not used anymore after r117796. No behaviour changes.

* dom/TreeScopeAdopter.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121174 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fast path for simple transform parsing
https://bugs.webkit.org/show_bug.cgi?id=89898

Reviewed by Anders Carlsson.

When manipulating transforms using script, the transform value parsing can show up in profiles pretty heavily 
(up 4% in some cases). We can optimize it easily by implementing a fast path that does not spin up the full CSS
parser, like we already do for several other common value types.
        
The patch implements a fast path for transform(), transformX/Y/Z() and transform3D(). It speeds up parsing by >5x.

* css/CSSParser.cpp:
(WebCore):
(WebCore::parseTransformArguments):
(WebCore::parseTransformValue):
(WebCore::CSSParser::parseValue):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121175 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/Platform: Plumb Scrollbar button dimensions through WebThemeEngine
https://bugs.webkit.org/show_bug.cgi?id=89264

Patch by Scott Graham <scottmg@chromium.org> on 2012-06-25
Reviewed by James Robinson.

Rather than making the height of the scrollbar buttons the same as the
width of the scrollbar, delegate to the WebThemeEngine. This allows
matching the Aura theme rather than the standard Windows theme.

* chromium/public/win/WebThemeEngine.h:
(WebKit):
(WebThemeEngine):

Source/WebCore: Plumb Scrollbar button dimensions down to WebThemeEngine
https://bugs.webkit.org/show_bug.cgi?id=89264

Patch by Scott Graham <scottmg@chromium.org> on 2012-06-25
Reviewed by James Robinson.

Rather than making the height of the scrollbar buttons the same as the
width of the scrollbar, delegate to the WebThemeEngine. This allows
matching the Aura theme rather than the standard Windows theme.

No new tests, as bounds are overridden for DRT.

* platform/chromium/PlatformSupport.h:
(PlatformSupport):
* platform/chromium/ScrollbarThemeChromiumWin.cpp:
(WebCore::ScrollbarThemeChromiumWin::buttonSize):

Source/WebKit/chromium: Plumb Scrollbar button dimensions down to WebThemeEngine
https://bugs.webkit.org/show_bug.cgi?id=89264

Patch by Scott Graham <scottmg@chromium.org> on 2012-06-25
Reviewed by James Robinson.

Rather than making the height of the scrollbar buttons the same as the
width of the scrollbar, delegate to the WebThemeEngine. This allows
matching the Aura theme rather than the standard Windows theme.

* src/PlatformSupport.cpp:
(WebCore::PlatformSupport::getThemePartSize):
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121176 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Layer chromium should need a redraw after getting its first non-empty bounds.
https://bugs.webkit.org/show_bug.cgi?id=89784

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

Previously, we'd only set needs redraw if the old bounds were zero,
and the new bounds were non-zero, but we should actually have
checked that the old bounds were non-empty.

Source/WebCore:

Unit test: LayerChromiumTestWithoutFixture.setBoundsTriggersSetNeedsRedrawAfterGettingNonEmptyBounds

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setBounds):

Source/WebKit/chromium:

* tests/LayerChromiumTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Texmap] TextureMapperPaintOptions should keep current surface.
https://bugs.webkit.org/show_bug.cgi?id=89266

Source/WebCore:

Before this patch, if a replica layer has a descendant replica child, the child
layer does not render the result in the parent layer's surface because
TextureMapperPaintOptions does not keep current surface.
This patch amends that TextureMapperPaintOptions keeps current surface before
calling paintSelfAndChildrenWithReplica recursively, so previous surface could be
restored after paintSelfAndChildrenWithReplica.

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

Test: compositing/reflections/animation-inside-reflection.html

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintRecursive):

LayoutTests:

Add a opacity property to two div layers in animation-insiVde-reflection
test.
Texmap has a bug when a transparent reflection layer has another
transparent reflection layer, so two reflection layer in
animation-inside-reflection test have opacity in order to cover Texmap's
bug.

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

* compositing/reflections/animation-inside-reflection.html:
* platform/chromium-linux/compositing/reflections/animation-inside-reflection-expected.png:
* platform/chromium-mac-leopard/compositing/reflections/animation-inside-reflection-expected.png:
* platform/chromium-mac-snowleopard/compositing/reflections/animation-inside-reflection-expected.png:
* platform/chromium-mac/compositing/reflections/animation-inside-reflection-expected.png:
* platform/chromium-win/compositing/reflections/animation-inside-reflection-expected.png:
* platform/efl/compositing/reflections/animation-inside-reflection-expected.png:
* platform/mac-snowleopard/compositing/reflections/animation-inside-reflection-expected.png:
* platform/qt/compositing/reflections/animation-inside-reflection-expected.png: Added.
* platform/qt/compositing/reflections/animation-inside-reflection-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121179 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Add support for building with ENABLE_MEDIA_STREAM
https://bugs.webkit.org/show_bug.cgi?id=88413

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-06-25
Reviewed by Dirk Pranke.

Add files which are needed for supporting the Media Stream
feature.

No change in functionality so no new tests.

* PlatformEfl.cmake:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121180 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] add empty impl of WebThemeEngine::getSize() for DRT
https://bugs.webkit.org/show_bug.cgi?id=89907

Not reviewed. Fix build in Chromium.

Patch by Scott Graham <scottmg@chromium.org> on 2012-06-25

* DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp:
(WebThemeEngineDRTWin::getSize):
* DumpRenderTree/chromium/WebThemeEngineDRTWin.h:
(WebThemeEngineDRTWin):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add layout tests for audio codecs
https://bugs.webkit.org/show_bug.cgi?id=88794

Patch by Raymond Toy <rtoy@google.com> on 2012-06-25
Reviewed by Chris Rogers.

New tests and expected results
* webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
* webaudio/codec-tests/aac/vbr-128kbps-44khz.html: Added.
* webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
* webaudio/codec-tests/mp3/128kbps-44khz.html: Added.
* webaudio/codec-tests/vorbis/vbr-128kbps-44khz-expected.wav: Added.
* webaudio/codec-tests/vorbis/vbr-128kbps-44khz.html: Added.
* webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav: Added.
* webaudio/codec-tests/vorbis/vbr-70kbps-44khz.html: Added.
* webaudio/codec-tests/vorbis/vbr-96kbps-44khz-expected.wav: Added.
* webaudio/codec-tests/vorbis/vbr-96kbps-44khz.html: Added.
* webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Added.
* webaudio/codec-tests/wav/24bit-22khz-resample.html: Added.
* webaudio/codec-tests/wav/24bit-44khz-expected.wav: Added.
* webaudio/codec-tests/wav/24bit-44khz.html: Added.
* webaudio/resources/audio-codec-test.js: Added.
(runDecodingTest):
(finishedLoading):

Media files for the tests
* webaudio/resources/media/128kbps-44khz.mp3: Added.
* webaudio/resources/media/24bit-22khz.wav: Added.
* webaudio/resources/media/24bit-44khz.wav: Added.
* webaudio/resources/media/vbr-128kbps-44khz.m4a: Added.
* webaudio/resources/media/vbr-128kbps-44khz.ogg: Added.
* webaudio/resources/media/vbr-70kbps-44khz.ogg: Added.
* webaudio/resources/media/vbr-96kbps-44khz.ogg: Added.

Platform-specific expected results
* platform/chromium-linux/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
* platform/chromium-linux/webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
* platform/chromium-linux/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Added.
* platform/chromium-mac/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
* platform/chromium-mac/webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
* platform/chromium-win/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
* platform/chromium-win/webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
* platform/chromium-win/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Added.

New test expectations
* platform/chromium/TestExpectations: Disable aac/mp3 tests until bots have support.
* platform/efl/TestExpectations: Disable all webaudio codec tests
* platform/gtk/TestExpectations: Disable all webaudio codec tests
* platform/mac/TestExpectations: Disable all webaudio codec tests
* platform/qt/TestExpectations: Disable all webaudio codec tests

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Remove unused backend property accessors
https://bugs.webkit.org/show_bug.cgi?id=89893

Reviewed by Darin Fisher.

Source/WebCore:

Following the "metadata" API addition in trac.webkit.org/changeset/121059
the IDBXXXBackendInterface types no longer need per-property accessors.

No new tests - no functional changes.

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Remove method implementation.
* Modules/indexeddb/IDBDatabaseBackendImpl.h: Remove methods.
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseBackendInterface.h: Remove methods.
(IDBDatabaseBackendInterface):
* Modules/indexeddb/IDBIndexBackendImpl.h: Make methods simple accessors.
(IDBIndexBackendImpl):
(WebCore::IDBIndexBackendImpl::name):
(WebCore::IDBIndexBackendImpl::keyPath):
(WebCore::IDBIndexBackendImpl::unique):
(WebCore::IDBIndexBackendImpl::multiEntry):
* Modules/indexeddb/IDBIndexBackendInterface.h: Remove methods.
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Remove method implementation.
* Modules/indexeddb/IDBObjectStoreBackendImpl.h: Make methods simple accessors.
(IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::name):
(WebCore::IDBObjectStoreBackendImpl::keyPath):
(WebCore::IDBObjectStoreBackendImpl::autoIncrement):
* Modules/indexeddb/IDBObjectStoreBackendInterface.h: Remove methods.

Source/WebKit/chromium:

Following the "metadata" API addition in trac.webkit.org/changeset/121059
per-property accessors can be removed from the Chromium WebKit API.

* src/WebIDBDatabaseImpl.cpp: Removed name, version, objectStoreNames.
* src/WebIDBDatabaseImpl.h:
(WebIDBDatabaseImpl):
* src/WebIDBIndexImpl.cpp: Removed name, keyPath, unique, multiEntry.
* src/WebIDBIndexImpl.h:
(WebIDBIndexImpl):
* src/WebIDBObjectStoreImpl.cpp: Removed name, keyPath, autoIncrement, indexNames.
* src/WebIDBObjectStoreImpl.h:
(WebIDBObjectStoreImpl):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use InterpolationLow on chromium-android
https://bugs.webkit.org/show_bug.cgi?id=89849

Reviewed by Daniel Bates.

Source/WebCore:

Min Qin writes:

  Using InterpolationHigh is very very expensive when resampling
  images.  For example, it took 1400ms to decode an image on
  http://www.crossfitsunnyvale.com/blog/, but it took 2800 ms to do the
  resampling Switch to InterpolationLow will result in linear
  resampling. It is much faster as the time it tooks is almost
  non-noticable [sic] on the trace.

* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::State):

Source/WTF:

Introduce a USE macro to control image interpolation quality.

* wtf/Platform.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Stub out new onSuccess() handler for chromium
https://bugs.webkit.org/show_bug.cgi?id=89895

This is the chromium side of a refactor which will
introduce an onSuccess() method which includes the raw
SerializedScriptValue to the frontend, so the primaryKey
injection can happen in the front end, rather than
the V8 helper process.

Patch by Alec Flett <alecflett@chromium.org> on 2012-06-25
Reviewed by Darin Fisher.

* public/WebIDBCallbacks.h:
(WebKit):
(WebKit::WebIDBCallbacks::onSuccess):
* src/IDBCallbacksProxy.cpp:
(WebKit::IDBCallbacksProxy::onSuccess):
* src/IDBCallbacksProxy.h:
(IDBCallbacksProxy):
* src/WebIDBCallbacksImpl.cpp:
(WebKit::WebIDBCallbacksImpl::onSuccess):
(WebKit):
* src/WebIDBCallbacksImpl.h:
(WebIDBCallbacksImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Roll Chromium DEPS to r144020
https://bugs.webkit.org/show_bug.cgi?id=89912

Build fixed now! Unreviewed.

Rolled DEPS to fix chromium build.
Patch by Scott Graham <scottmg@chromium.org>.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r121129.
http://trac.webkit.org/changeset/121129
https://bugs.webkit.org/show_bug.cgi?id=89542

Chromium ASan failure: crbug.com/134402

Source/WebCore:

* css/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore):
(WebCore::CSSParser::detectDashToken):
(WebCore::CSSParser::lex):
* css/CSSParser.h:
(CSSParser):
* css/CSSParserMode.h:
(CSSParserContext):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* page/Settings.h:
(Settings):
* testing/InternalSettings.cpp:
* testing/InternalSettings.h:
(InternalSettings):
* testing/InternalSettings.idl:

Source/WebKit/chromium:

* features.gypi:
* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
* src/WebSettingsImpl.h:
(WebSettingsImpl):

LayoutTests:

* fast/css/variables/border-width.html:
* fast/css/variables/build-supports-variables-expected.txt: Removed.
* fast/css/variables/build-supports-variables.html: Removed.
* fast/css/variables/colors-test.html:
* fast/css/variables/complex-cycle.html:
* fast/css/variables/computed-style.html:
* fast/css/variables/inherited-values.html:
* fast/css/variables/inline-styles.html:
* fast/css/variables/invalid-shorthand.html:
* fast/css/variables/invalid-variable-value.html:
* fast/css/variables/multi-level-cycle.html:
* fast/css/variables/redefinition.html:
* fast/css/variables/shorthand.html:
* fast/css/variables/simple-cycle.html:
* fast/css/variables/transform-test.html:
* fast/css/variables/undefined.html:
* fast/css/variables/use-before-defined.html:
* fast/css/variables/var-inside-shorthand.html:
* fast/css/variables/variable-chain.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mac bot gardening.
https://bugs.webkit.org/show_bug.cgi?id=89611

* platform/mac-wk2/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r121137.
http://trac.webkit.org/changeset/121137

Chromium build fix, (un)touch files to build on Chromium Win
Release

* css/CSSParserMode.h:
* css/CSSValue.h:
(WebCore):
* css/CSSVariableValue.h:
* page/Settings.h:
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareInheritedData.h:
* rendering/style/StyleVariableData.h:

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