<!DOCTYPE html> <meta charset="utf-8"> <title>IDBObjectStore.delete() - object store's key path is an object attribute </title> <link rel="author" title="Microsoft" href="http://www.microsoft.com"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="resources/support.js"></script> <script> var db, t = async_test(), record = { test: { obj: { key: 1 } }, property: "data" }; var open_rq = createdb(t); open_rq.onupgradeneeded = function(e) { db = e.target.result; var objStore = db.createObjectStore("test", { keyPath: "test.obj.key" }); objStore.add(record); }; open_rq.onsuccess = function(e) { var delete_rq = db.transaction("test", "readwrite", {durability: 'relaxed'}) .objectStore("test") .delete(record.test.obj.key); delete_rq.onsuccess = t.step_func(function(e) { assert_equals(e.target.result, undefined); e.target.transaction.oncomplete = t.step_func(VerifyRecordRemoved); }); }; function VerifyRecordRemoved() { var rq = db.transaction("test", "readonly", {durability: 'relaxed'}) .objectStore("test") .get(record.test.obj.key); rq.onsuccess = t.step_func(function(e) { assert_equals(e.target.result, undefined); t.done(); }); } </script> <div id="log"></div>