summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/webworker_proxy.h
Commit message (Collapse)AuthorAgeFilesLines
* More groundwork for making appcache work in workers.michaeln@chromium.org2010-05-061-1/+2
| | | | | | | | | | | | | | | Widen the IPC message used to start and initialize a worker to include the additional fields needed to initialize the appcache host for that worker. And set those values when sending that message from a renderer. BUG=39368 TEST=manual and existing tests apply Review URL: http://codereview.chromium.org/2013001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46610 0039d316-1c4b-4281-b951-d872f2087c98
* Added lifecycle management and sharing support for SharedWorkers. SharedWorkersatwilson@chromium.org2009-11-131-2/+2
| | | | | | | | | | | | can now outlive their parent pages and can be shared by multiple instances across multiple tabs. BUG=26233 TEST=ui tests Review URL: http://codereview.chromium.org/390017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31868 0039d316-1c4b-4281-b951-d872f2087c98
* Upstreaming WebKit.gypyaar@chromium.org2009-11-121-1/+1
| | | | | | | | | | | | This mega patch contains a few simple but tightly dependent changes: 1. Deletion of webkit/api/WebKit.gyp. The file now lives in webkit.org. 2. Rename of webkit/webkit.gyp to webkit/webkit_glue.gyp. Having two webkit.gyp was a source of developer confusion. 3. Gyp dependencies are updated across chromium to point at the upstream WebKit.gyp and the renamed webkit_glue.gyp. 4. Some 200+ files include paths fixed to point to third_party/WebKit/WebKit/chromium instead of webkit/api. The later will be deleted in a subsequent patch. Review URL: http://codereview.chromium.org/387020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31749 0039d316-1c4b-4281-b951-d872f2087c98
* Added beginnings of browser-process support for shared workers.atwilson@chromium.org2009-11-051-0/+1
| | | | | | | | | | | | | Refactored WebWorkerClientProxy into two classes - WebWorkerDispatcher which dispatches incoming IPCs for the worker, and WebWorkerClientProxy, which handles outgoing API calls from WebWorkerImpl. This allows WebWorkerClientProxy to be reused by WebSharedWorkerDispatcher. BUG=26233 TEST=none (will enable layout tests when basic functionality available) Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=31077 Review URL: http://codereview.chromium.org/351004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31096 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Added beginnings of browser-process support for shared workers."atwilson@chromium.org2009-11-051-1/+0
| | | | | | This reverts commit 31077. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31080 0039d316-1c4b-4281-b951-d872f2087c98
* Added beginnings of browser-process support for shared workers.atwilson@chromium.org2009-11-051-0/+1
| | | | | | | | | | | Refactored WebWorkerClientProxy into two classes - WebWorkerDispatcher which dispatches incoming IPCs for the worker, and WebWorkerClientProxy, which handles outgoing API calls from WebWorkerImpl. This allows WebWorkerClientProxy to be reused by WebSharedWorkerDispatcher. BUG=26233 TEST=none (will enable layout tests when basic functionality available) Review URL: http://codereview.chromium.org/351004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31077 0039d316-1c4b-4281-b951-d872f2087c98
* Initial pass of shared workers renderer-side codeatwilson@chromium.org2009-10-301-17/+4
| | | | | | | | | | | | | Added initial interface hooks betweek WebKit code and renderer-side worker code. The proper messages are generated to fire off a shared worker, but they are currently ignored by the browser process. BUG=26233 TEST=none (will enable layout tests when basic functionality available) Review URL: http://codereview.chromium.org/340036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30599 0039d316-1c4b-4281-b951-d872f2087c98
* Fix another race condition on worker process shutdown that results in ↵jam@chromium.org2009-10-101-0/+1
| | | | | | | | | | use-after-free. Like 23018, this is happening because valgrind is slowing the worker thread shutdown enough that the backup terminate process code executes. BUG=24346 TEST=covered by valgrind Review URL: http://codereview.chromium.org/266036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28646 0039d316-1c4b-4281-b951-d872f2087c98
* First half of updating Worker.postMessage(), DOMWindow.postMessage(), andjorlow@chromium.org2009-08-261-3/+3
| | | | | | | | | | | | | | | MessagePort.postMessage() to accept multiple MessagePorts. Original review: http://codereview.chromium.org/173193 TBR=atwilson TEST=None (new functionality not yet exposed via bindings, so existing tests suffice) BUG=19948 Review URL: http://codereview.chromium.org/174566 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24536 0039d316-1c4b-4281-b951-d872f2087c98
* Enable message ports for workers.jam@chromium.org2009-08-061-1/+6
| | | | | | | TEST=included ui test Review URL: http://codereview.chromium.org/160576 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22653 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
* Remove 6- and 7-parameter IPC message macros. Replace with a struct that ↵dimich@google.com2009-07-171-0/+4
| | | | | | | | | | packs parameters. BUG=16685 TEST=none Review URL: http://codereview.chromium.org/149775 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20980 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the GC of workers. When Worker object is GC'ed in the renderer, we need ↵dimich@google.com2009-07-071-0/+1
| | | | | | | | | | to terminate the worker process. BUG=15647, 15759 TEST=new ui_test is part of this CL Review URL: http://codereview.chromium.org/151125 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20034 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a max worker count of 16 per tab and 64 total. Any workers ↵jam@chromium.org2009-06-181-0/+2
| | | | | | | | created after that are queued. Review URL: http://codereview.chromium.org/125242 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18763 0039d316-1c4b-4281-b951-d872f2087c98
* Move WebKit API to src/webkit/api.darin@chromium.org2009-05-101-1/+1
| | | | | | | | R=dglazkov Review URL: http://codereview.chromium.org/113186 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15739 0039d316-1c4b-4281-b951-d872f2087c98
* Run workers in separate processes.jam@chromium.org2009-05-011-5/+6
| | | | | | Review URL: http://codereview.chromium.org/99016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15098 0039d316-1c4b-4281-b951-d872f2087c98
* Use WebWorker and WebWorkerClient from the WebKit API.darin@chromium.org2009-04-241-12/+10
| | | | | | | | | BUG=10995 R=jam Review URL: http://codereview.chromium.org/92144 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14461 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
* Finish hooking up the worker process UI: use the domains of the workers as ↵jam@chromium.org2009-03-241-1/+5
| | | | | | | | | | the title in the task manager, and show an infobar when a page's workers die. I also cleaned up the code in RenderView which creates a window and widget, since when I originally wrote it I wasn't aware of RenderViewHost::FromID. Review URL: http://codereview.chromium.org/45025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12335 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome side of webkit merge from r41860 to 41906.tc@google.com2009-03-231-1/+0
| | | | | | | | | | | | | The encoding parameter got dropped from Workers (r41871) so drop it through the whole stack. The upstream WorkerContextExecutionProxy has trackEvent with a lower case t, but we pull in the wrong header in some places so make both headers match. Review URL: http://codereview.chromium.org/42538 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12326 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build breaks after webkit merge.jam@chromium.org2009-03-101-0/+1
| | | | | | Review URL: http://codereview.chromium.org/42004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11361 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up WebKit worker with Chromium.jianli@chromium.org2009-03-051-0/+5
| | | | | | Review URL: http://codereview.chromium.org/39147 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11046 0039d316-1c4b-4281-b951-d872f2087c98
* Have WebWorkerProxy send messages directly through RenderThread, instead of ↵jam@chromium.org2009-03-051-2/+1
| | | | | | | | RenderWidget, since that could lead to the terminateworker message being dropped. Review URL: http://codereview.chromium.org/39176 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11021 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CRLF and trailing white spaces.maruel@chromium.org2009-03-051-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10982 0039d316-1c4b-4281-b951-d872f2087c98
* Initial checkin of the out of process worker implementation.jam@chromium.org2009-03-041-0/+56
WebWorkerClient/WebWorker are parallel interfaces of WebCore::{WorkerObjectProxy, WorkerContextProxy} that use Chrome data types. When WebKit requests a WorkerObjectProxy, we create an instance of WebWorkerClientImpl. This class creates an object that implements a Chromium version of WorkerObjectProxy (i.e. with Chrome data types) through WebViewDelegate. That object is a WebWorkerProxy and talks over IPC to a WebWorker object in the worker process. The WebWorker object creates the actual WebCore::Worker object using another class in glue: WebWorkerImpl. When the WebCore::Worker object running in the worker process wants to talk back to the code running in the renderer, it talks to WebWorkerImpl which implements WebCore::WorkerObjectProxy. WebWorkerImpl converts the data types to Chrome compatible ones, and then calls the WebWorkerClient version which does IPC to get to the renderer process. This ends up at WebWorkerProxy, which calls WebWorkerClientImpl (the original class). In future changes, sandboxing, multiple worker processes etc will be added. Note that I also had to make two small changes to WebKit, since WorkerMessagingProxy couldn't be created as is for the nested worker case. I'll either check it in myself or work with Jian to do so. Review URL: http://codereview.chromium.org/27157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10847 0039d316-1c4b-4281-b951-d872f2087c98