| Index: blimp/engine/session/blimp_engine_session.cc
|
| diff --git a/blimp/engine/session/blimp_engine_session.cc b/blimp/engine/session/blimp_engine_session.cc
|
| index 3bf21099009ceb698e7e80c39e1545b96c552d6e..ec594fb3b61f27e3e7a97dbccf0e67991f049d58 100644
|
| --- a/blimp/engine/session/blimp_engine_session.cc
|
| +++ b/blimp/engine/session/blimp_engine_session.cc
|
| @@ -208,6 +208,7 @@ BlimpEngineSession::BlimpEngineSession(
|
| settings_manager_(settings_manager),
|
| settings_feature_(settings_manager_),
|
| render_widget_feature_(settings_manager_),
|
| + page_load_tracker_(this),
|
| net_components_(
|
| new EngineNetworkComponents(net_log,
|
| QuitCurrentMessageLoopClosure())) {
|
| @@ -578,33 +579,6 @@ void BlimpEngineSession::NavigationStateChanged(
|
| net::CompletionCallback());
|
| }
|
|
|
| -void BlimpEngineSession::LoadProgressChanged(
|
| - content::WebContents* source, double progress) {
|
| - if (source != web_contents_.get())
|
| - return;
|
| -
|
| - bool page_load_completed = (progress == 1.0);
|
| -
|
| - // If the client has been notified of a page load completed change, avoid
|
| - // sending another message. For the first navigation, the initial value used
|
| - // by the client is already false.
|
| - if (last_page_load_completed_value_ == page_load_completed)
|
| - return;
|
| -
|
| - NavigationMessage* navigation_message = nullptr;
|
| - std::unique_ptr<BlimpMessage> message =
|
| - CreateBlimpMessage(&navigation_message, kDummyTabId);
|
| - navigation_message->set_type(NavigationMessage::NAVIGATION_STATE_CHANGED);
|
| - NavigationStateChangeMessage* details =
|
| - navigation_message->mutable_navigation_state_changed();
|
| - details->set_page_load_completed(page_load_completed);
|
| -
|
| - navigation_message_sender_->ProcessMessage(std::move(message),
|
| - net::CompletionCallback());
|
| -
|
| - last_page_load_completed_value_ = page_load_completed;
|
| -}
|
| -
|
| void BlimpEngineSession::RenderViewCreated(
|
| content::RenderViewHost* render_view_host) {
|
| render_widget_feature_.OnRenderWidgetCreated(kDummyTabId,
|
| @@ -626,6 +600,47 @@ void BlimpEngineSession::RenderViewDeleted(
|
| render_view_host->GetWidget());
|
| }
|
|
|
| +void BlimpEngineSession::DidStartProvisionalLoadForFrame(
|
| + content::RenderFrameHost* render_frame_host,
|
| + const GURL& validated_url,
|
| + bool is_error_page,
|
| + bool is_iframe_srcdoc) {
|
| + page_load_tracker_.DidStartProvisionalLoadForFrame(render_frame_host);
|
| +}
|
| +
|
| +void BlimpEngineSession::DidFinishLoad(
|
| + content::RenderFrameHost* render_frame_host,
|
| + const GURL& validated_url) {
|
| + page_load_tracker_.DidFinishLoad(render_frame_host);
|
| +}
|
| +
|
| +void BlimpEngineSession::DidFailLoad(
|
| + content::RenderFrameHost* render_frame_host,
|
| + const GURL& validated_url,
|
| + int error_code,
|
| + const base::string16& error_description,
|
| + bool was_ignored_by_handler) {
|
| + page_load_tracker_.DidFailLoad(render_frame_host);
|
| +}
|
| +
|
| +void BlimpEngineSession::DidFirstPaintAfterLoad(
|
| + content::RenderWidgetHost* render_widget_host) {
|
| + page_load_tracker_.DidFirstPaintAfterLoad(render_widget_host);
|
| +}
|
| +
|
| +void BlimpEngineSession::SendPageLoadStatusUpdate(bool load_status) {
|
| + NavigationMessage* navigation_message = nullptr;
|
| + std::unique_ptr<BlimpMessage> message =
|
| + CreateBlimpMessage(&navigation_message, kDummyTabId);
|
| + navigation_message->set_type(NavigationMessage::NAVIGATION_STATE_CHANGED);
|
| + NavigationStateChangeMessage* details =
|
| + navigation_message->mutable_navigation_state_changed();
|
| + details->set_page_load_completed(load_status);
|
| +
|
| + navigation_message_sender_->ProcessMessage(std::move(message),
|
| + net::CompletionCallback());
|
| +}
|
| +
|
| void BlimpEngineSession::PlatformSetContents(
|
| std::unique_ptr<content::WebContents> new_contents) {
|
| new_contents->SetDelegate(this);
|
|
|