| Index: ui/gfx/render_text_mac.cc
|
| diff --git a/ui/gfx/render_text_mac.cc b/ui/gfx/render_text_mac.cc
|
| index aa33fc019d26e165ed49205b0ab383540d0b4add..20d3f5421dc221411c3fe8585e9b4b77447d5319 100644
|
| --- a/ui/gfx/render_text_mac.cc
|
| +++ b/ui/gfx/render_text_mac.cc
|
| @@ -17,7 +17,8 @@
|
|
|
| namespace gfx {
|
|
|
| -RenderTextMac::RenderTextMac() : common_baseline_(0), runs_valid_(false) {
|
| +RenderTextMac::RenderTextMac()
|
| + : common_baseline_(0), runs_valid_(false) {
|
| }
|
|
|
| RenderTextMac::~RenderTextMac() {
|
| @@ -27,6 +28,14 @@ scoped_ptr<RenderText> RenderTextMac::CreateInstanceOfSameType() const {
|
| return scoped_ptr<RenderTextMac>(new RenderTextMac);
|
| }
|
|
|
| +const base::string16& RenderTextMac::GetLayoutText() {
|
| + if (elide_behavior() == NO_ELIDE ||
|
| + elide_behavior() == FADE_TAIL) {
|
| + return layout_text();
|
| + }
|
| + return text_elided() ? elided_text() : layout_text();
|
| +}
|
| +
|
| Size RenderTextMac::GetStringSize() {
|
| EnsureLayout();
|
| return Size(std::ceil(string_size_.width()), string_size_.height());
|
| @@ -87,12 +96,12 @@ std::vector<Rect> RenderTextMac::GetSubstringBounds(const Range& range) {
|
| return std::vector<Rect>();
|
| }
|
|
|
| -size_t RenderTextMac::TextIndexToLayoutIndex(size_t index) const {
|
| +size_t RenderTextMac::TextIndexToLayoutIndex(size_t index) {
|
| // TODO(asvitkine): Implement this. http://crbug.com/131618
|
| return index;
|
| }
|
|
|
| -size_t RenderTextMac::LayoutIndexToTextIndex(size_t index) const {
|
| +size_t RenderTextMac::LayoutIndexToTextIndex(size_t index) {
|
| // TODO(asvitkine): Implement this. http://crbug.com/131618
|
| return index;
|
| }
|
| @@ -102,13 +111,23 @@ bool RenderTextMac::IsValidCursorIndex(size_t index) {
|
| return IsValidLogicalIndex(index);
|
| }
|
|
|
| -void RenderTextMac::ResetLayout() {
|
| +void RenderTextMac::OnLayoutTextShapeChanged(bool text_changed) {
|
| + if (text_changed &&
|
| + elide_behavior() != NO_ELIDE &&
|
| + elide_behavior() != FADE_TAIL &&
|
| + !layout_text().empty()) {
|
| + UpdateElidedText(GetContentWidth());
|
| + }
|
| line_.reset();
|
| attributes_.reset();
|
| runs_.clear();
|
| runs_valid_ = false;
|
| }
|
|
|
| +void RenderTextMac::OnElidedTextShapeChanged() {
|
| + OnLayoutTextShapeChanged(true);
|
| +}
|
| +
|
| void RenderTextMac::EnsureLayout() {
|
| if (line_.get())
|
| return;
|
|
|