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

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

Issue 1144463003: Remove Navigation Transitions from Chromium (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed TransitionPageHelper. Created 5 years, 7 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 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 1041 matching lines...) Expand 10 before | Expand all | Expand 10 after
1052 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequest, 1052 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequest,
1053 OnJavaScriptExecuteRequest) 1053 OnJavaScriptExecuteRequest)
1054 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestForTests, 1054 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestForTests,
1055 OnJavaScriptExecuteRequestForTests) 1055 OnJavaScriptExecuteRequestForTests)
1056 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestInIsolatedWorld, 1056 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestInIsolatedWorld,
1057 OnJavaScriptExecuteRequestInIsolatedWorld) 1057 OnJavaScriptExecuteRequestInIsolatedWorld)
1058 IPC_MESSAGE_HANDLER(FrameMsg_VisualStateRequest, 1058 IPC_MESSAGE_HANDLER(FrameMsg_VisualStateRequest,
1059 OnVisualStateRequest) 1059 OnVisualStateRequest)
1060 IPC_MESSAGE_HANDLER(FrameMsg_SetEditableSelectionOffsets, 1060 IPC_MESSAGE_HANDLER(FrameMsg_SetEditableSelectionOffsets,
1061 OnSetEditableSelectionOffsets) 1061 OnSetEditableSelectionOffsets)
1062 IPC_MESSAGE_HANDLER(FrameMsg_SetupTransitionView, OnSetupTransitionView)
1063 IPC_MESSAGE_HANDLER(FrameMsg_BeginExitTransition, OnBeginExitTransition)
1064 IPC_MESSAGE_HANDLER(FrameMsg_RevertExitTransition, OnRevertExitTransition)
1065 IPC_MESSAGE_HANDLER(FrameMsg_HideTransitionElements,
1066 OnHideTransitionElements)
1067 IPC_MESSAGE_HANDLER(FrameMsg_ShowTransitionElements,
1068 OnShowTransitionElements)
1069 IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload) 1062 IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload)
1070 IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest, 1063 IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest,
1071 OnTextSurroundingSelectionRequest) 1064 OnTextSurroundingSelectionRequest)
1072 IPC_MESSAGE_HANDLER(FrameMsg_AddStyleSheetByURL,
1073 OnAddStyleSheetByURL)
1074 IPC_MESSAGE_HANDLER(FrameMsg_SetAccessibilityMode, 1065 IPC_MESSAGE_HANDLER(FrameMsg_SetAccessibilityMode,
1075 OnSetAccessibilityMode) 1066 OnSetAccessibilityMode)
1076 IPC_MESSAGE_HANDLER(AccessibilityMsg_SnapshotTree, 1067 IPC_MESSAGE_HANDLER(AccessibilityMsg_SnapshotTree,
1077 OnSnapshotAccessibilityTree) 1068 OnSnapshotAccessibilityTree)
1078 IPC_MESSAGE_HANDLER(FrameMsg_DisownOpener, OnDisownOpener) 1069 IPC_MESSAGE_HANDLER(FrameMsg_DisownOpener, OnDisownOpener)
1079 IPC_MESSAGE_HANDLER(FrameMsg_CommitNavigation, OnCommitNavigation) 1070 IPC_MESSAGE_HANDLER(FrameMsg_CommitNavigation, OnCommitNavigation)
1080 IPC_MESSAGE_HANDLER(FrameMsg_DidUpdateSandboxFlags, OnDidUpdateSandboxFlags) 1071 IPC_MESSAGE_HANDLER(FrameMsg_DidUpdateSandboxFlags, OnDidUpdateSandboxFlags)
1081 IPC_MESSAGE_HANDLER(FrameMsg_SetTextTrackSettings, 1072 IPC_MESSAGE_HANDLER(FrameMsg_SetTextTrackSettings,
1082 OnTextTrackSettingsChanged) 1073 OnTextTrackSettingsChanged)
1083 IPC_MESSAGE_HANDLER(FrameMsg_PostMessageEvent, OnPostMessageEvent) 1074 IPC_MESSAGE_HANDLER(FrameMsg_PostMessageEvent, OnPostMessageEvent)
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after
1732 return; 1723 return;
1733 } 1724 }
1734 1725
1735 Send(new FrameHostMsg_TextSurroundingSelectionResponse( 1726 Send(new FrameHostMsg_TextSurroundingSelectionResponse(
1736 routing_id_, 1727 routing_id_,
1737 surroundingText.textContent(), 1728 surroundingText.textContent(),
1738 surroundingText.startOffsetInTextContent(), 1729 surroundingText.startOffsetInTextContent(),
1739 surroundingText.endOffsetInTextContent())); 1730 surroundingText.endOffsetInTextContent()));
1740 } 1731 }
1741 1732
1742 void RenderFrameImpl::OnAddStyleSheetByURL(const std::string& url) {
1743 frame_->addStyleSheetByURL(WebString::fromUTF8(url));
1744 }
1745
1746 void RenderFrameImpl::OnSetupTransitionView(const std::string& markup) {
1747 frame_->document().setIsTransitionDocument(true);
1748 frame_->navigateToSandboxedMarkup(WebData(markup.data(), markup.length()));
1749 }
1750
1751 void RenderFrameImpl::OnBeginExitTransition(const std::string& css_selector,
1752 bool exit_to_native_app) {
1753 frame_->document().setIsTransitionDocument(true);
1754 frame_->document().beginExitTransition(WebString::fromUTF8(css_selector),
1755 exit_to_native_app);
1756 }
1757
1758 void RenderFrameImpl::OnRevertExitTransition() {
1759 frame_->document().setIsTransitionDocument(false);
1760 frame_->document().revertExitTransition();
1761 }
1762
1763 void RenderFrameImpl::OnHideTransitionElements(
1764 const std::string& css_selector) {
1765 frame_->document().hideTransitionElements(WebString::fromUTF8(css_selector));
1766 }
1767
1768 void RenderFrameImpl::OnShowTransitionElements(
1769 const std::string& css_selector) {
1770 frame_->document().showTransitionElements(WebString::fromUTF8(css_selector));
1771 }
1772
1773 bool RenderFrameImpl::RunJavaScriptMessage(JavaScriptMessageType type, 1733 bool RenderFrameImpl::RunJavaScriptMessage(JavaScriptMessageType type,
1774 const base::string16& message, 1734 const base::string16& message,
1775 const base::string16& default_value, 1735 const base::string16& default_value,
1776 const GURL& frame_url, 1736 const GURL& frame_url,
1777 base::string16* result) { 1737 base::string16* result) {
1778 // Don't allow further dialogs if we are waiting to swap out, since the 1738 // Don't allow further dialogs if we are waiting to swap out, since the
1779 // PageGroupLoadDeferrer in our stack prevents it. 1739 // PageGroupLoadDeferrer in our stack prevents it.
1780 if (render_view()->suppress_dialogs_until_swap_out_) 1740 if (render_view()->suppress_dialogs_until_swap_out_)
1781 return false; 1741 return false;
1782 1742
(...skipping 733 matching lines...) Expand 10 before | Expand all | Expand 10 after
2516 SERVICE_WORKER_PROVIDER_FOR_WINDOW)); 2476 SERVICE_WORKER_PROVIDER_FOR_WINDOW));
2517 ServiceWorkerNetworkProvider::AttachToDocumentState( 2477 ServiceWorkerNetworkProvider::AttachToDocumentState(
2518 DocumentState::FromDataSource(datasource), 2478 DocumentState::FromDataSource(datasource),
2519 network_provider.Pass()); 2479 network_provider.Pass());
2520 } 2480 }
2521 } 2481 }
2522 2482
2523 void RenderFrameImpl::didStartProvisionalLoad(blink::WebLocalFrame* frame, 2483 void RenderFrameImpl::didStartProvisionalLoad(blink::WebLocalFrame* frame,
2524 bool is_transition_navigation, 2484 bool is_transition_navigation,
2525 double triggering_event_time) { 2485 double triggering_event_time) {
2486 didStartProvisionalLoad(frame, triggering_event_time);
2487 }
2488
2489 void RenderFrameImpl::didStartProvisionalLoad(blink::WebLocalFrame* frame,
2490 double triggering_event_time) {
2526 DCHECK(!frame_ || frame_ == frame); 2491 DCHECK(!frame_ || frame_ == frame);
2527 WebDataSource* ds = frame->provisionalDataSource(); 2492 WebDataSource* ds = frame->provisionalDataSource();
2528 2493
2529 // In fast/loader/stop-provisional-loads.html, we abort the load before this 2494 // In fast/loader/stop-provisional-loads.html, we abort the load before this
2530 // callback is invoked. 2495 // callback is invoked.
2531 if (!ds) 2496 if (!ds)
2532 return; 2497 return;
2533 2498
2534 TRACE_EVENT2("navigation", "RenderFrameImpl::didStartProvisionalLoad", 2499 TRACE_EVENT2("navigation", "RenderFrameImpl::didStartProvisionalLoad",
2535 "id", routing_id_, "url", ds->request().url().string().utf8()); 2500 "id", routing_id_, "url", ds->request().url().string().utf8());
(...skipping 24 matching lines...) Expand all
2560 // handle loading of error pages. 2525 // handle loading of error pages.
2561 static_cast<NavigationStateImpl*>(document_state->navigation_state()) 2526 static_cast<NavigationStateImpl*>(document_state->navigation_state())
2562 ->set_transition_type(ui::PAGE_TRANSITION_AUTO_SUBFRAME); 2527 ->set_transition_type(ui::PAGE_TRANSITION_AUTO_SUBFRAME);
2563 } 2528 }
2564 2529
2565 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(), 2530 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(),
2566 DidStartProvisionalLoad(frame)); 2531 DidStartProvisionalLoad(frame));
2567 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, DidStartProvisionalLoad()); 2532 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, DidStartProvisionalLoad());
2568 2533
2569 Send(new FrameHostMsg_DidStartProvisionalLoadForFrame( 2534 Send(new FrameHostMsg_DidStartProvisionalLoadForFrame(
2570 routing_id_, ds->request().url(), is_transition_navigation)); 2535 routing_id_, ds->request().url()));
2571 } 2536 }
2572 2537
2573 void RenderFrameImpl::didReceiveServerRedirectForProvisionalLoad( 2538 void RenderFrameImpl::didReceiveServerRedirectForProvisionalLoad(
2574 blink::WebLocalFrame* frame) { 2539 blink::WebLocalFrame* frame) {
2575 DCHECK(!frame_ || frame_ == frame); 2540 DCHECK(!frame_ || frame_ == frame);
2576 render_view_->history_controller()->RemoveChildrenForRedirect(this); 2541 render_view_->history_controller()->RemoveChildrenForRedirect(this);
2577 } 2542 }
2578 2543
2579 void RenderFrameImpl::didFailProvisionalLoad( 2544 void RenderFrameImpl::didFailProvisionalLoad(
2580 blink::WebLocalFrame* frame, 2545 blink::WebLocalFrame* frame,
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
2946 didCommitProvisionalLoad(frame, item, commit_type); 2911 didCommitProvisionalLoad(frame, item, commit_type);
2947 } 2912 }
2948 2913
2949 void RenderFrameImpl::didUpdateCurrentHistoryItem(blink::WebLocalFrame* frame) { 2914 void RenderFrameImpl::didUpdateCurrentHistoryItem(blink::WebLocalFrame* frame) {
2950 DCHECK(!frame_ || frame_ == frame); 2915 DCHECK(!frame_ || frame_ == frame);
2951 // TODO(nasko): Move implementation here. Needed methods: 2916 // TODO(nasko): Move implementation here. Needed methods:
2952 // * StartNavStateSyncTimerIfNecessary 2917 // * StartNavStateSyncTimerIfNecessary
2953 render_view_->didUpdateCurrentHistoryItem(frame); 2918 render_view_->didUpdateCurrentHistoryItem(frame);
2954 } 2919 }
2955 2920
2956 void RenderFrameImpl::addNavigationTransitionData(
2957 const blink::WebTransitionElementData& data) {
2958 FrameHostMsg_AddNavigationTransitionData_Params params;
2959 params.render_frame_id = routing_id_;
2960 params.allowed_destination_host_pattern =
2961 data.scope.utf8();
2962 params.selector = data.selector.utf8();
2963 params.markup = data.markup.utf8();
2964 params.elements.resize(data.elements.size());
2965 for (size_t i = 0; i < data.elements.size(); i++) {
2966 params.elements[i].id = data.elements[i].id.utf8();
2967 params.elements[i].rect = gfx::Rect(data.elements[i].rect);
2968 }
2969
2970 Send(new FrameHostMsg_AddNavigationTransitionData(params));
2971 }
2972
2973 void RenderFrameImpl::didChangeThemeColor() { 2921 void RenderFrameImpl::didChangeThemeColor() {
2974 if (frame_->parent()) 2922 if (frame_->parent())
2975 return; 2923 return;
2976 2924
2977 Send(new FrameHostMsg_DidChangeThemeColor( 2925 Send(new FrameHostMsg_DidChangeThemeColor(
2978 routing_id_, frame_->document().themeColor())); 2926 routing_id_, frame_->document().themeColor()));
2979 } 2927 }
2980 2928
2981 void RenderFrameImpl::dispatchLoad() { 2929 void RenderFrameImpl::dispatchLoad() {
2982 Send(new FrameHostMsg_DispatchLoad(routing_id_)); 2930 Send(new FrameHostMsg_DispatchLoad(routing_id_));
(...skipping 1139 matching lines...) Expand 10 before | Expand all | Expand 10 after
4122 return; 4070 return;
4123 } 4071 }
4124 4072
4125 GetContentClient()->SetActiveURL(common_params.url); 4073 GetContentClient()->SetActiveURL(common_params.url);
4126 4074
4127 pending_navigation_params_.reset(new NavigationParams( 4075 pending_navigation_params_.reset(new NavigationParams(
4128 common_params, StartNavigationParams(), request_params)); 4076 common_params, StartNavigationParams(), request_params));
4129 4077
4130 // Inform the browser of the start of the provisional load. This is needed so 4078 // Inform the browser of the start of the provisional load. This is needed so
4131 // that the load is properly tracked by the WebNavigation API. 4079 // that the load is properly tracked by the WebNavigation API.
4132 // TODO(clamy): Properly set is_transition_navigation.
4133 Send(new FrameHostMsg_DidStartProvisionalLoadForFrame( 4080 Send(new FrameHostMsg_DidStartProvisionalLoadForFrame(
4134 routing_id_, common_params.url, false)); 4081 routing_id_, common_params.url));
4135 4082
4136 // Send the provisional load failure. 4083 // Send the provisional load failure.
4137 blink::WebURLError error = 4084 blink::WebURLError error =
4138 CreateWebURLError(common_params.url, has_stale_copy_in_cache, error_code); 4085 CreateWebURLError(common_params.url, has_stale_copy_in_cache, error_code);
4139 WebURLRequest failed_request = CreateURLRequestForNavigation( 4086 WebURLRequest failed_request = CreateURLRequestForNavigation(
4140 common_params, scoped_ptr<StreamOverrideParameters>(), 4087 common_params, scoped_ptr<StreamOverrideParameters>(),
4141 frame_->isViewSourceModeEnabled()); 4088 frame_->isViewSourceModeEnabled());
4142 SendFailedProvisionalLoad(failed_request, error, frame_); 4089 SendFailedProvisionalLoad(failed_request, error, frame_);
4143 4090
4144 if (!ShouldDisplayErrorPageForFailedLoad(error_code, common_params.url)) { 4091 if (!ShouldDisplayErrorPageForFailedLoad(error_code, common_params.url)) {
(...skipping 821 matching lines...) Expand 10 before | Expand all | Expand 10 after
4966 #elif defined(ENABLE_BROWSER_CDMS) 4913 #elif defined(ENABLE_BROWSER_CDMS)
4967 cdm_manager_, 4914 cdm_manager_,
4968 #endif 4915 #endif
4969 this); 4916 this);
4970 } 4917 }
4971 4918
4972 return cdm_factory_; 4919 return cdm_factory_;
4973 } 4920 }
4974 4921
4975 } // namespace content 4922 } // 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