[epiphany/gnome-3-24] Add hidden setting for disabling quirks mode



commit bf377b5e31e84c8d60d82ecf2b04dff7cb670e60
Author: Michael Catanzaro <mcatanzaro igalia com>
Date:   Mon May 8 15:43:57 2017 -0500

    Add hidden setting for disabling quirks mode
    
    This would have allowed us to give users an immediate workaround to
    solve the problem where the Google login page does not work at all,
    since it's caused by a user agent quirk we have to make various other
    Google websites work properly.
    
    Note: summary and description are omitted to avoid breaking string
    freeze.

 data/org.gnome.epiphany.gschema.xml |    3 ++
 embed/ephy-embed-prefs.c            |    5 +++-
 lib/ephy-prefs.h                    |   42 ++++++++++++++++++----------------
 3 files changed, 29 insertions(+), 21 deletions(-)
---
diff --git a/data/org.gnome.epiphany.gschema.xml b/data/org.gnome.epiphany.gschema.xml
index 6540572..6f8661b 100644
--- a/data/org.gnome.epiphany.gschema.xml
+++ b/data/org.gnome.epiphany.gschema.xml
@@ -226,6 +226,9 @@
                        <summary>Remember passwords</summary>
                        <description>Whether to store and prefill passwords in websites.</description>
                </key>
+               <key type="b" name="enable-site-specific-quirks">
+                       <default>true</default>
+               </key>
        </schema>
        <schema id="org.gnome.Epiphany.state">
                <key type="s" name="download-dir">
diff --git a/embed/ephy-embed-prefs.c b/embed/ephy-embed-prefs.c
index 3db6ac8..ae3f728 100644
--- a/embed/ephy-embed-prefs.c
+++ b/embed/ephy-embed-prefs.c
@@ -561,7 +561,6 @@ ephy_embed_prefs_init (gpointer user_data)
   webkit_settings = webkit_settings_new_with_settings ("enable-developer-extras", TRUE,
                                                        "enable-fullscreen", TRUE,
                                                        "enable-javascript", TRUE,
-                                                       "enable-site-specific-quirks", TRUE,
                                                        "enable-dns-prefetching", TRUE,
                                                        "javascript-can-open-windows-automatically", TRUE,
                                                        NULL);
@@ -621,6 +620,10 @@ ephy_embed_prefs_init (gpointer user_data)
                    EPHY_PREFS_WEB_ENABLE_SMOOTH_SCROLLING,
                    webkit_settings, "enable-smooth-scrolling",
                    G_SETTINGS_BIND_GET);
+  g_settings_bind (EPHY_SETTINGS_WEB,
+                   EPHY_PREFS_WEB_ENABLE_SITE_SPECIFIC_QUIRKS,
+                   webkit_settings, "enable-site-specific-quirks",
+                   G_SETTINGS_BIND_GET);
   return webkit_settings;
 }
 
diff --git a/lib/ephy-prefs.h b/lib/ephy-prefs.h
index 919037e..d2d443e 100644
--- a/lib/ephy-prefs.h
+++ b/lib/ephy-prefs.h
@@ -78,26 +78,27 @@ static const char * const ephy_prefs_state_schema[] = {
   EPHY_PREFS_STATE_IS_MAXIMIZED
 };
 
