Index: content/child/service_worker/service_worker_dispatcher_unittest.cc |
diff --git a/content/child/service_worker/service_worker_dispatcher_unittest.cc b/content/child/service_worker/service_worker_dispatcher_unittest.cc |
index 0452229e11e942e0573c15a28d085d185ad2f4ac..0f9b789ae84fada532426168052ed209d5ee5c72 100644 |
--- a/content/child/service_worker/service_worker_dispatcher_unittest.cc |
+++ b/content/child/service_worker/service_worker_dispatcher_unittest.cc |
@@ -86,9 +86,11 @@ class ServiceWorkerDispatcherTest : public testing::Test { |
void OnSetControllerServiceWorker(int thread_id, |
int provider_id, |
const ServiceWorkerObjectInfo& info, |
- bool should_notify_controllerchange) { |
+ bool should_notify_controllerchange, |
+ const std::set<uint32_t>& used_features) { |
dispatcher_->OnSetControllerServiceWorker(thread_id, provider_id, info, |
- should_notify_controllerchange); |
+ should_notify_controllerchange, |
+ used_features); |
} |
void OnPostMessage(const ServiceWorkerMsg_MessageToDocument_Params& params) { |
@@ -142,6 +144,10 @@ class MockWebServiceWorkerProviderClientImpl |
is_dispatch_message_event_called_ = true; |
} |
+ void countFeature(uint32_t feature) override { |
+ used_features_.insert(feature); |
+ } |
+ |
bool is_set_controlled_called() const { return is_set_controlled_called_; } |
bool is_dispatch_message_event_called() const { |
@@ -153,6 +159,7 @@ class MockWebServiceWorkerProviderClientImpl |
bool is_set_controlled_called_ = false; |
bool is_dispatch_message_event_called_ = false; |
ServiceWorkerDispatcher* dispatcher_; |
+ std::set<uint32_t> used_features_; |
}; |
TEST_F(ServiceWorkerDispatcherTest, OnAssociateRegistration_NoProviderContext) { |
@@ -259,7 +266,8 @@ TEST_F(ServiceWorkerDispatcherTest, OnSetControllerServiceWorker) { |
// the provider, the passed reference to the active worker should be adopted |
// but immediately released because there is no provider context to own it. |
OnSetControllerServiceWorker(kDocumentMainThreadId, kProviderId, attrs.active, |
- should_notify_controllerchange); |
+ should_notify_controllerchange, |
+ std::set<uint32_t>()); |
ASSERT_EQ(1UL, ipc_sink()->message_count()); |
EXPECT_EQ(ServiceWorkerHostMsg_DecrementServiceWorkerRefCount::ID, |
ipc_sink()->GetMessageAt(0)->type()); |
@@ -275,7 +283,8 @@ TEST_F(ServiceWorkerDispatcherTest, OnSetControllerServiceWorker) { |
OnAssociateRegistration(kDocumentMainThreadId, kProviderId, info, attrs); |
ipc_sink()->ClearMessages(); |
OnSetControllerServiceWorker(kDocumentMainThreadId, kProviderId, attrs.active, |
- should_notify_controllerchange); |
+ should_notify_controllerchange, |
+ std::set<uint32_t>()); |
EXPECT_EQ(0UL, ipc_sink()->message_count()); |
// Destruction of the provider context should release references to the |
@@ -298,7 +307,8 @@ TEST_F(ServiceWorkerDispatcherTest, OnSetControllerServiceWorker) { |
new MockWebServiceWorkerProviderClientImpl(kProviderId, dispatcher())); |
ASSERT_FALSE(provider_client->is_set_controlled_called()); |
OnSetControllerServiceWorker(kDocumentMainThreadId, kProviderId, attrs.active, |
- should_notify_controllerchange); |
+ should_notify_controllerchange, |
+ std::set<uint32_t>()); |
EXPECT_TRUE(provider_client->is_set_controlled_called()); |
ASSERT_EQ(3UL, ipc_sink()->message_count()); |
EXPECT_EQ(ServiceWorkerHostMsg_IncrementServiceWorkerRefCount::ID, |
@@ -323,7 +333,8 @@ TEST_F(ServiceWorkerDispatcherTest, OnSetControllerServiceWorker) { |
ASSERT_FALSE(provider_client->is_set_controlled_called()); |
ipc_sink()->ClearMessages(); |
OnSetControllerServiceWorker(kDocumentMainThreadId, kProviderId, attrs.active, |
- should_notify_controllerchange); |
+ should_notify_controllerchange, |
+ std::set<uint32_t>()); |
EXPECT_TRUE(provider_client->is_set_controlled_called()); |
ASSERT_EQ(2UL, ipc_sink()->message_count()); |
EXPECT_EQ(ServiceWorkerHostMsg_IncrementServiceWorkerRefCount::ID, |
@@ -352,9 +363,9 @@ TEST_F(ServiceWorkerDispatcherTest, OnSetControllerServiceWorker_Null) { |
OnAssociateRegistration(kDocumentMainThreadId, kProviderId, info, attrs); |
// Set the controller to kInvalidServiceWorkerHandle. |
- OnSetControllerServiceWorker(kDocumentMainThreadId, kProviderId, |
- ServiceWorkerObjectInfo(), |
- should_notify_controllerchange); |
+ OnSetControllerServiceWorker( |
+ kDocumentMainThreadId, kProviderId, ServiceWorkerObjectInfo(), |
+ should_notify_controllerchange, std::set<uint32_t>()); |
// Check that it became null. |
EXPECT_EQ(nullptr, provider_context->controller()); |