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

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

Issue 1568073002: Reduce string copies in GURL creation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Mac Created 4 years, 11 months 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
OLDNEW
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 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 #include "content/common/dom_storage/dom_storage_types.h" 44 #include "content/common/dom_storage/dom_storage_types.h"
45 #include "content/common/drag_messages.h" 45 #include "content/common/drag_messages.h"
46 #include "content/common/frame_messages.h" 46 #include "content/common/frame_messages.h"
47 #include "content/common/frame_replication_state.h" 47 #include "content/common/frame_replication_state.h"
48 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h" 48 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h"
49 #include "content/common/input_messages.h" 49 #include "content/common/input_messages.h"
50 #include "content/common/pepper_messages.h" 50 #include "content/common/pepper_messages.h"
51 #include "content/common/site_isolation_policy.h" 51 #include "content/common/site_isolation_policy.h"
52 #include "content/common/ssl_status_serialization.h" 52 #include "content/common/ssl_status_serialization.h"
53 #include "content/common/view_messages.h" 53 #include "content/common/view_messages.h"
54 #include "content/public/child/url_conversion.h"
54 #include "content/public/common/bindings_policy.h" 55 #include "content/public/common/bindings_policy.h"
55 #include "content/public/common/content_client.h" 56 #include "content/public/common/content_client.h"
56 #include "content/public/common/content_constants.h" 57 #include "content/public/common/content_constants.h"
57 #include "content/public/common/content_switches.h" 58 #include "content/public/common/content_switches.h"
58 #include "content/public/common/drop_data.h" 59 #include "content/public/common/drop_data.h"
59 #include "content/public/common/favicon_url.h" 60 #include "content/public/common/favicon_url.h"
60 #include "content/public/common/file_chooser_file_info.h" 61 #include "content/public/common/file_chooser_file_info.h"
61 #include "content/public/common/file_chooser_params.h" 62 #include "content/public/common/file_chooser_params.h"
62 #include "content/public/common/page_importance_signals.h" 63 #include "content/public/common/page_importance_signals.h"
63 #include "content/public/common/page_state.h" 64 #include "content/public/common/page_state.h"
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 #endif 310 #endif
310 311
311 static RenderViewImpl* (*g_create_render_view_impl)( 312 static RenderViewImpl* (*g_create_render_view_impl)(
312 CompositorDependencies* compositor_deps, 313 CompositorDependencies* compositor_deps,
313 const ViewMsg_New_Params&) = nullptr; 314 const ViewMsg_New_Params&) = nullptr;
314 315
315 // static 316 // static
316 Referrer RenderViewImpl::GetReferrerFromRequest( 317 Referrer RenderViewImpl::GetReferrerFromRequest(
317 WebFrame* frame, 318 WebFrame* frame,
318 const WebURLRequest& request) { 319 const WebURLRequest& request) {
319 return Referrer(GURL(request.httpHeaderField(WebString::fromUTF8("Referer"))), 320 return Referrer(
320 request.referrerPolicy()); 321 WebStringToGURL(request.httpHeaderField(WebString::fromUTF8("Referer"))),
322 request.referrerPolicy());
321 } 323 }
322 324
323 // static 325 // static
324 WindowOpenDisposition RenderViewImpl::NavigationPolicyToDisposition( 326 WindowOpenDisposition RenderViewImpl::NavigationPolicyToDisposition(
325 WebNavigationPolicy policy) { 327 WebNavigationPolicy policy) {
326 switch (policy) { 328 switch (policy) {
327 case blink::WebNavigationPolicyIgnore: 329 case blink::WebNavigationPolicyIgnore:
328 return IGNORE_ACTION; 330 return IGNORE_ACTION;
329 case blink::WebNavigationPolicyDownload: 331 case blink::WebNavigationPolicyDownload:
330 return SAVE_TO_DISK; 332 return SAVE_TO_DISK;
(...skipping 1268 matching lines...) Expand 10 before | Expand all | Expand 10 after
1599 // 1601 //
1600 // TODO(alexmos): This works fine for regular origins but may break path 1602 // TODO(alexmos): This works fine for regular origins but may break path
1601 // matching for file URLs with OOP subframes that open popups. This should 1603 // matching for file URLs with OOP subframes that open popups. This should
1602 // be fixed by either moving this lookup to the browser process or removing 1604 // be fixed by either moving this lookup to the browser process or removing
1603 // path-based matching for file URLs from content settings. See 1605 // path-based matching for file URLs from content settings. See
1604 // https://crbug.com/466297. 1606 // https://crbug.com/466297.
1605 if (creator->top()->isWebLocalFrame()) { 1607 if (creator->top()->isWebLocalFrame()) {
1606 params.opener_top_level_frame_url = creator->top()->document().url(); 1608 params.opener_top_level_frame_url = creator->top()->document().url();
1607 } else { 1609 } else {
1608 params.opener_top_level_frame_url = 1610 params.opener_top_level_frame_url =
1609 GURL(creator->top()->securityOrigin().toString()); 1611 WebStringToGURL(creator->top()->securityOrigin().toString());
1610 } 1612 }
1611 1613
1612 GURL security_url(creator->document().securityOrigin().toString()); 1614 GURL security_url(WebStringToGURL(
1615 creator->document().securityOrigin().toString()));
1613 if (!security_url.is_valid()) 1616 if (!security_url.is_valid())
1614 security_url = GURL(); 1617 security_url = GURL();
1615 params.opener_security_origin = security_url; 1618 params.opener_security_origin = security_url;
1616 params.opener_suppressed = suppress_opener; 1619 params.opener_suppressed = suppress_opener;
1617 params.disposition = NavigationPolicyToDisposition(policy); 1620 params.disposition = NavigationPolicyToDisposition(policy);
1618 if (!request.isNull()) { 1621 if (!request.isNull()) {
1619 params.target_url = request.url(); 1622 params.target_url = request.url();
1620 params.referrer = GetReferrerFromRequest(creator, request); 1623 params.referrer = GetReferrerFromRequest(creator, request);
1621 } 1624 }
1622 params.features = features; 1625 params.features = features;
(...skipping 2101 matching lines...) Expand 10 before | Expand all | Expand 10 after
3724 if (IsUseZoomForDSFEnabled()) { 3727 if (IsUseZoomForDSFEnabled()) {
3725 webview()->setZoomFactorForDeviceScaleFactor(device_scale_factor_); 3728 webview()->setZoomFactorForDeviceScaleFactor(device_scale_factor_);
3726 } else { 3729 } else {
3727 webview()->setDeviceScaleFactor(device_scale_factor_); 3730 webview()->setDeviceScaleFactor(device_scale_factor_);
3728 } 3731 }
3729 webview()->settings()->setPreferCompositingToLCDTextEnabled( 3732 webview()->settings()->setPreferCompositingToLCDTextEnabled(
3730 PreferCompositingToLCDText(compositor_deps_, device_scale_factor_)); 3733 PreferCompositingToLCDText(compositor_deps_, device_scale_factor_));
3731 } 3734 }
3732 3735
3733 } // namespace content 3736 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698