Chromium Code Reviews| 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 #include "content/public/test/render_view_test.h" | 5 #include "content/public/test/render_view_test.h" |
| 6 | 6 |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "content/common/dom_storage/dom_storage_types.h" | 8 #include "content/common/dom_storage/dom_storage_types.h" |
| 9 #include "content/common/input_messages.h" | 9 #include "content/common/input_messages.h" |
| 10 #include "content/common/view_messages.h" | 10 #include "content/common/view_messages.h" |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 21 #include "third_party/WebKit/public/web/WebFrame.h" | 21 #include "third_party/WebKit/public/web/WebFrame.h" |
| 22 #include "third_party/WebKit/public/web/WebHistoryItem.h" | 22 #include "third_party/WebKit/public/web/WebHistoryItem.h" |
| 23 #include "third_party/WebKit/public/web/WebInputEvent.h" | 23 #include "third_party/WebKit/public/web/WebInputEvent.h" |
| 24 #include "third_party/WebKit/public/web/WebKit.h" | 24 #include "third_party/WebKit/public/web/WebKit.h" |
| 25 #include "third_party/WebKit/public/web/WebScriptController.h" | 25 #include "third_party/WebKit/public/web/WebScriptController.h" |
| 26 #include "third_party/WebKit/public/web/WebScriptSource.h" | 26 #include "third_party/WebKit/public/web/WebScriptSource.h" |
| 27 #include "third_party/WebKit/public/web/WebView.h" | 27 #include "third_party/WebKit/public/web/WebView.h" |
| 28 #include "ui/base/resource/resource_bundle.h" | 28 #include "ui/base/resource/resource_bundle.h" |
| 29 #include "v8/include/v8.h" | 29 #include "v8/include/v8.h" |
| 30 | 30 |
| 31 #if defined(OS_MACOSX) | |
| 32 #include "base/mac/scoped_nsautorelease_pool.h" | |
| 33 #endif | |
| 34 | |
| 31 using blink::WebFrame; | 35 using blink::WebFrame; |
| 32 using blink::WebInputEvent; | 36 using blink::WebInputEvent; |
| 33 using blink::WebMouseEvent; | 37 using blink::WebMouseEvent; |
| 34 using blink::WebScriptController; | 38 using blink::WebScriptController; |
| 35 using blink::WebScriptSource; | 39 using blink::WebScriptSource; |
| 36 using blink::WebString; | 40 using blink::WebString; |
| 37 using blink::WebURLRequest; | 41 using blink::WebURLRequest; |
| 38 | 42 |
| 39 namespace { | 43 namespace { |
| 40 const int32 kOpenerId = -2; | 44 const int32 kOpenerId = -2; |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 136 | 140 |
| 137 // Subclasses can set render_thread_ with their own implementation before | 141 // Subclasses can set render_thread_ with their own implementation before |
| 138 // calling RenderViewTest::SetUp(). | 142 // calling RenderViewTest::SetUp(). |
| 139 if (!render_thread_) | 143 if (!render_thread_) |
| 140 render_thread_.reset(new MockRenderThread()); | 144 render_thread_.reset(new MockRenderThread()); |
| 141 render_thread_->set_routing_id(kRouteId); | 145 render_thread_->set_routing_id(kRouteId); |
| 142 render_thread_->set_surface_id(kSurfaceId); | 146 render_thread_->set_surface_id(kSurfaceId); |
| 143 render_thread_->set_new_window_routing_id(kNewWindowRouteId); | 147 render_thread_->set_new_window_routing_id(kNewWindowRouteId); |
| 144 render_thread_->set_new_frame_routing_id(kNewFrameRouteId); | 148 render_thread_->set_new_frame_routing_id(kNewFrameRouteId); |
| 145 | 149 |
| 150 #if defined(OS_MACOSX) | |
| 151 autorelease_pool_.reset(new base::mac::ScopedNSAutoreleasePool()); | |
| 152 #endif | |
| 146 command_line_.reset(new CommandLine(CommandLine::NO_PROGRAM)); | 153 command_line_.reset(new CommandLine(CommandLine::NO_PROGRAM)); |
| 147 params_.reset(new MainFunctionParams(*command_line_)); | 154 params_.reset(new MainFunctionParams(*command_line_)); |
| 148 platform_.reset(new RendererMainPlatformDelegate(*params_)); | 155 platform_.reset(new RendererMainPlatformDelegate(*params_)); |
| 149 platform_->PlatformInitialize(); | 156 platform_->PlatformInitialize(); |
| 150 | 157 |
| 151 // Setting flags and really doing anything with WebKit is fairly fragile and | 158 // Setting flags and really doing anything with WebKit is fairly fragile and |
| 152 // hacky, but this is the world we live in... | 159 // hacky, but this is the world we live in... |
| 153 std::string flags("--expose-gc"); | 160 std::string flags("--expose-gc"); |
| 154 v8::V8::SetFlagsFromString(flags.c_str(), static_cast<int>(flags.size())); | 161 v8::V8::SetFlagsFromString(flags.c_str(), static_cast<int>(flags.size())); |
| 155 blink::initialize(webkit_platform_support_.Get()); | 162 blink::initialize(webkit_platform_support_.Get()); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 203 | 210 |
| 204 render_thread_->SendCloseMessage(); | 211 render_thread_->SendCloseMessage(); |
| 205 view_ = NULL; | 212 view_ = NULL; |
| 206 mock_process_.reset(); | 213 mock_process_.reset(); |
| 207 | 214 |
| 208 // After telling the view to close and resetting mock_process_ we may get | 215 // After telling the view to close and resetting mock_process_ we may get |
| 209 // some new tasks which need to be processed before shutting down WebKit | 216 // some new tasks which need to be processed before shutting down WebKit |
| 210 // (http://crbug.com/21508). | 217 // (http://crbug.com/21508). |
| 211 base::RunLoop().RunUntilIdle(); | 218 base::RunLoop().RunUntilIdle(); |
| 212 | 219 |
| 220 #if defined(OS_MACOSX) | |
| 221 autorelease_pool_.reset(NULL); | |
|
Nico
2014/02/04 16:12:51
Is this necessary? The destructor will run this au
tasak
2014/02/05 04:23:02
Yes. This should be done before blink::shutdown().
Nico
2014/02/05 04:58:22
Cool. Say "// Needs to run before blink::shutdown(
tasak
2014/02/05 05:16:02
Sure. Done.
| |
| 222 #endif | |
| 223 | |
| 213 blink::shutdown(); | 224 blink::shutdown(); |
| 214 | 225 |
| 215 platform_->PlatformUninitialize(); | 226 platform_->PlatformUninitialize(); |
| 216 platform_.reset(); | 227 platform_.reset(); |
| 217 params_.reset(); | 228 params_.reset(); |
| 218 command_line_.reset(); | 229 command_line_.reset(); |
| 219 } | 230 } |
| 220 | 231 |
| 221 void RenderViewTest::SendNativeKeyEvent( | 232 void RenderViewTest::SendNativeKeyEvent( |
| 222 const NativeWebKeyboardEvent& key_event) { | 233 const NativeWebKeyboardEvent& key_event) { |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 380 | 391 |
| 381 ViewMsg_Navigate navigate_message(impl->GetRoutingID(), navigate_params); | 392 ViewMsg_Navigate navigate_message(impl->GetRoutingID(), navigate_params); |
| 382 OnMessageReceived(navigate_message); | 393 OnMessageReceived(navigate_message); |
| 383 | 394 |
| 384 // The load actually happens asynchronously, so we pump messages to process | 395 // The load actually happens asynchronously, so we pump messages to process |
| 385 // the pending continuation. | 396 // the pending continuation. |
| 386 ProcessPendingMessages(); | 397 ProcessPendingMessages(); |
| 387 } | 398 } |
| 388 | 399 |
| 389 } // namespace content | 400 } // namespace content |
| OLD | NEW |