[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Thu Apr 8 00:40:17 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 1ef874850d002d9b76552ae40c5059c076a948b5
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Dec 17 15:56:47 2009 +0000

    2009-12-17  Evan Martin  <evan at chromium.org>
    
            Reviewed by Xan Lopez.
    
            Expose the page workarounds ("quirks") setting to the GTK+ WebKit API.
    
            * webkit/webkitwebsettings.cpp:
            (webkit_web_settings_class_init):
            (webkit_web_settings_set_property):
            (webkit_web_settings_get_property):
            (webkit_web_settings_copy):
            * webkit/webkitwebview.cpp:
            (webkit_web_view_update_settings):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52254 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index cf13c7f..9292a9d 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,17 @@
+2009-12-17  Evan Martin  <evan at chromium.org>
+
+        Reviewed by Xan Lopez.
+
+        Expose the page workarounds ("quirks") setting to the GTK+ WebKit API.
+
+        * webkit/webkitwebsettings.cpp:
+        (webkit_web_settings_class_init):
+        (webkit_web_settings_set_property):
+        (webkit_web_settings_get_property):
+        (webkit_web_settings_copy):
+        * webkit/webkitwebview.cpp:
+        (webkit_web_view_update_settings):
+
 2009-12-16  Dan Winship  <danw at gnome.org>
 
         Reviewed by Gustavo Noronha Silva.
diff --git a/WebKit/gtk/webkit/webkitwebsettings.cpp b/WebKit/gtk/webkit/webkitwebsettings.cpp
index e23c2de..1104738 100644
--- a/WebKit/gtk/webkit/webkitwebsettings.cpp
+++ b/WebKit/gtk/webkit/webkitwebsettings.cpp
@@ -99,6 +99,7 @@ struct _WebKitWebSettingsPrivate {
     gboolean enable_dom_paste;
     gboolean tab_key_cycles_through_elements;
     gboolean enable_default_context_menu;
+    gboolean enable_site_specific_quirks;
 };
 
 #define WEBKIT_WEB_SETTINGS_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettingsPrivate))
@@ -141,7 +142,8 @@ enum {
     PROP_ENABLE_UNIVERSAL_ACCESS_FROM_FILE_URIS,
     PROP_ENABLE_DOM_PASTE,
     PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS,
-    PROP_ENABLE_DEFAULT_CONTEXT_MENU
+    PROP_ENABLE_DEFAULT_CONTEXT_MENU,
+    PROP_ENABLE_SITE_SPECIFIC_QUIRKS
 };
 
 // Create a default user agent string
@@ -709,6 +711,27 @@ static void webkit_web_settings_class_init(WebKitWebSettingsClass* klass)
                                     TRUE,
                                     flags));
 
+    /**
+     * WebKitWebSettings::enable-site-specific-quirks
+     *
+     * Whether to turn on site-specific hacks.  Turning this on will
+     * tell WebKitGTK+ to use some site-specific workarounds for
+     * better web compatibility.  For example, older versions of
+     * MediaWiki will incorrectly send WebKit a css file with KHTML
+     * workarounds.  By turning on site-specific quirks, WebKit will
+     * special-case this and other cases to make the sites work.
+     *
+     * Since: 1.1.18
+     */
+    g_object_class_install_property(gobject_class,
+                                    PROP_ENABLE_SITE_SPECIFIC_QUIRKS,
+                                    g_param_spec_boolean(
+                                    "enable-site-specific-quirks",
+                                    _("Enable Site Specific Quirks"),
+                                    _("Enables the site-specific compatibility workarounds"),
+                                    FALSE,
+                                    flags));
+
     g_type_class_add_private(klass, sizeof(WebKitWebSettingsPrivate));
 }
 
