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

Unified Diff: content/shell/browser/shell_devtools_bindings.h

Issue 2756623002: DevTools: extract bindings from ShellDevToolsFrontend (Closed)
Patch Set: fixup Created 3 years, 9 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
« no previous file with comments | « content/shell/browser/shell.cc ('k') | content/shell/browser/shell_devtools_bindings.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/shell/browser/shell_devtools_bindings.h
diff --git a/content/shell/browser/shell_devtools_frontend.h b/content/shell/browser/shell_devtools_bindings.h
similarity index 70%
copy from content/shell/browser/shell_devtools_frontend.h
copy to content/shell/browser/shell_devtools_bindings.h
index 42f5c64074ff5778f415e0a98357c46e1ea5f2ed..fcfdcd1d95afc41907acd1b058fd80b6cc12bc98 100644
--- a/content/shell/browser/shell_devtools_frontend.h
+++ b/content/shell/browser/shell_devtools_bindings.h
@@ -1,9 +1,9 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
+// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_SHELL_BROWSER_SHELL_DEVTOOLS_FRONTEND_H_
-#define CONTENT_SHELL_BROWSER_SHELL_DEVTOOLS_FRONTEND_H_
+#ifndef CONTENT_SHELL_BROWSER_SHELL_DEVTOOLS_BINDINGS_H_
+#define CONTENT_SHELL_BROWSER_SHELL_DEVTOOLS_BINDINGS_H_
#include <memory>
@@ -13,6 +13,7 @@
#include "base/memory/weak_ptr.h"
#include "base/values.h"
#include "content/public/browser/devtools_agent_host.h"
+#include "content/public/browser/devtools_frontend_host.h"
#include "content/public/browser/web_contents_observer.h"
#include "net/url_request/url_fetcher_delegate.h"
@@ -26,40 +27,39 @@ class Value;
namespace content {
-class RenderViewHost;
-class Shell;
+class ShellDevToolsDelegate {
+ public:
+ virtual void Close() = 0;
+ virtual ~ShellDevToolsDelegate(){};
+};
+
class WebContents;
-class ShellDevToolsFrontend : public WebContentsObserver,
+class ShellDevToolsBindings : public WebContentsObserver,
public DevToolsAgentHostClient,
public net::URLFetcherDelegate {
public:
- static ShellDevToolsFrontend* Show(WebContents* inspected_contents);
+ ShellDevToolsBindings(WebContents* devtools_contents,
+ WebContents* inspected_contents,
+ ShellDevToolsDelegate* delegate);
- void Activate();
- void Focus();
void InspectElementAt(int x, int y);
- void Close();
-
- void DisconnectFromTarget();
-
- Shell* frontend_shell() const { return frontend_shell_; }
void CallClientFunction(const std::string& function_name,
const base::Value* arg1,
const base::Value* arg2,
const base::Value* arg3);
+ ~ShellDevToolsBindings() override;
protected:
- ShellDevToolsFrontend(Shell* frontend_shell, WebContents* inspected_contents);
- ~ShellDevToolsFrontend() override;
-
// content::DevToolsAgentHostClient implementation.
void AgentHostClosed(DevToolsAgentHost* agent_host, bool replaced) override;
void DispatchProtocolMessage(DevToolsAgentHost* agent_host,
const std::string& message) override;
+
void SetPreferences(const std::string& json);
virtual void HandleMessageFromDevToolsFrontend(const std::string& message);
+ void CreateFrontendHost();
private:
// WebContentsObserver overrides
@@ -70,11 +70,10 @@ class ShellDevToolsFrontend : public WebContentsObserver,
// net::URLFetcherDelegate overrides.
void OnURLFetchComplete(const net::URLFetcher* source) override;
- void SendMessageAck(int request_id,
- const base::Value* arg1);
+ void SendMessageAck(int request_id, const base::Value* arg1);
- Shell* frontend_shell_;
WebContents* inspected_contents_;
+ ShellDevToolsDelegate* delegate_;
scoped_refptr<DevToolsAgentHost> agent_host_;
int inspect_element_at_x_;
int inspect_element_at_y_;
@@ -84,11 +83,11 @@ class ShellDevToolsFrontend : public WebContentsObserver,
using PendingRequestsMap = std::map<const net::URLFetcher*, int>;
PendingRequestsMap pending_requests_;
base::DictionaryValue preferences_;
- base::WeakPtrFactory<ShellDevToolsFrontend> weak_factory_;
+ base::WeakPtrFactory<ShellDevToolsBindings> weak_factory_;
- DISALLOW_COPY_AND_ASSIGN(ShellDevToolsFrontend);
+ DISALLOW_COPY_AND_ASSIGN(ShellDevToolsBindings);
};
} // namespace content
-#endif // CONTENT_SHELL_BROWSER_SHELL_DEVTOOLS_FRONTEND_H_
+#endif // CONTENT_SHELL_BROWSER_SHELL_DEVTOOLS_BINDINGS_H_
« no previous file with comments | « content/shell/browser/shell.cc ('k') | content/shell/browser/shell_devtools_bindings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698