Home | History | Annotate | Download | only in webui
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_UI_WEBUI_DEVTOOLS_UI_H_
      6 #define CHROME_BROWSER_UI_WEBUI_DEVTOOLS_UI_H_
      7 
      8 #include "base/compiler_specific.h"
      9 #include "base/memory/weak_ptr.h"
     10 #include "chrome/browser/devtools/device/devtools_android_bridge.h"
     11 #include "chrome/browser/devtools/devtools_ui_bindings.h"
     12 #include "content/public/browser/web_contents_observer.h"
     13 #include "content/public/browser/web_ui_controller.h"
     14 
     15 class Profile;
     16 
     17 class DevToolsUI : public content::WebUIController,
     18                    public content::WebContentsObserver {
     19  public:
     20   static GURL GetProxyURL(const std::string& frontend_url);
     21 
     22   explicit DevToolsUI(content::WebUI* web_ui);
     23   virtual ~DevToolsUI();
     24 
     25   // content::WebContentsObserver overrides.
     26   virtual void NavigationEntryCommitted(
     27       const content::LoadCommittedDetails& load_details) OVERRIDE;
     28 
     29  private:
     30   void RemotePageOpened(const GURL& virtual_url,
     31                         DevToolsAndroidBridge::RemotePage* page);
     32 
     33   DevToolsUIBindings bindings_;
     34   GURL remote_frontend_loading_url_;
     35   GURL remote_page_opening_url_;
     36   base::WeakPtrFactory<DevToolsUI> weak_factory_;
     37   DISALLOW_COPY_AND_ASSIGN(DevToolsUI);
     38 };
     39 
     40 #endif  // CHROME_BROWSER_UI_WEBUI_DEVTOOLS_UI_H_
     41