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

eric at webkit.org eric at webkit.org
Wed Apr 7 23:26:19 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 63b6f25c5dc5d4044a40e31395682651b751ad93
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Nov 9 09:16:35 2009 +0000

    2009-11-09  Martin Robinson  <martin.james.robinson at gmail.com>
    
            Reviewed by Jan Alonzo.
    
            [GTK] Expose Page::tabKeyCyclesThroughElements in the API
            https://bugs.webkit.org/show_bug.cgi?id=30482
    
            Unskip fast/events/keypress-insert-tab.html as it now passes.
    
            * platform/gtk/Skipped:
    2009-11-09  Martin Robinson  <martin.james.robinson at gmail.com>
    
            Reviewed by Jan Alonzo.
    
            [GTK] Expose Page::tabKeyCyclesThroughElements in the API
            https://bugs.webkit.org/show_bug.cgi?id=30482
    
            Expose Page::tabKeyCyclesThroughElements as a property of
            WebKitWebView.
    
            No new tests; fast/events/keypress-insert-tab.html is no longer skipped.
    
            * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses.
            (WebCore::singleCharacterString):
    2009-11-09  Martin Robinson  <martin.james.robinson at gmail.com>
    
            Reviewed by Jan Alonzo.
    
            [GTK] Expose Page::tabKeyCyclesThroughElements in the API
            https://bugs.webkit.org/show_bug.cgi?id=30482
    
            Expose Page::tabKeyCyclesThroughElements as a property of
            WebKitWebSettings.
    
            * webkit/webkitwebsettings.cpp:
            (webkit_web_settings_class_init):
            (webkit_web_settings_set_property):
            (webkit_web_settings_get_property):
            * webkit/webkitwebview.cpp:
            (webkit_web_view_update_settings):
            (webkit_web_view_settings_notify):
    2009-11-09  Martin Robinson  <martin.james.robinson at gmail.com>
    
            Reviewed by Jan Alonzo.
    
            [GTK] Expose Page::tabKeyCyclesThroughElements in the API
            https://bugs.webkit.org/show_bug.cgi?id=30482
    
            LayoutTestControllerGtk now uses the exposed
            Page::tabKeyCyclesThroughElements API
    
            * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
            (LayoutTestController::setTabKeyCyclesThroughElements):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50642 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 165dddd..b34d51b 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
+2009-11-09  Martin Robinson  <martin.james.robinson at gmail.com>
+
+        Reviewed by Jan Alonzo.
+
+        [GTK] Expose Page::tabKeyCyclesThroughElements in the API
+        https://bugs.webkit.org/show_bug.cgi?id=30482
+
+        Unskip fast/events/keypress-insert-tab.html as it now passes.
+
+        * platform/gtk/Skipped:
+
 2009-11-05  Jakub Wieczorek  <faw217 at gmail.com>
 
         Reviewed by Holger Freyther.
diff --git a/LayoutTests/platform/gtk/Skipped b/LayoutTests/platform/gtk/Skipped
index cb83892..5a8b402 100644
--- a/LayoutTests/platform/gtk/Skipped
+++ b/LayoutTests/platform/gtk/Skipped
@@ -1323,7 +1323,6 @@ fast/events/dblclick-addEventListener.html
 fast/events/drag-in-frames.html
 fast/events/frame-tab-focus.html
 fast/events/js-keyboard-event-creation.html
-fast/events/keypress-insert-tab.html
 fast/events/mouse-click-events.html
 fast/events/mouseclick-target-and-positioning.html
 fast/events/mouseup-from-button2.html
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index f02b587..e00d480 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2009-11-09  Martin Robinson  <martin.james.robinson at gmail.com>
+
+        Reviewed by Jan Alonzo.
+
+        [GTK] Expose Page::tabKeyCyclesThroughElements in the API
+        https://bugs.webkit.org/show_bug.cgi?id=30482
+
+        Expose Page::tabKeyCyclesThroughElements as a property of
+        WebKitWebView.
+
+        No new tests; fast/events/keypress-insert-tab.html is no longer skipped.
+
+        * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses.
+        (WebCore::singleCharacterString):
+
 2009-11-09  Joanmarie Diggs  <joanmarie.diggs at gmail.com>
 
         Reviewed by Xan Lopez.
