[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
Unreviewed, rolling out r121178.
http://trac.webkit.org/changeset/121178
https://bugs.webkit.org/show_bug.cgi?id=89784

New unit test added is failing on WebKit Linux (dbg)

Source/WebCore:

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

Source/WebKit/chromium:

* tests/LayerChromiumTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix for a memory leak with MHTMLArchives.

MHTML files present a flat list of frames and resources but the WebKit Archive
has a tree strcture. So the MHTMLArchive class make sures that every frame
knows about any other frames and resources.
Because these objects are ref counted, that would introduce circular references
preventing the entire Archive from being deleted.
This fixes this by:
- making sure the top-frame (which appears as the first entry in the MHTML) is
  not referenced by the other frames.
- when the main frame is deleted it traverse the entire subarchive (sub-frames)
  graph and makes sure they clear all their references to other subarchives.

https://bugs.webkit.org/show_bug.cgi?id=88470

Reviewed by Adam Barth.

* loader/archive/Archive.cpp:
(WebCore::Archive::clearAllSubframeArchives):
(WebCore):
(WebCore::Archive::clearAllSubframeArchivesImpl):
* loader/archive/Archive.h:
(Archive):
* loader/archive/mhtml/MHTMLArchive.cpp:
(WebCore::MHTMLArchive::~MHTMLArchive):
(WebCore):
(WebCore::MHTMLArchive::create):
* loader/archive/mhtml/MHTMLArchive.h:
(MHTMLArchive):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fixing compilation failure in StyleResolver.cpp/CSSParser.cpp
https://bugs.webkit.org/show_bug.cgi?id=89892

Patch by Mike West <mkwst@chromium.com> on 2012-06-25
Reviewed by Alexis Menard.

Adding CSSPropertyVariable to switch statements in CSSParser and
StyleResolver to fix compilation errors under ninja/clang. I've
added both as new cases to the switches, with FIXME comments for
implementation.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Build fix.

Rebaseline layout test expectations from r121179.

* platform/chromium-linux/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:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121193 268f45cc-cd09-0410-ab3c-d52691b4dbfc
remove support for chromium vista from tools
https://bugs.webkit.org/show_bug.cgi?id=89915

Reviewed by Tony Chang.

Tools:

This change is all deleting code and updating tests to handle
the configuration being gone. All tests now pass except for a
few unittests for the flakiness dashboard which were failing
before this patch.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
* Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
(BaselineOptimizerTest.test_complex_shadowing):
* Scripts/webkitpy/layout_tests/port/builders.py:
* Scripts/webkitpy/layout_tests/port/chromium.py:
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
* Scripts/webkitpy/layout_tests/port/chromium_win.py:
(ChromiumWinPort):
* Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
(ChromiumWinTest.test_versions):
(ChromiumWinTest.test_baseline_path):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
(BuildCoverageExtrapolatorTest.test_extrapolate):

LayoutTests:

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
EventSource: Events should not be dispatched after close()
https://bugs.webkit.org/show_bug.cgi?id=85346

Patch by Pablo Flouret <pablof@motorola.com> on 2012-06-25
Reviewed by Adam Barth.

Source/WebCore:

Spec changed to make sure that no events are dispatched after close() is
called, even if more data was received before the call to close().

See,
https://www.w3.org/Bugs/Public/show_bug.cgi?id=14331#c5
http://html5.org/tools/web-apps-tracker?from=6771&to=6772

Firefox behaves like this already.

Test: http/tests/eventsource/eventsource-events-after-close.html

* page/EventSource.cpp:
(WebCore::EventSource::parseEventStream):

LayoutTests:

* http/tests/eventsource/eventsource-events-after-close-expected.txt: Added.
* http/tests/eventsource/eventsource-events-after-close.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Add JSC statistics into about:memory
https://bugs.webkit.org/show_bug.cgi?id=89779

Patch by Yong Li <yoli@rim.com> on 2012-06-25
Reviewed by Rob Buis.

Source/JavaScriptCore:

Add MemoryStatistics.cpp into build, and fill JITBytes for BlackBerry port.

* PlatformBlackBerry.cmake:
* runtime/MemoryStatistics.cpp:
(JSC::globalMemoryStatistics):

Source/WebKit/blackberry:

Add detailed JS memory statistics to about:memory page.

* WebCoreSupport/AboutData.cpp:
(WebCore::dumpJSCTypeCountSetToTableHTML):
(WebCore):
(WebCore::memoryPage):

Source/WTF:

Turn on WTF_USE_EXPORT_MACROS for BlackBerry port.
This will make macros like JS_EXPORT_PRIVATE work without
extra porting.

* wtf/Platform.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Add a chromium-webkit API to create a serializable file system.
https://bugs.webkit.org/show_bug.cgi?id=89776

In order to send a DOMFileSystem as part of WebIntent payload data it
should be serializable. Therefore, I added an API that allows us to
create serializable file system in chromium code.

Patch by Kausalya Madhusudhanan <kmadhusu@chromium.org> on 2012-06-25
Reviewed by Adam Barth.

* public/WebFrame.h:
(WebFrame):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::createSerializableFileSystem):
(WebKit):
* src/WebFrameImpl.h:
(WebFrameImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121197 268f45cc-cd09-0410-ab3c-d52691b4dbfc
update flakiness dashboard after removing chromium-vista bots
https://bugs.webkit.org/show_bug.cgi?id=89925

Unreviewed, build fix.

More changes missed in r121194 :(.

* TestResultServer/static-dashboards/flakiness_dashboard.js:
(chromiumPlatform):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
(test):

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