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

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: Fix more compile errors Created 6 years, 7 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 566 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 cached_is_main_frame_pinned_to_left_(false), 646 cached_is_main_frame_pinned_to_left_(false),
650 cached_is_main_frame_pinned_to_right_(false), 647 cached_is_main_frame_pinned_to_right_(false),
651 has_scrolled_focused_editable_node_into_rect_(false), 648 has_scrolled_focused_editable_node_into_rect_(false),
652 push_messaging_dispatcher_(NULL), 649 push_messaging_dispatcher_(NULL),
653 geolocation_dispatcher_(NULL), 650 geolocation_dispatcher_(NULL),
654 speech_recognition_dispatcher_(NULL), 651 speech_recognition_dispatcher_(NULL),
655 media_stream_dispatcher_(NULL), 652 media_stream_dispatcher_(NULL),
656 browser_plugin_manager_(NULL), 653 browser_plugin_manager_(NULL),
657 midi_dispatcher_(NULL), 654 midi_dispatcher_(NULL),
658 devtools_agent_(NULL), 655 devtools_agent_(NULL),
659 accessibility_mode_(AccessibilityModeOff),
660 renderer_accessibility_(NULL),
661 mouse_lock_dispatcher_(NULL), 656 mouse_lock_dispatcher_(NULL),
662 #if defined(OS_ANDROID) 657 #if defined(OS_ANDROID)
663 expected_content_intent_id_(0), 658 expected_content_intent_id_(0),
664 media_player_manager_(NULL), 659 media_player_manager_(NULL),
665 #endif 660 #endif
666 #if defined(OS_WIN) 661 #if defined(OS_WIN)
667 focused_plugin_id_(-1), 662 focused_plugin_id_(-1),
668 #endif 663 #endif
669 #if defined(ENABLE_PLUGINS) 664 #if defined(ENABLE_PLUGINS)
670 plugin_find_handler_(NULL), 665 plugin_find_handler_(NULL),
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 // The next group of objects all implement RenderViewObserver, so are deleted 783 // The next group of objects all implement RenderViewObserver, so are deleted
789 // along with the RenderView automatically. 784 // along with the RenderView automatically.
790 devtools_agent_ = new DevToolsAgent(this); 785 devtools_agent_ = new DevToolsAgent(this);
791 if (RenderWidgetCompositor* rwc = compositor()) { 786 if (RenderWidgetCompositor* rwc = compositor()) {
792 webview()->devToolsAgent()->setLayerTreeId(rwc->GetLayerTreeId()); 787 webview()->devToolsAgent()->setLayerTreeId(rwc->GetLayerTreeId());
793 } 788 }
794 mouse_lock_dispatcher_ = new RenderViewMouseLockDispatcher(this); 789 mouse_lock_dispatcher_ = new RenderViewMouseLockDispatcher(this);
795 790
796 history_controller_.reset(new HistoryController(this)); 791 history_controller_.reset(new HistoryController(this));
797 792
798 // Create renderer_accessibility_ if needed.
799 OnSetAccessibilityMode(params->accessibility_mode);
800
801 new IdleUserDetector(this); 793 new IdleUserDetector(this);
802 794
803 if (command_line.HasSwitch(switches::kDomAutomationController)) 795 if (command_line.HasSwitch(switches::kDomAutomationController))
804 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION; 796 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION;
805 if (command_line.HasSwitch(switches::kStatsCollectionController)) 797 if (command_line.HasSwitch(switches::kStatsCollectionController))
806 enabled_bindings_ |= BINDINGS_POLICY_STATS_COLLECTION; 798 enabled_bindings_ |= BINDINGS_POLICY_STATS_COLLECTION;
807 799
808 ProcessViewLayoutFlags(command_line); 800 ProcessViewLayoutFlags(command_line);
809 801
810 GetContentClient()->renderer()->RenderViewCreated(this); 802 GetContentClient()->renderer()->RenderViewCreated(this);
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
904 int32 routing_id, 896 int32 routing_id,
905 int32 main_frame_routing_id, 897 int32 main_frame_routing_id,
906 int32 surface_id, 898 int32 surface_id,
907 int64 session_storage_namespace_id, 899 int64 session_storage_namespace_id,
908 const base::string16& frame_name, 900 const base::string16& frame_name,
909 bool is_renderer_created, 901 bool is_renderer_created,
910 bool swapped_out, 902 bool swapped_out,
911 bool hidden, 903 bool hidden,
912 bool never_visible, 904 bool never_visible,
913 int32 next_page_id, 905 int32 next_page_id,
914 const blink::WebScreenInfo& screen_info, 906 const blink::WebScreenInfo& screen_info) {
915 AccessibilityMode accessibility_mode) {
916 DCHECK(routing_id != MSG_ROUTING_NONE); 907 DCHECK(routing_id != MSG_ROUTING_NONE);
917 RenderViewImplParams params(opener_id, 908 RenderViewImplParams params(opener_id,
918 window_was_created_with_opener, 909 window_was_created_with_opener,
919 renderer_prefs, 910 renderer_prefs,
920 webkit_prefs, 911 webkit_prefs,
921 routing_id, 912 routing_id,
922 main_frame_routing_id, 913 main_frame_routing_id,
923 surface_id, 914 surface_id,
924 session_storage_namespace_id, 915 session_storage_namespace_id,
925 frame_name, 916 frame_name,
926 is_renderer_created, 917 is_renderer_created,
927 swapped_out, 918 swapped_out,
928 hidden, 919 hidden,
929 never_visible, 920 never_visible,
930 next_page_id, 921 next_page_id,
931 screen_info, 922 screen_info);
932 accessibility_mode);
933 RenderViewImpl* render_view = NULL; 923 RenderViewImpl* render_view = NULL;
934 if (g_create_render_view_impl) 924 if (g_create_render_view_impl)
935 render_view = g_create_render_view_impl(&params); 925 render_view = g_create_render_view_impl(&params);
936 else 926 else
937 render_view = new RenderViewImpl(&params); 927 render_view = new RenderViewImpl(&params);
938 928
939 render_view->Initialize(&params); 929 render_view->Initialize(&params);
940 return render_view; 930 return render_view;
941 } 931 }
942 932
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
1112 IPC_MESSAGE_HANDLER(ViewMsg_GetAllSavableResourceLinksForCurrentPage, 1102 IPC_MESSAGE_HANDLER(ViewMsg_GetAllSavableResourceLinksForCurrentPage,
1113 OnGetAllSavableResourceLinksForCurrentPage) 1103 OnGetAllSavableResourceLinksForCurrentPage)
1114 IPC_MESSAGE_HANDLER( 1104 IPC_MESSAGE_HANDLER(
1115 ViewMsg_GetSerializedHtmlDataForCurrentPageWithLocalLinks, 1105 ViewMsg_GetSerializedHtmlDataForCurrentPageWithLocalLinks,
1116 OnGetSerializedHtmlDataForCurrentPageWithLocalLinks) 1106 OnGetSerializedHtmlDataForCurrentPageWithLocalLinks)
1117 IPC_MESSAGE_HANDLER(ViewMsg_ShowContextMenu, OnShowContextMenu) 1107 IPC_MESSAGE_HANDLER(ViewMsg_ShowContextMenu, OnShowContextMenu)
1118 // TODO(viettrungluu): Move to a separate message filter. 1108 // TODO(viettrungluu): Move to a separate message filter.
1119 IPC_MESSAGE_HANDLER(ViewMsg_SetHistoryLengthAndPrune, 1109 IPC_MESSAGE_HANDLER(ViewMsg_SetHistoryLengthAndPrune,
1120 OnSetHistoryLengthAndPrune) 1110 OnSetHistoryLengthAndPrune)
1121 IPC_MESSAGE_HANDLER(ViewMsg_EnableViewSourceMode, OnEnableViewSourceMode) 1111 IPC_MESSAGE_HANDLER(ViewMsg_EnableViewSourceMode, OnEnableViewSourceMode)
1122 IPC_MESSAGE_HANDLER(ViewMsg_SetAccessibilityMode, OnSetAccessibilityMode)
1123 IPC_MESSAGE_HANDLER(ViewMsg_DisownOpener, OnDisownOpener) 1112 IPC_MESSAGE_HANDLER(ViewMsg_DisownOpener, OnDisownOpener)
1124 IPC_MESSAGE_HANDLER(ViewMsg_ReleaseDisambiguationPopupBitmap, 1113 IPC_MESSAGE_HANDLER(ViewMsg_ReleaseDisambiguationPopupBitmap,
1125 OnReleaseDisambiguationPopupBitmap) 1114 OnReleaseDisambiguationPopupBitmap)
1126 IPC_MESSAGE_HANDLER(ViewMsg_WindowSnapshotCompleted, 1115 IPC_MESSAGE_HANDLER(ViewMsg_WindowSnapshotCompleted,
1127 OnWindowSnapshotCompleted) 1116 OnWindowSnapshotCompleted)
1128 #if defined(OS_ANDROID) 1117 #if defined(OS_ANDROID)
1129 IPC_MESSAGE_HANDLER(InputMsg_ActivateNearestFindResult, 1118 IPC_MESSAGE_HANDLER(InputMsg_ActivateNearestFindResult,
1130 OnActivateNearestFindResult) 1119 OnActivateNearestFindResult)
1131 IPC_MESSAGE_HANDLER(ViewMsg_FindMatchRects, OnFindMatchRects) 1120 IPC_MESSAGE_HANDLER(ViewMsg_FindMatchRects, OnFindMatchRects)
1132 IPC_MESSAGE_HANDLER(ViewMsg_SelectPopupMenuItems, OnSelectPopupMenuItems) 1121 IPC_MESSAGE_HANDLER(ViewMsg_SelectPopupMenuItems, OnSelectPopupMenuItems)
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
1458 routing_id, 1447 routing_id,
1459 main_frame_routing_id, 1448 main_frame_routing_id,
1460 surface_id, 1449 surface_id,
1461 cloned_session_storage_namespace_id, 1450 cloned_session_storage_namespace_id,
1462 base::string16(), // WebCore will take care of setting the correct name. 1451 base::string16(), // WebCore will take care of setting the correct name.
1463 true, // is_renderer_created 1452 true, // is_renderer_created
1464 false, // swapped_out 1453 false, // swapped_out
1465 params.disposition == NEW_BACKGROUND_TAB, // hidden 1454 params.disposition == NEW_BACKGROUND_TAB, // hidden
1466 never_visible, 1455 never_visible,
1467 1, // next_page_id 1456 1, // next_page_id
1468 screen_info_, 1457 screen_info_);
1469 accessibility_mode_);
1470 view->opened_by_user_gesture_ = params.user_gesture; 1458 view->opened_by_user_gesture_ = params.user_gesture;
1471 1459
1472 // Record whether the creator frame is trying to suppress the opener field. 1460 // Record whether the creator frame is trying to suppress the opener field.
1473 view->opener_suppressed_ = params.opener_suppressed; 1461 view->opener_suppressed_ = params.opener_suppressed;
1474 1462
1475 return view->webview(); 1463 return view->webview();
1476 } 1464 }
1477 1465
1478 WebWidget* RenderViewImpl::createPopupMenu(blink::WebPopupType popup_type) { 1466 WebWidget* RenderViewImpl::createPopupMenu(blink::WebPopupType popup_type) {
1479 RenderWidget* widget = 1467 RenderWidget* widget =
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
1767 void RenderViewImpl::focusPrevious() { 1755 void RenderViewImpl::focusPrevious() {
1768 Send(new ViewHostMsg_TakeFocus(routing_id_, true)); 1756 Send(new ViewHostMsg_TakeFocus(routing_id_, true));
1769 } 1757 }
1770 1758
1771 void RenderViewImpl::focusedNodeChanged(const WebNode& node) { 1759 void RenderViewImpl::focusedNodeChanged(const WebNode& node) {
1772 has_scrolled_focused_editable_node_into_rect_ = false; 1760 has_scrolled_focused_editable_node_into_rect_ = false;
1773 1761
1774 Send(new ViewHostMsg_FocusedNodeChanged(routing_id_, IsEditableNode(node))); 1762 Send(new ViewHostMsg_FocusedNodeChanged(routing_id_, IsEditableNode(node)));
1775 1763
1776 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FocusedNodeChanged(node)); 1764 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FocusedNodeChanged(node));
1765
1766 // TODO(dmazzoni): this should be part of RenderFrameObserver.
1767 main_render_frame()->FocusedNodeChanged(node);
1777 } 1768 }
1778 1769
1779 void RenderViewImpl::numberOfWheelEventHandlersChanged(unsigned num_handlers) { 1770 void RenderViewImpl::numberOfWheelEventHandlersChanged(unsigned num_handlers) {
1780 Send(new ViewHostMsg_DidChangeNumWheelEvents(routing_id_, num_handlers)); 1771 Send(new ViewHostMsg_DidChangeNumWheelEvents(routing_id_, num_handlers));
1781 } 1772 }
1782 1773
1783 void RenderViewImpl::didUpdateLayout() { 1774 void RenderViewImpl::didUpdateLayout() {
1784 FOR_EACH_OBSERVER(RenderViewObserver, observers_, DidUpdateLayout()); 1775 FOR_EACH_OBSERVER(RenderViewObserver, observers_, DidUpdateLayout());
1785 1776
1786 // We don't always want to set up a timer, only if we've been put in that 1777 // We don't always want to set up a timer, only if we've been put in that
(...skipping 16 matching lines...) Expand all
1803 int RenderViewImpl::historyBackListCount() { 1794 int RenderViewImpl::historyBackListCount() {
1804 return history_list_offset_ < 0 ? 0 : history_list_offset_; 1795 return history_list_offset_ < 0 ? 0 : history_list_offset_;
1805 } 1796 }
1806 1797
1807 int RenderViewImpl::historyForwardListCount() { 1798 int RenderViewImpl::historyForwardListCount() {
1808 return history_list_length_ - historyBackListCount() - 1; 1799 return history_list_length_ - historyBackListCount() - 1;
1809 } 1800 }
1810 1801
1811 void RenderViewImpl::postAccessibilityEvent( 1802 void RenderViewImpl::postAccessibilityEvent(
1812 const WebAXObject& obj, blink::WebAXEvent event) { 1803 const WebAXObject& obj, blink::WebAXEvent event) {
1813 if (renderer_accessibility_) { 1804 main_render_frame()->HandleWebAccessibilityEvent(obj, event);
1814 renderer_accessibility_->HandleWebAccessibilityEvent(obj, event);
1815 }
1816 } 1805 }
1817 1806
1818 void RenderViewImpl::didUpdateInspectorSetting(const WebString& key, 1807 void RenderViewImpl::didUpdateInspectorSetting(const WebString& key,
1819 const WebString& value) { 1808 const WebString& value) {
1820 Send(new ViewHostMsg_UpdateInspectorSetting(routing_id_, 1809 Send(new ViewHostMsg_UpdateInspectorSetting(routing_id_,
1821 key.utf8(), 1810 key.utf8(),
1822 value.utf8())); 1811 value.utf8()));
1823 } 1812 }
1824 1813
1825 // blink::WebWidgetClient ---------------------------------------------------- 1814 // blink::WebWidgetClient ----------------------------------------------------
(...skipping 1365 matching lines...) Expand 10 before | Expand all | Expand 10 after
3191 3180
3192 void RenderViewImpl::OnSetBackground(const SkBitmap& background) { 3181 void RenderViewImpl::OnSetBackground(const SkBitmap& background) {
3193 if (webview()) 3182 if (webview())
3194 webview()->setIsTransparent(!background.empty()); 3183 webview()->setIsTransparent(!background.empty());
3195 if (compositor_) 3184 if (compositor_)
3196 compositor_->setHasTransparentBackground(!background.empty()); 3185 compositor_->setHasTransparentBackground(!background.empty());
3197 3186
3198 SetBackground(background); 3187 SetBackground(background);
3199 } 3188 }
3200 3189
3201 void RenderViewImpl::OnSetAccessibilityMode(AccessibilityMode new_mode) {
3202 if (accessibility_mode_ == new_mode)
3203 return;
3204 accessibility_mode_ = new_mode;
3205 if (renderer_accessibility_) {
3206 delete renderer_accessibility_;
3207 renderer_accessibility_ = NULL;
3208 }
3209 if (accessibility_mode_ == AccessibilityModeOff)
3210 return;
3211
3212 if (accessibility_mode_ & AccessibilityModeFlagFullTree)
3213 renderer_accessibility_ = new RendererAccessibilityComplete(this);
3214 #if !defined(OS_ANDROID)
3215 else
3216 renderer_accessibility_ = new RendererAccessibilityFocusOnly(this);
3217 #endif
3218 }
3219
3220 void RenderViewImpl::OnSetActive(bool active) { 3190 void RenderViewImpl::OnSetActive(bool active) {
3221 if (webview()) 3191 if (webview())
3222 webview()->setIsActive(active); 3192 webview()->setIsActive(active);
3223 3193
3224 #if defined(ENABLE_PLUGINS) && defined(OS_MACOSX) 3194 #if defined(ENABLE_PLUGINS) && defined(OS_MACOSX)
3225 std::set<WebPluginDelegateProxy*>::iterator plugin_it; 3195 std::set<WebPluginDelegateProxy*>::iterator plugin_it;
3226 for (plugin_it = plugin_delegates_.begin(); 3196 for (plugin_it = plugin_delegates_.begin();
3227 plugin_it != plugin_delegates_.end(); ++plugin_it) { 3197 plugin_it != plugin_delegates_.end(); ++plugin_it) {
3228 (*plugin_it)->SetWindowFocus(active); 3198 (*plugin_it)->SetWindowFocus(active);
3229 } 3199 }
(...skipping 667 matching lines...) Expand 10 before | Expand all | Expand 10 after
3897 if (main_frame && main_frame->opener()) 3867 if (main_frame && main_frame->opener())
3898 main_frame->setOpener(NULL); 3868 main_frame->setOpener(NULL);
3899 } 3869 }
3900 3870
3901 #if defined(OS_ANDROID) 3871 #if defined(OS_ANDROID)
3902 bool RenderViewImpl::didTapMultipleTargets( 3872 bool RenderViewImpl::didTapMultipleTargets(
3903 const blink::WebGestureEvent& event, 3873 const blink::WebGestureEvent& event,
3904 const WebVector<WebRect>& target_rects) { 3874 const WebVector<WebRect>& target_rects) {
3905 // Never show a disambiguation popup when accessibility is enabled, 3875 // Never show a disambiguation popup when accessibility is enabled,
3906 // as this interferes with "touch exploration". 3876 // as this interferes with "touch exploration".
3907 bool matchesAccessibilityModeComplete = 3877 AccessibilityMode accessibility_mode =
3908 (accessibility_mode_ & AccessibilityModeComplete) == 3878 main_render_frame()->accessibility_mode();
3909 AccessibilityModeComplete; 3879 bool matches_accessibility_mode_complete =
3910 if (matchesAccessibilityModeComplete) 3880 (accessibility_mode & AccessibilityModeComplete) ==
3881 AccessibilityModeComplete;
3882 if (matches_accessibility_mode_complete)
3911 return false; 3883 return false;
3912 3884
3913 gfx::Rect finger_rect( 3885 gfx::Rect finger_rect(
3914 event.x - event.data.tap.width / 2, event.y - event.data.tap.height / 2, 3886 event.x - event.data.tap.width / 2, event.y - event.data.tap.height / 2,
3915 event.data.tap.width, event.data.tap.height); 3887 event.data.tap.width, event.data.tap.height);
3916 gfx::Rect zoom_rect; 3888 gfx::Rect zoom_rect;
3917 float new_total_scale = 3889 float new_total_scale =
3918 DisambiguationPopupHelper::ComputeZoomAreaAndScaleFactor( 3890 DisambiguationPopupHelper::ComputeZoomAreaAndScaleFactor(
3919 finger_rect, target_rects, GetSize(), 3891 finger_rect, target_rects, GetSize(),
3920 gfx::Rect(webview()->mainFrame()->visibleContentRect()).size(), 3892 gfx::Rect(webview()->mainFrame()->visibleContentRect()).size(),
(...skipping 144 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