OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_RENDERER_HOST_MOCK_RENDER_PROCESS_HOST_H_ | 5 #ifndef CHROME_BROWSER_RENDERER_HOST_MOCK_RENDER_PROCESS_HOST_H_ |
6 #define CHROME_BROWSER_RENDERER_HOST_MOCK_RENDER_PROCESS_HOST_H_ | 6 #define CHROME_BROWSER_RENDERER_HOST_MOCK_RENDER_PROCESS_HOST_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/scoped_vector.h" | 10 #include "base/scoped_vector.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 virtual void WidgetRestored(); | 44 virtual void WidgetRestored(); |
45 virtual void WidgetHidden(); | 45 virtual void WidgetHidden(); |
46 virtual void ViewCreated(); | 46 virtual void ViewCreated(); |
47 virtual void AddWord(const string16& word); | 47 virtual void AddWord(const string16& word); |
48 virtual void SendVisitedLinkTable(base::SharedMemory* table_memory); | 48 virtual void SendVisitedLinkTable(base::SharedMemory* table_memory); |
49 virtual void AddVisitedLinks( | 49 virtual void AddVisitedLinks( |
50 const VisitedLinkCommon::Fingerprints& visited_links); | 50 const VisitedLinkCommon::Fingerprints& visited_links); |
51 virtual void ResetVisitedLinks(); | 51 virtual void ResetVisitedLinks(); |
52 virtual bool FastShutdownIfPossible(); | 52 virtual bool FastShutdownIfPossible(); |
53 virtual bool SendWithTimeout(IPC::Message* msg, int timeout_ms); | 53 virtual bool SendWithTimeout(IPC::Message* msg, int timeout_ms); |
54 virtual base::ProcessHandle GetHandle() { | 54 virtual base::ProcessHandle GetHandle(); |
55 return base::kNullProcessHandle; | |
56 } | |
57 | 55 |
58 virtual TransportDIB* GetTransportDIB(TransportDIB::Id dib_id); | 56 virtual TransportDIB* GetTransportDIB(TransportDIB::Id dib_id); |
59 | 57 |
60 // IPC::Channel::Sender via RenderProcessHost. | 58 // IPC::Channel::Sender via RenderProcessHost. |
61 virtual bool Send(IPC::Message* msg); | 59 virtual bool Send(IPC::Message* msg); |
62 | 60 |
63 // IPC::Channel::Listener via RenderProcessHost. | 61 // IPC::Channel::Listener via RenderProcessHost. |
64 virtual void OnMessageReceived(const IPC::Message& msg); | 62 virtual void OnMessageReceived(const IPC::Message& msg); |
65 virtual void OnChannelConnected(int32 peer_pid); | 63 virtual void OnChannelConnected(int32 peer_pid); |
66 | 64 |
67 // Attaches the factory object so we can remove this object in its destructor | 65 // Attaches the factory object so we can remove this object in its destructor |
68 // and prevent MockRenderProcessHostFacotry from deleting it. | 66 // and prevent MockRenderProcessHostFacotry from deleting it. |
69 void SetFactory(const MockRenderProcessHostFactory* factory) { | 67 void SetFactory(const MockRenderProcessHostFactory* factory) { |
70 factory_ = factory; | 68 factory_ = factory; |
71 } | 69 } |
72 | 70 |
73 private: | 71 private: |
74 // Stores IPC messages that would have been sent to the renderer. | 72 // Stores IPC messages that would have been sent to the renderer. |
75 IPC::TestSink sink_; | 73 IPC::TestSink sink_; |
76 TransportDIB* transport_dib_; | 74 TransportDIB* transport_dib_; |
77 int bad_msg_count_; | 75 int bad_msg_count_; |
78 const MockRenderProcessHostFactory* factory_; | 76 const MockRenderProcessHostFactory* factory_; |
79 | 77 |
80 DISALLOW_COPY_AND_ASSIGN(MockRenderProcessHost); | 78 DISALLOW_COPY_AND_ASSIGN(MockRenderProcessHost); |
81 }; | 79 }; |
82 | 80 |
83 class MockRenderProcessHostFactory : public RenderProcessHostFactory { | 81 class MockRenderProcessHostFactory : public RenderProcessHostFactory { |
84 public: | 82 public: |
85 MockRenderProcessHostFactory() {} | 83 MockRenderProcessHostFactory(); |
86 virtual ~MockRenderProcessHostFactory(); | 84 virtual ~MockRenderProcessHostFactory(); |
87 | 85 |
88 virtual RenderProcessHost* CreateRenderProcessHost(Profile* profile) const; | 86 virtual RenderProcessHost* CreateRenderProcessHost(Profile* profile) const; |
89 | 87 |
90 // Removes the given MockRenderProcessHost from the MockRenderProcessHost list | 88 // Removes the given MockRenderProcessHost from the MockRenderProcessHost list |
91 // without deleting it. When a test deletes a MockRenderProcessHost, we need | 89 // without deleting it. When a test deletes a MockRenderProcessHost, we need |
92 // to remove it from |processes_| to prevent it from being deleted twice. | 90 // to remove it from |processes_| to prevent it from being deleted twice. |
93 void Remove(MockRenderProcessHost* host) const; | 91 void Remove(MockRenderProcessHost* host) const; |
94 | 92 |
95 private: | 93 private: |
96 // A list of MockRenderProcessHosts created by this object. This list is used | 94 // A list of MockRenderProcessHosts created by this object. This list is used |
97 // for deleting all MockRenderProcessHosts that have not deleted by a test in | 95 // for deleting all MockRenderProcessHosts that have not deleted by a test in |
98 // the destructor and prevent them from being leaked. | 96 // the destructor and prevent them from being leaked. |
99 mutable ScopedVector<MockRenderProcessHost> processes_; | 97 mutable ScopedVector<MockRenderProcessHost> processes_; |
100 | 98 |
101 DISALLOW_COPY_AND_ASSIGN(MockRenderProcessHostFactory); | 99 DISALLOW_COPY_AND_ASSIGN(MockRenderProcessHostFactory); |
102 }; | 100 }; |
103 | 101 |
104 #endif // CHROME_BROWSER_RENDERER_HOST_MOCK_RENDER_PROCESS_HOST_H_ | 102 #endif // CHROME_BROWSER_RENDERER_HOST_MOCK_RENDER_PROCESS_HOST_H_ |
OLD | NEW |