Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / extensions / extension_error_ui_util.cc
index fc6b728..da0312c 100644 (file)
@@ -15,7 +15,6 @@
 #include "base/threading/sequenced_worker_pool.h"
 #include "base/values.h"
 #include "chrome/browser/devtools/devtools_window.h"
-#include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_finder.h"
@@ -24,7 +23,7 @@
 #include "content/public/browser/render_view_host.h"
 #include "content/public/browser/web_contents.h"
 #include "extensions/browser/extension_error.h"
-#include "extensions/browser/extension_system.h"
+#include "extensions/browser/extension_registry.h"
 #include "extensions/browser/file_highlighter.h"
 #include "extensions/common/constants.h"
 #include "extensions/common/extension.h"
@@ -80,13 +79,14 @@ void HandleRequestFileSource(const base::DictionaryValue* args,
     return;
   }
 
-  ExtensionService* extension_service =
-      ExtensionSystem::Get(profile)->extension_service();
-  if (!extension_service)
-    return;
+  const Extension* extension =
+      ExtensionRegistry::Get(profile)->GetExtensionById(
+          extension_id, ExtensionRegistry::EVERYTHING);
 
-  const Extension* extension = extension_service->GetExtensionById(
-      extension_id, true /* include disabled */);
+  if (!extension) {
+    NOTREACHED();
+    return;
+  }
 
   // Under no circumstances should we ever need to reference a file outside of
   // the extension's directory. If it tries to, abort.
@@ -157,6 +157,11 @@ void HandleOpenDevTools(const base::DictionaryValue* args) {
   if (!rvh)
     return;
 
+  content::WebContents* web_contents =
+      content::WebContents::FromRenderViewHost(rvh);
+  if (!web_contents)
+    return;
+
   // If we include a url, we should inspect it specifically (and not just the
   // render view).
   base::string16 url;
@@ -170,15 +175,13 @@ void HandleOpenDevTools(const base::DictionaryValue* args) {
     // Line/column numbers are reported in display-friendly 1-based numbers,
     // but are inspected in zero-based numbers.
     DevToolsWindow::OpenDevToolsWindow(
-        rvh,
+        web_contents,
         DevToolsToggleAction::Reveal(url, line_number - 1, column_number - 1));
   } else {
-    DevToolsWindow::OpenDevToolsWindow(rvh);
+    DevToolsWindow::OpenDevToolsWindow(web_contents);
   }
 
   // Once we open the inspector, we focus on the appropriate tab...
-  content::WebContents* web_contents =
-      content::WebContents::FromRenderViewHost(rvh);
   Browser* browser = chrome::FindBrowserWithWebContents(web_contents);
 
   // ... but some pages (popups and apps) don't have tabs, and some (background