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

Side by Side Diff: chrome/browser/sync/sync_setup_flow.cc

Issue 348070: Added scale hack to work around Windows font metric issue. (Closed)
Patch Set: Created 11 years, 1 month 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "chrome/browser/sync/sync_setup_flow.h" 5 #include "chrome/browser/sync/sync_setup_flow.h"
6 6
7 #include "app/gfx/font.h" 7 #include "app/gfx/font.h"
8 #include "app/gfx/font_util.h" 8 #include "app/gfx/font_util.h"
9 #include "base/histogram.h" 9 #include "base/histogram.h"
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 SyncSetupFlow::~SyncSetupFlow() { 148 SyncSetupFlow::~SyncSetupFlow() {
149 flow_handler_->set_flow(NULL); 149 flow_handler_->set_flow(NULL);
150 } 150 }
151 151
152 void SyncSetupFlow::GetDialogSize(gfx::Size* size) const { 152 void SyncSetupFlow::GetDialogSize(gfx::Size* size) const {
153 PrefService* prefs = service_->profile()->GetPrefs(); 153 PrefService* prefs = service_->profile()->GetPrefs();
154 gfx::Font approximate_web_font = gfx::Font::CreateFont( 154 gfx::Font approximate_web_font = gfx::Font::CreateFont(
155 prefs->GetString(prefs::kWebKitSansSerifFontFamily), 155 prefs->GetString(prefs::kWebKitSansSerifFontFamily),
156 prefs->GetInteger(prefs::kWebKitDefaultFontSize)); 156 prefs->GetInteger(prefs::kWebKitDefaultFontSize));
157 157
158 gfx::Size s = gfx::GetLocalizedContentsSizeForFont( 158 *size = gfx::GetLocalizedContentsSizeForFont(
159 IDS_SYNC_SETUP_WIZARD_WIDTH_CHARS, 159 IDS_SYNC_SETUP_WIZARD_WIDTH_CHARS,
160 IDS_SYNC_SETUP_WIZARD_HEIGHT_LINES, 160 IDS_SYNC_SETUP_WIZARD_HEIGHT_LINES,
161 approximate_web_font); 161 approximate_web_font);
162 162
163 size->set_width(s.width()); 163 #if !defined(OS_WIN)
164 size->set_height(s.height()); 164 // NOTE(akalin): This is a hack to work around a problem with font height on
165 // windows. Basically font metrics are incorrectly returned in logical units
166 // instead of pixels on Windows. Logical units are very commonly 96 DPI
167 // so our localized char/line counts are too small by a factor of 96/72.
168 // So we compensate for this on non-windows platform.
169 //
170 // TODO(akalin): Remove this hack once we fix the windows font problem (or at
171 // least work around it in some other place).
172 float scale_hack = 96.f/72.f;
173 size->set_width(size->width() * scale_hack);
174 size->set_height(size->height() * scale_hack);
175 #endif
165 } 176 }
166 177
167 // A callback to notify the delegate that the dialog closed. 178 // A callback to notify the delegate that the dialog closed.
168 void SyncSetupFlow::OnDialogClosed(const std::string& json_retval) { 179 void SyncSetupFlow::OnDialogClosed(const std::string& json_retval) {
169 DCHECK(json_retval.empty()); 180 DCHECK(json_retval.empty());
170 container_->set_flow(NULL); // Sever ties from the wizard. 181 container_->set_flow(NULL); // Sever ties from the wizard.
171 if (current_state_ == SyncSetupWizard::DONE || 182 if (current_state_ == SyncSetupWizard::DONE ||
172 current_state_ == SyncSetupWizard::DONE_FIRST_TIME) { 183 current_state_ == SyncSetupWizard::DONE_FIRST_TIME) {
173 service_->SetSyncSetupCompleted(); 184 service_->SetSyncSetupCompleted();
174 } 185 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 if (!b) 302 if (!b)
292 return NULL; 303 return NULL;
293 304
294 FlowHandler* handler = new FlowHandler(); 305 FlowHandler* handler = new FlowHandler();
295 SyncSetupFlow* flow = new SyncSetupFlow(start, end, json_args, 306 SyncSetupFlow* flow = new SyncSetupFlow(start, end, json_args,
296 container, handler, service); 307 container, handler, service);
297 handler->set_flow(flow); 308 handler->set_flow(flow);
298 b->BrowserShowHtmlDialog(flow, NULL); 309 b->BrowserShowHtmlDialog(flow, NULL);
299 return flow; 310 return flow;
300 } 311 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698