Bug 123451 - Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform
Summary: Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Brady Eidson
URL:
Keywords:
Depends on:
Blocks: 123449
  Show dependency treegraph
 
Reported: 2013-10-29 11:00 PDT by Brady Eidson
Modified: 2013-10-29 13:42 PDT (History)
7 users (show)

See Also:


Attachments
Patch v1 (75.50 KB, patch)
2013-10-29 11:12 PDT, Brady Eidson
eflews.bot: commit-queue-
Details | Formatted Diff | Diff
Patch v2 (80.77 KB, patch)
2013-10-29 11:28 PDT, Brady Eidson
eflews.bot: commit-queue-
Details | Formatted Diff | Diff
Patch v3 - Make a method pure virtual that should already have been. (80.77 KB, patch)
2013-10-29 11:48 PDT, Brady Eidson
kling: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brady Eidson 2013-10-29 11:00:58 PDT
Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform

This is part of https://bugs.webkit.org/show_bug.cgi?id=123449 - IDBTransactionBackend should be cross platform
Comment 1 Brady Eidson 2013-10-29 11:12:42 PDT
Created attachment 215399 [details]
Patch v1
Comment 2 WebKit Commit Bot 2013-10-29 11:14:57 PDT
Attachment 215399 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/GNUmakefile.list.am', u'Source/WebCore/Modules/indexeddb/IDBCallbacks.h', u'Source/WebCore/Modules/indexeddb/IDBCursorBackendInterface.h', u'Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp', u'Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h', u'Source/WebCore/Modules/indexeddb/IDBDatabaseBackendInterface.h', u'Source/WebCore/Modules/indexeddb/IDBOperation.h', u'Source/WebCore/Modules/indexeddb/IDBPendingOpenCall.h', u'Source/WebCore/Modules/indexeddb/IDBRequest.h', u'Source/WebCore/Modules/indexeddb/IDBTransactionBackendInterface.h', u'Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp', u'Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h', u'Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp', u'Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h', u'Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp', u'Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h', u'Source/WebCore/WebCore.xcodeproj/project.pbxproj']" exit_code: 1
Source/WebCore/Modules/indexeddb/IDBDatabaseBackendInterface.h:111:  The parameter name "pendingOpenCall" adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 18 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Brady Eidson 2013-10-29 11:16:32 PDT
(In reply to comment #2)
> Attachment 215399 [details] did not pass style-queue:
> 
> Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', 
> Source/WebCore/Modules/indexeddb/IDBDatabaseBackendInterface.h:111:  The parameter name "pendingOpenCall" adds no information, so it should be removed.  [readability/parameter_name] [5]
> Total errors found: 1 in 18 files

Fixed locally.
Comment 4 Brady Eidson 2013-10-29 11:18:57 PDT
Ugh, WK2 won't build, forgot a WebCore project file change to export a new header.
Comment 5 EFL EWS Bot 2013-10-29 11:20:30 PDT
Comment on attachment 215399 [details]
Patch v1 

Attachment 215399 [details] did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/17078133
Comment 6 Build Bot 2013-10-29 11:27:21 PDT
Comment on attachment 215399 [details]
Patch v1 

Attachment 215399 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/17138140
Comment 7 Brady Eidson 2013-10-29 11:28:44 PDT
Created attachment 215402 [details]
Patch v2
Comment 8 EFL EWS Bot 2013-10-29 11:37:02 PDT
Comment on attachment 215402 [details]
Patch v2 

Attachment 215402 [details] did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/17108145
Comment 9 EFL EWS Bot 2013-10-29 11:39:21 PDT
Comment on attachment 215402 [details]
Patch v2 

Attachment 215402 [details] did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/17148124
Comment 10 Brady Eidson 2013-10-29 11:42:45 PDT
Ummm... thanks EFL?

Last 500 characters of output:
 reference to `vtable for WebCore::IDBTransactionBackendInterface'
../../lib/libwebcore_efl.a(IDBTransactionBackendLevelDB.cpp.o):(.data.rel.ro._ZTIN7WebCore28IDBTransactionBackendLevelDBE[_ZTIN7WebCore28IDBTransactionBackendLevelDBE]+0x10): undefined reference to `typeinfo for WebCore::IDBTransactionBackendInterface'

Didn't see this on the Mac with the LevelDB build enabled...
Comment 11 Brady Eidson 2013-10-29 11:48:06 PDT
Might have been my mistake.  Uploading new patch to check.
Comment 12 Brady Eidson 2013-10-29 11:48:32 PDT
Created attachment 215410 [details]
Patch v3 - Make a method pure virtual that should already have been.
Comment 13 Andreas Kling 2013-10-29 12:54:30 PDT
Comment on attachment 215410 [details]
Patch v3 - Make a method pure virtual that should already have been.

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

r=me.

> Source/WebCore/ChangeLog:11
> +        - Reworking the LeveDB Operations to handle the base class IDBTransactionBackendInterface

Typo, LevelDB

> Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:423
> +    Deque<OwnPtr<IDBPendingOpenCall>> pendingOpenCalls;
>      m_pendingOpenCalls.swap(pendingOpenCalls);

This would look slightly more straightforward like so:
Deque<OwnPtr<IDBPendingOpenCall>> pendingOpenCalls = std::move(m_pendingOpenCalls);

Hm, I wonder if we couldn't even do this:
auto pendingOpenCalls = std::move(m_pendingOpenCalls);
Comment 14 Brady Eidson 2013-10-29 13:08:46 PDT
(In reply to comment #13)
> (From update of attachment 215410 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=215410&action=review
> 
> r=me.
> 
> > Source/WebCore/ChangeLog:11
> > +        - Reworking the LeveDB Operations to handle the base class IDBTransactionBackendInterface
> 
> Typo, LevelDB
> 
> > Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:423
> > +    Deque<OwnPtr<IDBPendingOpenCall>> pendingOpenCalls;
> >      m_pendingOpenCalls.swap(pendingOpenCalls);
> 
> This would look slightly more straightforward like so:
> Deque<OwnPtr<IDBPendingOpenCall>> pendingOpenCalls = std::move(m_pendingOpenCalls);
> 
> Hm, I wonder if we couldn't even do this:
> auto pendingOpenCalls = std::move(m_pendingOpenCalls);

I'll skip on trying to make either of these changes, as both result in:

/Volumes/Data/build/Debug/usr/local/include/wtf/Vector.h:141:32: Call to implicitly-deleted copy constructor of 'WTF::OwnPtr<WebCore::IDBPendingOpenCall>'
Comment 15 Brady Eidson 2013-10-29 13:37:34 PDT
http://trac.webkit.org/changeset/158217
Comment 16 Brady Eidson 2013-10-29 13:42:00 PDT
and http://trac.webkit.org/changeset/158218 also