Bug 145867

Summary: [EFL] Support indexeddb for WK2
Product: WebKit Reporter: Gyuyoung Kim <gyuyoung.kim>
Component: WebKit EFLAssignee: Gyuyoung Kim <gyuyoung.kim>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, hyungwook.lee, jh718.park, lucas.de.marchi, ossy
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 147221    
Attachments:
Description Flags
WIP
none
WIP
none
WIP
none
Patch
none
Patch for landing none

Description Gyuyoung Kim 2015-06-10 20:00:23 PDT
Though GTK and Mac ports have supported indexed db on WK2, EFL WK2 doesn't support it yet.
Comment 1 Gyuyoung Kim 2015-06-10 20:02:55 PDT
Created attachment 254701 [details]
WIP
Comment 2 Gyuyoung Kim 2015-06-17 18:10:24 PDT
Created attachment 255055 [details]
WIP
Comment 3 Gyuyoung Kim 2015-06-17 22:23:54 PDT
Created attachment 255084 [details]
WIP
Comment 4 Csaba Osztrogonác 2015-06-19 02:29:04 PDT
Comment on attachment 255084 [details]
WIP

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

> Source/WebKit2/Shared/AsyncTask.h:61
> -        m_taskFunction = [callee, method, arguments...] {
> -            (callee->*method)(arguments...);
> -        };
> +        // m_taskFunction = [callee, method, arguments...] {
> +        //     (callee->*method)(arguments...);
> +        // };

We will require at least GCC 4.9.0 or clang to build this code.
I don't have any objection against bumping, but I will have
to install newer GCC on the ARM bots before we do it.

The question is if it is reasonable for the EFL port maintainers.

In nutshell bumping means we will require at least Ubuntu 14.10.

