OLD | NEW |
---|---|
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 779 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
790 IPC_MESSAGE_HANDLER(FrameMsg_SetupTransitionView, OnSetupTransitionView) | 790 IPC_MESSAGE_HANDLER(FrameMsg_SetupTransitionView, OnSetupTransitionView) |
791 IPC_MESSAGE_HANDLER(FrameMsg_BeginExitTransition, OnBeginExitTransition) | 791 IPC_MESSAGE_HANDLER(FrameMsg_BeginExitTransition, OnBeginExitTransition) |
792 IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload) | 792 IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload) |
793 IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest, | 793 IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest, |
794 OnTextSurroundingSelectionRequest) | 794 OnTextSurroundingSelectionRequest) |
795 IPC_MESSAGE_HANDLER(FrameMsg_AddStyleSheetByURL, | 795 IPC_MESSAGE_HANDLER(FrameMsg_AddStyleSheetByURL, |
796 OnAddStyleSheetByURL) | 796 OnAddStyleSheetByURL) |
797 IPC_MESSAGE_HANDLER(FrameMsg_SetAccessibilityMode, | 797 IPC_MESSAGE_HANDLER(FrameMsg_SetAccessibilityMode, |
798 OnSetAccessibilityMode) | 798 OnSetAccessibilityMode) |
799 IPC_MESSAGE_HANDLER(FrameMsg_DisownOpener, OnDisownOpener) | 799 IPC_MESSAGE_HANDLER(FrameMsg_DisownOpener, OnDisownOpener) |
800 IPC_MESSAGE_HANDLER(FrameMsg_CommitNavigation, OnCommitNavigation) | |
800 #if defined(OS_ANDROID) | 801 #if defined(OS_ANDROID) |
801 IPC_MESSAGE_HANDLER(FrameMsg_SelectPopupMenuItems, OnSelectPopupMenuItems) | 802 IPC_MESSAGE_HANDLER(FrameMsg_SelectPopupMenuItems, OnSelectPopupMenuItems) |
802 #elif defined(OS_MACOSX) | 803 #elif defined(OS_MACOSX) |
803 IPC_MESSAGE_HANDLER(FrameMsg_SelectPopupMenuItem, OnSelectPopupMenuItem) | 804 IPC_MESSAGE_HANDLER(FrameMsg_SelectPopupMenuItem, OnSelectPopupMenuItem) |
804 IPC_MESSAGE_HANDLER(InputMsg_CopyToFindPboard, OnCopyToFindPboard) | 805 IPC_MESSAGE_HANDLER(InputMsg_CopyToFindPboard, OnCopyToFindPboard) |
805 #endif | 806 #endif |
806 IPC_END_MESSAGE_MAP() | 807 IPC_END_MESSAGE_MAP() |
807 | 808 |
808 return handled; | 809 return handled; |
809 } | 810 } |
810 | 811 |
811 void RenderFrameImpl::OnNavigate(const FrameMsg_Navigate_Params& params) { | 812 void RenderFrameImpl::OnNavigate(const FrameMsg_Navigate_Params& params) { |
812 TRACE_EVENT2("navigation", "RenderFrameImpl::OnNavigate", | 813 TRACE_EVENT2("navigation", "RenderFrameImpl::OnNavigate", |
813 "id", routing_id_, "url", params.url.possibly_invalid_spec()); | 814 "id", routing_id_, |
814 MaybeHandleDebugURL(params.url); | 815 "url", params.core_params.url.possibly_invalid_spec()); |
816 MaybeHandleDebugURL(params.core_params.url); | |
815 if (!render_view_->webview()) | 817 if (!render_view_->webview()) |
816 return; | 818 return; |
817 | 819 |
818 FOR_EACH_OBSERVER( | 820 FOR_EACH_OBSERVER(RenderViewObserver, |
819 RenderViewObserver, render_view_->observers_, Navigate(params.url)); | 821 render_view_->observers_, |
822 Navigate(params.core_params.url)); | |
820 | 823 |
821 bool is_reload = RenderViewImpl::IsReload(params); | 824 bool is_reload = RenderViewImpl::IsReload(params.core_params.navigation_type); |
822 WebURLRequest::CachePolicy cache_policy = | 825 WebURLRequest::CachePolicy cache_policy = |
823 WebURLRequest::UseProtocolCachePolicy; | 826 WebURLRequest::UseProtocolCachePolicy; |
824 | 827 |
825 // If this is a stale back/forward (due to a recent navigation the browser | 828 // If this is a stale back/forward (due to a recent navigation the browser |
826 // didn't know about), ignore it. | 829 // didn't know about), ignore it. |
827 if (render_view_->IsBackForwardToStaleEntry(params, is_reload)) | 830 if (render_view_->IsBackForwardToStaleEntry(params, is_reload)) |
828 return; | 831 return; |
829 | 832 |
830 // Swap this renderer back in if necessary. | 833 // Swap this renderer back in if necessary. |
831 if (render_view_->is_swapped_out_ && | 834 if (render_view_->is_swapped_out_ && |
(...skipping 12 matching lines...) Expand all Loading... | |
844 | 847 |
845 // We refresh timezone when a view is swapped in since timezone | 848 // We refresh timezone when a view is swapped in since timezone |
846 // can get out of sync when the system timezone is updated while | 849 // can get out of sync when the system timezone is updated while |
847 // the view is swapped out. | 850 // the view is swapped out. |
848 RenderThreadImpl::NotifyTimezoneChange(); | 851 RenderThreadImpl::NotifyTimezoneChange(); |
849 | 852 |
850 render_view_->SetSwappedOut(false); | 853 render_view_->SetSwappedOut(false); |
851 is_swapped_out_ = false; | 854 is_swapped_out_ = false; |
852 } | 855 } |
853 | 856 |
857 int pending_history_list_offset = params.pending_history_list_offset; | |
858 int current_history_list_offset = params.current_history_list_offset; | |
859 int current_history_list_length = params.current_history_list_length; | |
854 if (params.should_clear_history_list) { | 860 if (params.should_clear_history_list) { |
855 CHECK_EQ(params.pending_history_list_offset, -1); | 861 CHECK_EQ(pending_history_list_offset, -1); |
856 CHECK_EQ(params.current_history_list_offset, -1); | 862 CHECK_EQ(current_history_list_offset, -1); |
857 CHECK_EQ(params.current_history_list_length, 0); | 863 CHECK_EQ(current_history_list_length, 0); |
858 } | 864 } |
859 render_view_->history_list_offset_ = params.current_history_list_offset; | 865 render_view_->history_list_offset_ = current_history_list_offset; |
860 render_view_->history_list_length_ = params.current_history_list_length; | 866 render_view_->history_list_length_ = current_history_list_length; |
861 if (render_view_->history_list_length_ >= 0) { | 867 if (render_view_->history_list_length_ >= 0) { |
862 render_view_->history_page_ids_.resize( | 868 render_view_->history_page_ids_.resize( |
863 render_view_->history_list_length_, -1); | 869 render_view_->history_list_length_, -1); |
864 } | 870 } |
865 if (params.pending_history_list_offset >= 0 && | 871 if (pending_history_list_offset >= 0 && |
866 params.pending_history_list_offset < render_view_->history_list_length_) { | 872 pending_history_list_offset < render_view_->history_list_length_) { |
867 render_view_->history_page_ids_[params.pending_history_list_offset] = | 873 render_view_->history_page_ids_[pending_history_list_offset] = |
868 params.page_id; | 874 params.page_id; |
869 } | 875 } |
870 | 876 |
871 GetContentClient()->SetActiveURL(params.url); | 877 GetContentClient()->SetActiveURL(params.core_params.url); |
872 | 878 |
873 WebFrame* frame = frame_; | 879 WebFrame* frame = frame_; |
874 if (!params.frame_to_navigate.empty()) { | 880 if (!params.frame_to_navigate.empty()) { |
875 // TODO(nasko): Move this lookup to the browser process. | 881 // TODO(nasko): Move this lookup to the browser process. |
876 frame = render_view_->webview()->findFrameByName( | 882 frame = render_view_->webview()->findFrameByName( |
877 WebString::fromUTF8(params.frame_to_navigate)); | 883 WebString::fromUTF8(params.frame_to_navigate)); |
878 CHECK(frame) << "Invalid frame name passed: " << params.frame_to_navigate; | 884 CHECK(frame) << "Invalid frame name passed: " << params.frame_to_navigate; |
879 } | 885 } |
880 | 886 |
881 if (is_reload && !render_view_->history_controller()->GetCurrentEntry()) { | 887 if (is_reload && !render_view_->history_controller()->GetCurrentEntry()) { |
882 // We cannot reload if we do not have any history state. This happens, for | 888 // We cannot reload if we do not have any history state. This happens, for |
883 // example, when recovering from a crash. | 889 // example, when recovering from a crash. |
884 is_reload = false; | 890 is_reload = false; |
885 cache_policy = WebURLRequest::ReloadIgnoringCacheData; | 891 cache_policy = WebURLRequest::ReloadIgnoringCacheData; |
886 } | 892 } |
887 | 893 |
888 render_view_->pending_navigation_params_.reset( | 894 render_view_->pending_navigation_params_.reset( |
889 new FrameMsg_Navigate_Params(params)); | 895 new FrameMsg_Navigate_Params(params)); |
890 | 896 |
891 // If we are reloading, then WebKit will use the history state of the current | 897 // If we are reloading, then WebKit will use the history state of the current |
892 // page, so we should just ignore any given history state. Otherwise, if we | 898 // page, so we should just ignore any given history state. Otherwise, if we |
893 // have history state, then we need to navigate to it, which corresponds to a | 899 // have history state, then we need to navigate to it, which corresponds to a |
894 // back/forward navigation event. | 900 // back/forward navigation event. |
895 if (is_reload) { | 901 if (is_reload) { |
896 bool reload_original_url = | 902 bool reload_original_url = |
897 (params.navigation_type == | 903 (params.core_params.navigation_type == |
898 FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL); | 904 FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL); |
899 bool ignore_cache = (params.navigation_type == | 905 bool ignore_cache = (params.core_params.navigation_type == |
900 FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE); | 906 FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE); |
901 | 907 |
902 if (reload_original_url) | 908 if (reload_original_url) |
903 frame->reloadWithOverrideURL(params.url, true); | 909 frame->reloadWithOverrideURL(params.core_params.url, true); |
904 else | 910 else |
905 frame->reload(ignore_cache); | 911 frame->reload(ignore_cache); |
906 } else if (params.page_state.IsValid()) { | 912 } else if (params.commit_params.page_state.IsValid()) { |
907 // We must know the page ID of the page we are navigating back to. | 913 // We must know the page ID of the page we are navigating back to. |
908 DCHECK_NE(params.page_id, -1); | 914 DCHECK_NE(params.page_id, -1); |
909 scoped_ptr<HistoryEntry> entry = | 915 scoped_ptr<HistoryEntry> entry = |
910 PageStateToHistoryEntry(params.page_state); | 916 PageStateToHistoryEntry(params.commit_params.page_state); |
911 if (entry) { | 917 if (entry) { |
912 // Ensure we didn't save the swapped out URL in UpdateState, since the | 918 // Ensure we didn't save the swapped out URL in UpdateState, since the |
913 // browser should never be telling us to navigate to swappedout://. | 919 // browser should never be telling us to navigate to swappedout://. |
914 CHECK(entry->root().urlString() != WebString::fromUTF8(kSwappedOutURL)); | 920 CHECK(entry->root().urlString() != WebString::fromUTF8(kSwappedOutURL)); |
915 render_view_->history_controller()->GoToEntry(entry.Pass(), cache_policy); | 921 render_view_->history_controller()->GoToEntry(entry.Pass(), cache_policy); |
916 } | 922 } |
917 } else if (!params.base_url_for_data_url.is_empty()) { | 923 } else if (!params.base_url_for_data_url.is_empty()) { |
918 // A loadData request with a specified base URL. | 924 // A loadData request with a specified base URL. |
919 std::string mime_type, charset, data; | 925 std::string mime_type, charset, data; |
920 if (net::DataURL::Parse(params.url, &mime_type, &charset, &data)) { | 926 if (net::DataURL::Parse( |
927 params.core_params.url, &mime_type, &charset, &data)) { | |
921 frame->loadData( | 928 frame->loadData( |
922 WebData(data.c_str(), data.length()), | 929 WebData(data.c_str(), data.length()), |
923 WebString::fromUTF8(mime_type), | 930 WebString::fromUTF8(mime_type), |
924 WebString::fromUTF8(charset), | 931 WebString::fromUTF8(charset), |
925 params.base_url_for_data_url, | 932 params.base_url_for_data_url, |
926 params.history_url_for_data_url, | 933 params.history_url_for_data_url, |
927 false); | 934 false); |
928 } else { | 935 } else { |
929 CHECK(false) << | 936 CHECK(false) << "Invalid URL passed: " |
930 "Invalid URL passed: " << params.url.possibly_invalid_spec(); | 937 << params.core_params.url.possibly_invalid_spec(); |
931 } | 938 } |
932 } else { | 939 } else { |
933 // Navigate to the given URL. | 940 // Navigate to the given URL. |
934 WebURLRequest request(params.url); | 941 WebURLRequest request(params.core_params.url); |
935 | 942 |
936 // A session history navigation should have been accompanied by state. | 943 // A session history navigation should have been accompanied by state. |
937 CHECK_EQ(params.page_id, -1); | 944 CHECK_EQ(params.page_id, -1); |
938 | 945 |
939 if (frame->isViewSourceModeEnabled()) | 946 if (frame->isViewSourceModeEnabled()) |
940 request.setCachePolicy(WebURLRequest::ReturnCacheDataElseLoad); | 947 request.setCachePolicy(WebURLRequest::ReturnCacheDataElseLoad); |
941 | 948 |
942 if (params.referrer.url.is_valid()) { | 949 if (params.core_params.referrer.url.is_valid()) { |
943 WebString referrer = WebSecurityPolicy::generateReferrerHeader( | 950 WebString referrer = WebSecurityPolicy::generateReferrerHeader( |
944 params.referrer.policy, | 951 params.core_params.referrer.policy, |
945 params.url, | 952 params.core_params.url, |
946 WebString::fromUTF8(params.referrer.url.spec())); | 953 WebString::fromUTF8(params.core_params.referrer.url.spec())); |
947 if (!referrer.isEmpty()) | 954 if (!referrer.isEmpty()) |
948 request.setHTTPReferrer(referrer, params.referrer.policy); | 955 request.setHTTPReferrer(referrer, params.core_params.referrer.policy); |
949 } | 956 } |
950 | 957 |
951 if (!params.extra_headers.empty()) { | 958 if (!params.request_params.extra_headers.empty()) { |
952 for (net::HttpUtil::HeadersIterator i(params.extra_headers.begin(), | 959 for (net::HttpUtil::HeadersIterator i( |
953 params.extra_headers.end(), "\n"); | 960 params.request_params.extra_headers.begin(), |
954 i.GetNext(); ) { | 961 params.request_params.extra_headers.end(), |
962 "\n"); | |
963 i.GetNext();) { | |
955 request.addHTTPHeaderField(WebString::fromUTF8(i.name()), | 964 request.addHTTPHeaderField(WebString::fromUTF8(i.name()), |
956 WebString::fromUTF8(i.values())); | 965 WebString::fromUTF8(i.values())); |
957 } | 966 } |
958 } | 967 } |
959 | 968 |
960 if (params.is_post) { | 969 if (params.request_params.is_post) { |
961 request.setHTTPMethod(WebString::fromUTF8("POST")); | 970 request.setHTTPMethod(WebString::fromUTF8("POST")); |
962 | 971 |
963 // Set post data. | 972 // Set post data. |
964 WebHTTPBody http_body; | 973 WebHTTPBody http_body; |
965 http_body.initialize(); | 974 http_body.initialize(); |
966 const char* data = NULL; | 975 const char* data = NULL; |
967 if (params.browser_initiated_post_data.size()) { | 976 if (params.request_params.browser_initiated_post_data.size()) { |
968 data = reinterpret_cast<const char*>( | 977 data = reinterpret_cast<const char*>( |
969 ¶ms.browser_initiated_post_data.front()); | 978 ¶ms.request_params.browser_initiated_post_data.front()); |
970 } | 979 } |
971 http_body.appendData( | 980 http_body.appendData(WebData( |
972 WebData(data, params.browser_initiated_post_data.size())); | 981 data, params.request_params.browser_initiated_post_data.size())); |
973 request.setHTTPBody(http_body); | 982 request.setHTTPBody(http_body); |
974 } | 983 } |
975 | 984 |
976 // Record this before starting the load, we need a lower bound of this time | 985 // Record this before starting the load, we need a lower bound of this time |
977 // to sanitize the navigationStart override set below. | 986 // to sanitize the navigationStart override set below. |
978 base::TimeTicks renderer_navigation_start = base::TimeTicks::Now(); | 987 base::TimeTicks renderer_navigation_start = base::TimeTicks::Now(); |
979 frame->loadRequest(request); | 988 frame->loadRequest(request); |
980 | 989 |
981 // The browser provides the navigation_start time to bootstrap the | 990 // The browser provides the navigation_start time to bootstrap the |
982 // Navigation Timing information for the browser-initiated navigations. In | 991 // Navigation Timing information for the browser-initiated navigations. In |
983 // case of cross-process navigations, this carries over the time of | 992 // case of cross-process navigations, this carries over the time of |
984 // finishing the onbeforeunload handler of the previous page. | 993 // finishing the onbeforeunload handler of the previous page. |
985 DCHECK(!params.browser_navigation_start.is_null()); | 994 DCHECK(!params.commit_params.browser_navigation_start.is_null()); |
986 if (frame->provisionalDataSource()) { | 995 if (frame->provisionalDataSource()) { |
987 // |browser_navigation_start| is likely before this process existed, so we | 996 // |browser_navigation_start| is likely before this process existed, so we |
988 // can't use InterProcessTimeTicksConverter. We need at least to ensure | 997 // can't use InterProcessTimeTicksConverter. We need at least to ensure |
989 // that the browser-side navigation start we set is not later than the one | 998 // that the browser-side navigation start we set is not later than the one |
990 // on the renderer side. | 999 // on the renderer side. |
991 base::TimeTicks navigation_start = std::min( | 1000 base::TimeTicks navigation_start = |
992 params.browser_navigation_start, renderer_navigation_start); | 1001 std::min(params.commit_params.browser_navigation_start, |
1002 renderer_navigation_start); | |
993 double navigation_start_seconds = | 1003 double navigation_start_seconds = |
994 (navigation_start - base::TimeTicks()).InSecondsF(); | 1004 (navigation_start - base::TimeTicks()).InSecondsF(); |
995 frame->provisionalDataSource()->setNavigationStartTime( | 1005 frame->provisionalDataSource()->setNavigationStartTime( |
996 navigation_start_seconds); | 1006 navigation_start_seconds); |
997 } | 1007 } |
998 } | 1008 } |
999 | 1009 |
1000 // In case LoadRequest failed before DidCreateDataSource was called. | 1010 // In case LoadRequest failed before DidCreateDataSource was called. |
1001 render_view_->pending_navigation_params_.reset(); | 1011 render_view_->pending_navigation_params_.reset(); |
1002 } | 1012 } |
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1326 void RenderFrameImpl::OnDisownOpener() { | 1336 void RenderFrameImpl::OnDisownOpener() { |
1327 // TODO(creis): We should only see this for main frames for now. To support | 1337 // TODO(creis): We should only see this for main frames for now. To support |
1328 // disowning the opener on subframes, we will need to move WebContentsImpl's | 1338 // disowning the opener on subframes, we will need to move WebContentsImpl's |
1329 // opener_ to FrameTreeNode. | 1339 // opener_ to FrameTreeNode. |
1330 CHECK(!frame_->parent()); | 1340 CHECK(!frame_->parent()); |
1331 | 1341 |
1332 if (frame_->opener()) | 1342 if (frame_->opener()) |
1333 frame_->setOpener(NULL); | 1343 frame_->setOpener(NULL); |
1334 } | 1344 } |
1335 | 1345 |
1346 // PlzNavigate | |
1347 void RenderFrameImpl::OnCommitNavigation( | |
1348 const GURL& stream_url, | |
1349 const CoreNavigationParams& core_params, | |
1350 const CommitNavigationParams& commit_params) { | |
1351 NOTREACHED(); | |
nasko
2014/09/26 22:16:43
nit: NOTIMPLEMENTED, indicates more correctly the
clamy
2014/09/29 20:45:30
Done.
| |
1352 } | |
1353 | |
1336 #if defined(OS_ANDROID) | 1354 #if defined(OS_ANDROID) |
1337 void RenderFrameImpl::OnSelectPopupMenuItems( | 1355 void RenderFrameImpl::OnSelectPopupMenuItems( |
1338 bool canceled, | 1356 bool canceled, |
1339 const std::vector<int>& selected_indices) { | 1357 const std::vector<int>& selected_indices) { |
1340 // It is possible to receive more than one of these calls if the user presses | 1358 // It is possible to receive more than one of these calls if the user presses |
1341 // a select faster than it takes for the show-select-popup IPC message to make | 1359 // a select faster than it takes for the show-select-popup IPC message to make |
1342 // it to the browser UI thread. Ignore the extra-messages. | 1360 // it to the browser UI thread. Ignore the extra-messages. |
1343 // TODO(jcivelli): http:/b/5793321 Implement a better fix, as detailed in bug. | 1361 // TODO(jcivelli): http:/b/5793321 Implement a better fix, as detailed in bug. |
1344 if (!external_popup_menu_) | 1362 if (!external_popup_menu_) |
1345 return; | 1363 return; |
(...skipping 780 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2126 // page load is regarded as the same browser initiated request. | 2144 // page load is regarded as the same browser initiated request. |
2127 if (!navigation_state->is_content_initiated()) { | 2145 if (!navigation_state->is_content_initiated()) { |
2128 render_view_->pending_navigation_params_.reset( | 2146 render_view_->pending_navigation_params_.reset( |
2129 new FrameMsg_Navigate_Params); | 2147 new FrameMsg_Navigate_Params); |
2130 render_view_->pending_navigation_params_->page_id = | 2148 render_view_->pending_navigation_params_->page_id = |
2131 navigation_state->pending_page_id(); | 2149 navigation_state->pending_page_id(); |
2132 render_view_->pending_navigation_params_->pending_history_list_offset = | 2150 render_view_->pending_navigation_params_->pending_history_list_offset = |
2133 navigation_state->pending_history_list_offset(); | 2151 navigation_state->pending_history_list_offset(); |
2134 render_view_->pending_navigation_params_->should_clear_history_list = | 2152 render_view_->pending_navigation_params_->should_clear_history_list = |
2135 navigation_state->history_list_was_cleared(); | 2153 navigation_state->history_list_was_cleared(); |
2136 render_view_->pending_navigation_params_->transition = | 2154 render_view_->pending_navigation_params_->core_params.transition = |
2137 navigation_state->transition_type(); | 2155 navigation_state->transition_type(); |
2138 render_view_->pending_navigation_params_->request_time = | 2156 render_view_->pending_navigation_params_->request_time = |
2139 document_state->request_time(); | 2157 document_state->request_time(); |
2140 render_view_->pending_navigation_params_->should_replace_current_entry = | 2158 render_view_->pending_navigation_params_->should_replace_current_entry = |
2141 replace; | 2159 replace; |
2142 } | 2160 } |
2143 | 2161 |
2144 // Load an error page. | 2162 // Load an error page. |
2145 LoadNavigationErrorPage(failed_request, error, replace); | 2163 LoadNavigationErrorPage(failed_request, error, replace); |
2146 } | 2164 } |
(...skipping 1755 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3902 | 3920 |
3903 #if defined(ENABLE_BROWSER_CDMS) | 3921 #if defined(ENABLE_BROWSER_CDMS) |
3904 RendererCdmManager* RenderFrameImpl::GetCdmManager() { | 3922 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
3905 if (!cdm_manager_) | 3923 if (!cdm_manager_) |
3906 cdm_manager_ = new RendererCdmManager(this); | 3924 cdm_manager_ = new RendererCdmManager(this); |
3907 return cdm_manager_; | 3925 return cdm_manager_; |
3908 } | 3926 } |
3909 #endif // defined(ENABLE_BROWSER_CDMS) | 3927 #endif // defined(ENABLE_BROWSER_CDMS) |
3910 | 3928 |
3911 } // namespace content | 3929 } // namespace content |
OLD | NEW |