summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_dom_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_dom_ui.cc')
-rw-r--r--chrome/browser/extensions/extension_dom_ui.cc16
1 files changed, 12 insertions, 4 deletions
diff --git a/chrome/browser/extensions/extension_dom_ui.cc b/chrome/browser/extensions/extension_dom_ui.cc
index de2d13b..b39b15b 100644
--- a/chrome/browser/extensions/extension_dom_ui.cc
+++ b/chrome/browser/extensions/extension_dom_ui.cc
@@ -76,11 +76,19 @@ void ExtensionDOMUI::ProcessDOMUIMessage(const std::string& message,
has_callback);
}
-Browser* ExtensionDOMUI::GetBrowser() const {
+Browser* ExtensionDOMUI::GetBrowser(bool include_incognito) const {
+ Browser* browser = NULL;
TabContentsDelegate* tab_contents_delegate = tab_contents()->delegate();
- if (tab_contents_delegate)
- return tab_contents_delegate->GetBrowser();
- return NULL;
+ if (tab_contents_delegate) {
+ browser = tab_contents_delegate->GetBrowser();
+ if (browser && browser->profile()->IsOffTheRecord() && !include_incognito) {
+ // Fall back to the toplevel regular browser if we don't want to include
+ // incognito browsers.
+ browser = BrowserList::GetLastActiveWithProfile(
+ browser->profile()->GetOriginalProfile());
+ }
+ }
+ return browser;
}
Profile* ExtensionDOMUI::GetProfile() {