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

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 799643003: Add an event time parameter to didStartProvisionalLoad callbacks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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 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 #include "content/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 2155 matching lines...) Expand 10 before | Expand all | Expand 10 after
2166 DocumentState::FromDataSource(datasource))) { 2166 DocumentState::FromDataSource(datasource))) {
2167 scoped_ptr<ServiceWorkerNetworkProvider> 2167 scoped_ptr<ServiceWorkerNetworkProvider>
2168 network_provider(new ServiceWorkerNetworkProvider(routing_id_)); 2168 network_provider(new ServiceWorkerNetworkProvider(routing_id_));
2169 ServiceWorkerNetworkProvider::AttachToDocumentState( 2169 ServiceWorkerNetworkProvider::AttachToDocumentState(
2170 DocumentState::FromDataSource(datasource), 2170 DocumentState::FromDataSource(datasource),
2171 network_provider.Pass()); 2171 network_provider.Pass());
2172 } 2172 }
2173 } 2173 }
2174 2174
2175 void RenderFrameImpl::didStartProvisionalLoad(blink::WebLocalFrame* frame, 2175 void RenderFrameImpl::didStartProvisionalLoad(blink::WebLocalFrame* frame,
2176 bool is_transition_navigation) { 2176 bool is_transition_navigation,
2177 double triggering_event_time) {
2177 DCHECK(!frame_ || frame_ == frame); 2178 DCHECK(!frame_ || frame_ == frame);
2178 WebDataSource* ds = frame->provisionalDataSource(); 2179 WebDataSource* ds = frame->provisionalDataSource();
2179 2180
2180 // In fast/loader/stop-provisional-loads.html, we abort the load before this 2181 // In fast/loader/stop-provisional-loads.html, we abort the load before this
2181 // callback is invoked. 2182 // callback is invoked.
2182 if (!ds) 2183 if (!ds)
2183 return; 2184 return;
2184 2185
2185 TRACE_EVENT2("navigation", "RenderFrameImpl::didStartProvisionalLoad", 2186 TRACE_EVENT2("navigation", "RenderFrameImpl::didStartProvisionalLoad",
2186 "id", routing_id_, "url", ds->request().url().string().utf8()); 2187 "id", routing_id_, "url", ds->request().url().string().utf8());
2187 DocumentState* document_state = DocumentState::FromDataSource(ds); 2188 DocumentState* document_state = DocumentState::FromDataSource(ds);
2188 2189
2189 // We should only navigate to swappedout:// when is_swapped_out_ is true. 2190 // We should only navigate to swappedout:// when is_swapped_out_ is true.
2190 CHECK((ds->request().url() != GURL(kSwappedOutURL)) || 2191 CHECK((ds->request().url() != GURL(kSwappedOutURL)) ||
2191 is_swapped_out_) << 2192 is_swapped_out_) <<
2192 "Heard swappedout:// when not swapped out."; 2193 "Heard swappedout:// when not swapped out.";
2193 2194
2194 // Update the request time if WebKit has better knowledge of it. 2195 // Update the request time if WebKit has better knowledge of it.
2195 if (document_state->request_time().is_null()) { 2196 if (document_state->request_time().is_null() &&
2196 double event_time = ds->triggeringEventTime(); 2197 triggering_event_time != 0.0) {
2197 if (event_time != 0.0) 2198 document_state->set_request_time(Time::FromDoubleT(triggering_event_time));
2198 document_state->set_request_time(Time::FromDoubleT(event_time));
2199 } 2199 }
2200 2200
2201 // Start time is only set after request time. 2201 // Start time is only set after request time.
2202 document_state->set_start_load_time(Time::Now()); 2202 document_state->set_start_load_time(Time::Now());
2203 2203
2204 bool is_top_most = !frame->parent(); 2204 bool is_top_most = !frame->parent();
2205 if (is_top_most) { 2205 if (is_top_most) {
2206 render_view_->set_navigation_gesture( 2206 render_view_->set_navigation_gesture(
2207 WebUserGestureIndicator::isProcessingUserGesture() ? 2207 WebUserGestureIndicator::isProcessingUserGesture() ?
2208 NavigationGestureUser : NavigationGestureAuto); 2208 NavigationGestureUser : NavigationGestureAuto);
(...skipping 2080 matching lines...) Expand 10 before | Expand all | Expand 10 after
4289 4289
4290 #if defined(ENABLE_BROWSER_CDMS) 4290 #if defined(ENABLE_BROWSER_CDMS)
4291 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 4291 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
4292 if (!cdm_manager_) 4292 if (!cdm_manager_)
4293 cdm_manager_ = new RendererCdmManager(this); 4293 cdm_manager_ = new RendererCdmManager(this);
4294 return cdm_manager_; 4294 return cdm_manager_;
4295 } 4295 }
4296 #endif // defined(ENABLE_BROWSER_CDMS) 4296 #endif // defined(ENABLE_BROWSER_CDMS)
4297 4297
4298 } // namespace content 4298 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | content/shell/renderer/test_runner/web_frame_test_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698