| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 84 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 95 #include "media/base/media_switches.h" | 95 #include "media/base/media_switches.h" | 
| 96 #include "media/base/message_loop_factory.h" | 96 #include "media/base/message_loop_factory.h" | 
| 97 #include "media/filters/audio_renderer_impl.h" | 97 #include "media/filters/audio_renderer_impl.h" | 
| 98 #include "media/filters/gpu_video_decoder.h" | 98 #include "media/filters/gpu_video_decoder.h" | 
| 99 #include "net/base/escape.h" | 99 #include "net/base/escape.h" | 
| 100 #include "net/base/net_errors.h" | 100 #include "net/base/net_errors.h" | 
| 101 #include "net/http/http_util.h" | 101 #include "net/http/http_util.h" | 
| 102 #include "third_party/WebKit/Source/WebKit/chromium/public/WebAccessibilityObjec
      t.h" | 102 #include "third_party/WebKit/Source/WebKit/chromium/public/WebAccessibilityObjec
      t.h" | 
| 103 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDataSource.h" | 103 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDataSource.h" | 
| 104 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" | 104 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" | 
|  | 105 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDOMEvent.h" | 
|  | 106 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDOMMessageEvent.h" | 
| 105 #include "third_party/WebKit/Source/WebKit/chromium/public/WebElement.h" | 107 #include "third_party/WebKit/Source/WebKit/chromium/public/WebElement.h" | 
| 106 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFileChooserParams.
      h" | 108 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFileChooserParams.
      h" | 
| 107 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFileSystemCallback
      s.h" | 109 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFileSystemCallback
      s.h" | 
| 108 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFindOptions.h" | 110 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFindOptions.h" | 
| 109 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFormControlElement
      .h" | 111 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFormControlElement
      .h" | 
| 110 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFormElement.h" | 112 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFormElement.h" | 
| 111 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" | 113 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" | 
| 112 #include "third_party/WebKit/Source/WebKit/chromium/public/WebHistoryItem.h" | 114 #include "third_party/WebKit/Source/WebKit/chromium/public/WebHistoryItem.h" | 
| 113 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputElement.h" | 115 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputElement.h" | 
| 114 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" | 116 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" | 
| (...skipping 21 matching lines...) Expand all  Loading... | 
| 136 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebCString.h
      " | 138 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebCString.h
      " | 
| 137 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebDragData.
      h" | 139 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebDragData.
      h" | 
| 138 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebGraphicsC
      ontext3D.h" | 140 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebGraphicsC
      ontext3D.h" | 
| 139 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebImage.h" | 141 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebImage.h" | 
| 140 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebPeerConne
      ction00Handler.h" | 142 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebPeerConne
      ction00Handler.h" | 
| 141 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebPeerConne
      ction00HandlerClient.h" | 143 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebPeerConne
      ction00HandlerClient.h" | 
| 142 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebPeerConne
      ctionHandler.h" | 144 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebPeerConne
      ctionHandler.h" | 
| 143 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebPeerConne
      ctionHandlerClient.h" | 145 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebPeerConne
      ctionHandlerClient.h" | 
| 144 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebPoint.h" | 146 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebPoint.h" | 
| 145 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebRect.h" | 147 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebRect.h" | 
|  | 148 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebSerialize
      dScriptValue.h" | 
| 146 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebSize.h" | 149 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebSize.h" | 
| 147 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebSocketStr
      eamHandle.h" | 150 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebSocketStr
      eamHandle.h" | 
| 148 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" | 151 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" | 
| 149 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURL.h" | 152 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURL.h" | 
| 150 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURLError.
      h" | 153 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURLError.
      h" | 
| 151 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURLReques
      t.h" | 154 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURLReques
      t.h" | 
| 152 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURLRespon
      se.h" | 155 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURLRespon
      se.h" | 
