Changeset 50642 in webkit


Ignore:
Timestamp:
Nov 9, 2009 1:16:35 AM (14 years ago)
Author:
eric@webkit.org
Message:

2009-11-09 Martin Robinson <martin.james.robinson@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@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@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@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):
Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r50640 r50642  
     12009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
     2
     3        Reviewed by Jan Alonzo.
     4
     5        [GTK] Expose Page::tabKeyCyclesThroughElements in the API
     6        https://bugs.webkit.org/show_bug.cgi?id=30482
     7
     8        Unskip fast/events/keypress-insert-tab.html as it now passes.
     9
     10        * platform/gtk/Skipped:
     11
    1122009-11-05  Jakub Wieczorek  <faw217@gmail.com>
    213
  • trunk/LayoutTests/platform/gtk/Skipped

    r50525 r50642  
    13241324fast/events/frame-tab-focus.html
    13251325fast/events/js-keyboard-event-creation.html
    1326 fast/events/keypress-insert-tab.html
    13271326fast/events/mouse-click-events.html
    13281327fast/events/mouseclick-target-and-positioning.html
  • trunk/WebCore/ChangeLog

    r50641 r50642  
     12009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
     2
     3        Reviewed by Jan Alonzo.
     4
     5        [GTK] Expose Page::tabKeyCyclesThroughElements in the API
     6        https://bugs.webkit.org/show_bug.cgi?id=30482
     7
     8        Expose Page::tabKeyCyclesThroughElements as a property of
     9        WebKitWebView.
     10
     11        No new tests; fast/events/keypress-insert-tab.html is no longer skipped.
     12
     13        * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses.
     14        (WebCore::singleCharacterString):
     15
    1162009-11-09  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
    217
  • trunk/WebCore/platform/gtk/KeyEventGtk.cpp

    r50051 r50642  
    508508        case GDK_BackSpace:
    509509            return String("\x8");
     510        case GDK_Tab:
     511            return String("\t");
    510512        default:
    511513            gunichar c = gdk_keyval_to_unicode(val);
  • trunk/WebKit/gtk/ChangeLog

    r50507 r50642  
     12009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
     2
     3        Reviewed by Jan Alonzo.
     4
     5        [GTK] Expose Page::tabKeyCyclesThroughElements in the API
     6        https://bugs.webkit.org/show_bug.cgi?id=30482
     7
     8        Expose Page::tabKeyCyclesThroughElements as a property of
     9        WebKitWebSettings.
     10
     11        * webkit/webkitwebsettings.cpp:
     12        (webkit_web_settings_class_init):
     13        (webkit_web_settings_set_property):
     14        (webkit_web_settings_get_property):
     15        * webkit/webkitwebview.cpp:
     16        (webkit_web_view_update_settings):
     17        (webkit_web_view_settings_notify):
     18
    1192009-11-04  Martin Robinson  <martin.james.robinson@gmail.com>
    220
  • trunk/WebKit/gtk/webkit/webkitwebsettings.cpp

    r49791 r50642  
    9999    gboolean enable_web_sockets;
    100100    gboolean enable_dom_paste;
     101    gboolean tab_key_cycles_through_elements;
    101102};
    102103
     
    140141    PROP_ENABLE_UNIVERSAL_ACCESS_FROM_FILE_URIS,
    141142    PROP_ENABLE_WEB_SOCKETS,
    142     PROP_ENABLE_DOM_PASTE
     143    PROP_ENABLE_DOM_PASTE,
     144    PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS
    143145};
    144146
     
    685687                                                         FALSE,
    686688                                                         flags));
     689    /**
     690    * WebKitWebView:tab-key-cycles-through-elements:
     691    *
     692    * Whether the tab key cycles through elements on the page.
     693    *
     694    * If @flag is %TRUE, pressing the tab key will focus the next element in
     695    * the @web_view. If @flag is %FALSE, the @web_view will interpret tab
     696    * key presses as normal key presses. If the selected element is editable, the
     697    * tab key will cause the insertion of a tab character.
     698    *
     699    * Since: 1.1.16
     700    */
     701    g_object_class_install_property(gobject_class,
     702                                    PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS,
     703                                    g_param_spec_boolean("tab-key-cycles-through-elements",
     704                                                         "Tab key cycles through elements",
     705                                                         "Whether the tab key cycles through elements on the page.",
     706                                                         TRUE,
     707                                                         WEBKIT_PARAM_READWRITE));
    687708
    688709    g_type_class_add_private(klass, sizeof(WebKitWebSettingsPrivate));
     
    885906        priv->enable_dom_paste = g_value_get_boolean(value);
    886907        break;
     908    case PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS:
     909        priv->tab_key_cycles_through_elements =  g_value_get_boolean(value);
     910        break;
    887911    default:
    888912        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
     
    10011025    case PROP_ENABLE_DOM_PASTE:
    10021026        g_value_set_boolean(value, priv->enable_dom_paste);
     1027        break;
     1028    case PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS:
     1029        g_value_set_boolean(value, priv->tab_key_cycles_through_elements);
    10031030        break;
    10041031   default:
  • trunk/WebKit/gtk/webkit/webkitwebview.cpp

    r50507 r50642  
    23892389        enablePrivateBrowsing, enableCaretBrowsing, enableHTML5Database, enableHTML5LocalStorage,
    23902390        enableXSSAuditor, javascriptCanOpenWindows, enableOfflineWebAppCache,
    2391         enableUniversalAccessFromFileURI, enableDOMPaste;
     2391        enableUniversalAccessFromFileURI, enableDOMPaste, tabKeyCyclesThroughElements;
    23922392
    23932393    WebKitEditingBehavior editingBehavior;
     
    24192419                 "enable-universal-access-from-file-uris", &enableUniversalAccessFromFileURI,
    24202420                 "enable-dom-paste", &enableDOMPaste,
     2421                 "tab-key-cycles-through-elements", &tabKeyCyclesThroughElements,
    24212422                 NULL);
    24222423
     
    24462447    settings->setAllowUniversalAccessFromFileURLs(enableUniversalAccessFromFileURI);
    24472448    settings->setDOMPasteAllowed(enableDOMPaste);
     2449
     2450    Page* page = core(webView);
     2451    if (page)
     2452        page->setTabKeyCyclesThroughElements(tabKeyCyclesThroughElements);
    24482453
    24492454    g_free(defaultEncoding);
     
    25342539    else if (name == g_intern_string("enable-dom-paste"))
    25352540        settings->setDOMPasteAllowed(g_value_get_boolean(&value));
     2541    else if (name == g_intern_string("tab-key-cycles-through-elements")) {
     2542        Page* page = core(webView);
     2543        if (page)
     2544            page->setTabKeyCyclesThroughElements(g_value_get_boolean(&value));
     2545    }
    25362546    else if (!g_object_class_find_property(G_OBJECT_GET_CLASS(webSettings), name))
    25372547        g_warning("Unexpected setting '%s'", name);
  • trunk/WebKitTools/ChangeLog

    r50624 r50642  
     12009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
     2
     3        Reviewed by Jan Alonzo.
     4
     5        [GTK] Expose Page::tabKeyCyclesThroughElements in the API
     6        https://bugs.webkit.org/show_bug.cgi?id=30482
     7
     8        LayoutTestControllerGtk now uses the exposed
     9        Page::tabKeyCyclesThroughElements API
     10
     11        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
     12        (LayoutTestController::setTabKeyCyclesThroughElements):
     13
    1142009-11-08  Shu Chang  <Chang.Shu@nokia.com>
    215
  • trunk/WebKitTools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp

    r50245 r50642  
    225225void LayoutTestController::setTabKeyCyclesThroughElements(bool cycles)
    226226{
    227     // FIXME: implement
     227    WebKitWebView* webView = webkit_web_frame_get_web_view(mainFrame);
     228    WebKitWebSettings* settings = webkit_web_view_get_settings(webView);
     229    g_object_set(G_OBJECT(settings), "tab-key-cycles-through-elements", cycles, NULL);
    228230}
    229231
Note: See TracChangeset for help on using the changeset viewer.