Index: chrome/browser/permissions/permission_queue_controller_unittest.cc |
diff --git a/chrome/browser/permissions/permission_queue_controller_unittest.cc b/chrome/browser/permissions/permission_queue_controller_unittest.cc |
deleted file mode 100644 |
index d9dd27cbae2b9a212247d4aa09dc1a80e1addede..0000000000000000000000000000000000000000 |
--- a/chrome/browser/permissions/permission_queue_controller_unittest.cc |
+++ /dev/null |
@@ -1,115 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/permissions/permission_queue_controller.h" |
- |
-#include "base/synchronization/waitable_event.h" |
-#include "chrome/browser/chrome_notification_types.h" |
-#include "chrome/browser/infobars/infobar_service.h" |
-#include "chrome/browser/permissions/permission_request_id.h" |
-#include "chrome/test/base/chrome_render_view_host_test_harness.h" |
-#include "chrome/test/base/testing_profile.h" |
-#include "components/content_settings/core/common/content_settings_types.h" |
-#include "content/public/browser/render_frame_host.h" |
-#include "content/public/browser/web_contents.h" |
-#include "content/public/test/mock_render_process_host.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
- |
-// PermissionQueueControllerTests --------------------------------------------- |
- |
-class PermissionQueueControllerTests : public ChromeRenderViewHostTestHarness { |
- protected: |
- PermissionQueueControllerTests() {} |
- ~PermissionQueueControllerTests() override {} |
- |
- PermissionRequestID RequestID(int bridge_id) { |
- return PermissionRequestID( |
- web_contents()->GetRenderProcessHost()->GetID(), |
- web_contents()->GetMainFrame()->GetRoutingID(), |
- bridge_id); |
- } |
- |
- private: |
- // ChromeRenderViewHostTestHarness: |
- void SetUp() override { |
- ChromeRenderViewHostTestHarness::SetUp(); |
- InfoBarService::CreateForWebContents(web_contents()); |
- } |
- |
- DISALLOW_COPY_AND_ASSIGN(PermissionQueueControllerTests); |
-}; |
- |
- |
-// ObservationCountingQueueController ----------------------------------------- |
- |
-class ObservationCountingQueueController : public PermissionQueueController { |
- public: |
- explicit ObservationCountingQueueController(Profile* profile); |
- ~ObservationCountingQueueController() override; |
- |
- int call_count() const { return call_count_; } |
- |
- private: |
- int call_count_; |
- |
- // PermissionQueueController: |
- void Observe(int type, |
- const content::NotificationSource& source, |
- const content::NotificationDetails& details) override; |
- |
- DISALLOW_COPY_AND_ASSIGN(ObservationCountingQueueController); |
-}; |
- |
-ObservationCountingQueueController::ObservationCountingQueueController( |
- Profile* profile) |
- : PermissionQueueController(profile, CONTENT_SETTINGS_TYPE_GEOLOCATION), |
- call_count_(0) { |
-} |
- |
-ObservationCountingQueueController::~ObservationCountingQueueController() { |
-} |
- |
-void ObservationCountingQueueController::Observe( |
- int type, |
- const content::NotificationSource& source, |
- const content::NotificationDetails& details) { |
- DCHECK_EQ(chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED, type); |
- ++call_count_; |
- PermissionQueueController::Observe(type, source, details); |
-} |
- |
- |
-// Actual tests --------------------------------------------------------------- |
- |
-TEST_F(PermissionQueueControllerTests, OneObservationPerInfoBarCancelled) { |
- // When an infobar is cancelled, the infobar helper sends a notification to |
- // the controller. If the controller has another infobar queued, it should |
- // maintain its registration for notifications with the helper, but on the |
- // last infobar cancellation it should unregister for notifications. |
- // |
- // What we don't want is for the controller to unregister and then re-register |
- // for notifications, which can lead to getting notified multiple times. This |
- // test checks that in the case where the controller should remain registered |
- // for notifications, it gets notified exactly once." |
- ObservationCountingQueueController queue_controller(profile()); |
- GURL url("http://www.example.com/geolocation"); |
- base::Callback<void(ContentSetting)> callback; |
- queue_controller.CreateInfoBarRequest( |
- RequestID(0), url, url, callback); |
- queue_controller.CreateInfoBarRequest( |
- RequestID(1), url, url, callback); |
- queue_controller.CancelInfoBarRequest(RequestID(0)); |
- EXPECT_EQ(1, queue_controller.call_count()); |
-} |
- |
-TEST_F(PermissionQueueControllerTests, FailOnBadPattern) { |
- ObservationCountingQueueController queue_controller(profile()); |
- GURL url("chrome://settings"); |
- base::Callback<void(ContentSetting)> callback; |
- queue_controller.CreateInfoBarRequest( |
- RequestID(0), url, url, callback); |
- queue_controller.CancelInfoBarRequest(RequestID(0)); |
- EXPECT_EQ(0, queue_controller.call_count()); |
-} |