| Differences between
and this patch
- a/Source/WebKitLegacy/win/ChangeLog +24 lines
Lines 1-3 a/Source/WebKitLegacy/win/ChangeLog_sec1
1
2021-01-01  Fujii Hironori  <Hironori.Fujii@sony.com>
2
3
        [Win][DumpRenderTree] Some JS tests are timing out only in Debug builds since r269157
4
        https://bugs.webkit.org/show_bug.cgi?id=220145
5
        <rdar://problem/72756207>
6
7
        Reviewed by NOBODY (OOPS!).
8
9
        r269157 added new WebKit1 APIs to set a preference, and
10
        DumpRenderTree uses them to reset all preferences after each
11
        testing. However, it was too slow for large pages because the API
12
        is causing resolveStyle for every preference. Some JS tests failed
13
        as timeout in debug builds because they are generating large
14
        pages.
15
16
        * WebPreferences.cpp:
17
        (stringValueForPreferencesValue): Added.
18
        (WebPreferences::setBoolPreferenceForTesting):
19
        (WebPreferences::setUInt32PreferenceForTesting):
20
        (WebPreferences::setDoublePreferenceForTesting):
21
        (WebPreferences::setStringPreferenceForTesting):
22
        Do nothing if the new preference value is same with the current
23
        value.
24
1
2020-12-19  Rob Buis  <rbuis@igalia.com>
25
2020-12-19  Rob Buis  <rbuis@igalia.com>
2
26
3
        Move FrameLoader::arePluginsEnabled to Frame
27
        Move FrameLoader::arePluginsEnabled to Frame
- a/Source/WebKitLegacy/win/WebPreferences.cpp +18 lines
Lines 105-110 static bool booleanValueForPreferencesValue(CFPropertyListRef value) a/Source/WebKitLegacy/win/WebPreferences.cpp_sec1
105
    return numberValueForPreferencesValue<int>(value);
105
    return numberValueForPreferencesValue<int>(value);
106
}
106
}
107
107
108
static RetainPtr<CFStringRef> stringValueForPreferencesValue(CFPropertyListRef value)
109
{
110
    if (!value)
111
        return nullptr;
112
    if (CFGetTypeID(value) != CFStringGetTypeID())
113
        return nullptr;
114
115
    return static_cast<CFStringRef>(value);
116
}
117
108
// WebPreferences ----------------------------------------------------------------
118
// WebPreferences ----------------------------------------------------------------
109
119
110
static CFDictionaryRef defaultSettings;
120
static CFDictionaryRef defaultSettings;
Lines 2338-2343 HRESULT WebPreferences::setBoolPreferenceForTesting(_In_ BSTR key, _In_ BOOL val a/Source/WebKitLegacy/win/WebPreferences.cpp_sec2
2338
2348
2339
#if USE(CF)
2349
#if USE(CF)
2340
    auto keyString = String(key).createCFString();
2350
    auto keyString = String(key).createCFString();
2351
    if (booleanValueForPreferencesValue(valueForKey(keyString.get()).get()) == !!value)
2352
        return S_OK;
2341
    setValueForKey(keyString.get(), value ? kCFBooleanTrue : kCFBooleanFalse);
2353
    setValueForKey(keyString.get(), value ? kCFBooleanTrue : kCFBooleanFalse);
2342
#endif
2354
#endif
2343
2355
Lines 2353-2358 HRESULT WebPreferences::setUInt32PreferenceForTesting(_In_ BSTR key, _In_ unsign a/Source/WebKitLegacy/win/WebPreferences.cpp_sec3
2353
2365
2354
#if USE(CF)
2366
#if USE(CF)
2355
    auto keyString = String(key).createCFString();
2367
    auto keyString = String(key).createCFString();
2368
    if (numberValueForPreferencesValue<int>(valueForKey(keyString.get()).get()) == value)
2369
        return S_OK;
2356
    setValueForKey(keyString.get(), cfNumber(static_cast<int>(value)).get());
2370
    setValueForKey(keyString.get(), cfNumber(static_cast<int>(value)).get());
2357
#endif
2371
#endif
2358
2372
Lines 2368-2373 HRESULT WebPreferences::setDoublePreferenceForTesting(_In_ BSTR key, _In_ double a/Source/WebKitLegacy/win/WebPreferences.cpp_sec4
2368
2382
2369
#if USE(CF)
2383
#if USE(CF)
2370
    auto keyString = String(key).createCFString();
2384
    auto keyString = String(key).createCFString();
2385
    if (numberValueForPreferencesValue<float>(valueForKey(keyString.get()).get()) == value)
2386
        return S_OK;
2371
    setValueForKey(keyString.get(), cfNumber(static_cast<float>(value)).get());
2387
    setValueForKey(keyString.get(), cfNumber(static_cast<float>(value)).get());
2372
#endif
2388
#endif
2373
2389
Lines 2384-2389 HRESULT WebPreferences::setStringPreferenceForTesting(_In_ BSTR key, _In_ BSTR v a/Source/WebKitLegacy/win/WebPreferences.cpp_sec5
2384
#if USE(CF)
2400
#if USE(CF)
2385
    auto keyString = String(key).createCFString();
2401
    auto keyString = String(key).createCFString();
2386
    auto valueString = String(value).createCFString();
2402
    auto valueString = String(value).createCFString();
2403
    if (!CFStringCompare(stringValueForPreferencesValue(valueForKey(keyString.get()).get()).get(), valueString.get(), 0))
2404
        return S_OK;
2387
    setValueForKey(keyString.get(), valueString.get());
2405
    setValueForKey(keyString.get(), valueString.get());
2388
#endif
2406
#endif
2389
2407

Return to Bug 220145