| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/devtools/device/webrtc/devtools_bridge_client_browserte
st.h" | 5 #include "chrome/browser/devtools/device/webrtc/devtools_bridge_client_browserte
st.h" |
| 6 | 6 |
| 7 #include "chrome/browser/devtools/device/webrtc/devtools_bridge_client.h" | 7 #include "chrome/browser/devtools/device/webrtc/devtools_bridge_client.h" |
| 8 #include "chrome/browser/local_discovery/gcd_api_flow.h" | 8 #include "chrome/browser/local_discovery/gcd_api_flow.h" |
| 9 #include "chrome/browser/signin/account_tracker_service_factory.h" |
| 9 #include "chrome/browser/signin/fake_profile_oauth2_token_service.h" | 10 #include "chrome/browser/signin/fake_profile_oauth2_token_service.h" |
| 10 #include "chrome/browser/signin/fake_signin_manager.h" | 11 #include "chrome/browser/signin/fake_signin_manager.h" |
| 11 #include "chrome/browser/ui/browser.h" | 12 #include "chrome/browser/ui/browser.h" |
| 13 #include "components/signin/core/browser/account_tracker_service.h" |
| 12 #include "content/public/browser/web_ui_message_handler.h" | 14 #include "content/public/browser/web_ui_message_handler.h" |
| 13 | 15 |
| 16 namespace { |
| 17 |
| 18 const char kGaiaId[] = "stub-user@example.com"; |
| 19 const char kUsername[] = "stub-user@example.com"; |
| 20 |
| 21 } // namespace |
| 22 |
| 14 class DevToolsBridgeClientBrowserTest::GCDApiFlowMock | 23 class DevToolsBridgeClientBrowserTest::GCDApiFlowMock |
| 15 : public local_discovery::GCDApiFlow { | 24 : public local_discovery::GCDApiFlow { |
| 16 public: | 25 public: |
| 17 explicit GCDApiFlowMock(DevToolsBridgeClientBrowserTest* test) | 26 explicit GCDApiFlowMock(DevToolsBridgeClientBrowserTest* test) |
| 18 : test_(test), id_(++test->last_flow_id_) { | 27 : test_(test), id_(++test->last_flow_id_) { |
| 19 test_->flows_[id_] = this; | 28 test_->flows_[id_] = this; |
| 20 } | 29 } |
| 21 | 30 |
| 22 ~GCDApiFlowMock() override { test_->flows_.erase(id_); } | 31 ~GCDApiFlowMock() override { test_->flows_.erase(id_); } |
| 23 | 32 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 test_->RunJavascriptFunction("callbacks.browserListUpdated", | 81 test_->RunJavascriptFunction("callbacks.browserListUpdated", |
| 73 new base::FundamentalValue(count)); | 82 new base::FundamentalValue(count)); |
| 74 } | 83 } |
| 75 | 84 |
| 76 scoped_ptr<local_discovery::GCDApiFlow> CreateGCDApiFlow() override { | 85 scoped_ptr<local_discovery::GCDApiFlow> CreateGCDApiFlow() override { |
| 77 return make_scoped_ptr(new GCDApiFlowMock(test_)); | 86 return make_scoped_ptr(new GCDApiFlowMock(test_)); |
| 78 } | 87 } |
| 79 | 88 |
| 80 void GoogleSigninSucceeded() { | 89 void GoogleSigninSucceeded() { |
| 81 // This username is checked on Chrome OS. | 90 // This username is checked on Chrome OS. |
| 82 const std::string username = "stub-user@example.com"; | 91 const std::string account_id = |
| 83 test_->fake_signin_manager_->SetAuthenticatedUsername(username); | 92 AccountTrackerServiceFactory::GetForProfile( |
| 84 identity_provider().GoogleSigninSucceeded("test_account", username, | 93 test_->browser()->profile()) |
| 85 "testing"); | 94 ->PickAccountIdForAccount(kGaiaId, kUsername); |
| 95 test_->fake_signin_manager_->SetAuthenticatedAccountInfo(kGaiaId, |
| 96 kUsername); |
| 97 identity_provider().GoogleSigninSucceeded(account_id, kUsername, |
| 98 "password"); |
| 86 } | 99 } |
| 87 | 100 |
| 88 private: | 101 private: |
| 89 DevToolsBridgeClientBrowserTest* const test_; | 102 DevToolsBridgeClientBrowserTest* const test_; |
| 90 }; | 103 }; |
| 91 | 104 |
| 92 class DevToolsBridgeClientBrowserTest::MessageHandler | 105 class DevToolsBridgeClientBrowserTest::MessageHandler |
| 93 : public content::WebUIMessageHandler { | 106 : public content::WebUIMessageHandler { |
| 94 public: | 107 public: |
| 95 explicit MessageHandler(DevToolsBridgeClientBrowserTest* test) | 108 explicit MessageHandler(DevToolsBridgeClientBrowserTest* test) |
| 96 : test_(test) {} | 109 : test_(test) {} |
| 97 | 110 |
| 98 void RegisterMessages() override { | 111 void RegisterMessages() override { |
| 99 web_ui()->RegisterMessageCallback( | 112 web_ui()->RegisterMessageCallback( |
| 100 "signIn", base::Bind(&MessageHandler::SignIn, base::Unretained(this))); | 113 "signIn", base::Bind(&MessageHandler::SignIn, base::Unretained(this))); |
| 101 web_ui()->RegisterMessageCallback( | 114 web_ui()->RegisterMessageCallback( |
| 102 "gcdApiResponse", | 115 "gcdApiResponse", |
| 103 base::Bind(&MessageHandler::GCDApiResponse, base::Unretained(this))); | 116 base::Bind(&MessageHandler::GCDApiResponse, base::Unretained(this))); |
| 104 web_ui()->RegisterMessageCallback( | 117 web_ui()->RegisterMessageCallback( |
| 105 "queryDevices", | 118 "queryDevices", |
| 106 base::Bind(&MessageHandler::QueryDevices, base::Unretained(this))); | 119 base::Bind(&MessageHandler::QueryDevices, base::Unretained(this))); |
| 107 } | 120 } |
| 108 | 121 |
| 109 void SignIn(const base::ListValue*) { | 122 void SignIn(const base::ListValue*) { |
| 110 if (test_->client_mock_.get()) | 123 if (test_->client_mock_.get()) |
| 111 test_->client_mock_->GoogleSigninSucceeded(); | 124 test_->client_mock_->GoogleSigninSucceeded(); |
| 112 test_->fake_token_service_->UpdateCredentials("test_user@gmail.com", | 125 const std::string account_id = |
| 113 "token"); | 126 AccountTrackerServiceFactory::GetForProfile( |
| 127 test_->browser()->profile())->PickAccountIdForAccount(kGaiaId, |
| 128 kUsername); |
| 129 test_->fake_token_service_->UpdateCredentials(account_id, "token"); |
| 114 } | 130 } |
| 115 | 131 |
| 116 void GCDApiResponse(const base::ListValue* params) { | 132 void GCDApiResponse(const base::ListValue* params) { |
| 117 CHECK(params->GetSize() >= 2); | 133 CHECK(params->GetSize() >= 2); |
| 118 int id; | 134 int id; |
| 119 const base::DictionaryValue* response; | 135 const base::DictionaryValue* response; |
| 120 CHECK(params->GetInteger(0, &id)); | 136 CHECK(params->GetInteger(0, &id)); |
| 121 CHECK(params->GetDictionary(1, &response)); | 137 CHECK(params->GetDictionary(1, &response)); |
| 122 | 138 |
| 123 auto flow = test_->flows_.find(id); | 139 auto flow = test_->flows_.find(id); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 fake_signin_manager_.reset(); | 174 fake_signin_manager_.reset(); |
| 159 WebUIBrowserTest::TearDownOnMainThread(); | 175 WebUIBrowserTest::TearDownOnMainThread(); |
| 160 } | 176 } |
| 161 | 177 |
| 162 content::WebUIMessageHandler* | 178 content::WebUIMessageHandler* |
| 163 DevToolsBridgeClientBrowserTest::GetMockMessageHandler() { | 179 DevToolsBridgeClientBrowserTest::GetMockMessageHandler() { |
| 164 if (!handler_.get()) | 180 if (!handler_.get()) |
| 165 handler_.reset(new MessageHandler(this)); | 181 handler_.reset(new MessageHandler(this)); |
| 166 return handler_.get(); | 182 return handler_.get(); |
| 167 } | 183 } |
| OLD | NEW |