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

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

Issue 10696208: Move ExtensionEventRouter and related into extensions namespace (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fixed bug + latest master Created 8 years, 5 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/event_router.h"
5 #include "chrome/browser/extensions/extension_apitest.h" 6 #include "chrome/browser/extensions/extension_apitest.h"
6 #include "chrome/browser/extensions/extension_event_router.h"
7 #include "chrome/browser/profiles/profile.h" 7 #include "chrome/browser/profiles/profile.h"
8 #include "chrome/common/chrome_notification_types.h" 8 #include "chrome/common/chrome_notification_types.h"
9 #include "content/public/browser/notification_registrar.h" 9 #include "content/public/browser/notification_registrar.h"
10 #include "content/public/browser/notification_service.h" 10 #include "content/public/browser/notification_service.h"
11 #include "googleurl/src/gurl.h" 11 #include "googleurl/src/gurl.h"
12 12
13 namespace { 13 namespace {
14 14
15 class MessageSender : public content::NotificationObserver { 15 class MessageSender : public content::NotificationObserver {
16 public: 16 public:
17 MessageSender() { 17 MessageSender() {
18 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING, 18 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING,
19 content::NotificationService::AllSources()); 19 content::NotificationService::AllSources());
20 } 20 }
21 21
22 private: 22 private:
23 virtual void Observe(int type, 23 virtual void Observe(int type,
24 const content::NotificationSource& source, 24 const content::NotificationSource& source,
25 const content::NotificationDetails& details) { 25 const content::NotificationDetails& details) {
26 ExtensionEventRouter* event_router = 26 extensions::EventRouter* event_router =
27 content::Source<Profile>(source).ptr()->GetExtensionEventRouter(); 27 content::Source<Profile>(source).ptr()->GetExtensionEventRouter();
28 28
29 // Sends four messages to the extension. All but the third message sent 29 // Sends four messages to the extension. All but the third message sent
30 // from the origin http://b.com/ are supposed to arrive. 30 // from the origin http://b.com/ are supposed to arrive.
31 event_router->DispatchEventToRenderers("test.onMessage", 31 event_router->DispatchEventToRenderers("test.onMessage",
32 "[{\"lastMessage\":false,\"data\":\"no restriction\"}]", 32 "[{\"lastMessage\":false,\"data\":\"no restriction\"}]",
33 content::Source<Profile>(source).ptr(), 33 content::Source<Profile>(source).ptr(),
34 GURL(), 34 GURL(),
35 EventFilteringInfo()); 35 extensions::EventFilteringInfo());
36 event_router->DispatchEventToRenderers("test.onMessage", 36 event_router->DispatchEventToRenderers("test.onMessage",
37 "[{\"lastMessage\":false,\"data\":\"http://a.com/\"}]", 37 "[{\"lastMessage\":false,\"data\":\"http://a.com/\"}]",
38 content::Source<Profile>(source).ptr(), 38 content::Source<Profile>(source).ptr(),
39 GURL("http://a.com/"), 39 GURL("http://a.com/"),
40 EventFilteringInfo()); 40 extensions::EventFilteringInfo());
41 event_router->DispatchEventToRenderers("test.onMessage", 41 event_router->DispatchEventToRenderers("test.onMessage",
42 "[{\"lastMessage\":false,\"data\":\"http://b.com/\"}]", 42 "[{\"lastMessage\":false,\"data\":\"http://b.com/\"}]",
43 content::Source<Profile>(source).ptr(), 43 content::Source<Profile>(source).ptr(),
44 GURL("http://b.com/"), 44 GURL("http://b.com/"),
45 EventFilteringInfo()); 45 extensions::EventFilteringInfo());
46 event_router->DispatchEventToRenderers("test.onMessage", 46 event_router->DispatchEventToRenderers("test.onMessage",
47 "[{\"lastMessage\":true,\"data\":\"last message\"}]", 47 "[{\"lastMessage\":true,\"data\":\"last message\"}]",
48 content::Source<Profile>(source).ptr(), 48 content::Source<Profile>(source).ptr(),
49 GURL(), 49 GURL(),
50 EventFilteringInfo()); 50 extensions::EventFilteringInfo());
51 } 51 }
52 52
53 content::NotificationRegistrar registrar_; 53 content::NotificationRegistrar registrar_;
54 }; 54 };
55 55
56 } // namespace 56 } // namespace
57 57
58 // Tests that message passing between extensions and content scripts works. 58 // Tests that message passing between extensions and content scripts works.
59 // Flaky on the trybots. See http://crbug.com/96725. 59 // Flaky on the trybots. See http://crbug.com/96725.
60 IN_PROC_BROWSER_TEST_F(ExtensionApiTest, DISABLED_Messaging) { 60 IN_PROC_BROWSER_TEST_F(ExtensionApiTest, DISABLED_Messaging) {
(...skipping 11 matching lines...) Expand all
72 72
73 ASSERT_TRUE(RunExtensionTest("messaging/connect_external")) << message_; 73 ASSERT_TRUE(RunExtensionTest("messaging/connect_external")) << message_;
74 } 74 }
75 75
76 // Tests that messages with event_urls are only passed to extensions with 76 // Tests that messages with event_urls are only passed to extensions with
77 // appropriate permissions. 77 // appropriate permissions.
78 IN_PROC_BROWSER_TEST_F(ExtensionApiTest, MessagingEventURL) { 78 IN_PROC_BROWSER_TEST_F(ExtensionApiTest, MessagingEventURL) {
79 MessageSender sender; 79 MessageSender sender;
80 ASSERT_TRUE(RunExtensionTest("messaging/event_url")) << message_; 80 ASSERT_TRUE(RunExtensionTest("messaging/event_url")) << message_;
81 } 81 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_management_api.cc ('k') | chrome/browser/extensions/extension_preference_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698