| Index: chrome_frame/cfproxy.h
|
| diff --git a/chrome_frame/cfproxy.h b/chrome_frame/cfproxy.h
|
| deleted file mode 100644
|
| index 2d305e80ed9591a84d238dec36d16afae434260e..0000000000000000000000000000000000000000
|
| --- a/chrome_frame/cfproxy.h
|
| +++ /dev/null
|
| @@ -1,163 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CHROME_FRAME_CFPROXY_H_
|
| -#define CHROME_FRAME_CFPROXY_H_
|
| -#pragma once
|
| -
|
| -#include <windows.h>
|
| -
|
| -#include <map> // for proxy factory
|
| -#include <vector>
|
| -#include <string>
|
| -
|
| -#include "base/synchronization/lock.h"
|
| -#include "base/time.h" // for base::TimeDelta
|
| -#include "base/file_path.h"
|
| -#include "chrome/common/automation_constants.h"
|
| -#include "content/public/common/page_zoom.h"
|
| -#include "ipc/ipc_channel.h"
|
| -
|
| -class ChromeProxyDelegate;
|
| -class ChromeProxyFactory;
|
| -class GURL;
|
| -struct ExternalTabSettings;
|
| -struct ProxyParams;
|
| -
|
| -// Some callers of synchronous messages wants a context to be passed back
|
| -// in order to identify the call they made. Presumably one can make
|
| -// multiple sync calls of same type (as async) and want to identify what
|
| -// is what.
|
| -struct SyncMessageContext {
|
| - virtual ~SyncMessageContext() {}
|
| -};
|
| -
|
| -
|
| -/*
|
| -[activex] UIDelegate (UI_THREAD)
|
| -[activedoc] <---------------+
|
| - |
|
| - | ChromeProxy (UI_THREAD)
|
| - +----------------+ --------------> +-------+
|
| - URL_FETCHER <---------|ExternalTabProxy| |CFProxy|
|
| - +----------------+ +-------+
|
| - |
|
| - ^ |
|
| - | |
|
| - +-----------------------------+
|
| -
|
| - ChromeProxyDelegate (IPC_THREAD)
|
| -
|
| -*/
|
| -
|
| -// ChromeProxy is an abstract class. Is forwards the commands to an
|
| -// instance of the running Chromium browser.
|
| -// A pointer to ChromeProxy instance is obtained through a
|
| -// ChromeProxyFactory object.
|
| -class ChromeProxy {
|
| - public:
|
| - // General
|
| - virtual void RemoveBrowsingData(int remove_mask) = 0; // async
|
| - virtual void SetProxyConfig(const std::string& json_encoded_settings) = 0;
|
| -
|
| - // Tab management.
|
| - virtual void CreateTab(ChromeProxyDelegate* delegate,
|
| - const ExternalTabSettings& settings) = 0;
|
| - virtual void ConnectTab(ChromeProxyDelegate* delegate, HWND hwnd,
|
| - uint64 cookie) = 0;
|
| - virtual void BlockTab(uint64 cookie) = 0;
|
| -
|
| - // Tab related.
|
| - virtual void Tab_PostMessage(int tab, const std::string& message,
|
| - const std::string& origin,
|
| - const std::string& target) = 0;
|
| - virtual void Tab_Reload(int tab) = 0;
|
| - virtual void Tab_Stop(int tab) = 0;
|
| - virtual void Tab_SaveAs(int tab) = 0;
|
| - virtual void Tab_Print(int tab) = 0;
|
| - virtual void Tab_Cut(int tab) = 0;
|
| - virtual void Tab_Copy(int tab) = 0;
|
| - virtual void Tab_Paste(int tab) = 0;
|
| - virtual void Tab_SelectAll(int tab) = 0;
|
| - virtual void Tab_Find(int tab, const string16& search_string,
|
| - FindInPageDirection forward, FindInPageCase match_case,
|
| - bool find_next) = 0;
|
| - virtual void Tab_MenuCommand(int tab, int selected_command) = 0;
|
| -
|
| - // UI
|
| - virtual void Tab_Zoom(int tab, content::PageZoom zoom_level) = 0;
|
| - virtual void Tab_FontSize(int tab, enum AutomationPageFontSize font_size) = 0;
|
| - virtual void Tab_SetInitialFocus(int tab,
|
| - bool reverse, bool restore_focus_to_view) = 0;
|
| - virtual void Tab_SetParentWindow(int tab) = 0;
|
| - virtual void Tab_Resize(int tab) = 0;
|
| - virtual void Tab_ProcessAccelerator(int tab, const MSG& msg) = 0;
|
| -
|
| - // Misc.
|
| - virtual void Tab_OnHostMoved(int tab) = 0;
|
| - virtual void Tab_RunUnloadHandlers(int tab) = 0;
|
| - virtual void Tab_Navigate(int tab, const GURL& url, const GURL& referrer) = 0;
|
| - virtual void Tab_OverrideEncoding(int tab, const char* encoding) = 0;
|
| -
|
| - protected:
|
| - // Accessible by ChromeProxyFactory
|
| - friend class ChromeProxyFactory;
|
| - virtual ~ChromeProxy() {}
|
| - virtual void Init(const ProxyParams& params) = 0;
|
| - virtual int AddDelegate(ChromeProxyDelegate* delegate) = 0;
|
| - virtual int RemoveDelegate(ChromeProxyDelegate* delegate) = 0;
|
| -};
|
| -
|
| -// The object that uses ChromeProxy should implement ChromeProxyDelegate in
|
| -// order to get notified about important events/requests coming from the
|
| -// instance of Chromium.
|
| -// Allow only one delegate per tab, i.e. delegate can handle only a single tab.
|
| -// Note: all of the methods are invoked always in a background IPC thread.
|
| -class ChromeProxyDelegate : public IPC::Channel::Listener {
|
| - public:
|
| - enum DisconnectReason {
|
| - CHROME_EXE_LAUNCH_FAILED,
|
| - CHROME_EXE_LAUNCH_TIMEOUT,
|
| - CHANNEL_ERROR
|
| - };
|
| -
|
| - virtual void Connected(ChromeProxy* proxy) = 0;
|
| - virtual void Disconnected() = 0;
|
| - virtual void PeerLost(ChromeProxy* proxy, DisconnectReason reason) = 0;
|
| - virtual int tab_handle() = 0; // to avoid reverse lookup :)
|
| -
|
| - // Sync message responses.
|
| - virtual void Completed_CreateTab(bool success, HWND chrome_wnd,
|
| - HWND tab_window, int tab_handle, int session_id) = 0;
|
| - virtual void Completed_ConnectToTab(bool success, HWND chrome_window,
|
| - HWND tab_window, int tab_handle, int session_id) = 0;
|
| - virtual void Completed_Navigate(bool success,
|
| - enum AutomationMsg_NavigationResponseValues res) = 0;
|
| -
|
| - protected:
|
| - ~ChromeProxyDelegate() {}
|
| -};
|
| -
|
| -// a way to obtain a ChromeProxy implementation
|
| -struct ProxyParams {
|
| - std::string profile;
|
| - std::wstring extra_params;
|
| - FilePath profile_path;
|
| - base::TimeDelta timeout;
|
| -};
|
| -
|
| -class ChromeProxyFactory {
|
| - public:
|
| - ChromeProxyFactory();
|
| - ~ChromeProxyFactory();
|
| - void GetProxy(ChromeProxyDelegate* delegate, const ProxyParams& params);
|
| - bool ReleaseProxy(ChromeProxyDelegate* delegate, const std::string& profile);
|
| - protected:
|
| - virtual ChromeProxy* CreateProxy();
|
| - typedef std::map<std::string, ChromeProxy*> ProxyMap;
|
| - ProxyMap proxies_;
|
| - base::Lock lock_;
|
| -};
|
| -
|
| -#endif // CHROME_FRAME_CFPROXY_H_
|
|
|