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

Side by Side Diff: chrome/browser/extensions/api/debugger/debugger_api.cc

Issue 190063006: Infobar Componentization Proof of Concept (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: minor fixes Created 6 years, 9 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 // Implements the Chrome Extensions Debugger API. 5 // Implements the Chrome Extensions Debugger API.
6 6
7 #include "chrome/browser/extensions/api/debugger/debugger_api.h" 7 #include "chrome/browser/extensions/api/debugger/debugger_api.h"
8 8
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 client_host_ = client_host; 150 client_host_ = client_host;
151 } 151 }
152 152
153 private: 153 private:
154 explicit ExtensionDevToolsInfoBarDelegate(const std::string& client_name); 154 explicit ExtensionDevToolsInfoBarDelegate(const std::string& client_name);
155 virtual ~ExtensionDevToolsInfoBarDelegate(); 155 virtual ~ExtensionDevToolsInfoBarDelegate();
156 156
157 // ConfirmInfoBarDelegate: 157 // ConfirmInfoBarDelegate:
158 virtual void InfoBarDismissed() OVERRIDE; 158 virtual void InfoBarDismissed() OVERRIDE;
159 virtual Type GetInfoBarType() const OVERRIDE; 159 virtual Type GetInfoBarType() const OVERRIDE;
160 virtual bool ShouldExpireInternal( 160 virtual bool ShouldExpireInternal(const NavigationDetails& details) const
161 const content::LoadCommittedDetails& details) const OVERRIDE; 161 OVERRIDE;
162 virtual base::string16 GetMessageText() const OVERRIDE; 162 virtual base::string16 GetMessageText() const OVERRIDE;
163 virtual int GetButtons() const OVERRIDE; 163 virtual int GetButtons() const OVERRIDE;
164 virtual bool Cancel() OVERRIDE; 164 virtual bool Cancel() OVERRIDE;
165 165
166 std::string client_name_; 166 std::string client_name_;
167 ExtensionDevToolsClientHost* client_host_; 167 ExtensionDevToolsClientHost* client_host_;
168 168
169 DISALLOW_COPY_AND_ASSIGN(ExtensionDevToolsInfoBarDelegate); 169 DISALLOW_COPY_AND_ASSIGN(ExtensionDevToolsInfoBarDelegate);
170 }; 170 };
171 171
172 // static 172 // static
173 InfoBar* ExtensionDevToolsInfoBarDelegate::Create( 173 InfoBar* ExtensionDevToolsInfoBarDelegate::Create(
174 RenderViewHost* rvh, 174 RenderViewHost* rvh,
175 const std::string& client_name) { 175 const std::string& client_name) {
176 if (!rvh) 176 if (!rvh)
177 return NULL; 177 return NULL;
178 178
179 WebContents* web_contents = WebContents::FromRenderViewHost(rvh); 179 WebContents* web_contents = WebContents::FromRenderViewHost(rvh);
180 if (!web_contents) 180 if (!web_contents)
181 return NULL; 181 return NULL;
182 182
183 InfoBarService* infobar_service = 183 InfoBarService* infobar_service =
184 InfoBarService::FromWebContents(web_contents); 184 InfoBarService::FromWebContents(web_contents);
185 if (!infobar_service) 185 if (!infobar_service)
186 return NULL; 186 return NULL;
187 187
188 return infobar_service->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar( 188 return infobar_service->AddInfoBar(
189 scoped_ptr<ConfirmInfoBarDelegate>( 189 ConfirmInfoBarDelegate::CreateInfoBar(scoped_ptr<ConfirmInfoBarDelegate>(
190 new ExtensionDevToolsInfoBarDelegate(client_name)))); 190 new ExtensionDevToolsInfoBarDelegate(client_name))));
191 } 191 }
192 192
193 ExtensionDevToolsInfoBarDelegate::ExtensionDevToolsInfoBarDelegate( 193 ExtensionDevToolsInfoBarDelegate::ExtensionDevToolsInfoBarDelegate(
194 const std::string& client_name) 194 const std::string& client_name)
195 : ConfirmInfoBarDelegate(), 195 : ConfirmInfoBarDelegate(),
196 client_name_(client_name), 196 client_name_(client_name),
197 client_host_(NULL) { 197 client_host_(NULL) {
198 } 198 }
199 199
200 ExtensionDevToolsInfoBarDelegate::~ExtensionDevToolsInfoBarDelegate() { 200 ExtensionDevToolsInfoBarDelegate::~ExtensionDevToolsInfoBarDelegate() {
201 } 201 }
202 202
203 void ExtensionDevToolsInfoBarDelegate::InfoBarDismissed() { 203 void ExtensionDevToolsInfoBarDelegate::InfoBarDismissed() {
204 if (client_host_) 204 if (client_host_)
205 client_host_->MarkAsDismissed(); 205 client_host_->MarkAsDismissed();
206 } 206 }
207 207
208 InfoBarDelegate::Type ExtensionDevToolsInfoBarDelegate::GetInfoBarType() const { 208 InfoBarDelegate::Type ExtensionDevToolsInfoBarDelegate::GetInfoBarType() const {
209 return WARNING_TYPE; 209 return WARNING_TYPE;
210 } 210 }
211 211
212 bool ExtensionDevToolsInfoBarDelegate::ShouldExpireInternal( 212 bool ExtensionDevToolsInfoBarDelegate::ShouldExpireInternal(
213 const content::LoadCommittedDetails& details) const { 213 const NavigationDetails& details) const {
214 return false; 214 return false;
215 } 215 }
216 216
217 base::string16 ExtensionDevToolsInfoBarDelegate::GetMessageText() const { 217 base::string16 ExtensionDevToolsInfoBarDelegate::GetMessageText() const {
218 return l10n_util::GetStringFUTF16(IDS_DEV_TOOLS_INFOBAR_LABEL, 218 return l10n_util::GetStringFUTF16(IDS_DEV_TOOLS_INFOBAR_LABEL,
219 base::UTF8ToUTF16(client_name_)); 219 base::UTF8ToUTF16(client_name_));
220 } 220 }
221 221
222 int ExtensionDevToolsInfoBarDelegate::GetButtons() const { 222 int ExtensionDevToolsInfoBarDelegate::GetButtons() const {
223 return BUTTON_CANCEL; 223 return BUTTON_CANCEL;
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 } 332 }
333 333
334 ExtensionDevToolsClientHost::~ExtensionDevToolsClientHost() { 334 ExtensionDevToolsClientHost::~ExtensionDevToolsClientHost() {
335 // Ensure calling RemoveInfoBar() below won't result in Observe() trying to 335 // Ensure calling RemoveInfoBar() below won't result in Observe() trying to
336 // Close() us. 336 // Close() us.
337 registrar_.RemoveAll(); 337 registrar_.RemoveAll();
338 338
339 if (infobar_) { 339 if (infobar_) {
340 static_cast<ExtensionDevToolsInfoBarDelegate*>( 340 static_cast<ExtensionDevToolsInfoBarDelegate*>(
341 infobar_->delegate())->set_client_host(NULL); 341 infobar_->delegate())->set_client_host(NULL);
342 InfoBarService::FromWebContents(WebContents::FromRenderViewHost( 342 InfoBarService::FromWebContents(
343 agent_host_->GetRenderViewHost()))->RemoveInfoBar(infobar_); 343 WebContents::FromRenderViewHost(agent_host_->GetRenderViewHost()))
344 ->infobar_manager()
345 .RemoveInfoBar(infobar_);
344 } 346 }
345 AttachedClientHosts::GetInstance()->Remove(this); 347 AttachedClientHosts::GetInstance()->Remove(this);
346 } 348 }
347 349
348 // DevToolsClientHost interface 350 // DevToolsClientHost interface
349 void ExtensionDevToolsClientHost::InspectedContentsClosing() { 351 void ExtensionDevToolsClientHost::InspectedContentsClosing() {
350 SendDetachedEvent(); 352 SendDetachedEvent();
351 delete this; 353 delete this;
352 } 354 }
353 355
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 713
712 void DebuggerGetTargetsFunction::SendTargetList( 714 void DebuggerGetTargetsFunction::SendTargetList(
713 const std::vector<DevToolsTargetImpl*>& target_list) { 715 const std::vector<DevToolsTargetImpl*>& target_list) {
714 scoped_ptr<base::ListValue> result(new base::ListValue()); 716 scoped_ptr<base::ListValue> result(new base::ListValue());
715 for (size_t i = 0; i < target_list.size(); ++i) 717 for (size_t i = 0; i < target_list.size(); ++i)
716 result->Append(SerializeTarget(*target_list[i])); 718 result->Append(SerializeTarget(*target_list[i]));
717 STLDeleteContainerPointers(target_list.begin(), target_list.end()); 719 STLDeleteContainerPointers(target_list.begin(), target_list.end());
718 SetResult(result.release()); 720 SetResult(result.release());
719 SendResponse(true); 721 SendResponse(true);
720 } 722 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698