Prepare to use gfx::RenderText in views::Label.
commitb183dd1ebe23ff7816cc7e7a8f98a59d4f9a73fa
authormsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Mon, 21 Jul 2014 07:55:51 +0000 (21 07:55 +0000)
committermsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Mon, 21 Jul 2014 07:55:51 +0000 (21 07:55 +0000)
treeed54915018e768dbd7a77475e3ad7774d9322a76
parentb50715c5b5ed5b899a8276709de43f1a5716eded
Prepare to use gfx::RenderText in views::Label.

Alter Label's API to support a RenderText implementation.
This has minimal functional changes to Label for now.
The Label rewrite to use RenderText will land separately.

Remove the generally unused Label::SetDirectionalityMode.
We should always use the text's directionality anyway.
(it seems like this was the case even for *FROM_UI...)

Also remove views::LabelButton::SetDirectionalityMode.
Fix LabelButton mutli-line preferred sizing and layout.

Add RenderText flag to swap newline chars for symbols.
(We don't want that for multi-line views::Label layout)
Add GetCurrentHorizontalAlignment ALIGN_HEAD helper.
Expose ElideBehavior and ShadowValues accessors.
Set the styles of the argument FontList in SetFontList.
(this is how Label transmits style information for now)
Fix partial-pixel treatment for centered alignment.

Update Message Center's InnerBoundedLabel Label subclass.
(minimal changes to keep it working with older paint path)

BUG=240037
TEST=Negligible appearance changes (better multi-line label centering).
R=sky@chromium.org,asvitkine@chromium.org

Review URL: https://codereview.chromium.org/23228004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284401 0039d316-1c4b-4281-b951-d872f2087c98
24 files changed:
ash/accelerators/exit_warning_handler.cc
ash/sticky_keys/sticky_keys_overlay.cc
ash/system/tray/tray_utils.cc
ash/touch/touch_hud_debug.cc
ash/wm/overview/window_selector_item.cc
chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_unittest.cc
chrome/browser/ui/views/tabs/tab.cc
chrome/browser/ui/views/validation_message_bubble_delegate.cc
ui/gfx/render_text.cc
ui/gfx/render_text.h
ui/message_center/views/bounded_label.cc
ui/views/controls/button/blue_button.cc
ui/views/controls/button/label_button.cc
ui/views/controls/button/label_button.h
ui/views/controls/label.cc
ui/views/controls/label.h
ui/views/controls/label_unittest.cc
ui/views/controls/message_box_view.cc
ui/views/controls/textfield/textfield.cc
ui/views/examples/label_example.cc
ui/views/examples/multiline_example.cc
ui/views/examples/multiline_example.h