OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 | 43 |
44 using namespace WebCore; | 44 using namespace WebCore; |
45 | 45 |
46 using blink::WebIDBDatabase; | 46 using blink::WebIDBDatabase; |
47 | 47 |
48 namespace { | 48 namespace { |
49 | 49 |
50 class IDBTransactionTest : public testing::Test { | 50 class IDBTransactionTest : public testing::Test { |
51 public: | 51 public: |
52 IDBTransactionTest() | 52 IDBTransactionTest() |
53 : m_handleScope(v8::Isolate::GetCurrent()) | 53 : m_scope(V8BindingTestScope::create(v8::Isolate::GetCurrent())) |
54 , m_scope(v8::Context::New(v8::Isolate::GetCurrent())) | |
55 , m_document(Document::create()) | 54 , m_document(Document::create()) |
56 { | 55 { |
57 } | 56 } |
58 | 57 |
59 ExecutionContext* executionContext() | 58 ExecutionContext* executionContext() |
60 { | 59 { |
61 return m_document.get(); | 60 return m_document.get(); |
62 } | 61 } |
63 | 62 |
64 private: | 63 private: |
65 v8::HandleScope m_handleScope; | 64 OwnPtr<V8BindingTestScope> m_scope; |
66 v8::Context::Scope m_scope; | |
67 RefPtr<Document> m_document; | 65 RefPtr<Document> m_document; |
68 }; | 66 }; |
69 | 67 |
70 class FakeWebIDBDatabase FINAL : public blink::WebIDBDatabase { | 68 class FakeWebIDBDatabase FINAL : public blink::WebIDBDatabase { |
71 public: | 69 public: |
72 static PassOwnPtr<FakeWebIDBDatabase> create() { return adoptPtr(new FakeWeb
IDBDatabase()); } | 70 static PassOwnPtr<FakeWebIDBDatabase> create() { return adoptPtr(new FakeWeb
IDBDatabase()); } |
73 | 71 |
74 virtual void commit(long long transactionId) OVERRIDE { } | 72 virtual void commit(long long transactionId) OVERRIDE { } |
75 virtual void abort(long long transactionId) OVERRIDE { } | 73 virtual void abort(long long transactionId) OVERRIDE { } |
76 virtual void close() OVERRIDE { } | 74 virtual void close() OVERRIDE { } |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 | 144 |
147 // Fire an abort to make sure this doesn't free the transaction during use.
The test | 145 // Fire an abort to make sure this doesn't free the transaction during use.
The test |
148 // will not fail if it is, but ASAN would notice the error. | 146 // will not fail if it is, but ASAN would notice the error. |
149 db->onAbort(transactionId, DOMError::create(AbortError, "Aborted")); | 147 db->onAbort(transactionId, DOMError::create(AbortError, "Aborted")); |
150 | 148 |
151 // onAbort() should have cleared the transaction's reference to the database
. | 149 // onAbort() should have cleared the transaction's reference to the database
. |
152 EXPECT_EQ(1, db->refCount()); | 150 EXPECT_EQ(1, db->refCount()); |
153 } | 151 } |
154 | 152 |
155 } // namespace | 153 } // namespace |
OLD | NEW |