Changeset 57704 in webkit


Ignore:
Timestamp:
Apr 15, 2010 6:17:20 PM (14 years ago)
Author:
dimich@chromium.org
Message:

2010-04-15 Dmitry Titov <dimich@chromium.org>

Unreviewed, rolling out r57688.
http://trac.webkit.org/changeset/57688
https://bugs.webkit.org/show_bug.cgi?id=34992

Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots

  • fast/workers/change-version-handle-reuse-worker-expected.txt: Removed.
  • fast/workers/change-version-handle-reuse-worker.html: Removed.
  • fast/workers/execute-sql-args-worker-expected.txt: Removed.
  • fast/workers/execute-sql-args-worker.html: Removed.
  • fast/workers/resources/database-worker-controller.js: Removed.
  • fast/workers/resources/database-worker.js: Removed.
  • storage/change-version-handle-reuse-expected.txt:
  • storage/change-version-handle-reuse.html:
  • storage/change-version-handle-reuse.js: Removed.
  • storage/execute-sql-args.html:
  • storage/execute-sql-args.js: Removed.

2010-04-15 Dmitry Titov <dimich@chromium.org>

Unreviewed, rolling out r57688.
http://trac.webkit.org/changeset/57688
https://bugs.webkit.org/show_bug.cgi?id=34992

Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots

  • bindings/js/JSWorkerContextCustom.cpp:
  • bindings/v8/custom/V8WorkerContextCustom.cpp:
  • storage/Database.idl:
  • storage/SQLError.idl:
  • storage/SQLResultSet.idl:
  • storage/SQLResultSetRowList.idl:
  • storage/SQLTransaction.idl:
  • workers/WorkerContext.cpp: (WebCore::WorkerContext::openDatabase):
  • workers/WorkerContext.h: (WebCore::WorkerContext::databaseExceededQuota):
  • workers/WorkerContext.idl:
