Bug 76493

Summary: IndexedDB: Implement create-intermediate-objects semantics when injecting values via keyPaths
Product: WebKit Reporter: Joshua Bell <jsbell>
Component: WebCore Misc.Assignee: Joshua Bell <jsbell>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, dgrogan, japhet, rolandsteiner, tony, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 76599    
Bug Blocks: 76198    
Attachments:
Description Flags
Patch none

Description Joshua Bell 2012-01-17 16:21:05 PST
See thread:

http://lists.w3.org/Archives/Public/public-webapps/2012JanMar/0141.html

and W3C bug:

https://www.w3.org/Bugs/Public/show_bug.cgi?id=15434

Currently, when following the spec to "set the property in value pointed to by store's key path to the new value for key", WebKit does nothing if intermediate values along the keyPath can't be set, e.g.:

var record = {foo: 1};
hypotheticalSetValueViaKeyPathFunction(record, "bar.baz", "newvalue");

WebKit currently doesn't modify record in that case. The spec is being updated so that record would have the new value:

record := {foo: 1, bar: { baz: "newvalue" } }
Comment 1 Joshua Bell 2012-01-17 17:41:06 PST
Created attachment 122850 [details]
Patch
Comment 2 Joshua Bell 2012-01-18 10:09:10 PST
tony@, can you r?

Name suggestions for what I've called "ensure" are appreciated.
Comment 3 Tony Chang 2012-01-18 13:41:21 PST
(In reply to comment #2)
> Name suggestions for what I've called "ensure" are appreciated.

ensure seems fine.  Maybe "validate" or "verify" as well.
Comment 4 WebKit Review Bot 2012-01-18 14:37:11 PST
Comment on attachment 122850 [details]
Patch

Rejecting attachment 122850 [details] from commit-queue.

jsbell@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.
Comment 5 WebKit Review Bot 2012-01-18 15:07:43 PST
Comment on attachment 122850 [details]
Patch

Clearing flags on attachment: 122850

Committed r105331: <http://trac.webkit.org/changeset/105331>
Comment 6 WebKit Review Bot 2012-01-18 15:07:47 PST
All reviewed patches have been landed.  Closing bug.
Comment 7 Roland Steiner 2012-01-18 21:00:32 PST
Rolled out in r105376 as it broke the Chromium InjectIDBKey browser test.
Comment 8 Roland Steiner 2012-01-18 21:22:00 PST
Rolled patch back in after discussion with jsbell - landed in WebKit r105378