| Differences between
and this patch
- a/Source/WebCore/ChangeLog +18 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2012-11-09  Charles Wei  <charles.wei@torchmobile.com.cn>
2
3
        Need to clear exception in JSDictionary that might have been caused by previous operation.
4
        https://bugs.webkit.org/show_bug.cgi?id=96614
5
6
        Reviewed by George Staikos.
7
8
        IndexedDB IDBDatabase::createObjectStore supports both String type of KeyPath and
9
        String Array type of KeyPath. It will first try to get the keyPath as a String Array,
10
        if fails, it will try to get KeyPath as a String, from the Dictionary. The first get
11
        will leave the internal ExecState of Dictionary in exception state. We need to clear
12
        the exception state before the 2nd query, otherwise the second query will also fail.
13
14
        No new tests. The existing test case LayoutTests/storage/indexeddb/tutorial.html should
15
        now work with this patch.
16
        * bindings/js/JSDictionary.cpp:
17
        (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
18
1
2012-11-09  Vsevolod Vlasov  <vsevik@chromium.org>
19
2012-11-09  Vsevolod Vlasov  <vsevik@chromium.org>
2
20
3
        Web Inspector: Add meaningful error message when request content was evicted from inspector cache.
21
        Web Inspector: Add meaningful error message when request content was evicted from inspector cache.
- a/Source/WebCore/bindings/js/JSDictionary.cpp +5 lines
Lines 216-221 bool JSDictionary::getWithUndefinedOrNullCheck(const String& propertyName, Strin a/Source/WebCore/bindings/js/JSDictionary.cpp_sec1
216
{
216
{
217
    ASSERT(isValid());
217
    ASSERT(isValid());
218
    JSValue value;
218
    JSValue value;
219
220
    // FIXME: This check should be moved to the head of JSDictionary::tryGetProperty(propertyName, JSValue&)
221
    // Currently we can't move the check there because it seems breaks some Qt/EFL tests for some reason.
222
    if (m_exec->hadException()) // Clear exceptions that might have been caused by previous query.
223
        m_exec->clearException();
219
    if (tryGetProperty(propertyName.utf8().data(), value) != PropertyFound || value.isUndefinedOrNull())
224
    if (tryGetProperty(propertyName.utf8().data(), value) != PropertyFound || value.isUndefinedOrNull())
220
        return false;
225
        return false;
221
226

Return to Bug 96614