summaryrefslogtreecommitdiffstats
path: root/chrome/plugin
Commit message (Collapse)AuthorAgeFilesLines
* We need to set the clipping region of the HDC passed in to a windowless ↵ananta@chromium.org2009-03-271-0/+7
| | | | | | | | | | | | | | | | | | flash plugin instance in NPP_HandleEvent for WM_PAINT. The windowless flash plugin instance queries the clipping region of the DC and on not finding it proceeds to paint the plugin window rect, which causes unnecessary CPU spikes. This fixes bug http://code.google.com/p/chromium/issues/detail?id=8835, where the plugin process would consume CPU even when we scrolled down to the static video images. With this fix the CPU usage for windowless flash plugins is on par with Firefox. Added a uitest which validates whether the hdc passed in to HandleEvent for WM_PAINT has a valid clipping region. Bug=8835 Review URL: http://codereview.chromium.org/53106 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12651 0039d316-1c4b-4281-b951-d872f2087c98
* Expose whether we're in private browsing mode to plugins.I chose to ↵jam@chromium.org2009-03-266-4/+16
| | | | | | | | | implement this for multi-process mode only and not --single-process or --in-process-plugins, since I wanted to send this data from the browser process, not the renderer (in case it's exploited). BUG=158 Review URL: http://codereview.chromium.org/52037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12588 0039d316-1c4b-4281-b951-d872f2087c98
* Report the plugin position to windowed plugins as (0,0)jam@chromium.org2009-03-262-2/+4
| | | | | | | | | | . the NPAPI documentation says it should be reported relative to the parent HWND, which is the plugin's coordinates on the page. This assumption breaks in Chrome because we have an intermediate HWND. I've tested on a bunch of pages to see if this change causes regressions, if we find any in the future we can reconsider this. BUG=6742 Review URL: http://codereview.chromium.org/42626 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12587 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a plugin crash due to ResourceDispatcher being used after it was deletedmpcomplete@google.com2009-03-231-1/+5
| | | | | | | | | in PluginThread::CleanUp. BUG=8980 Review URL: http://codereview.chromium.org/50075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12307 0039d316-1c4b-4281-b951-d872f2087c98
* SSLPolicy Fix: Step 3.abarth@chromium.org2009-03-171-1/+2
| | | | | | | | | | | Plumbing the security origin of the frame making the request to SSL land. R=wtc BUG=8706 Review URL: http://codereview.chromium.org/48038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11851 0039d316-1c4b-4281-b951-d872f2087c98
* Removed unneeded includes of base/time.h.thestig@chromium.org2009-03-161-1/+0
| | | | | | Review URL: http://codereview.chromium.org/48019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11766 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of the gears in renderer process code. This allows me to do some ↵jam@chromium.org2009-03-131-3/+0
| | | | | | | | cleanup in how resource dispatching happens in a future cl. Review URL: http://codereview.chromium.org/42158 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11601 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to using one ResourceDispatcher per render process, and move it to ↵jam@chromium.org2009-03-123-17/+2
| | | | | | | | ChildThread so that the same code is used by the plugin process (and soon, workers). Review URL: http://codereview.chromium.org/42108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11581 0039d316-1c4b-4281-b951-d872f2087c98
* Add more info to a dcheck to see why DuplicateHandle is failing on the buildbot.jam@chromium.org2009-03-121-1/+2
| | | | | | Review URL: http://codereview.chromium.org/42109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11514 0039d316-1c4b-4281-b951-d872f2087c98
* Stop having renderers use both pids and a monotonically increasing ↵jam@chromium.org2009-03-124-20/+17
| | | | | | | | "host_id". This allows ResourceDispatcher to be used by child processes other than renderers. I've done minor related cleanup on the way to make the code simpler. Review URL: http://codereview.chromium.org/42054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11509 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-105-5/+0
| | | | | | | | | Normalize end of file newlines in chrome/. All files end in a single newline. Review URL: http://codereview.chromium.org/42015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11331 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGE.maruel@google.com2009-03-107-17/+30
| | | | | | | Fix files with lines > 80 cols. Part 2. Review URL: http://codereview.chromium.org/40226 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11326 0039d316-1c4b-4281-b951-d872f2087c98
* Landing again the CL that adds security info to canceled requests (last time ↵jcampan@chromium.org2009-03-081-1/+2
| | | | | | | | | it was causing sync XMLHttpRequests to hang, breaking many layout tests). TBR=darin Review URL: http://codereview.chromium.org/39321 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11221 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change 11197 because it created 138 new layout testsnsylvain@chromium.org2009-03-071-2/+1
| | | | | | | | failures. Review URL: http://codereview.chromium.org/39311 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11201 0039d316-1c4b-4281-b951-d872f2087c98
* Landing again the CL that adds security info to canceled requests (it was ↵jcampan@chromium.org2009-03-071-1/+2
| | | | | | | | | | | breaking NPAPI tests on Vista due to an erroneuous commented line). TBR=darin Review URL: http://codereview.chromium.org/39309 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11197 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 11179.jcampan@chromium.org2009-03-071-2/+1
| | | | | | | Reverting CL as plugin UI tests fail on Vista Review URL: http://codereview.chromium.org/40260 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11187 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds a way to specify the security info when canceling a URLRequest.jcampan@chromium.org2009-03-071-1/+2
| | | | | | | | | | | This allows to tag a request on the renderer side with its security info. It is useful for the "frame info" dialog. When showing that dialog for blocked frames, the security info can be retrieved and users can see the cert details for the blocked frame. TEST=Open a page containing a frame served over bad HTTPS. The frame is blocked (replaced with a warning message). Right-click, select "Frame info". The dialog should have a "show cert" button which when pressed should show the frame's bad cert. BUG=2853 Review URL: http://codereview.chromium.org/7276 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11179 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CRLF and trailing white spaces.maruel@chromium.org2009-03-053-4/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10982 0039d316-1c4b-4281-b951-d872f2087c98
* Coalesce more hardcoded schemes to using predefined constants.brettw@chromium.org2009-02-261-2/+4
| | | | | | Review URL: http://codereview.chromium.org/31008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10437 0039d316-1c4b-4281-b951-d872f2087c98
* Add logging to ExtensionsService, UserScriptMaster,aa@chromium.org2009-02-242-0/+18
| | | | | | | | | | | | | | | and PluginChannel to be able to see what happens when chrome runs extensions headless. It would be better to modify the existing IPC::Logging mechanism than add logging to PluginChannel, so that it could be useful for debugging other types of IPC problems. But I don't have time to do that right now. Review URL: http://codereview.chromium.org/28091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10302 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build break due to misplaced ifdef.mmoss@chromium.org2009-02-241-1/+2
| | | | | | | Review URL: http://codereview.chromium.org/27075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10234 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Linux shared build breakage due to undefined references.mmoss@chromium.org2009-02-231-2/+6
| | | | | | | | | | | | | | | This compiles an empty file so we can generate the libplugin target needed by other targets. This whole file does compile (see r9934), but it doesn't link because of undefined refs to files which aren't compiling yet (e.g. npobject_proxy stuff). But we need some sources to build an empty lib, otherwise scons fails to link in skia (when linking with no source files, the -L flag is left off the linker command, so libs in the build directory can't be found). Review URL: http://codereview.chromium.org/27019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10227 0039d316-1c4b-4281-b951-d872f2087c98
* Fix plugin hang that Earth team found.jam@chromium.org2009-02-217-15/+43
| | | | | | | | | Normally an NPObjectProxy uses the modal dialog event to figure out when it needs to pump window messages in an invoke. However, an NPObjectProxy created by an NPObjectStub never got access to this event, which led to this hang. BUG=7793 Review URL: http://codereview.chromium.org/20515 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10145 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor code from RenderThread and PluginThread and move it to ChildThread. ↵jam@chromium.org2009-02-219-218/+97
| | | | | | | | | | | ChildProcess now owns the ChildThread, which removes duplicate code and simplifies things. Clean up ChildProcess, there really was no need for all the templates and statics in it and its subclasses. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=10080 Review URL: http://codereview.chromium.org/21502 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10144 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 10080.jam@chromium.org2009-02-209-97/+218
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10082 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor code from RenderThread and PluginThread and move it to ChildThread. ↵jam@chromium.org2009-02-209-218/+97
| | | | | | | | | ChildProcess now owns the ChildThread, which removes duplicate code and simplifies things. Clean up ChildProcess, there really was no need for all the templates and statics in it and its subclasses. Review URL: http://codereview.chromium.org/21502 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10080 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce the amount of included header files. Vast change like in "Oh God! ↵maruel@chromium.org2009-02-182-0/+9
| | | | | | | | This revision changes half of the source files!". Review URL: http://codereview.chromium.org/20378 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9958 0039d316-1c4b-4281-b951-d872f2087c98
* Get something in chrome/plugin/ compiling to make Scons happy.thestig@chromium.org2009-02-182-2/+5
| | | | | | Review URL: http://codereview.chromium.org/20449 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9934 0039d316-1c4b-4281-b951-d872f2087c98
* Lots of small nits to help to split off webkit.dll.maruel@chromium.org2009-02-124-23/+24
| | | | | | | | | - Stop directly referencing WebPluginDelegateImpl. - Make the password manager to not allocation the data on heap. - Remove some unneeded includes. Review URL: http://codereview.chromium.org/20208 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9692 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup some forward declared structs that are not being used.thestig@chromium.org2009-02-051-1/+0
| | | | | | | Also do some lint removal while I'm at it. Review URL: http://codereview.chromium.org/20107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9269 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the dependency checker tool. Rules for a directory did modify their ↵stoyan@chromium.org2009-02-051-0/+9
| | | | | | | | | | directory parent rules. Using copy.copy() solves the problem.Additional fix when "allow-current-directory" rules was not applied if DEPS file is missing. Updated few DEPS file with reasonable rules. To prevent tree closing other dependencies are added. These need to be either legitimated or dependency removed. Review URL: http://codereview.chromium.org/21025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9221 0039d316-1c4b-4281-b951-d872f2087c98
* Finish taking out render_messages.h includes from headers.jam@chromium.org2009-02-053-0/+3
| | | | | | Review URL: http://codereview.chromium.org/20072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9209 0039d316-1c4b-4281-b951-d872f2087c98
* Commiting the changes from my previous cl that are specific to not including ↵jam@chromium.org2009-02-042-1/+4
| | | | | | | | | | render_messages.h/plugin_message.h unless necessary. TBR=mpcomplete Review URL: http://codereview.chromium.org/20059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9189 0039d316-1c4b-4281-b951-d872f2087c98
* Revert my change to get the tree green. Not sure why the tests became ↵jam@chromium.org2009-02-042-4/+1
| | | | | | | | | | flaky. I'll try to check them in again but in smaller chunks tomorrow. TBR=mpcomplete Review URL: http://codereview.chromium.org/21039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9132 0039d316-1c4b-4281-b951-d872f2087c98
* Make it easier/less work/less error-prone to create new IPC channel types ↵jam@chromium.org2009-02-042-1/+4
| | | | | | | | (i.e. renderer/plugin).Instead of having each message file include the internal one several times with different ifdefs, move that logic to ipc_message_macros.h. Also make the message class starting IDs come from an enum to ensure we don't use a value twice. I simplified the logging code a bit so we don't need X_messages.cc files.Clean up places that we were doing manual packing/unpacking. Most of this was in the automation code. I added a few new template functions to make it convenient to read the parameters from a message, and updated the code to use them.I also removed unnecessary includes of render/plugin_messages.h from headers to speed up compiling.I moved the traits of IPC structs beside the struct definition to make it more apparent what's going on, so we avoid people modifying the struct and forgetting to update the traits.Amit: please look at chrome/test/automation/tab_proxy.ccMarc-Antoine: chrome/browser/printing/*Matt: the rest Review URL: http://codereview.chromium.org/20015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9123 0039d316-1c4b-4281-b951-d872f2087c98
* Move proxy resolve requests out of plugin/renderer process, and into the ↵ericroman@google.com2009-01-311-0/+32
| | | | | | | | browser. Review URL: http://codereview.chromium.org/14142 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9006 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a timing issue that caused gears to fail to load sometimes.mpcomplete@google.com2009-01-211-3/+5
| | | | | | | | BUG=http://b/issue?id=1559007 BUG=http://code.google.com/p/chromium/issues/detail?id=4219 Review URL: http://codereview.chromium.org/18604 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8417 0039d316-1c4b-4281-b951-d872f2087c98
* Make CommandLine into a normal object, with some statics for getting at the ↵evan@chromium.org2009-01-212-2/+2
| | | | | | | | | | | 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
* Generate all chrome .vcproj files:sgk@google.com2009-01-171-9/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Path name translation (/ to \) of various MSVSTool attributes. * Explicit keyword= arguments to MSVSProject. This will likely go away eventually in favor of uniform behavior. * Add a relative_path_substitutions array that can be used to substitute in Visual Studio variable like $(OutDir). * Add a local_directory_prefix that can be set to './' to only affect files in the current directory. * Additional Keyword ordering in Tool attributes to continue to match the default order Visual Studio generates. * Add a Derived() proxy class that can wrap a File node to tell the .vcproj generation that we want the derived file, not its source(s), in the file list. * In the individual *.scons files, add the necessary files (mostly .h files) to file lists, and update MSVSProject() calls with the additional necessary information. Result is identical .vcproj files modulo the following differences: * Four locales .vcproj files (da, en-US, he and zh-TW) with source file orders that don't match the other locale .vcproj files have re-ordered file lists to match the rest. * Cosmetic XML changes (white space, ending tags) in: chrome/app/chrome_dll.vcproj chrome/app/generated_resources.vcproj net/build/net_resources.vcproj * Removal or addition of ./ prefixes from various files that don't match the other file specifications within their individual .vcproj files: chrome/installer/util/util.vcproj net/build/net.vcproj net/build/net_unittests.vcproj * Add missing empty sections (<ToolFiles>, <References>, <Globals>) for consistency with other .vcproj files: chrome/tools/test/image_diff/image_diff.vcproj third_party/libpng/libpng.vcproj third_party/zlib/zlib.vcproj * Add missing RootNameSpace attribute: chrome/test/automation/automation.vcproj testing/gtest.vcproj * Use && instead of \r\n as a command separator, to sidestep XML-generation problems: chrome/app/chrome_exe.vcproj * Remove unnecessary (?) duplicate files in the file list: chrome/browser/views/browser_views.vcproj (event_utils.cc and event_utils.h were duplicated) Review URL: http://codereview.chromium.org/17603 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8253 0039d316-1c4b-4281-b951-d872f2087c98
* Improve scrolling performance when there are many windowed plugins in a page.jam@chromium.org2009-01-164-15/+34
| | | | | | | | This works by parenting windowed plugins with an HWND that's hosted in the browser process, so that no synchronous cross process messages are used when scrolling. BUG=5428 Review URL: http://codereview.chromium.org/18082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8239 0039d316-1c4b-4281-b951-d872f2087c98
* Block Adobe Reader from issuing NPN_GetURL/NPN_GetURLRequests for URL ↵ananta@chromium.org2009-01-161-0/+13
| | | | | | | | schemes other than http/https/ftp. This mimics Firefox behavior and works around bug http://b/issue?id=1543405 which is a XSS vulnerability in the Adobe Reader plugin where it allows javascript in the parameters passed in to the URL.Bug=1543405R=jam Review URL: http://codereview.chromium.org/18070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8159 0039d316-1c4b-4281-b951-d872f2087c98
* WaitableEvent is the replacement for Windows events. Previously in the code, ↵agl@chromium.org2009-01-156-16/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | a HANDLE from CreateEvent was used for signaling, both within a process and across processes. WaitableEvent is the cross platform replacement for this. To convert: * HANDLE -> base::WaitableEvent* * ScopedHandle -> scoped_ptr<base::WaitableEvent> * CreateEvent -> new base::WaitableEvent * SetEvent -> base::WaitableEvent::Signal * ResetEvent -> base::WaitableEvent::Reset * ObjectWatcher -> base::WaitableEventWatcher * WaitForMultipleObjects -> static base::WaitableEvent::WaitMany ObjectWatcher remains for Windows specific code. WaitableEventWatcher has an identical interface save, * It uses WaitableEvents, not HANDLEs * It returns void from StartWatching and StopWatcher, rather than errors. System internal errors are fatal to the address space IMPORTANT: There are semantic differences between the different platforms. WaitableEvents on Windows are implemented on top of events. Windows events work across process and this is used mostly for modal dialog support. Windows events can be duplicated with DuplicateHandle. On other platforms, WaitableEvent works only within a single process. In the future we shall have to replace the current uses of cross-process events with IPCs. BEWARE: HANDLE, on Windows, is a void *. Since any pointer type coerces to void *, you can pass a WaitableEvent * where a HANDLE is expected without any build-time errors. Review URL: http://codereview.chromium.org/16554 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8126 0039d316-1c4b-4281-b951-d872f2087c98
* New implementations of core plugin libraries.avi@google.com2009-01-151-1/+1
| | | | | | Review URL: http://codereview.chromium.org/17427 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8122 0039d316-1c4b-4281-b951-d872f2087c98
* Updating so that Gears can spawn file selectors when running in the renderer ↵zork@google.com2009-01-131-0/+13
| | | | | | | | process Review URL: http://codereview.chromium.org/14907 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7986 0039d316-1c4b-4281-b951-d872f2087c98
* remove chrome dependencies from win sandboxing headers. Wrap sandbox code topinkerton@google.com2009-01-091-2/+6
| | | | | | | make the main routine a little cleaner. Unify the parameters of each of the "main" entry points so we can more easily abstract platform differences in the future. BUG=5323 Review URL: http://codereview.chromium.org/17426 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7825 0039d316-1c4b-4281-b951-d872f2087c98
* Change "dll" to "plugin" where appropriate.avi@google.com2009-01-063-5/+5
| | | | | | Review URL: http://codereview.chromium.org/16543 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7617 0039d316-1c4b-4281-b951-d872f2087c98
* Move plugins to FilePaths, some cleanupavi@google.com2009-01-065-12/+14
| | | | | | Review URL: http://codereview.chromium.org/16456 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7588 0039d316-1c4b-4281-b951-d872f2087c98
* Mass convert ChromeStaticLibrary -> ChromeLibrary, including pulling the ↵evanm@google.com2008-12-261-1/+1
| | | | | | | | | | | updated ICU dep that uses it as well. Add a SHARED scons command-line flag to build shared libraries. Review URL: http://codereview.chromium.org/16477 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7479 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes NPAPITester ui tests. I was trying to diagnose failing ui testssky@google.com2008-12-231-3/+29
| | | | | | | | | | | | | | and with page heap enabled these tests consistenly crashed on me. I've no idea about this code, but this change fixed it. As far as I can tell in some cases Send deletes the NPObjectProxy, so that any code that attempts to access the proxy after the Send may crash. BUG=none TEST=none Review URL: http://codereview.chromium.org/16418 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7452 0039d316-1c4b-4281-b951-d872f2087c98
* Initial generation of native Visual Studio solution filessgk@google.com2008-12-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (project files still to come). To wit: * Solution file configuration is in *_sln.scons files (base\base_sln.scons, chrome\chrome_sln.scons). * Individual Project file configuration is in the the .scons file for the relevant target (base\base_unittests.scons, third_party\libxml\libxml.scons, etc.)--that is, where their file lists will live. * MSVSProject() calls are currently placeholders that establish the existence of Project Nodes (and Project dependencies) but don't yet have actual Project configuration information (file lists, .vsprops, etc.). * Configuraiton is very manual. In particular, the entries in the .sln file will be written out in exactly the order specified in the configuration(s). The current ordering is taken from our existing .sln files, so we can generate virtually the same configurations on output. * Generated solution files are nearly byte-for-byte identical with our existing .sln files, modulo: * net\dump_cache has a WebsiteProperties sections (making that configurable per project isn't important right now); * sandbox\sandbox.sln was missing a dependency of base.vcproj on on debug_message.vcproj (present in other .sln files) * webkit\webkit.sln was missing dependencies of WebCore.vcproj on libxml_config.vcproj and libxslt_config.vcproj (present in chrome.sln); * add a handful of other miscellaneous missing dependencies on various .vcproj definitions in chrome.sln (present in other .sln files). * remove stats_viewer.csproj from chrome.sln (sorry, mbelshe), which was complicating the solution configuration with unnecessary (for us) "Mixed Platform" types; * All MSVSFolder(), MSVSProject() and MSVSSolution() calls have hard-wired guid= values taken from our existing configuration, so we can: 1) verify generation of working configs; 2) minimize diffs when checking in generated .sln files. We can remove these in the future in favor of extracting them from existing .sln files if we wish. * Add ChromeMSVSFolder(), ChromeMSVSProject() and ChromeMSVSSolution() wrappers to chromium_builders.py, that gate the underlying call to the env.MSVS*() builders based on whether env.Bit('msvs') is set (i.e., we're in --mode=msvs). * Remove platform-specific gating of to-be-ported .scons files that we now need to load on any platform to generate coheren MSVS files. Move the env.Bit('windows') tests for actually building their executables into the individual .scons files. Review URL: http://codereview.chromium.org/14472 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7297 0039d316-1c4b-4281-b951-d872f2087c98