diff --git a/WebCore/platform/gtk/KeyEventGtk.cpp b/WebCore/platform/gtk/KeyEventGtk.cpp
index 3931eff..11ea956 100644
--- a/WebCore/platform/gtk/KeyEventGtk.cpp
+++ b/WebCore/platform/gtk/KeyEventGtk.cpp
@@ -507,6 +507,8 @@ static String singleCharacterString(guint val)
             return String("\r");
         case GDK_BackSpace:
             return String("\x8");
+        case GDK_Tab:
+            return String("\t");
         default:
             gunichar c = gdk_keyval_to_unicode(val);
             glong nwc;
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 14dcfc5..325120b 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,21 @@
+2009-11-09  Martin Robinson  <martin.james.robinson at gmail.com>
+
+        Reviewed by Jan Alonzo.
+
+        [GTK] Expose Page::tabKeyCyclesThroughElements in the API
+        https://bugs.webkit.org/show_bug.cgi?id=30482
+
+        Expose Page::tabKeyCyclesThroughElements as a property of
+        WebKitWebSettings.
+
+        * webkit/webkitwebsettings.cpp:
+        (webkit_web_settings_class_init):
+        (webkit_web_settings_set_property):
+        (webkit_web_settings_get_property):
+        * webkit/webkitwebview.cpp:
+        (webkit_web_view_update_settings):
+        (webkit_web_view_settings_notify):
+
 2009-11-04  Martin Robinson  <martin.james.robinson at gmail.com>
 
         Reviewed by Jan Alonzo.
diff --git a/WebKit/gtk/webkit/webkitwebsettings.cpp b/WebKit/gtk/webkit/webkitwebsettings.cpp
index 89c5233..cec5a7e 100644
--- a/WebKit/gtk/webkit/webkitwebsettings.cpp
+++ b/WebKit/gtk/webkit/webkitwebsettings.cpp
@@ -98,6 +98,7 @@ struct _WebKitWebSettingsPrivate {
     gboolean enable_universal_access_from_file_uris;
     gboolean enable_web_sockets;
     gboolean enable_dom_paste;
+    gboolean tab_key_cycles_through_elements;
 };
 
 #define WEBKIT_WEB_SETTINGS_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettingsPrivate))
@@ -139,7 +140,8 @@ enum {
     PROP_EDITING_BEHAVIOR,
     PROP_ENABLE_UNIVERSAL_ACCESS_FROM_FILE_URIS,
     PROP_ENABLE_WEB_SOCKETS,
-    PROP_ENABLE_DOM_PASTE
+    PROP_ENABLE_DOM_PASTE,
+    PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS
 };
 
 // Create a default user agent string
@@ -684,6 +686,25 @@ static void webkit_web_settings_class_init(WebKitWebSettingsClass* klass)
                                                          _("Whether to enable DOM paste"),
                                                          FALSE,
                                                          flags));
+    /**
+    * WebKitWebView:tab-key-cycles-through-elements:
+    *
+    * Whether the tab key cycles through elements on the page.
+    *
+    * If @flag is %TRUE, pressing the tab key will focus the next element in
+    * the @web_view. If @flag is %FALSE, the @web_view will interpret tab
+    * key presses as normal key presses. If the selected element is editable, the
+    * tab key will cause the insertion of a tab character.
+    *
+    * Since: 1.1.16
+    */
+    g_object_class_install_property(gobject_class,
+                                    PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS,
+                                    g_param_spec_boolean("tab-key-cycles-through-elements",
+                                                         "Tab key cycles through elements",
+                                                         "Whether the tab key cycles through elements on the page.",
+                                                         TRUE,
+                                                         WEBKIT_PARAM_READWRITE));
 
     g_type_class_add_private(klass, sizeof(WebKitWebSettingsPrivate));
 }
@@ -884,6 +905,9 @@ static void webkit_web_settings_set_property(GObject* object, guint prop_id, con
     case PROP_ENABLE_DOM_PASTE:
         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);
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
         break;
