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

Unified Diff: chrome/browser/extensions/api/gcd_private/gcd_private_api.cc

Issue 468613003: API change to allow sticker authentication for devices (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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
« no previous file with comments | « no previous file | chrome/browser/local_discovery/privetv3_session.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
diff --git a/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc b/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
index b01e6f486a860947a1ebe56c5d34dd62f8298bd6..39fdcd40b0ad2b4f9313afe0524ac9ddcdeecda3 100644
--- a/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
+++ b/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
@@ -124,7 +124,9 @@ class GcdPrivateAPIImpl : public EventRouter::Observer,
int port,
ConfirmationCodeCallback callback);
- void ConfirmCode(int session_id, SessionEstablishedCallback callback);
+ void ConfirmCode(int session_id,
+ const std::string& code,
+ SessionEstablishedCallback callback);
void SendMessage(int session_id,
const std::string& api,
@@ -229,6 +231,7 @@ class GcdPrivateSessionHolder
void Start(const ConfirmationCodeCallback& callback);
void ConfirmCode(
+ const std::string& code,
const GcdPrivateAPIImpl::SessionEstablishedCallback& callback);
void SendMessage(const std::string& api,
@@ -240,9 +243,9 @@ class GcdPrivateSessionHolder
private:
// local_discovery::PrivetV3Session::Delegate implementation.
virtual void OnSetupConfirmationNeeded(
- const std::string& confirmation_code) OVERRIDE;
- virtual void OnSessionEstablished() OVERRIDE;
- virtual void OnCannotEstablishSession() OVERRIDE;
+ const std::string& confirmation_code,
+ api::gcd_private::ConfirmationType confirmation_type) OVERRIDE;
+ virtual void OnSessionStatus(api::gcd_private::Status status) OVERRIDE;
scoped_ptr<local_discovery::PrivetHTTPClient> http_client_;
scoped_ptr<local_discovery::PrivetV3Session> privet_session_;
@@ -371,6 +374,7 @@ void GcdPrivateAPIImpl::EstablishSession(const std::string& ip_address,
}
void GcdPrivateAPIImpl::ConfirmCode(int session_id,
+ const std::string& code,
SessionEstablishedCallback callback) {
GCDSessionMap::iterator found = sessions_.find(session_id);
@@ -379,7 +383,7 @@ void GcdPrivateAPIImpl::ConfirmCode(int session_id,
return;
}
- found->second->ConfirmCode(callback);
+ found->second->ConfirmCode(code, callback);
}
void GcdPrivateAPIImpl::SendMessage(int session_id,
@@ -551,9 +555,10 @@ void GcdPrivateSessionHolder::Start(const ConfirmationCodeCallback& callback) {
}
void GcdPrivateSessionHolder::ConfirmCode(
+ const std::string& code,
const GcdPrivateAPIImpl::SessionEstablishedCallback& callback) {
session_established_callback_ = callback;
- privet_session_->ConfirmCode();
+ privet_session_->ConfirmCode(code);
}
void GcdPrivateSessionHolder::SendMessage(
@@ -578,22 +583,16 @@ void GcdPrivateSessionHolder::DeleteRequest(GcdPrivateRequest* request) {
}
void GcdPrivateSessionHolder::OnSetupConfirmationNeeded(
- const std::string& confirmation_code) {
- confirm_callback_.Run(gcd_private::STATUS_SUCCESS,
- confirmation_code,
- gcd_private::CONFIRMATION_TYPE_DISPLAYCODE);
+ const std::string& confirmation_code,
+ gcd_private::ConfirmationType confirmation_type) {
+ confirm_callback_.Run(
+ gcd_private::STATUS_SUCCESS, confirmation_code, confirmation_type);
confirm_callback_.Reset();
}
-void GcdPrivateSessionHolder::OnSessionEstablished() {
- session_established_callback_.Run(gcd_private::STATUS_SUCCESS);
-
- session_established_callback_.Reset();
-}
-
-void GcdPrivateSessionHolder::OnCannotEstablishSession() {
- session_established_callback_.Run(gcd_private::STATUS_SESSIONERROR);
+void GcdPrivateSessionHolder::OnSessionStatus(gcd_private::Status status) {
+ session_established_callback_.Run(status);
session_established_callback_.Reset();
}
@@ -774,8 +773,15 @@ void GcdPrivateEstablishSessionFunction::OnConfirmCodeCallback(
gcd_private::Status status,
const std::string& confirm_code,
gcd_private::ConfirmationType confirmation_type) {
- results_ = gcd_private::EstablishSession::Results::Create(
- session_id, status, confirm_code, confirmation_type);
+ gcd_private::ConfirmationInfo info;
+
+ info.type = confirmation_type;
+ if (!confirm_code.empty()) {
+ info.code.reset(new std::string(confirm_code));
+ }
+
+ results_ =
+ gcd_private::EstablishSession::Results::Create(session_id, status, info);
SendResponse(true);
}
@@ -796,6 +802,7 @@ bool GcdPrivateConfirmCodeFunction::RunAsync() {
gcd_api->ConfirmCode(
params->session_id,
+ params->code,
base::Bind(&GcdPrivateConfirmCodeFunction::OnSessionEstablishedCallback,
this));
« no previous file with comments | « no previous file | chrome/browser/local_discovery/privetv3_session.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698