[chromium] Turn the debug HUD into a layer so that it can be drawn as a WebCompositorQuad
https://bugs.webkit.org/show_bug.cgi?id=92182

Reviewed by Adrienne Walker.

Source/WebCore:

By changing the HUD into a quad, we are able to create a HUD and pass
it to the host compositor, allowing the HUD to be used for renderers
under Ubercompositor.

This also removes the special drawing code for the HUD from
LayerRendererChromium, allowing us to move finishDrawingFrame
into LayerRendererChromium as a private method and remove it
from the CCRenderer interface.

Finally, we can remove the CCFontAtlas transport code from CCProxy
and its implementations as the atlas can be synced to impl thread
through the usual layer commit mechanism.

The debug HUD is not covered by tests.

* WebCore.gypi:
* platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp: Added.
(WebCore):
(WebCore::HeadsUpDisplayLayerChromium::create):
(WebCore::HeadsUpDisplayLayerChromium::HeadsUpDisplayLayerChromium):
(WebCore::HeadsUpDisplayLayerChromium::~HeadsUpDisplayLayerChromium):
(WebCore::HeadsUpDisplayLayerChromium::createCCLayerImpl):
* platform/graphics/chromium/HeadsUpDisplayLayerChromium.h: Added.
(WebCore):
(HeadsUpDisplayLayerChromium):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawFrame):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
(WebCore::CCDebugRectHistory::savePropertyChangedRects):
* platform/graphics/chromium/cc/CCDebugRectHistory.h:
* platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp.
(WebCore):
(WebCore::CCHeadsUpDisplayLayerImpl::CCHeadsUpDisplayLayerImpl):
(WebCore::CCHeadsUpDisplayLayerImpl::~CCHeadsUpDisplayLayerImpl):
(WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
(WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
(WebCore::CCHeadsUpDisplayLayerImpl::didDraw):
(WebCore::CCHeadsUpDisplayLayerImpl::didLoseContext):
(WebCore::CCHeadsUpDisplayLayerImpl::drawHudContents):
(WebCore::CCHeadsUpDisplayLayerImpl::drawFPSCounter):
(WebCore::CCHeadsUpDisplayLayerImpl::drawFPSCounterText):
(WebCore::CCHeadsUpDisplayLayerImpl::drawDebugRects):
* platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.h.
(WebCore):
(CCHeadsUpDisplayLayerImpl):
(WebCore::CCHeadsUpDisplayLayerImpl::create):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::layerIsAlwaysDamaged):
This flag is used to mark the HUD as always damaged, so that it is
continually drawn on the impl thread. It is also used as a hint by
the CCDebugRectHistory class to not include the layer in the display
of damage, since always damaged is not interesting damage.
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::create):
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::willCommit):
(WebCore::CCLayerTreeHost::didCommit):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeSettings):
(WebCore::CCLayerTreeSettings::showDebugInfo):
(WebCore::CCLayerTreeSettings::showDebugRects):
(CCLayerTreeHost):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::drawLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore):
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
* platform/graphics/chromium/cc/CCRenderer.h:
(CCRenderer):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):

Source/WebKit/chromium:

* tests/LayerRendererChromiumTest.cpp:
(TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] WebViewBenchmarkSupport::paint API does not work with recording canvas
https://bugs.webkit.org/show_bug.cgi?id=92008

Reviewed by Darin Fisher.

Moved the ownership of canvas to WebViewBenchmarkSupport::PaintClient.

* public/WebViewBenchmarkSupport.h:
(PaintClient):
(WebKit::WebViewBenchmarkSupport::PaintClient::willPaint):
(WebKit::WebViewBenchmarkSupport::PaintClient::didPaint):
* src/WebViewBenchmarkSupportImpl.cpp:
(WebKit::WebViewBenchmarkSupportImpl::paintLayer):
(WebKit::WebViewBenchmarkSupportImpl::softwarePaint):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed chromium expectations change to mark tests as slow.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2][WTR] Alt, Shift and Ctrl keys are not handled by EventSenderProxy.
https://bugs.webkit.org/show_bug.cgi?id=92241

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-07-25
Reviewed by Kenneth Rohde Christiansen.

