Index: chrome/browser/extensions/extension_tab_util.cc |
diff --git a/chrome/browser/extensions/extension_tab_util.cc b/chrome/browser/extensions/extension_tab_util.cc |
index 5d4b89b667faac9facefd526cd0de2a974db0499..08064d3e1fda51d7351addaab6278e1d06e8810e 100644 |
--- a/chrome/browser/extensions/extension_tab_util.cc |
+++ b/chrome/browser/extensions/extension_tab_util.cc |
@@ -315,6 +315,9 @@ int ExtensionTabUtil::GetWindowIdOfTabStripModel( |
} |
int ExtensionTabUtil::GetTabId(const WebContents* web_contents) { |
+ Browser* browser = chrome::FindBrowserWithWebContents(web_contents); |
+ if (browser && !ExtensionTabUtil::BrowserSupportsTabs(browser)) |
+ return -1; |
return SessionTabHelper::IdForTab(web_contents); |
} |
@@ -489,6 +492,8 @@ bool ExtensionTabUtil::GetTabById(int tab_id, |
TabStripModel** tab_strip, |
WebContents** contents, |
int* tab_index) { |
+ if (tab_id == api::tabs::TAB_ID_NONE) |
+ return false; |
Profile* profile = Profile::FromBrowserContext(browser_context); |
Profile* incognito_profile = |
include_incognito && profile->HasOffTheRecordProfile() ? |
@@ -638,4 +643,9 @@ bool ExtensionTabUtil::OpenOptionsPage(const Extension* extension, |
return true; |
} |
+// static |
+bool ExtensionTabUtil::BrowserSupportsTabs(Browser* browser) { |
+ return browser && browser->tab_strip_model() && !browser->is_devtools(); |
+} |
+ |
} // namespace extensions |