summaryrefslogtreecommitdiffstats
path: root/content/common/child_process_messages.h
Commit message (Collapse)AuthorAgeFilesLines
* Rearrange GLImage API to create them with a usage typealexst@chromium.org2014-05-061-1/+2
| | | | | | | | | | instead of using usage type while mapping the buffer. BUG= Review URL: https://codereview.chromium.org/255713008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268548 0039d316-1c4b-4281-b951-d872f2087c98
* Add initial GpuMemoryBufferSurfaceTexture implementation.reveman@chromium.org2014-03-311-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the plumbing and allocation logic needed to implement a surface texture backed GpuMemoryBuffer on Android. The allocation flow is the same as other GpuMemoryBuffer implementations. That is; the browser process decides if a renderer is allowed to allocate a new GpuMemoryBuffer or not. Successful allocation results in a valid GpuMemoryBufferHandle being returned to the renderer. This handle can be used to create a GpuMemoryBufferImpl instance on the renderer side, which can be mapped into the renderer address space and used as existing GpuMemoryBufferImpls. The same handle can also be used to register the GpuMemoryBuffer with the GPU process and and create a GLImage that can be used for sampling. Two new interfaces are added to allow sharing of surface textures across process boundaries: SurfaceTextureLookup, this interface is used by a renderer to acquire a native widget for a surface texture. The native widget allows the renderer to map the storage of the surface texture into its address space. The current implementation of this interface uses Java Binder IPC to share the surface texture surface with a renderer process. SurfaceTextureTracker, this interface is used by GLImage implementation to acquire ownership of surface textures allocated by the browser process. Current implementation of this interface only works with GLImage instances in the browser process. A different implementation can be added to support out of process GLImage instances. This is currently limited to buffered surface textures and GL_TEXTURE_EXTERNAL_OES texture target. BUG=269808 Review URL: https://codereview.chromium.org/195583003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260498 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 257161 "Revert 256955 "Add shared bitmap managers for bro..."jbauman@chromium.org2014-03-141-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Turns out the child process was mapping the memory twice, so fixed that. > Revert 256955 "Add shared bitmap managers for browser and render..." > > Seems to be causing renderer crashes and possibly out-of-memory issues. > > > Add shared bitmap managers for browser and renderer processes. > > > > The shared bitmap managers will allow software tiles to be allocated in shared memory, so delegated rendering could be used with them. > > > > BUG=327220 > > R=danakj@chromium.org, jschuh@chromium.org, piman@chromium.org > > > > Review URL: https://codereview.chromium.org/148243013 > > TBR=jbauman@chromium.org > > Review URL: https://codereview.chromium.org/197703004 TBR=jbauman@chromium.org Review URL: https://codereview.chromium.org/200913002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257216 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 256955 "Add shared bitmap managers for browser and render..."jbauman@chromium.org2014-03-141-18/+0
| | | | | | | | | | | | | | | | | | | | Seems to be causing renderer crashes and possibly out-of-memory issues. > Add shared bitmap managers for browser and renderer processes. > > The shared bitmap managers will allow software tiles to be allocated in shared memory, so delegated rendering could be used with them. > > BUG=327220 > R=danakj@chromium.org, jschuh@chromium.org, piman@chromium.org > > Review URL: https://codereview.chromium.org/148243013 TBR=jbauman@chromium.org BUG=352689,352616,352618 Review URL: https://codereview.chromium.org/197703004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257161 0039d316-1c4b-4281-b951-d872f2087c98
* Add shared bitmap managers for browser and renderer processes.jbauman@chromium.org2014-03-131-0/+18
| | | | | | | | | | | The shared bitmap managers will allow software tiles to be allocated in shared memory, so delegated rendering could be used with them. BUG=327220 R=danakj@chromium.org, jschuh@chromium.org, piman@chromium.org Review URL: https://codereview.chromium.org/148243013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256955 0039d316-1c4b-4281-b951-d872f2087c98
* Use validating IPC enum macros in child process messages.tsepez@chromium.org2014-02-101-2/+4
| | | | | | | | | | | This is part of a long-running background task to remove the remaining uses of the unchecked IPC_ENUM_TRAITS() macro. BUG=246708 Review URL: https://codereview.chromium.org/131453015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250181 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Add IOSurface backed GpuMemoryBuffer implementation.reveman@chromium.org2013-12-051-2/+7
| | | | | | | | | | | | This adds a GpuMemoryBuffer implementation on MacOSX that is backed by IOSurfaces. These GpuMemmoryBuffers provide zero-copy texture updates when using impl-side painting on MacOSX. BUG=321785,323338 Review URL: https://codereview.chromium.org/77023002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238841 0039d316-1c4b-4281-b951-d872f2087c98
* Add multi-process GpuMemoryBuffer framework.reveman@chromium.org2013-10-221-0/+13
| | | | | | | | | | | | | | | | | | | | | | | This adds a multi-process framework for reading/writing directly to memory that the 3D graphics hardware can use for rendering without any costly copying having to be done on the GPU process side. A GpuMemoryBuffer is a type of shared memory that can be accessed by the GPU. The high level procedure required to allocate this type of memory is almost exactly the same as that for standard shared memory. Only the browser process can allocated the memory and it needs to be shared and registered with the GPU process before it can be used. This also adds a GpuMemoryBuffer type that is backed by standard shared memory for testing purposes. TEST=gpu_unittests --gtest_filter=MockGpuMemoryBufferTest.Lifecycle BUG=261649 Review URL: https://codereview.chromium.org/19762004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230248 0039d316-1c4b-4281-b951-d872f2087c98
* Use a direct include of the shared_memory header in content/browser/, ↵avi@chromium.org2013-07-171-1/+1
| | | | | | | | | | | | content/child/, content/common/. BUG=260807 TEST=none TBR=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/19398004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211977 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded gurl.h includes.thestig@chromium.org2013-06-211-1/+0
| | | | | | Review URL: https://chromiumcodereview.appspot.com/15600006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207739 0039d316-1c4b-4281-b951-d872f2087c98
* Loosen restrictions on reading browser histograms from rendererjeremy@chromium.org2013-02-281-1/+1
| | | | | | | | | | | | Gate the ability to read histograms on the DOM automation controller flag being enabled. This allows reading browser histograms from telemetry without needing to change the Chrome code each time. The assumption is that the DOM automation controller will only be enabled in a test. BUG= Review URL: https://chromiumcodereview.appspot.com/12303005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185286 0039d316-1c4b-4281-b951-d872f2087c98
* Native memory histograms for the browser.marja@chromium.org2013-01-311-0/+7
| | | | | | | | | | | | | | If a command line flag --memory-metrics is passed, the browser measures the memory consumption after processing each task and puts the data to a histogram. The histograms will be used in the memory_benchmark of Telemetry. BUG=160979 Review URL: https://chromiumcodereview.appspot.com/11975048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179909 0039d316-1c4b-4281-b951-d872f2087c98
* Add tracing support to NaCljbauman@chromium.org2012-12-081-38/+0
| | | | | | | | | | Add Ppapi IPC messages and a handler inside of the NaCl IRT to enable, disable, and send the result of tracing. BUG=93839 Review URL: https://codereview.chromium.org/11411118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171911 0039d316-1c4b-4281-b951-d872f2087c98
* implement SetWatchEvent and WaitForEvent for trace-based-tests.jbates@chromium.org2012-09-011-1/+10
| | | | | | | | | | | | Up until now, tracing-based tests have been required to either run a trace for some amount of time or use existing notification mechanisms to return control to the test. This change adds a 'watch event' feature to trace_event_impl which can be used by tests to wait for an event to occur. This mechanism could replace the use of test-only notifications which is frowned upon as well as mock classes for catching events. Trace events also have the huge advantage of working on all chrome processes as opposed to the browser-only notification service. BUG=139939 Review URL: https://chromiumcodereview.appspot.com/10837082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154552 0039d316-1c4b-4281-b951-d872f2087c98
* Histograms - Support histograms for Plugins, GPUrtenneti@google.com2012-07-121-3/+15
| | | | | | | | | | | | | | and all child processes. Renderer processes also use this new method to send histograms to browser. This code is similar to the code that gets profiler data from all processes. R=jar@chromium.org,jam@chromium.org TEST=browser unit tests, interactive UI tests BUG=114013 Review URL: https://chromiumcodereview.appspot.com/10454086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146394 0039d316-1c4b-4281-b951-d872f2087c98
* Show gpu process stats in about:tcmallocjamesr@chromium.org2012-04-251-0/+11
| | | | | | | | | | BUG=123939 TEST=launch GPU process by navigating to a page requiring it. open about:tcmalloc. refresh. see GPU process memory information Review URL: http://codereview.chromium.org/10041017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133816 0039d316-1c4b-4281-b951-d872f2087c98
* [UMA] Use proper C++ objects to serialize tracked_objects across process ↵isherman@chromium.org2012-04-131-5/+42
| | | | | | | | | | | | | | | boundaries. See https://chromiumcodereview.appspot.com/9702014/ for the original code review. Uploading to a new issue due to an AppEngine error... BUG=103480 TEST=none (refactoring, no functional change expected) TBR=jam@chromium.org,jar@chromium.org,eroman@chromium.org,jhawkins@chromium.org,ajwong@chromium.org Review URL: http://codereview.chromium.org/10077001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132109 0039d316-1c4b-4281-b951-d872f2087c98
* Propogate status setting for profiler to track parentsjar@chromium.org2012-02-101-2/+5
| | | | | | | | | | | | | | | | [Reland: https://src.chromium.org/viewvc/chrome?view=rev&revision=120789 with minor change to avoid race on status change.] This allows child processes to track ancestry, and report it to the browser process. Parent tracking is only turned on based on an environment variable. r=rtenneti Review URL: https://chromiumcodereview.appspot.com/9363007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121491 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 120789 - Propogate status setting for profiler to track parentsjar@chromium.org2012-02-071-5/+2
| | | | | | | | | | | | | | | | | | [There is a TSAN race report... so I'm reverting] This allows child processes to track ancestry, and report it to the browser process. Parent tracking is only turned on based on an environment variable. r=rtenneti Review URL: https://chromiumcodereview.appspot.com/9181002 TBR=jar@chromium.org Review URL: https://chromiumcodereview.appspot.com/9348028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120818 0039d316-1c4b-4281-b951-d872f2087c98
* Propogate status setting for profiler to track parentsjar@chromium.org2012-02-071-2/+5
| | | | | | | | | | | | | This allows child processes to track ancestry, and report it to the browser process. Parent tracking is only turned on based on an environment variable. r=rtenneti Review URL: https://chromiumcodereview.appspot.com/9181002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120789 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the ChildProcessMsg_AskBeforeShutdown message since it's now always ↵jam@chromium.org2012-01-241-3/+0
| | | | | | | | sent for all processes. Review URL: https://chromiumcodereview.appspot.com/9212051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118904 0039d316-1c4b-4281-b951-d872f2087c98
* Collect profiler stats from all browser child processes.rtenneti@chromium.org2011-12-011-0/+16
| | | | | | | | | | | R=jar Bug=104770 TEST=about:profiler after lauching a plug-in or GPU should show tracking data for plugin-gpu processes Review URL: http://codereview.chromium.org/8588023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112571 0039d316-1c4b-4281-b951-d872f2087c98
* Make shared memory allocation possible for all child process types.michaeln@google.com2011-10-151-0/+7
| | | | | | Review URL: http://codereview.chromium.org/8229039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105621 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TraceMessageFilter for NACL_LOADER_PROCESS types that do not support ↵jbates@chromium.org2011-10-041-0/+3
| | | | | | | | | | | tracing. BUG=95949 TEST=start and stop trace in about:tracing while nacl app is running; verify it does not hang with "Processing trace" Review URL: http://codereview.chromium.org/8118013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103823 0039d316-1c4b-4281-b951-d872f2087c98
* Move handle dumpage to the renderer process (so that it works correctly) and ↵cdn@chromium.org2011-09-201-0/+6
| | | | | | | | | | move handle enumerator into common. BUG=96488 TEST=N/A Review URL: http://codereview.chromium.org/7888024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102004 0039d316-1c4b-4281-b951-d872f2087c98
* New implementation of font precache on Windows.arthurhsu@chromium.org2011-09-201-0/+10
| | | | | | | | | | BUG=94421 TEST=none Review URL: http://codereview.chromium.org/7866019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101911 0039d316-1c4b-4281-b951-d872f2087c98
* Annotate all of the functions in content that need to be exported, in ↵dpranke@chromium.org2011-09-131-0/+4
| | | | | | | | | | | | preparation for creating a content shared library. R=darin@chromium.org, jam@chromium.org, willchan@chromium.org BUG=90442 TEST=everything still compiles Review URL: http://codereview.chromium.org/7800015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100975 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for filtering traces by categories. The TraceLog API is updated ↵jbates@chromium.org2011-09-121-2/+5
| | | | | | | | | | | to support included and excluded categories. This API is then plumbed through to the TraceController so that it can be used across all processes. BUG=96122 TEST=base_unittests Review URL: http://codereview.chromium.org/7867013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100777 0039d316-1c4b-4281-b951-d872f2087c98
* Stop using the default profile's proxy service for plugin proxy requests, ↵jam@chromium.org2011-08-291-11/+0
| | | | | | | | | and instead use the associated profile's proxy service. I proxy the IPC through the renderer first, as that makes it easy to get to the associated profile. BUG=92361,64339 Review URL: http://codereview.chromium.org/7791005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98728 0039d316-1c4b-4281-b951-d872f2087c98
* Updated event trace code to stop on buffer full condition for any child ↵jbates@chromium.org2011-04-191-0/+10
| | | | | | | | | | | process. Added more trace events to show expensive blocking IPCs in renderer process. BUG=79510 TEST=start trace in about:gpu; open some WebGL windows; when trace Buffer usage reaches 100%, verify that the trace is ended Review URL: http://codereview.chromium.org/6870020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82115 0039d316-1c4b-4281-b951-d872f2087c98
* Move the rest of the renderer->browser messages that belong in content. ↵jam@chromium.org2011-03-241-0/+4
| | | | | | | | | | | | | Also do a bunch of cleanup: -move safe browsing messages together -get rid of webkit_param_traits and common_param_trait since they're no longer needed -remove the multiple include of IPC files from places that don't need it TBR=tsepez Review URL: http://codereview.chromium.org/6713084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79235 0039d316-1c4b-4281-b951-d872f2087c98
* event trace plumbing for multi-process supportjbates@chromium.org2011-03-181-0/+14
| | | | | | | | | | | | related review: http://codereview.chromium.org/6691013/ BUG=none TEST=none Review URL: http://codereview.chromium.org/6694004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78768 0039d316-1c4b-4281-b951-d872f2087c98
* Add newline at end of filejam@chromium.org2011-03-151-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78227 0039d316-1c4b-4281-b951-d872f2087c98
* Simplify ResolveProxyMsgHelper. Make it not special case renderer/plugin, ↵jam@chromium.org2011-03-151-0/+8
| | | | | | | | and derive from BrowserMessageFilter for easier filtering and replying. Review URL: http://codereview.chromium.org/6695009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78225 0039d316-1c4b-4281-b951-d872f2087c98
* Move the common child process messages into their own file.jam@chromium.org2011-03-071-0/+29
TBR=nduca Review URL: http://codereview.chromium.org/6625064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77209 0039d316-1c4b-4281-b951-d872f2087c98