Alt, Shift and Ctrl keys were not handled by EventSenderProxy.
It caused failure of fast/events/keydown-leftright-keys.html test.

* WebKitTestRunner/efl/EventSenderProxyEfl.cpp: Added handling of Alt, Shift and Ctrl keys.
(WTR::keyName):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash when a web page is closed with outstanding scrolling thread barriers
https://bugs.webkit.org/show_bug.cgi?id=92280
<rdar://problem/11630200>

Reviewed by Andreas Kling.

There was a check in forceRepaintAsync to handle the drawing area going away before the block had
been invoked,  but this check needs to be done earlier (as the FIXME suggested).
Move this check to dispatchAfterEnsuringUpdatedScrollPosition instead.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
r123492 Changed output of msub-anonymous-child-render-crash.html LayoutTest
https://bugs.webkit.org/show_bug.cgi?id=92284

Rubber-stamped by Beth Dakin.

Rebaselined test output.

* mathml/msub-anonymous-child-render-crash-expected.txt:
r123492 changed the way inline-tables are rendered.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Add more jsdocs to InjectedScriptSource.js
https://bugs.webkit.org/show_bug.cgi?id=92255

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

* inspector/InjectedScriptSource.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2][WTR] LayoutTestController.sendWebIntentResponse() needs to be implemented
https://bugs.webkit.org/show_bug.cgi?id=92227

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-25
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Add new InjectedBundleIntentRequest class to wrap WebCore's
IntentRequest and use it in InjectedBundle's
didReceiveIntentForFrame callback. The WebKitTestRunner needs
to be able to reply to a Web intent request in order to
implement LayoutTestController.sendWebIntentResponse(). As
a consequence, passing a WebIntentData type in not enough.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/API/c/WKBase.h:
* Shared/APIObject.h:
* Shared/IntentData.cpp:
(WebKit::IntentData::IntentData):
(WebKit):
* Shared/IntentData.h:
(WebCore):
(WebKit::IntentData::IntentData):
(IntentData):
* Target.pri:
* WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
(WebKit):
* WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp: Copied from Source/WebKit2/Shared/IntentData.cpp.
(WKBundleIntentRequestGetTypeID):
(WKBundleIntentRequestCopyIntent):
(WKBundleIntentRequestPostResult):
(WKBundleIntentRequestPostFailure):
* WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h: Copied from Source/WebKit2/Shared/IntentData.h.
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp: Copied from Source/WebKit2/Shared/IntentData.cpp.
(WebKit):
(WebKit::InjectedBundleIntentRequest::create):
(WebKit::InjectedBundleIntentRequest::InjectedBundleIntentRequest):
(WebKit::InjectedBundleIntentRequest::postResult):
(WebKit::InjectedBundleIntentRequest::postFailure):
(WebKit::InjectedBundleIntentRequest::intent):
* WebProcess/InjectedBundle/InjectedBundleIntentRequest.h: Copied from Source/WebKit2/Shared/IntentData.h.
(WebCore):
(WebKit):
(InjectedBundleIntentRequest):
(WebKit::InjectedBundleIntentRequest::type):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::didReceiveIntentForFrame):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
(WebKit):
(InjectedBundlePageLoaderClient):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchIntent):

Tools:

Implement LayoutTestController.sendWebIntentResponse() so
that a test case can reply to a Web intent request and
test this functionality.

In order to support this functionality, we need to keep
a pointer to the current intent request in
InjectedBundlePage::didReceiveIntentForFrame() so that
we can reuse it later in
LayoutTestController::sendWebIntentResponse().

The following tests need this functionality:
- webintents/web-intents-failure.html
- webintents/web-intents-reply.html

* WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didReceiveIntentForFrame):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
(InjectedBundlePage):
(WTR::InjectedBundlePage::currentIntentRequest):
* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
(WTR::LayoutTestController::sendWebIntentResponse):
(WTR):
* WebKitTestRunner/InjectedBundle/LayoutTestController.h:
(LayoutTestController):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FileSystem should provide a way to delete filesystem.
https://bugs.webkit.org/show_bug.cgi?id=91861

Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-07-25
Reviewed by Adam Barth.

Source/WebCore:

We will add a test when we wire-up the feature to Inspector.

* Modules/filesystem/LocalFileSystem.cpp: Add deleteFileSystem
(WebCore::deleteFileSystem):
(WebCore):
(WebCore::LocalFileSystem::deleteFileSystem):
* Modules/filesystem/LocalFileSystem.h:
(LocalFileSystem):
* platform/AsyncFileSystem.cpp: Add deleteFileSystem
(WebCore):
(WebCore::AsyncFileSystem::deleteFileSystem):
* platform/AsyncFileSystem.h:
(AsyncFileSystem):
* platform/blackberry/AsyncFileSystemBlackBerry.cpp: Add deleteFileSystem
(WebCore::AsyncFileSystem::deleteFileSystem):
(WebCore):
* platform/gtk/AsyncFileSystemGtk.cpp: Add deleteFileSystem
(WebCore::AsyncFileSystem::deleteFileSystem):
(WebCore):

Source/WebKit/chromium:

* public/WebFrameClient.h:
(WebFrameClient):
(WebKit::WebFrameClient::deleteFileSystem):
* src/LocalFileSystemChromium.cpp: Add deleteFileSystem
(WebCore::deleteFileSystemNotAllowed):
(WebCore):
(WebCore::LocalFileSystem::deleteFileSystem):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Refactor CCLayerTreeHostCommon: move root layer special case initialization into internal code.
https://bugs.webkit.org/show_bug.cgi?id=88953

Reviewed by Adrienne Walker.

Source/WebCore:

This is part 1 of trying to reduce the root layer special
case. This tries to reduce the special-ness of the root layer from
the perspective of outside code.

After this patch, code that uses calcDrawTransforms() no longer
needs to initialize the root layer's surface, and no longer needs
to manually append the root layer to the renderSurfaceLayerList.

Unit tests were also updated (much cleaner!) to account for this change.

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::updateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore):
(WebCore::setupRootLayerAndSurfaceForRecursion):
(WebCore::CCLayerTreeHostCommon::calculateDrawTransforms):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
(CCLayerTreeHostCommon):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):

Source/WebKit/chromium:

Unit tests updated to account for the new less-special root layer setup.
  - most test cases just needed to remove root->renderSurface()->setContentBounds(), createRenderSurface(), and renderSurfaceLayerList.append().
  - some test cases originally relied on setting some awkward unconventional bounds of the rootLayer that were different than the rootLayer's renderSurface. these tests are updated.
  - a few minor cleanups otherwise.

* tests/CCDamageTrackerTest.cpp:
(WebKitTests::executeCalculateDrawTransformsAndVisibility):
* tests/CCLayerIteratorTest.cpp:
* tests/CCLayerTreeHostCommonTest.cpp:
* tests/CCOcclusionTrackerTest.cpp:
(WebKitTests::CCOcclusionTrackerTest::calcDrawEtc):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Import more replay performance tests from Mozilla's Tp5 test suite
https://bugs.webkit.org/show_bug.cgi?id=92229

Reviewed by Andreas Kling.

Add more replay tests based on Mozilla's Tp5 test suite [1]. Unfortunately,
we cannot import all URLs because some of them are not archived on archive.org
and others do not replay well on web-page-replay. Nonethless, we're still adding
60+ URLs in this patch.

[1] http://people.mozilla.org/~jmaher/tp5.manifest

