| 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.common_params.url.possibly_invalid_spec()); |
| 816 MaybeHandleDebugURL(params.common_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.common_params.url)); |
| 820 | 823 |
| 821 bool is_reload = RenderViewImpl::IsReload(params); | 824 bool is_reload = |
| 825 RenderViewImpl::IsReload(params.common_params.navigation_type); |
| 822 WebURLRequest::CachePolicy cache_policy = | 826 WebURLRequest::CachePolicy cache_policy = |
| 823 WebURLRequest::UseProtocolCachePolicy; | 827 WebURLRequest::UseProtocolCachePolicy; |
| 824 | 828 |
| 825 // If this is a stale back/forward (due to a recent navigation the browser | 829 // If this is a stale back/forward (due to a recent navigation the browser |
| 826 // didn't know about), ignore it. | 830 // didn't know about), ignore it. |
| 827 if (render_view_->IsBackForwardToStaleEntry(params, is_reload)) | 831 if (render_view_->IsBackForwardToStaleEntry(params, is_reload)) |
| 828 return; | 832 return; |
| 829 | 833 |
| 830 // Swap this renderer back in if necessary. | 834 // Swap this renderer back in if necessary. |
| 831 if (render_view_->is_swapped_out_ && | 835 if (render_view_->is_swapped_out_ && |
| (...skipping 12 matching lines...) Expand all Loading... |
| 844 | 848 |
| 845 // We refresh timezone when a view is swapped in since timezone | 849 // We refresh timezone when a view is swapped in since timezone |
| 846 // can get out of sync when the system timezone is updated while | 850 // can get out of sync when the system timezone is updated while |
| 847 // the view is swapped out. | 851 // the view is swapped out. |
| 848 RenderThreadImpl::NotifyTimezoneChange(); | 852 RenderThreadImpl::NotifyTimezoneChange(); |
| 849 | 853 |
| 850 render_view_->SetSwappedOut(false); | 854 render_view_->SetSwappedOut(false); |
| 851 is_swapped_out_ = false; | 855 is_swapped_out_ = false; |
| 852 } | 856 } |
| 853 | 857 |
| 858 int pending_history_list_offset = params.pending_history_list_offset; |
| 859 int current_history_list_offset = params.current_history_list_offset; |
| 860 int current_history_list_length = params.current_history_list_length; |
| 854 if (params.should_clear_history_list) { | 861 if (params.should_clear_history_list) { |
| 855 CHECK_EQ(params.pending_history_list_offset, -1); | 862 CHECK_EQ(pending_history_list_offset, -1); |
| 856 CHECK_EQ(params.current_history_list_offset, -1); | 863 CHECK_EQ(current_history_list_offset, -1); |
| 857 CHECK_EQ(params.current_history_list_length, 0); | 864 CHECK_EQ(current_history_list_length, 0); |
| 858 } | 865 } |
| 859 render_view_->history_list_offset_ = params.current_history_list_offset; | 866 render_view_->history_list_offset_ = current_history_list_offset; |
| 860 render_view_->history_list_length_ = params.current_history_list_length; | 867 render_view_->history_list_length_ = current_history_list_length; |
| 861 if (render_view_->history_list_length_ >= 0) { | 868 if (render_view_->history_list_length_ >= 0) { |
| 862 render_view_->history_page_ids_.resize( | 869 render_view_->history_page_ids_.resize( |
| 863 render_view_->history_list_length_, -1); | 870 render_view_->history_list_length_, -1); |
| 864 } | 871 } |
| 865 if (params.pending_history_list_offset >= 0 && | 872 if (pending_history_list_offset >= 0 && |
| 866 params.pending_history_list_offset < render_view_->history_list_length_) { | 873 pending_history_list_offset < render_view_->history_list_length_) { |
| 867 render_view_->history_page_ids_[params.pending_history_list_offset] = | 874 render_view_->history_page_ids_[pending_history_list_offset] = |
| 868 params.page_id; | 875 params.page_id; |
| 869 } | 876 } |
| 870 | 877 |
| 871 GetContentClient()->SetActiveURL(params.url); | 878 GetContentClient()->SetActiveURL(params.common_params.url); |
| 872 | 879 |
| 873 WebFrame* frame = frame_; | 880 WebFrame* frame = frame_; |
| 874 if (!params.frame_to_navigate.empty()) { | 881 if (!params.frame_to_navigate.empty()) { |
| 875 // TODO(nasko): Move this lookup to the browser process. | 882 // TODO(nasko): Move this lookup to the browser process. |
| 876 frame = render_view_->webview()->findFrameByName( | 883 frame = render_view_->webview()->findFrameByName( |
| 877 WebString::fromUTF8(params.frame_to_navigate)); | 884 WebString::fromUTF8(params.frame_to_navigate)); |
| 878 CHECK(frame) << "Invalid frame name passed: " << params.frame_to_navigate; | 885 CHECK(frame) << "Invalid frame name passed: " << params.frame_to_navigate; |
| 879 } | 886 } |
| 880 | 887 |
| 881 if (is_reload && !render_view_->history_controller()->GetCurrentEntry()) { | 888 if (is_reload && !render_view_->history_controller()->GetCurrentEntry()) { |
| 882 // We cannot reload if we do not have any history state. This happens, for | 889 // We cannot reload if we do not have any history state. This happens, for |
| 883 // example, when recovering from a crash. | 890 // example, when recovering from a crash. |
| 884 is_reload = false; | 891 is_reload = false; |
| 885 cache_policy = WebURLRequest::ReloadIgnoringCacheData; | 892 cache_policy = WebURLRequest::ReloadIgnoringCacheData; |
| 886 } | 893 } |
| 887 | 894 |
| 888 render_view_->pending_navigation_params_.reset( | 895 render_view_->pending_navigation_params_.reset( |
| 889 new FrameMsg_Navigate_Params(params)); | 896 new FrameMsg_Navigate_Params(params)); |
| 890 | 897 |
| 891 // If we are reloading, then WebKit will use the history state of the current | 898 // 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 | 899 // 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 | 900 // have history state, then we need to navigate to it, which corresponds to a |
| 894 // back/forward navigation event. | 901 // back/forward navigation event. |
| 895 if (is_reload) { | 902 if (is_reload) { |
| 896 bool reload_original_url = | 903 bool reload_original_url = |
| 897 (params.navigation_type == | 904 (params.common_params.navigation_type == |
| 898 FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL); | 905 FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL); |
| 899 bool ignore_cache = (params.navigation_type == | 906 bool ignore_cache = (params.common_params.navigation_type == |
| 900 FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE); | 907 FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE); |
| 901 | 908 |
| 902 if (reload_original_url) | 909 if (reload_original_url) |
| 903 frame->reloadWithOverrideURL(params.url, true); | 910 frame->reloadWithOverrideURL(params.common_params.url, true); |
| 904 else | 911 else |
| 905 frame->reload(ignore_cache); | 912 frame->reload(ignore_cache); |
| 906 } else if (params.page_state.IsValid()) { | 913 } else if (params.commit_params.page_state.IsValid()) { |
| 907 // We must know the page ID of the page we are navigating back to. | 914 // We must know the page ID of the page we are navigating back to. |
| 908 DCHECK_NE(params.page_id, -1); | 915 DCHECK_NE(params.page_id, -1); |
| 909 scoped_ptr<HistoryEntry> entry = | 916 scoped_ptr<HistoryEntry> entry = |
| 910 PageStateToHistoryEntry(params.page_state); | 917 PageStateToHistoryEntry(params.commit_params.page_state); |
| 911 if (entry) { | 918 if (entry) { |
| 912 // Ensure we didn't save the swapped out URL in UpdateState, since the | 919 // Ensure we didn't save the swapped out URL in UpdateState, since the |
| 913 // browser should never be telling us to navigate to swappedout://. | 920 // browser should never be telling us to navigate to swappedout://. |
| 914 CHECK(entry->root().urlString() != WebString::fromUTF8(kSwappedOutURL)); | 921 CHECK(entry->root().urlString() != WebString::fromUTF8(kSwappedOutURL)); |
| 915 render_view_->history_controller()->GoToEntry(entry.Pass(), cache_policy); | 922 render_view_->history_controller()->GoToEntry(entry.Pass(), cache_policy); |
| 916 } | 923 } |
| 917 } else if (!params.base_url_for_data_url.is_empty()) { | 924 } else if (!params.base_url_for_data_url.is_empty()) { |
| 918 // A loadData request with a specified base URL. | 925 // A loadData request with a specified base URL. |
| 919 std::string mime_type, charset, data; | 926 std::string mime_type, charset, data; |
| 920 if (net::DataURL::Parse(params.url, &mime_type, &charset, &data)) { | 927 if (net::DataURL::Parse( |
| 928 params.common_params.url, &mime_type, &charset, &data)) { |
| 921 frame->loadData( | 929 frame->loadData( |
| 922 WebData(data.c_str(), data.length()), | 930 WebData(data.c_str(), data.length()), |
| 923 WebString::fromUTF8(mime_type), | 931 WebString::fromUTF8(mime_type), |
| 924 WebString::fromUTF8(charset), | 932 WebString::fromUTF8(charset), |
| 925 params.base_url_for_data_url, | 933 params.base_url_for_data_url, |
| 926 params.history_url_for_data_url, | 934 params.history_url_for_data_url, |
| 927 false); | 935 false); |
| 928 } else { | 936 } else { |
| 929 CHECK(false) << | 937 CHECK(false) << "Invalid URL passed: " |
| 930 "Invalid URL passed: " << params.url.possibly_invalid_spec(); | 938 << params.common_params.url.possibly_invalid_spec(); |
| 931 } | 939 } |
| 932 } else { | 940 } else { |
| 933 // Navigate to the given URL. | 941 // Navigate to the given URL. |
| 934 WebURLRequest request(params.url); | 942 WebURLRequest request(params.common_params.url); |
| 935 | 943 |
| 936 // A session history navigation should have been accompanied by state. | 944 // A session history navigation should have been accompanied by state. |
| 937 CHECK_EQ(params.page_id, -1); | 945 CHECK_EQ(params.page_id, -1); |
| 938 | 946 |
| 939 if (frame->isViewSourceModeEnabled()) | 947 if (frame->isViewSourceModeEnabled()) |
| 940 request.setCachePolicy(WebURLRequest::ReturnCacheDataElseLoad); | 948 request.setCachePolicy(WebURLRequest::ReturnCacheDataElseLoad); |
| 941 | 949 |
| 942 if (params.referrer.url.is_valid()) { | 950 if (params.common_params.referrer.url.is_valid()) { |
| 943 WebString referrer = WebSecurityPolicy::generateReferrerHeader( | 951 WebString referrer = WebSecurityPolicy::generateReferrerHeader( |
| 944 params.referrer.policy, | 952 params.common_params.referrer.policy, |
| 945 params.url, | 953 params.common_params.url, |
| 946 WebString::fromUTF8(params.referrer.url.spec())); | 954 WebString::fromUTF8(params.common_params.referrer.url.spec())); |
| 947 if (!referrer.isEmpty()) | 955 if (!referrer.isEmpty()) |
| 948 request.setHTTPReferrer(referrer, params.referrer.policy); | 956 request.setHTTPReferrer(referrer, params.common_params.referrer.policy); |
| 949 } | 957 } |
| 950 | 958 |
| 951 if (!params.extra_headers.empty()) { | 959 if (!params.request_params.extra_headers.empty()) { |
| 952 for (net::HttpUtil::HeadersIterator i(params.extra_headers.begin(), | 960 for (net::HttpUtil::HeadersIterator i( |
| 953 params.extra_headers.end(), "\n"); | 961 params.request_params.extra_headers.begin(), |
| 954 i.GetNext(); ) { | 962 params.request_params.extra_headers.end(), |
| 963 "\n"); |
| 964 i.GetNext();) { |
| 955 request.addHTTPHeaderField(WebString::fromUTF8(i.name()), | 965 request.addHTTPHeaderField(WebString::fromUTF8(i.name()), |
| 956 WebString::fromUTF8(i.values())); | 966 WebString::fromUTF8(i.values())); |
| 957 } | 967 } |
| 958 } | 968 } |
| 959 | 969 |
| 960 if (params.is_post) { | 970 if (params.request_params.is_post) { |
| 961 request.setHTTPMethod(WebString::fromUTF8("POST")); | 971 request.setHTTPMethod(WebString::fromUTF8("POST")); |
| 962 | 972 |
| 963 // Set post data. | 973 // Set post data. |
| 964 WebHTTPBody http_body; | 974 WebHTTPBody http_body; |
| 965 http_body.initialize(); | 975 http_body.initialize(); |
| 966 const char* data = NULL; | 976 const char* data = NULL; |
| 967 if (params.browser_initiated_post_data.size()) { | 977 if (params.request_params.browser_initiated_post_data.size()) { |
| 968 data = reinterpret_cast<const char*>( | 978 data = reinterpret_cast<const char*>( |
| 969 ¶ms.browser_initiated_post_data.front()); | 979 ¶ms.request_params.browser_initiated_post_data.front()); |
| 970 } | 980 } |
| 971 http_body.appendData( | 981 http_body.appendData(WebData( |
| 972 WebData(data, params.browser_initiated_post_data.size())); | 982 data, params.request_params.browser_initiated_post_data.size())); |
| 973 request.setHTTPBody(http_body); | 983 request.setHTTPBody(http_body); |
| 974 } | 984 } |
| 975 | 985 |
| 976 // Record this before starting the load, we need a lower bound of this time | 986 // Record this before starting the load, we need a lower bound of this time |
| 977 // to sanitize the navigationStart override set below. | 987 // to sanitize the navigationStart override set below. |
| 978 base::TimeTicks renderer_navigation_start = base::TimeTicks::Now(); | 988 base::TimeTicks renderer_navigation_start = base::TimeTicks::Now(); |
| 979 frame->loadRequest(request); | 989 frame->loadRequest(request); |
| 980 | 990 |
| 981 // The browser provides the navigation_start time to bootstrap the | 991 // The browser provides the navigation_start time to bootstrap the |
| 982 // Navigation Timing information for the browser-initiated navigations. In | 992 // Navigation Timing information for the browser-initiated navigations. In |
| 983 // case of cross-process navigations, this carries over the time of | 993 // case of cross-process navigations, this carries over the time of |
| 984 // finishing the onbeforeunload handler of the previous page. | 994 // finishing the onbeforeunload handler of the previous page. |
| 985 DCHECK(!params.browser_navigation_start.is_null()); | 995 DCHECK(!params.commit_params.browser_navigation_start.is_null()); |
| 986 if (frame->provisionalDataSource()) { | 996 if (frame->provisionalDataSource()) { |
| 987 // |browser_navigation_start| is likely before this process existed, so we | 997 // |browser_navigation_start| is likely before this process existed, so we |
| 988 // can't use InterProcessTimeTicksConverter. We need at least to ensure | 998 // 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 | 999 // that the browser-side navigation start we set is not later than the one |
| 990 // on the renderer side. | 1000 // on the renderer side. |
| 991 base::TimeTicks navigation_start = std::min( | 1001 base::TimeTicks navigation_start = |
| 992 params.browser_navigation_start, renderer_navigation_start); | 1002 std::min(params.commit_params.browser_navigation_start, |
| 1003 renderer_navigation_start); |
| 993 double navigation_start_seconds = | 1004 double navigation_start_seconds = |
| 994 (navigation_start - base::TimeTicks()).InSecondsF(); | 1005 (navigation_start - base::TimeTicks()).InSecondsF(); |
| 995 frame->provisionalDataSource()->setNavigationStartTime( | 1006 frame->provisionalDataSource()->setNavigationStartTime( |
| 996 navigation_start_seconds); | 1007 navigation_start_seconds); |
| 997 } | 1008 } |
| 998 } | 1009 } |
| 999 | 1010 |
| 1000 // In case LoadRequest failed before DidCreateDataSource was called. | 1011 // In case LoadRequest failed before DidCreateDataSource was called. |
| 1001 render_view_->pending_navigation_params_.reset(); | 1012 render_view_->pending_navigation_params_.reset(); |
| 1002 } | 1013 } |
| (...skipping 1127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2130 // page load is regarded as the same browser initiated request. | 2141 // page load is regarded as the same browser initiated request. |
| 2131 if (!navigation_state->is_content_initiated()) { | 2142 if (!navigation_state->is_content_initiated()) { |
| 2132 render_view_->pending_navigation_params_.reset( | 2143 render_view_->pending_navigation_params_.reset( |
| 2133 new FrameMsg_Navigate_Params); | 2144 new FrameMsg_Navigate_Params); |
| 2134 render_view_->pending_navigation_params_->page_id = | 2145 render_view_->pending_navigation_params_->page_id = |
| 2135 navigation_state->pending_page_id(); | 2146 navigation_state->pending_page_id(); |
| 2136 render_view_->pending_navigation_params_->pending_history_list_offset = | 2147 render_view_->pending_navigation_params_->pending_history_list_offset = |
| 2137 navigation_state->pending_history_list_offset(); | 2148 navigation_state->pending_history_list_offset(); |
| 2138 render_view_->pending_navigation_params_->should_clear_history_list = | 2149 render_view_->pending_navigation_params_->should_clear_history_list = |
| 2139 navigation_state->history_list_was_cleared(); | 2150 navigation_state->history_list_was_cleared(); |
| 2140 render_view_->pending_navigation_params_->transition = | 2151 render_view_->pending_navigation_params_->common_params.transition = |
| 2141 navigation_state->transition_type(); | 2152 navigation_state->transition_type(); |
| 2142 render_view_->pending_navigation_params_->request_time = | 2153 render_view_->pending_navigation_params_->request_time = |
| 2143 document_state->request_time(); | 2154 document_state->request_time(); |
| 2144 render_view_->pending_navigation_params_->should_replace_current_entry = | 2155 render_view_->pending_navigation_params_->should_replace_current_entry = |
| 2145 replace; | 2156 replace; |
| 2146 } | 2157 } |
| 2147 | 2158 |
| 2148 // Load an error page. | 2159 // Load an error page. |
| 2149 LoadNavigationErrorPage(failed_request, error, replace); | 2160 LoadNavigationErrorPage(failed_request, error, replace); |
| 2150 } | 2161 } |
| (...skipping 1311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3462 const blink::WebAXObject& obj, blink::WebAXEvent event) { | 3473 const blink::WebAXObject& obj, blink::WebAXEvent event) { |
| 3463 if (renderer_accessibility_) | 3474 if (renderer_accessibility_) |
| 3464 renderer_accessibility_->HandleWebAccessibilityEvent(obj, event); | 3475 renderer_accessibility_->HandleWebAccessibilityEvent(obj, event); |
| 3465 } | 3476 } |
| 3466 | 3477 |
| 3467 void RenderFrameImpl::FocusedNodeChanged(const WebNode& node) { | 3478 void RenderFrameImpl::FocusedNodeChanged(const WebNode& node) { |
| 3468 if (renderer_accessibility_) | 3479 if (renderer_accessibility_) |
| 3469 renderer_accessibility_->FocusedNodeChanged(node); | 3480 renderer_accessibility_->FocusedNodeChanged(node); |
| 3470 } | 3481 } |
| 3471 | 3482 |
| 3483 // PlzNavigate |
| 3484 void RenderFrameImpl::OnCommitNavigation( |
| 3485 const GURL& stream_url, |
| 3486 const CommonNavigationParams& common_params, |
| 3487 const CommitNavigationParams& commit_params) { |
| 3488 NOTIMPLEMENTED(); |
| 3489 } |
| 3490 |
| 3472 WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation( | 3491 WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation( |
| 3473 RenderFrame* render_frame, | 3492 RenderFrame* render_frame, |
| 3474 const NavigationPolicyInfo& info) { | 3493 const NavigationPolicyInfo& info) { |
| 3475 #ifdef OS_ANDROID | 3494 #ifdef OS_ANDROID |
| 3476 // The handlenavigation API is deprecated and will be removed once | 3495 // The handlenavigation API is deprecated and will be removed once |
| 3477 // crbug.com/325351 is resolved. | 3496 // crbug.com/325351 is resolved. |
| 3478 if (info.urlRequest.url() != GURL(kSwappedOutURL) && | 3497 if (info.urlRequest.url() != GURL(kSwappedOutURL) && |
| 3479 GetContentClient()->renderer()->HandleNavigation( | 3498 GetContentClient()->renderer()->HandleNavigation( |
| 3480 render_frame, | 3499 render_frame, |
| 3481 static_cast<DocumentState*>(info.extraData), | 3500 static_cast<DocumentState*>(info.extraData), |
| (...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3906 | 3925 |
| 3907 #if defined(ENABLE_BROWSER_CDMS) | 3926 #if defined(ENABLE_BROWSER_CDMS) |
| 3908 RendererCdmManager* RenderFrameImpl::GetCdmManager() { | 3927 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
| 3909 if (!cdm_manager_) | 3928 if (!cdm_manager_) |
| 3910 cdm_manager_ = new RendererCdmManager(this); | 3929 cdm_manager_ = new RendererCdmManager(this); |
| 3911 return cdm_manager_; | 3930 return cdm_manager_; |
| 3912 } | 3931 } |
| 3913 #endif // defined(ENABLE_BROWSER_CDMS) | 3932 #endif // defined(ENABLE_BROWSER_CDMS) |
| 3914 | 3933 |
| 3915 } // namespace content | 3934 } // namespace content |
| OLD | NEW |