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

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

Issue 273423004: Migrate accessibility from RenderView to RenderFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Get rid of ForEachFrameAndPendingFrame Created 6 years, 6 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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 #include "content/public/common/ssl_status.h" 60 #include "content/public/common/ssl_status.h"
61 #include "content/public/common/three_d_api_types.h" 61 #include "content/public/common/three_d_api_types.h"
62 #include "content/public/common/url_constants.h" 62 #include "content/public/common/url_constants.h"
63 #include "content/public/common/url_utils.h" 63 #include "content/public/common/url_utils.h"
64 #include "content/public/renderer/content_renderer_client.h" 64 #include "content/public/renderer/content_renderer_client.h"
65 #include "content/public/renderer/document_state.h" 65 #include "content/public/renderer/document_state.h"
66 #include "content/public/renderer/navigation_state.h" 66 #include "content/public/renderer/navigation_state.h"
67 #include "content/public/renderer/render_view_observer.h" 67 #include "content/public/renderer/render_view_observer.h"
68 #include "content/public/renderer/render_view_visitor.h" 68 #include "content/public/renderer/render_view_visitor.h"
69 #include "content/public/renderer/web_preferences.h" 69 #include "content/public/renderer/web_preferences.h"
70 #include "content/renderer/accessibility/renderer_accessibility.h"
71 #include "content/renderer/accessibility/renderer_accessibility_complete.h"
72 #include "content/renderer/accessibility/renderer_accessibility_focus_only.h"
73 #include "content/renderer/browser_plugin/browser_plugin.h" 70 #include "content/renderer/browser_plugin/browser_plugin.h"
74 #include "content/renderer/browser_plugin/browser_plugin_manager.h" 71 #include "content/renderer/browser_plugin/browser_plugin_manager.h"
75 #include "content/renderer/browser_plugin/browser_plugin_manager_impl.h" 72 #include "content/renderer/browser_plugin/browser_plugin_manager_impl.h"
76 #include "content/renderer/devtools/devtools_agent.h" 73 #include "content/renderer/devtools/devtools_agent.h"
77 #include "content/renderer/disambiguation_popup_helper.h" 74 #include "content/renderer/disambiguation_popup_helper.h"
78 #include "content/renderer/dom_storage/webstoragenamespace_impl.h" 75 #include "content/renderer/dom_storage/webstoragenamespace_impl.h"
79 #include "content/renderer/drop_data_builder.h" 76 #include "content/renderer/drop_data_builder.h"
80 #include "content/renderer/external_popup_menu.h" 77 #include "content/renderer/external_popup_menu.h"
81 #include "content/renderer/geolocation_dispatcher.h" 78 #include "content/renderer/geolocation_dispatcher.h"
82 #include "content/renderer/gpu/render_widget_compositor.h" 79 #include "content/renderer/gpu/render_widget_compositor.h"
(...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after
648 cached_is_main_frame_pinned_to_left_(false), 645 cached_is_main_frame_pinned_to_left_(false),
649 cached_is_main_frame_pinned_to_right_(false), 646 cached_is_main_frame_pinned_to_right_(false),
650 has_scrolled_focused_editable_node_into_rect_(false), 647 has_scrolled_focused_editable_node_into_rect_(false),
651 push_messaging_dispatcher_(NULL), 648 push_messaging_dispatcher_(NULL),
652 geolocation_dispatcher_(NULL), 649 geolocation_dispatcher_(NULL),
653 speech_recognition_dispatcher_(NULL), 650 speech_recognition_dispatcher_(NULL),
654 media_stream_dispatcher_(NULL), 651 media_stream_dispatcher_(NULL),
655 browser_plugin_manager_(NULL), 652 browser_plugin_manager_(NULL),
656 midi_dispatcher_(NULL), 653 midi_dispatcher_(NULL),
657 devtools_agent_(NULL), 654 devtools_agent_(NULL),
658 accessibility_mode_(AccessibilityModeOff),
659 renderer_accessibility_(NULL),
660 mouse_lock_dispatcher_(NULL), 655 mouse_lock_dispatcher_(NULL),
661 #if defined(OS_ANDROID) 656 #if defined(OS_ANDROID)
662 expected_content_intent_id_(0), 657 expected_content_intent_id_(0),
663 #endif 658 #endif
664 #if defined(OS_WIN) 659 #if defined(OS_WIN)
665 focused_plugin_id_(-1), 660 focused_plugin_id_(-1),
666 #endif 661 #endif
667 #if defined(ENABLE_PLUGINS) 662 #if defined(ENABLE_PLUGINS)
668 plugin_find_handler_(NULL), 663 plugin_find_handler_(NULL),
669 focused_pepper_plugin_(NULL), 664 focused_pepper_plugin_(NULL),
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
789 // The next group of objects all implement RenderViewObserver, so are deleted 784 // The next group of objects all implement RenderViewObserver, so are deleted
790 // along with the RenderView automatically. 785 // along with the RenderView automatically.
791 devtools_agent_ = new DevToolsAgent(this); 786 devtools_agent_ = new DevToolsAgent(this);
792 if (RenderWidgetCompositor* rwc = compositor()) { 787 if (RenderWidgetCompositor* rwc = compositor()) {
793 webview()->devToolsAgent()->setLayerTreeId(rwc->GetLayerTreeId()); 788 webview()->devToolsAgent()->setLayerTreeId(rwc->GetLayerTreeId());
794 } 789 }
795 mouse_lock_dispatcher_ = new RenderViewMouseLockDispatcher(this); 790 mouse_lock_dispatcher_ = new RenderViewMouseLockDispatcher(this);
796 791
797 history_controller_.reset(new HistoryController(this)); 792 history_controller_.reset(new HistoryController(this));
798 793
799 // Create renderer_accessibility_ if needed.
800 OnSetAccessibilityMode(params->accessibility_mode);
801
802 new IdleUserDetector(this); 794 new IdleUserDetector(this);
803 795
804 if (command_line.HasSwitch(switches::kDomAutomationController)) 796 if (command_line.HasSwitch(switches::kDomAutomationController))
805 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION; 797 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION;
806 if (command_line.HasSwitch(switches::kStatsCollectionController)) 798 if (command_line.HasSwitch(switches::kStatsCollectionController))
807 enabled_bindings_ |= BINDINGS_POLICY_STATS_COLLECTION; 799 enabled_bindings_ |= BINDINGS_POLICY_STATS_COLLECTION;
808 800
809 ProcessViewLayoutFlags(command_line); 801 ProcessViewLayoutFlags(command_line);
810 802
811 GetContentClient()->renderer()->RenderViewCreated(this); 803 GetContentClient()->renderer()->RenderViewCreated(this);
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
906 int32 main_frame_routing_id, 898 int32 main_frame_routing_id,
907 int32 surface_id, 899 int32 surface_id,
908 int64 session_storage_namespace_id, 900 int64 session_storage_namespace_id,
909 const base::string16& frame_name, 901 const base::string16& frame_name,
910 bool is_renderer_created, 902 bool is_renderer_created,
911 bool swapped_out, 903 bool swapped_out,
912 int32 proxy_routing_id, 904 int32 proxy_routing_id,
913 bool hidden, 905 bool hidden,
914 bool never_visible, 906 bool never_visible,
915 int32 next_page_id, 907 int32 next_page_id,
916 const blink::WebScreenInfo& screen_info, 908 const blink::WebScreenInfo& screen_info) {
917 AccessibilityMode accessibility_mode) {
918 DCHECK(routing_id != MSG_ROUTING_NONE); 909 DCHECK(routing_id != MSG_ROUTING_NONE);
919 RenderViewImplParams params(opener_id, 910 RenderViewImplParams params(opener_id,
920 window_was_created_with_opener, 911 window_was_created_with_opener,
921 renderer_prefs, 912 renderer_prefs,
922 webkit_prefs, 913 webkit_prefs,
923 routing_id, 914 routing_id,
924 main_frame_routing_id, 915 main_frame_routing_id,
925 surface_id, 916 surface_id,
926 session_storage_namespace_id, 917 session_storage_namespace_id,
927 frame_name, 918 frame_name,
928 is_renderer_created, 919 is_renderer_created,
929 swapped_out, 920 swapped_out,
930 proxy_routing_id, 921 proxy_routing_id,
931 hidden, 922 hidden,
932 never_visible, 923 never_visible,
933 next_page_id, 924 next_page_id,
934 screen_info, 925 screen_info);
935 accessibility_mode);
936 RenderViewImpl* render_view = NULL; 926 RenderViewImpl* render_view = NULL;
937 if (g_create_render_view_impl) 927 if (g_create_render_view_impl)
938 render_view = g_create_render_view_impl(&params); 928 render_view = g_create_render_view_impl(&params);
939 else 929 else
940 render_view = new RenderViewImpl(&params); 930 render_view = new RenderViewImpl(&params);
941 931
942 render_view->Initialize(&params); 932 render_view->Initialize(&params);
943 return render_view; 933 return render_view;
944 } 934 }
945 935
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
1113 IPC_MESSAGE_HANDLER(ViewMsg_GetAllSavableResourceLinksForCurrentPage, 1103 IPC_MESSAGE_HANDLER(ViewMsg_GetAllSavableResourceLinksForCurrentPage,
1114 OnGetAllSavableResourceLinksForCurrentPage) 1104 OnGetAllSavableResourceLinksForCurrentPage)
1115 IPC_MESSAGE_HANDLER( 1105 IPC_MESSAGE_HANDLER(
1116 ViewMsg_GetSerializedHtmlDataForCurrentPageWithLocalLinks, 1106 ViewMsg_GetSerializedHtmlDataForCurrentPageWithLocalLinks,
1117 OnGetSerializedHtmlDataForCurrentPageWithLocalLinks) 1107 OnGetSerializedHtmlDataForCurrentPageWithLocalLinks)
1118 IPC_MESSAGE_HANDLER(ViewMsg_ShowContextMenu, OnShowContextMenu) 1108 IPC_MESSAGE_HANDLER(ViewMsg_ShowContextMenu, OnShowContextMenu)
1119 // TODO(viettrungluu): Move to a separate message filter. 1109 // TODO(viettrungluu): Move to a separate message filter.
1120 IPC_MESSAGE_HANDLER(ViewMsg_SetHistoryLengthAndPrune, 1110 IPC_MESSAGE_HANDLER(ViewMsg_SetHistoryLengthAndPrune,
1121 OnSetHistoryLengthAndPrune) 1111 OnSetHistoryLengthAndPrune)
1122 IPC_MESSAGE_HANDLER(ViewMsg_EnableViewSourceMode, OnEnableViewSourceMode) 1112 IPC_MESSAGE_HANDLER(ViewMsg_EnableViewSourceMode, OnEnableViewSourceMode)
1123 IPC_MESSAGE_HANDLER(ViewMsg_SetAccessibilityMode, OnSetAccessibilityMode)
1124 IPC_MESSAGE_HANDLER(ViewMsg_DisownOpener, OnDisownOpener) 1113 IPC_MESSAGE_HANDLER(ViewMsg_DisownOpener, OnDisownOpener)
1125 IPC_MESSAGE_HANDLER(ViewMsg_ReleaseDisambiguationPopupBitmap, 1114 IPC_MESSAGE_HANDLER(ViewMsg_ReleaseDisambiguationPopupBitmap,
1126 OnReleaseDisambiguationPopupBitmap) 1115 OnReleaseDisambiguationPopupBitmap)
1127 IPC_MESSAGE_HANDLER(ViewMsg_WindowSnapshotCompleted, 1116 IPC_MESSAGE_HANDLER(ViewMsg_WindowSnapshotCompleted,
1128 OnWindowSnapshotCompleted) 1117 OnWindowSnapshotCompleted)
1129 IPC_MESSAGE_HANDLER(ViewMsg_SelectWordAroundCaret, OnSelectWordAroundCaret) 1118 IPC_MESSAGE_HANDLER(ViewMsg_SelectWordAroundCaret, OnSelectWordAroundCaret)
1130 #if defined(OS_ANDROID) 1119 #if defined(OS_ANDROID)
1131 IPC_MESSAGE_HANDLER(InputMsg_ActivateNearestFindResult, 1120 IPC_MESSAGE_HANDLER(InputMsg_ActivateNearestFindResult,
1132 OnActivateNearestFindResult) 1121 OnActivateNearestFindResult)
1133 IPC_MESSAGE_HANDLER(ViewMsg_FindMatchRects, OnFindMatchRects) 1122 IPC_MESSAGE_HANDLER(ViewMsg_FindMatchRects, OnFindMatchRects)
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
1445 main_frame_routing_id, 1434 main_frame_routing_id,
1446 surface_id, 1435 surface_id,
1447 cloned_session_storage_namespace_id, 1436 cloned_session_storage_namespace_id,
1448 base::string16(), // WebCore will take care of setting the correct name. 1437 base::string16(), // WebCore will take care of setting the correct name.
1449 true, // is_renderer_created 1438 true, // is_renderer_created
1450 false, // swapped_out 1439 false, // swapped_out
1451 MSG_ROUTING_NONE, // proxy_routing_id 1440 MSG_ROUTING_NONE, // proxy_routing_id
1452 params.disposition == NEW_BACKGROUND_TAB, // hidden 1441 params.disposition == NEW_BACKGROUND_TAB, // hidden
1453 never_visible, 1442 never_visible,
1454 1, // next_page_id 1443 1, // next_page_id
1455 screen_info_, 1444 screen_info_);
1456 accessibility_mode_);
1457 view->opened_by_user_gesture_ = params.user_gesture; 1445 view->opened_by_user_gesture_ = params.user_gesture;
1458 1446
1459 // Record whether the creator frame is trying to suppress the opener field. 1447 // Record whether the creator frame is trying to suppress the opener field.
1460 view->opener_suppressed_ = params.opener_suppressed; 1448 view->opener_suppressed_ = params.opener_suppressed;
1461 1449
1462 return view->webview(); 1450 return view->webview();
1463 } 1451 }
1464 1452
1465 WebWidget* RenderViewImpl::createPopupMenu(blink::WebPopupType popup_type) { 1453 WebWidget* RenderViewImpl::createPopupMenu(blink::WebPopupType popup_type) {
1466 RenderWidget* widget = 1454 RenderWidget* widget =
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
1729 void RenderViewImpl::focusPrevious() { 1717 void RenderViewImpl::focusPrevious() {
1730 Send(new ViewHostMsg_TakeFocus(routing_id_, true)); 1718 Send(new ViewHostMsg_TakeFocus(routing_id_, true));
1731 } 1719 }
1732 1720
1733 void RenderViewImpl::focusedNodeChanged(const WebNode& node) { 1721 void RenderViewImpl::focusedNodeChanged(const WebNode& node) {
1734 has_scrolled_focused_editable_node_into_rect_ = false; 1722 has_scrolled_focused_editable_node_into_rect_ = false;
1735 1723
1736 Send(new ViewHostMsg_FocusedNodeChanged(routing_id_, IsEditableNode(node))); 1724 Send(new ViewHostMsg_FocusedNodeChanged(routing_id_, IsEditableNode(node)));
1737 1725
1738 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FocusedNodeChanged(node)); 1726 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FocusedNodeChanged(node));
1727
1728 // TODO(dmazzoni): this should be part of RenderFrameObserver.
1729 main_render_frame()->FocusedNodeChanged(node);
1739 } 1730 }
1740 1731
1741 void RenderViewImpl::numberOfWheelEventHandlersChanged(unsigned num_handlers) { 1732 void RenderViewImpl::numberOfWheelEventHandlersChanged(unsigned num_handlers) {
1742 Send(new ViewHostMsg_DidChangeNumWheelEvents(routing_id_, num_handlers)); 1733 Send(new ViewHostMsg_DidChangeNumWheelEvents(routing_id_, num_handlers));
1743 } 1734 }
1744 1735
1745 void RenderViewImpl::didUpdateLayout() { 1736 void RenderViewImpl::didUpdateLayout() {
1746 FOR_EACH_OBSERVER(RenderViewObserver, observers_, DidUpdateLayout()); 1737 FOR_EACH_OBSERVER(RenderViewObserver, observers_, DidUpdateLayout());
1747 1738
1748 // We don't always want to set up a timer, only if we've been put in that 1739 // We don't always want to set up a timer, only if we've been put in that
(...skipping 16 matching lines...) Expand all
1765 int RenderViewImpl::historyBackListCount() { 1756 int RenderViewImpl::historyBackListCount() {
1766 return history_list_offset_ < 0 ? 0 : history_list_offset_; 1757 return history_list_offset_ < 0 ? 0 : history_list_offset_;
1767 } 1758 }
1768 1759
1769 int RenderViewImpl::historyForwardListCount() { 1760 int RenderViewImpl::historyForwardListCount() {
1770 return history_list_length_ - historyBackListCount() - 1; 1761 return history_list_length_ - historyBackListCount() - 1;
1771 } 1762 }
1772 1763
1773 void RenderViewImpl::postAccessibilityEvent( 1764 void RenderViewImpl::postAccessibilityEvent(
1774 const WebAXObject& obj, blink::WebAXEvent event) { 1765 const WebAXObject& obj, blink::WebAXEvent event) {
1775 if (renderer_accessibility_) { 1766 main_render_frame()->HandleWebAccessibilityEvent(obj, event);
1776 renderer_accessibility_->HandleWebAccessibilityEvent(obj, event);
1777 }
1778 } 1767 }
1779 1768
1780 void RenderViewImpl::didUpdateInspectorSetting(const WebString& key, 1769 void RenderViewImpl::didUpdateInspectorSetting(const WebString& key,
1781 const WebString& value) { 1770 const WebString& value) {
1782 Send(new ViewHostMsg_UpdateInspectorSetting(routing_id_, 1771 Send(new ViewHostMsg_UpdateInspectorSetting(routing_id_,
1783 key.utf8(), 1772 key.utf8(),
1784 value.utf8())); 1773 value.utf8()));
1785 } 1774 }
1786 1775
1787 // blink::WebWidgetClient ---------------------------------------------------- 1776 // blink::WebWidgetClient ----------------------------------------------------
(...skipping 1373 matching lines...) Expand 10 before | Expand all | Expand 10 after
3161 webview()->clearFocusedElement(); 3150 webview()->clearFocusedElement();
3162 } 3151 }
3163 3152
3164 void RenderViewImpl::OnSetBackgroundOpaque(bool opaque) { 3153 void RenderViewImpl::OnSetBackgroundOpaque(bool opaque) {
3165 if (webview()) 3154 if (webview())
3166 webview()->setIsTransparent(!opaque); 3155 webview()->setIsTransparent(!opaque);
3167 if (compositor_) 3156 if (compositor_)
3168 compositor_->setHasTransparentBackground(!opaque); 3157 compositor_->setHasTransparentBackground(!opaque);
3169 } 3158 }
3170 3159
3171 void RenderViewImpl::OnSetAccessibilityMode(AccessibilityMode new_mode) {
3172 if (accessibility_mode_ == new_mode)
3173 return;
3174 accessibility_mode_ = new_mode;
3175 if (renderer_accessibility_) {
3176 delete renderer_accessibility_;
3177 renderer_accessibility_ = NULL;
3178 }
3179 if (accessibility_mode_ == AccessibilityModeOff)
3180 return;
3181
3182 if (accessibility_mode_ & AccessibilityModeFlagFullTree)
3183 renderer_accessibility_ = new RendererAccessibilityComplete(this);
3184 #if !defined(OS_ANDROID)
3185 else
3186 renderer_accessibility_ = new RendererAccessibilityFocusOnly(this);
3187 #endif
3188 }
3189
3190 void RenderViewImpl::OnSetActive(bool active) { 3160 void RenderViewImpl::OnSetActive(bool active) {
3191 if (webview()) 3161 if (webview())
3192 webview()->setIsActive(active); 3162 webview()->setIsActive(active);
3193 3163
3194 #if defined(ENABLE_PLUGINS) && defined(OS_MACOSX) 3164 #if defined(ENABLE_PLUGINS) && defined(OS_MACOSX)
3195 std::set<WebPluginDelegateProxy*>::iterator plugin_it; 3165 std::set<WebPluginDelegateProxy*>::iterator plugin_it;
3196 for (plugin_it = plugin_delegates_.begin(); 3166 for (plugin_it = plugin_delegates_.begin();
3197 plugin_it != plugin_delegates_.end(); ++plugin_it) { 3167 plugin_it != plugin_delegates_.end(); ++plugin_it) {
3198 (*plugin_it)->SetWindowFocus(active); 3168 (*plugin_it)->SetWindowFocus(active);
3199 } 3169 }
(...skipping 667 matching lines...) Expand 10 before | Expand all | Expand 10 after
3867 if (main_frame && main_frame->opener()) 3837 if (main_frame && main_frame->opener())
3868 main_frame->setOpener(NULL); 3838 main_frame->setOpener(NULL);
3869 } 3839 }
3870 3840
3871 #if defined(OS_ANDROID) 3841 #if defined(OS_ANDROID)
3872 bool RenderViewImpl::didTapMultipleTargets( 3842 bool RenderViewImpl::didTapMultipleTargets(
3873 const blink::WebGestureEvent& event, 3843 const blink::WebGestureEvent& event,
3874 const WebVector<WebRect>& target_rects) { 3844 const WebVector<WebRect>& target_rects) {
3875 // Never show a disambiguation popup when accessibility is enabled, 3845 // Never show a disambiguation popup when accessibility is enabled,
3876 // as this interferes with "touch exploration". 3846 // as this interferes with "touch exploration".
3877 bool matchesAccessibilityModeComplete = 3847 AccessibilityMode accessibility_mode =
3878 (accessibility_mode_ & AccessibilityModeComplete) == 3848 main_render_frame()->accessibility_mode();
3879 AccessibilityModeComplete; 3849 bool matches_accessibility_mode_complete =
3880 if (matchesAccessibilityModeComplete) 3850 (accessibility_mode & AccessibilityModeComplete) ==
3851 AccessibilityModeComplete;
3852 if (matches_accessibility_mode_complete)
3881 return false; 3853 return false;
3882 3854
3883 gfx::Rect finger_rect( 3855 gfx::Rect finger_rect(
3884 event.x - event.data.tap.width / 2, event.y - event.data.tap.height / 2, 3856 event.x - event.data.tap.width / 2, event.y - event.data.tap.height / 2,
3885 event.data.tap.width, event.data.tap.height); 3857 event.data.tap.width, event.data.tap.height);
3886 gfx::Rect zoom_rect; 3858 gfx::Rect zoom_rect;
3887 float new_total_scale = 3859 float new_total_scale =
3888 DisambiguationPopupHelper::ComputeZoomAreaAndScaleFactor( 3860 DisambiguationPopupHelper::ComputeZoomAreaAndScaleFactor(
3889 finger_rect, target_rects, GetSize(), 3861 finger_rect, target_rects, GetSize(),
3890 gfx::Rect(webview()->mainFrame()->visibleContentRect()).size(), 3862 gfx::Rect(webview()->mainFrame()->visibleContentRect()).size(),
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
4065 std::vector<gfx::Size> sizes; 4037 std::vector<gfx::Size> sizes;
4066 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes); 4038 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes);
4067 if (!url.isEmpty()) 4039 if (!url.isEmpty())
4068 urls.push_back( 4040 urls.push_back(
4069 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes)); 4041 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes));
4070 } 4042 }
4071 SendUpdateFaviconURL(urls); 4043 SendUpdateFaviconURL(urls);
4072 } 4044 }
4073 4045
4074 } // namespace content 4046 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698