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

Side by Side Diff: ui/gfx/render_text_win.cc

Issue 9111042: Fix RTL and complex script title in print preview header/footer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use RenderText instead Created 8 years, 10 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 "ui/gfx/render_text_win.h" 5 #include "ui/gfx/render_text_win.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/i18n/break_iterator.h" 9 #include "base/i18n/break_iterator.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 110
111 } // namespace internal 111 } // namespace internal
112 112
113 RenderTextWin::RenderTextWin() 113 RenderTextWin::RenderTextWin()
114 : RenderText(), 114 : RenderText(),
115 script_control_(), 115 script_control_(),
116 script_state_(), 116 script_state_(),
117 string_width_(0), 117 string_width_(0),
118 needs_layout_(false) { 118 needs_layout_(false) {
119 // Omitting default constructors for script_* would leave POD uninitialized. 119 // Omitting default constructors for script_* would leave POD uninitialized.
120 HRESULT hr = 0; 120 HRESULT hr = S_OK;
121 121
122 // TODO(msw): Call ScriptRecordDigitSubstitution on WM_SETTINGCHANGE message. 122 // TODO(msw): Call ScriptRecordDigitSubstitution on WM_SETTINGCHANGE message.
123 // TODO(msw): Use Chrome/profile locale/language settings? 123 // TODO(msw): Use Chrome/profile locale/language settings?
124 hr = ScriptRecordDigitSubstitution(LOCALE_USER_DEFAULT, &digit_substitute_); 124 hr = ScriptRecordDigitSubstitution(LOCALE_USER_DEFAULT, &digit_substitute_);
125 DCHECK(SUCCEEDED(hr)); 125 if (FAILED(hr)) {
126 LOG(WARNING) << "ScriptRecordDigitSubstitution failed " << hr
vandebo (ex-Chrome) 2012/02/03 18:36:45 Is it because of the sandbox? Does that mean this
127 << ", possibly because of sandbox.";
128 }
126 129
127 hr = ScriptApplyDigitSubstitution(&digit_substitute_, 130 if (SUCCEEDED(hr)) {
128 &script_control_, 131 hr = ScriptApplyDigitSubstitution(&digit_substitute_,
vandebo (ex-Chrome) 2012/02/03 18:36:45 Why is is ok to not so this in the sandbox?
129 &script_state_); 132 &script_control_,
130 DCHECK(SUCCEEDED(hr)); 133 &script_state_);
131 script_control_.fMergeNeutralItems = true; 134 DCHECK(SUCCEEDED(hr));
135 script_control_.fMergeNeutralItems = true;
136 }
132 137
133 MoveCursorTo(EdgeSelectionModel(CURSOR_LEFT)); 138 MoveCursorTo(EdgeSelectionModel(CURSOR_LEFT));
134 } 139 }
135 140
136 RenderTextWin::~RenderTextWin() { 141 RenderTextWin::~RenderTextWin() {
137 STLDeleteContainerPointers(runs_.begin(), runs_.end()); 142 STLDeleteContainerPointers(runs_.begin(), runs_.end());
138 } 143 }
139 144
140 base::i18n::TextDirection RenderTextWin::GetTextDirection() { 145 base::i18n::TextDirection RenderTextWin::GetTextDirection() {
141 // TODO(benrg): Code moved from RenderText::GetTextDirection. Needs to be 146 // TODO(benrg): Code moved from RenderText::GetTextDirection. Needs to be
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after
735 internal::TextRun* run) { 740 internal::TextRun* run) {
736 size_t caret = IndexOfAdjacentGrapheme(run->range.end(), CURSOR_BACKWARD); 741 size_t caret = IndexOfAdjacentGrapheme(run->range.end(), CURSOR_BACKWARD);
737 return SelectionModel(caret, caret, SelectionModel::LEADING); 742 return SelectionModel(caret, caret, SelectionModel::LEADING);
738 } 743 }
739 744
740 RenderText* RenderText::CreateRenderText() { 745 RenderText* RenderText::CreateRenderText() {
741 return new RenderTextWin; 746 return new RenderTextWin;
742 } 747 }
743 748
744 } // namespace gfx 749 } // namespace gfx
OLDNEW
« chrome/renderer/print_web_view_helper.cc ('K') | « ui/gfx/platform_font_pango.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698