> Source/WebKit2/Shared/efl/KeyedDecoder.cpp:1
> +/*

Why don't we simply reuse GTK's KeyedEncoder/KeyedDecoder?
Their implementation only needs glib, nothing else.
Comment 5 Gyuyoung Kim 2015-06-20 00:07:54 PDT
(In reply to comment #4)
> Comment on attachment 255084 [details]
> WIP
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=255084&action=review
> 
> > Source/WebKit2/Shared/AsyncTask.h:61
> > -        m_taskFunction = [callee, method, arguments...] {
> > -            (callee->*method)(arguments...);
> > -        };
> > +        // m_taskFunction = [callee, method, arguments...] {
> > +        //     (callee->*method)(arguments...);
> > +        // };
> 
> We will require at least GCC 4.9.0 or clang to build this code.
> I don't have any objection against bumping, but I will have
> to install newer GCC on the ARM bots before we do it.
> 
> The question is if it is reasonable for the EFL port maintainers.
> 
> In nutshell bumping means we will require at least Ubuntu 14.10.

Yes, I also think now is time to consider to bump Ubuntu ver. Let me send a mail to webkit-efl soon.
 
> > Source/WebKit2/Shared/efl/KeyedDecoder.cpp:1
> > +/*
> 
> Why don't we simply reuse GTK's KeyedEncoder/KeyedDecoder?
> Their implementation only needs glib, nothing else.

If there won't any need supported by EFL, it would be good to use GTK's KeyedDecoder.cpp. Let me check it further.
Comment 6 Csaba Osztrogonác 2015-07-10 02:38:35 PDT
*** Bug 139643 has been marked as a duplicate of this bug. ***
Comment 7 Csaba Osztrogonác 2015-07-10 02:44:15 PDT
(In reply to comment #3)
> Created attachment 255084 [details]
> WIP

The patch here is the older one, so I closed the other bug as duplicated.

(In reply to comment #6)
> *** Bug 139643 has been marked as a duplicate of this bug. ***

Do we really need ecore things in platformInitialize/platformFinalize ?
Additionally we should add executablePathOfDatabaseProcess() implementation
from bug139643 with adding credit to Joonghun.
Comment 8 Csaba Osztrogonác 2015-07-10 02:46:34 PDT
And I still think we should reuse GTK's KeyedEncoder/KeyedDecoder
implementation which need only glib, nothing GTK specific.
We could simply move these files from gtk to glib directory.
Comment 9 Joonghun Park 2015-07-10 07:55:23 PDT
*** Bug 144625 has been marked as a duplicate of this bug. ***
Comment 10 Gyuyoung Kim 2015-07-10 19:49:23 PDT
Created attachment 256640 [details]
Patch
Comment 11 Gyuyoung Kim 2015-07-10 19:50:30 PDT
(In reply to comment #8)
> And I still think we should reuse GTK's KeyedEncoder/KeyedDecoder
> implementation which need only glib, nothing GTK specific.
> We could simply move these files from gtk to glib directory.

Done. I agree with that.
Comment 12 Gyuyoung Kim 2015-07-13 01:26:22 PDT
(In reply to comment #7)

> Do we really need ecore things in platformInitialize/platformFinalize ?
> Additionally we should add executablePathOfDatabaseProcess() implementation
> from bug139643 with adding credit to Joonghun.

Joonghun, please upload a patch to add executablePathOfDatabaseProcess() after landing this patch.
Comment 13 Joonghun Park 2015-07-13 04:36:18 PDT
(In reply to comment #12)
> (In reply to comment #7)

> Do we really need ecore things in
> platformInitialize/platformFinalize ?
> Additionally we should add
> executablePathOfDatabaseProcess() implementation
> from bug139643 with
> adding credit to Joonghun.

Joonghun, please upload a patch to add
> executablePathOfDatabaseProcess() after landing this patch.

Ok, please leave it to me. :)
Comment 14 Gyuyoung Kim 2015-07-21 16:58:37 PDT
Ossy ping ? Could you take a look this patch ?
Comment 15 Csaba Osztrogonác 2015-07-22 07:12:05 PDT
Comment on attachment 256640 [details]
Patch

LGTM. 

And we can enable it too with executablePathOfDatabaseProcess patch if the tests pass.
Comment 16 Gyuyoung Kim 2015-07-22 07:14:12 PDT
(In reply to comment #15)
> Comment on attachment 256640 [details]
> Patch
> 
> LGTM. 
> 
> And we can enable it too with executablePathOfDatabaseProcess patch if the
> tests pass.

yes, joonghun is going to upload a patch to add executablePathOfDatabaseProcess().
Comment 17 WebKit Commit Bot 2015-07-22 07:16:49 PDT
Comment on attachment 256640 [details]
Patch

Rejecting attachment 256640 [details] from commit-queue.

Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.appspot.com', '--bot-id=webkit-cq-01', 'apply-attachment', '--no-update', '--non-interactive', 256640, '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
.h
rm 'Source/WebKit2/Shared/gtk/KeyedDecoder.h'
patching file Source/WebKit2/Shared/gtk/KeyedEncoder.cpp
rm 'Source/WebKit2/Shared/gtk/KeyedEncoder.cpp'
patching file Source/WebKit2/Shared/gtk/KeyedEncoder.h
rm 'Source/WebKit2/Shared/gtk/KeyedEncoder.h'
patching file Source/WebKit2/UIProcess/Databases/efl/DatabaseProcessProxyEfl.cpp

Failed to run "[u'/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply', '--force', '--reviewer', u'Csaba Osztrogon\xe1c']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.appspot.com/results/6571805431037952
Comment 18 Gyuyoung Kim 2015-07-22 07:52:20 PDT
Created attachment 257267 [details]
Patch for landing
Comment 19 WebKit Commit Bot 2015-07-22 15:52:54 PDT
Comment on attachment 257267 [details]
Patch for landing

Clearing flags on attachment: 257267

Committed r187191: <http://trac.webkit.org/changeset/187191>
Comment 20 WebKit Commit Bot 2015-07-22 15:52:57 PDT
All reviewed patches have been landed.  Closing bug.