WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
65997
[Chromium] Decouple implementation of allowFileSystem, openFileSystem and allowDatabase from WebWorkerBase
https://bugs.webkit.org/show_bug.cgi?id=65997
Summary
[Chromium] Decouple implementation of allowFileSystem, openFileSystem and all...
Dmitry Lomov
Reported
2011-08-10 10:36:43 PDT
After dedicated workers move in-process, they will no longer be using WebWorkerBase as a base implementation class.
Attachments
Implementation
(28.74 KB, patch)
2011-08-10 10:47 PDT
,
Dmitry Lomov
jianli
: review-
Details
Formatted Diff
Diff
CR feedback addressed
(29.15 KB, patch)
2011-08-10 13:10 PDT
,
Dmitry Lomov
jianli
: review-
Details
Formatted Diff
Diff
Extra feedback
(29.24 KB, patch)
2011-08-10 13:37 PDT
,
Dmitry Lomov
jianli
: review-
Details
Formatted Diff
Diff
Empty lines
(29.24 KB, patch)
2011-08-10 13:42 PDT
,
Dmitry Lomov
jianli
: review+
webkit.review.bot
: commit-queue-
Details
Formatted Diff
Diff
Fixed changelog
(29.30 KB, patch)
2011-08-10 15:53 PDT
,
Dmitry Lomov
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Dmitry Lomov
Comment 1
2011-08-10 10:47:25 PDT
Created
attachment 103504
[details]
Implementation This patch moves implementation of allowFileSystem, openFileSystem and allowDatabase from WebWorkerBase to respectively LocalFileSystemChromium and DatabaseObserver, parametrizing them with relevant data from WebWorker.
Dmitry Lomov
Comment 2
2011-08-10 10:48:53 PDT
(chromium trybots are happy)
Jian Li
Comment 3
2011-08-10 11:21:15 PDT
Comment on
attachment 103504
[details]
Implementation View in context:
https://bugs.webkit.org/attachment.cgi?id=103504&action=review
> Source/WebKit/chromium/ChangeLog:4 > +
https://bugs.webkit.org/show_bug.cgi?id=65997
.
Please add an empty line after the link.
> Source/WebKit/chromium/ChangeLog:9 > + * src/DatabaseObserver.cpp:
Please add more detail regarding this particular file here. For example, you can add: Move allowDatabase from WebWorkerBase and update the caller.
> Source/WebKit/chromium/src/DatabaseObserver.cpp:90 > + createCallbackTask(&didComplete, WebCore::AllowCrossThreadAccess(this), result), m_mode);
You can join this line and the line above it.
> Source/WebKit/chromium/src/DatabaseObserver.cpp:107 > + if (!commonClient)
You can flip the if condition and swap the two actions.
> Source/WebKit/chromium/src/DatabaseObserver.cpp:124 > +bool allowDatabaseForWorker(WebCommonWorkerClient* commonClient, WebFrame* frame, const WebString& name, const WebString& displayName, unsigned long estimatedSize)
I think allowDatabaseOnWorker sounds better.
> Source/WebKit/chromium/src/DatabaseObserver.cpp:130 > + WebCore::WorkerLoaderProxy* workerLoaderProxy = &workerContext->thread()->workerLoaderProxy();
You can replace "workerContext->thread()" with workerThread.
> Source/WebKit/chromium/src/LocalFileSystemChromium.cpp:145 > + WebCore::WorkerLoaderProxy* workerLoaderProxy = &workerContext->thread()->workerLoaderProxy();
ditto. Also, can you use a helper function to get workerThread?
> Source/WebKit/chromium/src/LocalFileSystemChromium.cpp:168 > + WebCore::WorkerLoaderProxy* workerLoaderProxy = &workerContext->thread()->workerLoaderProxy();
ditto.
> Source/WebKit/chromium/src/WebWorkerBase.cpp:53 > +#include "WorkerLoaderProxy.h"
It seems that you can also remove the including of WorkerFileSystemCallbacksBridge.h, WorkerScriptController.h and others.
> Source/WebKit/chromium/src/WebWorkerBase.h:95 > + WebView* webView() { return m_webView; }
Please add const modifier.
> Source/WebKit/chromium/src/WebWorkerBase.h:97 > + virtual WebCommonWorkerClient* commonClient() = 0;
Please add empty line after this.
> Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h:42 > +#include "WorkerLoaderProxy.h"
You can use forward declaration for WorkerLoaderProxy, instead of including it. Do not forget to remove the forward declaration for WebWorkerBase.
Dmitry Lomov
Comment 4
2011-08-10 13:09:55 PDT
Comment on
attachment 103504
[details]
Implementation View in context:
https://bugs.webkit.org/attachment.cgi?id=103504&action=review
Thanks for review!
>> Source/WebKit/chromium/ChangeLog:4 >> +
https://bugs.webkit.org/show_bug.cgi?id=65997
. > > Please add an empty line after the link.
Done.
>> Source/WebKit/chromium/ChangeLog:9 >> + * src/DatabaseObserver.cpp: > > Please add more detail regarding this particular file here. For example, you can add: > Move allowDatabase from WebWorkerBase and update the caller.
Done
>> Source/WebKit/chromium/src/DatabaseObserver.cpp:90 >> + createCallbackTask(&didComplete, WebCore::AllowCrossThreadAccess(this), result), m_mode); > > You can join this line and the line above it.
Changed formatting to make code clearer.
>> Source/WebKit/chromium/src/DatabaseObserver.cpp:107 >> + if (!commonClient) > > You can flip the if condition and swap the two actions.
Done although this was the orinal code.
>> Source/WebKit/chromium/src/DatabaseObserver.cpp:124 >> +bool allowDatabaseForWorker(WebCommonWorkerClient* commonClient, WebFrame* frame, const WebString& name, const WebString& displayName, unsigned long estimatedSize) > > I think allowDatabaseOnWorker sounds better.
Why for? We are allowing database _for_ worker. Also consistent with other naming (openFileSystemForWorker)
>> Source/WebKit/chromium/src/DatabaseObserver.cpp:130 >> + WebCore::WorkerLoaderProxy* workerLoaderProxy = &workerContext->thread()->workerLoaderProxy(); > > You can replace "workerContext->thread()" with workerThread.
Done.
>> Source/WebKit/chromium/src/LocalFileSystemChromium.cpp:145 >> + WebCore::WorkerLoaderProxy* workerLoaderProxy = &workerContext->thread()->workerLoaderProxy(); > > ditto. > > Also, can you use a helper function to get workerThread?
I need both workerThread and workerContext out of this 3 lines of code, so I do not feel separate function is very useful.
>> Source/WebKit/chromium/src/LocalFileSystemChromium.cpp:168 >> + WebCore::WorkerLoaderProxy* workerLoaderProxy = &workerContext->thread()->workerLoaderProxy(); > > ditto.
Done.
>> Source/WebKit/chromium/src/WebWorkerBase.cpp:53 >> +#include "WorkerLoaderProxy.h" > > It seems that you can also remove the including of WorkerFileSystemCallbacksBridge.h, WorkerScriptController.h and others.
Done
>> Source/WebKit/chromium/src/WebWorkerBase.h:95 >> + WebView* webView() { return m_webView; } > > Please add const modifier.
Done.
>> Source/WebKit/chromium/src/WebWorkerBase.h:97 >> + virtual WebCommonWorkerClient* commonClient() = 0; > > Please add empty line after this.
Done.
>> Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h:42 >> +#include "WorkerLoaderProxy.h" > > You can use forward declaration for WorkerLoaderProxy, instead of including it. > > Do not forget to remove the forward declaration for WebWorkerBase.
Done.
Dmitry Lomov
Comment 5
2011-08-10 13:10:24 PDT
Created
attachment 103523
[details]
CR feedback addressed
Jian Li
Comment 6
2011-08-10 13:23:15 PDT
Comment on
attachment 103523
[details]
CR feedback addressed Almost there. Just some more minor comments. View in context:
https://bugs.webkit.org/attachment.cgi?id=103523&action=review
> Source/WebKit/chromium/ChangeLog:8 > + parametrizing them with relevant data from WebWorker.
typo: parameterizing
> Source/WebKit/chromium/ChangeLog:10 > + * src/DatabaseObserver.cpp:Move allowDatabase from WebWorkerBase and update the caller.
Please add a whitespace after ':'.
> Source/WebKit/chromium/ChangeLog:20 > + * src/LocalFileSystemChromium.cpp:Move allowFileSystem and openFileSystem from WebWorkerBase and update the caller.
ditto.
> Source/WebKit/chromium/ChangeLog:30 > + * src/WorkerFileSystemCallbacksBridge.h:
Please also add more comment here, like: Change WorkerFileSystemCallbacksBridge constructor to take WorkerLoaderProxy argument.
> Source/WebKit/chromium/src/LocalFileSystemChromium.cpp:122 > + if (!commonClient)
Since you're already in this code, why not just making it better?
> Source/WebKit/chromium/src/LocalFileSystemChromium.cpp:184 > +
Please remove an extra blank line.
Dmitry Lomov
Comment 7
2011-08-10 13:36:45 PDT
(In reply to
comment #6
)
> (From update of
attachment 103523
[details]
) > Almost there. Just some more minor comments. > > View in context:
https://bugs.webkit.org/attachment.cgi?id=103523&action=review
> > > Source/WebKit/chromium/ChangeLog:8 > > + parametrizing them with relevant data from WebWorker. > > typo: parameterizing
Done.
> > > Source/WebKit/chromium/ChangeLog:10 > > + * src/DatabaseObserver.cpp:Move allowDatabase from WebWorkerBase and update the caller. > > Please add a whitespace after ':'.
Done.
> > > Source/WebKit/chromium/ChangeLog:20 > > + * src/LocalFileSystemChromium.cpp:Move allowFileSystem and openFileSystem from WebWorkerBase and update the caller. > > ditto.
Done.
> > > Source/WebKit/chromium/ChangeLog:30 > > + * src/WorkerFileSystemCallbacksBridge.h: > > Please also add more comment here, like: > Change WorkerFileSystemCallbacksBridge constructor to take WorkerLoaderProxy argument.
Done.
> > > Source/WebKit/chromium/src/LocalFileSystemChromium.cpp:122 > > + if (!commonClient) > > Since you're already in this code, why not just making it better?
Done.
> > > Source/WebKit/chromium/src/LocalFileSystemChromium.cpp:184 > > + > > Please remove an extra blank line.
Done.
Dmitry Lomov
Comment 8
2011-08-10 13:37:24 PDT
Created
attachment 103528
[details]
Extra feedback
Jian Li
Comment 9
2011-08-10 13:39:41 PDT
Comment on
attachment 103528
[details]
Extra feedback View in context:
https://bugs.webkit.org/attachment.cgi?id=103528&action=review
> Source/WebKit/chromium/src/DatabaseObserver.cpp:147 > +
Extra empty line.
> Source/WebKit/chromium/src/LocalFileSystemChromium.cpp:75 > +
Extra empty line.
Dmitry Lomov
Comment 10
2011-08-10 13:42:28 PDT
Created
attachment 103530
[details]
Empty lines
WebKit Review Bot
Comment 11
2011-08-10 15:31:00 PDT
Comment on
attachment 103530
[details]
Empty lines Rejecting
attachment 103530
[details]
from commit-queue. Failed to run "['./Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=ec2-cq-02', '--port..." exit_code: 1 Last 500 characters of output: 1031bf49c725076cb9a13180c3c1151164e7e6d7
r92799
= 42efb1ad980c022006972b156e9dcde70e43ac9e Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc First, rewinding head to replay your work on top of it... Fast-forwarded master to refs/remotes/origin/master. Updating chromium port dependencies using gclient... ________ running '/usr/bin/python gyp_webkit' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium' Updating webkit projects from gyp files... Full output:
http://queues.webkit.org/results/9336822
Adam Barth
Comment 12
2011-08-10 15:45:20 PDT
ERROR: /mnt/git/webkit-commit-queue/Source/WebKit/chromium/ChangeLog neither lists a valid reviewer nor contains the string "Unreviewed" or "Rubber stamp" (case insensitive).
Adam Barth
Comment 13
2011-08-10 15:46:00 PDT
You need to leave the "Reviewed by NOBODY (OOPS!)" line int he ChangeLog so that the bot knows where to insert the reviewer information.
Dmitry Lomov
Comment 14
2011-08-10 15:53:39 PDT
Created
attachment 103547
[details]
Fixed changelog
WebKit Review Bot
Comment 15
2011-08-10 16:51:43 PDT
Comment on
attachment 103547
[details]
Fixed changelog Clearing flags on attachment: 103547 Committed
r92802
: <
http://trac.webkit.org/changeset/92802
>
WebKit Review Bot
Comment 16
2011-08-10 16:51:49 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug