Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(976)

Unified Diff: content/browser/shared_worker/shared_worker_service_impl_unittest.cc

Issue 2600113003: (SUSPENDED) SharedWorker: Mojofy Renderer(Document)->Browser communication for SharedWorker
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/shared_worker/shared_worker_service_impl_unittest.cc
diff --git a/content/browser/shared_worker/shared_worker_service_impl_unittest.cc b/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
index b1b809a54586840c2f2eb20559218aa82df18558..9a205c2dae8c163368600b1bb244c978843d4954 100644
--- a/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
+++ b/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
@@ -33,6 +33,15 @@
namespace content {
+namespace {
+
+void CreateWorkerCallback(mojom::SharedWorker_CreateWorker_ReplyPtr* out,
+ mojom::SharedWorker_CreateWorker_ReplyPtr reply) {
+ *out = std::move(reply);
+}
+
+} // namespace
+
class SharedWorkerServiceImplTest : public testing::Test {
public:
static void RegisterRunningProcessID(int process_id) {
@@ -211,6 +220,17 @@ class MockRendererProcessHost {
return ret;
}
+ // Emulates mojo RPC calls (Renderer(Document)->Browser).
+ void OnCreateWorker(mojom::SharedWorker_CreateWorker_ParamsPtr params,
+ mojom::SharedWorker_CreateWorker_ReplyPtr* reply) {
+ worker_filter_->OnCreateWorker(std::move(params),
+ base::Bind(&CreateWorkerCallback, reply));
+ }
+
+ void OnConnectToWorker(int route_id, int message_port_id) {
+ worker_filter_->OnConnectToWorker(route_id, message_port_id);
+ }
+
size_t QueuedMessageCount() const { return queued_messages_.size(); }
std::unique_ptr<IPC::Message> PopMessage() {
@@ -252,18 +272,21 @@ void PostCreateWorker(MockRendererProcessHost* renderer,
const std::string& name,
unsigned long long document_id,
int render_frame_route_id,
- ViewHostMsg_CreateWorker_Reply* reply) {
- ViewHostMsg_CreateWorker_Params params;
- params.url = GURL(url);
- params.name = base::ASCIIToUTF16(name);
- params.content_security_policy = base::string16();
- params.security_policy_type = blink::WebContentSecurityPolicyTypeReport;
- params.document_id = document_id;
- params.render_frame_route_id = render_frame_route_id;
- params.creation_context_type =
- blink::WebSharedWorkerCreationContextTypeSecure;
- EXPECT_TRUE(
- renderer->OnMessageReceived(new ViewHostMsg_CreateWorker(params, reply)));
+ mojom::SharedWorker_CreateWorker_ReplyPtr* reply) {
+ mojom::SharedWorker_CreateWorker_ParamsPtr params =
+ mojom::SharedWorker_CreateWorker_Params::New();
+ params->url = GURL(url);
+ params->name = base::ASCIIToUTF16(name);
+ params->content_security_policy = base::string16();
+ params->security_policy_type =
+ static_cast<mojom::WebContentSecurityPolicyType>(
+ blink::WebContentSecurityPolicyTypeReport);
+ params->document_id = document_id;
+ params->render_frame_route_id = render_frame_route_id;
+ params->creation_context_type =
+ static_cast<mojom::WebSharedWorkerCreationContextType>(
+ blink::WebSharedWorkerCreationContextTypeSecure);
+ renderer->OnCreateWorker(std::move(params), reply);
}
class MockSharedWorkerConnector {
@@ -297,9 +320,8 @@ class MockSharedWorkerConnector {
local_port_id_, base::ASCIIToUTF16(data), empty_ports)));
}
void SendConnect() {
- EXPECT_TRUE(
- renderer_host_->OnMessageReceived(new ViewHostMsg_ConnectToWorker(
- create_worker_reply_.route_id, remote_port_id_)));
+ renderer_host_->OnConnectToWorker(create_worker_reply_->route_id,
+ remote_port_id_);
}
void SendSendQueuedMessages(
const std::vector<QueuedMessage>& queued_messages) {
@@ -313,9 +335,10 @@ class MockSharedWorkerConnector {
int remote_port_id() { return remote_port_id_; }
int local_port_route_id() { return local_port_route_id_; }
int local_port_id() { return local_port_id_; }
- int route_id() { return create_worker_reply_.route_id; }
+ int route_id() { return create_worker_reply_->route_id; }
blink::WebWorkerCreationError creation_error() {
- return create_worker_reply_.error;
+ return static_cast<blink::WebWorkerCreationError>(
+ create_worker_reply_->error);
}
private:
@@ -324,7 +347,7 @@ class MockSharedWorkerConnector {
int remote_port_id_;
int local_port_route_id_;
int local_port_id_;
- ViewHostMsg_CreateWorker_Reply create_worker_reply_;
+ mojom::SharedWorker_CreateWorker_ReplyPtr create_worker_reply_;
};
void CheckWorkerProcessMsgCreateWorker(

Powered by Google App Engine
This is Rietveld 408576698