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

Unified Diff: content/browser/webui/web_ui_message_handler.cc

Issue 8986007: Move WebUIMessageHandler to its own file in the public directory and put it in the content namesp... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years 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
« no previous file with comments | « content/browser/webui/web_ui.cc ('k') | content/content_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/webui/web_ui_message_handler.cc
===================================================================
--- content/browser/webui/web_ui_message_handler.cc (revision 0)
+++ content/browser/webui/web_ui_message_handler.cc (revision 0)
@@ -0,0 +1,73 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "content/public/browser/web_ui_message_handler.h"
+
+#include "base/i18n/rtl.h"
+#include "base/logging.h"
+#include "base/values.h"
+#include "base/string_number_conversions.h"
+#include "base/utf_string_conversions.h"
+#include "googleurl/src/gurl.h"
+
+namespace content {
+
+void WebUIMessageHandler::SetURLAndTitle(DictionaryValue* dictionary,
+ string16 title,
+ const GURL& gurl) {
+ dictionary->SetString("url", gurl.spec());
+
+ bool using_url_as_the_title = false;
+ if (title.empty()) {
+ using_url_as_the_title = true;
+ title = UTF8ToUTF16(gurl.spec());
+ }
+
+ // Since the title can contain BiDi text, we need to mark the text as either
+ // RTL or LTR, depending on the characters in the string. If we use the URL
+ // as the title, we mark the title as LTR since URLs are always treated as
+ // left to right strings.
+ string16 title_to_set(title);
+ if (base::i18n::IsRTL()) {
+ if (using_url_as_the_title) {
+ base::i18n::WrapStringWithLTRFormatting(&title_to_set);
+ } else {
+ base::i18n::AdjustStringForLocaleDirection(&title_to_set);
+ }
+ }
+ dictionary->SetString("title", title_to_set);
+}
+
+bool WebUIMessageHandler::ExtractIntegerValue(const ListValue* value,
+ int* out_int) {
+ std::string string_value;
+ if (value->GetString(0, &string_value))
+ return base::StringToInt(string_value, out_int);
+ double double_value;
+ if (value->GetDouble(0, &double_value)) {
+ *out_int = static_cast<int>(double_value);
+ return true;
+ }
+ NOTREACHED();
+ return false;
+}
+
+bool WebUIMessageHandler::ExtractDoubleValue(const ListValue* value,
+ double* out_value) {
+ std::string string_value;
+ if (value->GetString(0, &string_value))
+ return base::StringToDouble(string_value, out_value);
+ NOTREACHED();
+ return false;
+}
+
+string16 WebUIMessageHandler::ExtractStringValue(const ListValue* value) {
+ string16 string16_value;
+ if (value->GetString(0, &string16_value))
+ return string16_value;
+ NOTREACHED();
+ return string16();
+}
+
+} // namespace content
Property changes on: content\browser\webui\web_ui_message_handler.cc
___________________________________________________________________
Added: svn:eol-style
+ LF
« no previous file with comments | « content/browser/webui/web_ui.cc ('k') | content/content_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698