| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now it is possible for some random code to directly terminate some
process (most notably the browser) without generating a crash dump.
This CL moves r217049 to a place where it covers any process type while
at the same type is Chrome-specific (not part of content). It is a 'minimal
patch' designed to be applied to and older branch.
BUG=275818
TEST=none
R=thestig@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23190042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219702 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(try #3).
For the browser use case it is convenient to have a single ContentMain entry point function that handles all initialization, run and shutdown. For embedded use cases it is often necessary to integrate with existing application message loops where initialization and shutdown must be handled separately.
To support sharing of this code the following changes were required:
1. Refactor the ContentMain function to create a ContentMainRunner class containing separate initialization, run and shutdown functions.
2. Refactor the BrowserMain function and BrowserMainLoop class to create a BrowserMainRunner class containing separate initialization, run and shutdown functions.
3. Add a new BrowserMainParts::GetMainMessageLoop method. This is necessary to support creation of a custom MessageLoop implementation while sharing BrowserMainRunner initialization and shutdown code.
BUG=112507
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9375017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121454 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
embedded use cases (try #2).
Tests failing.
Review URL: https://chromiumcodereview.appspot.com/9372027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121245 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(try #2).
For the browser use case it is convenient to have a single ContentMain entry point function that handles all initialization, run and shutdown. For embedded use cases it is often necessary to integrate with existing application message loops where initialization and shutdown must be handled separately.
To support sharing of this code the following changes were required:
1. Refactor the ContentMain function to create a ContentMainRunner class containing separate initialization, run and shutdown functions.
2. Refactor the BrowserMain function and BrowserMainLoop class to create a BrowserMainRunner class containing separate initialization, run and shutdown functions.
3. Add a new BrowserMainParts::GetMainMessageLoop method. This is necessary to support creation of a custom MessageLoop implementation while sharing BrowserMainRunner initialization and shutdown code.
BUG=112507
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9347022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121236 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
use cases."
This reverts commit r120574. Test failures.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120581 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the browser use case it is convenient to have a single ContentMain entry point function that handles all initialization, run and shutdown. For embedded use cases it is often necessary to integrate with existing application message loops where initialization and shutdown must be handled separately.
To support sharing of this code the following changes were required:
1. Refactor the ContentMain function to create a ContentMainRunner class containing separate initialization, run and shutdown functions.
2. Refactor the BrowserMain function and BrowserMainLoop class to create a BrowserMainRunner class containing separate initialization, run and shutdown functions.
3. Add a new BrowserMainParts::GetMainMessageLoop method. This is necessary to support creation of a custom MessageLoop implementation while sharing BrowserMainRunner initialization and shutdown code.
BUG=112507
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9190018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120574 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Windows will follow very soon, just proceeding in small steps.
Previously Linux browser_tests were launching chrome binary,
and Windows called PathService::Override for no reason.
Mac is going to be _much_ harder.
BUG=none
Review URL: http://codereview.chromium.org/8178004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104364 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also move the --process=extension command line flag to --extension-process
BUG=89642
TEST=everything still works
Review URL: http://codereview.chromium.org/8113035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104173 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
EOM.
BUG=94551
TEST=none
Review URL: http://codereview.chromium.org/8133008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104068 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
necessary X libraries
BUG=97131
TEST=None
Review URL: http://codereview.chromium.org/8118027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104050 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
------------------------------------------------------------------------
r842 | mark@chromium.org | 2011-10-03 15:54:28 -0400 (Mon, 03 Oct 2011) | 11 lines
Use a bootstrap subset port for the inspector, tying the subset to the
lifetime of the task to be monitored, the invoking task. This allows the
bootstrap server (in launchd) to automatically clean up the Mach server
registration when the task being monitored exits, avoiding leaks of
com.Breakpad.Inspector(pid) ports in "launchctl bslist".
BUG=chromium:28547
TEST=Handler should still crash catches, but inspector ports should no longer
show up in "launchctl bslist". They should show up under a subset port in
"launchctl bstree" instead. "launchctl bstree" must be invoked as root.
Review URL: http://breakpad.appspot.com/306001
------------------------------------------------------------------------
This gives each Breakpad instance its own bootstrap subset port as a subset
of the process' bootstrap port, and places the Breakpad inspector port into
the bootstrap subset port.
This completely eliminates leaks of on-demand Mach services advertised via the
bootstrap server.
This also reverts r34318 and r34534, "temporary" (21-month) hacks to mitigate
the leak. The temporary hacks were never completely effective against Breakpad
ports leaking from child processes.
DestructCrashReporter at process shutdown was deemed unnecessary and is being
removed. As this was the last caller to that function, the implementation is
removed as well.
This is addressed in Breakpad rather than Chrome because a mechanism to fix it
without changing the process' bootstrap port was discovered. It was determined
that the rohitfork port is already immune to leaks of the sort that the
Breakpad inspector port experiences. A previous attempt to fix this bug was
r103089, but that caused bug 98550. This strategy is safer.
The forked Breakpad module.cc is updated to match upstream r835, which allows
the unforking of the CFI-disabling code. A new CFI-disabling "-c" option to
dump_syms is now available and used by the dump_product_syms script.
BUG=28547
TEST=1. "launchctl bslist" should no longer show on-demand
com.Breakpad.Inspector ports (in Breakpad-enabled builds with Breakpad
on) ports.
2. "launchctl bstree" (as root) should reveal a bootstrap subset for each
process as a child of the per-user/per-session bootstrap namespace if
crash reporting is on. One com.Breakpad.Inspector port should show up
as a child of each bootstrap subset. As each process exits (even if
mercilessly killed by "kill -9"), the associated subsets and inspector
ports should disappear.
3. Breakpad reports should be generated on crashes. For example,
about:crash and about:inducebrowsercrashforrealz should each cause a
minidump to be written in
~/Library/Application Support/Google/Chrome/Crash Reports
when Breakpad is enabled. This tests that the Breakpad ports are
functioning properly.
4. The browser process should be able to access child process data.
Window:Task Manager should show valid values for the Memory, CPU, and
Network columns for all child processes. This tests that the rohitfork
port is functioning properly. Note that this version of the change
does not change the handling of rohitfork ports at all, but this test
case was useful in a previous version of this patch.
5. Test case from bug 98550: Have a link in a web browser window (in a
different browser) and drag it into Chrome. Expect the drag operation
to operate properly in both the tab strip and in web content. See bug
98550 for details.
6. Unreported test case that failed in r103089: browser relaunch should
work. Visit chrome://flags, change some flags to get the "Relaunch Now"
button at the bottom (you can put the flags back to how you found them
initially), and click "Relaunch Now". The browser should close and then
be relaunched.
Review URL: http://codereview.chromium.org/8120007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103778 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
utility process like the rest of our tasks that we want to run outside the browser. When that code was first written, we didn't have the utility process.
Review URL: http://codereview.chromium.org/8108001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103714 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
anything from content.
I also moved ChromeContentPluginClient to chrome\plugin where it really belongs (i.e. to match what we do with the utility client).
Review URL: http://codereview.chromium.org/8095011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103569 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Give each process its own bootstrap subset port as a subset of its inherited
bootstrap port, and use the bootstrap subset port as the bootstrap port.
This completely eliminates leaks of on-demand Mach services advertised via the
bootstrap server.
This also reverts r34318 and r34534, "temporary" (21-month) hacks to mitigate
the leak. The temporary hacks were never completely effective against Breakpad
ports leaking from child processes.
DestructCrashReporter at process shutdown was deemed unnecessary and is being
removed. As this was the last caller to that function, the implementation is
removed as well.
This is addressed in Chrome rather than Breakpad to account for the potential
leak of rohitfork ports if the browser process crashes or is mercilessly
killed, because library code messing with the task's bootstrap port doesn't
strike me as kosher, and because the Mac Breakpad code is scheduled to be
replaced with something better that doesn't attempt to leak ports like a sieve
within a couple of months anyway.
BUG=28547, 98550
TEST=1. "launchctl bslist" should no longer show on-demand
com.Breakpad.Inspector ports (in Breakpad-enabled builds with Breakpad
on) or com.google.Chrome.rohitfork, com.google.Chrome.canary.rohitfork,
or org.chromium.Chromium.rohitfork ports.
2. "launchctl bstree" (as root) should reveal a bootstrap subset for the
browser process as a child of the per-user/per-session bootstrap
namespace containing the rohitfork port and browser's Breakpad port if
crash reporting is on. There should also be a bootstrap subset for
each child process as a child of the browser's bootstrap subset. If
crash reporting is on, each child process' bootstrap subset should
contain a Breakpad port.
3. Breakpad reports should be generated on crashes. For example,
about:crash and about:inducebrowsercrashforrealz should each cause a
minidump to be written in
~/Library/Application Support/Google/Chrome/Crash Reports
when Breakpad is enabled. This tests that the Breakpad ports are
functioning properly.
4. The browser process should be able to access child process data.
Window:Task Manager should show valid values for the Memory, CPU, and
Network columns for all child processes. This tests that the rohitfork
port is functioning properly.
Review URL: http://codereview.chromium.org/8059041
TBR=mark@chromium.org
Review URL: http://codereview.chromium.org/8086003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103303 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bootstrap port, and use the bootstrap subset port as the bootstrap port.
This completely eliminates leaks of on-demand Mach services advertised via the
bootstrap server.
This also reverts r34318 and r34534, "temporary" (21-month) hacks to mitigate
the leak. The temporary hacks were never completely effective against Breakpad
ports leaking from child processes.
DestructCrashReporter at process shutdown was deemed unnecessary and is being
removed. As this was the last caller to that function, the implementation is
removed as well.
This is addressed in Chrome rather than Breakpad to account for the potential
leak of rohitfork ports if the browser process crashes or is mercilessly
killed, because library code messing with the task's bootstrap port doesn't
strike me as kosher, and because the Mac Breakpad code is scheduled to be
replaced with something better that doesn't attempt to leak ports like a sieve
within a couple of months anyway.
BUG=28547
TEST=1. "launchctl bslist" should no longer show on-demand
com.Breakpad.Inspector ports (in Breakpad-enabled builds with Breakpad
on) or com.google.Chrome.rohitfork, com.google.Chrome.canary.rohitfork,
or org.chromium.Chromium.rohitfork ports.
2. "launchctl bstree" (as root) should reveal a bootstrap subset for the
browser process as a child of the per-user/per-session bootstrap
namespace containing the rohitfork port and browser's Breakpad port if
crash reporting is on. There should also be a bootstrap subset for
each child process as a child of the browser's bootstrap subset. If
crash reporting is on, each child process' bootstrap subset should
contain a Breakpad port.
3. Breakpad reports should be generated on crashes. For example,
about:crash and about:inducebrowsercrashforrealz should each cause a
minidump to be written in
~/Library/Application Support/Google/Chrome/Crash Reports
when Breakpad is enabled. This tests that the Breakpad ports are
functioning properly.
4. The browser process should be able to access child process data.
Window:Task Manager should show valid values for the Memory, CPU, and
Network columns for all child processes. This tests that the rohitfork
port is functioning properly.
Review URL: http://codereview.chromium.org/8059041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103089 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This creates a new set of IPC messages for the utility process to load plugins
to get the WebPluginInfo data in a separate process. Previously this was done
in the browser process, but that involves loading arbitrary third-party code
into the address space and then executing it.
BUG=17863,95114
TEST=Plugins work as before.
Review URL: http://codereview.chromium.org/7889025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102971 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=96631
TEST=none
Review URL: http://codereview.chromium.org/7931005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101779 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
chrome as the functionality
exposed by this extension is chrome specific. The IPCs used by this extension have all been moved to chrome
to a new header file benchmarking_messages.h in chrome\common.
Added a new message filter object in chrome\browser which filters the benchmarking IPCs.
Most of the changes in this CL are centered around ensuring that the benchmarking stuff gets initialized
in the same order as before.
Continuing changes to get rid of the pattern of IPC messags spanning across content and chrome.
BUG=87335
Review URL: http://codereview.chromium.org/7885013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101214 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
chrome_main.
R=jam@chromium.org
BUG=90442
Review URL: http://codereview.chromium.org/7841009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100809 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
module. Once it's working, this will allow developers working on the core chrome code/web platform/networking etc to test their changes on a much smaller and hence faster to build/run/debug browser.
This doesn't do anything yet because it's blocked on having TabContentsView implementations in content.
BUG=90445
Review URL: http://codereview.chromium.org/7857019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100778 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
targets are very simple and used little code from chrome targets. However their dependency on chrome targets was problematic because a lot of code wasn't being built for 64 bit on Windows, and so there were a lot of "dummy" files being added with stub functions and code was also being compiled out in random places for NACL_WIN64.
I've made the NaCl 64 bit windows targets self contained. They do use a few files from common, but those files are self-contained. In the future, we could move these to be in the same 64 bit target as the constants from common. However that won't make a maintenance difference since someone could still introduce link dependencies to other files in common.
Additionally, since we're not using chrome code anymore, we can avoid having both nacl.exe and nacl.dll. nacl.exe is sufficient, and this saves 1.4MB of uncompresed binaries in the installer.
BUG=86322
Review URL: http://codereview.chromium.org/7863024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100767 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
all embedders of content. I've based the refactoring on the existing BrowserMainParts. This is the first step; I didn't want to do it all at the same time because it would be too big. Remaining tasks:-rename the browser_main files in chrome to chrome_browser_main-move the OS specific implementations of BrowserMainParts that are needed for content-finish splitting the remaining BrowserMain function (now that's in TemporaryContinue())BUG=90445
Review URL: http://codereview.chromium.org/7779040
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99884 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
removed from them. I just kept the Mac one since we need a file that can include objective c files.
Review URL: http://codereview.chromium.org/7779018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99836 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the browser process, this will be overridden by
-[BrowserCrApplication init] (which raises it).
BUG=94551
TEST=Developers don't complain about zombie objects in other processes.
Review URL: http://codereview.chromium.org/7826016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99754 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99455 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
and add callbacks to ContentMainDelegate to handle the Chrome specific pieces.
BUG=90445
Review URL: http://codereview.chromium.org/7792080
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99452 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
embedders. I've only moved a little bit of the code for now, and will do the rest in followup changes.
BUG=90445
Review URL: http://codereview.chromium.org/7817015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99193 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
This is in preparation for moving the code in ChromeMain (and associated platform files) to a common place that can be used by both chrome and other embedders of content (i.e. content_shell). Included is a change to make the sandbox code not need an AtExitManager. This is necessary because content_shell would be just one exe, and we'd need to initialize the sandbox before calling ChromeMain, which is what would creat AtExitManager.I removed the code that printed the tcmalloc stacks in the OOM handler (i.e. r33993) under Windows. The issue is I wanted to move the OOM handling code to base to match the other platforms (in a long string of changes to make the startup code more sane, so I can share it with a browser built over content). When I tried moving the tcmalloc code to base, then I ran into a bunch of linker errors because a bunch of targets that depend on base don't depend on allocator. When I tried to add that to base, I ran into strange gyp errors (see patchset 2). I asked Jim/Eric and they said they don't use this data from dumps, and that most of the OOM minimdumps are in v8 heap anyways. When James get back, if he still uses this I can figure out how to put this back.BUG=90445
Review URL: http://codereview.chromium.org/7810005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99032 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
http://trac.webkit.org/changeset/93879.
TEST=SharedWorker ui tests all crash on OSX after the WebKit roll without this.
Review URL: http://codereview.chromium.org/7777004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98595 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"EH") even when launching a child passed in via
switches::kBrowserSubprocessPath.
This allows browser_tests to operate even with the strict process type checks
in ChromeMain.
BUG=90221, 93551
TEST=browser_tests (for example, PrerenderBrowserTest.PrerenderDelayLoadPlugin)
Review URL: http://codereview.chromium.org/7718024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98034 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=90221, 93551
TEST=everything
Review URL: http://codereview.chromium.org/7718023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97989 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Client loader processes.
Some plug-ins depend on having an executable heap. They write code to data
pages and attempt to execute it without calling mprotect to mark this code
as executable.
Native Client needs to allocate a contiguous 1GB of address space. ASLR may
interfere with there being a "hole" this large in the address space by the
time NaCl makes its request.
Non-executable heaps are only available in 10.7 and later for 32-bit
processes.
PIE/ASLR was formerly disabled for all processes other than the browser
process. This change reenables it for all processes other than the NaCl
loader. PIE/ASLR is available on 10.5 and later, although the implementation
is stronger in 10.7 than in earlier releases.
This change results in two new helpers in addition to the existing
Chromium Helper.app: Chromium Helper EH.app (for executable heaps) and
Chromium Helper NP.app (for no PIE). libplugin_carbon_interpose.dylib moves
out of the helper .app and directly into the versioned directory. The
InfoPlist.strings have been removed from the helper app, but empty .lproj
directories remain.
BUG=90221, 93551
TEST=everything
Review URL: http://codereview.chromium.org/7714018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97984 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First landing failed because of an obscure problem with building
linux_shared. This change passes the linux_shared trybot (and
linux and linux_chromeos trybots).
Changing OOM range to 0, 1000 and tweaking OOM algorithm.
With this change, we now use the newer oom_score_adj file (with
fallback to oom_adj when on a system that doesn't support it) so that
we can take advantage of a finer range ([0, 1000] instead of [0, 15]).
Also tweaked the OOM priority manager to prioritize things in a
slightly different order, preferring (even more) not to kill tabs that
the user has currently selected.
Original review: http://codereview.chromium.org/7671033/
BUG=chromium-os:18421, chromium:65009
TEST=Ran on device, observed OOM adj values, forced OOM conditions to
watch kills.
Review URL: http://codereview.chromium.org/7708020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97888 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this change, we now use the newer oom_score_adj file (with
fallback to oom_adj when on a system that doesn't support it) so that
we can take advantage of a finer range ([0, 1000] instead of [0, 15]).
Also tweaked the OOM priority manager to prioritize things in a
slightly different order, preferring (even more) not to kill tabs that
the user has currently selected.
BUG=chromium-os:18421, chromium:65009
TEST=Ran on device, observed OOM adj values, forced OOM conditions to
watch kills.
Review URL: http://codereview.chromium.org/7671033
TBR=gspencer@google.com
Review URL: http://codereview.chromium.org/7685030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97728 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this change, we now use the newer oom_score_adj file (with
fallback to oom_adj when on a system that doesn't support it) so that
we can take advantage of a finer range ([0, 1000] instead of [0, 15]).
Also tweaked the OOM priority manager to prioritize things in a
slightly different order, preferring (even more) not to kill tabs that
the user has currently selected.
BUG=chromium-os:18421, chromium:65009
TEST=Ran on device, observed OOM adj values, forced OOM conditions to
watch kills.
Review URL: http://codereview.chromium.org/7671033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97724 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Review URL: http://codereview.chromium.org/7694008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97497 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=None
TEST=None
TBR=mark@chromium.org
Review URL: http://codereview.chromium.org/7520025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94446 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some processes [e.g. the GPU process] do not set up a SystemMonitor object, since the startup code was changed to always allocate the Power notification IO port [http://codereview.chromium.org/7235023/] these processes were causing a delay in sleep as the power manager was trying to contact the process.
This change whitelists the IO port allocation in ChromeMain() to only include process types that allocate a SystemMonitor which fixes the sleep issue.
If a process not in the whitelist attempts to use the SystemMonitor it will hit a DCHECK in a debug build and the error will be ignored in release (see SystemMonitor::PlatformInit()).
BUG=88867
TEST=When Chrome is running, Macs should sleep immediately.
Review URL: http://codereview.chromium.org/7491038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94279 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
http://codereview.chromium.org/7458009 .
BUG=none
TEST=none
TBR=mark
Review URL: http://codereview.chromium.org/7465062
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94228 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
errors until receipt of the first IPC message.
Tested by running WebGL content with this patch on Mac and Windows.
BUG=84650
TEST=none
Review URL: http://codereview.chromium.org/7458009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93676 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
processes for NaCl modules.
BUG=nativeclient:480
TEST=NaCl tests in Chrome
Review URL: http://codereview.chromium.org/7442001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93195 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix string hackery in net/tools/dump_cache/dump_cache.cc
Fix const casts in chrome/installer/util/product.cc and base/process_util_win.cc.
BUG=73195
TEST=none
Review URL: http://codereview.chromium.org/7386002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93165 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fork implementations.
BUG=nativeclient:480
TEST=existing zygote tests
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=92787
Review URL: http://codereview.chromium.org/7397003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92858 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
R=ben@chromium.org
Review URL: http://codereview.chromium.org/7328011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92819 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for flexible
fork implementations.
BUG=nativeclient:480
TEST=existing zygote tests
Review URL: http://codereview.chromium.org/7397003
TBR=bradchen@google.com
Review URL: http://codereview.chromium.org/7400014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92789 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fork implementations.
BUG=nativeclient:480
TEST=existing zygote tests
Review URL: http://codereview.chromium.org/7397003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92787 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In OS X 10.7 Lion, the IO port we listen on to monitor system power events is blocked by the Sandbox.
Move the allocation of the IO port so it happens early on during Chrome startup.
BUG=83783
TEST=When putting a system to sleep with Chrome running, the browser shouldn't crash. Also, need to monitor crash logs to see that this crash goes away.
Review URL: http://codereview.chromium.org/7235023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91462 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
marking this as TBR=jam@ because he is on vacation. He previously LGTMed the reverted CL (link below) and there are not substantive changes since then.
Modify the Chrome Linux zygote to support a nacl_helper executable,
facilitating a special address-space layout as required by NaCl on ARM
and ATOM CPUs. In passing, simplify some shared elements of launching
NaCl modules in Chrome.
This is an update to a previously reverted CL. Please see
http://codereview.chromium.org/6995121 for the earlier reviews.
Patching nacl_helper CL into fresh branch.
BUG=nativeclient:480
TEST=nativeclient in-browser tests
TBR=jam@chromium.org
TBR=bradchen@google.com
Review URL: http://codereview.chromium.org/7230057
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90813 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TBR=agl@chromium.org
BUG=
TEST=
TBR=
TBR=bradchen@google.com
Review URL: http://codereview.chromium.org/7272031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90812 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
TBR=agl@chromium.org
BUG=
TEST=
TBR=
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90808 0039d316-1c4b-4281-b951-d872f2087c98
|