Unreviewed, rolling out r125444.
http://trac.webkit.org/changeset/125444
https://bugs.webkit.org/show_bug.cgi?id=93872

Broke some tests

Source/JavaScriptCore:

* Target.pri:

Source/WebCore:

* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
(JSC::Bindings::QtRuntimeMethod::jsObjectRef):
* bridge/qt/qt_runtime.h:
(QtRuntimeMethod):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
        https://bugs.webkit.org/show_bug.cgi?id=93883

        Windows build fix.

        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::getSitesWithPluginData):
        (WebKit::WebProcess::clearPluginSiteData):
        Use WebProcessProxy for the message here, too.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r125422.
http://trac.webkit.org/changeset/125422
https://bugs.webkit.org/show_bug.cgi?id=93902

Broke the Android canary build (Requested by fmalita on
#webkit).

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

Source/WebKit/chromium:

* WebKitUnitTests.gyp:

Tools:

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AudioContext::createMediaStreamSource() must create a provider for local MediaStreams
https://bugs.webkit.org/show_bug.cgi?id=93756

Reviewed by Eric Carlson.

There are two main kinds of MediaStreams (local and from remote peers).
Internally we need to know the difference so a MediaStreamAudioSourceNode will "just work".

Tested by existing test: mediastreamaudiosourcenode.html
Full testing can only be verified by manual tests.

* Modules/mediastream/LocalMediaStream.h:
(LocalMediaStream):
* Modules/mediastream/MediaStream.h:
(WebCore::MediaStream::isLocal):
(MediaStream):
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createMediaStreamSource):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
With asynchronous plug-in initialization, WebProcess and PluginProcess can deadlock
<rdar://problem/12062125> and https://bugs.webkit.org/show_bug.cgi?id=93894

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

A few things were in play here:
- The WebProcess thought the plug-in was done initializing but it wasn't.
- The sync message out from the PluginProcess was not being handled by the WebProcess.

Expose the ability for the PluginProcess to act as if it is handling a sync message and needs messages dispatched:
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::incrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount):
(CoreIPC::Connection::decrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount):

* PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::PluginControllerProxy):
(WebKit::PluginControllerProxy::setInitializationReply): Save the delayed reply for synchronous initialization.
(WebKit::PluginControllerProxy::takeInitializationReply): Give back the delayed reply for initialization completion.
(WebKit::PluginControllerProxy::initialize):
* PluginProcess/PluginControllerProxy.h:
(WebKit::PluginControllerProxy::isInitializing): Accessor so WebProcessConnection knows whether or not to store the
  delayed reply for later.

* PluginProcess/WebProcessConnection.messages.in: Make the synchronous form of "CreatePlugin" have a delayed reply.
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::createPlugin): Store away the delayed reply message so it can be responded to after
  asynchronous initialization completes.
(WebKit::WebProcessConnection::createPluginAsynchronously): If there is a stored away delayed reply message, respond to
  it instead of sending the asynchronously reply.
* PluginProcess/WebProcessConnection.h:
(WebProcessConnection):

Tools:

Add a test that calls out to NPP_Evaluate for some JS inside of NPP_New.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp: Added.
(EvaluteJSWithinNPP_New):
(EvaluteJSWithinNPP_New::EvaluteJSWithinNPP_New):
(EvaluteJSWithinNPP_New::NPP_New):

LayoutTests:

* platform/mac-wk2/plugins/asychronous-deadlock-with-timer-and-evaluate-expected.txt: Added.
* platform/mac-wk2/plugins/asychronous-deadlock-with-timer-and-evaluate.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
        https://bugs.webkit.org/show_bug.cgi?id=93883

        More Windows build fix

        * UIProcess/WebContext.cpp:
        (WebKit::WebPage::dummy):
        * UIProcess/WebContext.h: (WebContext):
        * UIProcess/WebContext.messages.in:
        Add a dummy sync message - the same workaround is already used in WebPage.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Oscillator node should throw exception if type is assigned an invalid value
https://bugs.webkit.org/show_bug.cgi?id=93490

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

Source/WebCore:

New tests added to oscillator-basic to catch exceptions.

* Modules/webaudio/Oscillator.cpp:
(WebCore::Oscillator::Oscillator):
(WebCore::Oscillator::setType): Return exception
* Modules/webaudio/Oscillator.h:
(Oscillator): Update setType declaration
* Modules/webaudio/Oscillator.idl: setType can raise exception.

LayoutTests:

Add tests for invalid oscillator types.

* webaudio/oscillator-basic-expected.txt: Updated
* webaudio/oscillator-basic.html: Test CUSTOM and invalid
oscillator type.

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