Bug 104741 - webdatabase: Encapsulate externally used DB APIs in DatabaseManager
Summary: webdatabase: Encapsulate externally used DB APIs in DatabaseManager
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Mark Lam
URL:
Keywords:
Depends on:
Blocks: 103668 104748
  Show dependency treegraph
 
Reported: 2012-12-11 16:41 PST by Mark Lam
Modified: 2013-01-31 17:08 PST (History)
16 users (show)

See Also:


Attachments
The patch. (140.86 KB, patch)
2012-12-11 20:53 PST, Mark Lam
webkit.review.bot: commit-queue-
Details | Formatted Diff | Diff
Fixed a few issues, and let's retry with the EWS bots. (147.20 KB, patch)
2012-12-11 23:48 PST, Mark Lam
no flags Details | Formatted Diff | Diff
svn up'ed to get the patch to apply properly. (147.12 KB, patch)
2012-12-12 00:02 PST, Mark Lam
webkit.review.bot: commit-queue-
Details | Formatted Diff | Diff
Fix bug in chromium port. (147.12 KB, patch)
2012-12-12 00:24 PST, Mark Lam
eflews.bot: commit-queue-
Details | Formatted Diff | Diff
5th time's the charm: svn up, updated ChangeLog comments. (148.97 KB, patch)
2012-12-12 07:25 PST, Mark Lam
eflews.bot: commit-queue-
Details | Formatted Diff | Diff
Added a #include to make the elf port happy. Also updated ChangeLog dates and fixed a typo. (149.35 KB, patch)
2012-12-12 09:47 PST, Mark Lam
no flags Details | Formatted Diff | Diff
svn up again to get the patch to apply. (149.16 KB, patch)
2012-12-12 12:48 PST, Mark Lam
sam: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Lam 2012-12-11 16:41:29 PST
Introduce a DatabaseManager module to encapsulate APIs that are called by code outside the webdatabase module.
Comment 1 Mark Lam 2012-12-11 20:53:53 PST
Created attachment 178956 [details]
The patch.

Let's see how the EWS bots like it.
Comment 2 WebKit Review Bot 2012-12-11 21:09:13 PST
Comment on attachment 178956 [details]
The patch.

Attachment 178956 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15277436
Comment 3 Peter Beverloo (cr-android ews) 2012-12-11 21:11:26 PST
Comment on attachment 178956 [details]
The patch.

Attachment 178956 [details] did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/15272574
Comment 4 Build Bot 2012-12-11 21:17:15 PST
Comment on attachment 178956 [details]
The patch.

Attachment 178956 [details] did not pass win-ews (win):
Output: http://queues.webkit.org/results/15284279
Comment 5 EFL EWS Bot 2012-12-11 22:40:52 PST
Comment on attachment 178956 [details]
The patch.

Attachment 178956 [details] did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15281352
Comment 6 Mark Lam 2012-12-11 23:48:00 PST
Created attachment 178981 [details]
Fixed a few issues, and let's retry with the EWS bots.
Comment 7 Mark Lam 2012-12-12 00:02:12 PST
Created attachment 178984 [details]
svn up'ed to get the patch to apply properly.
Comment 8 WebKit Review Bot 2012-12-12 00:14:43 PST
Comment on attachment 178984 [details]
svn up'ed to get the patch to apply properly.

Attachment 178984 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15300001
Comment 9 Peter Beverloo (cr-android ews) 2012-12-12 00:23:43 PST
Comment on attachment 178984 [details]
svn up'ed to get the patch to apply properly.

Attachment 178984 [details] did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/15276572
Comment 10 Mark Lam 2012-12-12 00:24:13 PST
Created attachment 178988 [details]
Fix bug in chromium port.
Comment 11 EFL EWS Bot 2012-12-12 02:14:26 PST
Comment on attachment 178988 [details]
Fix bug in chromium port.

Attachment 178988 [details] did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15272699
Comment 12 Mark Lam 2012-12-12 07:25:02 PST
Created attachment 179035 [details]
5th time's the charm: svn up, updated ChangeLog comments.

Let's retry the EWS bots after an svn up to see if the gtk and elf issues are resolved.  The failures from the last patch do not seem to be related to the patch.
Comment 13 EFL EWS Bot 2012-12-12 09:23:36 PST
Comment on attachment 179035 [details]
5th time's the charm: svn up, updated ChangeLog comments.

Attachment 179035 [details] did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15286339
Comment 14 Mark Lam 2012-12-12 09:47:55 PST
Created attachment 179070 [details]
Added a #include to make the elf port happy.  Also updated ChangeLog dates and fixed a typo.
Comment 15 Mark Lam 2012-12-12 10:24:01 PST
Comment on attachment 179070 [details]
Added a #include to make the elf port happy.  Also updated ChangeLog dates and fixed a typo.

Ready for a review.  The elf ews will take a while to process.  It was previously complaining about CString only being forward declared.  The added #include <wtf/text/CString.h> should take care of the issue.
Comment 16 Mark Lam 2012-12-12 12:48:29 PST
Created attachment 179105 [details]
svn up again to get the patch to apply.
Comment 17 Mark Lam 2012-12-12 15:07:32 PST
Landed in r137520: <http://trac.webkit.org/changeset/137520>.
Comment 18 Mark Lam 2012-12-12 16:04:36 PST
aklein reported that r137520 is causing a build breakage in chromium:

Undefined symbols:
  "__ZN7WebCore15DatabaseTracker17initializeTrackerERKN3WTF6StringE", referenced from:
      __ZN7WebCore15DatabaseManager10initializeERKN3WTF6StringE in libwebcore_remaining.a(DatabaseManager.o)
ld: symbol(s) not found

The issue is because chromium does not use the same DatabaseTracker class, and hence does not have nor need the call to DatabaseTracker::initializeTracker() function.

The fix is landed in r137530: <http://trac.webkit.org/changeset/137530>.
Comment 19 Michael Nordman 2013-01-31 17:08:23 PST
Comment on attachment 178988 [details]
Fix bug in chromium port.

View in context: https://bugs.webkit.org/attachment.cgi?id=178988&action=review

> Source/WebCore/WebCore.gypi:990
> +            'Modules/webdatabase/DatabaseManager.cpp',

Please add .h files to webcore.gyi as well when adding new files to webcore.

We generally add all files to this gypi, including .cpp files that we actually exclude from our build further downstream (in WebCore.gpy/WebCore.gyp).