* Replay/Chinese: Added.
* Replay/Chinese/chinaz.com.replay: Added.
* Replay/Chinese/www.163.com.replay: Added.
* Replay/Chinese/www.alipay.com.replay: Added.
* Replay/Chinese/www.baidu.com.replay: Added.
* Replay/Chinese/www.csdn.net.replay: Added.
* Replay/Chinese/www.douban.com.replay: Added.
* Replay/Chinese/www.hao123.com.replay: Added.
* Replay/Chinese/www.xinhuanet.com.replay: Added.
* Replay/Chinese/www.xunlei.com.replay: Added.
* Replay/Chinese/www.youku.com.replay: Added.
* Replay/English: Added.
* Replay/English/beatonna.livejournal.com.replay: Added.
* Replay/English/cakewrecks.blogspot.com.replay: Added.
* Replay/English/chemistry.about.com.replay: Added.
* Replay/English/digg.com.replay: Added.
* Replay/English/en.wikipedia.org-rorschach_test.replay: Added.
* Replay/English/icanhascheezburger.com.replay: Added.
* Replay/English/imgur.com-gallery.replay: Added.
* Replay/English/online.wsj.com.replay: Added.
* Replay/English/stockoverflow.com-best-comment.replay: Added.
* Replay/English/www.alibaba.com.replay: Added.
* Replay/English/www.amazon.com-kindle.replay: Added.
* Replay/English/www.apple.com.replay: Added.
* Replay/English/www.cnet.com.replay: Added.
* Replay/English/www.dailymotion.com.replay: Added.
* Replay/English/www.ehow.com-prevent-fire.replay: Added.
* Replay/English/www.filestube.com-amy-adams.replay: Added.
* Replay/English/www.foxnews.replay: Added.
* Replay/English/www.huffingtonpost.com.replay: Added.
* Replay/English/www.imdb.com-twilight.replay: Added.
* Replay/English/www.mozilla.com-all-order.replay: Added.
* Replay/English/www.php.net.replay: Added.
* Replay/English/www.reddit.com.replay: Added.
* Replay/English/www.telegraph.co.uk.replay: Added.
* Replay/English/www.w3.org-htmlcss.replay: Added.
* Replay/English/www.w3schools.com-html.replay: Added.
* Replay/English/www.youtube.com-music.replay: Added.
* Replay/French: Added.
* Replay/French/www.orange.fr.replay: Added.
* Replay/German: Added.
* Replay/Italian: Added.
* Replay/Italian/www.repubblica.it.replay: Added.
* Replay/Japanese/entameblog.seesaa.net.replay: Added.
* Replay/Japanese/www.hatena.ne.jp.replay: Added.
* Replay/Japanese/www.nicovideo.jp.replay: Added.
* Replay/Korean: Added.
* Replay/Korean/www.naver.com.replay: Added.
* Replay/Persian: Added.
* Replay/Persian/blogfa.com.replay: Added.
* Replay/Polish: Added.
* Replay/Polish/www.wp.pl.replay: Added.
* Replay/Portuguese: Added.
* Replay/Portuguese/www.uol.com.br.replay: Added.
* Replay/Russian: Added.
* Replay/Russian/vkontakte.ru-help.replay: Added.
* Replay/Russian/www.rambler.ru.replay: Added.
* Replay/Russian/www.ucoz.ru.replay: Added.
* Replay/Russian/www.yandex.ru.replay: Added.
* Replay/Spanish: Added.
* Replay/Spanish/www.taringa.net.replay: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123655 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed chromium expectations change.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] fast/borders rebaseline after new test fonts
https://bugs.webkit.org/show_bug.cgi?id=92146

Patch by Luciano Wolf <luciano.wolf@openbossa.org> on 2012-07-25
Reviewed by Csaba Osztrogonác.

Updated patch started by Alexis. This one removes old expected results
found inside qt-5.0 directory and updates Skipped files as well.

