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

Unified Diff: chrome/browser/devtools/devtools_ui_bindings.cc

Issue 912863002: [DevTools] Remote JSON requests from javascript (Chromium side) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
Index: chrome/browser/devtools/devtools_ui_bindings.cc
diff --git a/chrome/browser/devtools/devtools_ui_bindings.cc b/chrome/browser/devtools/devtools_ui_bindings.cc
index 51607ad23f860ce9d46777bcb4ebe91b3000137e..22c35310be9273c52de6ec3d6a46f2f1f7203a7f 100644
--- a/chrome/browser/devtools/devtools_ui_bindings.cc
+++ b/chrome/browser/devtools/devtools_ui_bindings.cc
@@ -406,12 +406,14 @@ GURL DevToolsUIBindings::ApplyThemeToURL(Profile* profile,
DevToolsUIBindings::DevToolsUIBindings(content::WebContents* web_contents)
: profile_(Profile::FromBrowserContext(web_contents->GetBrowserContext())),
+ android_bridge_(DevToolsAndroidBridge::Factory::GetForProfile(profile_)),
web_contents_(web_contents),
delegate_(new DefaultBindingsDelegate(web_contents_)),
device_count_updates_enabled_(false),
devices_updates_enabled_(false),
frontend_loaded_(false),
weak_factory_(this) {
+ DCHECK(android_bridge_);
g_instances.Get().push_back(this);
frontend_contents_observer_.reset(new FrontendWebContentsObserver(this));
web_contents_->GetMutableRendererPrefs()->can_accept_load_drops = false;
@@ -779,6 +781,26 @@ void DevToolsUIBindings::RecordActionUMA(const std::string& name, int action) {
UMA_HISTOGRAM_ENUMERATION(name, action, kDevToolsPanelShownBoundary);
}
+void DevToolsUIBindings::SendJsonRequest(const DispatchCallback& callback,
+ const std::string& browser_id,
+ const std::string& url) {
+ android_bridge_->SendJsonRequest(browser_id, url,
+ base::Bind(&DevToolsUIBindings::JsonReceived,
+ weak_factory_.GetWeakPtr(),
+ callback));
+}
+
+void DevToolsUIBindings::JsonReceived(const DispatchCallback& callback,
+ int result,
+ const std::string& message) {
+ if (result != net::OK) {
+ callback.Run(nullptr);
+ return;
+ }
+ base::StringValue message_value(message);
+ callback.Run(&message_value);
+}
+
void DevToolsUIBindings::OnURLFetchComplete(const net::URLFetcher* source) {
DCHECK(source);
PendingRequestsMap::iterator it = pending_requests_.find(source);

Powered by Google App Engine
This is Rietveld 408576698