OLD | NEW |
---|---|
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/api/extension_action/extension_action_api.h" | 5 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h" |
6 | 6 |
7 #include "base/base64.h" | 7 #include "base/base64.h" |
8 #include "base/lazy_instance.h" | 8 #include "base/lazy_instance.h" |
9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
311 | 311 |
312 // static | 312 // static |
313 void ExtensionActionAPI::BrowserActionExecuted( | 313 void ExtensionActionAPI::BrowserActionExecuted( |
314 content::BrowserContext* context, | 314 content::BrowserContext* context, |
315 const ExtensionAction& browser_action, | 315 const ExtensionAction& browser_action, |
316 WebContents* web_contents) { | 316 WebContents* web_contents) { |
317 ExtensionActionExecuted(context, browser_action, web_contents); | 317 ExtensionActionExecuted(context, browser_action, web_contents); |
318 } | 318 } |
319 | 319 |
320 // static | 320 // static |
321 void ExtensionActionAPI::PageActionExecuted(content::BrowserContext* context, | 321 void ExtensionActionAPI::PageActionExecuted(content::BrowserContext* context, |
Devlin
2014/08/21 21:44:38
I'll clean up the rest of this in an (unrelated) C
| |
322 const ExtensionAction& page_action, | 322 const ExtensionAction& page_action, |
323 int tab_id, | 323 int tab_id, |
324 const std::string& url, | 324 const std::string& url, |
325 int button) { | 325 int button) { |
326 DispatchOldPageActionEvent(context, | |
327 page_action.extension_id(), | |
328 page_action.id(), | |
329 tab_id, | |
330 url, | |
331 button); | |
332 WebContents* web_contents = NULL; | 326 WebContents* web_contents = NULL; |
333 if (!ExtensionTabUtil::GetTabById( | 327 if (!ExtensionTabUtil::GetTabById( |
334 tab_id, | 328 tab_id, |
335 Profile::FromBrowserContext(context), | 329 Profile::FromBrowserContext(context), |
336 context->IsOffTheRecord(), | 330 context->IsOffTheRecord(), |
337 NULL, | 331 NULL, |
338 NULL, | 332 NULL, |
339 &web_contents, | 333 &web_contents, |
340 NULL)) { | 334 NULL)) { |
341 return; | 335 return; |
(...skipping 11 matching lines...) Expand all Loading... | |
353 return; | 347 return; |
354 | 348 |
355 scoped_ptr<Event> event(new Event(event_name, event_args.Pass())); | 349 scoped_ptr<Event> event(new Event(event_name, event_args.Pass())); |
356 event->restrict_to_browser_context = context; | 350 event->restrict_to_browser_context = context; |
357 event->user_gesture = EventRouter::USER_GESTURE_ENABLED; | 351 event->user_gesture = EventRouter::USER_GESTURE_ENABLED; |
358 EventRouter::Get(context) | 352 EventRouter::Get(context) |
359 ->DispatchEventToExtension(extension_id, event.Pass()); | 353 ->DispatchEventToExtension(extension_id, event.Pass()); |
360 } | 354 } |
361 | 355 |
362 // static | 356 // static |
363 void ExtensionActionAPI::DispatchOldPageActionEvent( | |
364 content::BrowserContext* context, | |
365 const std::string& extension_id, | |
366 const std::string& page_action_id, | |
367 int tab_id, | |
368 const std::string& url, | |
369 int button) { | |
370 scoped_ptr<base::ListValue> args(new base::ListValue()); | |
371 args->Append(new base::StringValue(page_action_id)); | |
372 | |
373 base::DictionaryValue* data = new base::DictionaryValue(); | |
374 data->Set(page_actions_keys::kTabIdKey, new base::FundamentalValue(tab_id)); | |
375 data->Set(page_actions_keys::kTabUrlKey, new base::StringValue(url)); | |
376 data->Set(page_actions_keys::kButtonKey, | |
377 new base::FundamentalValue(button)); | |
378 args->Append(data); | |
379 | |
380 DispatchEventToExtension(context, extension_id, "pageActions", args.Pass()); | |
381 } | |
382 | |
383 // static | |
384 void ExtensionActionAPI::ExtensionActionExecuted( | 357 void ExtensionActionAPI::ExtensionActionExecuted( |
385 content::BrowserContext* context, | 358 content::BrowserContext* context, |
386 const ExtensionAction& extension_action, | 359 const ExtensionAction& extension_action, |
387 WebContents* web_contents) { | 360 WebContents* web_contents) { |
388 const char* event_name = NULL; | 361 const char* event_name = NULL; |
389 switch (extension_action.action_type()) { | 362 switch (extension_action.action_type()) { |
390 case ActionInfo::TYPE_BROWSER: | 363 case ActionInfo::TYPE_BROWSER: |
391 event_name = "browserAction.onClicked"; | 364 event_name = "browserAction.onClicked"; |
392 break; | 365 break; |
393 case ActionInfo::TYPE_PAGE: | 366 case ActionInfo::TYPE_PAGE: |
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
827 if (host->extension_host_type() != VIEW_TYPE_EXTENSION_POPUP || | 800 if (host->extension_host_type() != VIEW_TYPE_EXTENSION_POPUP || |
828 host->extension()->id() != extension_->id()) | 801 host->extension()->id() != extension_->id()) |
829 return; | 802 return; |
830 | 803 |
831 SendResponse(true); | 804 SendResponse(true); |
832 response_sent_ = true; | 805 response_sent_ = true; |
833 registrar_.RemoveAll(); | 806 registrar_.RemoveAll(); |
834 } | 807 } |
835 | 808 |
836 } // namespace extensions | 809 } // namespace extensions |
OLD | NEW |