Index: chrome/browser/extensions/extension_webnavigation_api.cc |
diff --git a/chrome/browser/extensions/extension_webnavigation_api.cc b/chrome/browser/extensions/extension_webnavigation_api.cc |
index bf395ab8933cd43852c34edbf20a0955ba2d25a7..089a37a741f7dcf5b4ccfca1d5f3de6ed512116c 100644 |
--- a/chrome/browser/extensions/extension_webnavigation_api.cc |
+++ b/chrome/browser/extensions/extension_webnavigation_api.cc |
@@ -44,9 +44,10 @@ double MilliSecondsFromTime(const base::Time& time) { |
} |
// Dispatches events to the extension message service. |
-void DispatchEvent(Profile* profile, |
+void DispatchEvent(content::BrowserContext* context, |
const char* event_name, |
const std::string& json_args) { |
+ Profile* profile = static_cast<Profile*>(context); |
if (profile && profile->GetExtensionEventRouter()) { |
profile->GetExtensionEventRouter()->DispatchEventToRenderers( |
event_name, json_args, profile, GURL()); |
@@ -72,7 +73,7 @@ void DispatchOnBeforeNavigate(TabContents* tab_contents, |
std::string json_args; |
base::JSONWriter::Write(&args, false, &json_args); |
- DispatchEvent(tab_contents->profile(), keys::kOnBeforeNavigate, json_args); |
+ DispatchEvent(tab_contents->context(), keys::kOnBeforeNavigate, json_args); |
} |
// Constructs and dispatches an onCommitted event. |
@@ -102,7 +103,7 @@ void DispatchOnCommitted(TabContents* tab_contents, |
std::string json_args; |
base::JSONWriter::Write(&args, false, &json_args); |
- DispatchEvent(tab_contents->profile(), keys::kOnCommitted, json_args); |
+ DispatchEvent(tab_contents->context(), keys::kOnCommitted, json_args); |
} |
// Constructs and dispatches an onDOMContentLoaded event. |
@@ -122,7 +123,7 @@ void DispatchOnDOMContentLoaded(TabContents* tab_contents, |
std::string json_args; |
base::JSONWriter::Write(&args, false, &json_args); |
- DispatchEvent(tab_contents->profile(), keys::kOnDOMContentLoaded, json_args); |
+ DispatchEvent(tab_contents->context(), keys::kOnDOMContentLoaded, json_args); |
} |
// Constructs and dispatches an onCompleted event. |
@@ -142,7 +143,7 @@ void DispatchOnCompleted(TabContents* tab_contents, |
std::string json_args; |
base::JSONWriter::Write(&args, false, &json_args); |
- DispatchEvent(tab_contents->profile(), keys::kOnCompleted, json_args); |
+ DispatchEvent(tab_contents->context(), keys::kOnCompleted, json_args); |
} |
// Constructs and dispatches an onBeforeRetarget event. |
@@ -279,9 +280,10 @@ void ExtensionWebNavigationEventRouter::Observe( |
void ExtensionWebNavigationEventRouter::CreatingNewWindow( |
TabContents* tab_contents, |
const ViewHostMsg_CreateWindow_Params* details) { |
- if (profile_->IsSameProfile(tab_contents->profile())) { |
+ Profile* tab_profile = static_cast<Profile*>(tab_contents->context()); |
+ if (profile_->IsSameProfile(tab_profile)) { |
DispatchOnBeforeRetarget(tab_contents, |
- tab_contents->profile(), |
+ tab_profile, |
details->opener_url, |
details->target_url); |
} |
@@ -352,7 +354,7 @@ void ExtensionWebNavigationTabObserver::DidFailProvisionalLoad( |
std::string json_args; |
base::JSONWriter::Write(&args, false, &json_args); |
navigation_state_.ErrorOccurredInFrame(frame_id); |
- DispatchEvent(tab_contents()->profile(), keys::kOnErrorOccurred, json_args); |
+ DispatchEvent(tab_contents()->context(), keys::kOnErrorOccurred, json_args); |
} |
void ExtensionWebNavigationTabObserver::DocumentLoadedInFrame( |
@@ -391,7 +393,7 @@ void ExtensionWebNavigationTabObserver::DidOpenURL( |
disposition != OFF_THE_RECORD) { |
return; |
} |
- Profile* profile = tab_contents()->profile(); |
+ Profile* profile = static_cast<Profile*>(tab_contents()->context()); |
if (disposition == OFF_THE_RECORD) { |
if (!profile->HasOffTheRecordProfile()) { |
NOTREACHED(); |