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

Unified Diff: components/devtools_bridge/test/android/client/javatests/jni/jni_onload.cc

Issue 746663002: Stub for WebRTCDeviceProvider (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@webclient
Patch Set: Created 6 years, 1 month 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: components/devtools_bridge/test/android/client/javatests/jni/jni_onload.cc
diff --git a/components/devtools_bridge/test/android/client/javatests/jni/jni_onload.cc b/components/devtools_bridge/test/android/client/javatests/jni/jni_onload.cc
index 3f350645d7a21633e2a572971de05f54cf14384e..74783d41bc6a9a1d16152546ef3b7ceb3ad5b387 100644
--- a/components/devtools_bridge/test/android/client/javatests/jni/jni_onload.cc
+++ b/components/devtools_bridge/test/android/client/javatests/jni/jni_onload.cc
@@ -8,12 +8,49 @@
#include "chrome/app/android/chrome_android_initializer.h"
#include "chrome/app/android/chrome_main_delegate_android.h"
#include "components/devtools_bridge/android/session_dependency_factory_android.h"
+#include "components/devtools_bridge/client/web_client_controller.h"
#include "components/devtools_bridge/test/android/client/web_client_android.h"
+#include "content/public/browser/web_ui_controller_factory.h"
+#include "url/gurl.h"
using namespace devtools_bridge::android;
namespace {
+class TestFactory : public content::WebUIControllerFactory {
+ public:
+ content::WebUI::TypeID GetWebUIType(content::BrowserContext* browser_context,
+ const GURL& url) const override {
+ return IsWebClientURL(url) ? const_cast<TestFactory*>(this)
+ : content::WebUI::kNoWebUI;
+ }
+
+ bool UseWebUIForURL(content::BrowserContext* browser_context,
+ const GURL& url) const override {
+ return IsWebClientURL(url);
+ }
+
+ bool UseWebUIBindingsForURL(content::BrowserContext* browser_context,
+ const GURL& url) const override {
+ return IsWebClientURL(url);
+ }
+
+ content::WebUIController* CreateWebUIControllerForURL(
+ content::WebUI* web_ui,
+ const GURL& url) const override {
+
+ return IsWebClientURL(url)
+ ? new devtools_bridge::WebClientController(web_ui)
+ : NULL;
+ }
+
+ static bool IsWebClientURL(const GURL& url) {
+ return url.scheme() == "chrome-devtools" && url.host() == "bridge";
+ }
+};
+
+static TestFactory s_factory;
+
class Delegate : public ChromeMainDelegateAndroid {
public:
bool RegisterApplicationNativeMethods(JNIEnv* env) override {
@@ -21,6 +58,12 @@ class Delegate : public ChromeMainDelegateAndroid {
SessionDependencyFactoryAndroid::InitializeSSL() &&
WebClientAndroid::RegisterNatives(env);
}
+
+ bool BasicStartupComplete(int* exit_code) override {
+ content::WebUIControllerFactory::RegisterFactory(&s_factory);
+
+ return ChromeMainDelegateAndroid::BasicStartupComplete(exit_code);
+ }
};
} // namespace

Powered by Google App Engine
This is Rietveld 408576698