| 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_actions_api.h
" | 5 #include "chrome/browser/extensions/api/extension_action/extension_actions_api.h
" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/base64.h" | 9 #include "base/base64.h" |
| 10 #include "base/string_number_conversions.h" | 10 #include "base/string_number_conversions.h" |
| 11 #include "base/string_piece.h" | 11 #include "base/string_piece.h" |
| 12 #include "base/values.h" | 12 #include "base/values.h" |
| 13 #include "chrome/browser/extensions/api/extension_action/extension_page_actions_
api_constants.h" | 13 #include "chrome/browser/extensions/api/extension_action/extension_page_actions_
api_constants.h" |
| 14 #include "chrome/browser/extensions/extension_action.h" | 14 #include "chrome/browser/extensions/extension_action.h" |
| 15 #include "chrome/browser/extensions/extension_action_manager.h" | 15 #include "chrome/browser/extensions/extension_action_manager.h" |
| 16 #include "chrome/browser/extensions/extension_service.h" | 16 #include "chrome/browser/extensions/extension_service.h" |
| 17 #include "chrome/browser/extensions/extension_system.h" | 17 #include "chrome/browser/extensions/extension_system.h" |
| 18 #include "chrome/browser/extensions/extension_tab_util.h" | 18 #include "chrome/browser/extensions/extension_tab_util.h" |
| 19 #include "chrome/browser/extensions/location_bar_controller.h" | 19 #include "chrome/browser/extensions/location_bar_controller.h" |
| 20 #include "chrome/browser/extensions/state_store.h" | 20 #include "chrome/browser/extensions/state_store.h" |
| 21 #include "chrome/browser/extensions/tab_helper.h" | 21 #include "chrome/browser/extensions/tab_helper.h" |
| 22 #include "chrome/browser/profiles/profile.h" | 22 #include "chrome/browser/profiles/profile.h" |
| 23 #include "chrome/browser/ui/tab_contents/tab_contents.h" | |
| 24 #include "chrome/common/chrome_notification_types.h" | 23 #include "chrome/common/chrome_notification_types.h" |
| 25 #include "chrome/common/extensions/extension.h" | 24 #include "chrome/common/extensions/extension.h" |
| 26 #include "chrome/common/extensions/extension_error_utils.h" | 25 #include "chrome/common/extensions/extension_error_utils.h" |
| 27 #include "chrome/common/render_messages.h" | 26 #include "chrome/common/render_messages.h" |
| 28 #include "content/public/browser/navigation_entry.h" | 27 #include "content/public/browser/navigation_entry.h" |
| 29 #include "content/public/browser/notification_service.h" | 28 #include "content/public/browser/notification_service.h" |
| 30 | 29 |
| 31 namespace { | 30 namespace { |
| 32 | 31 |
| 33 const char kBrowserActionStorageKey[] = "browser_action"; | 32 const char kBrowserActionStorageKey[] = "browser_action"; |
| (...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 | 335 |
| 337 case Value::TYPE_NULL: | 336 case Value::TYPE_NULL: |
| 338 // The tabId might be an optional argument. | 337 // The tabId might be an optional argument. |
| 339 break; | 338 break; |
| 340 | 339 |
| 341 default: | 340 default: |
| 342 EXTENSION_FUNCTION_VALIDATE(false); | 341 EXTENSION_FUNCTION_VALIDATE(false); |
| 343 } | 342 } |
| 344 } | 343 } |
| 345 | 344 |
| 346 // Find the TabContents that contains this tab id if one is required. | 345 // Find the WebContents that contains this tab id if one is required. |
| 347 if (tab_id_ == ExtensionAction::kDefaultTabId) { | 346 if (tab_id_ == ExtensionAction::kDefaultTabId) { |
| 348 EXTENSION_FUNCTION_VALIDATE( | 347 EXTENSION_FUNCTION_VALIDATE( |
| 349 extensions::ExtensionActionManager::Get(profile_)-> | 348 extensions::ExtensionActionManager::Get(profile_)-> |
| 350 GetBrowserAction(*GetExtension())); | 349 GetBrowserAction(*GetExtension())); |
| 351 } else { | 350 } else { |
| 352 ExtensionTabUtil::GetTabById( | 351 ExtensionTabUtil::GetTabById( |
| 353 tab_id_, profile(), include_incognito(), NULL, NULL, &contents_, NULL); | 352 tab_id_, profile(), include_incognito(), NULL, NULL, &contents_, NULL); |
| 354 if (!contents_) { | 353 if (!contents_) { |
| 355 error_ = ExtensionErrorUtils::FormatErrorMessage( | 354 error_ = ExtensionErrorUtils::FormatErrorMessage( |
| 356 kNoTabError, base::IntToString(tab_id_)); | 355 kNoTabError, base::IntToString(tab_id_)); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 381 } | 380 } |
| 382 | 381 |
| 383 void ExtensionActionFunction::NotifyBrowserActionChange() { | 382 void ExtensionActionFunction::NotifyBrowserActionChange() { |
| 384 content::NotificationService::current()->Notify( | 383 content::NotificationService::current()->Notify( |
| 385 chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED, | 384 chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED, |
| 386 content::Source<ExtensionAction>(extension_action_), | 385 content::Source<ExtensionAction>(extension_action_), |
| 387 content::Details<Profile>(profile())); | 386 content::Details<Profile>(profile())); |
| 388 } | 387 } |
| 389 | 388 |
| 390 void ExtensionActionFunction::NotifyLocationBarChange() { | 389 void ExtensionActionFunction::NotifyLocationBarChange() { |
| 391 extensions::TabHelper::FromWebContents(contents_->web_contents())-> | 390 extensions::TabHelper::FromWebContents(contents_)-> |
| 392 location_bar_controller()->NotifyChange(); | 391 location_bar_controller()->NotifyChange(); |
| 393 } | 392 } |
| 394 | 393 |
| 395 // static | 394 // static |
| 396 bool ExtensionActionFunction::ParseCSSColorString( | 395 bool ExtensionActionFunction::ParseCSSColorString( |
| 397 const std::string& color_string, | 396 const std::string& color_string, |
| 398 SkColor* result) { | 397 SkColor* result) { |
| 399 std::string formatted_color = "#"; | 398 std::string formatted_color = "#"; |
| 400 // Check the string for incorrect formatting. | 399 // Check the string for incorrect formatting. |
| 401 if (color_string[0] != '#') | 400 if (color_string[0] != '#') |
| (...skipping 29 matching lines...) Expand all Loading... |
| 431 | 430 |
| 432 bool ExtensionActionFunction::SetVisible(bool visible) { | 431 bool ExtensionActionFunction::SetVisible(bool visible) { |
| 433 extension_action_->SetAppearance( | 432 extension_action_->SetAppearance( |
| 434 tab_id_, visible ? ExtensionAction::ACTIVE : ExtensionAction::INVISIBLE); | 433 tab_id_, visible ? ExtensionAction::ACTIVE : ExtensionAction::INVISIBLE); |
| 435 NotifyChange(); | 434 NotifyChange(); |
| 436 return true; | 435 return true; |
| 437 } | 436 } |
| 438 | 437 |
| 439 extensions::TabHelper& ExtensionActionFunction::tab_helper() const { | 438 extensions::TabHelper& ExtensionActionFunction::tab_helper() const { |
| 440 CHECK(contents_); | 439 CHECK(contents_); |
| 441 return *extensions::TabHelper::FromWebContents(contents_->web_contents()); | 440 return *extensions::TabHelper::FromWebContents(contents_); |
| 442 } | 441 } |
| 443 | 442 |
| 444 bool ExtensionActionShowFunction::RunExtensionAction() { | 443 bool ExtensionActionShowFunction::RunExtensionAction() { |
| 445 return SetVisible(true); | 444 return SetVisible(true); |
| 446 } | 445 } |
| 447 | 446 |
| 448 bool ExtensionActionHideFunction::RunExtensionAction() { | 447 bool ExtensionActionHideFunction::RunExtensionAction() { |
| 449 return SetVisible(false); | 448 return SetVisible(false); |
| 450 } | 449 } |
| 451 | 450 |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 556 bool ExtensionActionGetBadgeBackgroundColorFunction::RunExtensionAction() { | 555 bool ExtensionActionGetBadgeBackgroundColorFunction::RunExtensionAction() { |
| 557 ListValue* list = new ListValue(); | 556 ListValue* list = new ListValue(); |
| 558 SkColor color = extension_action_->GetBadgeBackgroundColor(tab_id_); | 557 SkColor color = extension_action_->GetBadgeBackgroundColor(tab_id_); |
| 559 list->Append(Value::CreateIntegerValue(SkColorGetR(color))); | 558 list->Append(Value::CreateIntegerValue(SkColorGetR(color))); |
| 560 list->Append(Value::CreateIntegerValue(SkColorGetG(color))); | 559 list->Append(Value::CreateIntegerValue(SkColorGetG(color))); |
| 561 list->Append(Value::CreateIntegerValue(SkColorGetB(color))); | 560 list->Append(Value::CreateIntegerValue(SkColorGetB(color))); |
| 562 list->Append(Value::CreateIntegerValue(SkColorGetA(color))); | 561 list->Append(Value::CreateIntegerValue(SkColorGetA(color))); |
| 563 SetResult(list); | 562 SetResult(list); |
| 564 return true; | 563 return true; |
| 565 } | 564 } |
| OLD | NEW |