|
Initial checking of the out of process worker implementation.
We provide a WorkerContextProxy object to WebKit. It converts the paramaters to Chrome data types and pass them to a WebWorkerContextProxy which it got from WebViewDelegate. This object converts the function calls into IPC messages which are received by a WebWorkerContextStub in the worker process. A wrapper class in Glue, WebWorkerContextWrapper, converts the data types back to WebKit types and then calls the WebKit WebWorkerContext object.
Note we'll need to do similar to the above to get WorkerObjectProxy working. This will be done in another CL. Also to be done is refactoring more code from PluginProcessHost to handle sandboxing, alerting the user when a worker crashes etc.
For now all renderer <> worker communication is routed through the browser process. If we find it's slow, we can open direct channels.
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+1325 lines, -9 lines) |
Patch |
 |
M |
chrome/app/chrome_dll_main.cc
|
View
|
1
2
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/browser.scons
|
View
|
1
2
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/browser.vcproj
|
View
|
1
2
|
1 chunk |
+16 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/renderer_host/resource_message_filter.h
|
View
|
1
2
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/renderer_host/resource_message_filter.cc
|
View
|
1
2
|
3 chunks |
+14 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/worker_process_host.h
|
View
|
1
|
1 chunk |
+36 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/worker_process_host.cc
|
View
|
1
|
1 chunk |
+73 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/worker_service.h
|
View
|
|
1 chunk |
+47 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/worker_service.cc
|
View
|
1
|
1 chunk |
+64 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/chrome.sln
|
View
|
1
2
|
4 chunks |
+16 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/common/chrome_switches.h
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/common/chrome_switches.cc
|
View
|
1
2
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/common/common.scons
|
View
|
1
2
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/common/common.vcproj
|
View
|
1
2
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/common/ipc_message_utils.h
|
View
|
1
2
|
3 chunks |
+36 lines, -8 lines |
0 comments
|
Download
|
 |
M |
chrome/common/render_messages_internal.h
|
View
|
1
2
|
1 chunk |
+12 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/common/worker_messages.h
|
View
|
|
1 chunk |
+21 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/common/worker_messages_internal.h
|
View
|
|
1 chunk |
+47 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/renderer/render_view.h
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/renderer/render_view.cc
|
View
|
1
2
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/renderer/renderer.vcproj
|
View
|
1
2
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/renderer/webworker_context_proxy.h
|
View
|
|
1 chunk |
+43 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/renderer/webworker_context_proxy.cc
|
View
|
|
1 chunk |
+50 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/worker/webworker_context_stub.h
|
View
|
|
1 chunk |
+43 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/worker/webworker_context_stub.cc
|
View
|
|
1 chunk |
+33 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/worker/worker.scons
|
View
|
|
1 chunk |
+99 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/worker/worker.vcproj
|
View
|
|
1 chunk |
+171 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/worker/worker_main.cc
|
View
|
|
1 chunk |
+72 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/worker/worker_process.h
|
View
|
|
1 chunk |
+32 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/worker/worker_process.cc
|
View
|
|
1 chunk |
+49 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/worker/worker_thread.h
|
View
|
|
1 chunk |
+55 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/worker/worker_thread.cc
|
View
|
|
1 chunk |
+82 lines, -0 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/WebCore/dom/WorkerMessagingProxy.cpp
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
webkit/glue/glue.vcproj
|
View
|
1
2
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
 |
M |
webkit/glue/webview_delegate.h
|
View
|
1
2
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
 |
A |
webkit/glue/webworker.h
|
View
|
|
1 chunk |
+39 lines, -0 lines |
0 comments
|
Download
|
 |
A |
webkit/glue/webworker.cc
|
View
|
|
1 chunk |
+118 lines, -0 lines |
0 comments
|
Download
|
|