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); |