Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: content/public/test/render_view_test.cc

Issue 2103733004: Set navigationStart correctly for all load types. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Don't call beforeunload on empty frames. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <cctype> 9 #include <cctype>
10 10
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 71
72 namespace { 72 namespace {
73 73
74 const int32_t kRouteId = 5; 74 const int32_t kRouteId = 5;
75 const int32_t kMainFrameRouteId = 6; 75 const int32_t kMainFrameRouteId = 6;
76 // TODO(avi): Widget routing IDs should be distinct from the view routing IDs, 76 // TODO(avi): Widget routing IDs should be distinct from the view routing IDs,
77 // once RenderWidgetHost is distilled from RenderViewHostImpl. 77 // once RenderWidgetHost is distilled from RenderViewHostImpl.
78 // https://crbug.com/545684 78 // https://crbug.com/545684
79 const int32_t kMainFrameWidgetRouteId = 5; 79 const int32_t kMainFrameWidgetRouteId = 5;
80 const int32_t kNewWindowRouteId = 7; 80 const int32_t kNewWindowRouteId = 7;
81 const int32_t kNewWindowMainFrameRouteId = 8;
81 const int32_t kNewFrameRouteId = 10; 82 const int32_t kNewFrameRouteId = 10;
82 const int32_t kNewFrameWidgetRouteId = 7; 83 const int32_t kNewFrameWidgetRouteId = 7;
83 84
84 // Converts |ascii_character| into |key_code| and returns true on success. 85 // Converts |ascii_character| into |key_code| and returns true on success.
85 // Handles only the characters needed by tests. 86 // Handles only the characters needed by tests.
86 bool GetWindowsKeyCode(char ascii_character, int* key_code) { 87 bool GetWindowsKeyCode(char ascii_character, int* key_code) {
87 if (isalnum(ascii_character)) { 88 if (isalnum(ascii_character)) {
88 *key_code = base::ToUpperASCII(ascii_character); 89 *key_code = base::ToUpperASCII(ascii_character);
89 return true; 90 return true;
90 } 91 }
(...skipping 16 matching lines...) Expand all
107 } 108 }
108 } 109 }
109 110
110 } // namespace 111 } // namespace
111 112
112 namespace content { 113 namespace content {
113 114
114 class RendererBlinkPlatformImplTestOverrideImpl 115 class RendererBlinkPlatformImplTestOverrideImpl
115 : public RendererBlinkPlatformImpl { 116 : public RendererBlinkPlatformImpl {
116 public: 117 public:
118 using WebURLLoaderFactory = RenderViewTest::
119 RendererBlinkPlatformImplTestOverride::WebURLLoaderFactory;
120
117 RendererBlinkPlatformImplTestOverrideImpl( 121 RendererBlinkPlatformImplTestOverrideImpl(
118 scheduler::RendererScheduler* scheduler) 122 scheduler::RendererScheduler* scheduler)
119 : RendererBlinkPlatformImpl(scheduler, nullptr) { 123 : RendererBlinkPlatformImpl(scheduler, nullptr) {
120 } 124 }
121 125
122 // Get rid of the dependency to the sandbox, which is not available in 126 // Get rid of the dependency to the sandbox, which is not available in
123 // RenderViewTest. 127 // RenderViewTest.
124 blink::WebSandboxSupport* sandboxSupport() override { return NULL; } 128 blink::WebSandboxSupport* sandboxSupport() override { return NULL; }
129
130 blink::WebURLLoader* createURLLoader() override {
131 if (!url_loader_factory_.is_null())
132 return url_loader_factory_.Run();
133 return RendererBlinkPlatformImpl::createURLLoader();
134 }
135
136 void SetWebURLLoaderFactory(const WebURLLoaderFactory& factory) {
137 url_loader_factory_ = factory;
138 }
139
140 private:
141 WebURLLoaderFactory url_loader_factory_;
125 }; 142 };
126 143
127 RenderViewTest::RendererBlinkPlatformImplTestOverride:: 144 RenderViewTest::RendererBlinkPlatformImplTestOverride::
128 RendererBlinkPlatformImplTestOverride() { 145 RendererBlinkPlatformImplTestOverride() {
129 renderer_scheduler_ = scheduler::RendererScheduler::Create(); 146 renderer_scheduler_ = scheduler::RendererScheduler::Create();
130 blink_platform_impl_.reset( 147 blink_platform_impl_.reset(
131 new RendererBlinkPlatformImplTestOverrideImpl(renderer_scheduler_.get())); 148 new RendererBlinkPlatformImplTestOverrideImpl(renderer_scheduler_.get()));
132 } 149 }
133 150
134 RenderViewTest::RendererBlinkPlatformImplTestOverride:: 151 RenderViewTest::RendererBlinkPlatformImplTestOverride::
135 ~RendererBlinkPlatformImplTestOverride() { 152 ~RendererBlinkPlatformImplTestOverride() {
136 } 153 }
137 154
138 blink::Platform* 155 blink::Platform*
139 RenderViewTest::RendererBlinkPlatformImplTestOverride::Get() const { 156 RenderViewTest::RendererBlinkPlatformImplTestOverride::Get() const {
140 return blink_platform_impl_.get(); 157 return blink_platform_impl_.get();
141 } 158 }
142 159
143 void RenderViewTest::RendererBlinkPlatformImplTestOverride::Shutdown() { 160 void RenderViewTest::RendererBlinkPlatformImplTestOverride::Shutdown() {
144 renderer_scheduler_->Shutdown(); 161 renderer_scheduler_->Shutdown();
145 blink_platform_impl_->Shutdown(); 162 blink_platform_impl_->Shutdown();
146 } 163 }
147 164
165 void RenderViewTest::RendererBlinkPlatformImplTestOverride::
166 SetWebURLLoaderFactory(const WebURLLoaderFactory& factory) {
167 blink_platform_impl_->SetWebURLLoaderFactory(factory);
168 }
169
148 RenderViewTest::RenderViewTest() 170 RenderViewTest::RenderViewTest()
149 : view_(NULL) { 171 : view_(NULL) {
150 RenderFrameImpl::InstallCreateHook(&TestRenderFrame::CreateTestRenderFrame); 172 RenderFrameImpl::InstallCreateHook(&TestRenderFrame::CreateTestRenderFrame);
151 } 173 }
152 174
153 RenderViewTest::~RenderViewTest() { 175 RenderViewTest::~RenderViewTest() {
154 } 176 }
155 177
156 void RenderViewTest::ProcessPendingMessages() { 178 void RenderViewTest::ProcessPendingMessages() {
157 msg_loop_.task_runner()->PostTask(FROM_HERE, 179 msg_loop_.task_runner()->PostTask(FROM_HERE,
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 // font IPCs, causing all font loading to fail. 272 // font IPCs, causing all font loading to fail.
251 SetDWriteFontProxySenderForTesting(CreateFakeCollectionSender()); 273 SetDWriteFontProxySenderForTesting(CreateFakeCollectionSender());
252 #endif 274 #endif
253 275
254 // Subclasses can set render_thread_ with their own implementation before 276 // Subclasses can set render_thread_ with their own implementation before
255 // calling RenderViewTest::SetUp(). 277 // calling RenderViewTest::SetUp().
256 if (!render_thread_) 278 if (!render_thread_)
257 render_thread_.reset(new MockRenderThread()); 279 render_thread_.reset(new MockRenderThread());
258 render_thread_->set_routing_id(kRouteId); 280 render_thread_->set_routing_id(kRouteId);
259 render_thread_->set_new_window_routing_id(kNewWindowRouteId); 281 render_thread_->set_new_window_routing_id(kNewWindowRouteId);
282 render_thread_->set_new_window_main_frame_routing_id(
283 kNewWindowMainFrameRouteId);
260 render_thread_->set_new_window_main_frame_widget_routing_id( 284 render_thread_->set_new_window_main_frame_widget_routing_id(
261 kNewFrameWidgetRouteId); 285 kNewFrameWidgetRouteId);
262 render_thread_->set_new_frame_routing_id(kNewFrameRouteId); 286 render_thread_->set_new_frame_routing_id(kNewFrameRouteId);
263 287
264 #if defined(OS_MACOSX) 288 #if defined(OS_MACOSX)
265 autorelease_pool_.reset(new base::mac::ScopedNSAutoreleasePool()); 289 autorelease_pool_.reset(new base::mac::ScopedNSAutoreleasePool());
266 #endif 290 #endif
267 command_line_.reset(new base::CommandLine(base::CommandLine::NO_PROGRAM)); 291 command_line_.reset(new base::CommandLine(base::CommandLine::NO_PROGRAM));
268 params_.reset(new MainFunctionParams(*command_line_)); 292 params_.reset(new MainFunctionParams(*command_line_));
269 platform_.reset(new RendererMainPlatformDelegate(*params_)); 293 platform_.reset(new RendererMainPlatformDelegate(*params_));
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 static_cast<TestRenderFrame*>(impl->GetMainRenderFrame()); 692 static_cast<TestRenderFrame*>(impl->GetMainRenderFrame());
669 frame->Navigate(common_params, StartNavigationParams(), request_params); 693 frame->Navigate(common_params, StartNavigationParams(), request_params);
670 694
671 // The load actually happens asynchronously, so we pump messages to process 695 // The load actually happens asynchronously, so we pump messages to process
672 // the pending continuation. 696 // the pending continuation.
673 FrameLoadWaiter(frame).Wait(); 697 FrameLoadWaiter(frame).Wait();
674 view_->GetWebView()->updateAllLifecyclePhases(); 698 view_->GetWebView()->updateAllLifecyclePhases();
675 } 699 }
676 700
677 } // namespace content 701 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698