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

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

Issue 212703005: Preserve Page::openedByDOM state across process swaps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Tie opened_by_dom with opener. Created 6 years, 8 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 | Annotate | Revision Log
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 774 matching lines...) Expand 10 before | Expand all | Expand 10 after
785 785
786 if (switches::IsTouchDragDropEnabled()) 786 if (switches::IsTouchDragDropEnabled())
787 webview()->settings()->setTouchDragDropEnabled(true); 787 webview()->settings()->setTouchDragDropEnabled(true);
788 788
789 if (switches::IsTouchEditingEnabled()) 789 if (switches::IsTouchEditingEnabled())
790 webview()->settings()->setTouchEditingEnabled(true); 790 webview()->settings()->setTouchEditingEnabled(true);
791 791
792 if (!params->frame_name.empty()) 792 if (!params->frame_name.empty())
793 webview()->mainFrame()->setName(params->frame_name); 793 webview()->mainFrame()->setName(params->frame_name);
794 794
795 if (params->created_with_opener)
796 webview()->setOpenedByDOM();
Charlie Reis 2014/04/05 01:41:25 Let's put a TODO to move this state from Blink int
davidben 2014/04/07 17:57:52 Done.
797
795 OnSetRendererPrefs(params->renderer_prefs); 798 OnSetRendererPrefs(params->renderer_prefs);
796 799
797 #if defined(ENABLE_WEBRTC) 800 #if defined(ENABLE_WEBRTC)
798 if (!media_stream_dispatcher_) 801 if (!media_stream_dispatcher_)
799 media_stream_dispatcher_ = new MediaStreamDispatcher(this); 802 media_stream_dispatcher_ = new MediaStreamDispatcher(this);
800 #endif 803 #endif
801 804
802 new MHTMLGenerator(this); 805 new MHTMLGenerator(this);
803 #if defined(OS_MACOSX) 806 #if defined(OS_MACOSX)
804 new TextInputClientObserver(this); 807 new TextInputClientObserver(this);
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
918 const RendererPreferences& renderer_prefs, 921 const RendererPreferences& renderer_prefs,
919 const WebPreferences& webkit_prefs, 922 const WebPreferences& webkit_prefs,
920 int32 routing_id, 923 int32 routing_id,
921 int32 main_frame_routing_id, 924 int32 main_frame_routing_id,
922 int32 surface_id, 925 int32 surface_id,
923 int64 session_storage_namespace_id, 926 int64 session_storage_namespace_id,
924 const base::string16& frame_name, 927 const base::string16& frame_name,
925 bool is_renderer_created, 928 bool is_renderer_created,
926 bool swapped_out, 929 bool swapped_out,
927 bool hidden, 930 bool hidden,
931 bool created_with_opener,
928 int32 next_page_id, 932 int32 next_page_id,
929 const blink::WebScreenInfo& screen_info, 933 const blink::WebScreenInfo& screen_info,
930 AccessibilityMode accessibility_mode) { 934 AccessibilityMode accessibility_mode) {
931 DCHECK(routing_id != MSG_ROUTING_NONE); 935 DCHECK(routing_id != MSG_ROUTING_NONE);
932 RenderViewImplParams params(opener_id, 936 RenderViewImplParams params(opener_id,
933 renderer_prefs, 937 renderer_prefs,
934 webkit_prefs, 938 webkit_prefs,
935 routing_id, 939 routing_id,
936 main_frame_routing_id, 940 main_frame_routing_id,
937 surface_id, 941 surface_id,
938 session_storage_namespace_id, 942 session_storage_namespace_id,
939 frame_name, 943 frame_name,
940 is_renderer_created, 944 is_renderer_created,
941 swapped_out, 945 swapped_out,
942 hidden, 946 hidden,
947 created_with_opener,
943 next_page_id, 948 next_page_id,
944 screen_info, 949 screen_info,
945 accessibility_mode); 950 accessibility_mode);
946 RenderViewImpl* render_view = NULL; 951 RenderViewImpl* render_view = NULL;
947 if (g_create_render_view_impl) 952 if (g_create_render_view_impl)
948 render_view = g_create_render_view_impl(&params); 953 render_view = g_create_render_view_impl(&params);
949 else 954 else
950 render_view = new RenderViewImpl(&params); 955 render_view = new RenderViewImpl(&params);
951 render_view->Initialize(&params); 956 render_view->Initialize(&params);
952 return render_view; 957 return render_view;
(...skipping 614 matching lines...) Expand 10 before | Expand all | Expand 10 after
1567 renderer_preferences_, 1572 renderer_preferences_,
1568 transferred_preferences, 1573 transferred_preferences,
1569 routing_id, 1574 routing_id,
1570 main_frame_routing_id, 1575 main_frame_routing_id,
1571 surface_id, 1576 surface_id,
1572 cloned_session_storage_namespace_id, 1577 cloned_session_storage_namespace_id,
1573 base::string16(), // WebCore will take care of setting the correct name. 1578 base::string16(), // WebCore will take care of setting the correct name.
1574 true, // is_renderer_created 1579 true, // is_renderer_created
1575 false, // swapped_out 1580 false, // swapped_out
1576 params.disposition == NEW_BACKGROUND_TAB, // hidden 1581 params.disposition == NEW_BACKGROUND_TAB, // hidden
1582 true, // created_with_opener
1577 1, // next_page_id 1583 1, // next_page_id
1578 screen_info_, 1584 screen_info_,
1579 accessibility_mode_); 1585 accessibility_mode_);
1580 view->opened_by_user_gesture_ = params.user_gesture; 1586 view->opened_by_user_gesture_ = params.user_gesture;
1581 1587
1582 // Record whether the creator frame is trying to suppress the opener field. 1588 // Record whether the creator frame is trying to suppress the opener field.
1583 view->opener_suppressed_ = params.opener_suppressed; 1589 view->opener_suppressed_ = params.opener_suppressed;
davidben 2014/04/04 19:37:41 Slightly puzzled by this line actually. Judging by
Charlie Reis 2014/04/05 01:41:25 Hmm, good catch but let's investigate that separat
1584 1590
1585 return view->webview(); 1591 return view->webview();
1586 } 1592 }
1587 1593
1588 WebWidget* RenderViewImpl::createPopupMenu(blink::WebPopupType popup_type) { 1594 WebWidget* RenderViewImpl::createPopupMenu(blink::WebPopupType popup_type) {
1589 RenderWidget* widget = 1595 RenderWidget* widget =
1590 RenderWidget::Create(routing_id_, popup_type, screen_info_); 1596 RenderWidget::Create(routing_id_, popup_type, screen_info_);
1591 if (!widget) 1597 if (!widget)
1592 return NULL; 1598 return NULL;
1593 if (screen_metrics_emulator_) { 1599 if (screen_metrics_emulator_) {
(...skipping 3233 matching lines...) Expand 10 before | Expand all | Expand 10 after
4827 std::vector<gfx::Size> sizes(icon_urls[i].sizes().size()); 4833 std::vector<gfx::Size> sizes(icon_urls[i].sizes().size());
4828 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes); 4834 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes);
4829 if (!url.isEmpty()) 4835 if (!url.isEmpty())
4830 urls.push_back( 4836 urls.push_back(
4831 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes)); 4837 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes));
4832 } 4838 }
4833 SendUpdateFaviconURL(urls); 4839 SendUpdateFaviconURL(urls);
4834 } 4840 }
4835 4841
4836 } // namespace content 4842 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698