-#define EPHY_PREFS_WEB_SCHEMA                  "org.gnome.Epiphany.web"
-#define EPHY_PREFS_WEB_FONT_MIN_SIZE           "min-font-size"
-#define EPHY_PREFS_WEB_LANGUAGE                "language"
-#define EPHY_PREFS_WEB_USE_GNOME_FONTS         "use-gnome-fonts"
-#define EPHY_PREFS_WEB_SANS_SERIF_FONT         "sans-serif-font"
-#define EPHY_PREFS_WEB_SERIF_FONT              "serif-font"
-#define EPHY_PREFS_WEB_MONOSPACE_FONT          "monospace-font"
-#define EPHY_PREFS_WEB_ENABLE_USER_CSS         "enable-user-css"
-#define EPHY_PREFS_WEB_ENABLE_POPUPS           "enable-popups"
-#define EPHY_PREFS_WEB_ENABLE_PLUGINS          "enable-plugins"
-#define EPHY_PREFS_WEB_ENABLE_SPELL_CHECKING   "enable-spell-checking"
-#define EPHY_PREFS_WEB_ENABLE_WEBGL            "enable-webgl"
-#define EPHY_PREFS_WEB_ENABLE_WEBAUDIO         "enable-webaudio"
-#define EPHY_PREFS_WEB_ENABLE_SMOOTH_SCROLLING "enable-smooth-scrolling"
-#define EPHY_PREFS_WEB_USER_AGENT              "user-agent"
-#define EPHY_PREFS_WEB_COOKIES_POLICY          "cookies-policy"
-#define EPHY_PREFS_WEB_DEFAULT_ENCODING        "default-encoding"
-#define EPHY_PREFS_WEB_DO_NOT_TRACK            "do-not-track"
-#define EPHY_PREFS_WEB_ENABLE_ADBLOCK          "enable-adblock"
-#define EPHY_PREFS_WEB_REMEMBER_PASSWORDS      "remember-passwords"
+#define EPHY_PREFS_WEB_SCHEMA                      "org.gnome.Epiphany.web"
+#define EPHY_PREFS_WEB_FONT_MIN_SIZE               "min-font-size"
+#define EPHY_PREFS_WEB_LANGUAGE                    "language"
+#define EPHY_PREFS_WEB_USE_GNOME_FONTS             "use-gnome-fonts"
+#define EPHY_PREFS_WEB_SANS_SERIF_FONT             "sans-serif-font"
+#define EPHY_PREFS_WEB_SERIF_FONT                  "serif-font"
+#define EPHY_PREFS_WEB_MONOSPACE_FONT              "monospace-font"
+#define EPHY_PREFS_WEB_ENABLE_USER_CSS             "enable-user-css"
+#define EPHY_PREFS_WEB_ENABLE_POPUPS               "enable-popups"
+#define EPHY_PREFS_WEB_ENABLE_PLUGINS              "enable-plugins"
+#define EPHY_PREFS_WEB_ENABLE_SPELL_CHECKING       "enable-spell-checking"
+#define EPHY_PREFS_WEB_ENABLE_WEBGL                "enable-webgl"
+#define EPHY_PREFS_WEB_ENABLE_WEBAUDIO             "enable-webaudio"
+#define EPHY_PREFS_WEB_ENABLE_SMOOTH_SCROLLING     "enable-smooth-scrolling"
+#define EPHY_PREFS_WEB_USER_AGENT                  "user-agent"
+#define EPHY_PREFS_WEB_COOKIES_POLICY              "cookies-policy"
+#define EPHY_PREFS_WEB_DEFAULT_ENCODING            "default-encoding"
+#define EPHY_PREFS_WEB_DO_NOT_TRACK                "do-not-track"
+#define EPHY_PREFS_WEB_ENABLE_ADBLOCK              "enable-adblock"
+#define EPHY_PREFS_WEB_REMEMBER_PASSWORDS          "remember-passwords"
+#define EPHY_PREFS_WEB_ENABLE_SITE_SPECIFIC_QUIRKS "enable-site-specific-quirks"
 
 static const char * const ephy_prefs_web_schema[] = {
   EPHY_PREFS_WEB_FONT_MIN_SIZE,
@@ -119,6 +120,7 @@ static const char * const ephy_prefs_web_schema[] = {
   EPHY_PREFS_WEB_DO_NOT_TRACK,
   EPHY_PREFS_WEB_ENABLE_ADBLOCK,
   EPHY_PREFS_WEB_REMEMBER_PASSWORDS,
+  EPHY_PREFS_WEB_ENABLE_SITE_SPECIFIC_QUIRKS
 };
 
 #define EPHY_PREFS_SCHEMA                             "org.gnome.Epiphany"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]