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

Unified Diff: chrome_frame/cfproxy_private.h

Issue 9838102: Remove ChromeProxy and friends. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 9 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 | « chrome_frame/cfproxy_factory.cc ('k') | chrome_frame/cfproxy_proxy.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome_frame/cfproxy_private.h
diff --git a/chrome_frame/cfproxy_private.h b/chrome_frame/cfproxy_private.h
deleted file mode 100644
index 12b4b26240d291888f6602520b89cff53628d061..0000000000000000000000000000000000000000
--- a/chrome_frame/cfproxy_private.h
+++ /dev/null
@@ -1,180 +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_PRIVATE_H_
-#define CHROME_FRAME_CFPROXY_PRIVATE_H_
-#pragma once
-
-#include <map>
-#include <set>
-#include <string>
-#include <vector>
-
-#include "chrome_frame/cfproxy.h"
-#include "base/threading/thread.h"
-// Since we can't forward declare IPC::Message::Sender or IPC::Channel::Listener
-#include "ipc/ipc_message.h"
-#include "ipc/ipc_channel.h"
-
-typedef std::map<int, ChromeProxyDelegate*> TabsMap;
-
-// This is the functions needed by CFProxy implementation.
-// Extracted in separate class so we can mock it.
-class CFProxyTraits {
- public:
- virtual IPC::Message::Sender* CreateChannel(const std::string& id,
- IPC::Channel::Listener* l);
- virtual void CloseChannel(IPC::Message::Sender* s);
- virtual bool LaunchApp(const std::wstring& cmd_line);
-};
-
-// Holds a queue of sent synchronous IPC messages. Knows how to dispatch
-// the replies.
-class SyncMsgSender {
- public:
- explicit SyncMsgSender(TabsMap* tab2delegate);
- void QueueSyncMessage(const IPC::SyncMessage* msg,
- ChromeProxyDelegate* delegate, SyncMessageContext* ctx);
- bool OnReplyReceived(const IPC::Message* reply_msg);
- void OnChannelClosed();
- void Cancel(ChromeProxyDelegate* delegate);
- private:
- // sync_message_id -> (message_type, delegate, context)
- struct SingleSentMessage {
- SingleSentMessage() : type_(0), ctx_(NULL), delegate_(NULL) {}
- SingleSentMessage(uint32 type,
- ChromeProxyDelegate* delegate,
- SyncMessageContext* ctx)
- : type_(type), ctx_(ctx), delegate_(delegate) {}
- ~SingleSentMessage() { delete ctx_; }
- uint32 type_;
- SyncMessageContext* ctx_;
- ChromeProxyDelegate* delegate_;
- };
-
- SingleSentMessage* RemoveMessage(int id);
- typedef std::map<int, SingleSentMessage*> SentMessages;
- SentMessages messages_;
- base::Lock messages_lock_;
- TabsMap* tab2delegate_;
-};
-
-// Converts method call to an IPC message and then send it over Message::Sender
-class Interface2IPCMessage : public ChromeProxy {
- public:
- Interface2IPCMessage() {}
-
- // General
- virtual void RemoveBrowsingData(int mask);
- virtual void SetProxyConfig(const std::string& json_encoded_proxy_cfg);
- // Tab related.
- virtual void Tab_PostMessage(int tab, const std::string& message,
- const std::string& origin, const std::string& target);
- virtual void Tab_Reload(int tab);
- virtual void Tab_Stop(int tab);
- virtual void Tab_SaveAs(int tab);
- virtual void Tab_Print(int tab);
- virtual void Tab_Cut(int tab);
- virtual void Tab_Copy(int tab);
- virtual void Tab_Paste(int tab);
- virtual void Tab_SelectAll(int tab);
- virtual void Tab_MenuCommand(int tab, int selected_command);
- virtual void Tab_Zoom(int tab, content::PageZoom zoom_level);
- virtual void Tab_FontSize(int tab, enum AutomationPageFontSize font_size);
- virtual void Tab_SetInitialFocus(int tab, bool reverse,
- bool restore_focus_to_view);
- virtual void Tab_SetParentWindow(int tab);
- virtual void Tab_Resize(int tab);
- virtual void Tab_ProcessAccelerator(int tab, const MSG& msg);
-
- // Misc.
- virtual void Tab_OnHostMoved(int tab);
- protected:
- ~Interface2IPCMessage() {}
- private:
- IPC::Message::Sender* sender_;
-};
-
-// Simple class to keep a list of pointers to ChromeProxyDelegate for a
-// specific proxy as well as mapping between tab_id -> ChromeProxyDelegate.
-class DelegateHolder {
- protected:
- DelegateHolder() {
- }
-
- void AddDelegate(ChromeProxyDelegate* p);
- void RemoveDelegate(ChromeProxyDelegate* p);
- // Helper
- ChromeProxyDelegate* Tab2Delegate(int tab_handle);
- TabsMap tab2delegate_;
- typedef std::set<ChromeProxyDelegate*> DelegateList;
- DelegateList delegate_list_;
-};
-
-// ChromeFrame Automation Proxy implementation.
-class CFProxy : public Interface2IPCMessage,
- public IPC::Channel::Listener,
- public DelegateHolder {
- public:
- explicit CFProxy(CFProxyTraits* api);
- ~CFProxy();
-
- private:
- virtual void Init(const ProxyParams& params);
- virtual int AddDelegate(ChromeProxyDelegate* p);
- virtual int RemoveDelegate(ChromeProxyDelegate* p);
-
- // Executed in IPC thread.
- void AddDelegateOnIoThread(ChromeProxyDelegate* p);
- void RemoveDelegateOnIoThread(ChromeProxyDelegate* p);
- // Initialization that has to be mede in IPC thread.
- void InitInIoThread(const ProxyParams& params);
- // Cleanup that has to be made in IPC thread.
- void CleanupOnIoThread();
- // IPC connection was not established in timely manner
- void LaunchTimeOut();
- // Close channel, inform delegates.
- void OnPeerLost(ChromeProxyDelegate::DisconnectReason reason);
- // Queues message to be send in IPC thread.
- void SendIpcMessage(IPC::Message* m);
- // Same but in IPC thread.
- void SendIpcMessageOnIoThread(IPC::Message* m);
-
- //////////////////////////////////////////////////////////////////////////
- // Sync messages.
- virtual void Tab_Find(int tab, const string16& search_string,
- FindInPageDirection forward, FindInPageCase match_case, bool find_next);
- virtual void Tab_OverrideEncoding(int tab, const char* encoding);
- virtual void Tab_Navigate(int tab, const GURL& url, const GURL& referrer);
- virtual void CreateTab(ChromeProxyDelegate* delegate,
- const ExternalTabSettings& p);
- virtual void ConnectTab(ChromeProxyDelegate* delegate, HWND hwnd,
- uint64 cookie);
- virtual void BlockTab(uint64 cookie);
- virtual void Tab_RunUnloadHandlers(int tab);
-
- //////////////////////////////////////////////////////////////////////////
- // IPC::Channel::Listener implementation.
- virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
- virtual void OnChannelConnected(int32 peer_pid) OVERRIDE;
- virtual void OnChannelError() OVERRIDE;
-
- bool CalledOnIpcThread() const {
- return base::PlatformThread::CurrentId() == ipc_thread_.thread_id();
- }
-
- base::Thread ipc_thread_;
- SyncMsgSender sync_dispatcher_;
- IPC::Message::Sender* ipc_sender_;
- CFProxyTraits* api_;
- int delegate_count_;
- bool is_connected_;
-};
-
-// Support functions.
-std::string GenerateChannelId();
-std::wstring BuildCmdLine(const std::string& channel_id,
- const FilePath& profile_path,
- const std::wstring& extra_args);
-#endif // CHROME_FRAME_CFPROXY_PRIVATE_H_
« no previous file with comments | « chrome_frame/cfproxy_factory.cc ('k') | chrome_frame/cfproxy_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698