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

Side by Side Diff: chrome/browser/extensions/api/declarative_content/content_action.cc

Issue 535203003: Replace Profile* in declarative_api with BrowserContext* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove changes to unit-test; those have to wait until move. Created 6 years, 3 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/api/declarative_content/content_action.h" 5 #include "chrome/browser/extensions/api/declarative_content/content_action.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "chrome/browser/extensions/api/declarative_content/content_constants.h" 12 #include "chrome/browser/extensions/api/declarative_content/content_constants.h"
13 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h" 13 #include "chrome/browser/extensions/api/extension_action/extension_action_api.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_tab_util.h" 16 #include "chrome/browser/extensions/extension_tab_util.h"
17 #include "chrome/browser/profiles/profile.h"
18 #include "chrome/browser/sessions/session_tab_helper.h" 17 #include "chrome/browser/sessions/session_tab_helper.h"
19 #include "content/public/browser/invalidate_type.h" 18 #include "content/public/browser/invalidate_type.h"
20 #include "content/public/browser/render_view_host.h" 19 #include "content/public/browser/render_view_host.h"
21 #include "content/public/browser/web_contents.h" 20 #include "content/public/browser/web_contents.h"
22 #include "extensions/browser/extension_registry.h" 21 #include "extensions/browser/extension_registry.h"
23 #include "extensions/browser/extension_system.h" 22 #include "extensions/browser/extension_system.h"
24 #include "extensions/common/extension.h" 23 #include "extensions/common/extension.h"
25 #include "extensions/common/extension_messages.h" 24 #include "extensions/common/extension_messages.h"
26 25
27 namespace extensions { 26 namespace extensions {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 return scoped_refptr<ContentAction>(); 63 return scoped_refptr<ContentAction>();
65 } 64 }
66 return scoped_refptr<ContentAction>(new ShowPageAction); 65 return scoped_refptr<ContentAction>(new ShowPageAction);
67 } 66 }
68 67
69 // Implementation of ContentAction: 68 // Implementation of ContentAction:
70 virtual Type GetType() const OVERRIDE { return ACTION_SHOW_PAGE_ACTION; } 69 virtual Type GetType() const OVERRIDE { return ACTION_SHOW_PAGE_ACTION; }
71 virtual void Apply(const std::string& extension_id, 70 virtual void Apply(const std::string& extension_id,
72 const base::Time& extension_install_time, 71 const base::Time& extension_install_time,
73 ApplyInfo* apply_info) const OVERRIDE { 72 ApplyInfo* apply_info) const OVERRIDE {
74 ExtensionAction* action = GetPageAction(apply_info->profile, extension_id); 73 ExtensionAction* action =
74 GetPageAction(apply_info->browser_context, extension_id);
75 action->DeclarativeShow(ExtensionTabUtil::GetTabId(apply_info->tab)); 75 action->DeclarativeShow(ExtensionTabUtil::GetTabId(apply_info->tab));
76 ExtensionActionAPI::Get(apply_info->profile)->NotifyChange( 76 ExtensionActionAPI::Get(apply_info->browser_context)->NotifyChange(
77 action, apply_info->tab, apply_info->profile); 77 action, apply_info->tab, apply_info->browser_context);
78 } 78 }
79 // The page action is already showing, so nothing needs to be done here. 79 // The page action is already showing, so nothing needs to be done here.
80 virtual void Reapply(const std::string& extension_id, 80 virtual void Reapply(const std::string& extension_id,
81 const base::Time& extension_install_time, 81 const base::Time& extension_install_time,
82 ApplyInfo* apply_info) const OVERRIDE {} 82 ApplyInfo* apply_info) const OVERRIDE {}
83 virtual void Revert(const std::string& extension_id, 83 virtual void Revert(const std::string& extension_id,
84 const base::Time& extension_install_time, 84 const base::Time& extension_install_time,
85 ApplyInfo* apply_info) const OVERRIDE { 85 ApplyInfo* apply_info) const OVERRIDE {
86 if (ExtensionAction* action = 86 if (ExtensionAction* action =
87 GetPageAction(apply_info->profile, extension_id)) { 87 GetPageAction(apply_info->browser_context, extension_id)) {
88 action->UndoDeclarativeShow(ExtensionTabUtil::GetTabId(apply_info->tab)); 88 action->UndoDeclarativeShow(ExtensionTabUtil::GetTabId(apply_info->tab));
89 ExtensionActionAPI::Get(apply_info->profile)->NotifyChange( 89 ExtensionActionAPI::Get(apply_info->browser_context)->NotifyChange(
90 action, apply_info->tab, apply_info->profile); 90 action, apply_info->tab, apply_info->browser_context);
91 } 91 }
92 } 92 }
93 93
94 private: 94 private:
95 static ExtensionAction* GetPageAction(Profile* profile, 95 static ExtensionAction* GetPageAction(
96 const std::string& extension_id) { 96 content::BrowserContext* browser_context,
97 const std::string& extension_id) {
97 const Extension* extension = 98 const Extension* extension =
98 ExtensionRegistry::Get(profile) 99 ExtensionRegistry::Get(browser_context)
99 ->GetExtensionById(extension_id, ExtensionRegistry::EVERYTHING); 100 ->GetExtensionById(extension_id, ExtensionRegistry::EVERYTHING);
100 if (!extension) 101 if (!extension)
101 return NULL; 102 return NULL;
102 return ExtensionActionManager::Get(profile)->GetPageAction(*extension); 103 return ExtensionActionManager::Get(browser_context)
104 ->GetPageAction(*extension);
103 } 105 }
104 virtual ~ShowPageAction() {} 106 virtual ~ShowPageAction() {}
105 107
106 DISALLOW_COPY_AND_ASSIGN(ShowPageAction); 108 DISALLOW_COPY_AND_ASSIGN(ShowPageAction);
107 }; 109 };
108 110
109 // Helper for getting JS collections into C++. 111 // Helper for getting JS collections into C++.
110 static bool AppendJSStringsToCPPStrings(const base::ListValue& append_strings, 112 static bool AppendJSStringsToCPPStrings(const base::ListValue& append_strings,
111 std::vector<std::string>* append_to) { 113 std::vector<std::string>* append_to) {
112 for (base::ListValue::const_iterator it = append_strings.begin(); 114 for (base::ListValue::const_iterator it = append_strings.begin();
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 bool* bad_message, 381 bool* bad_message,
380 const base::DictionaryValue** action_dict, 382 const base::DictionaryValue** action_dict,
381 std::string* instance_type) { 383 std::string* instance_type) {
382 INPUT_FORMAT_VALIDATE(json_action.GetAsDictionary(action_dict)); 384 INPUT_FORMAT_VALIDATE(json_action.GetAsDictionary(action_dict));
383 INPUT_FORMAT_VALIDATE( 385 INPUT_FORMAT_VALIDATE(
384 (*action_dict)->GetString(keys::kInstanceType, instance_type)); 386 (*action_dict)->GetString(keys::kInstanceType, instance_type));
385 return true; 387 return true;
386 } 388 }
387 389
388 } // namespace extensions 390 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698