blob: 9ab06441a167b17a21cfb22180965d5c57a45b3e [file] [log] [blame]
<!doctype html>
<meta charset="utf-8">
<title>WebSQL: FTS3 internal tables should not be exposed</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
'use strict';
async_test(testCase => {
const database = openDatabase(
'Fts3InternalTableAccessTest', '1.0',
'Database for FTS3 internal table access test', 1024 * 1024);
assert_not_equals(database, null, 'openDatabase should not fail');
database.transaction(testCase.step_func(transaction => {
transaction.executeSql(
'DROP TABLE IF EXISTS main;', [], () => {},
testCase.unreached_func('Table drop should not fail'));
transaction.executeSql(
'CREATE VIRTUAL TABLE main USING FTS3;', [], () => {},
testCase.unreached_func('FTS3 table creation should not fail'));
transaction.executeSql(
"INSERT INTO main VALUES('aaaa');", [], () => {},
testCase.unreached_func('FTS3 table insertion should not fail'));
transaction.executeSql(
"UPDATE main_segdir SET root=x'0000';", [],
testCase.unreached_func('FTS3 internal table access should fail'),
testCase.step_func_done());
}));
}, 'WebSQL should not allow access to FTS3 internal tables');
</script>