Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Unified Diff: chrome/browser/devtools/devtools_window.h

Issue 253823005: DevTools: extract DevToolsWindowBase, leave docking, unload and factory logic in DevToolsWindow. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/devtools/devtools_window.h
diff --git a/chrome/browser/devtools/devtools_window.h b/chrome/browser/devtools/devtools_window.h
index a7c71536844a58edabdb59e7ec897eb6614da7c6..79972f4a8aa10d5fa2df741bdb6741ea5b617c67 100644
--- a/chrome/browser/devtools/devtools_window.h
+++ b/chrome/browser/devtools/devtools_window.h
@@ -5,62 +5,29 @@
#ifndef CHROME_BROWSER_DEVTOOLS_DEVTOOLS_WINDOW_H_
#define CHROME_BROWSER_DEVTOOLS_DEVTOOLS_WINDOW_H_
-#include <string>
-#include <vector>
-
-#include "base/basictypes.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/weak_ptr.h"
-#include "base/strings/string16.h"
-#include "chrome/browser/devtools/device/devtools_android_bridge.h"
#include "chrome/browser/devtools/devtools_contents_resizing_strategy.h"
-#include "chrome/browser/devtools/devtools_embedder_message_dispatcher.h"
-#include "chrome/browser/devtools/devtools_file_helper.h"
-#include "chrome/browser/devtools/devtools_file_system_indexer.h"
-#include "chrome/browser/devtools/devtools_targets_ui.h"
#include "chrome/browser/devtools/devtools_toggle_action.h"
-#include "content/public/browser/devtools_client_host.h"
-#include "content/public/browser/devtools_frontend_host_delegate.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
+#include "chrome/browser/devtools/devtools_window_base.h"
#include "content/public/browser/web_contents_delegate.h"
-#include "ui/gfx/size.h"
class Browser;
class BrowserWindow;
class DevToolsControllerTest;
class DevToolsEventForwarder;
-class Profile;
-
-namespace base {
-class Value;
-}
namespace content {
class DevToolsAgentHost;
-class DevToolsClientHost;
-struct FileChooserParams;
struct NativeWebKeyboardEvent;
class RenderViewHost;
-class WebContents;
-}
-
-namespace IPC {
-class Message;
}
namespace user_prefs {
class PrefRegistrySyncable;
}
-class DevToolsWindow : private content::NotificationObserver,
- private content::WebContentsDelegate,
- private content::DevToolsFrontendHostDelegate,
- private DevToolsEmbedderMessageDispatcher::Delegate,
- private DevToolsAndroidBridge::DeviceCountListener {
+class DevToolsWindow : public DevToolsWindowBase,
+ public content::WebContentsDelegate {
public:
- typedef base::Callback<void(bool)> InfoBarCallback;
-
static const char kDevToolsApp[];
virtual ~DevToolsWindow();
@@ -122,14 +89,8 @@ class DevToolsWindow : private content::NotificationObserver,
static void InspectElement(
content::RenderViewHost* inspected_rvh, int x, int y);
- // content::DevToolsFrontendHostDelegate:
- virtual void InspectedContentsClosing() OVERRIDE;
-
- content::WebContents* web_contents() { return web_contents_; }
Browser* browser() { return browser_; } // For tests.
- content::RenderViewHost* GetRenderViewHost();
-
// Inspected WebContents is placed over DevTools WebContents in docked mode.
// The following method returns the resizing strategy of inspected
// WebContents relative to DevTools WebContents.
@@ -267,15 +228,14 @@ class DevToolsWindow : private content::NotificationObserver,
bool force_open,
const DevToolsToggleAction& action);
- // content::NotificationObserver:
- virtual void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) OVERRIDE;
+ // content::DevToolsFrontendHostDelegate override:
+ virtual void InspectedContentsClosing() OVERRIDE;
// content::WebContentsDelegate:
virtual content::WebContents* OpenURLFromTab(
content::WebContents* source,
const content::OpenURLParams& params) OVERRIDE;
+ virtual void ActivateContents(content::WebContents* contents) OVERRIDE;
virtual void AddNewContents(content::WebContents* source,
content::WebContents* new_contents,
WindowOpenDisposition disposition,
@@ -308,12 +268,8 @@ class DevToolsWindow : private content::NotificationObserver,
content::WebContents* source,
const blink::WebGestureEvent& event) OVERRIDE;
- // content::DevToolsFrontendHostDelegate override:
- virtual void DispatchOnEmbedder(const std::string& message) OVERRIDE;
-
// DevToolsEmbedderMessageDispatcher::Delegate overrides:
virtual void ActivateWindow() OVERRIDE;
- virtual void ActivateContents(content::WebContents* contents) OVERRIDE;
virtual void CloseWindow() OVERRIDE;
virtual void SetContentsInsets(
int left, int top, int right, int bottom) OVERRIDE;
@@ -323,58 +279,11 @@ class DevToolsWindow : private content::NotificationObserver,
virtual void MoveWindow(int x, int y) OVERRIDE;
virtual void SetIsDocked(bool is_docked) OVERRIDE;
virtual void OpenInNewTab(const std::string& url) OVERRIDE;
- virtual void SaveToFile(const std::string& url,
- const std::string& content,
- bool save_as) OVERRIDE;
- virtual void AppendToFile(const std::string& url,
- const std::string& content) OVERRIDE;
- virtual void RequestFileSystems() OVERRIDE;
- virtual void AddFileSystem() OVERRIDE;
- virtual void RemoveFileSystem(const std::string& file_system_path) OVERRIDE;
- virtual void UpgradeDraggedFileSystemPermissions(
- const std::string& file_system_url) OVERRIDE;
- virtual void IndexPath(int request_id,
- const std::string& file_system_path) OVERRIDE;
- virtual void StopIndexing(int request_id) OVERRIDE;
- virtual void SearchInPath(int request_id,
- const std::string& file_system_path,
- const std::string& query) OVERRIDE;
virtual void SetWhitelistedShortcuts(const std::string& message) OVERRIDE;
- virtual void ZoomIn() OVERRIDE;
- virtual void ZoomOut() OVERRIDE;
- virtual void ResetZoom() OVERRIDE;
- virtual void OpenUrlOnRemoteDeviceAndInspect(const std::string& browser_id,
- const std::string& url) OVERRIDE;
- virtual void StartRemoteDevicesListener() OVERRIDE;
- virtual void StopRemoteDevicesListener() OVERRIDE;
- virtual void EnableRemoteDeviceCounter(bool enable) OVERRIDE;
-
- // DevToolsAndroidBridge::DeviceCountListener override:
- virtual void DeviceCountChanged(int count) OVERRIDE;
-
- // Forwards discovered devices to frontend.
- virtual void PopulateRemoteDevices(const std::string& source,
- scoped_ptr<base::ListValue> targets);
-
- // DevToolsFileHelper callbacks.
- void FileSavedAs(const std::string& url);
- void CanceledFileSaveAs(const std::string& url);
- void AppendedTo(const std::string& url);
- void FileSystemsLoaded(
- const std::vector<DevToolsFileHelper::FileSystem>& file_systems);
- void FileSystemAdded(const DevToolsFileHelper::FileSystem& file_system);
- void IndexingTotalWorkCalculated(int request_id,
- const std::string& file_system_path,
- int total_work);
- void IndexingWorked(int request_id,
- const std::string& file_system_path,
- int worked);
- void IndexingDone(int request_id, const std::string& file_system_path);
- void SearchCompleted(int request_id,
- const std::string& file_system_path,
- const std::vector<std::string>& file_paths);
- void ShowDevToolsConfirmInfoBar(const base::string16& message,
- const InfoBarCallback& callback);
+
+ // DevToolsWindowBase overrides
+ virtual void AddDevToolsExtensionsToClient() OVERRIDE;
+ virtual void DocumentOnLoadCompletedInMainFrame() OVERRIDE;
void CreateDevToolsBrowser();
BrowserWindow* GetInspectedBrowserWindow();
@@ -383,49 +292,24 @@ class DevToolsWindow : private content::NotificationObserver,
void DoAction(const DevToolsToggleAction& action);
void LoadCompleted();
void SetIsDockedAndShowImmediatelyForTest(bool is_docked);
- void UpdateTheme();
- void AddDevToolsExtensionsToClient();
- void CallClientFunction(const std::string& function_name,
- const base::Value* arg1,
- const base::Value* arg2,
- const base::Value* arg3);
void UpdateBrowserToolbar();
content::WebContents* GetInspectedWebContents();
- void DocumentOnLoadCompletedInMainFrame();
class InspectedWebContentsObserver;
scoped_ptr<InspectedWebContentsObserver> inspected_contents_observer_;
- class FrontendWebContentsObserver;
- friend class FrontendWebContentsObserver;
- scoped_ptr<FrontendWebContentsObserver> frontend_contents_observer_;
- Profile* profile_;
- content::WebContents* web_contents_;
Browser* browser_;
bool is_docked_;
const bool can_dock_;
- bool device_listener_enabled_;
LoadState load_state_;
DevToolsToggleAction action_on_load_;
bool ignore_set_is_docked_;
- content::NotificationRegistrar registrar_;
- scoped_ptr<content::DevToolsClientHost> frontend_host_;
- scoped_ptr<DevToolsFileHelper> file_helper_;
- scoped_refptr<DevToolsFileSystemIndexer> file_system_indexer_;
- typedef std::map<
- int,
- scoped_refptr<DevToolsFileSystemIndexer::FileSystemIndexingJob> >
- IndexingJobsMap;
- IndexingJobsMap indexing_jobs_;
DevToolsContentsResizingStrategy contents_resizing_strategy_;
// True if we're in the process of handling a beforeunload event originating
// from the inspected webcontents, see InterceptPageBeforeUnload for details.
bool intercepted_page_beforeunload_;
base::Closure load_completed_callback_;
- scoped_ptr<DevToolsRemoteTargetsUIHandler> remote_targets_handler_;
- scoped_ptr<DevToolsEmbedderMessageDispatcher> embedder_message_dispatcher_;
- base::WeakPtrFactory<DevToolsWindow> weak_factory_;
base::TimeTicks inspect_element_start_time_;
scoped_ptr<DevToolsEventForwarder> event_forwarder_;

Powered by Google App Engine
This is Rietveld 408576698