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

Side by Side Diff: content/browser/renderer_host/render_view_host.cc

Issue 6974007: Move setToolTipText related functions from RenderView to RenderWidget. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Check tool tip is empty in Mac code. Created 9 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/browser/renderer_host/render_view_host.h" 5 #include "content/browser/renderer_host/render_view_host.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 IPC_MESSAGE_HANDLER(ViewHostMsg_DidChangeLoadProgress, 645 IPC_MESSAGE_HANDLER(ViewHostMsg_DidChangeLoadProgress,
646 OnMsgDidChangeLoadProgress) 646 OnMsgDidChangeLoadProgress)
647 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentAvailableInMainFrame, 647 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentAvailableInMainFrame,
648 OnMsgDocumentAvailableInMainFrame) 648 OnMsgDocumentAvailableInMainFrame)
649 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentOnLoadCompletedInMainFrame, 649 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentOnLoadCompletedInMainFrame,
650 OnMsgDocumentOnLoadCompletedInMainFrame) 650 OnMsgDocumentOnLoadCompletedInMainFrame)
651 IPC_MESSAGE_HANDLER(ViewHostMsg_ContextMenu, OnMsgContextMenu) 651 IPC_MESSAGE_HANDLER(ViewHostMsg_ContextMenu, OnMsgContextMenu)
652 IPC_MESSAGE_HANDLER(ViewHostMsg_OpenURL, OnMsgOpenURL) 652 IPC_MESSAGE_HANDLER(ViewHostMsg_OpenURL, OnMsgOpenURL)
653 IPC_MESSAGE_HANDLER(ViewHostMsg_DidContentsPreferredSizeChange, 653 IPC_MESSAGE_HANDLER(ViewHostMsg_DidContentsPreferredSizeChange,
654 OnMsgDidContentsPreferredSizeChange) 654 OnMsgDidContentsPreferredSizeChange)
655 IPC_MESSAGE_HANDLER(ViewHostMsg_SetTooltipText, OnMsgSetTooltipText)
656 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunJavaScriptMessage, 655 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunJavaScriptMessage,
657 OnMsgRunJavaScriptMessage) 656 OnMsgRunJavaScriptMessage)
658 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunBeforeUnloadConfirm, 657 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunBeforeUnloadConfirm,
659 OnMsgRunBeforeUnloadConfirm) 658 OnMsgRunBeforeUnloadConfirm)
660 IPC_MESSAGE_HANDLER(DragHostMsg_StartDragging, OnMsgStartDragging) 659 IPC_MESSAGE_HANDLER(DragHostMsg_StartDragging, OnMsgStartDragging)
661 IPC_MESSAGE_HANDLER(DragHostMsg_UpdateDragCursor, OnUpdateDragCursor) 660 IPC_MESSAGE_HANDLER(DragHostMsg_UpdateDragCursor, OnUpdateDragCursor)
662 IPC_MESSAGE_HANDLER(ViewHostMsg_TakeFocus, OnTakeFocus) 661 IPC_MESSAGE_HANDLER(ViewHostMsg_TakeFocus, OnTakeFocus)
663 IPC_MESSAGE_HANDLER(ViewHostMsg_AddMessageToConsole, OnAddMessageToConsole) 662 IPC_MESSAGE_HANDLER(ViewHostMsg_AddMessageToConsole, OnAddMessageToConsole)
664 IPC_MESSAGE_HANDLER(ViewHostMsg_ShouldClose_ACK, OnMsgShouldCloseACK) 663 IPC_MESSAGE_HANDLER(ViewHostMsg_ShouldClose_ACK, OnMsgShouldCloseACK)
665 IPC_MESSAGE_HANDLER(ViewHostMsg_ClosePage_ACK, OnMsgClosePageACK) 664 IPC_MESSAGE_HANDLER(ViewHostMsg_ClosePage_ACK, OnMsgClosePageACK)
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
950 } 949 }
951 950
952 void RenderViewHost::OnMsgDidContentsPreferredSizeChange( 951 void RenderViewHost::OnMsgDidContentsPreferredSizeChange(
953 const gfx::Size& new_size) { 952 const gfx::Size& new_size) {
954 RenderViewHostDelegate::View* view = delegate_->GetViewDelegate(); 953 RenderViewHostDelegate::View* view = delegate_->GetViewDelegate();
955 if (!view) 954 if (!view)
956 return; 955 return;
957 view->UpdatePreferredSize(new_size); 956 view->UpdatePreferredSize(new_size);
958 } 957 }
959 958
960 void RenderViewHost::OnMsgSetTooltipText(
961 const std::wstring& tooltip_text,
962 WebTextDirection text_direction_hint) {
963 // First, add directionality marks around tooltip text if necessary.
964 // A naive solution would be to simply always wrap the text. However, on
965 // windows, Unicode directional embedding characters can't be displayed on
966 // systems that lack RTL fonts and are instead displayed as empty squares.
967 //
968 // To get around this we only wrap the string when we deem it necessary i.e.
969 // when the locale direction is different than the tooltip direction hint.
970 //
971 // Currently, we use element's directionality as the tooltip direction hint.
972 // An alternate solution would be to set the overall directionality based on
973 // trying to detect the directionality from the tooltip text rather than the
974 // element direction. One could argue that would be a preferable solution
975 // but we use the current approach to match Fx & IE's behavior.
976 string16 wrapped_tooltip_text = WideToUTF16(tooltip_text);
977 if (!tooltip_text.empty()) {
978 if (text_direction_hint == WebKit::WebTextDirectionLeftToRight) {
979 // Force the tooltip to have LTR directionality.
980 wrapped_tooltip_text =
981 base::i18n::GetDisplayStringInLTRDirectionality(wrapped_tooltip_text);
982 } else if (text_direction_hint == WebKit::WebTextDirectionRightToLeft &&
983 !base::i18n::IsRTL()) {
984 // Force the tooltip to have RTL directionality.
985 base::i18n::WrapStringWithRTLFormatting(&wrapped_tooltip_text);
986 }
987 }
988 if (view())
989 view()->SetTooltipText(UTF16ToWide(wrapped_tooltip_text));
990 }
991
992 void RenderViewHost::OnMsgSelectionChanged(const std::string& text, 959 void RenderViewHost::OnMsgSelectionChanged(const std::string& text,
993 const ui::Range& range) { 960 const ui::Range& range) {
994 if (view()) 961 if (view())
995 view()->SelectionChanged(text, range); 962 view()->SelectionChanged(text, range);
996 } 963 }
997 964
998 void RenderViewHost::OnMsgRunJavaScriptMessage( 965 void RenderViewHost::OnMsgRunJavaScriptMessage(
999 const std::wstring& message, 966 const std::wstring& message,
1000 const std::wstring& default_prompt, 967 const std::wstring& default_prompt,
1001 const GURL& frame_url, 968 const GURL& frame_url,
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
1279 if (view) { 1246 if (view) {
1280 view->ShowPopupMenu(params.bounds, 1247 view->ShowPopupMenu(params.bounds,
1281 params.item_height, 1248 params.item_height,
1282 params.item_font_size, 1249 params.item_font_size,
1283 params.selected_item, 1250 params.selected_item,
1284 params.popup_items, 1251 params.popup_items,
1285 params.right_aligned); 1252 params.right_aligned);
1286 } 1253 }
1287 } 1254 }
1288 #endif 1255 #endif
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_view_host.h ('k') | content/browser/renderer_host/render_widget_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698