Merge trunk r97497 and its many dependents to the 14.0.835 branch.
The following changes were merged:
Changes affecting CFBundle/NSBundle loading:
crrev.com/96893 codereview.chromium.org/7661007 crbug.com/{90193,90920,90716}
crrev.com/97276 codereview.chromium.org/7669032 crbug.com/{90193,93262}
crrev.com/97497 codereview.chromium.org/7694008 crbug.com/90193
Changes to update mach_override to the version used on the trunk:
crrev.com/94131 codereview.chromium.org/7461053
crrev.com/97351 codereview.chromium.org/7670025 crbug.com/{90884,91068,93191}
crrev.com/97379 codereview.chromium.org/7655052
crrev.com/97582 codereview.chromium.org/7693006
crrev.com/97770 codereview.chromium.org/7710011 crbug.com/93736
Additionally, changes were made to chrome/common/mac/cfbundle_blocker.mm to
only enable the block on Mac OS X 10.7 ("Lion"), and to white-list a specific
bundle.
Don't load third-party code from any of the following locations:
Prefixes:
~/Library
/Library
/Network/Library
Suffixes:
Application Support/SIMBL/Plugins
Contextual Menu Items
InputManagers
ScriptingAdditions
Hosting parasitic third-party code in our application is the cause of
instability which has only increased since the release of Mac OS X 10.7
("Lion").
This replaces an earlier version of the change that only blocked NSBundle
loads. This version blocks CFBundle loads. NSBundle uses CFBundle to load
modules internally, so the NSBundle code is removed. The earlier version was
only operative in the browser process. This version is active in all process
types.
Some blocked modules may result in messages being logged to the system
console, such as:
Google Chrome: OpenScripting.framework - can't find entry point
(EntryPointName) in scripting addition /Library/ScriptingAdditions/...
Google Chrome[12345:678] Cannot find function pointer (EntryPointName) for
factory (UUID) in CFBundle/CFPlugin (address) </Library/Contextual Menu
Items/...> (not loaded)
BUG=
90193
TEST=Crash less? Watch the stats.
Make sure that things in /Library/Contextual Menu Items,
/Library/InputManagers, and /Library/ScriptingAdditions aren't loaded
into the process. Any functionality they provide should be absent from
Chrome. Any crashes they provide should be absent as well.
Committed:
http://src.chromium.org/viewvc/chrome?view=rev&revision=98462