* platform/qt-5.0/Skipped:
* platform/qt-5.0/fast/borders/bidi-002-expected.txt: Removed.
* platform/qt-5.0/fast/borders/bidi-009a-expected.txt: Removed.
* platform/qt-5.0/fast/borders/bidi-012-expected.txt: Removed.
* platform/qt/fast/borders/border-image-slice-constrained-expected.txt:
* platform/qt/fast/borders/borderRadiusArcs01-expected.txt:
* platform/qt/fast/borders/borderRadiusDouble01-expected.txt:
* platform/qt/fast/borders/borderRadiusDouble02-expected.txt:
* platform/qt/fast/borders/borderRadiusDouble03-expected.txt:
* platform/qt/fast/borders/borderRadiusGroove01-expected.txt:
* platform/qt/fast/borders/borderRadiusGroove02-expected.txt:
* platform/qt/fast/borders/borderRadiusInset01-expected.txt:
* platform/qt/fast/borders/borderRadiusOutset01-expected.txt:
* platform/qt/fast/borders/borderRadiusRidge01-expected.txt:
* platform/qt/fast/borders/borderRadiusSolid01-expected.txt:
* platform/qt/fast/borders/borderRadiusSolid02-expected.txt:
* platform/qt/fast/borders/borderRadiusSolid03-expected.txt:
* platform/qt/fast/borders/borderRadiusSolid04-expected.txt:
* platform/qt/fast/borders/table-borders-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash when calling PluginView::pluginFocusOrWindowFocusChanged when the web page is null
https://bugs.webkit.org/show_bug.cgi?id=92289
<rdar://problem/11785352>

Reviewed by Andreas Kling.

Plug-in views that outlive their containing web page for various reasons (such as being protected from
destruction) need to null check the web page.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginFocusOrWindowFocusChanged):
(WebKit::PluginView::setComplexTextInputState):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed chromium expectations change.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Update about:config lists
https://bugs.webkit.org/show_bug.cgi?id=92118

Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-07-25
Reviewed by Rob Buis.

Remove features from list that have either been removed from WebKit
or that have been moved from one list to another.

* WebCoreSupport/AboutDataEnableFeatures.in:
* WebCoreSupport/AboutDataHaveFeatures.in:
* WebCoreSupport/AboutDataUseFeatures.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] don't use webkit_support methods directly from test runners but through the test delegate
https://bugs.webkit.org/show_bug.cgi?id=92256

Reviewed by Adam Barth.

This will allow for the content_shell to provide its own implementation
for setting the Gamepad data instead.

* DumpRenderTree/chromium/TestRunner/GamepadController.cpp:
(GamepadController::setDelegate):
(GamepadController::reset):
(GamepadController::connect):
(GamepadController::disconnect):
(GamepadController::setId):
(GamepadController::setButtonCount):
(GamepadController::setButtonData):
(GamepadController::setAxisCount):
(GamepadController::setAxisData):
* DumpRenderTree/chromium/TestRunner/GamepadController.h:
(GamepadController):
* DumpRenderTree/chromium/TestRunner/TestDelegate.h:
(WebKit):
(TestDelegate):
* DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp:
(TestInterfaces::Internal):
(TestInterfaces::Internal::~Internal):
(TestInterfaces::Internal::setDelegate):
(TestInterfaces::setDelegate):
* DumpRenderTree/chromium/TestRunner/TestInterfaces.h:
(TestInterfaces):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::createMainWindow):
(TestShell::~TestShell):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::setGamepadData):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
It is invalid when both numberOfInputChannels and numberOfOutputChannels to be zero in JavaScriptAudioNode.
https://bugs.webkit.org/show_bug.cgi?id=91364

Patch by Li Yin <li.yin@intel.com> on 2012-07-25
Reviewed by Kenneth Russell.

Source/WebCore:

Spec: http://www.w3.org/TR/webaudio/#JavaScriptAudioNode-section
It is invalid for both numberOfInputChannels and numberOfOutputChannels to be zero.

Test: webaudio/javascriptaudionode.html

* Modules/webaudio/JavaScriptAudioNode.cpp:
(WebCore::JavaScriptAudioNode::create):

LayoutTests:

Add tests for (numberOfInputChannels, numberOfOutputChannels) to be (0, 0),(0, 1),(0, 2),(1, 0) and (2, 0).

* webaudio/javascriptaudionode-expected.txt:
* webaudio/javascriptaudionode.html:

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