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

Unified Diff: chrome/browser/ui/webui/print_preview_handler.cc

Issue 8345025: Print Preview: Adding support for localized margin units and format. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments Created 9 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/print_preview_handler.cc
diff --git a/chrome/browser/ui/webui/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview_handler.cc
index 361f43e066194646f86f6d7579b77e44a8af5590..893ba6c8b40e60e38d29516235f3d87834560d2c 100644
--- a/chrome/browser/ui/webui/print_preview_handler.cc
+++ b/chrome/browser/ui/webui/print_preview_handler.cc
@@ -16,6 +16,7 @@
#include "base/json/json_reader.h"
#include "base/memory/ref_counted.h"
#include "base/metrics/histogram.h"
+#include "base/i18n/number_formatting.h"
#include "base/path_service.h"
#include "base/threading/thread.h"
#include "base/threading/thread_restrictions.h"
@@ -47,6 +48,7 @@
#include "printing/metafile_impl.h"
#include "printing/page_range.h"
#include "printing/print_settings.h"
+#include "unicode/ulocdata.h"
#if !defined(OS_CHROMEOS)
#include "base/command_line.h"
@@ -258,6 +260,10 @@ void PrintPreviewHandler::RegisterMessages() {
web_ui_->RegisterMessageCallback("getInitiatorTabTitle",
base::Bind(&PrintPreviewHandler::HandleGetInitiatorTabTitle,
base::Unretained(this)));
+ web_ui_->RegisterMessageCallback("getNumberFormatAndMeasurementSystem",
+ base::Bind(
+ &PrintPreviewHandler::HandleGetNumberFormatAndMeasurementSystem,
+ base::Unretained(this)));
}
TabContentsWrapper* PrintPreviewHandler::preview_tab_wrapper() const {
@@ -601,6 +607,26 @@ void PrintPreviewHandler::HandleGetInitiatorTabTitle(
web_ui_->CallJavascriptFunction("setInitiatorTabTitle", tab_title);
}
+void PrintPreviewHandler::HandleGetNumberFormatAndMeasurementSystem(
+ const ListValue* /*args*/) {
Evan Stade 2011/10/21 01:33:02 why is args commented out?
Evan Stade 2011/10/21 01:33:33 (ignore)
+
+ // Getting the measurement system based on the locale.
+ UErrorCode errorCode = U_ZERO_ERROR;
+ const char *locale = g_browser_process->GetApplicationLocale().c_str();
Evan Stade 2011/10/21 01:33:02 asterisk on left
dpapad 2011/10/21 16:12:48 Done.
+ UMeasurementSystem measurement_system =
+ ulocdata_getMeasurementSystem(locale, &errorCode);
+ if (errorCode > U_ZERO_ERROR || measurement_system == UMS_LIMIT)
+ measurement_system = UMS_SI;
+
+ // Getting the number formatting based on the locale.
+ StringValue number_format(base::FormatDouble(123456.78, 2));
+ base::FundamentalValue system(measurement_system);
+
+ PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_);
Evan Stade 2011/10/21 01:33:02 what is this
Lei Zhang 2011/10/21 01:40:46 Not needed, just call web_ui_->CallJavascriptFunct
dpapad 2011/10/21 16:12:48 Done. Initially I was planning to add a new method
+ print_preview_ui->CallJavascriptFunction(
+ "setNumberFormatAndMeasurementSystem", number_format, system);
+}
+
void PrintPreviewHandler::ActivateInitiatorTabAndClosePreviewTab() {
TabContentsWrapper* initiator_tab = GetInitiatorTab();
if (initiator_tab) {

Powered by Google App Engine
This is Rietveld 408576698