[Webkit-unassigned] [Bug 28019] WINCE PORT: modified files in WebCore/storage
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Aug 18 13:07:50 PDT 2009
https://bugs.webkit.org/show_bug.cgi?id=28019
--- Comment #13 from Yong Li <yong.li at torchmobile.com> 2009-08-18 13:07:48 PDT ---
> Adding ifdefs like this really uglies up the code and is not necessary. The
> abstraction layer is already there: it's StorageAreaSync. The class's API is
> as follows:
"single-threaded" is a little different from "sync". Our single-threaded
solution is also "async". It performs one task every time when timer is fired.
>
> void scheduleFinalSync();
> void blockUntilImportComplete() const;
> void scheduleItemForSync(const String& key, const String& value);
> void scheduleClear();
>
> blockUntilImportComplete could synchronously read in the data.
> scheduleItemForSync could immediately write an item out. scheduleClear could
> immediately clear the data. scheduleFinalSync could be a no-op.
>
> I believe you can easily/cleanly change things so the StorageSyncManager
> needn't be instantiated for your port. If you needed ideas on how, I could
> take a closer look.
>
> For WINCE, you could just not compile LocalStorageThread.cpp,
> LocalStorageTask.cpp, StorageAreaSync.cpp, and StorageAreaManager.cpp and
> instead provide your own versions (if any) of these files (which would be in a
> singleThread or wince directory). We use this trick all the time in Chromium
> (for example, with StorageNamespace.cpp).
This is what we're doing right now. but when upstream multi-threaded solution
changes, we have to change again.
>
> Let me know if you need any more specific advice, but please don't commit this
> patch as is.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list