| 153 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h" | 156 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h" | 
| 154 #include "third_party/skia/include/core/SkBitmap.h" | 157 #include "third_party/skia/include/core/SkBitmap.h" | 
| 155 #include "ui/base/javascript_message_type.h" | 158 #include "ui/base/javascript_message_type.h" | 
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 197 using WebKit::WebApplicationCacheHostClient; | 200 using WebKit::WebApplicationCacheHostClient; | 
| 198 using WebKit::WebCString; | 201 using WebKit::WebCString; | 
| 199 using WebKit::WebColor; | 202 using WebKit::WebColor; | 
| 200 using WebKit::WebColorName; | 203 using WebKit::WebColorName; | 
| 201 using WebKit::WebConsoleMessage; | 204 using WebKit::WebConsoleMessage; | 
| 202 using WebKit::WebContextMenuData; | 205 using WebKit::WebContextMenuData; | 
| 203 using WebKit::WebCookieJar; | 206 using WebKit::WebCookieJar; | 
| 204 using WebKit::WebData; | 207 using WebKit::WebData; | 
| 205 using WebKit::WebDataSource; | 208 using WebKit::WebDataSource; | 
| 206 using WebKit::WebDocument; | 209 using WebKit::WebDocument; | 
|  | 210 using WebKit::WebDOMEvent; | 
|  | 211 using WebKit::WebDOMMessageEvent; | 
| 207 using WebKit::WebDragData; | 212 using WebKit::WebDragData; | 
| 208 using WebKit::WebDragOperation; | 213 using WebKit::WebDragOperation; | 
| 209 using WebKit::WebDragOperationsMask; | 214 using WebKit::WebDragOperationsMask; | 
| 210 using WebKit::WebEditingAction; | 215 using WebKit::WebEditingAction; | 
| 211 using WebKit::WebElement; | 216 using WebKit::WebElement; | 
| 212 using WebKit::WebExternalPopupMenu; | 217 using WebKit::WebExternalPopupMenu; | 
| 213 using WebKit::WebExternalPopupMenuClient; | 218 using WebKit::WebExternalPopupMenuClient; | 
| 214 using WebKit::WebFileChooserCompletion; | 219 using WebKit::WebFileChooserCompletion; | 
| 215 using WebKit::WebFileSystem; | 220 using WebKit::WebFileSystem; | 
| 216 using WebKit::WebFileSystemCallbacks; | 221 using WebKit::WebFileSystemCallbacks; | 
| (...skipping 28 matching lines...) Expand all  Loading... | 
| 245 using WebKit::WebPluginParams; | 250 using WebKit::WebPluginParams; | 
| 246 using WebKit::WebPoint; | 251 using WebKit::WebPoint; | 
| 247 using WebKit::WebPopupMenuInfo; | 252 using WebKit::WebPopupMenuInfo; | 
| 248 using WebKit::WebRange; | 253 using WebKit::WebRange; | 
| 249 using WebKit::WebRect; | 254 using WebKit::WebRect; | 
| 250 using WebKit::WebReferrerPolicy; | 255 using WebKit::WebReferrerPolicy; | 
| 251 using WebKit::WebScriptSource; | 256 using WebKit::WebScriptSource; | 
| 252 using WebKit::WebSearchableFormData; | 257 using WebKit::WebSearchableFormData; | 
| 253 using WebKit::WebSecurityOrigin; | 258 using WebKit::WebSecurityOrigin; | 
| 254 using WebKit::WebSecurityPolicy; | 259 using WebKit::WebSecurityPolicy; | 
|  | 260 using WebKit::WebSerializedScriptValue; | 
| 255 using WebKit::WebSettings; | 261 using WebKit::WebSettings; | 
| 256 using WebKit::WebSharedWorker; | 262 using WebKit::WebSharedWorker; | 
| 257 using WebKit::WebSize; | 263 using WebKit::WebSize; | 
| 258 using WebKit::WebSocketStreamHandle; | 264 using WebKit::WebSocketStreamHandle; | 
| 259 using WebKit::WebStorageNamespace; | 265 using WebKit::WebStorageNamespace; | 
| 260 using WebKit::WebStorageQuotaCallbacks; | 266 using WebKit::WebStorageQuotaCallbacks; | 
| 261 using WebKit::WebStorageQuotaError; | 267 using WebKit::WebStorageQuotaError; | 
| 262 using WebKit::WebStorageQuotaType; | 268 using WebKit::WebStorageQuotaType; | 
| 263 using WebKit::WebString; | 269 using WebKit::WebString; | 
| 264 using WebKit::WebTextAffinity; | 270 using WebKit::WebTextAffinity; | 
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 307 | 313 | 
| 308 static const size_t kExtraCharsBeforeAndAfterSelection = 100; | 314 static const size_t kExtraCharsBeforeAndAfterSelection = 100; | 
| 309 | 315 | 
| 310 // The maximum number of popups that can be spawned from one page. | 316 // The maximum number of popups that can be spawned from one page. | 
| 311 static const int kMaximumNumberOfUnacknowledgedPopups = 25; | 317 static const int kMaximumNumberOfUnacknowledgedPopups = 25; | 
| 312 | 318 | 
| 313 static const float kScalingIncrement = 0.1f; | 319 static const float kScalingIncrement = 0.1f; | 
| 314 | 320 | 
| 315 static const float kScalingIncrementForGesture = 0.01f; | 321 static const float kScalingIncrementForGesture = 0.01f; | 
| 316 | 322 | 
|  | 323 static RenderViewImpl* FromRoutingID(int32 routing_id) { | 
|  | 324   return static_cast<RenderViewImpl*>( | 
|  | 325       ChildThread::current()->ResolveRoute(routing_id)); | 
|  | 326 } | 
|  | 327 | 
| 317 static void GetRedirectChain(WebDataSource* ds, std::vector<GURL>* result) { | 328 static void GetRedirectChain(WebDataSource* ds, std::vector<GURL>* result) { | 
| 318   WebVector<WebURL> urls; | 329   WebVector<WebURL> urls; | 
| 319   ds->redirectChain(urls); | 330   ds->redirectChain(urls); | 
| 320   result->reserve(urls.size()); | 331   result->reserve(urls.size()); | 
| 321   for (size_t i = 0; i < urls.size(); ++i) | 332   for (size_t i = 0; i < urls.size(); ++i) | 
| 322     result->push_back(urls[i]); | 333     result->push_back(urls[i]); | 
| 323 } | 334 } | 
| 324 | 335 | 
| 325 // If |data_source| is non-null and has a DocumentState associated with it, | 336 // If |data_source| is non-null and has a DocumentState associated with it, | 
| 326 // the AltErrorPageResourceFetcher is reset. | 337 // the AltErrorPageResourceFetcher is reset. | 
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 566     enabled_bindings_ |= content::BINDINGS_POLICY_DOM_AUTOMATION; | 577     enabled_bindings_ |= content::BINDINGS_POLICY_DOM_AUTOMATION; | 
| 567 | 578 | 
| 568   ProcessViewLayoutFlags(command_line); | 579   ProcessViewLayoutFlags(command_line); | 
| 569 | 580 | 
| 570   content::GetContentClient()->renderer()->RenderViewCreated(this); | 581   content::GetContentClient()->renderer()->RenderViewCreated(this); | 
| 571 | 582 | 
| 572   // If we have an opener_id but we weren't created by a renderer, then | 583   // If we have an opener_id but we weren't created by a renderer, then | 
| 573   // it's the browser asking us to set our opener to another RenderView. | 584   // it's the browser asking us to set our opener to another RenderView. | 
| 574   // TODO(creis): This doesn't yet handle openers that are subframes. | 585   // TODO(creis): This doesn't yet handle openers that are subframes. | 
| 575   if (opener_id != MSG_ROUTING_NONE && !is_renderer_created) { | 586   if (opener_id != MSG_ROUTING_NONE && !is_renderer_created) { | 
| 576     RenderViewImpl* opener_view = static_cast<RenderViewImpl*>( | 587     RenderViewImpl* opener_view = FromRoutingID(opener_id); | 
| 577         ChildThread::current()->ResolveRoute(opener_id)); | 588     if (opener_view) | 
| 578     webview()->mainFrame()->setOpener(opener_view->webview()->mainFrame()); | 589       webview()->mainFrame()->setOpener(opener_view->webview()->mainFrame()); | 
| 579   } | 590   } | 
| 580 | 591 | 
| 581   // If we are initially swapped out, navigate to kSwappedOutURL. | 592   // If we are initially swapped out, navigate to kSwappedOutURL. | 
| 582   // This ensures we are in a unique origin that others cannot script. | 593   // This ensures we are in a unique origin that others cannot script. | 
| 583   if (is_swapped_out_) | 594   if (is_swapped_out_) | 
| 584     NavigateToSwappedOutURL(); | 595     NavigateToSwappedOutURL(); | 
| 585 } | 596 } | 
| 586 | 597 | 
| 587 RenderViewImpl::~RenderViewImpl() { | 598 RenderViewImpl::~RenderViewImpl() { | 
| 588   history_page_ids_.clear(); | 599   history_page_ids_.clear(); | 
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 796     IPC_MESSAGE_HANDLER(ViewMsg_FindReplyACK, OnFindReplyAck) | 807     IPC_MESSAGE_HANDLER(ViewMsg_FindReplyACK, OnFindReplyAck) | 
| 797     IPC_MESSAGE_HANDLER(ViewMsg_Zoom, OnZoom) | 808     IPC_MESSAGE_HANDLER(ViewMsg_Zoom, OnZoom) | 
| 798     IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevel, OnSetZoomLevel) | 809     IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevel, OnSetZoomLevel) | 
| 799     IPC_MESSAGE_HANDLER(ViewMsg_ZoomFactor, OnZoomFactor) | 810     IPC_MESSAGE_HANDLER(ViewMsg_ZoomFactor, OnZoomFactor) | 
| 800     IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForLoadingURL, | 811     IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForLoadingURL, | 
| 801                         OnSetZoomLevelForLoadingURL) | 812                         OnSetZoomLevelForLoadingURL) | 
| 802     IPC_MESSAGE_HANDLER(ViewMsg_SetPageEncoding, OnSetPageEncoding) | 813     IPC_MESSAGE_HANDLER(ViewMsg_SetPageEncoding, OnSetPageEncoding) | 
| 803     IPC_MESSAGE_HANDLER(ViewMsg_ResetPageEncodingToDefault, | 814     IPC_MESSAGE_HANDLER(ViewMsg_ResetPageEncodingToDefault, | 
| 804                         OnResetPageEncodingToDefault) | 815                         OnResetPageEncodingToDefault) | 
| 805     IPC_MESSAGE_HANDLER(ViewMsg_ScriptEvalRequest, OnScriptEvalRequest) | 816     IPC_MESSAGE_HANDLER(ViewMsg_ScriptEvalRequest, OnScriptEvalRequest) | 
|  | 817     IPC_MESSAGE_HANDLER(ViewMsg_PostMessageEvent, OnPostMessageEvent) | 
| 806     IPC_MESSAGE_HANDLER(ViewMsg_CSSInsertRequest, OnCSSInsertRequest) | 818     IPC_MESSAGE_HANDLER(ViewMsg_CSSInsertRequest, OnCSSInsertRequest) | 
| 807     IPC_MESSAGE_HANDLER(DragMsg_TargetDragEnter, OnDragTargetDragEnter) | 819     IPC_MESSAGE_HANDLER(DragMsg_TargetDragEnter, OnDragTargetDragEnter) | 
| 808     IPC_MESSAGE_HANDLER(DragMsg_TargetDragOver, OnDragTargetDragOver) | 820     IPC_MESSAGE_HANDLER(DragMsg_TargetDragOver, OnDragTargetDragOver) | 
| 809     IPC_MESSAGE_HANDLER(DragMsg_TargetDragLeave, OnDragTargetDragLeave) | 821     IPC_MESSAGE_HANDLER(DragMsg_TargetDragLeave, OnDragTargetDragLeave) | 
| 810     IPC_MESSAGE_HANDLER(DragMsg_TargetDrop, OnDragTargetDrop) | 822     IPC_MESSAGE_HANDLER(DragMsg_TargetDrop, OnDragTargetDrop) | 
| 811     IPC_MESSAGE_HANDLER(DragMsg_SourceEndedOrMoved, OnDragSourceEndedOrMoved) | 823     IPC_MESSAGE_HANDLER(DragMsg_SourceEndedOrMoved, OnDragSourceEndedOrMoved) | 
| 812     IPC_MESSAGE_HANDLER(DragMsg_SourceSystemDragEnded, | 824     IPC_MESSAGE_HANDLER(DragMsg_SourceSystemDragEnded, | 
| 813                         OnDragSourceSystemDragEnded) | 825                         OnDragSourceSystemDragEnded) | 
| 814     IPC_MESSAGE_HANDLER(ViewMsg_AllowBindings, OnAllowBindings) | 826     IPC_MESSAGE_HANDLER(ViewMsg_AllowBindings, OnAllowBindings) | 
| 815     IPC_MESSAGE_HANDLER(ViewMsg_SetWebUIProperty, OnSetWebUIProperty) | 827     IPC_MESSAGE_HANDLER(ViewMsg_SetWebUIProperty, OnSetWebUIProperty) | 
| (...skipping 2703 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3519 } | 3531 } | 
| 3520 | 3532 | 
| 3521 void RenderViewImpl::dispatchIntent( | 3533 void RenderViewImpl::dispatchIntent( | 
| 3522     WebFrame* frame, const WebIntentRequest& intentRequest) { | 3534     WebFrame* frame, const WebIntentRequest& intentRequest) { | 
| 3523   webkit_glue::WebIntentData intent_data(intentRequest.intent()); | 3535   webkit_glue::WebIntentData intent_data(intentRequest.intent()); | 
| 3524   int id = intents_host_->RegisterWebIntent(intentRequest); | 3536   int id = intents_host_->RegisterWebIntent(intentRequest); | 
| 3525   Send(new IntentsHostMsg_WebIntentDispatch( | 3537   Send(new IntentsHostMsg_WebIntentDispatch( | 
| 3526       routing_id_, intent_data, id)); | 3538       routing_id_, intent_data, id)); | 
| 3527 } | 3539 } | 
| 3528 | 3540 | 
|  | 3541 bool RenderViewImpl::willCheckAndDispatchMessageEvent( | 
|  | 3542     WebKit::WebFrame* source, | 
|  | 3543     WebKit::WebSecurityOrigin target_origin, | 
|  | 3544     WebKit::WebDOMMessageEvent event) { | 
|  | 3545   if (!is_swapped_out_) | 
|  | 3546     return false; | 
|  | 3547 | 
|  | 3548   ViewMsg_PostMessage_Params params; | 
|  | 3549   params.data = event.data().toString(); | 
|  | 3550   params.source_origin = event.origin(); | 
|  | 3551   if (!target_origin.isNull()) | 
|  | 3552     params.target_origin = target_origin.toString(); | 
|  | 3553 | 
|  | 3554   // Include the routing ID for the source frame, which the browser process | 
|  | 3555   // will translate into the routing ID for the equivalent frame in the target | 
|  | 3556   // process. | 
|  | 3557   // TODO(creis): Support source subframes. | 
|  | 3558   params.source_routing_id = MSG_ROUTING_NONE; | 
|  | 3559   RenderViewImpl* source_view = FromWebView(source->view()); | 
|  | 3560   if (source_view) | 
|  | 3561     params.source_routing_id = source_view->routing_id(); | 
|  | 3562 | 
|  | 3563   Send(new ViewHostMsg_RouteMessageEvent(routing_id_, params)); | 
|  | 3564   return true; | 
|  | 3565 } | 
|  | 3566 | 
| 3529 void RenderViewImpl::willOpenSocketStream( | 3567 void RenderViewImpl::willOpenSocketStream( | 
| 3530     WebSocketStreamHandle* handle) { | 3568     WebSocketStreamHandle* handle) { | 
| 3531   SocketStreamHandleData::AddToHandle(handle, routing_id_); | 3569   SocketStreamHandleData::AddToHandle(handle, routing_id_); | 
| 3532 } | 3570 } | 
| 3533 | 3571 | 
| 3534 // WebKit::WebPageSerializerClient implementation ------------------------------ | 3572 // WebKit::WebPageSerializerClient implementation ------------------------------ | 
| 3535 | 3573 | 
| 3536 void RenderViewImpl::didSerializeDataForFrame( | 3574 void RenderViewImpl::didSerializeDataForFrame( | 
| 3537     const WebURL& frame_url, | 3575     const WebURL& frame_url, | 
| 3538     const WebCString& data, | 3576     const WebCString& data, | 
| (...skipping 652 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 4191   return frame; | 4229   return frame; | 
| 4192 } | 4230 } | 
| 4193 | 4231 | 
| 4194 void RenderViewImpl::OnScriptEvalRequest(const string16& frame_xpath, | 4232 void RenderViewImpl::OnScriptEvalRequest(const string16& frame_xpath, | 
| 4195                                          const string16& jscript, | 4233                                          const string16& jscript, | 
| 4196                                          int id, | 4234                                          int id, | 
| 4197                                          bool notify_result) { | 4235                                          bool notify_result) { | 
| 4198   EvaluateScript(frame_xpath, jscript, id, notify_result); | 4236   EvaluateScript(frame_xpath, jscript, id, notify_result); | 
| 4199 } | 4237 } | 
| 4200 | 4238 | 
|  | 4239 void RenderViewImpl::OnPostMessageEvent( | 
|  | 4240     const ViewMsg_PostMessage_Params& params) { | 
|  | 4241   // TODO(creis): Support sending to subframes. | 
|  | 4242   WebFrame *frame = webview()->mainFrame(); | 
|  | 4243 | 
|  | 4244   // Find the source frame if it exists. | 
|  | 4245   // TODO(creis): Support source subframes. | 
|  | 4246   WebFrame* source_frame = NULL; | 
|  | 4247   if (params.source_routing_id != MSG_ROUTING_NONE) { | 
|  | 4248     RenderViewImpl* source_view = FromRoutingID(params.source_routing_id); | 
|  | 4249     if (source_view) | 
|  | 4250       source_frame = source_view->webview()->mainFrame(); | 
|  | 4251   } | 
|  | 4252 | 
|  | 4253   // Create an event with the message.  The final parameter to initMessageEvent | 
|  | 4254   // is the last event ID, which is not used with postMessage. | 
|  | 4255   WebDOMEvent event = frame->document().createEvent("MessageEvent"); | 
|  | 4256   WebDOMMessageEvent msg_event = event.to<WebDOMMessageEvent>(); | 
|  | 4257   msg_event.initMessageEvent("message", | 
|  | 4258                              // |canBubble| and |cancellable| are always false | 
|  | 4259                              false, false, | 
|  | 4260                              WebSerializedScriptValue::fromString(params.data), | 
|  | 4261                              params.source_origin, source_frame, ""); | 
|  | 4262 | 
|  | 4263   // We must pass in the target_origin to do the security check on this side, | 
|  | 4264   // since it may have changed since the original postMessage call was made. | 
|  | 4265   WebSecurityOrigin target_origin; | 
|  | 4266   if (!params.target_origin.empty()) { | 
|  | 4267     target_origin = | 
|  | 4268         WebSecurityOrigin::createFromString(WebString(params.target_origin)); | 
|  | 4269   } | 
|  | 4270   frame->dispatchMessageEventWithOriginCheck(target_origin, msg_event); | 
|  | 4271 } | 
|  | 4272 | 
| 4201 void RenderViewImpl::OnCSSInsertRequest(const string16& frame_xpath, | 4273 void RenderViewImpl::OnCSSInsertRequest(const string16& frame_xpath, | 
| 4202                                         const std::string& css) { | 4274                                         const std::string& css) { | 
| 4203   WebFrame* frame = GetChildFrame(frame_xpath); | 4275   WebFrame* frame = GetChildFrame(frame_xpath); | 
| 4204   if (!frame) | 4276   if (!frame) | 
| 4205     return; | 4277     return; | 
| 4206 | 4278 | 
| 4207   frame->document().insertUserStyleSheet( | 4279   frame->document().insertUserStyleSheet( | 
| 4208       WebString::fromUTF8(css), | 4280       WebString::fromUTF8(css), | 
| 4209       WebDocument::UserStyleAuthorLevel); | 4281       WebDocument::UserStyleAuthorLevel); | 
| 4210 } | 4282 } | 
| (...skipping 1099 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5310 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const { | 5382 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const { | 
| 5311   return !!RenderThreadImpl::current()->compositor_thread(); | 5383   return !!RenderThreadImpl::current()->compositor_thread(); | 
| 5312 } | 5384 } | 
| 5313 | 5385 | 
| 5314 void RenderViewImpl::OnJavaBridgeInit() { | 5386 void RenderViewImpl::OnJavaBridgeInit() { | 
| 5315   DCHECK(!java_bridge_dispatcher_.get()); | 5387   DCHECK(!java_bridge_dispatcher_.get()); | 
| 5316 #if defined(ENABLE_JAVA_BRIDGE) | 5388 #if defined(ENABLE_JAVA_BRIDGE) | 
| 5317   java_bridge_dispatcher_.reset(new JavaBridgeDispatcher(this)); | 5389   java_bridge_dispatcher_.reset(new JavaBridgeDispatcher(this)); | 
| 5318 #endif | 5390 #endif | 
| 5319 } | 5391 } | 
| OLD | NEW | 
|---|