[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