| OLD | NEW | 
|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "app/x11_util.h" | 5 #include "app/x11_util.h" | 
| 6 #include "base/message_loop.h" | 6 #include "base/message_loop.h" | 
| 7 #include "base/ref_counted.h" | 7 #include "base/ref_counted.h" | 
| 8 #include "base/scoped_ptr.h" | 8 #include "base/scoped_ptr.h" | 
| 9 #include "base/string16.h" | 9 #include "base/string16.h" | 
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" | 
| 11 #include "base/stringprintf.h" | 11 #include "base/stringprintf.h" | 
| 12 #include "base/utf_string_conversions.h" | 12 #include "base/utf_string_conversions.h" | 
| 13 #include "chrome/browser/browser.h" | 13 #include "chrome/browser/browser.h" | 
| 14 #include "chrome/browser/browser_process.h" | 14 #include "chrome/browser/browser_process.h" | 
| 15 #include "chrome/browser/chromeos/notifications/balloon_collection_impl.h" | 15 #include "chrome/browser/chromeos/notifications/balloon_collection_impl.h" | 
| 16 #include "chrome/browser/chromeos/notifications/balloon_view.h" | 16 #include "chrome/browser/chromeos/notifications/balloon_view.h" | 
| 17 #include "chrome/browser/chromeos/notifications/notification_panel.h" | 17 #include "chrome/browser/chromeos/notifications/notification_panel.h" | 
| 18 #include "chrome/browser/chromeos/notifications/system_notification_factory.h" | 18 #include "chrome/browser/chromeos/notifications/system_notification_factory.h" | 
| 19 #include "chrome/browser/notifications/notification_delegate.h" | 19 #include "chrome/browser/notifications/notification_test_util.h" | 
| 20 #include "chrome/browser/notifications/notification_ui_manager.h" | 20 #include "chrome/browser/notifications/notification_ui_manager.h" | 
| 21 #include "chrome/common/notification_service.h" | 21 #include "chrome/common/notification_service.h" | 
| 22 #include "chrome/test/in_process_browser_test.h" | 22 #include "chrome/test/in_process_browser_test.h" | 
| 23 #include "chrome/test/ui_test_utils.h" | 23 #include "chrome/test/ui_test_utils.h" | 
| 24 | 24 | 
| 25 namespace { | 25 namespace { | 
| 26 | 26 | 
| 27 class MockNotificationDelegate : public NotificationDelegate { |  | 
| 28  public: |  | 
| 29   explicit MockNotificationDelegate(const std::string& id) : id_(id) {} |  | 
| 30 |  | 
| 31   virtual void Display() {} |  | 
| 32   virtual void Error() {} |  | 
| 33   virtual void Close(bool by_user) {} |  | 
| 34   virtual void Click() {} |  | 
| 35   virtual std::string id() const { return id_; } |  | 
| 36 |  | 
| 37  private: |  | 
| 38   std::string id_; |  | 
| 39 |  | 
| 40   DISALLOW_COPY_AND_ASSIGN(MockNotificationDelegate); |  | 
| 41 }; |  | 
| 42 |  | 
| 43 // The name of ChromeOS's window manager. | 27 // The name of ChromeOS's window manager. | 
| 44 const char* kChromeOsWindowManagerName = "chromeos-wm"; | 28 const char* kChromeOsWindowManagerName = "chromeos-wm"; | 
| 45 | 29 | 
| 46 }  // namespace | 30 }  // namespace | 
| 47 | 31 | 
| 48 namespace chromeos { | 32 namespace chromeos { | 
| 49 | 33 | 
| 50 class NotificationTest : public InProcessBrowserTest, | 34 class NotificationTest : public InProcessBrowserTest, | 
| 51                          public NotificationObserver { | 35                          public NotificationObserver { | 
| 52  public: | 36  public: | 
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 155   EXPECT_EQ(1, tester->GetNotificationCount()); | 139   EXPECT_EQ(1, tester->GetNotificationCount()); | 
| 156   EXPECT_EQ(0, tester->GetStickyNotificationCount()); | 140   EXPECT_EQ(0, tester->GetStickyNotificationCount()); | 
| 157   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 141   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 
| 158 | 142 | 
| 159   collection->Add(NewMockNotification("2"), browser()->profile()); | 143   collection->Add(NewMockNotification("2"), browser()->profile()); | 
| 160 | 144 | 
| 161   EXPECT_EQ(2, tester->GetNewNotificationCount()); | 145   EXPECT_EQ(2, tester->GetNewNotificationCount()); | 
| 162   EXPECT_EQ(2, tester->GetNotificationCount()); | 146   EXPECT_EQ(2, tester->GetNotificationCount()); | 
| 163   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 147   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 
| 164 | 148 | 
| 165   collection->Remove(NewMockNotification("1")); | 149   collection->RemoveById("1"); | 
| 166   ui_test_utils::RunAllPendingInMessageLoop(); | 150   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 167 | 151 | 
| 168   EXPECT_EQ(1, tester->GetNewNotificationCount()); | 152   EXPECT_EQ(1, tester->GetNewNotificationCount()); | 
| 169   EXPECT_EQ(1, tester->GetNotificationCount()); | 153   EXPECT_EQ(1, tester->GetNotificationCount()); | 
| 170   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 154   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 
| 171 | 155 | 
| 172   collection->Remove(NewMockNotification("2")); | 156   collection->RemoveById("2"); | 
| 173   ui_test_utils::RunAllPendingInMessageLoop(); | 157   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 174   EXPECT_EQ(0, tester->GetNewNotificationCount()); | 158   EXPECT_EQ(0, tester->GetNewNotificationCount()); | 
| 175   EXPECT_EQ(0, tester->GetNotificationCount()); | 159   EXPECT_EQ(0, tester->GetNotificationCount()); | 
| 176   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 160   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 
| 177 | 161 | 
| 178   // CLOSE is asynchronous. Run the all pending tasks to finish closing | 162   // CLOSE is asynchronous. Run the all pending tasks to finish closing | 
| 179   // task. | 163   // task. | 
| 180   ui_test_utils::RunAllPendingInMessageLoop(); | 164   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 181 } | 165 } | 
| 182 | 166 | 
| 183 // [CLOSED] -add->[STICKY_AND_NEW] -mouse-> [KEEP_SIZE] -remove/add-> | 167 // [CLOSED] -add->[STICKY_AND_NEW] -mouse-> [KEEP_SIZE] -remove/add-> | 
| 184 // [KEEP_SIZE] -remove-> [CLOSED] -add-> [STICKY_AND_NEW] -remove-> [CLOSED] | 168 // [KEEP_SIZE] -remove-> [CLOSED] -add-> [STICKY_AND_NEW] -remove-> [CLOSED] | 
| 185 IN_PROC_BROWSER_TEST_F(NotificationTest, TestKeepSizeState) { | 169 IN_PROC_BROWSER_TEST_F(NotificationTest, TestKeepSizeState) { | 
| 186   BalloonCollectionImpl* collection = GetBalloonCollectionImpl(); | 170   BalloonCollectionImpl* collection = GetBalloonCollectionImpl(); | 
| 187   NotificationPanel* panel = GetNotificationPanel(); | 171   NotificationPanel* panel = GetNotificationPanel(); | 
| 188   NotificationPanelTester* tester = panel->GetTester(); | 172   NotificationPanelTester* tester = panel->GetTester(); | 
| 189 | 173 | 
| 190   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 174   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 
| 191 | 175 | 
| 192   // Using system notification as regular notification. | 176   // Using system notification as regular notification. | 
| 193   collection->Add(NewMockNotification("1"), browser()->profile()); | 177   collection->Add(NewMockNotification("1"), browser()->profile()); | 
| 194   collection->Add(NewMockNotification("2"), browser()->profile()); | 178   collection->Add(NewMockNotification("2"), browser()->profile()); | 
| 195 | 179 | 
| 196   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 180   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 
| 197 | 181 | 
| 198   panel->OnMouseMotion(gfx::Point(10, 10)); | 182   panel->OnMouseMotion(gfx::Point(10, 10)); | 
| 199   EXPECT_EQ(NotificationPanel::KEEP_SIZE, tester->state()); | 183   EXPECT_EQ(NotificationPanel::KEEP_SIZE, tester->state()); | 
| 200 | 184 | 
| 201   collection->Remove(NewMockNotification("1")); | 185   collection->RemoveById("1"); | 
| 202   ui_test_utils::RunAllPendingInMessageLoop(); | 186   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 203   EXPECT_EQ(1, tester->GetNewNotificationCount()); | 187   EXPECT_EQ(1, tester->GetNewNotificationCount()); | 
| 204   EXPECT_EQ(1, tester->GetNotificationCount()); | 188   EXPECT_EQ(1, tester->GetNotificationCount()); | 
| 205   EXPECT_EQ(NotificationPanel::KEEP_SIZE, tester->state()); | 189   EXPECT_EQ(NotificationPanel::KEEP_SIZE, tester->state()); | 
| 206 | 190 | 
| 207   collection->Add(NewMockNotification("1"), browser()->profile()); | 191   collection->Add(NewMockNotification("1"), browser()->profile()); | 
| 208   ui_test_utils::RunAllPendingInMessageLoop(); | 192   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 209   EXPECT_EQ(2, tester->GetNewNotificationCount()); | 193   EXPECT_EQ(2, tester->GetNewNotificationCount()); | 
| 210   EXPECT_EQ(2, tester->GetNotificationCount()); | 194   EXPECT_EQ(2, tester->GetNotificationCount()); | 
| 211   EXPECT_EQ(NotificationPanel::KEEP_SIZE, tester->state()); | 195   EXPECT_EQ(NotificationPanel::KEEP_SIZE, tester->state()); | 
| 212 | 196 | 
| 213   collection->Remove(NewMockNotification("1")); | 197   collection->RemoveById("1"); | 
| 214   ui_test_utils::RunAllPendingInMessageLoop(); | 198   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 215   EXPECT_EQ(1, tester->GetNewNotificationCount()); | 199   EXPECT_EQ(1, tester->GetNewNotificationCount()); | 
| 216   EXPECT_EQ(1, tester->GetNotificationCount()); | 200   EXPECT_EQ(1, tester->GetNotificationCount()); | 
| 217   EXPECT_EQ(NotificationPanel::KEEP_SIZE, tester->state()); | 201   EXPECT_EQ(NotificationPanel::KEEP_SIZE, tester->state()); | 
| 218 | 202 | 
| 219   collection->Remove(NewMockNotification("2")); | 203   collection->RemoveById("2"); | 
| 220   ui_test_utils::RunAllPendingInMessageLoop(); | 204   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 221   EXPECT_EQ(0, tester->GetNotificationCount()); | 205   EXPECT_EQ(0, tester->GetNotificationCount()); | 
| 222   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 206   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 
| 223 | 207 | 
| 224   collection->Add(NewMockNotification("3"), browser()->profile()); | 208   collection->Add(NewMockNotification("3"), browser()->profile()); | 
| 225   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 209   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 
| 226   collection->Remove(NewMockNotification("3")); | 210   collection->RemoveById("3"); | 
| 227 | 211 | 
| 228   ui_test_utils::RunAllPendingInMessageLoop(); | 212   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 229   EXPECT_EQ(0, tester->GetNotificationCount()); | 213   EXPECT_EQ(0, tester->GetNotificationCount()); | 
| 230   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 214   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 
| 231 } | 215 } | 
| 232 | 216 | 
| 233 IN_PROC_BROWSER_TEST_F(NotificationTest, TestSystemNotification) { | 217 IN_PROC_BROWSER_TEST_F(NotificationTest, TestSystemNotification) { | 
| 234   BalloonCollectionImpl* collection = GetBalloonCollectionImpl(); | 218   BalloonCollectionImpl* collection = GetBalloonCollectionImpl(); | 
| 235   NotificationPanel* panel = GetNotificationPanel(); | 219   NotificationPanel* panel = GetNotificationPanel(); | 
| 236   scoped_refptr<MockNotificationDelegate> delegate( | 220   scoped_refptr<MockNotificationDelegate> delegate( | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
| 250   EXPECT_EQ(1, tester->GetStickyNotificationCount()); | 234   EXPECT_EQ(1, tester->GetStickyNotificationCount()); | 
| 251 | 235 | 
| 252   Notification update_and_show = SystemNotificationFactory::Create( | 236   Notification update_and_show = SystemNotificationFactory::Create( | 
| 253       GURL(), ASCIIToUTF16("Title"), ASCIIToUTF16("updated and shown"), | 237       GURL(), ASCIIToUTF16("Title"), ASCIIToUTF16("updated and shown"), | 
| 254       delegate.get()); | 238       delegate.get()); | 
| 255   collection->UpdateAndShowNotification(update_and_show); | 239   collection->UpdateAndShowNotification(update_and_show); | 
| 256 | 240 | 
| 257   EXPECT_EQ(1, tester->GetStickyNotificationCount()); | 241   EXPECT_EQ(1, tester->GetStickyNotificationCount()); | 
| 258 | 242 | 
| 259   // Dismiss the notification. | 243   // Dismiss the notification. | 
| 260   // TODO(oshima): Consider updating API to Remove(NotificationDelegate) | 244   collection->RemoveById(delegate->id()); | 
| 261   // or Remove(std::string id); |  | 
| 262   collection->Remove(Notification(GURL(), GURL(), string16(), string16(), |  | 
| 263                                   delegate.get())); |  | 
| 264   ui_test_utils::RunAllPendingInMessageLoop(); | 245   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 265 | 246 | 
| 266   EXPECT_EQ(0, tester->GetStickyNotificationCount()); | 247   EXPECT_EQ(0, tester->GetStickyNotificationCount()); | 
| 267   EXPECT_EQ(0, tester->GetNewNotificationCount()); | 248   EXPECT_EQ(0, tester->GetNewNotificationCount()); | 
| 268   // TODO(oshima): check content, etc.. | 249   // TODO(oshima): check content, etc.. | 
| 269 } | 250 } | 
| 270 | 251 | 
| 271 // [CLOSED] -add,add->[STICKY_AND_NEW] -stale-> [MINIMIZED] -remove-> | 252 // [CLOSED] -add,add->[STICKY_AND_NEW] -stale-> [MINIMIZED] -remove-> | 
| 272 // [MINIMIZED] -remove-> [CLOSED] | 253 // [MINIMIZED] -remove-> [CLOSED] | 
| 273 IN_PROC_BROWSER_TEST_F(NotificationTest, TestStateTransition1) { | 254 IN_PROC_BROWSER_TEST_F(NotificationTest, TestStateTransition1) { | 
| 274   BalloonCollectionImpl* collection = GetBalloonCollectionImpl(); | 255   BalloonCollectionImpl* collection = GetBalloonCollectionImpl(); | 
| 275   NotificationPanel* panel = GetNotificationPanel(); | 256   NotificationPanel* panel = GetNotificationPanel(); | 
| 276   NotificationPanelTester* tester = panel->GetTester(); | 257   NotificationPanelTester* tester = panel->GetTester(); | 
| 277 | 258 | 
| 278   tester->SetStaleTimeout(0); | 259   tester->SetStaleTimeout(0); | 
| 279   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 260   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 
| 280 | 261 | 
| 281   collection->Add(NewMockNotification("1"), browser()->profile()); | 262   collection->Add(NewMockNotification("1"), browser()->profile()); | 
| 282   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 263   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 
| 283 | 264 | 
| 284   collection->Add(NewMockNotification("2"), browser()->profile()); | 265   collection->Add(NewMockNotification("2"), browser()->profile()); | 
| 285   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 266   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 
| 286 | 267 | 
| 287   ui_test_utils::RunAllPendingInMessageLoop(); | 268   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 288   EXPECT_EQ(NotificationPanel::MINIMIZED, tester->state()); | 269   EXPECT_EQ(NotificationPanel::MINIMIZED, tester->state()); | 
| 289 | 270 | 
| 290   collection->Remove(NewMockNotification("2")); | 271   collection->RemoveById("2"); | 
| 291   ui_test_utils::RunAllPendingInMessageLoop(); | 272   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 292   EXPECT_EQ(NotificationPanel::MINIMIZED, tester->state()); | 273   EXPECT_EQ(NotificationPanel::MINIMIZED, tester->state()); | 
| 293 | 274 | 
| 294   collection->Remove(NewMockNotification("1")); | 275   collection->RemoveById("1"); | 
| 295   ui_test_utils::RunAllPendingInMessageLoop(); | 276   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 296   EXPECT_EQ(0, tester->GetNotificationCount()); | 277   EXPECT_EQ(0, tester->GetNotificationCount()); | 
| 297   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 278   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 
| 298 | 279 | 
| 299   ui_test_utils::RunAllPendingInMessageLoop(); | 280   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 300 } | 281 } | 
| 301 | 282 | 
| 302 // [CLOSED] -add->[STICKY_AND_NEW] -stale-> [MINIMIZED] -add-> | 283 // [CLOSED] -add->[STICKY_AND_NEW] -stale-> [MINIMIZED] -add-> | 
| 303 // [STICKY_AND_NEW] -stale-> [MINIMIZED] -add sys-> [STICKY_NEW] | 284 // [STICKY_AND_NEW] -stale-> [MINIMIZED] -add sys-> [STICKY_NEW] | 
| 304 // -stale-> [STICKY_NEW] -remove-> [STICKY_NEW] -remove sys-> | 285 // -stale-> [STICKY_NEW] -remove-> [STICKY_NEW] -remove sys-> | 
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 350   collection->AddSystemNotification( | 331   collection->AddSystemNotification( | 
| 351       NewMockNotification("3"), browser()->profile(), true, false); | 332       NewMockNotification("3"), browser()->profile(), true, false); | 
| 352   EXPECT_EQ(3, tester->GetNotificationCount()); | 333   EXPECT_EQ(3, tester->GetNotificationCount()); | 
| 353   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 334   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 
| 354   WaitForPanelState(tester, PanelController::EXPANDED); | 335   WaitForPanelState(tester, PanelController::EXPANDED); | 
| 355 | 336 | 
| 356   // Running all events nor removing non sticky should not change the state. | 337   // Running all events nor removing non sticky should not change the state. | 
| 357   ui_test_utils::RunAllPendingInMessageLoop(); | 338   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 358   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 339   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 
| 359 | 340 | 
| 360   collection->Remove(NewMockNotification("1")); | 341   collection->RemoveById("1"); | 
| 361   ui_test_utils::RunAllPendingInMessageLoop(); | 342   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 362   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 343   EXPECT_EQ(NotificationPanel::STICKY_AND_NEW, tester->state()); | 
| 363 | 344 | 
| 364   // Removing the system notification should minimize the panel. | 345   // Removing the system notification should minimize the panel. | 
| 365   collection->Remove(NewMockNotification("3")); | 346   collection->RemoveById("3"); | 
| 366   ui_test_utils::RunAllPendingInMessageLoop(); | 347   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 367   EXPECT_EQ(1, tester->GetNotificationCount()); | 348   EXPECT_EQ(1, tester->GetNotificationCount()); | 
| 368   EXPECT_EQ(NotificationPanel::MINIMIZED, tester->state()); | 349   EXPECT_EQ(NotificationPanel::MINIMIZED, tester->state()); | 
| 369   WaitForPanelState(tester, PanelController::MINIMIZED); | 350   WaitForPanelState(tester, PanelController::MINIMIZED); | 
| 370 | 351 | 
| 371   // Removing the last notification. Should close the panel. | 352   // Removing the last notification. Should close the panel. | 
| 372 | 353   collection->RemoveById("2"); | 
| 373   collection->Remove(NewMockNotification("2")); |  | 
| 374   ui_test_utils::RunAllPendingInMessageLoop(); | 354   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 375   EXPECT_EQ(0, tester->GetNotificationCount()); | 355   EXPECT_EQ(0, tester->GetNotificationCount()); | 
| 376   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 356   EXPECT_EQ(NotificationPanel::CLOSED, tester->state()); | 
| 377 | 357 | 
| 378   ui_test_utils::RunAllPendingInMessageLoop(); | 358   ui_test_utils::RunAllPendingInMessageLoop(); | 
| 379 } | 359 } | 
| 380 | 360 | 
| 381 IN_PROC_BROWSER_TEST_F(NotificationTest, TestCleanupOnExit) { | 361 IN_PROC_BROWSER_TEST_F(NotificationTest, TestCleanupOnExit) { | 
| 382   NotificationRegistrar registrar; | 362   NotificationRegistrar registrar; | 
| 383   registrar.Add(this, | 363   registrar.Add(this, | 
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 608   EXPECT_TRUE(collection->AddDOMUIMessageCallback( | 588   EXPECT_TRUE(collection->AddDOMUIMessageCallback( | 
| 609       NewMockNotification("1"), | 589       NewMockNotification("1"), | 
| 610       "test", | 590       "test", | 
| 611       NewCallback( | 591       NewCallback( | 
| 612           static_cast<NotificationTest*>(this), | 592           static_cast<NotificationTest*>(this), | 
| 613           &NotificationTest::HandleDOMUIMessage))); | 593           &NotificationTest::HandleDOMUIMessage))); | 
| 614   MessageLoop::current()->Run(); | 594   MessageLoop::current()->Run(); | 
| 615 } | 595 } | 
| 616 | 596 | 
| 617 }  // namespace chromeos | 597 }  // namespace chromeos | 
| OLD | NEW | 
|---|