Index: chrome/browser/extensions/api/identity/identity_api.h |
=================================================================== |
--- chrome/browser/extensions/api/identity/identity_api.h (revision 136630) |
+++ chrome/browser/extensions/api/identity/identity_api.h (working copy) |
@@ -9,6 +9,7 @@ |
#include <string> |
#include "base/memory/weak_ptr.h" |
+#include "chrome/browser/extensions/api/identity/web_auth_flow.h" |
#include "chrome/browser/extensions/app_notify_channel_setup.h" |
#include "chrome/browser/extensions/extension_function.h" |
#include "chrome/common/net/gaia/oauth2_mint_token_flow.h" |
@@ -37,6 +38,24 @@ |
scoped_ptr<OAuth2MintTokenFlow> flow_; |
}; |
+class LaunchWebAuthFlowFunction : public AsyncExtensionFunction, |
+ public WebAuthFlow::Delegate { |
+ public: |
+ LaunchWebAuthFlowFunction(); |
+ |
+ private: |
+ virtual ~LaunchWebAuthFlowFunction(); |
+ virtual bool RunImpl() OVERRIDE; |
+ |
+ // WebAuthFlow::Delegate implementation. |
+ virtual void OnAuthFlowSuccess(const std::string& redirect_url) OVERRIDE; |
+ virtual void OnAuthFlowFailure() OVERRIDE; |
+ |
+ scoped_ptr<WebAuthFlow> auth_flow_; |
+ |
+ DECLARE_EXTENSION_FUNCTION_NAME("experimental.identity.launchWebAuthFlow"); |
+}; |
+ |
} // namespace extensions |
#endif // CHROME_BROWSER_EXTENSIONS_API_IDENTITY_IDENTITY_API_H_ |