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

Side by Side Diff: chrome/browser/extensions/extension_test_notification_observer.cc

Issue 475813004: Clean up NOTIFICATION_EXTENSION_PAGE_ACTION_[ COUNT | VISIBILITY ]_CHANGED (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Latest master for CQ Created 6 years, 4 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/extension_test_notification_observer.h" 5 #include "chrome/browser/extensions/extension_test_notification_observer.h"
6 6
7 #include "base/callback_list.h" 7 #include "base/callback_list.h"
8 #include "chrome/browser/extensions/extension_service.h" 8 #include "chrome/browser/extensions/extension_service.h"
9 #include "chrome/browser/profiles/profile_manager.h" 9 #include "chrome/browser/profiles/profile_manager.h"
10 #include "chrome/browser/ui/browser.h" 10 #include "chrome/browser/ui/browser.h"
11 #include "chrome/browser/ui/browser_window.h" 11 #include "chrome/browser/ui/browser_window.h"
12 #include "content/public/browser/notification_registrar.h" 12 #include "content/public/browser/notification_registrar.h"
13 #include "content/public/browser/notification_service.h" 13 #include "content/public/browser/notification_service.h"
14 #include "content/public/browser/render_view_host.h" 14 #include "content/public/browser/render_view_host.h"
15 #include "content/public/test/test_utils.h" 15 #include "content/public/test/test_utils.h"
16 #include "extensions/browser/extension_system.h" 16 #include "extensions/browser/extension_system.h"
17 #include "extensions/browser/process_manager.h" 17 #include "extensions/browser/process_manager.h"
18 #include "extensions/common/extension.h" 18 #include "extensions/common/extension.h"
19 19
20 using extensions::Extension; 20 using extensions::Extension;
21 21
22 namespace { 22 namespace {
23 23
24 bool HasExtensionPageActionCountReachedTarget(LocationBarTesting* location_bar,
25 int target_page_action_count) {
26 VLOG(1) << "Number of page actions: " << location_bar->PageActionCount();
27 return location_bar->PageActionCount() == target_page_action_count;
28 }
29
30 bool HasExtensionPageActionVisibilityReachedTarget( 24 bool HasExtensionPageActionVisibilityReachedTarget(
31 LocationBarTesting* location_bar, 25 LocationBarTesting* location_bar,
32 int target_visible_page_action_count) { 26 int target_visible_page_action_count) {
33 VLOG(1) << "Number of visible page actions: " 27 VLOG(1) << "Number of visible page actions: "
34 << location_bar->PageActionVisibleCount(); 28 << location_bar->PageActionVisibleCount();
35 return location_bar->PageActionVisibleCount() == 29 return location_bar->PageActionVisibleCount() ==
36 target_visible_page_action_count; 30 target_visible_page_action_count;
37 } 31 }
38 32
39 bool HaveAllExtensionRenderViewHostsFinishedLoading( 33 bool HaveAllExtensionRenderViewHostsFinishedLoading(
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 // TODO(bauerb): Using a WindowedNotificationObserver like this can break 136 // TODO(bauerb): Using a WindowedNotificationObserver like this can break
143 // easily, if the notification we're waiting for is sent before this method. 137 // easily, if the notification we're waiting for is sent before this method.
144 // Change it so that the WindowedNotificationObserver is constructed earlier. 138 // Change it so that the WindowedNotificationObserver is constructed earlier.
145 content::NotificationRegistrar registrar; 139 content::NotificationRegistrar registrar;
146 registrar.Add( 140 registrar.Add(
147 this, notification_type, content::NotificationService::AllSources()); 141 this, notification_type, content::NotificationService::AllSources());
148 content::WindowedNotificationObserver( 142 content::WindowedNotificationObserver(
149 notification_type, content::NotificationService::AllSources()).Wait(); 143 notification_type, content::NotificationService::AllSources()).Wait();
150 } 144 }
151 145
152 bool ExtensionTestNotificationObserver::WaitForPageActionCountChangeTo(
153 int count) {
154 LocationBarTesting* location_bar =
155 browser_->window()->GetLocationBar()->GetLocationBarForTesting();
156 WaitForCondition(
157 base::Bind(
158 &HasExtensionPageActionCountReachedTarget, location_bar, count),
159 extensions::NOTIFICATION_EXTENSION_PAGE_ACTION_COUNT_CHANGED);
160 return true;
161 }
162
163 bool ExtensionTestNotificationObserver::WaitForPageActionVisibilityChangeTo( 146 bool ExtensionTestNotificationObserver::WaitForPageActionVisibilityChangeTo(
164 int count) { 147 int count) {
165 LocationBarTesting* location_bar = 148 LocationBarTesting* location_bar =
166 browser_->window()->GetLocationBar()->GetLocationBarForTesting(); 149 browser_->window()->GetLocationBar()->GetLocationBarForTesting();
167 WaitForCondition( 150 WaitForCondition(
168 base::Bind( 151 base::Bind(
169 &HasExtensionPageActionVisibilityReachedTarget, location_bar, count), 152 &HasExtensionPageActionVisibilityReachedTarget, location_bar, count),
170 extensions::NOTIFICATION_EXTENSION_PAGE_ACTION_VISIBILITY_CHANGED); 153 extensions::NOTIFICATION_EXTENSION_PAGE_ACTIONS_UPDATED);
171 return true; 154 return true;
172 } 155 }
173 156
174 bool ExtensionTestNotificationObserver::WaitForExtensionViewsToLoad() { 157 bool ExtensionTestNotificationObserver::WaitForExtensionViewsToLoad() {
175 extensions::ProcessManager* manager = 158 extensions::ProcessManager* manager =
176 extensions::ExtensionSystem::Get(GetProfile())->process_manager(); 159 extensions::ExtensionSystem::Get(GetProfile())->process_manager();
177 NotificationSet notification_set; 160 NotificationSet notification_set;
178 notification_set.Add(content::NOTIFICATION_WEB_CONTENTS_DESTROYED); 161 notification_set.Add(content::NOTIFICATION_WEB_CONTENTS_DESTROYED);
179 notification_set.Add(content::NOTIFICATION_LOAD_STOP); 162 notification_set.Add(content::NOTIFICATION_LOAD_STOP);
180 WaitForCondition( 163 WaitForCondition(
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 case extensions::NOTIFICATION_EXTENSION_LOAD_ERROR: 264 case extensions::NOTIFICATION_EXTENSION_LOAD_ERROR:
282 VLOG(1) << "Got EXTENSION_LOAD_ERROR notification."; 265 VLOG(1) << "Got EXTENSION_LOAD_ERROR notification.";
283 ++extension_load_errors_observed_; 266 ++extension_load_errors_observed_;
284 break; 267 break;
285 268
286 default: 269 default:
287 NOTREACHED(); 270 NOTREACHED();
288 break; 271 break;
289 } 272 }
290 } 273 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_browsertest.h ('k') | chrome/browser/extensions/lazy_background_page_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698