Changeset 121976 in webkit


Ignore:
Timestamp:
Jul 6, 2012 9:04:25 AM (12 years ago)
Author:
Carlos Garcia Campos
Message:

[GTK] Add site specific quirks setting to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=90663

Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_site_specific_quirks):
(webkit_settings_set_enable_site_specific_quirks):

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
  • UIProcess/API/gtk/tests/TestWebKitSettings.cpp:

(testWebKitSettings):

Location:
trunk/Source/WebKit2
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r121972 r121976  
     12012-07-06  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [GTK] Add site specific quirks setting to WebKit2 GTK+ API
     4        https://bugs.webkit.org/show_bug.cgi?id=90663
     5
     6        Reviewed by Martin Robinson.
     7
     8        * UIProcess/API/gtk/WebKitSettings.cpp:
     9        (webKitSettingsSetProperty):
     10        (webKitSettingsGetProperty):
     11        (webkit_settings_class_init):
     12        (webkit_settings_get_enable_site_specific_quirks):
     13        (webkit_settings_set_enable_site_specific_quirks):
     14        * UIProcess/API/gtk/WebKitSettings.h:
     15        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
     16        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
     17        (testWebKitSettings):
     18
    1192012-07-06  Dominik Röttsches  <dominik.rottsches@intel.com>
    220
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp

    r120908 r121976  
    113113    PROP_MEDIA_PLAYBACK_REQUIRES_USER_GESTURE,
    114114    PROP_MEDIA_PLAYBACK_ALLOWS_INLINE,
    115     PROP_DRAW_COMPOSITING_INDICATORS
     115    PROP_DRAW_COMPOSITING_INDICATORS,
     116    PROP_ENABLE_SITE_SPECIFIC_QUIRKS
    116117};
    117118
     
    238239        webkit_settings_set_draw_compositing_indicators(settings, g_value_get_boolean(value));
    239240        break;
     241    case PROP_ENABLE_SITE_SPECIFIC_QUIRKS:
     242        webkit_settings_set_enable_site_specific_quirks(settings, g_value_get_boolean(value));
     243        break;
    240244    default:
    241245        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
     
    365369    case PROP_DRAW_COMPOSITING_INDICATORS:
    366370        g_value_set_boolean(value, webkit_settings_get_draw_compositing_indicators(settings));
     371        break;
     372    case PROP_ENABLE_SITE_SPECIFIC_QUIRKS:
     373        g_value_set_boolean(value, webkit_settings_get_enable_site_specific_quirks(settings));
    367374        break;
    368375    default:
     
    958965                                                         readWriteConstructParamFlags));
    959966
     967    /**
     968     * WebKitSettings::enable-site-specific-quirks:
     969     *
     970     * Whether to turn on site-specific quirks. Turning this on will
     971     * tell WebKit to use some site-specific workarounds for
     972     * better web compatibility. For example, older versions of
     973     * MediaWiki will incorrectly send to WebKit a css file with KHTML
     974     * workarounds. By turning on site-specific quirks, WebKit will
     975     * special-case this and other cases to make some specific sites work.
     976     */
     977    g_object_class_install_property(gObjectClass,
     978                                    PROP_ENABLE_SITE_SPECIFIC_QUIRKS,
     979                                    g_param_spec_boolean("enable-site-specific-quirks",
     980                                                         _("Enable Site Specific Quirks"),
     981                                                         _("Enables the site-specific compatibility workarounds"),
     982                                                         FALSE,
     983                                                         readWriteConstructParamFlags));
     984
    960985    g_type_class_add_private(klass, sizeof(WebKitSettingsPrivate));
    961986}
     
    24332458           && WKPreferencesGetCompositingRepaintCountersVisible(settings->priv->preferences.get());
    24342459}
     2460
     2461/**
     2462 * webkit_settings_get_enable_site_specific_quirks:
     2463 * @settings: a #WebKitSettings
     2464 *
     2465 * Get the #WebKitSettings:enable-site-specific-quirks property.
     2466 *
     2467 * Returns: %TRUE if site specific quirks are enabled or %FALSE otherwise.
     2468 */
     2469gboolean webkit_settings_get_enable_site_specific_quirks(WebKitSettings* settings)
     2470{
     2471    g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE);
     2472
     2473    return WKPreferencesGetNeedsSiteSpecificQuirks(settings->priv->preferences.get());
     2474}
     2475
     2476/**
     2477 * webkit_settings_set_enable_site_specific_quirks:
     2478 * @settings: a #WebKitSettings
     2479 * @enabled: Value to be set
     2480 *
     2481 * Set the #WebKitSettings:enable-site-specific-quirks property.
     2482 */
     2483void webkit_settings_set_enable_site_specific_quirks(WebKitSettings* settings, gboolean enabled)
     2484{
     2485    g_return_if_fail(WEBKIT_IS_SETTINGS(settings));
     2486
     2487    WebKitSettingsPrivate* priv = settings->priv;
     2488    bool currentValue = WKPreferencesGetNeedsSiteSpecificQuirks(priv->preferences.get());
     2489    if (currentValue == enabled)
     2490        return;
     2491
     2492    WKPreferencesSetNeedsSiteSpecificQuirks(priv->preferences.get(), enabled);
     2493    g_object_notify(G_OBJECT(settings), "enable-site-specific-quirks");
     2494}
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h

    r120908 r121976  
    348348webkit_settings_set_draw_compositing_indicators                (WebKitSettings *settings,
    349349                                                                gboolean        enabled);
     350
     351WEBKIT_API gboolean
     352webkit_settings_get_enable_site_specific_quirks                (WebKitSettings *settings);
     353
     354WEBKIT_API void
     355webkit_settings_set_enable_site_specific_quirks                (WebKitSettings *settings,
     356                                                                gboolean        enabled);
     357
    350358G_END_DECLS
    351359
  • trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt

    r121093 r121976  
    269269webkit_settings_get_draw_compositing_indicators
    270270webkit_settings_set_draw_compositing_indicators
     271webkit_settings_get_enable_site_specific_quirks
     272webkit_settings_set_enable_site_specific_quirks
    271273
    272274<SUBSECTION Standard>
  • trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp

    r120908 r121976  
    230230    g_assert(webkit_settings_get_draw_compositing_indicators(settings));
    231231
     232    // By default, site specific quirks are disabled.
     233    g_assert(!webkit_settings_get_enable_site_specific_quirks(settings));
     234    webkit_settings_set_enable_site_specific_quirks(settings, TRUE);
     235    g_assert(webkit_settings_get_enable_site_specific_quirks(settings));
     236
    232237    g_object_unref(G_OBJECT(settings));
    233238}
Note: See TracChangeset for help on using the changeset viewer.