Changeset 122113 in webkit


Ignore:
Timestamp:
Jul 9, 2012 10:24:55 AM (12 years ago)
Author:
Carlos Garcia Campos
Message:

[GTK] Add a setting to enable/disable page cache to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=90773

Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_page_cache):
(webkit_settings_set_enable_page_cache):

  • 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

    r122110 r122113  
     12012-07-09  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [GTK] Add a setting to enable/disable page cache to WebKit2 GTK+ API
     4        https://bugs.webkit.org/show_bug.cgi?id=90773
     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_page_cache):
     13        (webkit_settings_set_enable_page_cache):
     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-09  Sheriff Bot  <webkit.review.bot@gmail.com>
    220
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp

    r121976 r122113  
    114114    PROP_MEDIA_PLAYBACK_ALLOWS_INLINE,
    115115    PROP_DRAW_COMPOSITING_INDICATORS,
    116     PROP_ENABLE_SITE_SPECIFIC_QUIRKS
     116    PROP_ENABLE_SITE_SPECIFIC_QUIRKS,
     117    PROP_ENABLE_PAGE_CACHE
    117118};
    118119
     
    242243        webkit_settings_set_enable_site_specific_quirks(settings, g_value_get_boolean(value));
    243244        break;
     245    case PROP_ENABLE_PAGE_CACHE:
     246        webkit_settings_set_enable_page_cache(settings, g_value_get_boolean(value));
     247        break;
    244248    default:
    245249        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
     
    372376    case PROP_ENABLE_SITE_SPECIFIC_QUIRKS:
    373377        g_value_set_boolean(value, webkit_settings_get_enable_site_specific_quirks(settings));
     378        break;
     379    case PROP_ENABLE_PAGE_CACHE:
     380        g_value_set_boolean(value, webkit_settings_get_enable_page_cache(settings));
    374381        break;
    375382    default:
     
    966973
    967974    /**
    968      * WebKitSettings::enable-site-specific-quirks:
     975     * WebKitSettings:enable-site-specific-quirks:
    969976     *
    970977     * Whether to turn on site-specific quirks. Turning this on will
     
    983990                                                         readWriteConstructParamFlags));
    984991
     992    /**
     993     * WebKitSettings:enable-page-cache:
     994     *
     995     * Enable or disable the page cache. Disabling the page cache is
     996     * generally only useful for special circumstances like low-memory
     997     * scenarios or special purpose applications like static HTML
     998     * viewers. This setting only controls the Page Cache, this cache
     999     * is different than the disk-based or memory-based traditional
     1000     * resource caches, its point is to make going back and forth
     1001     * between pages much faster. For details about the different types
     1002     * of caches and their purposes see:
     1003     * http://webkit.org/blog/427/webkit-page-cache-i-the-basics/
     1004     */
     1005    g_object_class_install_property(gObjectClass,
     1006                                    PROP_ENABLE_PAGE_CACHE,
     1007                                    g_param_spec_boolean("enable-page-cache",
     1008                                                         _("Enable page cache"),
     1009                                                         _("Whether the page cache should be used"),
     1010                                                         TRUE,
     1011                                                         readWriteConstructParamFlags));
     1012
    9851013    g_type_class_add_private(klass, sizeof(WebKitSettingsPrivate));
    9861014}
     
    24932521    g_object_notify(G_OBJECT(settings), "enable-site-specific-quirks");
    24942522}
     2523
     2524/**
     2525 * webkit_settings_get_enable_page_cache:
     2526 * @settings: a #WebKitSettings
     2527 *
     2528 * Get the #WebKitSettings:enable-page-cache property.
     2529 *
     2530 * Returns: %TRUE if page cache enabled or %FALSE otherwise.
     2531 */
     2532gboolean webkit_settings_get_enable_page_cache(WebKitSettings* settings)
     2533{
     2534    g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE);
     2535
     2536    return WKPreferencesGetPageCacheEnabled(settings->priv->preferences.get());
     2537}
     2538
     2539/**
     2540 * webkit_settings_set_enable_page_cache:
     2541 * @settings: a #WebKitSettings
     2542 * @enabled: Value to be set
     2543 *
     2544 * Set the #WebKitSettings:enable-page-cache property.
     2545 */
     2546void webkit_settings_set_enable_page_cache(WebKitSettings* settings, gboolean enabled)
     2547{
     2548    g_return_if_fail(WEBKIT_IS_SETTINGS(settings));
     2549
     2550    WebKitSettingsPrivate* priv = settings->priv;
     2551    bool currentValue = WKPreferencesGetPageCacheEnabled(priv->preferences.get());
     2552    if (currentValue == enabled)
     2553        return;
     2554
     2555    WKPreferencesSetPageCacheEnabled(priv->preferences.get(), enabled);
     2556    g_object_notify(G_OBJECT(settings), "enable-page-cache");
     2557}
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h

    r121976 r122113  
    356356                                                                gboolean        enabled);
    357357
     358WEBKIT_API gboolean
     359webkit_settings_get_enable_page_cache                          (WebKitSettings *settings);
     360
     361WEBKIT_API void
     362webkit_settings_set_enable_page_cache                          (WebKitSettings *settings,
     363                                                                gboolean        enabled);
     364
    358365G_END_DECLS
    359366
  • trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt

    r121976 r122113  
    271271webkit_settings_get_enable_site_specific_quirks
    272272webkit_settings_set_enable_site_specific_quirks
     273webkit_settings_get_enable_page_cache
     274webkit_settings_set_enable_page_cache
    273275
    274276<SUBSECTION Standard>
  • trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp

    r121976 r122113  
    235235    g_assert(webkit_settings_get_enable_site_specific_quirks(settings));
    236236
     237    // By default, page cache is enabled.
     238    g_assert(webkit_settings_get_enable_page_cache(settings));
     239    webkit_settings_set_enable_page_cache(settings, FALSE);
     240    g_assert(!webkit_settings_get_enable_page_cache(settings));
     241
    237242    g_object_unref(G_OBJECT(settings));
    238243}
Note: See TracChangeset for help on using the changeset viewer.