Bug 98932 - [GTK] Enable IndexedDB
Summary: [GTK] Enable IndexedDB
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: Gtk, LayoutTestFailure
: 94495 (view as bug list)
Depends on: 107194 103220 107299 139491 140880 145211
Blocks: 140882
  Show dependency treegraph
 
Reported: 2012-10-10 11:34 PDT by Zan Dobersek
Modified: 2015-05-25 00:08 PDT (History)
10 users (show)

See Also:


Attachments
Patch (11.64 KB, patch)
2015-01-23 06:32 PST, Carlos Garcia Campos
zan: review+
Details | Formatted Diff | Diff
Rebased patch (11.51 KB, patch)
2015-05-19 06:36 PDT, Carlos Garcia Campos
no flags Details | Formatted Diff | Diff
Trying again now that EWS bots have new GCC (11.51 KB, patch)
2015-05-20 05:16 PDT, Carlos Garcia Campos
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Zan Dobersek 2012-10-10 11:34:29 PDT
This bug will cover enabling Indexed Database feature on the GTK port.
Comment 1 Martin Robinson 2012-10-28 15:41:14 PDT
*** Bug 94495 has been marked as a duplicate of this bug. ***
Comment 2 Carlos Garcia Campos 2015-01-23 06:32:22 PST
Created attachment 245226 [details]
Patch
Comment 3 Carlos Garcia Campos 2015-01-23 08:37:49 PST
Weird build error in our EWS again, look unrelated to the patch.
Comment 4 Carlos Garcia Campos 2015-01-26 00:25:26 PST
Committed r179107: <http://trac.webkit.org/changeset/179107>
Comment 5 WebKit Commit Bot 2015-01-26 01:04:02 PST
Re-opened since this is blocked by bug 140880
Comment 6 Carlos Garcia Campos 2015-01-26 01:28:39 PST
So, we need to either bump the minimum GCC version required or remove the AsyncTask implementation using C++ lambdas, see bug #140881.
Comment 7 Carlos Garcia Campos 2015-05-02 01:54:30 PDT
(In reply to comment #6)
> So, we need to either bump the minimum GCC version required or remove the
> AsyncTask implementation using C++ lambdas, see bug #140881.

Maybe we can bump the GCC requirements now for the new cycle. Debian stable has 4.9.2, we should probably update our bots to jessie at some point this cycle. It's a shame this feature is blocked by a compiler bug.
Comment 8 Martin Robinson 2015-05-02 09:11:25 PDT
(In reply to comment #7)
> (In reply to comment #6)
> > So, we need to either bump the minimum GCC version required or remove the
> > AsyncTask implementation using C++ lambdas, see bug #140881.
> 
> Maybe we can bump the GCC requirements now for the new cycle. Debian stable
> has 4.9.2, we should probably update our bots to jessie at some point this
> cycle. It's a shame this feature is blocked by a compiler bug.

Let's just make indexed database depend on the newer version of GCC. This should be pretty easy. It's the path of least resistance while we figure out what to do. We'll need too coordinate updating the bots.
Comment 9 Martin Robinson 2015-05-02 09:12:45 PDT
(In reply to comment #8)
> (In reply to comment #7)
> > (In reply to comment #6)
> > > So, we need to either bump the minimum GCC version required or remove the
> > > AsyncTask implementation using C++ lambdas, see bug #140881.
> > 
> > Maybe we can bump the GCC requirements now for the new cycle. Debian stable
> > has 4.9.2, we should probably update our bots to jessie at some point this
> > cycle. It's a shame this feature is blocked by a compiler bug.
> 
> Let's just make indexed database depend on the newer version of GCC. This
> should be pretty easy. It's the path of least resistance while we figure out
> what to do. We'll need too coordinate updating the bots.

Note that the latest LTS version of Ubuntu only has 14.10, but we can recommend clang in that case hopefully.
Comment 10 Michael Catanzaro 2015-05-03 14:20:13 PDT
I don't mind bumping the compiler requirement, since this is a major feature and not just a code cleanup. But looking at the test expectations, is this really ready? It seems enabling IndexedDB will introduce several known crashes....
Comment 11 Carlos Garcia Campos 2015-05-18 02:24:14 PDT
(In reply to comment #8)
> (In reply to comment #7)
> > (In reply to comment #6)
> > > So, we need to either bump the minimum GCC version required or remove the
> > > AsyncTask implementation using C++ lambdas, see bug #140881.
> > 
> > Maybe we can bump the GCC requirements now for the new cycle. Debian stable
> > has 4.9.2, we should probably update our bots to jessie at some point this
> > cycle. It's a shame this feature is blocked by a compiler bug.
> 
> Let's just make indexed database depend on the newer version of GCC. This
> should be pretty easy. It's the path of least resistance while we figure out
> what to do. We'll need too coordinate updating the bots.

I would not make the option depending on the compiler, we will have to upgrade the bots to test indexeddb, so we won't be testing wk build with previous versions of GCC anymore. Or if we don't upgrade the bots to ensure wk still builds with previous versions of GCC we won't be testing indexeddb.
Comment 12 Carlos Garcia Campos 2015-05-18 02:27:29 PDT
(In reply to comment #10)
> I don't mind bumping the compiler requirement, since this is a major feature
> and not just a code cleanup. But looking at the test expectations, is this
> really ready? It seems enabling IndexedDB will introduce several known
> crashes....

I'll check the current status, it's early in the release cycle, we can try to fix those crashes once we have basic support landed.
Comment 13 Martin Robinson 2015-05-18 16:30:45 PDT
(In reply to comment #11)

> I would not make the option depending on the compiler, we will have to
> upgrade the bots to test indexeddb, so we won't be testing wk build with
> previous versions of GCC anymore. Or if we don't upgrade the bots to ensure
> wk still builds with previous versions of GCC we won't be testing indexeddb.

Isn't untested support for a compiler better than dropping support completely?
Comment 14 Carlos Garcia Campos 2015-05-18 23:00:25 PDT
(In reply to comment #13)
> (In reply to comment #11)
> 
> > I would not make the option depending on the compiler, we will have to
> > upgrade the bots to test indexeddb, so we won't be testing wk build with
> > previous versions of GCC anymore. Or if we don't upgrade the bots to ensure
> > wk still builds with previous versions of GCC we won't be testing indexeddb.
> 
> Isn't untested support for a compiler better than dropping support
> completely?

I don't think so, I prefer to drop support for buggy versions of the compiler, and not making important features depend on the compiler.
Comment 15 Carlos Garcia Campos 2015-05-19 06:36:33 PDT
Created attachment 253383 [details]
Rebased patch

Fortunately build still works with indexeddb enabled. I've updated the test expectations, I got only one crash and a lot of other failures (all of them except one common to mac).

run-webkit-tests --gtk storage/indexeddb http/tests/security/cross-origin-indexeddb-allowed.html http/tests/security/cross-origin-indexeddb.html  http/tests/security/no-indexeddb-from-sandbox.html fast/history/page-cache-indexed-closed-db.html fast/history/page-cache-indexed-opened-db.html

Found 236 tests; running 150, skipping 86.
Running 4 WebKitTestRunners in parallel.

All 150 tests ran as expected.
Comment 16 Carlos Alberto Lopez Perez 2015-05-20 04:24:10 PDT
(In reply to comment #8)
> We'll need too coordinate updating the bots.

I have just updated the 4 bots that I control:

GTK Linux 64-bit Debug (Build)
GTK Linux 64-bit Debug (Tests)
GTK Linux 64-bit Release (Build)
GTK Linux 64-bit Release (Perf)
GTK Linux 64-bit Release (Tests)

They are now all running Debian 8.0 with gcc-4.9.
Comment 17 Gustavo Noronha (kov) 2015-05-20 05:01:00 PDT
GCC 4.9 also available on both I maintain now =)
Comment 18 Carlos Garcia Campos 2015-05-20 05:16:38 PDT
Created attachment 253439 [details]
Trying again now that EWS bots have new GCC
Comment 19 Carlos Garcia Campos 2015-05-25 00:05:24 PDT
Committed r184850: <http://trac.webkit.org/changeset/184850>