diff options
14 files changed, 39 insertions, 58 deletions
diff --git a/android_webview/android_webview.gyp b/android_webview/android_webview.gyp index 801546e..f8ed864 100644 --- a/android_webview/android_webview.gyp +++ b/android_webview/android_webview.gyp @@ -28,7 +28,6 @@ 'target_name': 'android_webview_pak', 'type': 'none', 'dependencies': [ - '<(DEPTH)/content/browser/devtools/devtools_resources.gyp:devtools_resources', '<(DEPTH)/content/content_resources.gyp:content_resources', '<(DEPTH)/net/net.gyp:net_resources', '<(DEPTH)/ui/ui.gyp:ui_resources', @@ -45,7 +44,6 @@ '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_100_percent.pak', - '<(SHARED_INTERMEDIATE_DIR)/webkit/devtools_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources_100_percent.pak', ], diff --git a/android_webview/browser/aw_devtools_delegate.cc b/android_webview/browser/aw_devtools_delegate.cc index 49a5ff4..0e0e026 100644 --- a/android_webview/browser/aw_devtools_delegate.cc +++ b/android_webview/browser/aw_devtools_delegate.cc @@ -15,8 +15,11 @@ #include "content/public/common/url_constants.h" #include "net/socket/unix_domain_socket_posix.h" #include "ui/base/resource/resource_bundle.h" +#include "webkit/common/user_agent/user_agent_util.h" namespace { +const char kFrontEndURL[] = + "http://chrome-devtools-frontend.appspot.com/serve_rev/%s/devtools.html"; const char kSocketNameFormat[] = "webview_devtools_remote_%d"; } @@ -29,7 +32,8 @@ AwDevToolsDelegate::AwDevToolsDelegate(content::BrowserContext* browser_context) base::StringPrintf(kSocketNameFormat, getpid()), "", base::Bind(&content::CanUserConnectToDevTools)), - "", + base::StringPrintf(kFrontEndURL, + webkit_glue::GetWebKitRevision().c_str()), this); } @@ -189,7 +193,7 @@ std::string AwDevToolsDelegate::GetDiscoveryPageHTML() { } bool AwDevToolsDelegate::BundlesFrontendResources() { - return true; + return false; } base::FilePath AwDevToolsDelegate::GetDebugFrontendDir() { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java b/chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java index f5777aa..37f943d 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java @@ -11,9 +11,8 @@ public class DevToolsServer { private int mNativeDevToolsServer = 0; - public DevToolsServer(boolean useBundledFrontendResources, - String socketName) { - mNativeDevToolsServer = nativeInitRemoteDebugging(useBundledFrontendResources, socketName); + public DevToolsServer(String socketNamePrefix) { + mNativeDevToolsServer = nativeInitRemoteDebugging(socketNamePrefix); } public void destroy() { @@ -29,8 +28,7 @@ public class DevToolsServer { nativeSetRemoteDebuggingEnabled(mNativeDevToolsServer, enabled); } - private native int nativeInitRemoteDebugging(boolean useBundledFrontendResources, - String socketName); + private native int nativeInitRemoteDebugging(String socketNamePrefix); private native void nativeDestroyRemoteDebugging(int devToolsServer); private native boolean nativeIsRemoteDebuggingEnabled(int devToolsServer); private native void nativeSetRemoteDebuggingEnabled(int devToolsServer, boolean enabled); diff --git a/chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellActivity.java b/chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellActivity.java index 9e87746..f67833e 100644 --- a/chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellActivity.java +++ b/chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellActivity.java @@ -75,7 +75,7 @@ public class ChromiumTestShellActivity extends ChromiumActivity { mWindow.restoreInstanceState(savedInstanceState); mTabManager.setWindow(mWindow); - mDevToolsServer = new DevToolsServer(true, "chromium_testshell_devtools_remote"); + mDevToolsServer = new DevToolsServer("chromium_testshell"); mDevToolsServer.setRemoteDebuggingEnabled(true); } diff --git a/chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellApplication.java b/chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellApplication.java index e0b8d50..afdb3e5 100644 --- a/chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellApplication.java +++ b/chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellApplication.java @@ -22,7 +22,6 @@ public class ChromiumTestShellApplication extends Application { "en-US.pak", "resources.pak", "chrome_100_percent.pak", - "devtools_resources.pak", }; @Override diff --git a/chrome/browser/android/dev_tools_server.cc b/chrome/browser/android/dev_tools_server.cc index 8602490..d7f9617 100644 --- a/chrome/browser/android/dev_tools_server.cc +++ b/chrome/browser/android/dev_tools_server.cc @@ -16,11 +16,11 @@ #include "base/logging.h" #include "base/strings/stringprintf.h" #include "chrome/browser/browser_process.h" +#include "chrome/browser/devtools/devtools_adb_bridge.h" #include "chrome/browser/history/top_sites.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/ui/android/tab_model/tab_model.h" #include "chrome/browser/ui/android/tab_model/tab_model_list.h" -#include "chrome/common/chrome_version_info.h" #include "content/public/browser/android/devtools_auth.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/devtools_http_handler.h" @@ -33,21 +33,21 @@ #include "net/socket/unix_domain_socket_posix.h" #include "net/url_request/url_request_context_getter.h" #include "ui/base/resource/resource_bundle.h" +#include "webkit/common/user_agent/user_agent_util.h" namespace { const char kFrontEndURL[] = - "http://chrome-devtools-frontend.appspot.com/static/%s/devtools.html"; -const char kDefaultSocketName[] = "chrome_devtools_remote"; + "http://chrome-devtools-frontend.appspot.com/serve_rev/%s/devtools.html"; +const char kDefaultSocketNamePrefix[] = "chrome"; const char kTetheringSocketName[] = "chrome_devtools_tethering_%d_%d"; // Delegate implementation for the devtools http handler on android. A new // instance of this gets created each time devtools is enabled. class DevToolsServerDelegate : public content::DevToolsHttpHandlerDelegate { public: - explicit DevToolsServerDelegate(bool use_bundled_frontend_resources) - : use_bundled_frontend_resources_(use_bundled_frontend_resources), - last_tethering_socket_(0) { + DevToolsServerDelegate() + : last_tethering_socket_(0) { } virtual std::string GetDiscoveryPageHTML() OVERRIDE { @@ -62,7 +62,7 @@ class DevToolsServerDelegate : public content::DevToolsHttpHandlerDelegate { } virtual bool BundlesFrontendResources() OVERRIDE { - return use_bundled_frontend_resources_; + return false; } virtual base::FilePath GetDebugFrontendDir() OVERRIDE { @@ -124,7 +124,6 @@ class DevToolsServerDelegate : public content::DevToolsHttpHandlerDelegate { top_sites->SyncWithHistory(); } - bool use_bundled_frontend_resources_; int last_tethering_socket_; DISALLOW_COPY_AND_ASSIGN(DevToolsServerDelegate); @@ -133,8 +132,8 @@ class DevToolsServerDelegate : public content::DevToolsHttpHandlerDelegate { } // namespace DevToolsServer::DevToolsServer() - : use_bundled_frontend_resources_(false), - socket_name_(kDefaultSocketName), + : socket_name_(base::StringPrintf(kDevToolsChannelNameFormat, + kDefaultSocketNamePrefix)), protocol_handler_(NULL) { // Override the default socket name if one is specified on the command line. const CommandLine& command_line = *CommandLine::ForCurrentProcess(); @@ -144,10 +143,9 @@ DevToolsServer::DevToolsServer() } } -DevToolsServer::DevToolsServer(bool use_bundled_frontend_resources, - const std::string& socket_name) - : use_bundled_frontend_resources_(use_bundled_frontend_resources), - socket_name_(socket_name), +DevToolsServer::DevToolsServer(const std::string& socket_name_prefix) + : socket_name_(base::StringPrintf(kDevToolsChannelNameFormat, + socket_name_prefix.c_str())), protocol_handler_(NULL) { } @@ -159,17 +157,14 @@ void DevToolsServer::Start() { if (protocol_handler_) return; - chrome::VersionInfo version_info; - protocol_handler_ = content::DevToolsHttpHandler::Start( new net::UnixDomainSocketWithAbstractNamespaceFactory( socket_name_, base::StringPrintf("%s_%d", socket_name_.c_str(), getpid()), base::Bind(&content::CanUserConnectToDevTools)), - use_bundled_frontend_resources_ ? - "" : - base::StringPrintf(kFrontEndURL, version_info.Version().c_str()), - new DevToolsServerDelegate(use_bundled_frontend_resources_)); + base::StringPrintf(kFrontEndURL, + webkit_glue::GetWebKitRevision().c_str()), + new DevToolsServerDelegate()); } void DevToolsServer::Stop() { @@ -191,11 +186,9 @@ bool RegisterDevToolsServer(JNIEnv* env) { static jint InitRemoteDebugging(JNIEnv* env, jobject obj, - jboolean use_bundled_frontend_resources, - jstring socketName) { + jstring socket_name_prefix) { DevToolsServer* server = new DevToolsServer( - use_bundled_frontend_resources, - base::android::ConvertJavaStringToUTF8(env, socketName)); + base::android::ConvertJavaStringToUTF8(env, socket_name_prefix)); return reinterpret_cast<jint>(server); } diff --git a/chrome/browser/android/dev_tools_server.h b/chrome/browser/android/dev_tools_server.h index 775f0c0..72ddc89 100644 --- a/chrome/browser/android/dev_tools_server.h +++ b/chrome/browser/android/dev_tools_server.h @@ -17,8 +17,7 @@ class DevToolsHttpHandler; class DevToolsServer { public: DevToolsServer(); - DevToolsServer(bool use_bundled_frontend_resources, - const std::string& socket_name); + explicit DevToolsServer(const std::string& socket_name_prefix); ~DevToolsServer(); // Opens linux abstract socket to be ready for remote debugging. @@ -30,7 +29,6 @@ class DevToolsServer { bool IsStarted() const; private: - bool use_bundled_frontend_resources_; std::string socket_name_; content::DevToolsHttpHandler* protocol_handler_; diff --git a/chrome/browser/chrome_browser_main_android.cc b/chrome/browser/chrome_browser_main_android.cc index f08ce27..b83a09e 100644 --- a/chrome/browser/chrome_browser_main_android.cc +++ b/chrome/browser/chrome_browser_main_android.cc @@ -84,21 +84,6 @@ void ChromeBrowserMainPartsAndroid::PreEarlyInitialization() { ChromeBrowserMainParts::PreEarlyInitialization(); } -int ChromeBrowserMainPartsAndroid::PreCreateThreads() { - TRACE_EVENT0("startup", "ChromeBrowserMainPartsAndroid::PreCreateThreads") - // PreCreateThreads initializes ResourceBundle instance. - const int result = ChromeBrowserMainParts::PreCreateThreads(); - - // Add devtools_resources.pak which is used in Chromium TestShell. - base::FilePath paks_path; - PathService::Get(ui::DIR_RESOURCE_PAKS_ANDROID, &paks_path); - ResourceBundle::GetSharedInstance().AddOptionalDataPackFromPath( - paks_path.Append(FILE_PATH_LITERAL("devtools_resources.pak")), - ui::SCALE_FACTOR_NONE); - - return result; -} - void ChromeBrowserMainPartsAndroid::ShowMissingLocaleMessageBox() { NOTREACHED(); } diff --git a/chrome/browser/chrome_browser_main_android.h b/chrome/browser/chrome_browser_main_android.h index 1439ac2..b498db5 100644 --- a/chrome/browser/chrome_browser_main_android.h +++ b/chrome/browser/chrome_browser_main_android.h @@ -18,7 +18,6 @@ class ChromeBrowserMainPartsAndroid : public ChromeBrowserMainParts { // content::BrowserMainParts overrides. virtual void PreProfileInit() OVERRIDE; virtual void PreEarlyInitialization() OVERRIDE; - virtual int PreCreateThreads() OVERRIDE; // ChromeBrowserMainParts overrides. virtual void ShowMissingLocaleMessageBox() OVERRIDE; diff --git a/chrome/browser/devtools/devtools_adb_bridge.cc b/chrome/browser/devtools/devtools_adb_bridge.cc index fb006f1..c903b5a 100644 --- a/chrome/browser/devtools/devtools_adb_bridge.cc +++ b/chrome/browser/devtools/devtools_adb_bridge.cc @@ -38,7 +38,6 @@ using net::WebSocket; namespace { static const char kDevToolsAdbBridgeThreadName[] = "Chrome_DevToolsADBThread"; -static const char kDevToolsChannelPattern[] = "devtools_remote"; static const char kHostDevicesCommand[] = "host:devices"; static const char kDeviceModelCommand[] = "host:transport:%s|shell:getprop ro.product.model"; @@ -274,7 +273,8 @@ class AdbPagesCommand : public base::RefCounted<AdbPagesCommand> { socket_to_package_.clear(); std::vector<std::string> entries; Tokenize(response, "\n", &entries); - const std::string channel_pattern = kDevToolsChannelPattern; + const std::string channel_pattern = + base::StringPrintf(kDevToolsChannelNameFormat, ""); for (size_t i = 1; i < entries.size(); ++i) { std::vector<std::string> fields; Tokenize(entries[i], " ", &fields); @@ -309,6 +309,8 @@ class AdbPagesCommand : public base::RefCounted<AdbPagesCommand> { } // namespace +const char kDevToolsChannelNameFormat[] = "%s_devtools_remote"; + class AgentHostDelegate; typedef std::map<std::string, AgentHostDelegate*> AgentHostDelegates; diff --git a/chrome/browser/devtools/devtools_adb_bridge.h b/chrome/browser/devtools/devtools_adb_bridge.h index e2ef879..a828cb1 100644 --- a/chrome/browser/devtools/devtools_adb_bridge.h +++ b/chrome/browser/devtools/devtools_adb_bridge.h @@ -22,6 +22,9 @@ class Thread; class Profile; +// The format used for constructing DevTools server socket names. +extern const char kDevToolsChannelNameFormat[]; + class DevToolsAdbBridge { public: typedef base::Callback<void(int result, diff --git a/chrome/chrome_android.gypi b/chrome/chrome_android.gypi index 078c23b..8237fac 100644 --- a/chrome/chrome_android.gypi +++ b/chrome/chrome_android.gypi @@ -68,7 +68,6 @@ 'native_lib_target': 'libchromiumtestshell', 'additional_input_paths': [ '<@(chrome_android_pak_output_resources)', - '<(chrome_android_pak_output_folder)/devtools_resources.pak', ], }, 'includes': [ '../build/java_apk.gypi', ], @@ -155,7 +154,6 @@ 'destination': '<(chrome_android_pak_output_folder)', 'files': [ '<@(chrome_android_pak_input_resources)', - '<(SHARED_INTERMEDIATE_DIR)/webkit/devtools_resources.pak', ], } ], diff --git a/content/shell/shell_devtools_delegate.cc b/content/shell/shell_devtools_delegate.cc index 2d7b15e..d6fe39c 100644 --- a/content/shell/shell_devtools_delegate.cc +++ b/content/shell/shell_devtools_delegate.cc @@ -59,6 +59,8 @@ namespace content { ShellDevToolsDelegate::ShellDevToolsDelegate(BrowserContext* browser_context) : browser_context_(browser_context) { + // Note that Content Shell always used bundled DevTools frontend, + // even on Android, because the shell is used for running layout tests. devtools_http_handler_ = DevToolsHttpHandler::Start(CreateSocketFactory(), std::string(), this); } diff --git a/webkit/common/user_agent/user_agent_util.h b/webkit/common/user_agent/user_agent_util.h index 3fbdf54..e23b809 100644 --- a/webkit/common/user_agent/user_agent_util.h +++ b/webkit/common/user_agent/user_agent_util.h @@ -22,6 +22,8 @@ WEBKIT_USER_AGENT_EXPORT std::string GetWebKitVersion(); WEBKIT_USER_AGENT_EXPORT int GetWebKitMajorVersion(); WEBKIT_USER_AGENT_EXPORT int GetWebKitMinorVersion(); +WEBKIT_USER_AGENT_EXPORT std::string GetWebKitRevision(); + // Helper function to generate a full user agent string from a short // product name. WEBKIT_USER_AGENT_EXPORT std::string BuildUserAgentFromProduct( |