summaryrefslogtreecommitdiffstats
path: root/ipc
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Revert "Const-ify RefCountedThreadSafe::AddRef and Release.""mpcomplete@chromium.org2010-10-222-3/+3
| | | | | | | | | chrome_frame failed to compile last time. I needed to add a "mutable" to a member variable in chrome_frame/metrics_service.cc. Review URL: http://codereview.chromium.org/3971004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63574 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Const-ify RefCountedThreadSafe::AddRef and Release."levin@chromium.org2010-10-222-3/+3
| | | | | | This reverts commit b7ce919957536ceb0cfac1709bc779fd086b6ce8. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63459 0039d316-1c4b-4281-b951-d872f2087c98
* Const-ify RefCountedThreadSafe::AddRef and Release.mpcomplete@chromium.org2010-10-222-3/+3
| | | | | | Review URL: http://codereview.chromium.org/3869003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63457 0039d316-1c4b-4281-b951-d872f2087c98
* Added IPC ParamTraits for TimeDelta.apatrick@chromium.org2010-10-212-0/+28
| | | | | | | | | | | | Already reviewed as part of http://codereview.chromium.org/3794011/show TBR=kbr@chromium.org TEST=try BUG=none Review URL: http://codereview.chromium.org/4026004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63435 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 63388 - ↵stoyan@chromium.org2010-10-212-28/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://build.chromium.org/buildbot/waterfall/builders/Mac10.6%20Tests%20(dbg)(2)/builds/10949 - Relanding 61718. I disabled the GPU watchdog in three new cases: - If the OSMesa software renderer is in use. This will disable it on bots. - When running on valgrind, whether on a bot or locally. - In debug builds I added a GPU process initialization time to the GPU info. I moved the GPU initialization code outside the watchdog protection because it can take a long time and trigger the watchdog. I increased the timeout. I set up a field trial with different timeouts to see the rate of failure for each period. I made ui_tests always run with OSMesa, for consistent operation on bots and when run locally. Original CL description: I added a watchdog thread that intermitently checks the main thread can respond to tasks posted on its message queue. I fixed some bugs that preventede GGL from failing when the GPU channel was lost. Added a command line swith to disable the watchdog thread for debugging purposes. TEST=try, local testing of all features BUG=none Review URL: http://codereview.chromium.org/3794011 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/3979004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63396 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding 61718.apatrick@chromium.org2010-10-212-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I disabled the GPU watchdog in three new cases: - If the OSMesa software renderer is in use. This will disable it on bots. - When running on valgrind, whether on a bot or locally. - In debug builds I added a GPU process initialization time to the GPU info. I moved the GPU initialization code outside the watchdog protection because it can take a long time and trigger the watchdog. I increased the timeout. I set up a field trial with different timeouts to see the rate of failure for each period. I made ui_tests always run with OSMesa, for consistent operation on bots and when run locally. Original CL description: I added a watchdog thread that intermitently checks the main thread can respond to tasks posted on its message queue. I fixed some bugs that preventede GGL from failing when the GPU channel was lost. Added a command line swith to disable the watchdog thread for debugging purposes. TEST=try, local testing of all features BUG=none Review URL: http://codereview.chromium.org/3794011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63388 0039d316-1c4b-4281-b951-d872f2087c98
* Covert LOG(INFO) to VLOG(1) - ipc/.pkasting@chromium.org2010-10-194-40/+23
| | | | | | | | | | This also eliminates IPC_MESSAGE_DEBUG_EXTRA and uses VLOG(2) for that. BUG=none TEST=none Review URL: http://codereview.chromium.org/3889002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63142 0039d316-1c4b-4281-b951-d872f2087c98
* Use make_scoped_refptr() instead of manual AddRef()/Release() in ipc.willchan@chromium.org2010-10-191-10/+11
| | | | | | | | | BUG=28083 TEST=builds Review URL: http://codereview.chromium.org/3869002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63136 0039d316-1c4b-4281-b951-d872f2087c98
* ipc_channel: warn if someone forgets to check the result of Connect()evan@chromium.org2010-10-194-10/+11
| | | | | | | | I found a test that was doing this. Review URL: http://codereview.chromium.org/3759004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63083 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Initialize member variables.jhawkins@chromium.org2010-10-151-0/+1
| | | | | | | | | | CID=1420,1480,1517,1634 BUG=none TEST=none Review URL: http://codereview.chromium.org/3767001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62776 0039d316-1c4b-4281-b951-d872f2087c98
* Move windows version-related stuff out of base/win_util and into ↵brettw@chromium.org2010-10-151-2/+68
| | | | | | | | | | | | | | base/win/windows_version. Many files now only need to include this instead of all of win_util. Remove a bunch of unused code from base/win_util. There was a surprising amount. Replace the AppUserModel property key with the one from the SDK now that we use the Win7 SDK. Move GetLogonSessionOnlyDACL from win_util to ipc since it's only used in that one place. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3823002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62694 0039d316-1c4b-4281-b951-d872f2087c98
* Move Stats, histograms, and field trial into a metrics subdirectory of base andbrettw@chromium.org2010-10-142-2/+0
| | | | | | | | | put them in the base namespace. TEST=it compiles BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62510 0039d316-1c4b-4281-b951-d872f2087c98
* Move PerfTestSuite implementation into a .cc file and add it to the basebrettw@chromium.org2010-10-101-1/+1
| | | | | | | | | | namespace. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3695001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62095 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 61899 for breaking cookes on file:// URLs.willchan@chromium.org2010-10-081-11/+10
| | | | | | | | | | | | | | | | | | BUG=58553 ================================================= Fix instances of passing raw pointers to RefCounted objects in tasks. Some of these manually handled it correctly by using AddRef()/Release() pairs. I switched them to make_scoped_refptr() to be more consistent. This also makes them cleanup properly on MessageLoop shutdown if we start deleting tasks. BUG=28083 TEST=builds Review URL: http://codereview.chromium.org/3581008 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/3654001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62043 0039d316-1c4b-4281-b951-d872f2087c98
* Fix instances of passing raw pointers to RefCounted objects in tasks.willchan@chromium.org2010-10-081-10/+11
| | | | | | | | | | | Some of these manually handled it correctly by using AddRef()/Release() pairs. I switched them to make_scoped_refptr() to be more consistent. This also makes them cleanup properly on MessageLoop shutdown if we start deleting tasks. BUG=28083 TEST=builds Review URL: http://codereview.chromium.org/3581008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61899 0039d316-1c4b-4281-b951-d872f2087c98
* clang/mac: Fix almost all problems when building all.xcodeproj.thakis@chromium.org2010-10-041-1/+3
| | | | | | | | BUG=None TEST=None TBR=hans git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61344 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move ctors/dtors into implementation files. Adds ctors/dtors to ↵erg@google.com2010-09-304-24/+40
| | | | | | | | | | | | | | non-POD structs. Cuts ~2MB off our .a files (Debug, Linux). Also added the "virtual" keyword on a whole bunch of virtual dtors that were missing it. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3522004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61100 0039d316-1c4b-4281-b951-d872f2087c98
* Add all foo_messages_internal.h files in chrome/common to ↵jamesr@chromium.org2010-09-291-2/+6
| | | | | | | | | | | | | | | | | ipc/ipc_message_impl_macros.h ipc/ipc_message_impl_macros.h has a list of #includes that are #if 0'd out so that xcode can see the dependency from foo_messages.cc on foo_messages_internal.h since it can't understand our MESSAGES_INTERNAL_FILE system. This list was out of date and didn't include newly added files like gpu_messages_internal.h which caused http://src.chromium.org/viewvc/chrome?view=rev&revision=60902 to break the mac build BUG=7828 TEST=compiles Review URL: http://codereview.chromium.org/3564003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61001 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move virtual methods to implementation files.erg@google.com2010-09-232-15/+35
| | | | | | | | | | | Remove logging.h and other headers where possible. BUG=none TEST=none Review URL: http://codereview.chromium.org/3461019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60369 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: clang buildthakis@chromium.org2010-09-221-2/+1
| | | | | | | | | | | | | Fixes the last few warnings / errors necessary to build chrome/mac with clang. See http://code.google.com/p/chromium/wiki/Clang BUG=none TEST=none Review URL: http://codereview.chromium.org/2762014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60131 0039d316-1c4b-4281-b951-d872f2087c98
* Handle return value from HANDLE_EINTR in file_descriptor_set_posix_unittest.cc.hans@chromium.org2010-09-171-2/+2
| | | | | | | | | | | Clang complains about this unused return value. BUG=none TEST=none Review URL: http://codereview.chromium.org/3328017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59791 0039d316-1c4b-4281-b951-d872f2087c98
* Handle return value from HANDLE_EINTR in ipc_send_fds_test.cc.hans@chromium.org2010-09-161-1/+1
| | | | | | | | | | | Clang complains about this unused return value. BUG=none TEST=none Review URL: http://codereview.chromium.org/3317020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59623 0039d316-1c4b-4281-b951-d872f2087c98
* Remove an obsolete FIXME in ipc_channel.h.thestig@chromium.org2010-09-081-5/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3338006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58784 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a chrome browser crash observed in chrome frame reliability test runs. ↵ananta@chromium.org2010-09-023-2/+58
| | | | | | | | | | | | | | | | | | | | The crash occurs when the automation channel is being torn down and a Send on the channel is attempted after the channel has been closed. We crash while dereferencing a NULL channel pointer in OnSendMessage task. Fix is to add a check for the same. Fixes bug http://code.google.com/p/chromium/issues/detail?can=2&q=54115 Bug=54115 Test=Covered by new ipc sync channel test. Review URL: http://codereview.chromium.org/3337004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58408 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move more ctors/dtors from headers to implementation.erg@google.com2010-09-014-2/+10
| | | | | | | | | | | | | | | | | - Adding/Moving dtors of objects that have CancelableRequestConsumers shaves three megs off browser.a. - Adding/Moving dtors of objects that have ScopedRunnableMethodFactories only shaved 100k off browser.a/renderer.a. - Adding/Moving dtors of objects that used some form of base::*Timer<> was negligible; there were only a few classes that had a Timer but had a ctor/dtor in the header after the previous cleanups. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3278006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58192 0039d316-1c4b-4281-b951-d872f2087c98
* Remove exe perms from text files to fix checkprops failuredmazzoni@chromium.org2010-08-271-0/+0
| | | | | | | | BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57679 0039d316-1c4b-4281-b951-d872f2087c98
* Update --gtest-filter files and suppressions for Dr. Memorytimurrrr@chromium.org2010-08-271-0/+2
| | | | | | | TBR=glider Review URL: http://codereview.chromium.org/3267001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57676 0039d316-1c4b-4281-b951-d872f2087c98
* ipc: delete wchar_t IPC traitevan@chromium.org2010-08-261-24/+0
| | | | | | | | | | We don't send wchars over IPC, so I'm not sure where this came from. TEST=still compiles Review URL: http://codereview.chromium.org/3106034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57433 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move individual XXXMsg_Params structs to a new file.erg@google.com2010-08-243-8/+26
| | | | | | | | | | | | | | | | The new file, render_messages_params.h, is included in 57 files, while render_messages.h is included in 176 files. Moving the Params structs to their own file allow pruning the included headers. (Part 2 of this cleanup will be sorting the individual structs into themes to further minimize header inclusion.) BUG=51411 TEST=compiles Review URL: http://codereview.chromium.org/3119035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57229 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for the new IPC system on gcc 4.5 and greater.erg@google.com2010-08-191-0/+8
| | | | | | | | | | | | | | We need the new noclone attribute since gcc tries to specialize many of the ::Read() members for the subtypes since they're only invoked from Log(). Reported by some dude named flo on IRC. BUG=none TEST=none Review URL: http://codereview.chromium.org/3133025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56734 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 55888: Allow per-plugin content settings.bauerb@chromium.org2010-08-194-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | Now with Fixed Unit Tests! Run with --enable-resource-content-settings and --enable-click-to-play to enable. TabSpecificContentSettings now keeps track of which resources were blocked. The content setting bubble displays those resource, and selecting the "allow radio buttons adds exceptions for these resources. The infobar for non-sandboxed plug-ins now also shows a button to always allow the blocked plug-in on that site. Screenshot of the plugin bubble: http://imgur.com/6npqv.png Because we need to change the title and radio button labels depending on whether we track specific plug-ins, we copy them from the ContentSettingBubbleModel. XIB changes: Add a text field for the blocked plug-ins to ContentBlockedPlugins.xib, hooked up to the |blockedResourcesField_| outlet. BUG=39252,38432 TEST=HostContentSettingsMapTest.*,manual Review URL: http://codereview.chromium.org/2873104 Review URL: http://codereview.chromium.org/3124018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56687 0039d316-1c4b-4281-b951-d872f2087c98
* Remove all wstrings from the IPC logging subsystem.erg@google.com2010-08-187-194/+214
| | | | | | | | | | | | | | | | Changes all IPC Log methods from wstring to string. All static logging debug data changed from wchar[] to char[]. Various string conversion/numeric headers no longer need to be included in ipc_message_utils.h and have been removed (and added in all implementation files that require them). BUG=none TEST=none Review URL: http://codereview.chromium.org/3159013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56563 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land part of r55416, minus actually moving the test_suite.h contents to a ↵brettw@chromium.org2010-08-173-6/+7
| | | | | | | | | | | | | | | | | | | | | | | .cc file. Cleanup in base. This moves the implementation (and a bunch of header file dependencies) from the multiprocess test and the test_suite headers to .cc files. Moves multiprocess_test to the test directory, and all of this stuff to the existing base_test_support project. I also used the base namespace. Previously other projects included this functionality just by #include because it was all inline, so I had to add dependencies on base_test_support in a few places. Moves and renames the command line switch this was using to base_switches. Move the base switch for process type to chrome switches. TEST=none BUG=none Review URL: http://codereview.chromium.org/3026055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56399 0039d316-1c4b-4281-b951-d872f2087c98
* Reapplies all the IPC system work (reverts the revert r56272).erg@google.com2010-08-179-466/+1326
| | | | | | | | | | | That patch wasn't what caused the regression in the page cycler. BUG=51411,52103 TEST=still compiles Review URL: http://codereview.chromium.org/3106018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56390 0039d316-1c4b-4281-b951-d872f2087c98
* Remove remaining deprecated wstring methods from base/values.{cc,h}.viettrungluu@chromium.org2010-08-171-8/+8
| | | | | | | | | BUG=23581 TEST=builds and passes tests Review URL: http://codereview.chromium.org/3109025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56362 0039d316-1c4b-4281-b951-d872f2087c98
* Completely revert all my IPC work to see if this was what regressed the page ↵erg@google.com2010-08-179-1326/+466
| | | | | | | | | | | cycler. BUG=51411,52103 TEST=page cycler Review URL: http://codereview.chromium.org/3170020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56272 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land just the project file changes from r55416. This makes projects that usebrettw@chromium.org2010-08-151-0/+1
| | | | | | | | | base test files dependent on test_support_base. TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56172 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Mark the Read methods in the IPC subsystem as noinline.erg@google.com2010-08-133-29/+42
| | | | | | | | | | | | | | | | This forces all the ReadParam template junk to expand once in the *_messages.cc file, instead of at every Read() call site. Without the compiler-specific annotation, this builds and links in debug mode, but doesn't link in release mode because the individual Read() methods generated were inlined into the subclass Log() methods, causing disaster on the release builders, but not on the trybots or locally. BUG=51411 TEST=none Review URL: http://codereview.chromium.org/3160008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56081 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove all the easy headers from *_messages.h.erg@google.com2010-08-123-91/+127
| | | | | | | | | BUG=51411 TEST=compiles Review URL: http://codereview.chromium.org/3174002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55902 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 55888: Allow per-plugin content settings.bauerb@chromium.org2010-08-122-36/+0
| | | | | | | | | | | | | | | | | | | | | | | Run with --enable-resource-content-settings and --enable-click-to-play to enable. TabSpecificContentSettings now keeps track of which resources were blocked. The content setting bubble displays those resource, and selecting the "allow radio buttons adds exceptions for these resources. The infobar for non-sandboxed plug-ins now also shows a button to always allow the blocked plug-in on that site. Screenshot of the plugin bubble: http://imgur.com/6npqv.png Because we need to change the title and radio button labels depending on whether we track specific plug-ins, we copy them from the ContentSettingBubbleModel. XIB changes: Add a text field for the blocked plug-ins to ContentBlockedPlugins.xib, hooked up to the |blockedResourcesField_| outlet. BUG=39252,38432 TEST=manual Review URL: http://codereview.chromium.org/2873104 TBR: bauerb@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55891 0039d316-1c4b-4281-b951-d872f2087c98
* Allow per-plugin content settings.bauerb@chromium.org2010-08-122-0/+36
| | | | | | | | | | | | | | | | | | | | | Run with --enable-resource-content-settings and --enable-click-to-play to enable. TabSpecificContentSettings now keeps track of which resources were blocked. The content setting bubble displays those resource, and selecting the "allow radio buttons adds exceptions for these resources. The infobar for non-sandboxed plug-ins now also shows a button to always allow the blocked plug-in on that site. Screenshot of the plugin bubble: http://imgur.com/6npqv.png Because we need to change the title and radio button labels depending on whether we track specific plug-ins, we copy them from the ContentSettingBubbleModel. XIB changes: Add a text field for the blocked plug-ins to ContentBlockedPlugins.xib, hooked up to the |blockedResourcesField_| outlet. BUG=39252,38432 TEST=manual Review URL: http://codereview.chromium.org/2873104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55888 0039d316-1c4b-4281-b951-d872f2087c98
* Reapplies r55735, fixing some message code that was checked in that I ↵erg@google.com2010-08-115-370/+718
| | | | | | | | | | | | collided with. BUG=51411 TEST=none TBR=mpcomplete Review URL: http://codereview.chromium.org/3118009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55749 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "FBTF: Allow forward declaration of classes passed to sync IPC messages."erg@google.com2010-08-115-718/+370
| | | | | | | | | | | | This reverts commit r55735. BUG=none TEST=none TBR=mirandac Review URL: http://codereview.chromium.org/3152007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55738 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Allow forward declaration of classes passed to sync IPC messages.erg@google.com2010-08-115-370/+718
| | | | | | | | | | | | | This is a continuation of r55259, where we convert the remaining IPC messages to the new system. At this point, all the messages should be able to accept forward declared classes/structs as parameters. BUG=51411 TEST=none Review URL: http://codereview.chromium.org/3018045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55735 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Reapplies r55259, the first new IPC definition patch.erg@google.com2010-08-107-113/+576
| | | | | | | | | | | | | This moves MessageWithTuple::Read() back into the main ipc_message_utils.h header from the private ipc_messsage_utils_impl.h header. In release mode, this was causing link failures. BUG=51411 TEST=none Review URL: http://codereview.chromium.org/3069034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55587 0039d316-1c4b-4281-b951-d872f2087c98
* 1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder ↵jiesun@google.com2010-08-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified. 2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too) 3. gpu_video_decoder.cc/h. abstract interface for hardware decoder. 4. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service. 5. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel. 6. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support. ISSUES: 1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it. 2. stop readback from D3D surface use ANGLE. 3. Flush logic still need fine tuning. 4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ? 5. Error handling. 6. Input ring buffer implementation. Current impl is naive. 7.Add output queue for MFT decoder. 8. Query Capabilities at GetVideoServices()... BUG=None TEST=Windows7 Review URL: http://codereview.chromium.org/2873089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55516 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 55405 - Special thanks for in-ming cheng's MFT hardware decodering code.ananta@chromium.org2010-08-091-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified. 2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too) 3. gpu_video_decoder.cc/h. abstract interface for hardware decoder. 4. gpu_video_decoder_mft.cc/h media foundation transform hardware decoder which run on windows 7 only. 5. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service. 6. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel. 7. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support. ISSUES: 1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it. 2. stop readback from D3D surface use ANGLE. 3. Flush logic still need fine tuning. 4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ? 5. Error handling. 6. Input ring buffer implementation. Current impl is naive. 7.Add output queue for MFT decoder. 8. Query Capabilities at GetVideoServices()... BUG=None TEST=Windows7 Review URL: http://codereview.chromium.org/2873089 TBR=jiesun@google.com Review URL: http://codereview.chromium.org/3020077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55419 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 55400 - Cleanup in base. This moves the implementation (and a bunch ↵nsylvain@chromium.org2010-08-094-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | of header file dependencies) from the multiprocess test and the test_suite headers to .cc files. Moves multiprocess_test to the test directory, and all of this stuff to the existing base_test_support project. I also used the base namespace. Previously other projects included this functionality just by #include because it was all inline, so I had to add dependencies on base_test_support in a few places. Moves and renames the command line switch this was using to base_switches. Move the base switch for process type to chrome switches. TEST=none BUG=none Review URL: http://codereview.chromium.org/3026055 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/3035062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55416 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 55259 - FBTF: New IPC definitions, only applied to async ROUTED and ↵pinkerton@google.com2010-08-097-580/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONTROL messages. The slowest cc files in chrome include render_messages.h and other IPC message definitions. Including one of these files will bring in half of chrome because in the IPC system previously required full class definitions due to implementation details. The new system allows forward declarations and places the implementations of functions that need the full class definitions (ctor/dtor()/Log() and superclass ctor/Read() methods) into a separate xxx_messages.cc file using a parallel set of macros to ipc_message_macros.h. This has the added benefit of moving most of the template instantiation junk into a small number of files. Pros: - Will speed up compiling by a lot once everything is forward declared. - Already, intermediary .o/.a files are smaller. Cons: - Adds a 4th pass to the messages system, this time in a different header. BUG=51411 TEST=none Review URL: http://codereview.chromium.org/2873090 TBR=erg@google.com Review URL: http://codereview.chromium.org/3080040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55406 0039d316-1c4b-4281-b951-d872f2087c98
* Special thanks for in-ming cheng's MFT hardware decodering code.jiesun@google.com2010-08-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified. 2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too) 3. gpu_video_decoder.cc/h. abstract interface for hardware decoder. 4. gpu_video_decoder_mft.cc/h media foundation transform hardware decoder which run on windows 7 only. 5. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service. 6. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel. 7. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support. ISSUES: 1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it. 2. stop readback from D3D surface use ANGLE. 3. Flush logic still need fine tuning. 4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ? 5. Error handling. 6. Input ring buffer implementation. Current impl is naive. 7.Add output queue for MFT decoder. 8. Query Capabilities at GetVideoServices()... BUG=None TEST=Windows7 Review URL: http://codereview.chromium.org/2873089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55405 0039d316-1c4b-4281-b951-d872f2087c98