OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CONTENT_PUBLIC_RENDERER_RENDER_VIEW_OBSERVER_H_ | 5 #ifndef CONTENT_PUBLIC_RENDERER_RENDER_VIEW_OBSERVER_H_ |
6 #define CONTENT_PUBLIC_RENDERER_RENDER_VIEW_OBSERVER_H_ | 6 #define CONTENT_PUBLIC_RENDERER_RENDER_VIEW_OBSERVER_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "content/common/content_export.h" | 10 #include "content/common/content_export.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 // IPC::Sender implementation. | 102 // IPC::Sender implementation. |
103 virtual bool Send(IPC::Message* message) OVERRIDE; | 103 virtual bool Send(IPC::Message* message) OVERRIDE; |
104 | 104 |
105 RenderView* render_view() const; | 105 RenderView* render_view() const; |
106 int routing_id() const { return routing_id_; } | 106 int routing_id() const { return routing_id_; } |
107 | 107 |
108 protected: | 108 protected: |
109 explicit RenderViewObserver(RenderView* render_view); | 109 explicit RenderViewObserver(RenderView* render_view); |
110 virtual ~RenderViewObserver(); | 110 virtual ~RenderViewObserver(); |
111 | 111 |
| 112 // Sets |render_view_| to track. |
| 113 // Removes itself of previous (if any) |render_view_| observer list and adds |
| 114 // to the new |render_view|. Since it assumes that observer outlives |
| 115 // render_view, OnDestruct should be overridden. |
| 116 void Observe(RenderView* render_view); |
| 117 |
112 private: | 118 private: |
113 friend class RenderViewImpl; | 119 friend class RenderViewImpl; |
114 | 120 |
115 // This is called by the RenderView when it's going away so that this object | 121 // This is called by the RenderView when it's going away so that this object |
116 // can null out its pointer. | 122 // can null out its pointer. |
117 void RenderViewGone(); | 123 void RenderViewGone(); |
118 | 124 |
119 RenderView* render_view_; | 125 RenderView* render_view_; |
120 // The routing ID of the associated RenderView. | 126 // The routing ID of the associated RenderView. |
121 int routing_id_; | 127 int routing_id_; |
122 | 128 |
123 DISALLOW_COPY_AND_ASSIGN(RenderViewObserver); | 129 DISALLOW_COPY_AND_ASSIGN(RenderViewObserver); |
124 }; | 130 }; |
125 | 131 |
126 } // namespace content | 132 } // namespace content |
127 | 133 |
128 #endif // CONTENT_PUBLIC_RENDERER_RENDER_VIEW_OBSERVER_H_ | 134 #endif // CONTENT_PUBLIC_RENDERER_RENDER_VIEW_OBSERVER_H_ |
OLD | NEW |