OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_BROWSER_FRAME_HOST_INTERSTITIAL_PAGE_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_FRAME_HOST_INTERSTITIAL_PAGE_IMPL_H_ |
6 #define CONTENT_BROWSER_FRAME_HOST_INTERSTITIAL_PAGE_IMPL_H_ | 6 #define CONTENT_BROWSER_FRAME_HOST_INTERSTITIAL_PAGE_IMPL_H_ |
7 | 7 |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 bool* is_keyboard_shortcut) override; | 161 bool* is_keyboard_shortcut) override; |
162 void HandleKeyboardEvent(const NativeWebKeyboardEvent& event) override; | 162 void HandleKeyboardEvent(const NativeWebKeyboardEvent& event) override; |
163 #if defined(OS_WIN) | 163 #if defined(OS_WIN) |
164 virtual gfx::NativeViewAccessible GetParentNativeViewAccessible() override; | 164 virtual gfx::NativeViewAccessible GetParentNativeViewAccessible() override; |
165 #endif | 165 #endif |
166 | 166 |
167 bool enabled() const { return enabled_; } | 167 bool enabled() const { return enabled_; } |
168 WebContents* web_contents() const; | 168 WebContents* web_contents() const; |
169 const GURL& url() const { return url_; } | 169 const GURL& url() const { return url_; } |
170 | 170 |
171 // Creates the RenderViewHost containing the interstitial content. | |
172 // Overriden in unit tests. | |
173 virtual RenderViewHost* CreateRenderViewHost(); | |
174 | |
175 // Creates the WebContentsView that shows the interstitial RVH. | 171 // Creates the WebContentsView that shows the interstitial RVH. |
176 // Overriden in unit tests. | 172 // Overriden in unit tests. |
177 virtual WebContentsView* CreateWebContentsView(); | 173 virtual WebContentsView* CreateWebContentsView(); |
178 | 174 |
179 // Notification magic. | 175 // Notification magic. |
180 NotificationRegistrar notification_registrar_; | 176 NotificationRegistrar notification_registrar_; |
181 | 177 |
182 private: | 178 private: |
183 class InterstitialPageRVHDelegateView; | 179 class InterstitialPageRVHDelegateView; |
184 | 180 |
185 // Disable the interstitial: | 181 // Disable the interstitial: |
186 // - if it is not yet showing, then it won't be shown. | 182 // - if it is not yet showing, then it won't be shown. |
187 // - any command sent by the RenderViewHost will be ignored. | 183 // - any command sent by the RenderViewHost will be ignored. |
188 void Disable(); | 184 void Disable(); |
189 | 185 |
190 // Delete ourselves, causing Shutdown on the RVH to be called. | 186 // Delete ourselves, causing Shutdown on the RVH to be called. |
191 void Shutdown(); | 187 void Shutdown(); |
192 | 188 |
193 void OnNavigatingAwayOrTabClosing(); | 189 void OnNavigatingAwayOrTabClosing(); |
194 | 190 |
195 // Executes the passed action on the ResourceDispatcher (on the IO thread). | 191 // Executes the passed action on the ResourceDispatcher (on the IO thread). |
196 // Used to block/resume/cancel requests for the RenderViewHost hidden by this | 192 // Used to block/resume/cancel requests for the RenderViewHost hidden by this |
197 // interstitial. | 193 // interstitial. |
198 void TakeActionOnResourceDispatcher(ResourceRequestAction action); | 194 void TakeActionOnResourceDispatcher(ResourceRequestAction action); |
199 | 195 |
200 // IPC message handlers. | 196 // IPC message handlers. |
201 void OnDomOperationResponse(const std::string& json_string, | 197 void OnDomOperationResponse(const std::string& json_string, |
202 int automation_id); | 198 int automation_id); |
203 | 199 |
| 200 // Creates the RenderViewHost containing the interstitial content. |
| 201 RenderViewHostImpl* CreateRenderViewHost(); |
| 202 |
204 // The contents in which we are displayed. This is valid until Hide is | 203 // The contents in which we are displayed. This is valid until Hide is |
205 // called, at which point it will be set to NULL because the WebContents | 204 // called, at which point it will be set to NULL because the WebContents |
206 // itself may be deleted. | 205 // itself may be deleted. |
207 WebContents* web_contents_; | 206 WebContents* web_contents_; |
208 | 207 |
209 // The NavigationController for the content this page is being displayed over. | 208 // The NavigationController for the content this page is being displayed over. |
210 NavigationControllerImpl* controller_; | 209 NavigationControllerImpl* controller_; |
211 | 210 |
212 // Delegate for dispatching keyboard events and accessing the native view. | 211 // Delegate for dispatching keyboard events and accessing the native view. |
213 RenderWidgetHostDelegate* render_widget_host_delegate_; | 212 RenderWidgetHostDelegate* render_widget_host_delegate_; |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 scoped_refptr<SessionStorageNamespace> session_storage_namespace_; | 279 scoped_refptr<SessionStorageNamespace> session_storage_namespace_; |
281 | 280 |
282 base::WeakPtrFactory<InterstitialPageImpl> weak_ptr_factory_; | 281 base::WeakPtrFactory<InterstitialPageImpl> weak_ptr_factory_; |
283 | 282 |
284 DISALLOW_COPY_AND_ASSIGN(InterstitialPageImpl); | 283 DISALLOW_COPY_AND_ASSIGN(InterstitialPageImpl); |
285 }; | 284 }; |
286 | 285 |
287 } // namespace content | 286 } // namespace content |
288 | 287 |
289 #endif // CONTENT_BROWSER_FRAME_HOST_INTERSTITIAL_PAGE_IMPL_H_ | 288 #endif // CONTENT_BROWSER_FRAME_HOST_INTERSTITIAL_PAGE_IMPL_H_ |
OLD | NEW |