X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fchrome%2Fbrowser%2Fdevtools%2Fdevice%2Fport_forwarding_browsertest.cc;h=e51f0aefbdfbc12a4e03e39972aa5e0430fa8c0c;hb=1afa4dd80ef85af7c90efaea6959db1d92330844;hp=959c1cbb1e4ba0fc8bbacafb0b92e5b24be5f710;hpb=90762837333c13ccf56f2ad88e4481fc71e8d281;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/chrome/browser/devtools/device/port_forwarding_browsertest.cc b/src/chrome/browser/devtools/device/port_forwarding_browsertest.cc index 959c1cb..e51f0ae 100644 --- a/src/chrome/browser/devtools/device/port_forwarding_browsertest.cc +++ b/src/chrome/browser/devtools/device/port_forwarding_browsertest.cc @@ -28,7 +28,7 @@ const int kDefaultDebuggingPort = 9223; } class PortForwardingTest: public InProcessBrowserTest { - virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { + void SetUpCommandLine(CommandLine* command_line) override { InProcessBrowserTest::SetUpCommandLine(command_line); command_line->AppendSwitchASCII(switches::kRemoteDebuggingPort, base::IntToString(kDefaultDebuggingPort)); @@ -44,12 +44,12 @@ class PortForwardingTest: public InProcessBrowserTest { AddPortForwardingListener(this); } - virtual ~Listener() { + ~Listener() override { DevToolsAndroidBridge::Factory::GetForProfile(profile_)-> RemovePortForwardingListener(this); } - virtual void PortStatusChanged(const DevicesStatus& status) OVERRIDE { + void PortStatusChanged(const ForwardingStatus& status) override { if (status.empty() && skip_empty_devices_) return; base::MessageLoop::current()->PostTask( @@ -127,3 +127,42 @@ IN_PROC_BROWSER_TEST_F(PortForwardingTest, prefs->SetBoolean(prefs::kDevToolsPortForwardingEnabled, false); content::RunMessageLoop(); } + +IN_PROC_BROWSER_TEST_F(PortForwardingTest, DisconnectOnRelease) { + Profile* profile = browser()->profile(); + + AndroidDeviceManager::DeviceProviders device_providers; + + scoped_refptr self_provider( + new SelfAsDeviceProvider(kDefaultDebuggingPort)); + device_providers.push_back(self_provider); + + DevToolsAndroidBridge::Factory::GetForProfile(profile)-> + set_device_providers_for_test(device_providers); + + ASSERT_TRUE(test_server()->Start()); + GURL original_url = test_server()->GetURL(kPortForwardingTestPage); + + std::string forwarding_port("8000"); + GURL forwarding_url(original_url.scheme() + "://" + + original_url.host() + ":" + forwarding_port + original_url.path()); + + PrefService* prefs = profile->GetPrefs(); + prefs->SetBoolean(prefs::kDevToolsPortForwardingEnabled, true); + + base::DictionaryValue config; + config.SetString( + forwarding_port, original_url.host() + ":" + original_url.port()); + prefs->Set(prefs::kDevToolsPortForwardingConfig, config); + + scoped_ptr wait_for_port_forwarding(new Listener(profile)); + content::RunMessageLoop(); + + self_provider->set_release_callback_for_test( + base::Bind(&base::MessageLoop::PostTask, + base::Unretained(base::MessageLoop::current()), + FROM_HERE, + base::MessageLoop::QuitClosure())); + wait_for_port_forwarding.reset(); + content::RunMessageLoop(); +}