summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_thread_unittest.cc
Commit message (Collapse)AuthorAgeFilesLines
* Make the pepper 2D flush callback actually function as advertised. It will nowbrettw@chromium.org2010-03-061-3/+3
| | | | | | | | | | | | | | | | | | | | | get called asynchronously when the bits are actually copied to the screen, rather than synchronously from inside the paint function. This makes it useful for plugins to use the callback for rate limiting. This also adds a lot of infrastructure for running tests on pepper devices, and includes a unit test for the new flush behavior. I made the existing RenderProcess object an abstract interface and made the existing MockProcess (renamed to be more clear) implement that. This avoids a static cast that would actually crash during a unit test because some code was hardcoded to expect a RenderProcess object. This fixes base's IDMap iterator which has apparently never been used for an IDMap with ownership semantics. TEST=Unit test included BUG=none Original review URL: http://codereview.chromium.org/661124 Review URL: http://codereview.chromium.org/664001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40813 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 40490 - Make the pepper 2D flush callback actually function as ↵brettw@chromium.org2010-03-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | advertised. It will now get called asynchronously when the bits are actually copied to the screen, rather than synchronously from inside the paint function. This makes it useful for plugins to use the callback for rate limiting. This also adds a lot of infrastructure for running tests on pepper devices, and includes a unit test for the new flush behavior. I made the existing RenderProcess object an abstract interface and made the existing MockProcess (renamed to be more clear) implement that. This avoids a static cast that would actually crash during a unit test because some code was hardcoded to expect a RenderProcess object. This fixes base's IDMap iterator which has apparently never been used for an IDMap with ownership semantics. TEST=Unit test included BUG=none Review URL: http://codereview.chromium.org/661124 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/660439 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40494 0039d316-1c4b-4281-b951-d872f2087c98
* Make the pepper 2D flush callback actually function as advertised. It will nowbrettw@chromium.org2010-03-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | get called asynchronously when the bits are actually copied to the screen, rather than synchronously from inside the paint function. This makes it useful for plugins to use the callback for rate limiting. This also adds a lot of infrastructure for running tests on pepper devices, and includes a unit test for the new flush behavior. I made the existing RenderProcess object an abstract interface and made the existing MockProcess (renamed to be more clear) implement that. This avoids a static cast that would actually crash during a unit test because some code was hardcoded to expect a RenderProcess object. This fixes base's IDMap iterator which has apparently never been used for an IDMap with ownership semantics. TEST=Unit test included BUG=none Review URL: http://codereview.chromium.org/661124 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40490 0039d316-1c4b-4281-b951-d872f2087c98
* Unrevert 21355 because the revert might be causing thensylvain@chromium.org2009-07-231-6/+5
| | | | | | | | worker tests failures. Review URL: http://codereview.chromium.org/159276 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21412 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 21355 because it might be causing all the newnsylvain@chromium.org2009-07-231-5/+6
| | | | | | | | | | | | crashes on reliability. It also seems to be causing valgrind error. Original change: Switch the first thread in a child process to be the main thread, and make theIO thread be the second thread. The change is needed for plugins on mac. Review URL: http://codereview.chromium.org/159274 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21398 0039d316-1c4b-4281-b951-d872f2087c98
* Switch the first thread in a child process to be the main thread, and make ↵jam@chromium.org2009-07-231-6/+5
| | | | | | | | theIO thread be the second thread. The change is needed for plugins on mac. Review URL: http://codereview.chromium.org/155944 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21355 0039d316-1c4b-4281-b951-d872f2087c98
* Split the IPC code into ipc/agl@chromium.org2009-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This splits the ipc code from the common project. The 'common' project pulls in all of webkit, the v8 bindings, skia, googleurl, and a number of other projects which makes it very difficult to deal with especially for external projects wanting just to use some of Chromium's infrastructure. This puts the ipc code into its top-level ipc/ directory with a dependency only on base. The common project depends on the new ipc/ipc.gyp:ipc target so that all projects currently pulling common in to get the IPC code still have it available. This mostly follows agl's pre-gyp attempt to do this which was r13062. Known issues: - Currently a number of projects depend on chrome/chrome.gyp:common in order to use the IPC infrastructure. Rather than fixing all of these dependencies I have made common depend on ipc/ipc.gyp:ipc and added "ipc" to the include_rules section of DEPS so that checkdeps.py doesn't complain. Over time projects that need IPC should depend on the IPC project themselves and dependencies on common removed, although I don't think many projects that need IPC will be able to get away without common currently. - ipc/ipc_message_macros.h still has #include "chrome/common/..." inside of a ipc/ should not refer to files in chrome/... now. I'm not sure how to resolve this since it's really an IDE bug - the named pipe name (windows+linux) and the logging event name (all) + env variable (posix) refer explicitly to 'Chrome' which somewhat hurts the illusion of ipc/ being an independent library. I think this should be examined in a subsequent, much smaller patch. - I've eliminated the IPC.SendMsgCount counter since it was implemented in a way to create a dependency from ipc/ to chrome/common/chrome_counters. This is the same approach that r13062 took. http://codereview.chromium.org/155905 (Patch from James Robinson) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21342 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r21117 as it caused reliability failures.estade@chromium.org2009-07-211-5/+6
| | | | | | | | | | Also included in this revert: r21165, r21180, and a couple valgrind suppression edits TBR=huanr Review URL: http://codereview.chromium.org/155876 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21216 0039d316-1c4b-4281-b951-d872f2087c98
* Fix single process mode and the unit_tests on Linux.jam@chromium.org2009-07-211-2/+2
| | | | | | | argh, this used to work in my previous change but it must have regressed before checkin. Review URL: http://codereview.chromium.org/155846 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21180 0039d316-1c4b-4281-b951-d872f2087c98
* Disable RenderThread unittests. They're causing the unit tests to not complete.thestig@chromium.org2009-07-211-2/+2
| | | | | | | TBR=jam Review URL: http://codereview.chromium.org/159127 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21165 0039d316-1c4b-4281-b951-d872f2087c98
* Switch the first thread in a child process to be the main thread, and make ↵jam@chromium.org2009-07-201-6/+5
| | | | | | | | the IO thread be the second thread. The change is needed for plugins on mac. Review URL: http://codereview.chromium.org/149558 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21117 0039d316-1c4b-4281-b951-d872f2087c98
* Switch child threads so that current() only works on the correct thread and ↵jam@chromium.org2009-06-151-1/+3
| | | | | | | | the correct process. Review URL: http://codereview.chromium.org/126086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18409 0039d316-1c4b-4281-b951-d872f2087c98
* ipc: use strings, not wstrings for channel ids.evan@chromium.org2009-06-041-1/+1
| | | | | | | | | | They're ASCII anyway. TEST=covered by existing tests Review URL: http://codereview.chromium.org/119131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17682 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Move IPC code to ipc/"agl@chromium.org2009-04-031-1/+1
| | | | | | | This reverts commit r13062 which, unsurprisingly, broke the build. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13063 0039d316-1c4b-4281-b951-d872f2087c98
* Move IPC code to ipc/agl@chromium.org2009-04-031-1/+1
| | | | | | | (No review URL: Rietvelt couldn't cope) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13062 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the IPC::SyncChannel leaks with RenderThread in the callstack. This ↵jam@chromium.org2009-03-021-3/+3
| | | | | | | | works by emptying the IPC message loop of its tasks, which frees the SyncContext object. After this is checked in, I'll keep an eye to see if the same thing needs to be done for the SyncChannel tests (they seem to not be generating errors, from looking at the last dozen runs). Review URL: http://codereview.chromium.org/28307 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10727 0039d316-1c4b-4281-b951-d872f2087c98
* Revert my previous change. It fixed the memory leaks (see ↵jam@chromium.org2009-03-011-3/+3
| | | | | | | | http://build.chromium.org/buildbot/waterfall/builders/XP%20Unit%20(purify)/builds/2378/steps/purify%20test:%20unit/logs/stdio), but DeleteURLAndFavicon started failing mysteriously after my checkin. Review URL: http://codereview.chromium.org/28304 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10688 0039d316-1c4b-4281-b951-d872f2087c98
* Speculative fix for memory leak in unit tests.TBR=erikkayjam@chromium.org2009-03-011-3/+3
| | | | | | Review URL: http://codereview.chromium.org/28301 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10685 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor code from RenderThread and PluginThread and move it to ChildThread. ↵jam@chromium.org2009-02-211-15/+14
| | | | | | | | | | | ChildProcess now owns the ChildThread, which removes duplicate code and simplifies things. Clean up ChildProcess, there really was no need for all the templates and statics in it and its subclasses. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=10080 Review URL: http://codereview.chromium.org/21502 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10144 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 10080.jam@chromium.org2009-02-201-8/+15
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10082 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor code from RenderThread and PluginThread and move it to ChildThread. ↵jam@chromium.org2009-02-201-15/+8
| | | | | | | | | ChildProcess now owns the ChildThread, which removes duplicate code and simplifies things. Clean up ChildProcess, there really was no need for all the templates and statics in it and its subclasses. Review URL: http://codereview.chromium.org/21502 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10080 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: TestVisitedMsg; use valid file descriptor (unit_tests fix)agl@chromium.org2009-02-111-1/+1
| | | | | | | | | | We need to pass a valid file descriptor when sending messages on POSIX, otherwise the send will fail. Use stdin in tests. Review URL: http://codereview.chromium.org/21258 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9586 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: Transfer network data using shared memoryagl@chromium.org2009-02-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | This patch adds the long planned support for sharing memory on POSIX by transporting file descriptors. It largely builds on the shared memory cleanup work by jrg. We move FileDescriptor out of chrome/common/file_descriptor_posix.h and into base/file_descriptor_posix.h. Since all that's left in the chrome/common verion is the DescriptorSet, those files are renamed to descriptor_set.[h|cc]. The SharedMemoryHandle on POSIX then becomes a typedef to a FileDescriptor and thus can be serialised over IPC. After that, it's mostly a case of cleaning up those snippets of code which considered SharedMemoryHandles to be scaler values. Review URL: http://codereview.chromium.org/21208 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9580 0039d316-1c4b-4281-b951-d872f2087c98
* Fix purify failure.jrg@chromium.org2009-01-291-10/+22
| | | | | | | | http://code.google.com/p/chromium/issues/detail?id=7144 Review URL: http://codereview.chromium.org/19642 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8850 0039d316-1c4b-4281-b951-d872f2087c98
* render_* work.jrg@chromium.org2009-01-271-0/+47
Review URL: http://codereview.chromium.org/18650 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8732 0039d316-1c4b-4281-b951-d872f2087c98