Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / about_ui.cc
index 41c4b1e..1e76015 100644 (file)
@@ -52,8 +52,8 @@
 #include "grit/generated_resources.h"
 #include "grit/locale_settings.h"
 #include "net/base/escape.h"
+#include "net/base/filename_util.h"
 #include "net/base/load_flags.h"
-#include "net/base/net_util.h"
 #include "net/http/http_response_headers.h"
 #include "net/url_request/url_fetcher.h"
 #include "net/url_request/url_request_status.h"
@@ -91,6 +91,7 @@ using content::WebContents;
 namespace {
 
 const char kCreditsJsPath[] = "credits.js";
+const char kKeyboardUtilsPath[] = "keyboard_utils.js";
 const char kMemoryJsPath[] = "memory.js";
 const char kMemoryCssPath[] = "about_memory.css";
 const char kStatsJsPath[] = "stats.js";
@@ -242,7 +243,7 @@ class ChromeOSTermsHandler
   virtual ~ChromeOSTermsHandler() {}
 
   void StartOnUIThread() {
-    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+    DCHECK_CURRENTLY_ON(BrowserThread::UI);
     if (path_ == chrome::kOemEulaURLPath) {
       // Load local OEM EULA from the disk.
       BrowserThread::PostTask(
@@ -258,7 +259,7 @@ class ChromeOSTermsHandler
   }
 
   void OnOnlineEULAFetched(ChromeOSOnlineTermsHandler* loader) {
-    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+    DCHECK_CURRENTLY_ON(BrowserThread::UI);
     loader->GetResponseResult(&contents_);
     if (contents_.empty()) {
       // Load local ChromeOS terms from the file.
@@ -271,7 +272,7 @@ class ChromeOSTermsHandler
   }
 
   void LoadOemEulaFileOnFileThread() {
-    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
+    DCHECK_CURRENTLY_ON(BrowserThread::FILE);
     const chromeos::StartupCustomizationDocument* customization =
         chromeos::StartupCustomizationDocument::GetInstance();
     if (customization->IsReady()) {
@@ -306,7 +307,7 @@ class ChromeOSTermsHandler
   }
 
   void ResponseOnUIThread() {
-    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+    DCHECK_CURRENTLY_ON(BrowserThread::UI);
     // If we fail to load Chrome OS EULA from disk, load it from resources.
     // Do nothing if OEM EULA load failed.
     if (contents_.empty() && path_ != chrome::kOemEulaURLPath)
@@ -530,14 +531,14 @@ class AboutDnsHandler : public base::RefCountedThreadSafe<AboutDnsHandler> {
                   const content::URLDataSource::GotDataCallback& callback)
       : profile_(profile),
         callback_(callback) {
-    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+    DCHECK_CURRENTLY_ON(BrowserThread::UI);
   }
 
   virtual ~AboutDnsHandler() {}
 
   // Calls FinishOnUIThread() on completion.
   void StartOnUIThread() {
-    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+    DCHECK_CURRENTLY_ON(BrowserThread::UI);
     chrome_browser_net::Predictor* predictor = profile_->GetNetworkPredictor();
     BrowserThread::PostTask(
         BrowserThread::IO, FROM_HERE,
@@ -545,7 +546,7 @@ class AboutDnsHandler : public base::RefCountedThreadSafe<AboutDnsHandler> {
   }
 
   void StartOnIOThread(chrome_browser_net::Predictor* predictor) {
-    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+    DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
     std::string data;
     AppendHeader(&data, 0, "About DNS");
@@ -559,7 +560,7 @@ class AboutDnsHandler : public base::RefCountedThreadSafe<AboutDnsHandler> {
   }
 
   void FinishOnUIThread(const std::string& data) {
-    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+    DCHECK_CURRENTLY_ON(BrowserThread::UI);
     std::string data_copy(data);
     callback_.Run(base::RefCountedString::TakeString(&data_copy));
   }
@@ -1003,7 +1004,12 @@ void AboutUIHTMLSource::StartDataRequest(
   if (source_name_ == chrome::kChromeUIChromeURLsHost) {
     response = ChromeURLs();
   } else if (source_name_ == chrome::kChromeUICreditsHost) {
-    int idr = (path == kCreditsJsPath) ? IDR_CREDITS_JS : IDR_CREDITS_HTML;
+    int idr = IDR_CREDITS_HTML;
+    if (path == kCreditsJsPath)
+      idr = IDR_CREDITS_JS;
+    else if (path == kKeyboardUtilsPath)
+      idr = IDR_KEYBOARD_UTILS_JS;
+
     response = ResourceBundle::GetSharedInstance().GetRawDataResource(
         idr).as_string();
 #if defined(OS_CHROMEOS)
@@ -1024,8 +1030,11 @@ void AboutUIHTMLSource::StartDataRequest(
     return;
 #if defined(OS_CHROMEOS)
   } else if (source_name_ == chrome::kChromeUIOSCreditsHost) {
+    int idr = IDR_OS_CREDITS_HTML;
+    if (path == kKeyboardUtilsPath)
+      idr = IDR_KEYBOARD_UTILS_JS;
     response = ResourceBundle::GetSharedInstance().GetRawDataResource(
-        IDR_OS_CREDITS_HTML).as_string();
+        idr).as_string();
 #endif
 #if defined(OS_LINUX) || defined(OS_OPENBSD)
   } else if (source_name_ == chrome::kChromeUISandboxHost) {
@@ -1053,9 +1062,10 @@ void AboutUIHTMLSource::FinishDataRequest(
 }
 
 std::string AboutUIHTMLSource::GetMimeType(const std::string& path) const {
-  if (path == kCreditsJsPath ||
-      path == kStatsJsPath   ||
-      path == kStringsJsPath ||
+  if (path == kCreditsJsPath     ||
+      path == kKeyboardUtilsPath ||
+      path == kStatsJsPath       ||
+      path == kStringsJsPath     ||
       path == kMemoryJsPath) {
     return "application/javascript";
   }