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

Unified Diff: chrome/browser/devtools/device/devtools_android_bridge.h

Issue 612913002: DevTools: Split RemotePage and RemotePageTarget (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@values
Patch Set: Created 6 years, 3 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/device/devtools_android_bridge.h
diff --git a/chrome/browser/devtools/device/devtools_android_bridge.h b/chrome/browser/devtools/device/devtools_android_bridge.h
index 69c0da3c55464319762570084f9f3cc169e56160..1ca8f35860b7ae677b0ff08a879c2beeb795acf3 100644
--- a/chrome/browser/devtools/device/devtools_android_bridge.h
+++ b/chrome/browser/devtools/device/devtools_android_bridge.h
@@ -71,21 +71,44 @@ class DevToolsAndroidBridge
DISALLOW_COPY_AND_ASSIGN(Factory);
};
- class RemotePage {
+ typedef std::pair<std::string, std::string> BrowserId;
+
+ class RemotePage : public base::RefCounted<RemotePage> {
public:
- virtual ~RemotePage() {}
- virtual DevToolsTargetImpl* GetTarget() = 0;
- virtual std::string GetFrontendURL() = 0;
+ const std::string& serial() { return browser_id_.first; }
+ const std::string& socket() { return browser_id_.second; }
+ const std::string& frontend_url() { return frontend_url_; }
+ const base::DictionaryValue& dict();
+ bool is_web_view() { return is_web_view_; }
+
+ private:
+ friend class base::RefCounted<RemotePage>;
+ friend class DevToolsAndroidBridge;
+
+ RemotePage(const BrowserId& browser_id,
+ const base::DictionaryValue& dict,
+ bool is_web_view);
+
+ virtual ~RemotePage();
+
+ BrowserId browser_id_;
+ std::string frontend_url_;
+ bool is_web_view_;
+ scoped_ptr<base::DictionaryValue> dict_;
+
+ DISALLOW_COPY_AND_ASSIGN(RemotePage);
};
+ typedef std::vector<scoped_refptr<RemotePage> > RemotePages;
typedef base::Callback<void(int, const std::string&)> JsonRequestCallback;
class RemoteBrowser : public base::RefCounted<RemoteBrowser> {
public:
- const std::string& serial() { return serial_; }
- const std::string& socket() { return socket_; }
+ const std::string& serial() { return browser_id_.first; }
+ const std::string& socket() { return browser_id_.second; }
const std::string& display_name() { return display_name_; }
const std::string& version() { return version_; }
+ const RemotePages& pages() { return pages_; }
bool IsChrome();
bool IsWebView();
@@ -93,8 +116,6 @@ class DevToolsAndroidBridge
typedef std::vector<int> ParsedVersion;
ParsedVersion GetParsedVersion();
- const base::ListValue& page_descriptors();
-
private:
friend class base::RefCounted<RemoteBrowser>;
friend class DevToolsAndroidBridge;
@@ -104,12 +125,11 @@ class DevToolsAndroidBridge
virtual ~RemoteBrowser();
- std::string serial_;
- const std::string socket_;
+ BrowserId browser_id_;
std::string display_name_;
- const AndroidDeviceManager::BrowserInfo::Type type_;
+ AndroidDeviceManager::BrowserInfo::Type type_;
std::string version_;
- scoped_ptr<base::ListValue> page_descriptors_;
+ RemotePages pages_;
DISALLOW_COPY_AND_ASSIGN(RemoteBrowser);
};
@@ -194,9 +214,9 @@ class DevToolsAndroidBridge
bool HasDevToolsWindow(const std::string& agent_id);
- std::vector<RemotePage*> CreatePages(scoped_refptr<RemoteBrowser> browser);
+ DevToolsTargetImpl* CreatePageTarget(scoped_refptr<RemotePage> browser);
dgozman 2014/09/30 09:23:48 browser->page
dgozman 2014/09/30 09:23:48 We should comment that caller gets ownership of th
vkuzkokov 2014/10/01 09:05:17 Done.
- typedef base::Callback<void(RemotePage*)> RemotePageCallback;
+ typedef base::Callback<void(scoped_refptr<RemotePage>)> RemotePageCallback;
void Open(scoped_refptr<RemoteBrowser> browser,
const std::string& url,
const RemotePageCallback& callback);
@@ -236,18 +256,18 @@ class DevToolsAndroidBridge
void CreateDeviceProviders();
- void SendJsonRequest(scoped_refptr<RemoteBrowser> browser,
+ void SendJsonRequest(const BrowserId& browser_id,
const std::string& url,
const JsonRequestCallback& callback);
- void SendProtocolCommand(scoped_refptr<RemoteBrowser> browser,
+ void SendProtocolCommand(const BrowserId& browser_id,
const std::string& debug_url,
const std::string& method,
base::DictionaryValue* params,
const base::Closure callback);
AndroidDeviceManager::AndroidWebSocket* CreateWebSocket(
- scoped_refptr<RemoteBrowser> browser,
+ const BrowserId& browser_id,
const std::string& url,
AndroidDeviceManager::AndroidWebSocket::Delegate* delegate);

Powered by Google App Engine
This is Rietveld 408576698