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

Unified Diff: chrome_frame/cfproxy_support.cc

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_proxy.cc ('k') | chrome_frame/cfproxy_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome_frame/cfproxy_support.cc
diff --git a/chrome_frame/cfproxy_support.cc b/chrome_frame/cfproxy_support.cc
deleted file mode 100644
index 695fd3bea34fdffb381b7cb70de2ceb3fcc3ed15..0000000000000000000000000000000000000000
--- a/chrome_frame/cfproxy_support.cc
+++ /dev/null
@@ -1,312 +0,0 @@
-// Copyright (c) 2012 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.
-
-#include "chrome_frame/cfproxy_private.h"
-
-#include <vector>
-#include "base/atomic_sequence_num.h"
-#include "base/command_line.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/process_util.h"
-#include "chrome/common/automation_messages.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome_frame/chrome_launcher_utils.h"
-#include "chrome_frame/utils.h" // for IsHeadlessMode();
-
-
-namespace {
-void DispatchReplyFail(uint32 type,
- ChromeProxyDelegate* delegate,
- SyncMessageContext* ctx) {
- switch (type) {
- case AutomationMsg_CreateExternalTab::ID:
- delegate->Completed_CreateTab(false, NULL, NULL, 0, 0);
- break;
- case AutomationMsg_ConnectExternalTab::ID:
- delegate->Completed_ConnectToTab(false, NULL, NULL, 0, 0);
- break;
- }
-}
-
-bool DispatchReplyOk(const IPC::Message* reply_msg, uint32 type,
- ChromeProxyDelegate* delegate, SyncMessageContext* ctx,
- TabsMap* tab2delegate) {
- PickleIterator iter = IPC::SyncMessage::GetDataIterator(reply_msg);
- switch (type) {
- case AutomationMsg_CreateExternalTab::ID: {
- // Tuple4<HWND, HWND, int, int> out;
- TupleTypes<AutomationMsg_CreateExternalTab::ReplyParam>::ValueTuple out;
- if (ReadParam(reply_msg, &iter, &out)) {
- DCHECK(tab2delegate->find(out.c) == tab2delegate->end());
- (*tab2delegate)[out.c] = delegate;
- delegate->Completed_CreateTab(true, out.a, out.b, out.c, out.d);
- }
- return true;
- }
-
- case AutomationMsg_ConnectExternalTab::ID: {
- // Tuple4<HWND, HWND, int, int> out;
- TupleTypes<AutomationMsg_ConnectExternalTab::ReplyParam>::ValueTuple out;
- if (ReadParam(reply_msg, &iter, &out)) {
- DCHECK(tab2delegate->find(out.c) == tab2delegate->end());
- (*tab2delegate)[out.c] = delegate;
- delegate->Completed_ConnectToTab(true, out.a, out.b, out.c, out.d);
- }
- return true;
- }
- } // switch
-
- return false;
-}
-} // namespace
-
-// Itf2IPCMessage
-// Converts and sends trivial messages.
-void Interface2IPCMessage::RemoveBrowsingData(int mask) {
- sender_->Send(new AutomationMsg_RemoveBrowsingData(mask));
-}
-
-void Interface2IPCMessage::SetProxyConfig(
- const std::string& json_encoded_proxy_cfg) {
- sender_->Send(new AutomationMsg_SetProxyConfig(json_encoded_proxy_cfg));
-}
-
-// Tab related.
-void Interface2IPCMessage::Tab_PostMessage(int tab, const std::string& message,
- const std::string& origin, const std::string& target) {
- sender_->Send(new AutomationMsg_HandleMessageFromExternalHost(
- tab, message, origin, target));
-}
-
-void Interface2IPCMessage::Tab_Reload(int tab) {
- sender_->Send(new AutomationMsg_ReloadAsync(tab));
-}
-
-void Interface2IPCMessage::Tab_Stop(int tab) {
- sender_->Send(new AutomationMsg_StopAsync(tab));
-}
-
-void Interface2IPCMessage::Tab_SaveAs(int tab) {
- sender_->Send(new AutomationMsg_SaveAsAsync(tab));
-}
-
-void Interface2IPCMessage::Tab_Print(int tab) {
- sender_->Send(new AutomationMsg_PrintAsync(tab));
-}
-
-void Interface2IPCMessage::Tab_Cut(int tab) {
- sender_->Send(new AutomationMsg_Cut(tab));
-}
-
-void Interface2IPCMessage::Tab_Copy(int tab) {
- sender_->Send(new AutomationMsg_Copy(tab));
-}
-
-void Interface2IPCMessage::Tab_Paste(int tab) {
- sender_->Send(new AutomationMsg_Paste(tab));
-}
-
-void Interface2IPCMessage::Tab_SelectAll(int tab) {
- sender_->Send(new AutomationMsg_SelectAll(tab));
-}
-
-void Interface2IPCMessage::Tab_MenuCommand(int tab, int selected_command) {
- sender_->Send(new AutomationMsg_ForwardContextMenuCommandToChrome(
- tab, selected_command));
-}
-
-void Interface2IPCMessage::Tab_Zoom(int tab, content::PageZoom zoom_level) {
- sender_->Send(new AutomationMsg_SetZoomLevel(tab, zoom_level));
-}
-
-void Interface2IPCMessage::Tab_FontSize(int tab,
- enum AutomationPageFontSize font_size) {
- sender_->Send(new AutomationMsg_SetPageFontSize(tab, font_size));
-}
-
-void Interface2IPCMessage::Tab_SetInitialFocus(int tab, bool reverse,
- bool restore_focus_to_view) {
- sender_->Send(new AutomationMsg_SetInitialFocus(tab, reverse,
- restore_focus_to_view));
-}
-
-void Interface2IPCMessage::Tab_SetParentWindow(int tab) {
- CHECK(0) << "Implement me";
- // AutomationMsg_TabReposition
-}
-
-void Interface2IPCMessage::Tab_Resize(int tab) {
- CHECK(0) << "Implement me";
- // AutomationMsg_TabReposition
-}
-
-void Interface2IPCMessage::Tab_ProcessAccelerator(int tab, const MSG& msg) {
- sender_->Send(new AutomationMsg_ProcessUnhandledAccelerator(tab, msg));
-}
-
-// Misc.
-void Interface2IPCMessage::Tab_OnHostMoved(int tab) {
- sender_->Send(new AutomationMsg_BrowserMove(tab));
-}
-
-void DelegateHolder::AddDelegate(ChromeProxyDelegate* p) {
- delegate_list_.insert(p);
-}
-
-void DelegateHolder::RemoveDelegate(ChromeProxyDelegate* p) {
- // DCHECK(CalledOnValidThread());
- int tab_handle = p->tab_handle(); // Could be 0.
- delegate_list_.erase(p);
- tab2delegate_.erase(tab_handle);
-}
-
-ChromeProxyDelegate* DelegateHolder::Tab2Delegate(int tab_handle) {
- TabsMap::const_iterator iter = tab2delegate_.find(tab_handle);
- if (iter != tab2delegate_.end())
- return iter->second;
- return NULL;
-}
-
-SyncMsgSender::SyncMsgSender(TabsMap* tab2delegate)
- : tab2delegate_(tab2delegate) {
-}
-
-// The outgoing queue of sync messages must be locked.
-// Case: ui thread is sending message and waits for event, that is going to be
-// signaled by completion handler in ipc_thread.
-// We must append the message to the outgoing queue in UI thread,
-// otherwise if channel is disconnected before having a chance to
-// send the message, the ChromeProxyDelegate::_Disconnect implementation
-// shall know how to unblock arbitrary sync call. Instead
-// ChromeProxyDelgate::Completed_XXXX knows how to unblock a specific one.
-void SyncMsgSender::QueueSyncMessage(const IPC::SyncMessage* msg,
- ChromeProxyDelegate* delegate,
- SyncMessageContext* ctx) {
- if (delegate) {
- // We are interested of the result.
- base::AutoLock lock(messages_lock_);
- int id = IPC::SyncMessage::GetMessageId(*msg);
- // A message can be sent only once.
- DCHECK(messages_.end() == messages_.find(id));
- messages_[id] = new SingleSentMessage(msg->type(), delegate, ctx);
- }
-}
-
-// Cancel all outgoing calls for this delegate.
-void SyncMsgSender::Cancel(ChromeProxyDelegate* delegate) {
- std::vector<SingleSentMessage*> cancelled;
- {
- base::AutoLock lock(messages_lock_);
- SentMessages::iterator it = messages_.begin();
- for (; it != messages_.end(); ) {
- SingleSentMessage* origin = it->second;
- if (origin->delegate_ == delegate) {
- cancelled.push_back(origin);
- it = messages_.erase(it);
- } else {
- ++it;
- }
- }
- }
-
- for (std::vector<SingleSentMessage*>::iterator it = cancelled.begin();
- it != cancelled.end(); ++it) {
- SingleSentMessage* origin = *it;
- DispatchReplyFail(origin->type_, delegate, origin->ctx_);
- delete origin;
- }
-}
-
-SyncMsgSender::SingleSentMessage* SyncMsgSender::RemoveMessage(int id) {
- base::AutoLock lock(messages_lock_);
- SentMessages::iterator it = messages_.find(id);
- if (it == messages_.end()) {
- // Delegate is not interested in this sync message response.
- return NULL;
- }
-
- // See what message is this.
- SingleSentMessage* origin = it->second;
- messages_.erase(it);
- return origin;
-}
-
-bool SyncMsgSender::OnReplyReceived(const IPC::Message* reply_msg) {
- if (!reply_msg->is_reply())
- return false; // Not a reply to sync message.
-
- // Find message by id.
- int id = IPC::SyncMessage::GetMessageId(*reply_msg);
- SingleSentMessage* origin = RemoveMessage(id);
- if (origin) {
- DispatchReplyOk(reply_msg, origin->type_, origin->delegate_, origin->ctx_,
- tab2delegate_);
- delete origin;
- }
-
- return true;
-}
-
-void SyncMsgSender::OnChannelClosed() {
- SentMessages messages_sent;
- // Make a copy of the messages queue
- {
- base::AutoLock lock(messages_lock_);
- messages_.swap(messages_sent);
- }
-
-
- SentMessages::reverse_iterator it = messages_sent.rbegin();
- for (; it != messages_sent.rend(); ++it) {
- SingleSentMessage* origin = it->second;
- DispatchReplyFail(origin->type_, origin->delegate_, origin->ctx_);
- delete origin;
- }
- messages_sent.clear();
-}
-
-static base::StaticAtomicSequenceNumber g_proxy_channel_id;
-std::string GenerateChannelId() {
- return StringPrintf("ChromeTestingInterface:%u.%d",
- base::GetCurrentProcId(), g_proxy_channel_id.GetNext() + 0xC000);
-}
-
-std::wstring BuildCmdLine(const std::string& channel_id,
- const FilePath& profile_path,
- const std::wstring& extra_args) {
- std::wstring command_line_string;
- scoped_ptr<CommandLine> command_line;
- if (chrome_launcher::CreateLaunchCommandLine(&command_line)) {
- command_line->AppendSwitchASCII(switches::kAutomationClientChannelID,
- channel_id);
- // Run Chrome in Chrome Frame mode. In practice, this modifies the paths
- // and registry keys that Chrome looks in via the BrowserDistribution
- // mechanism.
- command_line->AppendSwitch(switches::kChromeFrame);
- // Chrome Frame never wants Chrome to start up with a First Run UI.
- command_line->AppendSwitch(switches::kNoFirstRun);
- command_line->AppendSwitch(switches::kDisablePopupBlocking);
-
- #ifndef NDEBUG
- // Disable the "Whoa! Chrome has crashed." dialog, because that isn't very
- // useful for Chrome Frame users.
- command_line->AppendSwitch(switches::kNoErrorDialogs);
- #endif
-
- // In headless mode runs like reliability test runs we want full crash dumps
- // from chrome.
- if (IsHeadlessMode())
- command_line->AppendSwitch(switches::kFullMemoryCrashReport);
-
- command_line->AppendSwitchPath(switches::kUserDataDir, profile_path);
-
- command_line_string = command_line->GetCommandLineString();
- if (!extra_args.empty()) {
- command_line_string.append(L" ");
- command_line_string.append(extra_args);
- }
- }
-
- return command_line_string;
-}
« no previous file with comments | « chrome_frame/cfproxy_proxy.cc ('k') | chrome_frame/cfproxy_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698