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

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

Issue 1624583003: Reload Lo-Fi images inline instead of reloading the whole page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: creis comments Created 4 years, 10 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 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 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 1375 matching lines...) Expand 10 before | Expand all | Expand 10 after
1386 OnJavaScriptExecuteRequest) 1386 OnJavaScriptExecuteRequest)
1387 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestForTests, 1387 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestForTests,
1388 OnJavaScriptExecuteRequestForTests) 1388 OnJavaScriptExecuteRequestForTests)
1389 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestInIsolatedWorld, 1389 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestInIsolatedWorld,
1390 OnJavaScriptExecuteRequestInIsolatedWorld) 1390 OnJavaScriptExecuteRequestInIsolatedWorld)
1391 IPC_MESSAGE_HANDLER(FrameMsg_VisualStateRequest, 1391 IPC_MESSAGE_HANDLER(FrameMsg_VisualStateRequest,
1392 OnVisualStateRequest) 1392 OnVisualStateRequest)
1393 IPC_MESSAGE_HANDLER(FrameMsg_SetEditableSelectionOffsets, 1393 IPC_MESSAGE_HANDLER(FrameMsg_SetEditableSelectionOffsets,
1394 OnSetEditableSelectionOffsets) 1394 OnSetEditableSelectionOffsets)
1395 IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload) 1395 IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload)
1396 IPC_MESSAGE_HANDLER(FrameMsg_ReloadLoFiImages, OnReloadLoFiImages)
1396 IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest, 1397 IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest,
1397 OnTextSurroundingSelectionRequest) 1398 OnTextSurroundingSelectionRequest)
1398 IPC_MESSAGE_HANDLER(FrameMsg_SetAccessibilityMode, 1399 IPC_MESSAGE_HANDLER(FrameMsg_SetAccessibilityMode,
1399 OnSetAccessibilityMode) 1400 OnSetAccessibilityMode)
1400 IPC_MESSAGE_HANDLER(AccessibilityMsg_SnapshotTree, 1401 IPC_MESSAGE_HANDLER(AccessibilityMsg_SnapshotTree,
1401 OnSnapshotAccessibilityTree) 1402 OnSnapshotAccessibilityTree)
1402 IPC_MESSAGE_HANDLER(FrameMsg_UpdateOpener, OnUpdateOpener) 1403 IPC_MESSAGE_HANDLER(FrameMsg_UpdateOpener, OnUpdateOpener)
1403 IPC_MESSAGE_HANDLER(FrameMsg_CommitNavigation, OnCommitNavigation) 1404 IPC_MESSAGE_HANDLER(FrameMsg_CommitNavigation, OnCommitNavigation)
1404 IPC_MESSAGE_HANDLER(FrameMsg_DidUpdateSandboxFlags, OnDidUpdateSandboxFlags) 1405 IPC_MESSAGE_HANDLER(FrameMsg_DidUpdateSandboxFlags, OnDidUpdateSandboxFlags)
1405 IPC_MESSAGE_HANDLER(FrameMsg_SetFrameOwnerProperties, 1406 IPC_MESSAGE_HANDLER(FrameMsg_SetFrameOwnerProperties,
(...skipping 717 matching lines...) Expand 10 before | Expand all | Expand 10 after
2123 source_frame, 2124 source_frame,
2124 frame_->document(), 2125 frame_->document(),
2125 channels); 2126 channels);
2126 frame_->dispatchMessageEventWithOriginCheck(target_origin, msg_event); 2127 frame_->dispatchMessageEventWithOriginCheck(target_origin, msg_event);
2127 } 2128 }
2128 2129
2129 void RenderFrameImpl::OnReload(bool ignore_cache) { 2130 void RenderFrameImpl::OnReload(bool ignore_cache) {
2130 frame_->reload(ignore_cache); 2131 frame_->reload(ignore_cache);
2131 } 2132 }
2132 2133
2134 void RenderFrameImpl::OnReloadLoFiImages() {
2135 is_using_lofi_ = false;
2136 GetWebFrame()->reloadLoFiImages();
2137 }
2138
2133 void RenderFrameImpl::OnTextSurroundingSelectionRequest(size_t max_length) { 2139 void RenderFrameImpl::OnTextSurroundingSelectionRequest(size_t max_length) {
2134 blink::WebSurroundingText surroundingText; 2140 blink::WebSurroundingText surroundingText;
2135 surroundingText.initialize(frame_->selectionRange(), max_length); 2141 surroundingText.initialize(frame_->selectionRange(), max_length);
2136 2142
2137 if (surroundingText.isNull()) { 2143 if (surroundingText.isNull()) {
2138 // |surroundingText| might not be correctly initialized, for example if 2144 // |surroundingText| might not be correctly initialized, for example if
2139 // |frame_->selectionRange().isNull()|, in other words, if there was no 2145 // |frame_->selectionRange().isNull()|, in other words, if there was no
2140 // selection. 2146 // selection.
2141 Send(new FrameHostMsg_TextSurroundingSelectionResponse( 2147 Send(new FrameHostMsg_TextSurroundingSelectionResponse(
2142 routing_id_, base::string16(), 0, 0)); 2148 routing_id_, base::string16(), 0, 0));
(...skipping 983 matching lines...) Expand 10 before | Expand all | Expand 10 after
3126 const blink::WebHistoryItem& item, 3132 const blink::WebHistoryItem& item,
3127 blink::WebHistoryCommitType commit_type) { 3133 blink::WebHistoryCommitType commit_type) {
3128 TRACE_EVENT2("navigation", "RenderFrameImpl::didCommitProvisionalLoad", 3134 TRACE_EVENT2("navigation", "RenderFrameImpl::didCommitProvisionalLoad",
3129 "id", routing_id_, 3135 "id", routing_id_,
3130 "url", GetLoadingUrl().possibly_invalid_spec()); 3136 "url", GetLoadingUrl().possibly_invalid_spec());
3131 DCHECK(!frame_ || frame_ == frame); 3137 DCHECK(!frame_ || frame_ == frame);
3132 DocumentState* document_state = 3138 DocumentState* document_state =
3133 DocumentState::FromDataSource(frame->dataSource()); 3139 DocumentState::FromDataSource(frame->dataSource());
3134 NavigationStateImpl* navigation_state = 3140 NavigationStateImpl* navigation_state =
3135 static_cast<NavigationStateImpl*>(document_state->navigation_state()); 3141 static_cast<NavigationStateImpl*>(document_state->navigation_state());
3136 WebURLResponseExtraDataImpl* extra_data = GetExtraDataFromResponse( 3142 WebURLResponseExtraDataImpl* extra_data =
3137 frame->dataSource()->response()); 3143 GetExtraDataFromResponse(frame->dataSource()->response());
3138 is_using_lofi_ = extra_data && extra_data->is_using_lofi(); 3144 // Only update LoFi state for new main frame documents. Subframes inherit from
3145 // the main frame and should not change at commit time.
3146 if (is_main_frame_ && !navigation_state->WasWithinSamePage()) {
3147 is_using_lofi_ = extra_data && extra_data->is_using_lofi();
3148 }
3139 3149
3140 if (proxy_routing_id_ != MSG_ROUTING_NONE) { 3150 if (proxy_routing_id_ != MSG_ROUTING_NONE) {
3141 RenderFrameProxy* proxy = 3151 RenderFrameProxy* proxy =
3142 RenderFrameProxy::FromRoutingID(proxy_routing_id_); 3152 RenderFrameProxy::FromRoutingID(proxy_routing_id_);
3143 3153
3144 // The proxy might have been detached while the provisional LocalFrame was 3154 // The proxy might have been detached while the provisional LocalFrame was
3145 // being navigated. In that case, don't swap the frame back in the tree 3155 // being navigated. In that case, don't swap the frame back in the tree
3146 // and return early (to avoid sending confusing IPCs to the browser 3156 // and return early (to avoid sending confusing IPCs to the browser
3147 // process). See https://crbug.com/526304 and https://crbug.com/568676. 3157 // process). See https://crbug.com/526304 and https://crbug.com/568676.
3148 // TODO(nasko, alexmos): Eventually, the browser process will send an IPC 3158 // TODO(nasko, alexmos): Eventually, the browser process will send an IPC
(...skipping 2948 matching lines...) Expand 10 before | Expand all | Expand 10 after
6097 int match_count, 6107 int match_count,
6098 int ordinal, 6108 int ordinal,
6099 const WebRect& selection_rect, 6109 const WebRect& selection_rect,
6100 bool final_status_update) { 6110 bool final_status_update) {
6101 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count, 6111 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count,
6102 selection_rect, ordinal, 6112 selection_rect, ordinal,
6103 final_status_update)); 6113 final_status_update));
6104 } 6114 }
6105 6115
6106 } // namespace content 6116 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698