Bug 151640 - Modern IDB: Support keyPath injection into object store records
Summary: Modern IDB: Support keyPath injection into object store records
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Brady Eidson
URL:
Keywords:
Depends on:
Blocks: 149117 150882
  Show dependency treegraph
 
Reported: 2015-11-27 22:17 PST by Brady Eidson
Modified: 2015-11-30 10:16 PST (History)
4 users (show)

See Also:


Attachments
Patch v1 (17.37 KB, patch)
2015-11-29 10:22 PST, Brady Eidson
aestes: review+
aestes: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brady Eidson 2015-11-27 22:17:15 PST
Modern IDB: Support keyPath injection into object store records
Comment 1 Brady Eidson 2015-11-29 10:22:28 PST
Created attachment 266225 [details]
Patch v1
Comment 2 Andy Estes 2015-11-30 09:32:47 PST
Comment on attachment 266225 [details]
Patch v1

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

> Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:488
> +    static NeverDestroyed<RefPtr<VM>> vm = VM::create();

Anders once asked me to not use NeverDestroyed for heap-allocated objects. You can just use a static VM* and leak the reference.

> Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:495
> +    static NeverDestroyed<Strong<JSGlobalObject>> globalObject;

LazyNeverDestroyed?

> Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:568
> +        RefPtr<SerializedScriptValue> serializedValue = SerializedScriptValue::create(&databaseThreadExecState(), value, nullptr, nullptr);

You can use auto here.
Comment 3 Brady Eidson 2015-11-30 10:16:38 PST
https://trac.webkit.org/changeset/192798