@@ -906,10 +929,13 @@ static void webkit_web_settings_set_property(GObject* object, guint prop_id, con
         priv->enable_dom_paste = g_value_get_boolean(value);
         break;
     case PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS:
-        priv->tab_key_cycles_through_elements =  g_value_get_boolean(value);
+        priv->tab_key_cycles_through_elements = g_value_get_boolean(value);
         break;
     case PROP_ENABLE_DEFAULT_CONTEXT_MENU:
-        priv->enable_default_context_menu =  g_value_get_boolean(value);
+        priv->enable_default_context_menu = g_value_get_boolean(value);
+        break;
+    case PROP_ENABLE_SITE_SPECIFIC_QUIRKS:
+        priv->enable_site_specific_quirks = g_value_get_boolean(value);
         break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
@@ -1031,7 +1057,10 @@ static void webkit_web_settings_get_property(GObject* object, guint prop_id, GVa
     case PROP_ENABLE_DEFAULT_CONTEXT_MENU:
         g_value_set_boolean(value, priv->enable_default_context_menu);
         break;
-   default:
+    case PROP_ENABLE_SITE_SPECIFIC_QUIRKS:
+        g_value_set_boolean(value, priv->enable_site_specific_quirks);
+        break;
+    default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
         break;
     }
@@ -1098,6 +1127,7 @@ WebKitWebSettings* webkit_web_settings_copy(WebKitWebSettings* web_settings)
                  "enable-dom-paste", priv->enable_dom_paste,
                  "tab-key-cycles-through-elements", priv->tab_key_cycles_through_elements,
                  "enable-default-context-menu", priv->enable_default_context_menu,
+                 "enable-site-specific-quirks", priv->enable_site_specific_quirks,
                  NULL));
 
     return copy;
diff --git a/WebKit/gtk/webkit/webkitwebview.cpp b/WebKit/gtk/webkit/webkitwebview.cpp
index 3350999..f6296b9 100644
--- a/WebKit/gtk/webkit/webkitwebview.cpp
+++ b/WebKit/gtk/webkit/webkitwebview.cpp
@@ -2456,7 +2456,8 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
         enableScripts, enablePlugins, enableDeveloperExtras, resizableTextAreas,
         enablePrivateBrowsing, enableCaretBrowsing, enableHTML5Database, enableHTML5LocalStorage,
         enableXSSAuditor, javascriptCanOpenWindows, enableOfflineWebAppCache,
-        enableUniversalAccessFromFileURI, enableDOMPaste, tabKeyCyclesThroughElements;
+        enableUniversalAccessFromFileURI, enableDOMPaste, tabKeyCyclesThroughElements,
+        enableSiteSpecificQuirks;
 
     WebKitEditingBehavior editingBehavior;
 
@@ -2487,6 +2488,7 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
                  "enable-universal-access-from-file-uris", &enableUniversalAccessFromFileURI,
                  "enable-dom-paste", &enableDOMPaste,
                  "tab-key-cycles-through-elements", &tabKeyCyclesThroughElements,
+                 "enable-site-specific-quirks", &enableSiteSpecificQuirks,
                  NULL);
 
     settings->setDefaultTextEncodingName(defaultEncoding);
@@ -2514,6 +2516,7 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
     settings->setEditingBehavior(core(editingBehavior));
     settings->setAllowUniversalAccessFromFileURLs(enableUniversalAccessFromFileURI);
     settings->setDOMPasteAllowed(enableDOMPaste);
+    settings->setNeedsSiteSpecificQuirks(enableSiteSpecificQuirks);
 
     Page* page = core(webView);
     if (page)
@@ -2610,7 +2613,8 @@ static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GPar
         Page* page = core(webView);
         if (page)
             page->setTabKeyCyclesThroughElements(g_value_get_boolean(&value));
-    }
+    } else if (name == g_intern_string("enable-site-specific-quirks"))
+        settings->setNeedsSiteSpecificQuirks(g_value_get_boolean(&value));
     else if (!g_object_class_find_property(G_OBJECT_GET_CLASS(webSettings), name))
         g_warning("Unexpected setting '%s'", name);
     g_value_unset(&value);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list