summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlevin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-07 06:32:56 +0000
committerlevin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-07 06:32:56 +0000
commit3f544972eef20fe7843edaf4c50495324eb726d0 (patch)
tree8bea9c07b8bfb1af6390f5d369fb1a9ab547b403
parent6e07be78163c534e1ac425104ad8d47042b5d116 (diff)
downloadchromium_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--DEPS2
-rw-r--r--webkit/api/src/PlatformMessagePortChannel.cpp6
-rw-r--r--webkit/glue/webworker_impl.cc10
-rw-r--r--webkit/glue/webworker_impl.h2
-rw-r--r--webkit/glue/webworkerclient_impl.cc14
-rw-r--r--webkit/glue/webworkerclient_impl.h2
-rw-r--r--webkit/tools/layout_tests/test_expectations.txt4
7 files changed, 28 insertions, 12 deletions
diff --git a/DEPS b/DEPS
index 3d00be5..0c8a7be 100644
--- a/DEPS
+++ b/DEPS
@@ -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
+