Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Issue 50773002: Introduce WebWorkerPermissionClientProxy to deprecate WorkerAllowMainThreadBridge (Closed)

Created:
7 years, 1 month ago by kinuko
Modified:
7 years, 1 month ago
CC:
blink-reviews, jamesr, dglazkov+blink, abarth-chromium, alecflett
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Currently we relay all allow{Database,FileSystem,IndexedDB} requests for workers from worker thread to renderer thread, but this introduces a lot of complexity and leak/u-a-f problems. This change tries to introduce WebWorkerPermissionClientProxy interface, which gets created on the renderer thread, passed on to the worker thread and then issues sync IPC (on the worker thread) in the embedder code. This will allow us to remove a lot of code (in the next iteration): - To get rid of complex (and insecure) WorkerAllowMainThreadBridge code - To remove more WorkerRunLoop.runInMode usage - To simplify worker client inheritance chain Chromium-side change: https://codereview.chromium.org/46583005/ BUG=none Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=161017

Patch Set 1 #

Total comments: 6

Patch Set 2 : updated comments, minor code fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+135 lines, -60 lines) Patch
M Source/web/DatabaseObserver.cpp View 3 chunks +8 lines, -0 lines 0 comments Download
M Source/web/IDBFactoryBackendProxy.cpp View 1 2 chunks +12 lines, -0 lines 0 comments Download
M Source/web/WebSharedWorkerImpl.cpp View 3 chunks +4 lines, -0 lines 0 comments Download
M Source/web/WebWorkerClientImpl.cpp View 2 chunks +4 lines, -0 lines 0 comments Download
M Source/web/WorkerAllowMainThreadBridgeBase.h View 2 chunks +2 lines, -1 line 0 comments Download
M Source/web/WorkerFileSystemClient.cpp View 1 2 chunks +7 lines, -0 lines 0 comments Download
A + Source/web/WorkerPermissionClient.h View 1 1 chunk +30 lines, -10 lines 0 comments Download
A + Source/web/WorkerPermissionClient.cpp View 1 1 chunk +27 lines, -29 lines 0 comments Download
M Source/web/web.gypi View 1 1 chunk +2 lines, -0 lines 0 comments Download
M public/web/WebCommonWorkerClient.h View 1 chunk +1 line, -0 lines 0 comments Download
M public/web/WebFrameClient.h View 2 chunks +4 lines, -1 line 0 comments Download
M public/web/WebSharedWorkerClient.h View 1 2 chunks +11 lines, -1 line 0 comments Download
A + public/web/WebWorkerPermissionClientProxy.h View 1 chunk +23 lines, -18 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
kinuko
chromium-side patch looks promising, so I'd like to have blink-side change reviewed too. PTL
7 years, 1 month ago (2013-10-30 00:33:36 UTC) #1
abarth-chromium
> - To remove more WorkerRunLoop.runInMode usage Yes! Please! runInMode is sad times.
7 years, 1 month ago (2013-10-30 06:41:08 UTC) #2
abarth-chromium
I'm very excited about this change. This removes a blocking issue for moving workers to ...
7 years, 1 month ago (2013-10-30 06:49:03 UTC) #3
kinuko
Thx! https://codereview.chromium.org/50773002/diff/1/Source/web/DatabaseObserver.cpp File Source/web/DatabaseObserver.cpp (right): https://codereview.chromium.org/50773002/diff/1/Source/web/DatabaseObserver.cpp#newcode133 Source/web/DatabaseObserver.cpp:133: bool DatabaseObserver::canEstablishDatabase(ExecutionContext* executionContext, const String& name, const String& ...
7 years, 1 month ago (2013-10-30 07:05:51 UTC) #4
michaeln
lgtm2 also a big fan of getting rid of the nested message pumps !!! https://codereview.chromium.org/50773002/diff/1/Source/web/WorkerPermissionClient.h ...
7 years, 1 month ago (2013-10-30 19:47:04 UTC) #5
kinuko
Thx! https://codereview.chromium.org/50773002/diff/1/Source/web/WorkerPermissionClient.h File Source/web/WorkerPermissionClient.h (right): https://codereview.chromium.org/50773002/diff/1/Source/web/WorkerPermissionClient.h#newcode57 Source/web/WorkerPermissionClient.h:57: WebWorkerPermissionClientProxy* proxy() { return m_proxy.get(); } On 2013/10/30 ...
7 years, 1 month ago (2013-10-31 01:48:08 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kinuko@chromium.org/50773002/140001
7 years, 1 month ago (2013-10-31 01:58:21 UTC) #7
commit-bot: I haz the power
7 years, 1 month ago (2013-10-31 04:22:17 UTC) #8
Message was sent while issue was closed.
Change committed as 161017

Powered by Google App Engine
This is Rietveld 408576698