Index: content/test/mock_render_process_host.cc |
=================================================================== |
--- content/test/mock_render_process_host.cc (revision 151499) |
+++ content/test/mock_render_process_host.cc (working copy) |
@@ -1,257 +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 "content/public/test/mock_render_process_host.h" |
- |
-#include "base/lazy_instance.h" |
-#include "base/message_loop.h" |
-#include "base/time.h" |
-#include "content/browser/child_process_security_policy_impl.h" |
-#include "content/browser/renderer_host/render_process_host_impl.h" |
-#include "content/common/child_process_host_impl.h" |
-#include "content/public/browser/notification_service.h" |
-#include "content/public/browser/notification_types.h" |
- |
-namespace content { |
- |
-MockRenderProcessHost::MockRenderProcessHost( |
- BrowserContext* browser_context) |
- : transport_dib_(NULL), |
- bad_msg_count_(0), |
- factory_(NULL), |
- id_(ChildProcessHostImpl::GenerateChildProcessUniqueId()), |
- browser_context_(browser_context), |
- fast_shutdown_started_(false) { |
- // Child process security operations can't be unit tested unless we add |
- // ourselves as an existing child process. |
- ChildProcessSecurityPolicyImpl::GetInstance()->Add(GetID()); |
- |
- RenderProcessHostImpl::RegisterHost(GetID(), this); |
-} |
- |
-MockRenderProcessHost::~MockRenderProcessHost() { |
- ChildProcessSecurityPolicyImpl::GetInstance()->Remove(GetID()); |
- delete transport_dib_; |
- if (factory_) |
- factory_->Remove(this); |
- // In unit tests, Release() might not have been called. |
- RenderProcessHostImpl::UnregisterHost(GetID()); |
-} |
- |
-void MockRenderProcessHost::EnableSendQueue() { |
-} |
- |
-bool MockRenderProcessHost::Init() { |
- return true; |
-} |
- |
-int MockRenderProcessHost::GetNextRoutingID() { |
- static int prev_routing_id = 0; |
- return ++prev_routing_id; |
-} |
- |
-void MockRenderProcessHost::CancelResourceRequests(int render_widget_id) { |
-} |
- |
-void MockRenderProcessHost::CrossSiteSwapOutACK( |
- const ViewMsg_SwapOut_Params& params) { |
-} |
- |
-bool MockRenderProcessHost::WaitForBackingStoreMsg( |
- int render_widget_id, |
- const base::TimeDelta& max_delay, |
- IPC::Message* msg) { |
- return false; |
-} |
- |
-void MockRenderProcessHost::ReceivedBadMessage() { |
- ++bad_msg_count_; |
-} |
- |
-void MockRenderProcessHost::WidgetRestored() { |
-} |
- |
-void MockRenderProcessHost::WidgetHidden() { |
-} |
- |
-int MockRenderProcessHost::VisibleWidgetCount() const { |
- return 1; |
-} |
- |
-bool MockRenderProcessHost::IsGuest() const { |
- return false; |
-} |
- |
-void MockRenderProcessHost::AddWord(const string16& word) { |
-} |
- |
-bool MockRenderProcessHost::FastShutdownIfPossible() { |
- // We aren't actually going to do anything, but set |fast_shutdown_started_| |
- // to true so that tests know we've been called. |
- fast_shutdown_started_ = true; |
- return true; |
-} |
- |
-bool MockRenderProcessHost::FastShutdownStarted() const { |
- return fast_shutdown_started_; |
-} |
- |
-void MockRenderProcessHost::DumpHandles() { |
-} |
- |
-base::ProcessHandle MockRenderProcessHost::GetHandle() { |
- return base::kNullProcessHandle; |
-} |
- |
-bool MockRenderProcessHost::Send(IPC::Message* msg) { |
- // Save the message in the sink. |
- sink_.OnMessageReceived(*msg); |
- delete msg; |
- return true; |
-} |
- |
-TransportDIB* MockRenderProcessHost::GetTransportDIB(TransportDIB::Id dib_id) { |
- if (transport_dib_) |
- return transport_dib_; |
-#if defined(OS_WIN) |
- HANDLE duped; |
- DuplicateHandle(GetCurrentProcess(), dib_id.handle, GetCurrentProcess(), |
- &duped, 0, TRUE, DUPLICATE_SAME_ACCESS); |
- transport_dib_ = TransportDIB::Map(duped); |
-#elif defined(OS_MACOSX) |
- // On Mac, TransportDIBs are always created in the browser, so we cannot map |
- // one from a dib_id. |
- transport_dib_ = TransportDIB::Create(100 * 100 * 4, 0); |
-#elif defined(OS_ANDROID) |
- // On Android, Handles and Ids are the same underlying type. |
- transport_dib_ = TransportDIB::Map(dib_id); |
-#elif defined(OS_POSIX) |
- transport_dib_ = TransportDIB::Map(dib_id.shmkey); |
-#endif |
- |
- return transport_dib_; |
-} |
- |
-int MockRenderProcessHost::GetID() const { |
- return id_; |
-} |
- |
-bool MockRenderProcessHost::HasConnection() const { |
- return true; |
-} |
- |
-void MockRenderProcessHost::SetIgnoreInputEvents(bool ignore_input_events) { |
-} |
- |
-bool MockRenderProcessHost::IgnoreInputEvents() const { |
- return false; |
-} |
- |
-void MockRenderProcessHost::Attach(RenderWidgetHost* host, |
- int routing_id) { |
- render_widget_hosts_.AddWithID(host, routing_id); |
-} |
- |
-void MockRenderProcessHost::Release(int routing_id) { |
- render_widget_hosts_.Remove(routing_id); |
- Cleanup(); |
-} |
- |
-void MockRenderProcessHost::Cleanup() { |
- if (render_widget_hosts_.IsEmpty()) { |
- NotificationService::current()->Notify( |
- NOTIFICATION_RENDERER_PROCESS_TERMINATED, |
- Source<RenderProcessHost>(this), |
- NotificationService::NoDetails()); |
- MessageLoop::current()->DeleteSoon(FROM_HERE, this); |
- RenderProcessHostImpl::UnregisterHost(GetID()); |
- } |
-} |
- |
-void MockRenderProcessHost::AddPendingView() { |
-} |
- |
-void MockRenderProcessHost::RemovePendingView() { |
-} |
- |
-void MockRenderProcessHost::SetSuddenTerminationAllowed(bool allowed) { |
-} |
- |
-bool MockRenderProcessHost::SuddenTerminationAllowed() const { |
- return true; |
-} |
- |
-content::RenderWidgetHost* MockRenderProcessHost::GetRenderWidgetHostByID( |
- int routing_id) { |
- return render_widget_hosts_.Lookup(routing_id); |
-} |
- |
-BrowserContext* MockRenderProcessHost::GetBrowserContext() const { |
- return browser_context_; |
-} |
- |
-IPC::ChannelProxy* MockRenderProcessHost::GetChannel() { |
- return NULL; |
-} |
- |
-bool MockRenderProcessHost::FastShutdownForPageCount(size_t count) { |
- if (render_widget_hosts_.size() == count) |
- return FastShutdownIfPossible(); |
- return false; |
-} |
- |
-base::TimeDelta MockRenderProcessHost::GetChildProcessIdleTime() const { |
- return base::TimeDelta::FromMilliseconds(0); |
-} |
- |
-void MockRenderProcessHost::SurfaceUpdated(int32 surface_id) { |
-} |
- |
-void MockRenderProcessHost::ResumeRequestsForView(int route_id) { |
-} |
- |
-RenderProcessHost::RenderWidgetHostsIterator |
- MockRenderProcessHost::GetRenderWidgetHostsIterator() { |
- return RenderWidgetHostsIterator(&render_widget_hosts_); |
-} |
- |
-bool MockRenderProcessHost::OnMessageReceived(const IPC::Message& msg) { |
- return false; |
-} |
- |
-void MockRenderProcessHost::OnChannelConnected(int32 peer_pid) { |
-} |
- |
-MockRenderProcessHostFactory::MockRenderProcessHostFactory() {} |
- |
-MockRenderProcessHostFactory::~MockRenderProcessHostFactory() { |
- // Detach this object from MockRenderProcesses to prevent STLDeleteElements() |
- // from calling MockRenderProcessHostFactory::Remove(). |
- for (ScopedVector<MockRenderProcessHost>::iterator it = processes_.begin(); |
- it != processes_.end(); ++it) { |
- (*it)->SetFactory(NULL); |
- } |
-} |
- |
-RenderProcessHost* MockRenderProcessHostFactory::CreateRenderProcessHost( |
- BrowserContext* browser_context) const { |
- MockRenderProcessHost* host = new MockRenderProcessHost(browser_context); |
- if (host) { |
- processes_.push_back(host); |
- host->SetFactory(this); |
- } |
- return host; |
-} |
- |
-void MockRenderProcessHostFactory::Remove(MockRenderProcessHost* host) const { |
- for (ScopedVector<MockRenderProcessHost>::iterator it = processes_.begin(); |
- it != processes_.end(); ++it) { |
- if (*it == host) { |
- processes_.weak_erase(it); |
- break; |
- } |
- } |
-} |
- |
-} // content |