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

Side by Side Diff: chrome/browser/ui/app_modal_dialogs/javascript_dialog_creator.cc

Issue 10824030: Move ExtensionHost into extensions namespace (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Latest master for cq Created 8 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 (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/ui/app_modal_dialogs/javascript_dialog_creator.h" 5 #include "chrome/browser/ui/app_modal_dialogs/javascript_dialog_creator.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 17 matching lines...) Expand all
28 using content::JavaScriptDialogCreator; 28 using content::JavaScriptDialogCreator;
29 using content::WebContents; 29 using content::WebContents;
30 30
31 namespace { 31 namespace {
32 32
33 class ChromeJavaScriptDialogCreator : public JavaScriptDialogCreator, 33 class ChromeJavaScriptDialogCreator : public JavaScriptDialogCreator,
34 public content::NotificationObserver { 34 public content::NotificationObserver {
35 public: 35 public:
36 static ChromeJavaScriptDialogCreator* GetInstance(); 36 static ChromeJavaScriptDialogCreator* GetInstance();
37 37
38 explicit ChromeJavaScriptDialogCreator(ExtensionHost* extension_host); 38 explicit ChromeJavaScriptDialogCreator(
39 extensions::ExtensionHost* extension_host);
39 virtual ~ChromeJavaScriptDialogCreator(); 40 virtual ~ChromeJavaScriptDialogCreator();
40 41
41 virtual void RunJavaScriptDialog( 42 virtual void RunJavaScriptDialog(
42 WebContents* web_contents, 43 WebContents* web_contents,
43 const GURL& origin_url, 44 const GURL& origin_url,
44 const std::string& accept_lang, 45 const std::string& accept_lang,
45 content::JavaScriptMessageType message_type, 46 content::JavaScriptMessageType message_type,
46 const string16& message_text, 47 const string16& message_text,
47 const string16& default_prompt_text, 48 const string16& default_prompt_text,
48 const DialogClosedCallback& callback, 49 const DialogClosedCallback& callback,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 81
81 // Mapping between the WebContents and their extra data. The key 82 // Mapping between the WebContents and their extra data. The key
82 // is a void* because the pointer is just a cookie and is never dereferenced. 83 // is a void* because the pointer is just a cookie and is never dereferenced.
83 typedef std::map<void*, ChromeJavaScriptDialogExtraData> 84 typedef std::map<void*, ChromeJavaScriptDialogExtraData>
84 JavaScriptDialogExtraDataMap; 85 JavaScriptDialogExtraDataMap;
85 JavaScriptDialogExtraDataMap javascript_dialog_extra_data_; 86 JavaScriptDialogExtraDataMap javascript_dialog_extra_data_;
86 87
87 // Extension Host which owns the ChromeJavaScriptDialogCreator instance. 88 // Extension Host which owns the ChromeJavaScriptDialogCreator instance.
88 // It's used to get a extension name from a URL. 89 // It's used to get a extension name from a URL.
89 // If it's not owned by any Extension, it should be NULL. 90 // If it's not owned by any Extension, it should be NULL.
90 ExtensionHost* extension_host_; 91 extensions::ExtensionHost* extension_host_;
91 92
92 content::NotificationRegistrar registrar_; 93 content::NotificationRegistrar registrar_;
93 94
94 DISALLOW_COPY_AND_ASSIGN(ChromeJavaScriptDialogCreator); 95 DISALLOW_COPY_AND_ASSIGN(ChromeJavaScriptDialogCreator);
95 }; 96 };
96 97
97 //////////////////////////////////////////////////////////////////////////////// 98 ////////////////////////////////////////////////////////////////////////////////
98 // ChromeJavaScriptDialogCreator, public: 99 // ChromeJavaScriptDialogCreator, public:
99 100
100 ChromeJavaScriptDialogCreator::ChromeJavaScriptDialogCreator() 101 ChromeJavaScriptDialogCreator::ChromeJavaScriptDialogCreator()
101 : extension_host_(NULL) { 102 : extension_host_(NULL) {
102 } 103 }
103 104
104 ChromeJavaScriptDialogCreator::~ChromeJavaScriptDialogCreator() { 105 ChromeJavaScriptDialogCreator::~ChromeJavaScriptDialogCreator() {
105 extension_host_ = NULL; 106 extension_host_ = NULL;
106 } 107 }
107 108
108 ChromeJavaScriptDialogCreator::ChromeJavaScriptDialogCreator( 109 ChromeJavaScriptDialogCreator::ChromeJavaScriptDialogCreator(
109 ExtensionHost* extension_host) 110 extensions::ExtensionHost* extension_host)
110 : extension_host_(extension_host) { 111 : extension_host_(extension_host) {
111 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED, 112 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED,
112 content::Source<Profile>(extension_host_->profile())); 113 content::Source<Profile>(extension_host_->profile()));
113 } 114 }
114 115
115 // static 116 // static
116 ChromeJavaScriptDialogCreator* ChromeJavaScriptDialogCreator::GetInstance() { 117 ChromeJavaScriptDialogCreator* ChromeJavaScriptDialogCreator::GetInstance() {
117 return Singleton<ChromeJavaScriptDialogCreator>::get(); 118 return Singleton<ChromeJavaScriptDialogCreator>::get();
118 } 119 }
119 120
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 callback.Run(success, user_input); 265 callback.Run(success, user_input);
265 } 266 }
266 267
267 } // namespace 268 } // namespace
268 269
269 content::JavaScriptDialogCreator* GetJavaScriptDialogCreatorInstance() { 270 content::JavaScriptDialogCreator* GetJavaScriptDialogCreatorInstance() {
270 return ChromeJavaScriptDialogCreator::GetInstance(); 271 return ChromeJavaScriptDialogCreator::GetInstance();
271 } 272 }
272 273
273 content::JavaScriptDialogCreator* CreateJavaScriptDialogCreatorInstance( 274 content::JavaScriptDialogCreator* CreateJavaScriptDialogCreatorInstance(
274 ExtensionHost* extension_host) { 275 extensions::ExtensionHost* extension_host) {
275 return new ChromeJavaScriptDialogCreator(extension_host); 276 return new ChromeJavaScriptDialogCreator(extension_host);
276 } 277 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698