@@ -1001,6 +1025,9 @@ static void webkit_web_settings_get_property(GObject* object, guint prop_id, GVa
     case PROP_ENABLE_DOM_PASTE:
         g_value_set_boolean(value, priv->enable_dom_paste);
         break;
+    case PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS:
+        g_value_set_boolean(value, priv->tab_key_cycles_through_elements);
+        break;
    default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
         break;
diff --git a/WebKit/gtk/webkit/webkitwebview.cpp b/WebKit/gtk/webkit/webkitwebview.cpp
index b43d880..0091c7b 100644
--- a/WebKit/gtk/webkit/webkitwebview.cpp
+++ b/WebKit/gtk/webkit/webkitwebview.cpp
@@ -2388,7 +2388,7 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
         enableScripts, enablePlugins, enableDeveloperExtras, resizableTextAreas,
         enablePrivateBrowsing, enableCaretBrowsing, enableHTML5Database, enableHTML5LocalStorage,
         enableXSSAuditor, javascriptCanOpenWindows, enableOfflineWebAppCache,
-        enableUniversalAccessFromFileURI, enableDOMPaste;
+        enableUniversalAccessFromFileURI, enableDOMPaste, tabKeyCyclesThroughElements;
 
     WebKitEditingBehavior editingBehavior;
 
@@ -2418,6 +2418,7 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
                  "editing-behavior", &editingBehavior,
                  "enable-universal-access-from-file-uris", &enableUniversalAccessFromFileURI,
                  "enable-dom-paste", &enableDOMPaste,
+                 "tab-key-cycles-through-elements", &tabKeyCyclesThroughElements,
                  NULL);
 
     settings->setDefaultTextEncodingName(defaultEncoding);
@@ -2446,6 +2447,10 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
     settings->setAllowUniversalAccessFromFileURLs(enableUniversalAccessFromFileURI);
     settings->setDOMPasteAllowed(enableDOMPaste);
 
+    Page* page = core(webView);
+    if (page)
+        page->setTabKeyCyclesThroughElements(tabKeyCyclesThroughElements);
+
     g_free(defaultEncoding);
     g_free(cursiveFontFamily);
     g_free(defaultFontFamily);
@@ -2533,6 +2538,11 @@ static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GPar
         settings->setAllowUniversalAccessFromFileURLs(g_value_get_boolean(&value));
     else if (name == g_intern_string("enable-dom-paste"))
         settings->setDOMPasteAllowed(g_value_get_boolean(&value));
+    else if (name == g_intern_string("tab-key-cycles-through-elements")) {
+        Page* page = core(webView);
+        if (page)
+            page->setTabKeyCyclesThroughElements(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);
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index b6d6d04..4c51987 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,16 @@
+2009-11-09  Martin Robinson  <martin.james.robinson at gmail.com>
+
+        Reviewed by Jan Alonzo.
+
+        [GTK] Expose Page::tabKeyCyclesThroughElements in the API
+        https://bugs.webkit.org/show_bug.cgi?id=30482
+
+        LayoutTestControllerGtk now uses the exposed
+        Page::tabKeyCyclesThroughElements API
+
+        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+        (LayoutTestController::setTabKeyCyclesThroughElements):
+
 2009-11-08  Shu Chang  <Chang.Shu at nokia.com>
 
         Reviewed by Holger Freyther.
diff --git a/WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp b/WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp
index 631fc31..173e526 100644
--- a/WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp
+++ b/WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp
@@ -224,7 +224,9 @@ void LayoutTestController::setMainFrameIsFirstResponder(bool flag)
 
 void LayoutTestController::setTabKeyCyclesThroughElements(bool cycles)
 {
-    // FIXME: implement
+    WebKitWebView* webView = webkit_web_frame_get_web_view(mainFrame);
+    WebKitWebSettings* settings = webkit_web_view_get_settings(webView);
+    g_object_set(G_OBJECT(settings), "tab-key-cycles-through-elements", cycles, NULL);
 }
 
 void LayoutTestController::setUseDashboardCompatibilityMode(bool flag)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list