| Index: remoting/client/plugin/chromoting_instance.h
|
| diff --git a/remoting/client/plugin/chromoting_instance.h b/remoting/client/plugin/chromoting_instance.h
|
| index a57275abc9b3c20c777729bc8214c6370c1bc69b..c6c8f578fbcc1849fa617c5e39939893a5b5ed55 100644
|
| --- a/remoting/client/plugin/chromoting_instance.h
|
| +++ b/remoting/client/plugin/chromoting_instance.h
|
| @@ -40,6 +40,7 @@
|
| #include "remoting/protocol/input_event_tracker.h"
|
| #include "remoting/protocol/mouse_input_filter.h"
|
| #include "remoting/protocol/negotiating_client_authenticator.h"
|
| +#include "remoting/protocol/third_party_client_authenticator.h"
|
|
|
| namespace base {
|
| class DictionaryValue;
|
| @@ -57,6 +58,7 @@ class ChromotingStats;
|
| class ClientContext;
|
| class FrameConsumerProxy;
|
| class PepperAudioPlayer;
|
| +class PepperTokenFetcher;
|
| class PepperView;
|
| class PepperXmppProxy;
|
| class RectangleUpdateDecoder;
|
| @@ -108,6 +110,8 @@ class ChromotingInstance :
|
| virtual void OnConnectionReady(bool ready) OVERRIDE;
|
| virtual protocol::ClipboardStub* GetClipboardStub() OVERRIDE;
|
| virtual protocol::CursorShapeStub* GetCursorShapeStub() OVERRIDE;
|
| + virtual scoped_ptr<protocol::ThirdPartyClientAuthenticator::TokenFetcher>
|
| + GetTokenFetcher(const std::string& host_public_key) OVERRIDE;
|
|
|
| // protocol::ClipboardStub interface.
|
| virtual void InjectClipboardEvent(
|
| @@ -147,6 +151,13 @@ class ChromotingInstance :
|
| static bool LogToUI(int severity, const char* file, int line,
|
| size_t message_start, const std::string& str);
|
|
|
| + // Requests the webapp to fetch a third-party token.
|
| + void FetchThirdPartyToken(
|
| + const GURL& token_url,
|
| + const std::string& host_public_key,
|
| + const std::string& scope,
|
| + const base::WeakPtr<PepperTokenFetcher> pepper_token_fetcher);
|
| +
|
| private:
|
| FRIEND_TEST_ALL_PREFIXES(ChromotingInstanceTest, TestCaseSetup);
|
|
|
| @@ -170,6 +181,8 @@ class ChromotingInstance :
|
| void PauseVideo(bool pause);
|
| void PauseAudio(bool pause);
|
| void OnPinFetched(const std::string& pin);
|
| + void OnThirdPartyTokenFetched(const std::string& token,
|
| + const std::string& shared_secret);
|
|
|
| // Helper method to post messages to the webapp.
|
| void PostChromotingMessage(const std::string& method,
|
| @@ -227,6 +240,8 @@ class ChromotingInstance :
|
| bool use_async_pin_dialog_;
|
| protocol::SecretFetchedCallback secret_fetched_callback_;
|
|
|
| + base::WeakPtr<PepperTokenFetcher> pepper_token_fetcher_;
|
| +
|
| base::WeakPtrFactory<ChromotingInstance> weak_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ChromotingInstance);
|
|
|