Location:
trunk
Files:
8 deleted
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r57697 r57704  
     12010-04-15  Dmitry Titov  <dimich@chromium.org>
     2
     3        Unreviewed, rolling out r57688.
     4        http://trac.webkit.org/changeset/57688
     5        https://bugs.webkit.org/show_bug.cgi?id=34992
     6
     7        Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots
     8
     9        * fast/workers/change-version-handle-reuse-worker-expected.txt: Removed.
     10        * fast/workers/change-version-handle-reuse-worker.html: Removed.
     11        * fast/workers/execute-sql-args-worker-expected.txt: Removed.
     12        * fast/workers/execute-sql-args-worker.html: Removed.
     13        * fast/workers/resources/database-worker-controller.js: Removed.
     14        * fast/workers/resources/database-worker.js: Removed.
     15        * storage/change-version-handle-reuse-expected.txt:
     16        * storage/change-version-handle-reuse.html:
     17        * storage/change-version-handle-reuse.js: Removed.
     18        * storage/execute-sql-args.html:
     19        * storage/execute-sql-args.js: Removed.
     20
    1212010-04-15  Albert J. Wong  <ajwong@chromium.org>
    222
  • trunk/LayoutTests/storage/change-version-handle-reuse-expected.txt

    r57688 r57704  
    1 This tests that a database can be accessed after changing its version. You should see an error about FooBar table below, not about mismatching versions.
     1This tests that a database can be accessed after changing its version. You should see an error about FooBar table below, not about mismatching versions. Also, reloading the page should not cause an assertion failure.
    22changeVersion: transaction callback
    33changeVersion: success callback
  • trunk/LayoutTests/storage/change-version-handle-reuse.html

    r57688 r57704  
    11<html>
    22<head>
    3 <script src="change-version-handle-reuse.js"></script>
    43<script>
    5 
    6 var DB_TEST_SUFFIX = "_dom";
    7 
    84function log(message)
    95{
    10     document.getElementById("console").innerText += message + "\n";
     6    document.getElementById("result").innerText += message + "\n";
    117}
    128
    13 function setupAndRunTest()
     9function finishTest()
     10{
     11    log("TEST COMPLETE.");
     12
     13    if (window.layoutTestController)
     14        layoutTestController.notifyDone();
     15}
     16
     17function runTest()
    1418{
    1519    if (window.layoutTestController) {
     
    1822    }
    1923 
    20     document.getElementById("console").innerText = "";
     24    document.getElementById("result").innerText = "";
    2125 
    22     runTest();
     26    try {
     27        db = openDatabase("ChangeVersion", "", "Test that changing a database version doesn\'t kill our handle to it", 1);
     28        var version = db.version;
     29        var newVersion = version ? (parseInt(version) + 1).toString() : "1";
     30        db.changeVersion(version, newVersion, function(tx) {
     31            log("changeVersion: transaction callback");
     32        }, function(error) {
     33            log("changeVersion: error callback: " + error.message);
     34        }, function() {
     35            log("changeVersion: success callback");
     36        });
     37       
     38        setTimeout(runTest2, 1000);
     39       
     40    } catch (e) {
     41        log("changeVersion exception: " + e);
     42        finishTest();
     43    }
     44}
     45 
     46function runTest2()
     47{
     48    try {
     49        db.transaction(function(tx) {
     50            tx.executeSql("SELECT * from FooBar", [], function(tx) {
     51                log("transaction: statement callback");
     52                finishTest();
     53            }, function(tx, error) {
     54                log("transaction: statement error callback: " + error.message);
     55                finishTest();
     56            });
     57        });
     58    } catch (e) {
     59        log("transaction exception: " + e);
     60        finishTest();
     61    }
    2362}
    2463</script>
    2564</head>
    26 <body onload="setupAndRunTest()">
    27 <div>This tests that a database can be accessed after changing its version. You should see an error about FooBar table below, not about mismatching versions.
    28 <pre id="console">
     65<body onload="runTest()">
     66<div>This tests that a database can be accessed after changing its version. You should see an error about FooBar table below, not about mismatching versions. Also, reloading the page should not cause an assertion failure.
     67<pre id="result">
    2968FAILURE: test didn't run.
    3069</pre>
  • trunk/LayoutTests/storage/execute-sql-args.html

    r57688 r57704  
    22
    33<head>
    4 <script src="execute-sql-args.js"></script>
    54<script>
    65
    7 var DB_TEST_SUFFIX = "_dom";
     6var throwOnToStringObject = { };
     7throwOnToStringObject.toString = function () { throw "Cannot call toString on this object." };
    88
    9 function log(message)
     9var throwOnGetLengthObject = { };
     10throwOnGetLengthObject.__defineGetter__("length", function () { throw "Cannot get length of this object."; });
     11
     12var throwOnGetZeroObject = { length: 1 };
     13throwOnGetZeroObject.__defineGetter__("0", function () { throw "Cannot get 0 property of this object."; });
     14
     15var expectNoException = [
     16    'null',
     17    'undefined',
     18    '0',
     19    '""',
     20    '"", null',
     21    '"", undefined',
     22    '"", []',
     23    '"", [ "arg0" ]',
     24    '"", { }',
     25    '"", { length: 0 }',
     26    '"", { length: 1, 0: "arg0" }',
     27    '"", null, null',
     28    '"", null, undefined',
     29    '"", null, { }',
     30    '"", null, null, null',
     31    '"", null, null, undefined',
     32    '"", null, null, { }',
     33];
     34
     35var expectException = [
     36    '',
     37    'throwOnToStringObject',
     38    '"", throwOnGetLengthObject',
     39    '"", throwOnGetZeroObject',
     40    '"", [ throwOnToStringObject ]',
     41    '"", 0',
     42    '"", ""',
     43    '"", null, 0',
     44    '"", null, ""',
     45    '"", null, null, 0',
     46    '"", null, null, ""',
     47];
     48
     49function writeMessageToLog(message)
    1050{
    1151    document.getElementById("console").innerText += message + "\n";
    1252}
    1353
    14 function setupAndRunTest()
     54function tryExecuteSql(transaction, parameterList)
     55{
     56    try {
     57        eval('transaction.executeSql(' + parameterList + ')');
     58        return null;
     59    } catch (exception) {
     60        return exception;
     61    }
     62}
     63
     64function runTransactionTest(transaction, parameterList, expectException)
     65{
     66    var exception = tryExecuteSql(transaction, parameterList);
     67    if (expectException) {
     68        if (exception)
     69            writeMessageToLog("PASS. executeSql(" + parameterList + ") threw an exception as expected.");
     70        else
     71            writeMessageToLog("*FAIL*. executeSql(" + parameterList + ") did not throw an exception");
     72    } else {
     73        if (exception)
     74            writeMessageToLog("*FAIL*. executeSql(" + parameterList + ") threw an exception: " + exception);
     75        else
     76            writeMessageToLog("PASS. executeSql(" + parameterList + ") did not throw an exception");
     77    }
     78}
     79
     80function runTransactionTests(transaction)
     81{
     82    for (i in expectNoException)
     83        runTransactionTest(transaction, expectNoException[i], false);
     84    for (i in expectException)
     85        runTransactionTest(transaction, expectException[i], true);
     86
     87    if (window.layoutTestController)
     88        layoutTestController.notifyDone();
     89}
     90
     91function runTest()
    1592{
    1693    if (window.layoutTestController) {
     
    1895        layoutTestController.waitUntilDone();
    1996    }
    20     runTest();
     97
     98    var db = openDatabase("ExecuteSQLArgsTest", "1.0", "Test of handling of the arguments to SQLTransaction.executeSql", 1);
     99    db.transaction(runTransactionTests);
    21100}
    22101
     
    24103</head>
    25104
    26 <body onload="setupAndRunTest()">
     105<body onload="runTest()">
    27106<pre id="console"></pre>
    28107</body>
  • trunk/WebCore/ChangeLog

    r57701 r57704  
     12010-04-15  Dmitry Titov  <dimich@chromium.org>
     2
     3        Unreviewed, rolling out r57688.
     4        http://trac.webkit.org/changeset/57688
     5        https://bugs.webkit.org/show_bug.cgi?id=34992
     6
     7        Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots
     8
     9        * bindings/js/JSWorkerContextCustom.cpp:
     10        * bindings/v8/custom/V8WorkerContextCustom.cpp:
     11        * storage/Database.idl:
     12        * storage/SQLError.idl:
     13        * storage/SQLResultSet.idl:
     14        * storage/SQLResultSetRowList.idl:
     15        * storage/SQLTransaction.idl:
     16        * workers/WorkerContext.cpp:
     17        (WebCore::WorkerContext::openDatabase):
     18        * workers/WorkerContext.h:
     19        (WebCore::WorkerContext::databaseExceededQuota):
     20        * workers/WorkerContext.idl:
     21
    1222010-04-15  Yury Semikhatsky  <yurys@google.com>
    223
  • trunk/WebCore/bindings/js/JSWorkerContextCustom.cpp

    r57688 r57704  
    3030#include "JSWorkerContext.h"
    3131
    32 #include "Database.h"
    33 #include "JSDatabase.h"
    34 #include "JSDatabaseCallback.h"
    3532#include "JSDOMBinding.h"
    3633#include "JSDOMGlobalObject.h"
     
    166163#endif
    167164
    168 #if ENABLE(DATABASE)
    169 JSValue JSWorkerContext::openDatabase(ExecState* exec, const ArgList& args)
    170 {
    171     const UString& name = args.at(0).toString(exec);
    172     const UString& version = args.at(1).toString(exec);
    173     const UString& displayName = args.at(2).toString(exec);
    174     unsigned long estimatedSize = args.at(3).toInt32(exec);
    175     RefPtr<DatabaseCallback> creationCallback;
    176     if ((args.size() >= 5) && args.at(4).isObject())
    177         creationCallback = JSDatabaseCallback::create(asObject(args.at(4)), globalObject());
    178  
    179     ExceptionCode ec = 0;
    180     JSValue result = toJS(exec, globalObject(), WTF::getPtr(impl()->openDatabase(name, version, displayName, estimatedSize, creationCallback.release(), ec)));
    181     setDOMException(exec, ec);
    182     return result;
    183 }
    184 #endif
    185  
    186165} // namespace WebCore
    187166
  • trunk/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp

    r57688 r57704  
    3838#include "ScheduledAction.h"
    3939#include "V8Binding.h"
    40 #include "V8Database.h"
    41 #include "V8DatabaseCallback.h"
    4240#include "V8Proxy.h"
    4341#include "V8Utilities.h"
     
    139137}
    140138
    141 v8::Handle<v8::Value> V8WorkerContext::openDatabaseCallback(const v8::Arguments& args)
    142 {
    143     INC_STATS("DOM.WorkerContext.openDatabase()");
    144     // Implementation coming soon.
    145     return v8::Undefined();
    146 }
    147139} // namespace WebCore
    148140
  • trunk/WebCore/storage/Database.idl

    r57688 r57704  
    3131    interface [
    3232        Conditional=DATABASE,
    33         OmitConstructor,
    34         NoStaticTables
     33        OmitConstructor
    3534    ] Database {
    3635        readonly attribute DOMString version;
  • trunk/WebCore/storage/SQLError.idl

    r57688 r57704  
    3131    interface [
    3232        Conditional=DATABASE,
    33         OmitConstructor,
    34         NoStaticTables
     33        OmitConstructor
    3534    ] SQLError {
    3635        readonly attribute unsigned long code;
  • trunk/WebCore/storage/SQLResultSet.idl

    r57688 r57704  
    3131    interface [
    3232        Conditional=DATABASE,
    33         OmitConstructor,
    34         NoStaticTables
     33        OmitConstructor
    3534    ] SQLResultSet {
    3635        readonly attribute SQLResultSetRowList rows;
  • trunk/WebCore/storage/SQLResultSetRowList.idl

    r57688 r57704  
    3131    interface [
    3232        Conditional=DATABASE,
    33         OmitConstructor,
    34         NoStaticTables
     33        OmitConstructor
    3534    ] SQLResultSetRowList {
    3635        readonly attribute unsigned long length;
  • trunk/WebCore/storage/SQLTransaction.idl

    r57688 r57704  
    3131    interface [
    3232        Conditional=DATABASE,
    33         OmitConstructor,
    34         NoStaticTables
     33        OmitConstructor
    3534    ] SQLTransaction {
    3635        [Custom] void executeSql(in DOMString sqlStatement, in ObjectArray arguments, in SQLStatementCallback callback, in SQLStatementErrorCallback errorCallback);
  • trunk/WebCore/workers/WorkerContext.cpp

    r57688 r57704  
    3333
    3434#include "ActiveDOMObject.h"
    35 #include "DatabaseTracker.h"
    3635#include "DOMTimer.h"
    3736#include "DOMWindow.h"
     
    277276    }
    278277
     278    ASSERT(Database::isAvailable());
    279279    if (!Database::isAvailable())
    280280        return 0;
     
    282282    return Database::openDatabase(this, name, version, displayName, estimatedSize, creationCallback, ec);
    283283}
    284 
    285 void WorkerContext::databaseExceededQuota(const String&)
    286 {
    287 #if !PLATFORM(CHROMIUM)
    288     // FIXME: This needs a real implementation; this is a temporary solution for testing.
    289     const unsigned long long defaultQuota = 5 * 1024 * 1024;
    290     DatabaseTracker::tracker().setQuota(securityOrigin(), defaultQuota);
    291 #endif
    292 }
    293284#endif
    294285
  • trunk/WebCore/workers/WorkerContext.h

    r57688 r57704  
    108108        // Not implemented yet.
    109109        virtual bool isDatabaseReadOnly() const { return false; }
    110         // Not implemented for real yet.
    111         virtual void databaseExceededQuota(const String&);
     110        // Not implemented yet.
     111        virtual void databaseExceededQuota(const String&) { }
    112112#endif
    113113        virtual bool isContextThread() const;
  • trunk/WebCore/workers/WorkerContext.idl

    r57688 r57704  
    5050        [Custom] void importScripts(/*[Variadic] in DOMString urls */);
    5151                 attribute [Replaceable] WorkerNavigator navigator;
    52 #if defined(ENABLE_DATABASE) && ENABLE_DATABASE
    53         [EnabledAtRuntime, Custom] Database openDatabase(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize, in DatabaseCallback creationCallback)
    54             raises(DOMException);
    55 #endif
     52        // Database openDatabase(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize);
    5653        // DatabaseSync openDatabaseSync(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize);
    5754
Note: See TracChangeset for help on using the changeset viewer.