summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_web_socket_proxy_private_api.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_web_socket_proxy_private_api.h')
-rw-r--r--chrome/browser/extensions/extension_web_socket_proxy_private_api.h50
1 files changed, 40 insertions, 10 deletions
diff --git a/chrome/browser/extensions/extension_web_socket_proxy_private_api.h b/chrome/browser/extensions/extension_web_socket_proxy_private_api.h
index ece09a4..7a75137 100644
--- a/chrome/browser/extensions/extension_web_socket_proxy_private_api.h
+++ b/chrome/browser/extensions/extension_web_socket_proxy_private_api.h
@@ -11,34 +11,64 @@
#include "content/common/notification_registrar.h"
#include "chrome/browser/extensions/extension_function.h"
-class WebSocketProxyPrivateGetPassportForTCPFunction
+class WebSocketProxyPrivate
: public AsyncExtensionFunction, public NotificationObserver {
public:
- WebSocketProxyPrivateGetPassportForTCPFunction();
+ WebSocketProxyPrivate();
- virtual ~WebSocketProxyPrivateGetPassportForTCPFunction();
+ virtual ~WebSocketProxyPrivate();
- private:
- // ExtensionFunction implementation.
- virtual bool RunImpl() OVERRIDE;
+ // Finalizes async operation.
+ virtual void Finalize();
+ protected:
// NotificationObserver implementation.
virtual void Observe(
int type, const NotificationSource& source,
const NotificationDetails& details) OVERRIDE;
- // Finalizes async operation.
- void Finalize();
-
// Whether already finalized.
bool is_finalized_;
// Used to signal timeout (when waiting for proxy initial launch).
- base::OneShotTimer<WebSocketProxyPrivateGetPassportForTCPFunction> timer_;
+ base::OneShotTimer<WebSocketProxyPrivate> timer_;
NotificationRegistrar registrar_;
+ // Proxy listens incoming websocket connection on this port.
+ int listening_port_;
+};
+
+class WebSocketProxyPrivateGetPassportForTCPFunction
+ : public WebSocketProxyPrivate {
+ public:
+ WebSocketProxyPrivateGetPassportForTCPFunction();
+
+ private:
+ // ExtensionFunction implementation.
+ virtual bool RunImpl() OVERRIDE;
+
DECLARE_EXTENSION_FUNCTION_NAME("webSocketProxyPrivate.getPassportForTCP")
};
+class WebSocketProxyPrivateGetURLForTCPFunction
+ : public WebSocketProxyPrivate {
+ private:
+ // ExtensionFunction implementation.
+ virtual bool RunImpl() OVERRIDE;
+
+ // NotificationObserver implementation.
+ virtual void Observe(
+ int type, const NotificationSource& source,
+ const NotificationDetails& details) OVERRIDE;
+
+ // Finalizes async operation.
+ virtual void Finalize() OVERRIDE;
+
+ // Query component of resulting URL.
+ std::string query_;
+
+ DECLARE_EXTENSION_FUNCTION_NAME("webSocketProxyPrivate.getURLForTCP")
+};
+
#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_WEB_SOCKET_PROXY_PRIVATE_API_H_