1. Make sure chrome_elf.dll imports nothing besides kernel32, advapi32, and some msvc libs (DEBUG builds)
2. Add gyp action and test to ensure chrome_elf.dll is always the first entry in chrome.exe's import table.

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=242834

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=243048

Review URL: https://codereview.chromium.org/109483003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245197 0039d316-1c4b-4281-b951-d872f2087c98
Fixing Firefox 21+ password import

Firefox 21 changed the directory layout within Firefox.app.
Some libs and content were moved from Firefox.app/Content/MacOS to
Firefox.app/Content/MacOS/browser, and this new location was
read as app_path_ by the importer. However, libnss3.dylib is still
in Firefox.app/Content/MacOS.

Changing utils to set app_path_ based on compatibility.ini's
LastPlatformDir (which always has Firefox.app/Content/MacOS)
instead of LastAppDir (which was changed to
Firefox.app/Content/MacOS/browser).

'searchplugins' subdir was moved into the new 'browser' subdir
so search engine importing code has to be adjusted.

Enabling Firefox importer browser tests on Mac. They didn't
work because they attempted to use Windows nss libraries. 
They should have been using Mac-specific libraries which are 
already available for Mac unit tests.

BUG=321112, 48007

Review URL: https://codereview.chromium.org/117123002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245198 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 245198
Avoid loading the last used browser profile in app_controller_mac when it's not needed.

Currently -[AppController applicationDidFinishLaunching:] and
-[AppController windowLayeringDidChange:] can trigger a synchronous load
of the last used _browser_ profile, even when no browsers are being
opened, and that profile is not required. This causes delays when the
app launcher or app shims are launched for a profile that doesn't match
the last used browser profile, because both profiles must be loaded and
initialized.

This change moves ChromeBrowserMain's GetStartupProfilePath() from an
anonymous namespace to startup_browser_creator.h so that AppController
can share the logic that determines the profile loaded when the browser
process starts up.

The shim process is tweaked slightly to ensure it passes
`--show-app-list` for the app launcher shim, similar to the Windows app
launcher. This allows a newly created browser process to determine that
the first thing it will be doing is showing a launcher.

BUG=178260, 262848

Review URL: https://codereview.chromium.org/127343004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245199 0039d316-1c4b-4281-b951-d872f2087c98
[Files.app] Use 'activate' event on the view-change menuitems instead of 'click' event

A 'click' event can't be handle an activation by keyboard.

BUG=329166
TEST=manually tested

Review URL: https://codereview.chromium.org/128023002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245200 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 245200