diff options
author | Steve Block <steveblock@google.com> | 2011-05-25 08:15:24 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-05-25 08:15:24 -0700 |
commit | fa91a01aee5d4a80ca6c80f722116b850f09996c (patch) | |
tree | f72740e60d3c3d4f0ab144e88c03d1f134944ce3 /LayoutTests/storage/indexeddb/error-causes-abort-by-default.html | |
parent | 96f37d6d1b390f6690858789706ee6ec25bc1677 (diff) | |
parent | feebf8e7a79ad68b04a1a948e2b8078d6e5f0048 (diff) | |
download | external_webkit-fa91a01aee5d4a80ca6c80f722116b850f09996c.zip external_webkit-fa91a01aee5d4a80ca6c80f722116b850f09996c.tar.gz external_webkit-fa91a01aee5d4a80ca6c80f722116b850f09996c.tar.bz2 |
Merge changes I78ff6a85,Ic85c6405,Ibf903baa,I3a0459db,I35140385,I54790419,I6bfe5d24,Ia9f39b83,I5bcecd5a,I1de96683,I543c6810,I8a5b0878,I0ae670bf,Ide4d58dc,I28ebaf3d,I499d6631,Ie5090e0d,I6d3e5f1f
* changes:
Merge WebKit at r78450: Update ThirdPartyProject.prop
Merge WebKit at r78450: Add new Font::canExpandAroundIdeographsInComplexText()
Merge WebKit at r78450: Add new ChromeClient::selectItemAlignmentFollowsMenuWritingDirection()
Merge WebKit at r78450: FrameLoaderClient::didRunInsecureContent() signature changed
Merge WebKit at r78450: HTMLAreaElement::getRect() renamed
Merge WebKit at r78450: FrameLoader::url() removed
Merge WebKit at r78450: HTMLParserQuirks removed
Merge WebKit at r78450: TextRun::padding() renamed
Merge WebKit at r78450: Use new FontMetrics
Merge WebKit at r78450: GraphicsContext current path removed
Merge WebKit at r78450: TransformationMatrix multiply methods renamed and meaning changed
Merge WebKit at r78450: FontCustomPlatformData::fontPlatformData() signature changed
Merge WebKit at r78450: IntRect::bottom()/right() renamed
Merge WebKit at r78450: Fix remaining conflicts
Merge WebKit at r78450: Fix conflicts due to new ENABLE_WEB_ARCHIVE guard
Merge WebKit at r78450: Fix conflicts in media controls
Merge WebKit at r78450: Fix Makefiles
Merge WebKit at r78450: Initial merge by git.
Diffstat (limited to 'LayoutTests/storage/indexeddb/error-causes-abort-by-default.html')
-rw-r--r-- | LayoutTests/storage/indexeddb/error-causes-abort-by-default.html | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/LayoutTests/storage/indexeddb/error-causes-abort-by-default.html b/LayoutTests/storage/indexeddb/error-causes-abort-by-default.html new file mode 100644 index 0000000..ab4c58a --- /dev/null +++ b/LayoutTests/storage/indexeddb/error-causes-abort-by-default.html @@ -0,0 +1,127 @@ +<html> +<head> +<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css"> +<script src="../../fast/js/resources/js-test-pre.js"></script> +<script src="../../fast/js/resources/js-test-post-function.js"></script> +<script src="resources/shared.js"></script> +</head> +<body> +<p id="description"></p> +<div id="console"></div> +<script> + +description("Verify that a transaction with an error aborts unless preventDefault() is called."); +if (window.layoutTestController) + layoutTestController.waitUntilDone(); + +function test() +{ + result = evalAndLog("webkitIndexedDB.open('name')"); + verifyResult(result); + result.onsuccess = setVersion; + result.onerror = unexpectedErrorCallback; +} + +function setVersion() +{ + verifySuccessEvent(event); + db = evalAndLog("db = event.result"); + + result = evalAndLog("db.setVersion('new version')"); + verifyResult(result); + result.onsuccess = deleteExisting; + result.onerror = unexpectedErrorCallback; +} + +function deleteExisting() +{ + debug("setVersionSuccess():"); + verifySuccessEvent(event); + window.trans = evalAndLog("trans = event.result"); + shouldBeTrue("trans !== null"); + trans.onabort = unexpectedAbortCallback; + evalAndLog("trans.oncomplete = addData"); + + deleteAllObjectStores(db, createObjectStore); +} + +function createObjectStore() +{ + evalAndLog("db.createObjectStore('storeName', null)"); +} + +function addData() +{ + trans = evalAndLog("trans = db.transaction([], webkitIDBTransaction.READ_WRITE)"); + evalAndLog("trans.onabort = unexpectedAbortCallback"); + evalAndLog("trans.oncomplete = transactionCompleted"); + store = evalAndLog("store = trans.objectStore('storeName')"); + result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); + verifyResult(result); + result.onsuccess = addMore; + result.onerror = unexpectedErrorCallback; +} + +function addMore() +{ + verifySuccessEvent(event); + + result = evalAndLog("event.source.add({x: 'value', y: 'zzz'}, 'key')"); + verifyResult(result); + result.onsuccess = unexpectedSuccessCallback; + result.addEventListener("error", preventTheDefault); +} + +function preventTheDefault() +{ + evalAndLog("event.preventDefault()"); +} + +function transactionCompleted() +{ + testPassed("Transaction completed"); + debug(""); + debug(""); + trans = evalAndLog("trans = db.transaction([], webkitIDBTransaction.READ_WRITE)"); + evalAndLog("trans.onabort = transactionAborted1"); + evalAndLog("trans.oncomplete = unexpectedCompleteCallback"); + store = evalAndLog("store = trans.objectStore('storeName')"); + result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); + verifyResult(result); + result.onsuccess = unexpectedSuccessCallback; + result.onerror = allowDefault; +} + +function allowDefault() +{ + debug("Doing nothing to prevent the default action..."); +} + +function transactionAborted1() +{ + testPassed("Transaction aborted"); + debug(""); + debug(""); + trans = evalAndLog("trans = db.transaction([], webkitIDBTransaction.READ_WRITE)"); + evalAndLog("trans.onabort = transactionAborted2"); + evalAndLog("trans.oncomplete = unexpectedCompleteCallback"); + store = evalAndLog("store = trans.objectStore('storeName')"); + result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); + verifyResult(result); + result.onsuccess = unexpectedSuccessCallback; + debug("Omitting an onerror handler"); +} + +function transactionAborted2() +{ + testPassed("Transaction aborted"); + done(); +} + +test(); + +var successfullyParsed = true; + +</script> +</body> +</html> |