summaryrefslogtreecommitdiffstats
path: root/base/command_line.cc
Commit message (Collapse)AuthorAgeFilesLines
* FBTF: Move some heavy, repeatedly emitted symbols to implementation files.erg@google.com2010-08-301-0/+12
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3162047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57896 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: eliminate wstring-accepting AppendLooseValueevan@chromium.org2010-08-131-6/+18
| | | | | | | | Instead use AppendArg variants which accept a FilePath or an ASCII string. Review URL: http://codereview.chromium.org/3134008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56100 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: remove three useless functions.evan@chromium.org2010-08-121-34/+10
| | | | | | | | | | | | | PrefixedSwitchString was full of encoding conversions, but there was only one real caller, and the function is trivial. Terminate is leftover cruft. TEST=compiles Review URL: http://codereview.chromium.org/3138001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55931 0039d316-1c4b-4281-b951-d872f2087c98
* Factor out command-line quoting code on Windows.evan@chromium.org2010-08-101-16/+49
| | | | | | | | | | | | | | | | | | Our command line code is not very good with respect to getting quoting right. Because of this, callers will sometimes themselves attempt to quote arguments, though some of them get it wrong(!) by just surrounding with quotes. The first step is to add a quoting function that we think is correct and update the unit test to test it. (Note that most of this is Windows-specific, because on POSIX we can pass arguments to commands as a vector -- trying to do quoting on POSIX is usually wrong.) Review URL: http://codereview.chromium.org/3007038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55591 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: Deprecate a function on non-Windows.evan@chromium.org2010-08-091-0/+3
| | | | | | | | | | Merge deprecated functions together. TEST=compiles Review URL: http://codereview.chromium.org/3029068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55460 0039d316-1c4b-4281-b951-d872f2087c98
* PrependWrapper is platform-specific, so it should take a platform string.evan@chromium.org2010-08-041-2/+3
| | | | | | | | | Though the comments said it was POSIX only, I see it used on Windows as well so I'm updating the comment. Review URL: http://codereview.chromium.org/3030043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54933 0039d316-1c4b-4281-b951-d872f2087c98
* Move ASCIIToWide and ASCIIToUTF16 to utf_string_conversions.h. I've found itbrettw@chromium.org2010-07-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | weird that UTF8ToWide is in utf_string_conversions, but ASCIIToWide is in string_util.h. This should help some dependencies since string_util changes much more frequently than utf_string_conversions and fewer files will now need string_utils. Since this requires a lot of changes, this keeps a forward-declaration in string_util so I can update the entire project incrementally. This change updates base and net only. I removed some includes of string_util from header files in net. In particular, url_request_context which involved creating a new .cc file to implement a function (already virtual so there's no speed penalty). It turns out a lot of files were getting string_util from this include, so I had to update a bunch of random files to now explicitly include string_util.h TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3076013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54456 0039d316-1c4b-4281-b951-d872f2087c98
* Remove deprecated CommandLine API.evan@chromium.org2010-07-301-12/+0
| | | | | | | | | Cleaned up the final few callers, punting the remaining harder ones to TODOs. Review URL: http://codereview.chromium.org/3043033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54400 0039d316-1c4b-4281-b951-d872f2087c98
* Add an AppendSwitchASCII to CommandLine, and convert a test to it.evan@chromium.org2010-07-301-5/+10
| | | | | | | | | | | I'm removing all the AppendSwitchWithValue() users due to wstrings, and this is one caller. Since fixing this one caller requires touching many files, I thought I'd isolate this change from the other WithValue->ASCII conversions. Review URL: http://codereview.chromium.org/2878065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54257 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: add a CopySwitchesFrom() and AppendSwitchPath()evan@chromium.org2010-07-291-10/+44
| | | | | | | | | | | These are two common patterns in Chrome code: copying a subset of switches from one CommandLine to another, and appending a FilePath to a CommandLine. This sets me up to do a lot more deprecation in a follow-up change. Review URL: http://codereview.chromium.org/3012021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54218 0039d316-1c4b-4281-b951-d872f2087c98
* base/ header cleanup. Forward declaration instead of including.erg@google.com2010-07-281-0/+43
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3068004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53969 0039d316-1c4b-4281-b951-d872f2087c98
* Remove deprecated CommandLine::GetLooseValues(), rename to args().evan@chromium.org2010-07-211-14/+5
| | | | | | | | | | | | | | | It returned a wstring, when really we wanted the native encoded strings. Fixing the majority of callers actually simplified them in many cases because the callers wanted native strings too. Since I'm touching every caller, I gave it a more useful name. I'm not sure where "loose" came from but it never made sense to me. BUG=24672 Review URL: http://codereview.chromium.org/3028010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53193 0039d316-1c4b-4281-b951-d872f2087c98
* Move implementation from header to source.erg@chromium.org2010-07-151-0/+7
| | | | | | | | | | | | | | | | | | | | This is an effort to speed up compile and link time, and also minimizing the size of the intermediary .o files on disk. For example, just moving the constructor/destructor from the classes in chrome/browser/pref_member.{cc,h} netted a 368k drop in total .o file size. In aggregate, this shrinks libbrowser.a by 10 megabytes, and a few odd megabytes on most other chrome .a files. A lot of this was done before I started harvesting what the most included symbols were across all of chrome's code. Most of them are in webkit, but there's plenty in base/ that are used everywhere to keep me busy for several patches to come. BUG=none TEST=none Review URL: http://codereview.chromium.org/3012001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52528 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed a TODO in data export of net-internals, added Chrome version and ↵maruel@chromium.org2010-05-211-0/+5
| | | | | | | | | | | | | command line. BUG=none TEST=Go to about:net-internals click on dump to text, check if version and command line are good. Patch contributed by malavv Review URL: http://codereview.chromium.org/2104012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47926 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Replace deprecated CommandLine::program() with ↵thestig@chromium.org2010-05-031-4/+3
| | | | | | | | | | | | | CommandLine::GetProgram(). Simplify a couple DCHECKs with DCHECK_EQ. Committing for Shriram Kunchanapalli (kshriram18@gmail.com) Original code review: http://codereview.chromium.org/413003/show BUG=none TEST=none Review URL: http://codereview.chromium.org/1733010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46281 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CommandLine::AppendLooseValue() to append the parameter to the ↵jschuh@chromium.org2010-01-111-0/+1
| | | | | | | | | | | loose_values_ vector. BUG=None. TEST=None. Review URL: http://codereview.chromium.org/536012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35970 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 35907 - Fixes CommandLine::AppendLooseValue() to append the parameter ↵jschuh@chromium.org2010-01-111-1/+0
| | | | | | | | to the loose_values_ vector. TBR=jschuh@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35913 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CommandLine::AppendLooseValue() to append the parameter to the ↵jschuh@chromium.org2010-01-111-0/+1
| | | | | | loose_values_ vector. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35907 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: use readlink() and prctl() in SetProcTitle() to fix "exe" showing in ↵mdm@chromium.org2010-01-031-2/+34
| | | | | | | | | | | process listings. BUG=29118 TEST=none Review URL: http://codereview.chromium.org/490028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35441 0039d316-1c4b-4281-b951-d872f2087c98
* Changes to base/ from a combination of FreeBSD and OpenBSD patches.evan@chromium.org2009-12-291-1/+1
| | | | | | Review URL: http://codereview.chromium.org/495002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35321 0039d316-1c4b-4281-b951-d872f2087c98
* Remove deprecated CommandLine(std::wstring) ctor.evan@chromium.org2009-10-261-11/+8
| | | | | | | | | | | Add a ctor for creating a CommandLine for carrying arguments; convert all the users to either that or the FilePath version. BUG=24672 Review URL: http://codereview.chromium.org/329017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30117 0039d316-1c4b-4281-b951-d872f2087c98
* Use ASCII strings for switch names.evan@chromium.org2009-10-131-28/+26
| | | | | | Review URL: http://codereview.chromium.org/270062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28779 0039d316-1c4b-4281-b951-d872f2087c98
* linux: drop linux-specific CommandLine functionevan@chromium.org2009-10-131-7/+6
| | | | | | | | We can just call this from the appropriate constructor internally. Review URL: http://codereview.chromium.org/271051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28773 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: rejigger how initialization works.evan@chromium.org2009-10-121-19/+5
| | | | | | | | | | I'm attempting to clean up CommandLine. This change rearranges how initialization is done. I am trying to eliminate redundant functions; more will come in subsequent changes. Review URL: http://codereview.chromium.org/273018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28752 0039d316-1c4b-4281-b951-d872f2087c98
* Drop redundant CommandLine::Terminate.evan@chromium.org2009-10-121-7/+1
| | | | | | | | | We had two functions that did the same thing. Though Terminate came first, I think Reset better conveys the intent. Review URL: http://codereview.chromium.org/267047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28708 0039d316-1c4b-4281-b951-d872f2087c98
* posix: avoid using printf when we're not sure of the types involvedevan@chromium.org2009-10-091-8/+12
| | | | | | | | | It was totally bogus to pass char* to StringPrintf("%ls", ...). I hate this code so much. Review URL: http://codereview.chromium.org/271040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28634 0039d316-1c4b-4281-b951-d872f2087c98
* Add a FilePath version of the CommandLine constructor. Mark the wstring ↵thestig@chromium.org2009-10-091-1/+16
| | | | | | | | | | version as deprecated. BUG=none TEST=none Review URL: http://codereview.chromium.org/271031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28590 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: set the process title (that shows in "ps" etc.) of renderers ↵mdm@chromium.org2009-09-101-0/+31
| | | | | | | | | | | correctly when using the zygote. BUG=none TEST=none Review URL: http://codereview.chromium.org/196009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25877 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Issue 19689: Command line URL parameter does not support Chinese.suzhe@chromium.org2009-08-261-9/+9
| | | | | | | | | | | | | | | | This CL fixes issue 19689 by handling command line values with native encoding on non-Windows systems. For Linux, native encoding specified in current locale is used. For Mac, UTF-8 will always be used. This CL only changes command line values and program name to use native encoding, command line switches still use ASCII. BUG=19689: Command line URL parameter does not support Chinese TEST=Execute chrome with "http://www.google.com/search?q=中文" to see if this url can be opened successfully. Review URL: http://codereview.chromium.org/174139 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24423 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: refactor zygote supportagl@chromium.org2009-06-121-0/+6
| | | | | | | | | | | | | | | | | | | http://code.google.com/p/chromium/wiki/LinuxZygote * Move Chrome specific bits out of base * Move away from the idea of reserved file descriptors (which don't really work with zygotes) * Load resources before forking renderers (means that we don't need communication between the zygote process and the renderers) * Make sure that gdb works against the browser again * Make sure that we have different ASLR between the renderers and the browser. http://codereview.chromium.org/119335 (This is a reland. First landed in r18109, reverted in r18112.) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18291 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 18109, 18111: Windows UI tests failed.agl@chromium.org2009-06-101-6/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18112 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: refactor zygote supportagl@chromium.org2009-06-101-0/+6
| | | | | | | | | | | | | | | | | | http://code.google.com/p/chromium/wiki/LinuxZygote * Move Chrome specific bits out of base * Move away from the idea of reserved file descriptors (which don't really work with zygotes) * Load resources before forking renderers (means that we don't need communication between the zygote process and the renderers) * Make sure that gdb works against the browser again * Make sure that we have different ASLR between the renderers and the browser. http://codereview.chromium.org/119335 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18109 0039d316-1c4b-4281-b951-d872f2087c98
* Prototype implementation of zygotes. dkegel@google.com2009-06-061-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Limitations that need addressing still: - Doesn't forcibly terminate children that should have exited but haven't Enable with env var ENABLE_ZYGOTE_MANAGER=1. BUG=11841 TEST= start the browser, then make chrome and all .pak files unreadable; or alternately, start an installed browser, and uninstall the browser while it's running. Then create a new tab and browse to two new sites. Here's an example script to hide and unhide the .pak files (note: do not move the directory they're in, that doesn't work): #!/bin/sh chmod_all() { chmod $1 sconsbuild/Debug/chrome for path in . locales obj/chrome/app/intermediate/repack obj/global_intermediate/* themes do chmod $1 sconsbuild/Debug/$path/*.pak done } case $1 in hide) chmod_all 000 ;; show) chmod_all 755 ;; esac Review URL: http://codereview.chromium.org/115773 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17840 0039d316-1c4b-4281-b951-d872f2087c98
* Porting the browser tests to Unix.jcampan@chromium.org2009-06-051-1/+0
| | | | | | | | | | | | | The browser tests are an alternative to UI tests. They provide a way to exercise the browser from within the test (without having the test and the browser running in different processes). In order to ensure atexit hanlders are run after each tests and static initializers start fresh for each test, each test is run in a new process (on Linux and Mac). On Windows, a DLL containing the test is loaded/unloaded for each tests. BUG=None TEST=Run the browser tests. Review URL: http://codereview.chromium.org/115896 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17781 0039d316-1c4b-4281-b951-d872f2087c98
* posix: port PrependCommand to Windows and use for the plugin launcher.evan@chromium.org2009-04-201-0/+9
| | | | | | Review URL: http://codereview.chromium.org/88006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14065 0039d316-1c4b-4281-b951-d872f2087c98
* Add CommandLine::Terminate to be able to re-initialize the process command lineevan@chromium.org2009-02-251-1/+6
| | | | | | | | | singleton. Review URL: http://codereview.chromium.org/28060 Patch from Antoine Labour <piman@google.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10379 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: add command line option to launch renderers in a wrapperagl@chromium.org2009-02-101-0/+10
| | | | | | | | | For example, ./Hammer/chrome --renderer-cmd-prefix="gdb --args" Review URL: http://codereview.chromium.org/21190 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9438 0039d316-1c4b-4281-b951-d872f2087c98
* Make CommandLine into a normal object, with some statics for getting at the ↵evan@chromium.org2009-01-211-245/+223
| | | | | | | | | | | current process's command line. One explicit goal of this change is to *not* deal with the string/wstring issues at the API on POSIX; the functions are the same as before, which means they remain as broken as before. (I did try to fix the internals, though, so migrating the callers is now possible by adding platform-appropriate hooks.) Review URL: http://codereview.chromium.org/18248 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8347 0039d316-1c4b-4281-b951-d872f2087c98
* Store the command line in a more convenient format on non-windows platforms.estade@chromium.org2008-10-151-18/+63
| | | | | | Review URL: http://codereview.chromium.org/7249 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3426 0039d316-1c4b-4281-b951-d872f2087c98
* Add -- as a command line switch parsing terminator. This allows you to ↵deanm@chromium.org2008-10-061-0/+23
| | | | | | | | launch chrome to a given URL safely, without having to validate the URL and worry it might be interpreted as a dangerous command line argument. Review URL: http://codereview.chromium.org/6480 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2876 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Move the system string conversion functions from std::string to StringPiece. ↵deanm@google.com2008-08-191-0/+1
| | | | | | We often work with char* in the system layer, so this should save extra copying. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1027 0039d316-1c4b-4281-b951-d872f2087c98
* Add command_line_unittest and pr_time_test to the linux set of unittests. ↵tc@google.com2008-08-141-4/+4
| | | | | | Fix the const-ness of argv in CommandLine on posix. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@901 0039d316-1c4b-4281-b951-d872f2087c98
* Use %ls instead of %s in wprintf format strings for wchar_t fields.mmentovai@google.com2008-08-141-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@846 0039d316-1c4b-4281-b951-d872f2087c98
* Fix command_line unit test now that argv is no longer const. (Doh!) Remove ↵mmentovai@google.com2008-08-121-1/+1
| | | | | | a technically illegal zero-length array. Fix a couple of warnings for good measure as long as I'm in here. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@701 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build breakage on Windows.evanm@google.com2008-08-121-0/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@692 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of the command-line hacks for posix platforms.evanm@google.com2008-08-121-21/+17
| | | | | | | (They didn't work at all on Linux anyway.) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@690 0039d316-1c4b-4281-b951-d872f2087c98
* fix base test harness to work on mac. fix command_line unit tests to match ↵pinkerton@google.com2008-08-081-2/+6
| | | | | | what windows expects. fix base xcode project to separate building and running unit tests into two targets. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@593 0039d316-1c4b-4281-b951-d872f2087c98
* Remove cruft of old unit test harness, replace it with gTest goodness. Fix ↵pinkerton@google.com2008-08-081-4/+4
| | | | | | extern-ness of a couple of globals in command_line. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@579 0039d316-1c4b-4281-b951-d872f2087c98
* Fix an accidental nested extern and conversion cleanup from brett's landing.pinkerton@google.com2008-08-071-4/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@541 0039d316-1c4b-4281-b951-d872f2087c98