| Index: Source/modules/indexeddb/IDBVersionChangeEvent.cpp
|
| diff --git a/Source/modules/indexeddb/IDBVersionChangeEvent.cpp b/Source/modules/indexeddb/IDBVersionChangeEvent.cpp
|
| index e55fdfca2febe05a495a1d15b9a8b6c59ba666f5..499c2aa8ad0f67d2f04fae4d4a9dd1488b22741c 100644
|
| --- a/Source/modules/indexeddb/IDBVersionChangeEvent.cpp
|
| +++ b/Source/modules/indexeddb/IDBVersionChangeEvent.cpp
|
| @@ -26,6 +26,7 @@
|
| #include "config.h"
|
| #include "modules/indexeddb/IDBVersionChangeEvent.h"
|
|
|
| +#include "bindings/core/v8/V8Binding.h"
|
| #include "bindings/modules/v8/IDBBindingUtilities.h"
|
|
|
| namespace WebCore {
|
| @@ -33,6 +34,7 @@ namespace WebCore {
|
|
|
| IDBVersionChangeEventInit::IDBVersionChangeEventInit()
|
| : oldVersion(0)
|
| + , dataLoss(blink::WebIDBDataLossNone)
|
| {
|
| }
|
|
|
| @@ -56,7 +58,7 @@ IDBVersionChangeEvent::IDBVersionChangeEvent(const AtomicString& eventType, cons
|
| : Event(eventType, false /*canBubble*/, false /*cancelable*/)
|
| , m_oldVersion(initializer.oldVersion)
|
| , m_newVersion(initializer.newVersion)
|
| - , m_dataLoss(blink::WebIDBDataLossNone)
|
| + , m_dataLoss(initializer.dataLoss)
|
| {
|
| ScriptWrappable::init(this);
|
| }
|
| @@ -86,4 +88,18 @@ void IDBVersionChangeEvent::trace(Visitor* visitor)
|
| Event::trace(visitor);
|
| }
|
|
|
| +bool IDBVersionChangeEvent::toNativeDataLoss(v8::Handle<v8::Value> value, blink::WebIDBDataLoss* dataLoss)
|
| +{
|
| + String strValue = toCoreStringWithUndefinedOrNullCheck(value);
|
| + if (strValue == "none") {
|
| + *dataLoss = blink::WebIDBDataLossNone;
|
| + return true;
|
| + }
|
| + if (strValue == "total") {
|
| + *dataLoss = blink::WebIDBDataLossTotal;
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| } // namespace WebCore
|
|
|