diff options
author | levin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-07 06:32:56 +0000 |
---|---|---|
committer | levin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-07 06:32:56 +0000 |
commit | 3f544972eef20fe7843edaf4c50495324eb726d0 (patch) | |
tree | 8bea9c07b8bfb1af6390f5d369fb1a9ab547b403 | |
parent | 6e07be78163c534e1ac425104ad8d47042b5d116 (diff) | |
download | chromium_src-3f544972eef20fe7843edaf4c50495324eb726d0.zip chromium_src-3f544972eef20fe7843edaf4c50495324eb726d0.tar.gz chromium_src-3f544972eef20fe7843edaf4c50495324eb726d0.tar.bz2 |
Webkit roll: 49213:49221
Disabled newly added test for object cloning.
TEST=try servers
BUG=24063
Review URL: http://codereview.chromium.org/263005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28238 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | DEPS | 2 | ||||
-rw-r--r-- | webkit/api/src/PlatformMessagePortChannel.cpp | 6 | ||||
-rw-r--r-- | webkit/glue/webworker_impl.cc | 10 | ||||
-rw-r--r-- | webkit/glue/webworker_impl.h | 2 | ||||
-rw-r--r-- | webkit/glue/webworkerclient_impl.cc | 14 | ||||
-rw-r--r-- | webkit/glue/webworkerclient_impl.h | 2 | ||||
-rw-r--r-- | webkit/tools/layout_tests/test_expectations.txt | 4 |
7 files changed, 28 insertions, 12 deletions
@@ -1,7 +1,7 @@ vars = { "webkit_trunk": "http://svn.webkit.org/repository/webkit/trunk", - "webkit_revision": "49213", + "webkit_revision": "49221", "ffmpeg_revision": "27457", } diff --git a/webkit/api/src/PlatformMessagePortChannel.cpp b/webkit/api/src/PlatformMessagePortChannel.cpp index ee67806..dda7c31 100644 --- a/webkit/api/src/PlatformMessagePortChannel.cpp +++ b/webkit/api/src/PlatformMessagePortChannel.cpp @@ -38,6 +38,7 @@ #include "MessagePort.h" #include "ScriptExecutionContext.h" +#include "SerializedScriptValue.h" using namespace WebKit; @@ -178,7 +179,7 @@ void PlatformMessagePortChannel::postMessageToRemote(PassOwnPtr<MessagePortChann if (!m_localPort || !m_webChannel) return; - WebString messageString = message->message(); + WebString messageString = message->message()->toString(); OwnPtr<WebCore::MessagePortChannelArray> channels = message->channels(); WebMessagePortChannelArray* webChannels = NULL; if (channels.get() && channels->size()) { @@ -210,7 +211,8 @@ bool PlatformMessagePortChannel::tryGetMessageFromRemote(OwnPtr<MessagePortChann (*channels)[i] = MessagePortChannel::create(platformChannel); } } - result = MessagePortChannel::EventData::create(message, channels.release()); + RefPtr<SerializedScriptValue> serializedMessage = SerializedScriptValue::create(message); + result = MessagePortChannel::EventData::create(serializedMessage.release(), channels.release()); } return rv; diff --git a/webkit/glue/webworker_impl.cc b/webkit/glue/webworker_impl.cc index 2648341..a2e70c4 100644 --- a/webkit/glue/webworker_impl.cc +++ b/webkit/glue/webworker_impl.cc @@ -15,6 +15,7 @@ #include "MessagePortChannel.h" #include "ScriptExecutionContext.h" #include "SecurityOrigin.h" +#include "SerializedScriptValue.h" #include "SubstituteData.h" #include <wtf/MainThread.h> #include <wtf/Threading.h> @@ -123,8 +124,11 @@ void WebWorkerImpl::PostMessageToWorkerContextTask( WTF::OwnPtr<WebCore::MessagePortArray> ports = WebCore::MessagePort::entanglePorts(*context, channels.release()); + WTF::RefPtr<WebCore::SerializedScriptValue> serialized_message = + WebCore::SerializedScriptValue::create(message); worker_context->dispatchEvent( - WebCore::MessageEvent::create(ports.release(), message)); + WebCore::MessageEvent::create(ports.release(), + serialized_message.release())); this_ptr->confirmMessageFromWorkerObject( worker_context->hasPendingActivity()); @@ -229,12 +233,12 @@ void WebWorkerImpl::InvokeTaskMethod(void* param) { // WorkerObjectProxy ----------------------------------------------------------- void WebWorkerImpl::postMessageToWorkerObject( - const WebCore::String& message, + WTF::PassRefPtr<WebCore::SerializedScriptValue> message, WTF::PassOwnPtr<WebCore::MessagePortChannelArray> channels) { DispatchTaskToMainThread(WebCore::createCallbackTask( &PostMessageTask, this, - message, + message->toString(), channels)); } diff --git a/webkit/glue/webworker_impl.h b/webkit/glue/webworker_impl.h index 321334f..165b35d 100644 --- a/webkit/glue/webworker_impl.h +++ b/webkit/glue/webworker_impl.h @@ -34,7 +34,7 @@ class WebWorkerImpl: public WebCore::WorkerObjectProxy, // WebCore::WorkerObjectProxy methods: virtual void postMessageToWorkerObject( - const WebCore::String& message, + WTF::PassRefPtr<WebCore::SerializedScriptValue> message, WTF::PassOwnPtr<WebCore::MessagePortChannelArray> channels); virtual void postExceptionToWorkerObject( const WebCore::String& error_message, diff --git a/webkit/glue/webworkerclient_impl.cc b/webkit/glue/webworkerclient_impl.cc index 8df7175..2c87325 100644 --- a/webkit/glue/webworkerclient_impl.cc +++ b/webkit/glue/webworkerclient_impl.cc @@ -154,7 +154,7 @@ void WebWorkerClientImpl::terminateWorkerContext() { } void WebWorkerClientImpl::postMessageToWorkerContext( - const WebCore::String& message, + WTF::PassRefPtr<WebCore::SerializedScriptValue> message, WTF::PassOwnPtr<WebCore::MessagePortChannelArray> channels) { // Worker.terminate() could be called from JS before the context is started. if (asked_to_terminate_) @@ -165,7 +165,10 @@ void WebWorkerClientImpl::postMessageToWorkerContext( if (!WTF::isMainThread()) { WebWorkerImpl::DispatchTaskToMainThread( WebCore::createCallbackTask( - &PostMessageToWorkerContextTask, this, message, channels)); + &PostMessageToWorkerContextTask, + this, + message->toString(), + channels)); return; } @@ -179,7 +182,7 @@ void WebWorkerClientImpl::postMessageToWorkerContext( } webworker_->postMessageToWorkerContext( - webkit_glue::StringToWebString(message), webchannels); + webkit_glue::StringToWebString(message->toString()), webchannels); } bool WebWorkerClientImpl::hasPendingActivity() const { @@ -349,8 +352,11 @@ void WebWorkerClientImpl::PostMessageToWorkerObjectTask( if (this_ptr->worker_) { WTF::OwnPtr<WebCore::MessagePortArray> ports = WebCore::MessagePort::entanglePorts(*context, channels.release()); + WTF::RefPtr<WebCore::SerializedScriptValue> serialized_message = + WebCore::SerializedScriptValue::create(message); this_ptr->worker_->dispatchEvent( - WebCore::MessageEvent::create(ports.release(), message)); + WebCore::MessageEvent::create(ports.release(), + serialized_message.release())); } } diff --git a/webkit/glue/webworkerclient_impl.h b/webkit/glue/webworkerclient_impl.h index 8c75377..cb7938c 100644 --- a/webkit/glue/webworkerclient_impl.h +++ b/webkit/glue/webworkerclient_impl.h @@ -44,7 +44,7 @@ class WebWorkerClientImpl : public WebCore::WorkerContextProxy, const WebCore::String& source_code); virtual void terminateWorkerContext(); virtual void postMessageToWorkerContext( - const WebCore::String& message, + WTF::PassRefPtr<WebCore::SerializedScriptValue> message, WTF::PassOwnPtr<WebCore::MessagePortChannelArray> channels); virtual bool hasPendingActivity() const; virtual void workerObjectDestroyed(); diff --git a/webkit/tools/layout_tests/test_expectations.txt b/webkit/tools/layout_tests/test_expectations.txt index afa41c8..192fc37 100644 --- a/webkit/tools/layout_tests/test_expectations.txt +++ b/webkit/tools/layout_tests/test_expectations.txt @@ -3074,3 +3074,7 @@ BUG23972 WIN : LayoutTests/fast/forms/form-element-geometry.html = CRASH PASS // Flaky timeouts first appearing at r27764 (webkit 48947) BUG9798 LINUX MAC : LayoutTests/http/tests/cookies/multiple-cookies.html = TIMEOUT PASS + +// WebKit update: 49213:49221 +BUG24063 : LayoutTests/fast/dom/Window/window-postmessage-clone.html = FAIL + |