1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// Use of this source code is governed by a BSD-style license that can be 306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// found in the LICENSE file. 406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "base/command_line.h" 606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "base/path_service.h" 706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "base/string16.h" 806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "base/utf_string_conversions.h" 906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "build/build_config.h" 1006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "chrome/common/chrome_paths.h" 1106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "chrome/common/chrome_switches.h" 12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "content/plugin/npobject_util.h" 1306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "googleurl/src/url_util.h" 1472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "ui/base/l10n/l10n_util.h" 1572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "ui/base/ui_base_switches.h" 1606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "webkit/glue/webkit_glue.h" 1706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 1806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochnamespace webkit_glue { 1906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 2006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochbool GetExeDirectory(FilePath* path) { 2106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch return PathService::Get(base::DIR_EXE, path); 2206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch} 2306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 2406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochbool GetApplicationDirectory(FilePath* path) { 2506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch return PathService::Get(chrome::DIR_APP, path); 2606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch} 2706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 2806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochbool IsPluginRunningInRendererProcess() { 2906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch return !IsPluginProcess(); 3006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch} 3106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 323345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickstd::string GetWebKitLocale() { 3306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch // The browser process should have passed the locale to the renderer via the 3406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch // --lang command line flag. In single process mode, this will return the 3506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch // wrong value. TODO(tc): Fix this for single process mode. 3606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch const CommandLine& parsed_command_line = *CommandLine::ForCurrentProcess(); 373345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick const std::string& lang = 383345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick parsed_command_line.GetSwitchValueASCII(switches::kLang); 3906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch DCHECK(!lang.empty() || 4006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch (!parsed_command_line.HasSwitch(switches::kRendererProcess) && 4106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch !parsed_command_line.HasSwitch(switches::kPluginProcess))); 4206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch return lang; 4306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch} 4406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 4506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochstring16 GetLocalizedString(int message_id) { 463345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick return l10n_util::GetStringUTF16(message_id); 4706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch} 4806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 4906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch} // namespace webkit_glue 50