| 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 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 virtual bool HandleMouseLockedInputEvent( | 357 virtual bool HandleMouseLockedInputEvent( |
| 358 const WebKit::WebMouseEvent &event) OVERRIDE { | 358 const WebKit::WebMouseEvent &event) OVERRIDE { |
| 359 // The WebWidget handles mouse lock in WebKit's handleInputEvent(). | 359 // The WebWidget handles mouse lock in WebKit's handleInputEvent(). |
| 360 return false; | 360 return false; |
| 361 } | 361 } |
| 362 | 362 |
| 363 private: | 363 private: |
| 364 WebKit::WebWidget* webwidget_; | 364 WebKit::WebWidget* webwidget_; |
| 365 }; | 365 }; |
| 366 | 366 |
| 367 int64 ExtractPostId(const WebHistoryItem& item) { |
| 368 if (item.isNull()) |
| 369 return -1; |
| 370 |
| 371 if (item.httpBody().isNull()) |
| 372 return -1; |
| 373 |
| 374 return item.httpBody().identifier(); |
| 375 } |
| 376 |
| 367 } // namespace | 377 } // namespace |
| 368 | 378 |
| 369 RenderViewImpl::RenderViewImpl( | 379 RenderViewImpl::RenderViewImpl( |
| 370 gfx::NativeViewId parent_hwnd, | 380 gfx::NativeViewId parent_hwnd, |
| 371 int32 opener_id, | 381 int32 opener_id, |
| 372 const content::RendererPreferences& renderer_prefs, | 382 const content::RendererPreferences& renderer_prefs, |
| 373 const WebPreferences& webkit_prefs, | 383 const WebPreferences& webkit_prefs, |
| 374 SharedRenderViewCounter* counter, | 384 SharedRenderViewCounter* counter, |
| 375 int32 routing_id, | 385 int32 routing_id, |
| 376 int32 surface_id, | 386 int32 surface_id, |
| (...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1096 const WebURLRequest& request = ds->request(); | 1106 const WebURLRequest& request = ds->request(); |
| 1097 const WebURLRequest& original_request = ds->originalRequest(); | 1107 const WebURLRequest& original_request = ds->originalRequest(); |
| 1098 const WebURLResponse& response = ds->response(); | 1108 const WebURLResponse& response = ds->response(); |
| 1099 | 1109 |
| 1100 DocumentState* document_state = DocumentState::FromDataSource(ds); | 1110 DocumentState* document_state = DocumentState::FromDataSource(ds); |
| 1101 NavigationState* navigation_state = document_state->navigation_state(); | 1111 NavigationState* navigation_state = document_state->navigation_state(); |
| 1102 | 1112 |
| 1103 ViewHostMsg_FrameNavigate_Params params; | 1113 ViewHostMsg_FrameNavigate_Params params; |
| 1104 params.http_status_code = response.httpStatusCode(); | 1114 params.http_status_code = response.httpStatusCode(); |
| 1105 params.is_post = false; | 1115 params.is_post = false; |
| 1116 params.post_id = -1; |
| 1106 params.page_id = page_id_; | 1117 params.page_id = page_id_; |
| 1107 params.frame_id = frame->identifier(); | 1118 params.frame_id = frame->identifier(); |
| 1108 params.socket_address.set_host(response.remoteIPAddress().utf8()); | 1119 params.socket_address.set_host(response.remoteIPAddress().utf8()); |
| 1109 params.socket_address.set_port(response.remotePort()); | 1120 params.socket_address.set_port(response.remotePort()); |
| 1110 params.was_fetched_via_proxy = response.wasFetchedViaProxy(); | 1121 params.was_fetched_via_proxy = response.wasFetchedViaProxy(); |
| 1111 params.was_within_same_page = navigation_state->was_within_same_page(); | 1122 params.was_within_same_page = navigation_state->was_within_same_page(); |
| 1112 if (!document_state->security_info().empty()) { | 1123 if (!document_state->security_info().empty()) { |
| 1113 // SSL state specified in the request takes precedence over the one in the | 1124 // SSL state specified in the request takes precedence over the one in the |
| 1114 // response. | 1125 // response. |
| 1115 // So far this is only intended for error pages that are not expected to be | 1126 // So far this is only intended for error pages that are not expected to be |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1214 params.transition | content::PAGE_TRANSITION_CLIENT_REDIRECT); | 1225 params.transition | content::PAGE_TRANSITION_CLIENT_REDIRECT); |
| 1215 } else { | 1226 } else { |
| 1216 // Bug 654101: the referrer will be empty on https->http transitions. It | 1227 // Bug 654101: the referrer will be empty on https->http transitions. It |
| 1217 // would be nice if we could get the real referrer from somewhere. | 1228 // would be nice if we could get the real referrer from somewhere. |
| 1218 params.referrer = Referrer(GURL( | 1229 params.referrer = Referrer(GURL( |
| 1219 original_request.httpHeaderField(WebString::fromUTF8("Referer"))), | 1230 original_request.httpHeaderField(WebString::fromUTF8("Referer"))), |
| 1220 getReferrerPolicyFromRequest(original_request)); | 1231 getReferrerPolicyFromRequest(original_request)); |
| 1221 } | 1232 } |
| 1222 | 1233 |
| 1223 string16 method = request.httpMethod(); | 1234 string16 method = request.httpMethod(); |
| 1224 if (EqualsASCII(method, "POST")) | 1235 if (EqualsASCII(method, "POST")) { |
| 1225 params.is_post = true; | 1236 params.is_post = true; |
| 1237 params.post_id = ExtractPostId(item); |
| 1238 } |
| 1226 | 1239 |
| 1227 // Save some histogram data so we can compute the average memory used per | 1240 // Save some histogram data so we can compute the average memory used per |
| 1228 // page load of the glyphs. | 1241 // page load of the glyphs. |
| 1229 UMA_HISTOGRAM_COUNTS_10000("Memory.GlyphPagesPerLoad", | 1242 UMA_HISTOGRAM_COUNTS_10000("Memory.GlyphPagesPerLoad", |
| 1230 webkit_glue::GetGlyphPageCount()); | 1243 webkit_glue::GetGlyphPageCount()); |
| 1231 | 1244 |
| 1232 // This message needs to be sent before any of allowScripts(), | 1245 // This message needs to be sent before any of allowScripts(), |
| 1233 // allowImages(), allowPlugins() is called for the new page, so that when | 1246 // allowImages(), allowPlugins() is called for the new page, so that when |
| 1234 // these functions send a ViewHostMsg_ContentBlocked message, it arrives | 1247 // these functions send a ViewHostMsg_ContentBlocked message, it arrives |
| 1235 // after the ViewHostMsg_FrameNavigate message. | 1248 // after the ViewHostMsg_FrameNavigate message. |
| (...skipping 3712 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4948 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const { | 4961 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const { |
| 4949 return !!RenderThreadImpl::current()->compositor_thread(); | 4962 return !!RenderThreadImpl::current()->compositor_thread(); |
| 4950 } | 4963 } |
| 4951 | 4964 |
| 4952 void RenderViewImpl::OnJavaBridgeInit() { | 4965 void RenderViewImpl::OnJavaBridgeInit() { |
| 4953 DCHECK(!java_bridge_dispatcher_.get()); | 4966 DCHECK(!java_bridge_dispatcher_.get()); |
| 4954 #if defined(ENABLE_JAVA_BRIDGE) | 4967 #if defined(ENABLE_JAVA_BRIDGE) |
| 4955 java_bridge_dispatcher_.reset(new JavaBridgeDispatcher(this)); | 4968 java_bridge_dispatcher_.reset(new JavaBridgeDispatcher(this)); |
| 4956 #endif | 4969 #endif |
| 4957 } | 4970 } |
| OLD | NEW |