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

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

Issue 751043002: Refactor RenderView creation to use ViewMsg_New_Params. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes based on Charlie's review. Created 6 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
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/renderer/render_view_impl_params.h » ('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) 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 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 #include "content/renderer/internal_document_state_data.h" 85 #include "content/renderer/internal_document_state_data.h"
86 #include "content/renderer/media/audio_device_factory.h" 86 #include "content/renderer/media/audio_device_factory.h"
87 #include "content/renderer/media/video_capture_impl_manager.h" 87 #include "content/renderer/media/video_capture_impl_manager.h"
88 #include "content/renderer/memory_benchmarking_extension.h" 88 #include "content/renderer/memory_benchmarking_extension.h"
89 #include "content/renderer/mhtml_generator.h" 89 #include "content/renderer/mhtml_generator.h"
90 #include "content/renderer/net_info_helper.h" 90 #include "content/renderer/net_info_helper.h"
91 #include "content/renderer/render_frame_impl.h" 91 #include "content/renderer/render_frame_impl.h"
92 #include "content/renderer/render_frame_proxy.h" 92 #include "content/renderer/render_frame_proxy.h"
93 #include "content/renderer/render_process.h" 93 #include "content/renderer/render_process.h"
94 #include "content/renderer/render_thread_impl.h" 94 #include "content/renderer/render_thread_impl.h"
95 #include "content/renderer/render_view_impl_params.h"
96 #include "content/renderer/render_view_mouse_lock_dispatcher.h" 95 #include "content/renderer/render_view_mouse_lock_dispatcher.h"
97 #include "content/renderer/render_widget_fullscreen_pepper.h" 96 #include "content/renderer/render_widget_fullscreen_pepper.h"
98 #include "content/renderer/renderer_webapplicationcachehost_impl.h" 97 #include "content/renderer/renderer_webapplicationcachehost_impl.h"
99 #include "content/renderer/resizing_mode_selector.h" 98 #include "content/renderer/resizing_mode_selector.h"
100 #include "content/renderer/savable_resources.h" 99 #include "content/renderer/savable_resources.h"
101 #include "content/renderer/skia_benchmarking_extension.h" 100 #include "content/renderer/skia_benchmarking_extension.h"
102 #include "content/renderer/speech_recognition_dispatcher.h" 101 #include "content/renderer/speech_recognition_dispatcher.h"
103 #include "content/renderer/stats_collection_controller.h" 102 #include "content/renderer/stats_collection_controller.h"
104 #include "content/renderer/stats_collection_observer.h" 103 #include "content/renderer/stats_collection_observer.h"
105 #include "content/renderer/text_input_client_observer.h" 104 #include "content/renderer/text_input_client_observer.h"
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 // better than having to wake up all renderers during shutdown. 325 // better than having to wake up all renderers during shutdown.
327 const int kDelaySecondsForContentStateSyncHidden = 5; 326 const int kDelaySecondsForContentStateSyncHidden = 5;
328 const int kDelaySecondsForContentStateSync = 1; 327 const int kDelaySecondsForContentStateSync = 1;
329 328
330 #if defined(OS_ANDROID) 329 #if defined(OS_ANDROID)
331 // Delay between tapping in content and launching the associated android intent. 330 // Delay between tapping in content and launching the associated android intent.
332 // Used to allow users see what has been recognized as content. 331 // Used to allow users see what has been recognized as content.
333 const size_t kContentIntentDelayMilliseconds = 700; 332 const size_t kContentIntentDelayMilliseconds = 700;
334 #endif 333 #endif
335 334
336 static RenderViewImpl* (*g_create_render_view_impl)(RenderViewImplParams*) = 335 static RenderViewImpl* (*g_create_render_view_impl)(const ViewMsg_New_Params&) =
337 NULL; 336 NULL;
338 337
339 // static 338 // static
340 bool RenderViewImpl::IsReload(FrameMsg_Navigate_Type::Value navigation_type) { 339 bool RenderViewImpl::IsReload(FrameMsg_Navigate_Type::Value navigation_type) {
341 return navigation_type == FrameMsg_Navigate_Type::RELOAD || 340 return navigation_type == FrameMsg_Navigate_Type::RELOAD ||
342 navigation_type == FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE || 341 navigation_type == FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE ||
343 navigation_type == FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL; 342 navigation_type == FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL;
344 } 343 }
345 344
346 // static 345 // static
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 int32 script = u_getPropertyValueEnum(UCHAR_SCRIPT, (it->first).c_str()); 633 int32 script = u_getPropertyValueEnum(UCHAR_SCRIPT, (it->first).c_str());
635 if (script >= 0 && script < USCRIPT_CODE_LIMIT) { 634 if (script >= 0 && script < USCRIPT_CODE_LIMIT) {
636 UScriptCode code = static_cast<UScriptCode>(script); 635 UScriptCode code = static_cast<UScriptCode>(script);
637 (*setter)(settings, it->second, GetScriptForWebSettings(code)); 636 (*setter)(settings, it->second, GetScriptForWebSettings(code));
638 } 637 }
639 } 638 }
640 } 639 }
641 640
642 } // namespace 641 } // namespace
643 642
644 RenderViewImpl::RenderViewImpl(RenderViewImplParams* params) 643 RenderViewImpl::RenderViewImpl(const ViewMsg_New_Params& params)
645 : RenderWidget(blink::WebPopupTypeNone, 644 : RenderWidget(blink::WebPopupTypeNone,
646 params->initial_size.screen_info, 645 params.initial_size.screen_info,
647 params->swapped_out, 646 params.swapped_out,
648 params->hidden, 647 params.hidden,
649 params->never_visible), 648 params.never_visible),
650 webkit_preferences_(params->webkit_prefs), 649 webkit_preferences_(params.web_preferences),
651 send_content_state_immediately_(false), 650 send_content_state_immediately_(false),
652 enabled_bindings_(0), 651 enabled_bindings_(0),
653 send_preferred_size_changes_(false), 652 send_preferred_size_changes_(false),
654 navigation_gesture_(NavigationGestureUnknown), 653 navigation_gesture_(NavigationGestureUnknown),
655 opened_by_user_gesture_(true), 654 opened_by_user_gesture_(true),
656 opener_suppressed_(false), 655 opener_suppressed_(false),
657 suppress_dialogs_until_swap_out_(false), 656 suppress_dialogs_until_swap_out_(false),
658 page_id_(-1), 657 page_id_(-1),
659 last_page_id_sent_to_browser_(-1), 658 last_page_id_sent_to_browser_(-1),
660 next_page_id_(params->next_page_id), 659 next_page_id_(params.next_page_id),
661 history_list_offset_(-1), 660 history_list_offset_(-1),
662 history_list_length_(0), 661 history_list_length_(0),
663 frames_in_progress_(0), 662 frames_in_progress_(0),
664 target_url_status_(TARGET_NONE), 663 target_url_status_(TARGET_NONE),
665 uses_temporary_zoom_level_(false), 664 uses_temporary_zoom_level_(false),
666 #if defined(OS_ANDROID) 665 #if defined(OS_ANDROID)
667 top_controls_constraints_(cc::BOTH), 666 top_controls_constraints_(cc::BOTH),
668 #endif 667 #endif
669 has_scrolled_focused_editable_node_into_rect_(false), 668 has_scrolled_focused_editable_node_into_rect_(false),
670 speech_recognition_dispatcher_(NULL), 669 speech_recognition_dispatcher_(NULL),
671 browser_plugin_manager_(NULL), 670 browser_plugin_manager_(NULL),
672 devtools_agent_(NULL), 671 devtools_agent_(NULL),
673 mouse_lock_dispatcher_(NULL), 672 mouse_lock_dispatcher_(NULL),
674 #if defined(OS_ANDROID) 673 #if defined(OS_ANDROID)
675 expected_content_intent_id_(0), 674 expected_content_intent_id_(0),
676 #endif 675 #endif
677 #if defined(OS_WIN) 676 #if defined(OS_WIN)
678 focused_plugin_id_(-1), 677 focused_plugin_id_(-1),
679 #endif 678 #endif
680 #if defined(ENABLE_PLUGINS) 679 #if defined(ENABLE_PLUGINS)
681 plugin_find_handler_(NULL), 680 plugin_find_handler_(NULL),
682 focused_pepper_plugin_(NULL), 681 focused_pepper_plugin_(NULL),
683 pepper_last_mouse_event_target_(NULL), 682 pepper_last_mouse_event_target_(NULL),
684 #endif 683 #endif
685 enumeration_completion_id_(0), 684 enumeration_completion_id_(0),
686 session_storage_namespace_id_(params->session_storage_namespace_id), 685 session_storage_namespace_id_(params.session_storage_namespace_id),
687 next_snapshot_id_(0) { 686 next_snapshot_id_(0) {
688 } 687 }
689 688
690 void RenderViewImpl::Initialize(RenderViewImplParams* params) { 689 void RenderViewImpl::Initialize(
691 routing_id_ = params->routing_id; 690 const ViewMsg_New_Params& params,
692 surface_id_ = params->surface_id; 691 bool was_created_by_renderer) {
693 if (params->opener_id != MSG_ROUTING_NONE && params->is_renderer_created) 692 routing_id_ = params.view_id;
694 opener_id_ = params->opener_id; 693 surface_id_ = params.surface_id;
694 if (params.opener_route_id != MSG_ROUTING_NONE && was_created_by_renderer)
695 opener_id_ = params.opener_route_id;
695 696
696 // Ensure we start with a valid next_page_id_ from the browser. 697 // Ensure we start with a valid next_page_id_ from the browser.
697 DCHECK_GE(next_page_id_, 0); 698 DCHECK_GE(next_page_id_, 0);
698 699
699 main_render_frame_.reset(RenderFrameImpl::Create( 700 main_render_frame_.reset(RenderFrameImpl::Create(
700 this, params->main_frame_routing_id)); 701 this, params.main_frame_routing_id));
701 // The main frame WebLocalFrame object is closed by 702 // The main frame WebLocalFrame object is closed by
702 // RenderFrameImpl::frameDetached(). 703 // RenderFrameImpl::frameDetached().
703 WebLocalFrame* web_frame = WebLocalFrame::create(main_render_frame_.get()); 704 WebLocalFrame* web_frame = WebLocalFrame::create(main_render_frame_.get());
704 main_render_frame_->SetWebFrame(web_frame); 705 main_render_frame_->SetWebFrame(web_frame);
705 706
706 webwidget_ = WebView::create(this); 707 webwidget_ = WebView::create(this);
707 webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_)); 708 webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_));
708 709
709 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 710 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
710 711
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 !command_line.HasSwitch(switches::kDisableThreadedScrolling)); 755 !command_line.HasSwitch(switches::kDisableThreadedScrolling));
755 webview()->settings()->setRootLayerScrolls( 756 webview()->settings()->setRootLayerScrolls(
756 command_line.HasSwitch(switches::kRootLayerScrolls)); 757 command_line.HasSwitch(switches::kRootLayerScrolls));
757 758
758 ApplyWebPreferences(webkit_preferences_, webview()); 759 ApplyWebPreferences(webkit_preferences_, webview());
759 760
760 webview()->settings()->setAllowConnectingInsecureWebSocket( 761 webview()->settings()->setAllowConnectingInsecureWebSocket(
761 command_line.HasSwitch(switches::kAllowInsecureWebSocketFromHttpsOrigin)); 762 command_line.HasSwitch(switches::kAllowInsecureWebSocketFromHttpsOrigin));
762 763
763 RenderFrameProxy* proxy = NULL; 764 RenderFrameProxy* proxy = NULL;
764 if (params->proxy_routing_id != MSG_ROUTING_NONE) { 765 if (params.proxy_routing_id != MSG_ROUTING_NONE) {
765 CHECK(params->swapped_out); 766 CHECK(params.swapped_out);
766 proxy = RenderFrameProxy::CreateProxyToReplaceFrame( 767 proxy = RenderFrameProxy::CreateProxyToReplaceFrame(
767 main_render_frame_.get(), params->proxy_routing_id); 768 main_render_frame_.get(), params.proxy_routing_id);
768 main_render_frame_->set_render_frame_proxy(proxy); 769 main_render_frame_->set_render_frame_proxy(proxy);
769 } 770 }
770 771
771 // In --site-per-process, just use the WebRemoteFrame as the main frame. 772 // In --site-per-process, just use the WebRemoteFrame as the main frame.
772 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kSitePerProcess) && 773 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kSitePerProcess) &&
773 proxy) { 774 proxy) {
774 webview()->setMainFrame(proxy->web_frame()); 775 webview()->setMainFrame(proxy->web_frame());
775 } else { 776 } else {
776 webview()->setMainFrame(main_render_frame_->GetWebFrame()); 777 webview()->setMainFrame(main_render_frame_->GetWebFrame());
777 } 778 }
778 main_render_frame_->Initialize(); 779 main_render_frame_->Initialize();
779 780
780 if (switches::IsTouchDragDropEnabled()) 781 if (switches::IsTouchDragDropEnabled())
781 webview()->settings()->setTouchDragDropEnabled(true); 782 webview()->settings()->setTouchDragDropEnabled(true);
782 783
783 if (switches::IsTouchEditingEnabled()) 784 if (switches::IsTouchEditingEnabled())
784 webview()->settings()->setTouchEditingEnabled(true); 785 webview()->settings()->setTouchEditingEnabled(true);
785 786
786 if (!params->frame_name.empty()) 787 if (!params.frame_name.empty())
787 webview()->mainFrame()->setName(params->frame_name); 788 webview()->mainFrame()->setName(params.frame_name);
788 789
789 // TODO(davidben): Move this state from Blink into content. 790 // TODO(davidben): Move this state from Blink into content.
790 if (params->window_was_created_with_opener) 791 if (params.window_was_created_with_opener)
791 webview()->setOpenedByDOM(); 792 webview()->setOpenedByDOM();
792 793
793 OnSetRendererPrefs(params->renderer_prefs); 794 OnSetRendererPrefs(params.renderer_preferences);
794 795
795 if (!params->enable_auto_resize) { 796 if (!params.enable_auto_resize) {
796 OnResize(params->initial_size); 797 OnResize(params.initial_size);
797 } else { 798 } else {
798 OnEnableAutoResize(params->min_size, params->max_size); 799 OnEnableAutoResize(params.min_size, params.max_size);
799 } 800 }
800 801
801 new MHTMLGenerator(this); 802 new MHTMLGenerator(this);
802 #if defined(OS_MACOSX) 803 #if defined(OS_MACOSX)
803 new TextInputClientObserver(this); 804 new TextInputClientObserver(this);
804 #endif // defined(OS_MACOSX) 805 #endif // defined(OS_MACOSX)
805 806
806 // The next group of objects all implement RenderViewObserver, so are deleted 807 // The next group of objects all implement RenderViewObserver, so are deleted
807 // along with the RenderView automatically. 808 // along with the RenderView automatically.
808 devtools_agent_ = new DevToolsAgent(this); 809 devtools_agent_ = new DevToolsAgent(this);
(...skipping 10 matching lines...) Expand all
819 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION; 820 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION;
820 if (command_line.HasSwitch(switches::kStatsCollectionController)) 821 if (command_line.HasSwitch(switches::kStatsCollectionController))
821 enabled_bindings_ |= BINDINGS_POLICY_STATS_COLLECTION; 822 enabled_bindings_ |= BINDINGS_POLICY_STATS_COLLECTION;
822 823
823 ProcessViewLayoutFlags(command_line); 824 ProcessViewLayoutFlags(command_line);
824 825
825 GetContentClient()->renderer()->RenderViewCreated(this); 826 GetContentClient()->renderer()->RenderViewCreated(this);
826 827
827 // If we have an opener_id but we weren't created by a renderer, then 828 // If we have an opener_id but we weren't created by a renderer, then
828 // it's the browser asking us to set our opener to another RenderView. 829 // it's the browser asking us to set our opener to another RenderView.
829 if (params->opener_id != MSG_ROUTING_NONE && !params->is_renderer_created) { 830 if (params.opener_route_id != MSG_ROUTING_NONE && !was_created_by_renderer) {
830 RenderViewImpl* opener_view = FromRoutingID(params->opener_id); 831 RenderViewImpl* opener_view = FromRoutingID(params.opener_route_id);
831 if (opener_view) 832 if (opener_view)
832 webview()->mainFrame()->setOpener(opener_view->webview()->mainFrame()); 833 webview()->mainFrame()->setOpener(opener_view->webview()->mainFrame());
833 } 834 }
834 835
835 // If we are initially swapped out, navigate to kSwappedOutURL. 836 // If we are initially swapped out, navigate to kSwappedOutURL.
836 // This ensures we are in a unique origin that others cannot script. 837 // This ensures we are in a unique origin that others cannot script.
837 if (is_swapped_out_ && webview()->mainFrame()->isWebLocalFrame()) 838 if (is_swapped_out_ && webview()->mainFrame()->isWebLocalFrame())
838 main_render_frame_->NavigateToSwappedOutURL(); 839 main_render_frame_->NavigateToSwappedOutURL();
839 } 840 }
840 841
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
1136 1137
1137 settings->setPinchOverlayScrollbarThickness( 1138 settings->setPinchOverlayScrollbarThickness(
1138 prefs.pinch_overlay_scrollbar_thickness); 1139 prefs.pinch_overlay_scrollbar_thickness);
1139 settings->setRubberBandingOnCompositorThread( 1140 settings->setRubberBandingOnCompositorThread(
1140 prefs.rubber_banding_on_compositor_thread); 1141 prefs.rubber_banding_on_compositor_thread);
1141 settings->setUseSolidColorScrollbars(prefs.use_solid_color_scrollbars); 1142 settings->setUseSolidColorScrollbars(prefs.use_solid_color_scrollbars);
1142 } 1143 }
1143 1144
1144 /*static*/ 1145 /*static*/
1145 RenderViewImpl* RenderViewImpl::Create( 1146 RenderViewImpl* RenderViewImpl::Create(
1146 int32 opener_id, 1147 const ViewMsg_New_Params& params,
1147 bool window_was_created_with_opener, 1148 bool was_created_by_renderer) {
1148 const RendererPreferences& renderer_prefs, 1149 DCHECK(params.view_id != MSG_ROUTING_NONE);
1149 const WebPreferences& webkit_prefs,
1150 int32 routing_id,
1151 int32 main_frame_routing_id,
1152 int32 surface_id,
1153 int64 session_storage_namespace_id,
1154 const base::string16& frame_name,
1155 bool is_renderer_created,
1156 bool swapped_out,
1157 int32 proxy_routing_id,
1158 bool hidden,
1159 bool never_visible,
1160 int32 next_page_id,
1161 const ViewMsg_Resize_Params& initial_size,
1162 bool enable_auto_resize,
1163 const gfx::Size& min_size,
1164 const gfx::Size& max_size) {
1165 DCHECK(routing_id != MSG_ROUTING_NONE);
1166 RenderViewImplParams params(opener_id,
1167 window_was_created_with_opener,
1168 renderer_prefs,
1169 webkit_prefs,
1170 routing_id,
1171 main_frame_routing_id,
1172 surface_id,
1173 session_storage_namespace_id,
1174 frame_name,
1175 is_renderer_created,
1176 swapped_out,
1177 proxy_routing_id,
1178 hidden,
1179 never_visible,
1180 next_page_id,
1181 initial_size,
1182 enable_auto_resize,
1183 min_size,
1184 max_size);
1185 RenderViewImpl* render_view = NULL; 1150 RenderViewImpl* render_view = NULL;
1186 if (g_create_render_view_impl) 1151 if (g_create_render_view_impl)
1187 render_view = g_create_render_view_impl(&params); 1152 render_view = g_create_render_view_impl(params);
1188 else 1153 else
1189 render_view = new RenderViewImpl(&params); 1154 render_view = new RenderViewImpl(params);
1190 1155
1191 render_view->Initialize(&params); 1156 render_view->Initialize(params, was_created_by_renderer);
1192 return render_view; 1157 return render_view;
1193 } 1158 }
1194 1159
1195 // static 1160 // static
1196 void RenderViewImpl::InstallCreateHook( 1161 void RenderViewImpl::InstallCreateHook(
1197 RenderViewImpl* (*create_render_view_impl)(RenderViewImplParams*)) { 1162 RenderViewImpl* (*create_render_view_impl)(const ViewMsg_New_Params&)) {
1198 CHECK(!g_create_render_view_impl); 1163 CHECK(!g_create_render_view_impl);
1199 g_create_render_view_impl = create_render_view_impl; 1164 g_create_render_view_impl = create_render_view_impl;
1200 } 1165 }
1201 1166
1202 void RenderViewImpl::AddObserver(RenderViewObserver* observer) { 1167 void RenderViewImpl::AddObserver(RenderViewObserver* observer) {
1203 observers_.AddObserver(observer); 1168 observers_.AddObserver(observer);
1204 } 1169 }
1205 1170
1206 void RenderViewImpl::RemoveObserver(RenderViewObserver* observer) { 1171 void RenderViewImpl::RemoveObserver(RenderViewObserver* observer) {
1207 observer->RenderViewGone(); 1172 observer->RenderViewGone();
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after
1695 bool never_visible = false; 1660 bool never_visible = false;
1696 1661
1697 ViewMsg_Resize_Params initial_size = ViewMsg_Resize_Params(); 1662 ViewMsg_Resize_Params initial_size = ViewMsg_Resize_Params();
1698 initial_size.screen_info = screen_info_; 1663 initial_size.screen_info = screen_info_;
1699 1664
1700 // The initial hidden state for the RenderViewImpl here has to match what the 1665 // The initial hidden state for the RenderViewImpl here has to match what the
1701 // browser will eventually decide for the given disposition. Since we have to 1666 // browser will eventually decide for the given disposition. Since we have to
1702 // return from this call synchronously, we just have to make our best guess 1667 // return from this call synchronously, we just have to make our best guess
1703 // and rely on the browser sending a WasHidden / WasShown message if it 1668 // and rely on the browser sending a WasHidden / WasShown message if it
1704 // disagrees. 1669 // disagrees.
1705 RenderViewImpl* view = RenderViewImpl::Create( 1670 ViewMsg_New_Params view_params;
1706 routing_id_, 1671 view_params.opener_route_id = routing_id_;
1707 true, // window_was_created_with_opener 1672 view_params.window_was_created_with_opener = true;
1708 renderer_preferences_, 1673 view_params.renderer_preferences = renderer_preferences_;
1709 webkit_preferences_, 1674 view_params.web_preferences = webkit_preferences_;
1710 routing_id, 1675 view_params.view_id = routing_id;
1711 main_frame_routing_id, 1676 view_params.main_frame_routing_id = main_frame_routing_id;
1712 surface_id, 1677 view_params.surface_id = surface_id;
1713 cloned_session_storage_namespace_id, 1678 view_params.session_storage_namespace_id =
1714 base::string16(), // WebCore will take care of setting the correct name. 1679 cloned_session_storage_namespace_id;
1715 true, // is_renderer_created 1680 // WebCore will take care of setting the correct name.
1716 false, // swapped_out 1681 view_params.frame_name = base::string16();
1717 MSG_ROUTING_NONE, // proxy_routing_id 1682 view_params.swapped_out = false;
1718 params.disposition == NEW_BACKGROUND_TAB, // hidden 1683 view_params.proxy_routing_id = MSG_ROUTING_NONE;
1719 never_visible, 1684 view_params.hidden = (params.disposition == NEW_BACKGROUND_TAB);
1720 1, // next_page_id 1685 view_params.never_visible = never_visible;
1721 initial_size, 1686 view_params.next_page_id = 1;
1722 false, // enable_auto_resize 1687 view_params.initial_size = initial_size;
1723 gfx::Size(), // min_size 1688 view_params.enable_auto_resize = false;
1724 gfx::Size() // max_size 1689 view_params.min_size = gfx::Size();
1725 ); 1690 view_params.max_size = gfx::Size();
1691
1692 RenderViewImpl* view = RenderViewImpl::Create(view_params, true);
1726 view->opened_by_user_gesture_ = params.user_gesture; 1693 view->opened_by_user_gesture_ = params.user_gesture;
1727 1694
1728 // Record whether the creator frame is trying to suppress the opener field. 1695 // Record whether the creator frame is trying to suppress the opener field.
1729 view->opener_suppressed_ = params.opener_suppressed; 1696 view->opener_suppressed_ = params.opener_suppressed;
1730 1697
1731 return view->webview(); 1698 return view->webview();
1732 } 1699 }
1733 1700
1734 WebWidget* RenderViewImpl::createPopupMenu(blink::WebPopupType popup_type) { 1701 WebWidget* RenderViewImpl::createPopupMenu(blink::WebPopupType popup_type) {
1735 RenderWidget* widget = 1702 RenderWidget* widget =
(...skipping 2493 matching lines...) Expand 10 before | Expand all | Expand 10 after
4229 std::vector<gfx::Size> sizes; 4196 std::vector<gfx::Size> sizes;
4230 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes); 4197 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes);
4231 if (!url.isEmpty()) 4198 if (!url.isEmpty())
4232 urls.push_back( 4199 urls.push_back(
4233 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes)); 4200 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes));
4234 } 4201 }
4235 SendUpdateFaviconURL(urls); 4202 SendUpdateFaviconURL(urls);
4236 } 4203 }
4237 4204
4238 } // namespace content 4205 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/renderer/render_view_impl_params.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698