Bug 104934 - webdatabase: Introducing the DatabaseStrategy and database server
Summary: webdatabase: Introducing the DatabaseStrategy and database server
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: 105062 105083
Blocks: 103668 104748
  Show dependency treegraph
 
Reported: 2012-12-13 11:20 PST by Mark Lam
Modified: 2012-12-15 01:04 PST (History)
7 users (show)

See Also:


Attachments
Fix. (52.76 KB, patch)
2012-12-13 11:51 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-13 11:20:24 PST
This change adds the DatabaseStrategy which creates a simple do nothing database server.   The functionality for the database server will be added in https://bugs.webkit.org/show_bug.cgi?id=104748.
Comment 1 Mark Lam 2012-12-13 11:51:58 PST
Created attachment 179309 [details]
Fix.

This patch was already tested against the EWS bots in https://bugs.webkit.org/show_bug.cgi?id=104748, but is submitted separately here so that we can land it as a smaller patch.
Comment 2 Mark Lam 2012-12-14 14:00:36 PST
The fix is landed in r137767: <http://trac.webkit.org/changeset/137767>.
Comment 3 Ryosuke Niwa 2012-12-14 15:23:20 PST
This patch broke Mac builds:

http://build.webkit.org/builders/Apple%20Lion%20Debug%20%28Build%29/builds/9358/steps/compile-webkit/logs/stdio
Undefined symbols for architecture x86_64:
  "__ZTVN7WebCore16DatabaseStrategyE", referenced from:
      __ZN7WebCore16DatabaseStrategyC2Ev in WebPlatformStrategies.o
Comment 4 WebKit Review Bot 2012-12-14 15:28:23 PST
Re-opened since this is blocked by bug 105062
Comment 5 Mark Lam 2012-12-14 18:02:51 PST
FYI, this changes was rolled out in r137784: <http://trac.webkit.org/changeset/137784> in https://bugs.webkit.org/show_bug.cgi?id=105062.
Comment 6 Mark Lam 2012-12-14 23:54:13 PST
The patch only fails to build for debug builds on Mac.  The following one line change was added to export the vtbl of the DatabaseStrategy class, and resolve the build issue.

Index: Source/WebCore/WebCore.exp.in
===================================================================
--- Source/WebCore/WebCore.exp.in	(revision 137794)
+++ Source/WebCore/WebCore.exp.in	(working copy)
@@ -1482,6 +1483,7 @@ __ZNK7WebCore9PageCache10frameCountEv
 __ZNK7WebCore9PageCache21autoreleasedPageCountEv
 __ZTVN7WebCore12ChromeClientE
 __ZTVN7WebCore14LoaderStrategyE
+__ZTVN7WebCore16DatabaseStrategyE
 __ZTVN7WebCore16IconDatabaseBaseE
 __ZTVN7WebCore17FrameLoaderClientE
 __ZTVN7WebCore25HistoryPropertyListWriterE

With this change, the patch now builds for all flavors. 

In addition to a build failure on debug builds, it was reported that release builds were crashing on Mac and Windows on launch.  That issue was due to the WebView not calling WebPlatformStrategies::initialize() soon enough (see https://bugs.webkit.org/show_bug.cgi?id=105083), which has now been resolved.

Will re-land the patch from r137767 with the addition of the one line change above to fix the build failure on Mac debug builds.
Comment 7 Mark Lam 2012-12-15 00:11:49 PST
The patch has be re-landed (along with the 1 line build fix) in landed in r137795: <http://trac.webkit.org/changeset/137795>.
Comment 9 Mark Lam 2012-12-15 01:04:12 PST
The fix to green the Qt Linux Release Minimal bot is to add #if ENABLE(SQL_DATABASE) around the declaration and definition of WebPlatformStrategies::getDatabaseServer() in WebKit2's WebPlatformStrategies.h/cpp.

Fix landed in r137796: <http://trac.webkit.org/changeset/137796>.