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

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

Issue 8772041: Remove deprecated TabContentsDelegate::OpenURLFromTab variant (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/shell/shell.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_view_impl.h" 5 #include "content/renderer/render_view_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 #include "content/renderer/web_ui_bindings.h" 77 #include "content/renderer/web_ui_bindings.h"
78 #include "content/renderer/webplugin_delegate_proxy.h" 78 #include "content/renderer/webplugin_delegate_proxy.h"
79 #include "content/renderer/websharedworker_proxy.h" 79 #include "content/renderer/websharedworker_proxy.h"
80 #include "media/base/filter_collection.h" 80 #include "media/base/filter_collection.h"
81 #include "media/base/media_switches.h" 81 #include "media/base/media_switches.h"
82 #include "media/base/message_loop_factory_impl.h" 82 #include "media/base/message_loop_factory_impl.h"
83 #include "net/base/escape.h" 83 #include "net/base/escape.h"
84 #include "net/base/net_errors.h" 84 #include "net/base/net_errors.h"
85 #include "net/http/http_util.h" 85 #include "net/http/http_util.h"
86 #include "ppapi/c/private/ppb_flash_net_connector.h" 86 #include "ppapi/c/private/ppb_flash_net_connector.h"
87 #include "ppapi/proxy/ppapi_messages.h"
87 #include "third_party/WebKit/Source/WebKit/chromium/public/WebAccessibilityObjec t.h" 88 #include "third_party/WebKit/Source/WebKit/chromium/public/WebAccessibilityObjec t.h"
88 #include "third_party/WebKit/Source/WebKit/chromium/public/WebCString.h" 89 #include "third_party/WebKit/Source/WebKit/chromium/public/WebCString.h"
89 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDataSource.h" 90 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDataSource.h"
90 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" 91 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h"
91 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDragData.h" 92 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDragData.h"
92 #include "third_party/WebKit/Source/WebKit/chromium/public/WebElement.h" 93 #include "third_party/WebKit/Source/WebKit/chromium/public/WebElement.h"
93 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFileChooserParams. h" 94 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFileChooserParams. h"
94 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFileSystemCallback s.h" 95 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFileSystemCallback s.h"
95 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFindOptions.h" 96 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFindOptions.h"
96 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFormControlElement .h" 97 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFormControlElement .h"
97 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFormElement.h" 98 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFormElement.h"
98 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" 99 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h"
99 #include "third_party/WebKit/Source/WebKit/chromium/public/WebGraphicsContext3D. h" 100 #include "third_party/WebKit/Source/WebKit/chromium/public/WebGraphicsContext3D. h"
100 #include "third_party/WebKit/Source/WebKit/chromium/public/WebHistoryItem.h" 101 #include "third_party/WebKit/Source/WebKit/chromium/public/WebHistoryItem.h"
101 #include "third_party/WebKit/Source/WebKit/chromium/public/WebImage.h" 102 #include "third_party/WebKit/Source/WebKit/chromium/public/WebImage.h"
102 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputElement.h" 103 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputElement.h"
103 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" 104 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h"
104 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIntent.h" 105 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIntent.h"
105 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIntentServiceInfo. h" 106 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIntentServiceInfo. h"
106 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayerAction. h" 107 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayerAction. h"
107 #include "third_party/WebKit/Source/WebKit/chromium/public/WebNodeList.h" 108 #include "third_party/WebKit/Source/WebKit/chromium/public/WebNodeList.h"
108 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPageSerializer.h" 109 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPageSerializer.h"
109 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPlugin.h" 110 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPlugin.h"
110 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPluginContainer.h" 111 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPluginContainer.h"
111 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPluginDocument.h" 112 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPluginDocument.h"
112 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPluginParams.h" 113 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPluginParams.h"
113 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPoint.h" 114 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPoint.h"
114 #include "third_party/WebKit/Source/WebKit/chromium/public/WebRange.h" 115 #include "third_party/WebKit/Source/WebKit/chromium/public/WebRange.h"
115 #include "third_party/WebKit/Source/WebKit/chromium/public/WebRect.h" 116 #include "third_party/WebKit/Source/WebKit/chromium/public/WebRect.h"
117 #include "third_party/WebKit/Source/WebKit/chromium/public/WebReferrerPolicy.h"
116 #include "third_party/WebKit/Source/WebKit/chromium/public/WebScriptSource.h" 118 #include "third_party/WebKit/Source/WebKit/chromium/public/WebScriptSource.h"
117 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSearchableFormData .h" 119 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSearchableFormData .h"
118 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h" 120 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h"
119 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityPolicy.h" 121 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityPolicy.h"
120 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSettings.h" 122 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSettings.h"
121 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSize.h" 123 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSize.h"
122 #include "third_party/WebKit/Source/WebKit/chromium/public/WebStorageNamespace.h " 124 #include "third_party/WebKit/Source/WebKit/chromium/public/WebStorageNamespace.h "
123 #include "third_party/WebKit/Source/WebKit/chromium/public/WebStorageQuotaCallba cks.h" 125 #include "third_party/WebKit/Source/WebKit/chromium/public/WebStorageQuotaCallba cks.h"
124 #include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h" 126 #include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h"
125 #include "third_party/WebKit/Source/WebKit/chromium/public/WebURL.h" 127 #include "third_party/WebKit/Source/WebKit/chromium/public/WebURL.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 using WebKit::WebPageSerializer; 208 using WebKit::WebPageSerializer;
207 using WebKit::WebPageSerializerClient; 209 using WebKit::WebPageSerializerClient;
208 using WebKit::WebPlugin; 210 using WebKit::WebPlugin;
209 using WebKit::WebPluginContainer; 211 using WebKit::WebPluginContainer;
210 using WebKit::WebPluginDocument; 212 using WebKit::WebPluginDocument;
211 using WebKit::WebPluginParams; 213 using WebKit::WebPluginParams;
212 using WebKit::WebPoint; 214 using WebKit::WebPoint;
213 using WebKit::WebPopupMenuInfo; 215 using WebKit::WebPopupMenuInfo;
214 using WebKit::WebRange; 216 using WebKit::WebRange;
215 using WebKit::WebRect; 217 using WebKit::WebRect;
218 using WebKit::WebReferrerPolicy;
216 using WebKit::WebScriptSource; 219 using WebKit::WebScriptSource;
217 using WebKit::WebSearchableFormData; 220 using WebKit::WebSearchableFormData;
218 using WebKit::WebSecurityOrigin; 221 using WebKit::WebSecurityOrigin;
219 using WebKit::WebSecurityPolicy; 222 using WebKit::WebSecurityPolicy;
220 using WebKit::WebSettings; 223 using WebKit::WebSettings;
221 using WebKit::WebSharedWorker; 224 using WebKit::WebSharedWorker;
222 using WebKit::WebSize; 225 using WebKit::WebSize;
223 using WebKit::WebStorageNamespace; 226 using WebKit::WebStorageNamespace;
224 using WebKit::WebStorageQuotaCallbacks; 227 using WebKit::WebStorageQuotaCallbacks;
225 using WebKit::WebStorageQuotaError; 228 using WebKit::WebStorageQuotaError;
(...skipping 13 matching lines...) Expand all
239 using WebKit::WebWorker; 242 using WebKit::WebWorker;
240 using WebKit::WebWorkerClient; 243 using WebKit::WebWorkerClient;
241 using appcache::WebApplicationCacheHostImpl; 244 using appcache::WebApplicationCacheHostImpl;
242 using base::Time; 245 using base::Time;
243 using base::TimeDelta; 246 using base::TimeDelta;
244 using content::DocumentState; 247 using content::DocumentState;
245 using content::NavigationState; 248 using content::NavigationState;
246 using content::RenderThread; 249 using content::RenderThread;
247 using content::RenderViewObserver; 250 using content::RenderViewObserver;
248 using content::RenderViewVisitor; 251 using content::RenderViewVisitor;
252 using content::Referrer;
249 using content::V8ValueConverter; 253 using content::V8ValueConverter;
250 using webkit_glue::AltErrorPageResourceFetcher; 254 using webkit_glue::AltErrorPageResourceFetcher;
251 using webkit_glue::FormField; 255 using webkit_glue::FormField;
252 using webkit_glue::PasswordForm; 256 using webkit_glue::PasswordForm;
253 using webkit_glue::PasswordFormDomManager; 257 using webkit_glue::PasswordFormDomManager;
254 using webkit_glue::ResourceFetcher; 258 using webkit_glue::ResourceFetcher;
255 259
256 //----------------------------------------------------------------------------- 260 //-----------------------------------------------------------------------------
257 261
258 typedef std::map<WebKit::WebView*, RenderViewImpl*> ViewMap; 262 typedef std::map<WebKit::WebView*, RenderViewImpl*> ViewMap;
(...skipping 12 matching lines...) Expand all
271 275
272 static const size_t kExtraCharsBeforeAndAfterSelection = 100; 276 static const size_t kExtraCharsBeforeAndAfterSelection = 100;
273 277
274 // The maximum number of popups that can be spawned from one page. 278 // The maximum number of popups that can be spawned from one page.
275 static const int kMaximumNumberOfUnacknowledgedPopups = 25; 279 static const int kMaximumNumberOfUnacknowledgedPopups = 25;
276 280
277 static const float kScalingIncrement = 0.1f; 281 static const float kScalingIncrement = 0.1f;
278 282
279 static const float kScalingIncrementForGesture = 0.01f; 283 static const float kScalingIncrementForGesture = 0.01f;
280 284
285 static const char* kPredefinedAllowedSocketOrigins[] = {
286 "okddffdblfhhnmhodogpojmfkjmhinfp"
287 };
288
281 static void GetRedirectChain(WebDataSource* ds, std::vector<GURL>* result) { 289 static void GetRedirectChain(WebDataSource* ds, std::vector<GURL>* result) {
282 WebVector<WebURL> urls; 290 WebVector<WebURL> urls;
283 ds->redirectChain(urls); 291 ds->redirectChain(urls);
284 result->reserve(urls.size()); 292 result->reserve(urls.size());
285 for (size_t i = 0; i < urls.size(); ++i) 293 for (size_t i = 0; i < urls.size(); ++i)
286 result->push_back(urls[i]); 294 result->push_back(urls[i]);
287 } 295 }
288 296
289 // If |data_source| is non-null and has a DocumentState associated with it, 297 // If |data_source| is non-null and has a DocumentState associated with it,
290 // the AltErrorPageResourceFetcher is reset. 298 // the AltErrorPageResourceFetcher is reset.
291 static void StopAltErrorPageFetcher(WebDataSource* data_source) { 299 static void StopAltErrorPageFetcher(WebDataSource* data_source) {
292 if (data_source) { 300 if (data_source) {
293 DocumentState* document_state = DocumentState::FromDataSource(data_source); 301 DocumentState* document_state = DocumentState::FromDataSource(data_source);
294 if (document_state) 302 if (document_state)
295 document_state->set_alt_error_page_fetcher(NULL); 303 document_state->set_alt_error_page_fetcher(NULL);
296 } 304 }
297 } 305 }
298 306
299 static bool IsReload(const ViewMsg_Navigate_Params& params) { 307 static bool IsReload(const ViewMsg_Navigate_Params& params) {
300 return 308 return
301 params.navigation_type == ViewMsg_Navigate_Type::RELOAD || 309 params.navigation_type == ViewMsg_Navigate_Type::RELOAD ||
302 params.navigation_type == ViewMsg_Navigate_Type::RELOAD_IGNORING_CACHE; 310 params.navigation_type == ViewMsg_Navigate_Type::RELOAD_IGNORING_CACHE;
303 } 311 }
304 312
313 static WebReferrerPolicy getReferrerPolicyFromRequest(
314 const WebURLRequest& request) {
315 return request.extraData() ?
316 static_cast<RequestExtraData*>(request.extraData())->referrer_policy() :
317 WebKit::WebReferrerPolicyDefault;
318 }
319
305 /////////////////////////////////////////////////////////////////////////////// 320 ///////////////////////////////////////////////////////////////////////////////
306 321
307 int32 RenderViewImpl::next_page_id_ = 1; 322 int32 RenderViewImpl::next_page_id_ = 1;
308 323
309 struct RenderViewImpl::PendingFileChooser { 324 struct RenderViewImpl::PendingFileChooser {
310 PendingFileChooser(const content::FileChooserParams& p, 325 PendingFileChooser(const content::FileChooserParams& p,
311 WebFileChooserCompletion* c) 326 WebFileChooserCompletion* c)
312 : params(p), 327 : params(p),
313 completion(c) { 328 completion(c) {
314 } 329 }
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 renderer_accessibility_ = new RendererAccessibility(this); 434 renderer_accessibility_ = new RendererAccessibility(this);
420 435
421 new IdleUserDetector(this); 436 new IdleUserDetector(this);
422 437
423 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 438 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
424 if (command_line.HasSwitch(switches::kEnableMediaStream)) { 439 if (command_line.HasSwitch(switches::kEnableMediaStream)) {
425 media_stream_impl_ = new MediaStreamImpl( 440 media_stream_impl_ = new MediaStreamImpl(
426 RenderThreadImpl::current()->video_capture_impl_manager()); 441 RenderThreadImpl::current()->video_capture_impl_manager());
427 } 442 }
428 443
444 for (size_t i = 0; i < arraysize(kPredefinedAllowedSocketOrigins); ++i)
445 allowed_socket_origins_.insert(kPredefinedAllowedSocketOrigins[i]);
446
447 std::string allowed_list =
448 command_line.GetSwitchValueASCII(switches::kAllowNaClSocketAPI);
449 if (!allowed_list.empty()) {
450 StringTokenizer t(allowed_list, ",");
451 while (t.GetNext()) {
452 allowed_socket_origins_.insert(t.token());
453 }
454 }
455
429 content::GetContentClient()->renderer()->RenderViewCreated(this); 456 content::GetContentClient()->renderer()->RenderViewCreated(this);
430 } 457 }
431 458
432 RenderViewImpl::~RenderViewImpl() { 459 RenderViewImpl::~RenderViewImpl() {
433 history_page_ids_.clear(); 460 history_page_ids_.clear();
434 461
435 if (decrement_shared_popup_at_destruction_) 462 if (decrement_shared_popup_at_destruction_)
436 shared_popup_counter_->data--; 463 shared_popup_counter_->data--;
437 464
438 // If file chooser is still waiting for answer, dispatch empty answer. 465 // If file chooser is still waiting for answer, dispatch empty answer.
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 const std::string& mime_type, 598 const std::string& mime_type,
572 webkit::WebPluginInfo* plugin_info, 599 webkit::WebPluginInfo* plugin_info,
573 std::string* actual_mime_type) { 600 std::string* actual_mime_type) {
574 bool found = false; 601 bool found = false;
575 Send(new ViewHostMsg_GetPluginInfo( 602 Send(new ViewHostMsg_GetPluginInfo(
576 routing_id_, url, page_url, mime_type, &found, plugin_info, 603 routing_id_, url, page_url, mime_type, &found, plugin_info,
577 actual_mime_type)); 604 actual_mime_type));
578 return found; 605 return found;
579 } 606 }
580 607
608 bool RenderViewImpl::CanUseSocketAPIs() {
609 WebFrame* main_frame = webview() ? webview()->mainFrame() : NULL;
610 GURL url(main_frame ? GURL(main_frame->document().url()) : GURL());
611 if (!url.is_valid())
612 return false;
613
614 return allowed_socket_origins_.find(url.host()) !=
615 allowed_socket_origins_.end();
616 }
617
581 bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { 618 bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) {
582 WebFrame* main_frame = webview() ? webview()->mainFrame() : NULL; 619 WebFrame* main_frame = webview() ? webview()->mainFrame() : NULL;
583 if (main_frame) 620 if (main_frame)
584 content::GetContentClient()->SetActiveURL(main_frame->document().url()); 621 content::GetContentClient()->SetActiveURL(main_frame->document().url());
585 622
586 ObserverListBase<RenderViewObserver>::Iterator it(observers_); 623 ObserverListBase<RenderViewObserver>::Iterator it(observers_);
587 RenderViewObserver* observer; 624 RenderViewObserver* observer;
588 while ((observer = it.GetNext()) != NULL) 625 while ((observer = it.GetNext()) != NULL)
589 if (observer->OnMessageReceived(message)) 626 if (observer->OnMessageReceived(message))
590 return true; 627 return true;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
678 ViewMsg_GetSerializedHtmlDataForCurrentPageWithLocalLinks, 715 ViewMsg_GetSerializedHtmlDataForCurrentPageWithLocalLinks,
679 OnGetSerializedHtmlDataForCurrentPageWithLocalLinks) 716 OnGetSerializedHtmlDataForCurrentPageWithLocalLinks)
680 #if defined(OS_MACOSX) 717 #if defined(OS_MACOSX)
681 IPC_MESSAGE_HANDLER(ViewMsg_SelectPopupMenuItem, OnSelectPopupMenuItem) 718 IPC_MESSAGE_HANDLER(ViewMsg_SelectPopupMenuItem, OnSelectPopupMenuItem)
682 #endif 719 #endif
683 IPC_MESSAGE_HANDLER(ViewMsg_ContextMenuClosed, OnContextMenuClosed) 720 IPC_MESSAGE_HANDLER(ViewMsg_ContextMenuClosed, OnContextMenuClosed)
684 // TODO(viettrungluu): Move to a separate message filter. 721 // TODO(viettrungluu): Move to a separate message filter.
685 #if defined(ENABLE_FLAPPER_HACKS) 722 #if defined(ENABLE_FLAPPER_HACKS)
686 IPC_MESSAGE_HANDLER(PepperMsg_ConnectTcpACK, OnConnectTcpACK) 723 IPC_MESSAGE_HANDLER(PepperMsg_ConnectTcpACK, OnConnectTcpACK)
687 #endif 724 #endif
725 // TODO(dpolukhin): Move TCP/UDP to a separate message filter.
726 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_ConnectACK,
727 OnTCPSocketConnectACK)
728 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_SSLHandshakeACK,
729 OnTCPSocketSSLHandshakeACK)
730 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_ReadACK, OnTCPSocketReadACK)
731 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_WriteACK, OnTCPSocketWriteACK)
732 IPC_MESSAGE_HANDLER(PpapiMsg_PPBUDPSocket_BindACK, OnUDPSocketBindACK)
733 IPC_MESSAGE_HANDLER(PpapiMsg_PPBUDPSocket_RecvFromACK,
734 OnUDPSocketRecvFromACK)
735 IPC_MESSAGE_HANDLER(PpapiMsg_PPBUDPSocket_SendToACK, OnUDPSocketSendToACK)
688 #if defined(OS_MACOSX) 736 #if defined(OS_MACOSX)
689 IPC_MESSAGE_HANDLER(ViewMsg_SetInLiveResize, OnSetInLiveResize) 737 IPC_MESSAGE_HANDLER(ViewMsg_SetInLiveResize, OnSetInLiveResize)
690 #endif 738 #endif
691 IPC_MESSAGE_HANDLER(ViewMsg_SetHistoryLengthAndPrune, 739 IPC_MESSAGE_HANDLER(ViewMsg_SetHistoryLengthAndPrune,
692 OnSetHistoryLengthAndPrune) 740 OnSetHistoryLengthAndPrune)
693 IPC_MESSAGE_HANDLER(ViewMsg_EnableViewSourceMode, OnEnableViewSourceMode) 741 IPC_MESSAGE_HANDLER(ViewMsg_EnableViewSourceMode, OnEnableViewSourceMode)
694 IPC_MESSAGE_HANDLER(ViewMsg_LockMouse_ACK, OnLockMouseACK) 742 IPC_MESSAGE_HANDLER(ViewMsg_LockMouse_ACK, OnLockMouseACK)
695 IPC_MESSAGE_HANDLER(ViewMsg_MouseLockLost, OnMouseLockLost) 743 IPC_MESSAGE_HANDLER(ViewMsg_MouseLockLost, OnMouseLockLost)
696 IPC_MESSAGE_HANDLER(JavaBridgeMsg_Init, OnJavaBridgeInit) 744 IPC_MESSAGE_HANDLER(JavaBridgeMsg_Init, OnJavaBridgeInit)
697 745
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 } else { 811 } else {
764 // Navigate to the given URL. 812 // Navigate to the given URL.
765 WebURLRequest request(params.url); 813 WebURLRequest request(params.url);
766 814
767 // A session history navigation should have been accompanied by state. 815 // A session history navigation should have been accompanied by state.
768 DCHECK_EQ(params.page_id, -1); 816 DCHECK_EQ(params.page_id, -1);
769 817
770 if (main_frame->isViewSourceModeEnabled()) 818 if (main_frame->isViewSourceModeEnabled())
771 request.setCachePolicy(WebURLRequest::ReturnCacheDataElseLoad); 819 request.setCachePolicy(WebURLRequest::ReturnCacheDataElseLoad);
772 820
773 if (params.referrer.is_valid()) { 821 if (params.referrer.url.is_valid()) {
774 if (!WebSecurityPolicy::shouldHideReferrer( 822 WebString referrer = WebSecurityPolicy::generateReferrerHeader(
775 params.url, 823 params.referrer.policy,
776 WebString::fromUTF8(params.referrer.spec()))) { 824 params.url,
777 request.setHTTPHeaderField(WebString::fromUTF8("Referer"), 825 WebString::fromUTF8(params.referrer.url.spec()));
778 WebString::fromUTF8(params.referrer.spec())); 826 if (!referrer.isEmpty())
779 } 827 request.setHTTPHeaderField(WebString::fromUTF8("Referer"), referrer);
780 } 828 }
781 829
782 if (!params.extra_headers.empty()) { 830 if (!params.extra_headers.empty()) {
783 for (net::HttpUtil::HeadersIterator i(params.extra_headers.begin(), 831 for (net::HttpUtil::HeadersIterator i(params.extra_headers.begin(),
784 params.extra_headers.end(), "\n"); 832 params.extra_headers.end(), "\n");
785 i.GetNext(); ) { 833 i.GetNext(); ) {
786 request.addHTTPHeaderField(WebString::fromUTF8(i.name()), 834 request.addHTTPHeaderField(WebString::fromUTF8(i.name()),
787 WebString::fromUTF8(i.values())); 835 WebString::fromUTF8(i.values()));
788 } 836 }
789 } 837 }
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
1135 // MANUAL_SUBFRAME, it will be that same transition type here. 1183 // MANUAL_SUBFRAME, it will be that same transition type here.
1136 // We don't want that, because any navigation that changes the toplevel 1184 // We don't want that, because any navigation that changes the toplevel
1137 // frame should be tracked as a toplevel navigation (this allows us to 1185 // frame should be tracked as a toplevel navigation (this allows us to
1138 // update the URL bar, etc). 1186 // update the URL bar, etc).
1139 params.transition = content::PAGE_TRANSITION_LINK; 1187 params.transition = content::PAGE_TRANSITION_LINK;
1140 } 1188 }
1141 1189
1142 // If we have a valid consumed client redirect source, 1190 // If we have a valid consumed client redirect source,
1143 // the page contained a client redirect (meta refresh, document.loc...), 1191 // the page contained a client redirect (meta refresh, document.loc...),
1144 // so we set the referrer and transition to match. 1192 // so we set the referrer and transition to match.
1145 if (completed_client_redirect_src_.is_valid()) { 1193 if (completed_client_redirect_src_.url.is_valid()) {
1146 DCHECK(completed_client_redirect_src_ == params.redirects[0]); 1194 DCHECK(completed_client_redirect_src_.url == params.redirects[0]);
1147 params.referrer = completed_client_redirect_src_; 1195 params.referrer = completed_client_redirect_src_;
1148 params.transition = static_cast<content::PageTransition>( 1196 params.transition = static_cast<content::PageTransition>(
1149 params.transition | content::PAGE_TRANSITION_CLIENT_REDIRECT); 1197 params.transition | content::PAGE_TRANSITION_CLIENT_REDIRECT);
1150 } else { 1198 } else {
1151 // Bug 654101: the referrer will be empty on https->http transitions. It 1199 // Bug 654101: the referrer will be empty on https->http transitions. It
1152 // would be nice if we could get the real referrer from somewhere. 1200 // would be nice if we could get the real referrer from somewhere.
1153 params.referrer = GURL( 1201 params.referrer = Referrer(GURL(
1154 original_request.httpHeaderField(WebString::fromUTF8("Referer"))); 1202 original_request.httpHeaderField(WebString::fromUTF8("Referer"))),
1203 getReferrerPolicyFromRequest(original_request));
1155 } 1204 }
1156 1205
1157 string16 method = request.httpMethod(); 1206 string16 method = request.httpMethod();
1158 if (EqualsASCII(method, "POST")) 1207 if (EqualsASCII(method, "POST"))
1159 params.is_post = true; 1208 params.is_post = true;
1160 1209
1161 // Save some histogram data so we can compute the average memory used per 1210 // Save some histogram data so we can compute the average memory used per
1162 // page load of the glyphs. 1211 // page load of the glyphs.
1163 UMA_HISTOGRAM_COUNTS_10000("Memory.GlyphPagesPerLoad", 1212 UMA_HISTOGRAM_COUNTS_10000("Memory.GlyphPagesPerLoad",
1164 webkit_glue::GetGlyphPageCount()); 1213 webkit_glue::GetGlyphPageCount());
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
1229 webview()->mainFrame()->previousHistoryItem(); 1278 webview()->mainFrame()->previousHistoryItem();
1230 if (item.isNull()) 1279 if (item.isNull())
1231 return; 1280 return;
1232 1281
1233 Send(new ViewHostMsg_UpdateState( 1282 Send(new ViewHostMsg_UpdateState(
1234 routing_id_, page_id_, webkit_glue::HistoryItemToString(item))); 1283 routing_id_, page_id_, webkit_glue::HistoryItemToString(item)));
1235 } 1284 }
1236 1285
1237 void RenderViewImpl::OpenURL(WebFrame* frame, 1286 void RenderViewImpl::OpenURL(WebFrame* frame,
1238 const GURL& url, 1287 const GURL& url,
1239 const GURL& referrer, 1288 const Referrer& referrer,
1240 WebNavigationPolicy policy) { 1289 WebNavigationPolicy policy) {
1241 Send(new ViewHostMsg_OpenURL( 1290 Send(new ViewHostMsg_OpenURL(
1242 routing_id_, 1291 routing_id_,
1243 url, 1292 url,
1244 referrer, 1293 referrer,
1245 NavigationPolicyToDisposition(policy), 1294 NavigationPolicyToDisposition(policy),
1246 frame->identifier())); 1295 frame->identifier()));
1247 } 1296 }
1248 1297
1249 // WebViewDelegate ------------------------------------------------------------ 1298 // WebViewDelegate ------------------------------------------------------------
(...skipping 723 matching lines...) Expand 10 before | Expand all | Expand 10 after
1973 2022
1974 void RenderViewImpl::loadURLExternally( 2023 void RenderViewImpl::loadURLExternally(
1975 WebFrame* frame, const WebURLRequest& request, 2024 WebFrame* frame, const WebURLRequest& request,
1976 WebNavigationPolicy policy, 2025 WebNavigationPolicy policy,
1977 const WebString& suggested_name) { 2026 const WebString& suggested_name) {
1978 GURL referrer(request.httpHeaderField(WebString::fromUTF8("Referer"))); 2027 GURL referrer(request.httpHeaderField(WebString::fromUTF8("Referer")));
1979 if (policy == WebKit::WebNavigationPolicyDownload) { 2028 if (policy == WebKit::WebNavigationPolicyDownload) {
1980 Send(new ViewHostMsg_DownloadUrl(routing_id_, request.url(), referrer, 2029 Send(new ViewHostMsg_DownloadUrl(routing_id_, request.url(), referrer,
1981 suggested_name)); 2030 suggested_name));
1982 } else { 2031 } else {
1983 OpenURL(frame, request.url(), referrer, policy); 2032 OpenURL(frame, request.url(),
2033 Referrer(referrer, getReferrerPolicyFromRequest(request)), policy);
1984 } 2034 }
1985 } 2035 }
1986 2036
1987 WebNavigationPolicy RenderViewImpl::decidePolicyForNavigation( 2037 WebNavigationPolicy RenderViewImpl::decidePolicyForNavigation(
1988 WebFrame* frame, const WebURLRequest& request, WebNavigationType type, 2038 WebFrame* frame, const WebURLRequest& request, WebNavigationType type,
1989 const WebNode&, WebNavigationPolicy default_policy, bool is_redirect) { 2039 const WebNode&, WebNavigationPolicy default_policy, bool is_redirect) {
1990 // TODO(creis): Remove this when we fix OnSwapOut to not need a navigation. 2040 // TODO(creis): Remove this when we fix OnSwapOut to not need a navigation.
1991 if (is_swapped_out_) { 2041 if (is_swapped_out_) {
1992 DCHECK(request.url() == GURL("about:swappedout")); 2042 DCHECK(request.url() == GURL("about:swappedout"));
1993 return default_policy; 2043 return default_policy;
(...skipping 16 matching lines...) Expand all
2010 // boundaries. This is currently expected to break some script calls and 2060 // boundaries. This is currently expected to break some script calls and
2011 // navigations, such as form submissions. 2061 // navigations, such as form submissions.
2012 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 2062 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
2013 if (command_line.HasSwitch(switches::kEnableStrictSiteIsolation) && 2063 if (command_line.HasSwitch(switches::kEnableStrictSiteIsolation) &&
2014 !frame->parent() && (is_content_initiated || is_redirect)) { 2064 !frame->parent() && (is_content_initiated || is_redirect)) {
2015 WebString origin_str = frame->document().securityOrigin().toString(); 2065 WebString origin_str = frame->document().securityOrigin().toString();
2016 GURL frame_url(origin_str.utf8().data()); 2066 GURL frame_url(origin_str.utf8().data());
2017 // TODO(cevans): revisit whether this origin check is still necessary once 2067 // TODO(cevans): revisit whether this origin check is still necessary once
2018 // crbug.com/101395 is fixed. 2068 // crbug.com/101395 is fixed.
2019 if (frame_url.GetOrigin() != url.GetOrigin()) { 2069 if (frame_url.GetOrigin() != url.GetOrigin()) {
2020 GURL referrer(request.httpHeaderField(WebString::fromUTF8("Referer"))); 2070 Referrer referrer(
2071 GURL(request.httpHeaderField(WebString::fromUTF8("Referer"))),
2072 getReferrerPolicyFromRequest(request));
2021 OpenURL(frame, url, referrer, default_policy); 2073 OpenURL(frame, url, referrer, default_policy);
2022 return WebKit::WebNavigationPolicyIgnore; 2074 return WebKit::WebNavigationPolicyIgnore;
2023 } 2075 }
2024 } 2076 }
2025 2077
2026 // If the browser is interested, then give it a chance to look at top level 2078 // If the browser is interested, then give it a chance to look at top level
2027 // navigations. 2079 // navigations.
2028 if (is_content_initiated && 2080 if (is_content_initiated &&
2029 renderer_preferences_.browser_handles_top_level_requests && 2081 renderer_preferences_.browser_handles_top_level_requests &&
2030 IsNonLocalTopLevelNavigation(url, frame, type)) { 2082 IsNonLocalTopLevelNavigation(url, frame, type)) {
2031 GURL referrer(request.httpHeaderField(WebString::fromUTF8("Referer"))); 2083 Referrer referrer(
2084 GURL(request.httpHeaderField(WebString::fromUTF8("Referer"))),
2085 getReferrerPolicyFromRequest(request));
2032 // Reset these counters as the RenderView could be reused for the next 2086 // Reset these counters as the RenderView could be reused for the next
2033 // navigation. 2087 // navigation.
2034 page_id_ = -1; 2088 page_id_ = -1;
2035 last_page_id_sent_to_browser_ = -1; 2089 last_page_id_sent_to_browser_ = -1;
2036 OpenURL(frame, url, referrer, default_policy); 2090 OpenURL(frame, url, referrer, default_policy);
2037 return WebKit::WebNavigationPolicyIgnore; // Suppress the load here. 2091 return WebKit::WebNavigationPolicyIgnore; // Suppress the load here.
2038 } 2092 }
2039 2093
2040 // Detect when we're crossing a permission-based boundary (e.g. into or out of 2094 // Detect when we're crossing a permission-based boundary (e.g. into or out of
2041 // an extension or app origin, leaving a WebUI page, etc). We only care about 2095 // an extension or app origin, leaving a WebUI page, etc). We only care about
(...skipping 27 matching lines...) Expand all
2069 2123
2070 if (!should_fork) { 2124 if (!should_fork) {
2071 // Give the embedder a chance. 2125 // Give the embedder a chance.
2072 bool is_initial_navigation = page_id_ == -1; 2126 bool is_initial_navigation = page_id_ == -1;
2073 should_fork = content::GetContentClient()->renderer()->ShouldFork( 2127 should_fork = content::GetContentClient()->renderer()->ShouldFork(
2074 frame, url, is_content_initiated, is_initial_navigation, 2128 frame, url, is_content_initiated, is_initial_navigation,
2075 &send_referrer); 2129 &send_referrer);
2076 } 2130 }
2077 2131
2078 if (should_fork) { 2132 if (should_fork) {
2079 GURL referrer(request.httpHeaderField(WebString::fromUTF8("Referer"))); 2133 Referrer referrer(
2080 OpenURL(frame, url, send_referrer ? referrer : GURL(), default_policy); 2134 GURL(request.httpHeaderField(WebString::fromUTF8("Referer"))),
2135 getReferrerPolicyFromRequest(request));
2136 OpenURL(
2137 frame, url, send_referrer ? referrer : Referrer(), default_policy);
2081 return WebKit::WebNavigationPolicyIgnore; // Suppress the load here. 2138 return WebKit::WebNavigationPolicyIgnore; // Suppress the load here.
2082 } 2139 }
2083 } 2140 }
2084 2141
2085 // Use the frame's original request's URL rather than the document's URL for 2142 // Use the frame's original request's URL rather than the document's URL for
2086 // this check. For a popup, the document's URL may become the opener window's 2143 // this check. For a popup, the document's URL may become the opener window's
2087 // URL if the opener has called document.write. See http://crbug.com/93517. 2144 // URL if the opener has called document.write. See http://crbug.com/93517.
2088 GURL old_url(frame->dataSource()->request().url()); 2145 GURL old_url(frame->dataSource()->request().url());
2089 2146
2090 // Detect when a page is "forking" a new tab that can be safely rendered in 2147 // Detect when a page is "forking" a new tab that can be safely rendered in
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
2140 frame->name().isNull() && 2197 frame->name().isNull() &&
2141 // Another frame (with a non-empty creator) should have initiated the 2198 // Another frame (with a non-empty creator) should have initiated the
2142 // request, targeted at this frame. 2199 // request, targeted at this frame.
2143 !creator_url_.is_empty() && 2200 !creator_url_.is_empty() &&
2144 is_content_initiated && 2201 is_content_initiated &&
2145 default_policy == WebKit::WebNavigationPolicyCurrentTab && 2202 default_policy == WebKit::WebNavigationPolicyCurrentTab &&
2146 type == WebKit::WebNavigationTypeOther; 2203 type == WebKit::WebNavigationTypeOther;
2147 2204
2148 if (is_fork || is_noreferrer_and_blank_target) { 2205 if (is_fork || is_noreferrer_and_blank_target) {
2149 // Open the URL via the browser, not via WebKit. 2206 // Open the URL via the browser, not via WebKit.
2150 OpenURL(frame, url, GURL(), default_policy); 2207 OpenURL(frame, url, Referrer(), default_policy);
2151 return WebKit::WebNavigationPolicyIgnore; 2208 return WebKit::WebNavigationPolicyIgnore;
2152 } 2209 }
2153 2210
2154 return default_policy; 2211 return default_policy;
2155 } 2212 }
2156 2213
2157 bool RenderViewImpl::canHandleRequest( 2214 bool RenderViewImpl::canHandleRequest(
2158 WebFrame* frame, const WebURLRequest& request) { 2215 WebFrame* frame, const WebURLRequest& request) {
2159 // We allow WebKit to think that everything can be handled even though 2216 // We allow WebKit to think that everything can be handled even though
2160 // browser-side we limit what we load. 2217 // browser-side we limit what we load.
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
2238 WillPerformClientRedirect(frame, from, to, interval, fire_time)); 2295 WillPerformClientRedirect(frame, from, to, interval, fire_time));
2239 } 2296 }
2240 2297
2241 void RenderViewImpl::didCancelClientRedirect(WebFrame* frame) { 2298 void RenderViewImpl::didCancelClientRedirect(WebFrame* frame) {
2242 FOR_EACH_OBSERVER( 2299 FOR_EACH_OBSERVER(
2243 RenderViewObserver, observers_, DidCancelClientRedirect(frame)); 2300 RenderViewObserver, observers_, DidCancelClientRedirect(frame));
2244 } 2301 }
2245 2302
2246 void RenderViewImpl::didCompleteClientRedirect( 2303 void RenderViewImpl::didCompleteClientRedirect(
2247 WebFrame* frame, const WebURL& from) { 2304 WebFrame* frame, const WebURL& from) {
2248 if (!frame->parent()) 2305 if (!frame->parent()) {
2249 completed_client_redirect_src_ = from; 2306 WebDataSource* ds = frame->provisionalDataSource();
2307 CHECK(ds);
2308 completed_client_redirect_src_ =
2309 Referrer(from, getReferrerPolicyFromRequest(ds->request()));
2310 }
2250 FOR_EACH_OBSERVER( 2311 FOR_EACH_OBSERVER(
2251 RenderViewObserver, observers_, DidCompleteClientRedirect(frame, from)); 2312 RenderViewObserver, observers_, DidCompleteClientRedirect(frame, from));
2252 } 2313 }
2253 2314
2254 void RenderViewImpl::didCreateDataSource(WebFrame* frame, WebDataSource* ds) { 2315 void RenderViewImpl::didCreateDataSource(WebFrame* frame, WebDataSource* ds) {
2255 DocumentState* document_state = DocumentState::FromDataSource(ds); 2316 DocumentState* document_state = DocumentState::FromDataSource(ds);
2256 if (!document_state) { 2317 if (!document_state) {
2257 document_state = new DocumentState; 2318 document_state = new DocumentState;
2258 ds->setExtraData(document_state); 2319 ds->setExtraData(document_state);
2259 } 2320 }
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
2369 2430
2370 // Start time is only set after request time. 2431 // Start time is only set after request time.
2371 document_state->set_start_load_time(Time::Now()); 2432 document_state->set_start_load_time(Time::Now());
2372 2433
2373 bool is_top_most = !frame->parent(); 2434 bool is_top_most = !frame->parent();
2374 if (is_top_most) { 2435 if (is_top_most) {
2375 navigation_gesture_ = frame->isProcessingUserGesture() ? 2436 navigation_gesture_ = frame->isProcessingUserGesture() ?
2376 NavigationGestureUser : NavigationGestureAuto; 2437 NavigationGestureUser : NavigationGestureAuto;
2377 2438
2378 // Make sure redirect tracking state is clear for the new load. 2439 // Make sure redirect tracking state is clear for the new load.
2379 completed_client_redirect_src_ = GURL(); 2440 completed_client_redirect_src_ = Referrer();
2380 } else if (frame->parent()->isLoading()) { 2441 } else if (frame->parent()->isLoading()) {
2381 // Take note of AUTO_SUBFRAME loads here, so that we can know how to 2442 // Take note of AUTO_SUBFRAME loads here, so that we can know how to
2382 // load an error page. See didFailProvisionalLoad. 2443 // load an error page. See didFailProvisionalLoad.
2383 document_state->navigation_state()->set_transition_type( 2444 document_state->navigation_state()->set_transition_type(
2384 content::PAGE_TRANSITION_AUTO_SUBFRAME); 2445 content::PAGE_TRANSITION_AUTO_SUBFRAME);
2385 } 2446 }
2386 2447
2387 FOR_EACH_OBSERVER( 2448 FOR_EACH_OBSERVER(
2388 RenderViewObserver, observers_, DidStartProvisionalLoad(frame)); 2449 RenderViewObserver, observers_, DidStartProvisionalLoad(frame));
2389 2450
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
2559 // the session history again. We do this regardless of whether this is 2620 // the session history again. We do this regardless of whether this is
2560 // a session history navigation, because if we attempted a session history 2621 // a session history navigation, because if we attempted a session history
2561 // navigation without valid HistoryItem state, WebCore will think it is a 2622 // navigation without valid HistoryItem state, WebCore will think it is a
2562 // new navigation. 2623 // new navigation.
2563 navigation_state->set_request_committed(true); 2624 navigation_state->set_request_committed(true);
2564 2625
2565 UpdateURL(frame); 2626 UpdateURL(frame);
2566 2627
2567 // If this committed load was initiated by a client redirect, we're 2628 // If this committed load was initiated by a client redirect, we're
2568 // at the last stop now, so clear it. 2629 // at the last stop now, so clear it.
2569 completed_client_redirect_src_ = GURL(); 2630 completed_client_redirect_src_ = Referrer();
2570 2631
2571 // Check whether we have new encoding name. 2632 // Check whether we have new encoding name.
2572 UpdateEncoding(frame, frame->view()->pageEncoding().utf8()); 2633 UpdateEncoding(frame, frame->view()->pageEncoding().utf8());
2573 } 2634 }
2574 2635
2575 void RenderViewImpl::didClearWindowObject(WebFrame* frame) { 2636 void RenderViewImpl::didClearWindowObject(WebFrame* frame) {
2576 FOR_EACH_OBSERVER(RenderViewObserver, observers_, 2637 FOR_EACH_OBSERVER(RenderViewObserver, observers_,
2577 DidClearWindowObject(frame)); 2638 DidClearWindowObject(frame));
2578 2639
2579 GURL frame_url = frame->document().url(); 2640 GURL frame_url = frame->document().url();
(...skipping 1340 matching lines...) Expand 10 before | Expand all | Expand 10 after
3920 void RenderViewImpl::OnGetAllSavableResourceLinksForCurrentPage( 3981 void RenderViewImpl::OnGetAllSavableResourceLinksForCurrentPage(
3921 const GURL& page_url) { 3982 const GURL& page_url) {
3922 // Prepare list to storage all savable resource links. 3983 // Prepare list to storage all savable resource links.
3923 std::vector<GURL> resources_list; 3984 std::vector<GURL> resources_list;
3924 std::vector<GURL> referrers_list; 3985 std::vector<GURL> referrers_list;
3925 std::vector<GURL> frames_list; 3986 std::vector<GURL> frames_list;
3926 webkit_glue::SavableResourcesResult result(&resources_list, 3987 webkit_glue::SavableResourcesResult result(&resources_list,
3927 &referrers_list, 3988 &referrers_list,
3928 &frames_list); 3989 &frames_list);
3929 3990
3991 // FIXME(rdsmith): When GetAllSavableResourceLinksForCurrentPage starts to
3992 // return referrers, it should also return the referrer policies.
3930 if (!webkit_glue::GetAllSavableResourceLinksForCurrentPage( 3993 if (!webkit_glue::GetAllSavableResourceLinksForCurrentPage(
3931 webview(), 3994 webview(),
3932 page_url, 3995 page_url,
3933 &result, 3996 &result,
3934 chrome::GetSavableSchemes())) { 3997 chrome::GetSavableSchemes())) {
3935 // If something is wrong when collecting all savable resource links, 3998 // If something is wrong when collecting all savable resource links,
3936 // send empty list to embedder(browser) to tell it failed. 3999 // send empty list to embedder(browser) to tell it failed.
3937 referrers_list.clear(); 4000 referrers_list.clear();
3938 resources_list.clear(); 4001 resources_list.clear();
3939 frames_list.clear(); 4002 frames_list.clear();
(...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after
4707 const PP_NetAddress_Private& local_addr, 4770 const PP_NetAddress_Private& local_addr,
4708 const PP_NetAddress_Private& remote_addr) { 4771 const PP_NetAddress_Private& remote_addr) {
4709 pepper_delegate_.OnConnectTcpACK( 4772 pepper_delegate_.OnConnectTcpACK(
4710 request_id, 4773 request_id,
4711 IPC::PlatformFileForTransitToPlatformFile(socket_for_transit), 4774 IPC::PlatformFileForTransitToPlatformFile(socket_for_transit),
4712 local_addr, 4775 local_addr,
4713 remote_addr); 4776 remote_addr);
4714 } 4777 }
4715 #endif 4778 #endif
4716 4779
4780 void RenderViewImpl::OnTCPSocketConnectACK(
4781 uint32 plugin_dispatcher_id,
4782 uint32 socket_id,
4783 bool succeeded,
4784 const PP_NetAddress_Private& local_addr,
4785 const PP_NetAddress_Private& remote_addr) {
4786 pepper_delegate_.OnTCPSocketConnectACK(
4787 socket_id, succeeded, local_addr, remote_addr);
4788 }
4789
4790 void RenderViewImpl::OnTCPSocketSSLHandshakeACK(
4791 uint32 plugin_dispatcher_id,
4792 uint32 socket_id,
4793 bool succeeded) {
4794 pepper_delegate_.OnTCPSocketSSLHandshakeACK(socket_id, succeeded);
4795 }
4796
4797 void RenderViewImpl::OnTCPSocketReadACK(uint32 plugin_dispatcher_id,
4798 uint32 socket_id,
4799 bool succeeded,
4800 const std::string& data) {
4801 pepper_delegate_.OnTCPSocketReadACK(socket_id, succeeded, data);
4802 }
4803
4804 void RenderViewImpl::OnTCPSocketWriteACK(uint32 plugin_dispatcher_id,
4805 uint32 socket_id,
4806 bool succeeded,
4807 int32_t bytes_written) {
4808 pepper_delegate_.OnTCPSocketWriteACK(socket_id, succeeded, bytes_written);
4809 }
4810
4811 void RenderViewImpl::OnUDPSocketBindACK(uint32 plugin_dispatcher_id,
4812 uint32 socket_id,
4813 bool succeeded) {
4814 pepper_delegate_.OnUDPSocketBindACK(socket_id, succeeded);
4815 }
4816
4817 void RenderViewImpl::OnUDPSocketRecvFromACK(
4818 uint32 plugin_dispatcher_id,
4819 uint32 socket_id,
4820 bool succeeded,
4821 const std::string& data,
4822 const PP_NetAddress_Private& remote_addr) {
4823 pepper_delegate_.OnUDPSocketRecvFromACK(socket_id,
4824 succeeded,
4825 data,
4826 remote_addr);
4827 }
4828
4829 void RenderViewImpl::OnUDPSocketSendToACK(uint32 plugin_dispatcher_id,
4830 uint32 socket_id,
4831 bool succeeded,
4832 int32_t bytes_written) {
4833 pepper_delegate_.OnUDPSocketSendToACK(socket_id, succeeded, bytes_written);
4834 }
4835
4717 void RenderViewImpl::OnContextMenuClosed( 4836 void RenderViewImpl::OnContextMenuClosed(
4718 const webkit_glue::CustomContextMenuContext& custom_context) { 4837 const webkit_glue::CustomContextMenuContext& custom_context) {
4719 if (custom_context.is_pepper_menu) 4838 if (custom_context.is_pepper_menu)
4720 pepper_delegate_.OnContextMenuClosed(custom_context); 4839 pepper_delegate_.OnContextMenuClosed(custom_context);
4721 else 4840 else
4722 context_menu_node_.reset(); 4841 context_menu_node_.reset();
4723 } 4842 }
4724 4843
4725 void RenderViewImpl::OnEnableViewSourceMode() { 4844 void RenderViewImpl::OnEnableViewSourceMode() {
4726 if (!webview()) 4845 if (!webview())
(...skipping 25 matching lines...) Expand all
4752 return !!RenderThreadImpl::current()->compositor_thread(); 4871 return !!RenderThreadImpl::current()->compositor_thread();
4753 } 4872 }
4754 4873
4755 void RenderViewImpl::OnJavaBridgeInit( 4874 void RenderViewImpl::OnJavaBridgeInit(
4756 const IPC::ChannelHandle& channel_handle) { 4875 const IPC::ChannelHandle& channel_handle) {
4757 DCHECK(!java_bridge_dispatcher_.get()); 4876 DCHECK(!java_bridge_dispatcher_.get());
4758 #if defined(ENABLE_JAVA_BRIDGE) 4877 #if defined(ENABLE_JAVA_BRIDGE)
4759 java_bridge_dispatcher_.reset(new JavaBridgeDispatcher(this, channel_handle)); 4878 java_bridge_dispatcher_.reset(new JavaBridgeDispatcher(this, channel_handle));
4760 #endif 4879 #endif
4761 } 4880 }
OLDNEW
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/shell/shell.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698