OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 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 | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
11 * notice, this list of conditions and the following disclaimer in the | 11 * notice, this list of conditions and the following disclaimer in the |
12 * documentation and/or other materials provided with the distribution. | 12 * documentation and/or other materials provided with the distribution. |
13 * | 13 * |
14 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY | 14 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY |
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
16 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 16 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
17 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY | 17 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
18 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 18 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
19 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 19 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
20 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 20 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
21 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 21 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
24 */ | 24 */ |
25 | 25 |
26 #include "config.h" | 26 #include "config.h" |
27 #include "modules/indexeddb/IDBVersionChangeEvent.h" | 27 #include "modules/indexeddb/IDBVersionChangeEvent.h" |
28 | 28 |
29 #include "bindings/modules/v8/IDBBindingUtilities.h" | |
30 | |
31 namespace WebCore { | 29 namespace WebCore { |
32 | 30 |
33 | 31 |
34 IDBVersionChangeEventInit::IDBVersionChangeEventInit() | 32 IDBVersionChangeEventInit::IDBVersionChangeEventInit() |
35 : oldVersion(0) | 33 : oldVersion(0) |
36 { | 34 { |
37 } | 35 } |
38 | 36 |
39 IDBVersionChangeEvent::IDBVersionChangeEvent() | 37 IDBVersionChangeEvent::IDBVersionChangeEvent() |
40 : m_dataLoss(blink::WebIDBDataLossNone) | 38 : m_dataLoss(blink::WebIDBDataLossNone) |
(...skipping 10 matching lines...) Expand all Loading... | |
51 { | 49 { |
52 ScriptWrappable::init(this); | 50 ScriptWrappable::init(this); |
53 } | 51 } |
54 | 52 |
55 IDBVersionChangeEvent::IDBVersionChangeEvent(const AtomicString& eventType, cons t IDBVersionChangeEventInit& initializer) | 53 IDBVersionChangeEvent::IDBVersionChangeEvent(const AtomicString& eventType, cons t IDBVersionChangeEventInit& initializer) |
56 : Event(eventType, false /*canBubble*/, false /*cancelable*/) | 54 : Event(eventType, false /*canBubble*/, false /*cancelable*/) |
57 , m_oldVersion(initializer.oldVersion) | 55 , m_oldVersion(initializer.oldVersion) |
58 , m_newVersion(initializer.newVersion) | 56 , m_newVersion(initializer.newVersion) |
59 , m_dataLoss(blink::WebIDBDataLossNone) | 57 , m_dataLoss(blink::WebIDBDataLossNone) |
60 { | 58 { |
59 if (initializer.dataLoss.isEmpty() || initializer.dataLoss == "none") | |
60 m_dataLoss = blink::WebIDBDataLossNone; | |
61 else if (initializer.dataLoss == "total") | |
62 m_dataLoss = blink::WebIDBDataLossTotal; | |
63 else | |
64 ASSERT_NOT_REACHED(); // Should have been validated by the bindings | |
jsbell
2014/07/16 22:48:36
Is this actually enforced by the bindings now? (I
bashi
2014/07/17 01:47:57
IIUC, the bindings checks whether the value is val
cmumford
2014/07/17 17:14:24
Not checked - That's my follow-up change (crbug.co
| |
61 ScriptWrappable::init(this); | 65 ScriptWrappable::init(this); |
62 } | 66 } |
63 | 67 |
64 unsigned long long IDBVersionChangeEvent::newVersion(bool& isNull) const | 68 unsigned long long IDBVersionChangeEvent::newVersion(bool& isNull) const |
65 { | 69 { |
66 isNull = m_newVersion.isNull(); | 70 isNull = m_newVersion.isNull(); |
67 return isNull ? 0 : m_newVersion.get(); | 71 return isNull ? 0 : m_newVersion.get(); |
68 } | 72 } |
69 | 73 |
70 const AtomicString& IDBVersionChangeEvent::dataLoss() const | 74 const AtomicString& IDBVersionChangeEvent::dataLoss() const |
71 { | 75 { |
72 DEFINE_STATIC_LOCAL(AtomicString, total, ("total", AtomicString::ConstructFr omLiteral)); | 76 DEFINE_STATIC_LOCAL(AtomicString, total, ("total", AtomicString::ConstructFr omLiteral)); |
73 if (m_dataLoss == blink::WebIDBDataLossTotal) | 77 if (m_dataLoss == blink::WebIDBDataLossTotal) |
74 return total; | 78 return total; |
75 DEFINE_STATIC_LOCAL(AtomicString, none, ("none", AtomicString::ConstructFrom Literal)); | 79 DEFINE_STATIC_LOCAL(AtomicString, none, ("none", AtomicString::ConstructFrom Literal)); |
76 return none; | 80 return none; |
77 } | 81 } |
78 | 82 |
79 const AtomicString& IDBVersionChangeEvent::interfaceName() const | 83 const AtomicString& IDBVersionChangeEvent::interfaceName() const |
80 { | 84 { |
81 return EventNames::IDBVersionChangeEvent; | 85 return EventNames::IDBVersionChangeEvent; |
82 } | 86 } |
83 | 87 |
84 void IDBVersionChangeEvent::trace(Visitor* visitor) | 88 void IDBVersionChangeEvent::trace(Visitor* visitor) |
85 { | 89 { |
86 Event::trace(visitor); | 90 Event::trace(visitor); |
87 } | 91 } |
88 | 92 |
89 } // namespace WebCore | 93 } // namespace WebCore |
OLD | NEW |