1. 04 Sep, 2012 1 commit
  2. 01 Sep, 2012 1 commit
    • zandobersek@gmail.com's avatar
      [Gtk] Incorrect/unexpected characters in the text of certain accessibles · a2613b79
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=95180
      
      Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-09-01
      Reviewed by Chris Fleizach.
      
      Source/WebCore: 
      
      The bug was caused by failing to properly handle anonymous block text
      which had object replacement characters (multibyte) in it. Calculating
      the string length based on the UTF-8 string meant that we were returning
      more characters than were there and in danger of splitting a multibyte
      character.
      
      Tests: platform/gtk/accessibility/entry-and-password.html
             platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html
      
      * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
      (webkitAccessibleTextGetText): Convert the text returned by textForObject()
      to Unicode before calculating its length.
      
      Source/WebKit/gtk: 
      
      Corrected a unit test in which the expected accessible text was wrong as
      a result of this bug. In particular, the AtkText inserted into an empty
      text field is expected to be the same text atk_text_get_text() returns.
      That was not happening -- and presumably not noticed as a result of the
      hard to read textual representation of the multibyte password field
      bullets.
      
      * tests/testatk.c:
      (testWebkitAtkTextChangedNotifications): Corrected the test and added a
      comment so that one knows what the multibyte character is.
      
      Tools: 
      
      The bug that was fixed stood in the way of fully implementing stringValue().
      Testing that the bug is fixed requires stringValue() to be fully implemented
      and object replacement characters to be printable.
      
      * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
      (replaceCharactersForResults): New method which turns object replacement
      characters into "<obj>" so that the characters can be properly shown in
      Layout Test results. Also turns "\n" into "<\\n>" so that printing the
      accessible text of a single object in the accessible tree doesn't mess up
      the readibility of the results.
      (AccessibilityUIElement::stringValue): Remove the code that immediately
      returned upon encountering an object of ATK_ROLE_PANEL and call the new
      replaceCharactersForResults() prior to returning the accessible string
      value.
      
      LayoutTests: 
      
      Two new layout tests, plus one updated one.
      
      * platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt: Indicated replaced objects.
      * platform/gtk/accessibility/entry-and-password-expected.txt: Added.
      * platform/gtk/accessibility/entry-and-password.html: Added.
      * platform/gtk/accessibility/replaced-objects-in-anonymous-blocks-expected.txt: Added.
      * platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a2613b79
  3. 21 Aug, 2012 1 commit
    • commit-queue@webkit.org's avatar
      [Gtk] No accessible caret-moved events found in certain content · ca1b1d2a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=72811
      
      Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-08-21
      Reviewed by Chris Fleizach.
      
      Part of the bug is due to objects which should claim to implement AtkText
      failed to do so as a result of containing a mixture of inline and block
      spans.
      
      An updated unit test was provided.
      
      Source/WebCore:
      
      * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
      (roleIsTextType): New method to check if a role is one expected to have
      implemented the AtkText interface. Currently that is defined as:
       - ParagraphRole
       - HeadingRole
       - DivRole
       - CellRole
      (getInterfaceMaskFromObject): If a role is one of the text type roles,
      automatically add WAI_TEXT to the accessible object's interface mask.
      
      Source/WebKit/gtk:
      
      * tests/testatk.c:
      (testWebkitAtkCaretOffsets): Added instances of objects containing a
      mixture of inline and block spans and tested that they implement AtkText
      and contain the right textual contents.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ca1b1d2a
  4. 15 Aug, 2012 2 commits
  5. 13 Aug, 2012 1 commit
  6. 10 Aug, 2012 1 commit
    • mario@webkit.org's avatar
      [GTK] Broken implementation of AtkText and AtkEditableText for password fields · 17af9163
      mario@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93621
      
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Fix broken implementation of AtkText and AtkEditableText
      interfaces in the GTK port for password input fields.
      
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::stringValue): Call the new
      function passwordFieldValue() for password input fields.
      (WebCore::AccessibilityRenderObject::text): Ditto.
      (WebCore::AccessibilityRenderObject::textLength): Return the
      actual length of the password in the field for GTK, return -1
      otherwise (not to break current behavior in other platforms).
      (WebCore::AccessibilityRenderObject::doAXStringForRange): Don't
      early return for password fields in GTK (will rely on text()).
      (WebCore::AccessibilityRenderObject::passwordFieldValue): New, it
      returns the text being actually rendered for a password input
      field (normally a masked string) in GTK. It returns String() in
      the rest of platforms, to ensure we don't break anything there.
      (WebCore):
      * accessibility/AccessibilityRenderObject.h:
      (AccessibilityRenderObject):
      * accessibility/AccessibilityObject.h:
      (WebCore::AccessibilityObject::passwordFieldValue): Default
      implementation of this new method, returning an empty string.
      (AccessibilityObject):
      
      Ensure the 'text-insert' and 'text-remove' signals for the AtkText
      interface are properly emitted for password input fields.
      
      * accessibility/gtk/AXObjectCacheAtk.cpp:
      (WebCore::AXObjectCache::nodeTextChangePlatformNotification): Make
      sure we never emit the password value for an input field in plain
      text when inserting or removing text. Emit the masked text instead.
      
      Source/WebKit/gtk:
      
      Update unit test to ensure that password input fields behave
      as expected when inserting and removing characters in them.
      
      * tests/testatk.c:
      (testWebkitAtkTextChangedNotifications): Updated unit test to
      cover the special case of password input fields.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      17af9163
  7. 08 Feb, 2012 1 commit
  8. 02 Feb, 2012 1 commit
  9. 22 Jan, 2012 1 commit
    • mario@webkit.org's avatar
      [GTK] ATK text-caret-moved and text-selection-changed events not being emitted · d048f763
      mario@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=76069
      
      Reviewed by Martin Robinson.
      
      Source/WebCore:
      
      Fix bug introduced with patch for Bug 72830.
      
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::isDescendantOfObject): New function,
      to check if an accessibility object is a descendant of other object.
      (WebCore::AccessibilityObject::isAncestorOfObject): New function,
      to check if an accessibility object is an ancestor of other object.
      * accessibility/AccessibilityObject.h:
      
      * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
      (webkit_accessible_text_get_caret_offset): Make sure to pass the
      right reference object to objectFocusedAndCaretOffsetUnignored.
      (objectFocusedAndCaretOffsetUnignored): Use positionBeforeNode
      instead of firstPositionInNode for calculating the begining of the
      range used to calculate the offsets. Ensure that the reference
      object is never a descendant of the actual object being returned.
      
      * editing/gtk/FrameSelectionGtk.cpp:
      (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
      Pass the right accessibility object associated with the current
      selection to objectFocusedAndCaretOffsetUnignored.
      
      Source/WebKit/gtk:
      
      Update caret browsing related unit tests to check emissions of
      'text-caret-moved' and 'text-selection-changed' signals.
      
      * tests/testatk.c:
      (textCaretMovedCallback): New callback for 'text-caret-moved'.
      (testWebkitAtkCaretOffsets): Check emissions of 'text-caret-moved'.
      (textSelectionChangedCallback): New callback for 'text-selection-changed'.
      (testWebkitAtkTextSelections): Check emissions of 'text-selection-changed'.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d048f763
  10. 13 Jan, 2012 3 commits
  11. 09 Jan, 2012 1 commit
    • mario@webkit.org's avatar
      [Gtk] Regression: text-inserted events lack text inserted and current line · 4c778d72
      mario@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=72830
      
      Reviewed by Martin Robinson.
      
      Source/WebCore:
      
      Fix issue getting the exposed text for an accessibility object at,
      before of after a given offset, after changing it at least once.
      
      * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
      (webkit_accessible_class_init): Don't initialize
      gailTextUtilQuark, it won't be used anymore.
      (getGailTextUtilForAtk): Don't cache the GailTextUtil as object
      data, but create a new one each time this function is called.
      (webkit_accessible_text_get_caret_offset): Simplified code by
      using the new focusedObjectAndCaretOffsetUnignored function,
      instead of the old objectAndOffsetUnignored function.
      (focusedObjectAndCaretOffsetUnignored): Rewrite of the old
      objectAndOffsetUnignored function so it now needs less
      parameters than before and takes care of carefully selecting the
      start and end visible positions to calculate the position of the
      caret from the point of view of the accessibility object of
      reference passed as the only input parameter now. Updated callers.
      * accessibility/gtk/AccessibilityObjectWrapperAtk.h:
      
      * editing/gtk/FrameSelectionGtk.cpp:
      (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
      Simplified code by calling to focusedObjectAndCaretOffsetUnignored
      function, instead of the old objectAndOffsetUnignored function.
      
      Source/WebKit/gtk:
      
      Updated unit tests to check that both getting the current position
      for the caret and the exposed text at, before or after a given
      offset for an accessible object works as expected.
      
      * tests/testatk.c:
      (runGetTextTests): For objects implementing AtkEditableText, try
      to change the exposed text and retrieve it again as a full line.
      (testWebkitAtkCaretOffsets): For a text control (a text entry),
      set the caret offset to a value greater than 1 and retrieve it.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c778d72
  12. 04 Dec, 2011 2 commits
    • mario@webkit.org's avatar
      [Gtk] Check for the load-complete event only in the unit tests. · 8494d047
      mario@webkit.org authored
      There is currently a known issue happening in debug builds when
      reloading the webview if it was loaded before through the function
      webkit_web_view_load_string, resulting in a ASSERT failing (see
      bug 50331) so we can't check for the reload event here, since it
      makes the test to fail. Fortunately, checking for load-complete
      event is a good enough test, so this small patch is about that.
      
      Rubber-stamped by Philippe Normand.
      
      * tests/testatk.c:
      (testWebkitAtkDocumentLoadingEvents): Don't load and then reload
      to check events, just load once and check whether the
      'load-complete' event has happened.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@101960 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8494d047
    • mario@webkit.org's avatar
      Source/WebKit/gtk: Removing document related events from DRT · 07479f66
      mario@webkit.org authored
      [GTK] Don't log document events in DRT
      https://bugs.webkit.org/show_bug.cgi?id=73746
      
      Reviewed by Martin Robinson.
      
      New unit test to check events when reloading a document. This
      replaces the former document-reload-events.html layout test.
      
      * tests/testatk.c:
      (updateLoadingEventsResult): New, updates a global variable to
      allow checking later on that the right signals were emmitted.
      (documentLoadingEventCallback): New, global listener for load-complete
      and reload signals over the document object (the web area).
      (testWebkitAtkDocumentLoadingEvents): New unit test, globally
      connects to document-related signals and check they are properly
      emitted when reloading the web view.
      (main): Added new test.
      
      Tools: [GTK] Don't log document events in DRT
      https://bugs.webkit.org/show_bug.cgi?id=73746
      
      Reviewed by Martin Robinson.
      
      Stop connecting globally to document-related events.
      
      * DumpRenderTree/gtk/AccessibilityCallbacks.cpp:
      (connectAccessibilityCallbacks): Removed connections.
      (disconnectAccessibilityCallbacks): Removed disconnections.
      
      LayoutTests: [GTK] Don't log document events in DRT
      https://bugs.webkit.org/show_bug.cgi?id=73746
      
      Reviewed by Martin Robinson.
      
      Unskip passing test, remove other transformed into a unit test and
      rebaseline expectations now we stopped logging document events.
      
      * platform/gtk/Skipped: Removed two skipped tests.
      * platform/gtk/accessibility/aria-slider-required-attributes-expected.txt: Rebaselined
      * platform/gtk/accessibility/combo-box-collapsed-selection-changed-expected.txt: Ditto.
      * platform/gtk/accessibility/document-reload-events-expected.txt: Removed.
      * platform/gtk/accessibility/document-reload-events.html: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@101951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07479f66
  13. 29 Nov, 2011 1 commit
    • mario@webkit.org's avatar
      [Gtk] Regression: text-inserted events lack text inserted and current line · 9d292cbf
      mario@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=72830
      
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Replace the emission of the old (and now deprecated) AtkObject's
      'text-changed:insert' and 'text-changed:remove' signals with the
      new 'text-insert' and 'text-remove' ones, which are better and
      less fragile since they emit the modified text too, along with the
      typical 'offset' and 'count' values associated to the change.
      
      Also, change the signature of the nodeTextChangeNotification() and
      nodeTextChangePlatformNotification() to allow specifying the text
      being modified from the place we better know about it, that is,
      the text editing commands.
      
      * accessibility/gtk/AXObjectCacheAtk.cpp:
      (WebCore::emitTextChanged): Emit 'text-insert' and 'text-remove',
      instead of the old and now deprecated 'text-changed' signal.
      (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
      Update this function to receive a String with the text being
      modified, instead of just the number of characters.
      
      * accessibility/AXObjectCache.cpp:
      (WebCore::AXObjectCache::nodeTextChangeNotification): Update this
      function to receive a String with the text being modified.
      * accessibility/AXObjectCache.h:
      (WebCore::AXObjectCache::nodeTextChangeNotification): Ditto.
      (WebCore::AXObjectCache::nodeTextChangePlatformNotification): Ditto.
      
      Adapt the text editing commants to pass the whole text string
      being modified, instead of just its number of characters.
      
      * editing/AppendNodeCommand.cpp:
      (WebCore::sendAXTextChangedIgnoringLineBreaks): Adapt to the new
      signature of nodeTextChangeNotification(), so pass the whole text.
      * editing/DeleteFromTextNodeCommand.cpp:
      (WebCore::DeleteFromTextNodeCommand::doApply): Ditto.
      (WebCore::DeleteFromTextNodeCommand::doUnapply): Ditto.
      * editing/InsertIntoTextNodeCommand.cpp:
      (WebCore::InsertIntoTextNodeCommand::doApply): Ditto.
      (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
      * editing/InsertNodeBeforeCommand.cpp:
      (WebCore::InsertNodeBeforeCommand::doApply): Ditto.
      (WebCore::InsertNodeBeforeCommand::doUnapply): Ditto.
      
      Update mac, win and chromium's specific parts of AXObjectCache to
      match the new signature for nodeTextChangePlatformNotification(),
      which won't affect their behaviour as they were not implementing
      that method anyway.
      
      * accessibility/chromium/AXObjectCacheChromium.cpp:
      (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
      * accessibility/mac/AXObjectCacheMac.mm:
      (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
      * accessibility/win/AXObjectCacheWin.cpp:
      (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
      
      Source/WebKit/gtk:
      
      Updated unit test to handle the new 'text-insert' and
      'text-remove' signals, instead of the 'text-changed' one.
      
      * tests/testatk.c:
      (textChangedCb): Update a global variable with the result of the
      text change, so we can check its value later.
      (testWebkitAtkTextChangedNotifications): Connect to the
      'text-insert' and 'text-remove' signals and check, in a way more
      carefully way than it was done before, that the signals are being
      properly emitted, and that the information attached to them is the
      right one for each case (insert/remove, offset, count and text).
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@101349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d292cbf
  14. 28 Nov, 2011 1 commit
  15. 18 Nov, 2011 2 commits
  16. 17 Nov, 2011 2 commits
  17. 16 Nov, 2011 1 commit
    • mario@webkit.org's avatar
      [GTK] Do not hide accessibility root object from AT's · 2deff01e
      mario@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=72390
      
      Reviewed by Martin Robinson.
      
      * tests/testatk.c:
      (getWebAreaObject): New helper function, to bypass the new root
      object in the accessibility hierarchy, since it's not usually
      needed for the unit tests.
      (testWebkitAtkCaretOffsets): Use getWebAreaObject().
      (testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces): Ditto.
      (testWebkitAtkComboBox): Ditto.
      (testWebkitAtkEmbeddedObjects): Ditto.
      (testWebkitAtkGetTextAtOffsetForms): Ditto.
      (testWebkitAtkGetTextAtOffset): Ditto.
      (testWebkitAtkGetTextAtOffsetNewlines): Ditto.
      (testWebkitAtkGetTextAtOffsetTextarea): Ditto.
      (testWebkitAtkGetTextAtOffsetTextInput): Ditto.
      (testWebkitAtkGetTextAtOffsetWithSpecialCharacters): Ditto.
      (testWebkitAtkGetTextInParagraphAndBodySimple): Ditto.
      (testWebkitAtkGetTextInParagraphAndBodyModerate): Ditto.
      (testWebkitAtkGetTextInTable): Ditto.
      (testWebkitAtkGetHeadersInTable): Ditto.
      (testWebkitAtkTextAttributes): Ditto.
      (testWebkitAtkTextSelections): Ditto.
      (testWebkitAtkGetExtents): Ditto.
      (testWebkitAtkLayoutAndDataTables): Ditto.
      (testWebkitAtkLinksWithInlineImages): Ditto.
      (testWebkitAtkHypertextAndHyperlinks): Ditto.
      (testWebkitAtkListsOfItems): Ditto.
      (testWebkitAtkTextChangedNotifications): Ditto.
      (testWebkitAtkParentForRootObject): New test, to make sure that
      both top-down and bottom-up navigation among GTK and WebKit worlds
      matches accordingly.
      (main): Added new test.
      
      * webkit/webkitwebview.cpp:
      (webkit_web_view_get_accessible): Remove the hack introduced
      because of bug 51932, to bypass the root object here.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2deff01e
  18. 24 Oct, 2011 1 commit
    • carlosgc@webkit.org's avatar
      [GTK] Remove g_thread_init() calls · 76d16bad
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=70717
      
      Reviewed by Xan Lopez.
      
      With newer glib it's not needed anymore and with previous versions
      it was already called by g_type_init().
      
      Source/WebKit/gtk:
      
      * tests/testapplicationcache.c:
      (main):
      * tests/testatk.c:
      (main):
      * tests/testatkroles.c:
      (main):
      * tests/testcopyandpaste.c:
      (main):
      * tests/testdomdocument.c:
      (main):
      * tests/testdomdomwindow.c:
      (main):
      * tests/testdomnode.c:
      (main):
      * tests/testdownload.c:
      (main):
      * tests/testglobals.c:
      (main):
      * tests/testhittestresult.c:
      (main):
      * tests/testhttpbackend.c:
      (main):
      * tests/testkeyevents.c:
      (main):
      * tests/testloading.c:
      (main):
      * tests/testmimehandling.c:
      (main):
      * tests/testnetworkrequest.c:
      (main):
      * tests/testnetworkresponse.c:
      (main):
      * tests/testwebbackforwardlist.c:
      (main):
      * tests/testwebdatasource.c:
      (main):
      * tests/testwebframe.c:
      (main):
      * tests/testwebhistoryitem.c:
      (main):
      * tests/testwebplugindatabase.c:
      (main):
      * tests/testwebresource.c:
      (main):
      * tests/testwebsettings.c:
      (main):
      * tests/testwebview.c:
      * tests/testwindow.c:
      (main):
      
      Source/WebKit2:
      
      * UIProcess/API/gtk/tests/TestMain.cpp:
      (main):
      
      Tools:
      
      * DumpRenderTree/gtk/DumpRenderTree.cpp:
      (main):
      * GtkLauncher/main.c:
      (main):
      * MiniBrowser/gtk/main.c:
      (main):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@98239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76d16bad
  19. 11 Apr, 2011 1 commit
    • mario@webkit.org's avatar
      2011-04-11 Mario Sanchez Prada <msanchez@igalia.com> · 9f0aee10
      mario@webkit.org authored
              Reviewed by Chris Fleizach.
      
              [Gtk] Implement support for Embedded Objects
              https://bugs.webkit.org/show_bug.cgi?id=52148
      
              Expose special OBJECT character for replaced elements, implementing
              AtkText and AtkHyperlink when required.
      
              * accessibility/AccessibilityRenderObject.cpp:
              (WebCore::textIteratorBehaviorForTextRange): New helper function,
              to return the right behavior, depending on the platform, so it
              ensures that object replacement characters get emitted for GTK.
              (WebCore::AccessibilityRenderObject::textUnderElement): Use the
              new helper function textIteratorBehaviorForTextRange.
              (WebCore::AccessibilityRenderObject::stringValue): Ditto.
              (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
              Consider replaced elements when calculating range length in GTK.
      
              * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
              (textForRenderer): Ouput the 'object replacement character' for
              replaced objects.
              (getSelectionOffsetsForObject): Consider replaced elements when
              calculating range length in GTK.
              (webkitAccessibleHypertextGetLink): Remove wrong extra check that
              were causing only links to be considered.
              (webkitAccessibleHypertextGetNLinks): Replace wrong 'isLink()'
              check with the right one, by checking that the right ATK interface
              is being implemented by the AtkObject.
              (getInterfaceMaskFromObject): Implement the Hyperlink interface
              both for links and replaced objects.
              (objectAndOffsetUnignored): Consider replaced elements when
              calculating range length in GTK.
      
              * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
              (getRangeLengthForObject): Ensure spaces are used for replaced
              elements when calling to TextIterator::rangeLength().
      
              * editing/TextIterator.h: New value in the TextIteratorBehavior
              enumeration (TextIteratorEmitsObjectReplacementCharacters) and new
              private variable to consider that new option internally.
              * editing/TextIterator.cpp:
              (WebCore::TextIterator::TextIterator): Initialize the new private
              attribute m_emitsObjectReplacementCharacters in constructors.
              (WebCore::TextIterator::handleReplacedElement): Emit the 'object
              replacement character' when m_emitsObjectReplacementCharacters.
      2011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
      
              Reviewed by Chris Fleizach.
      
              [Gtk] Implement support for Embedded Objects
              https://bugs.webkit.org/show_bug.cgi?id=52148
      
              New accessibility unit test for embedded objects.
      
              * tests/testatk.c:
              (testWebkitAtkEmbeddedObjects): New unit test.
              (main): Added the new unit test.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9f0aee10
  20. 21 Mar, 2011 1 commit
  21. 18 Feb, 2011 1 commit
    • mario@webkit.org's avatar
      2011-02-18 Mario Sanchez Prada <msanchez@igalia.com> · e1803daf
      mario@webkit.org authored
              Reviewed by Martin Robinson.
      
              [Gtk] atk_text_get_selection/atk_text_set_selection fails for list items
              https://bugs.webkit.org/show_bug.cgi?id=53453
      
              Ensure that atk_text_{get|set}_selection() work with list items.
      
              * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
              (webkit_accessible_text_get_text): Properly handle list item
              markers when returning the text for an object for a given interval
              specified through the startOffset and endOffset parameters.
              (getSelectionOffsetsForObject): Bear in mind list item markers
              when returning the offsets for a selection over a list item.
              (webkit_accessible_text_set_selection): Adjust offsets if needed
              for list items with item markers. Ensure that it returns TRUE only
              when everything went fine setting the text selection.
      2011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
      
              Reviewed by Martin Robinson.
      
              [Gtk] atk_text_get_selection/atk_text_set_selection fails for list items
              https://bugs.webkit.org/show_bug.cgi?id=53453
      
              Update unit test to check the fix for this bug.
      
              * tests/testatk.c:
              (testWebkitAtkTextSelections): Check that functions from AtkText
              interface to set and get text selections work with list items.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@78978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e1803daf
  22. 07 Feb, 2011 1 commit
  23. 01 Feb, 2011 3 commits
  24. 31 Jan, 2011 1 commit
  25. 27 Jan, 2011 1 commit
  26. 26 Jan, 2011 1 commit
  27. 16 Jan, 2011 1 commit
  28. 07 Jan, 2011 1 commit
    • mario@webkit.org's avatar
      2011-01-07 Mario Sanchez Prada <msanchez@igalia.com> · 86390a14
      mario@webkit.org authored
              Reviewed by Chris Fleizach.
      
              GTK: AX: atk tests need to be updated after recent changes
              https://bugs.webkit.org/show_bug.cgi?id=51932
      
              Make sure we can always get the right accesssible parent for an
              AtkObject when traversing the hierarchy bottom up.
      
              * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
              (isRootObject): New function to check whether an
              AccessibilityObject is the root one or not, according to the
              latest changes in the hierarchy.
              (atkParentOfRootObject): Gets the appropriate AtkObject from GTK's
              GAIL as the parent of the root AtkObject from WebCore.
              (webkit_accessible_get_parent): Use atkParentOfRootObject.
              (webkit_accessible_get_index_in_parent): Ditto.
              (atkRole): Expose AccessibilityObjects with ScrollAreaRole as
              AtkObject's of role ATK_ROLE_SCROLLED_PANE.
      2011-01-07  Mario Sanchez Prada  <msanchez@igalia.com>
      
              Reviewed by Chris Fleizach.
      
              GTK: AX: atk tests need to be updated after recent changes
              https://bugs.webkit.org/show_bug.cgi?id=51932
      
              Fix gtk_widget_get_accessible() in WebKitWebView to keep returning
              the AtkObject of role ATK_ROLE_DOCUMENT_FRAME.
      
              With the change to support WK2 accessibility, the root object of
              the AX hierarchy is different from what GTK expects as the current
              hirarchy right now includes a new accessible object as the parent
              of the accessible web area (AXScrollView).
      
              * webkit/webkitwebview.cpp:
              (webkit_web_view_get_accessible): Return the first child of the
              wrapper associated to the root accessible object in the document,
              to keep everything in the GTK port working as it used to be.
      
              Re-enable skipped ATK unit tests now they are passing again.
      
              * tests/testatk.c:
              (main): Re-enable skipped tests.
              * tests/testatkroles.c:
              (main): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      86390a14
  29. 06 Jan, 2011 1 commit
  30. 12 Dec, 2010 1 commit
    • xan@webkit.org's avatar
      2010-12-12 Xan Lopez <xlopez@igalia.com> · 6933f0b2
      xan@webkit.org authored
              Rubber-stamped by Gustavo Noronha.
      
              Stop checking for glib >= 2.16, we have dependend on a newer
              version for a long time now.
      
              * tests/testatk.c: Stop checking for glib >= 2.16.
              * tests/testatkroles.c: ditto.
              * tests/testdomdocument.c: ditto.
              * tests/testdomdomwindow.c: ditto.
              * tests/testdomnode.c: ditto.
              * tests/testglobals.c: ditto.
              * tests/testhttpbackend.c: ditto.
              * tests/testloading.c: ditto.
              * tests/testmimehandling.c: ditto.
              * tests/testnetworkrequest.c: ditto.
              * tests/testnetworkresponse.c: ditto.
              * tests/testwebbackforwardlist.c: ditto.
              * tests/testwebdatasource.c: ditto.
              * tests/testwebframe.c: ditto.
              * tests/testwebhistoryitem.c: ditto.
              * tests/testwebresource.c: ditto.
              * tests/testwebsettings.c: ditto.
              * tests/testwebview.c: ditto.
              * tests/testwindow.c: ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6933f0b2
  31. 30 Nov, 2010 2 commits
    • mario@webkit.org's avatar
      2010-11-30 Mario Sanchez Prada <msanchez@igalia.com> · 8ce6a15c
      mario@webkit.org authored
              Reviewed by Chris Fleizach.
      
              [GTK] Implement ROLE_COMBO_BOX
              https://bugs.webkit.org/show_bug.cgi?id=25678
      
              Implement the remaining bits for combo boxes.
      
              This patch finishes the implementation, from the point of view of
              the Atk library, of those objects exposed to ATK as combo boxes,
              and their related elements (menus and menu items). It therefore
              implements the proper interfaces for each type of object related
              to combo boxes (AtkSelection for the combo box, AtkText for every
              menu item and AtkAction for the combo box, the menu and the menu
              items), takes care of emitting the proper signals when focus or a
              given a selection changes and adds a new unit test to check all
              this new stuff.
      
              Make possible to ask an AccessibleMenuListOption for a sensible
              string representation, so far only available through the private
              and MSAA related method nameForMSAA. Just moved the implementation
              of that method to an overriden version of stringValue(), which is
              platform independent, and called that from nameForMSAA().
      
              * accessibility/AccessibilityMenuListOption.h:
              * accessibility/AccessibilityMenuListOption.cpp:
              (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
              stringValue(), which holds from now on that used to be here.
              (WebCore::AccessibilityMenuListOption::stringValue): New, override
              of AccessibilityObject::stringValue() to return a proper string.
      
              Emit the missing signals when a selection is made.
      
              * accessibility/gtk/AXObjectCacheAtk.cpp:
              (WebCore::AXObjectCache::postPlatformNotification): Emit the usual
              'focus' signals when a selection is made over the combo box.
      
              * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
              (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
              Atk states are added to the state set when needed.
              (listObjectForSelection): New, returns the proper list object (the
              one holding the list of available options as its children) for an
              specific AtkObject implementing AtkSelection. This is needed
              because sometimes the selectable options are not directly children
              of the AtkSelection object (i.e. a combo box has a 'menu' object
              as its only child of it, holding the list of options as children).
              (optionFromList): Use listObjectForSelection() to get the actual
              object holding the list of children as the available options.
              (optionFromSelection): Add support for combo boxes.
              (webkit_accessible_selection_add_selection): Ditto.
              (webkit_accessible_selection_clear_selection): Ditto.
              (webkit_accessible_selection_get_selection_count): Ditto.
              (webkit_accessible_selection_is_child_selected): Ditto.
              (webkit_accessible_selection_remove_selection): Ditto.
              (webkit_accessible_text_get_text): Makes sure stringValue() is
              considered to get the result substring when it was already
              considered when checking the maximum text length for the object.
              (getInterfaceMaskFromObject): Make sure the AtkSelection interface
              is implemented for the combo boxes, that the AtkText is
              implemented for the menu items and that the AtkAction interface is
              now implemented for every object (WebCore will decide what to do).
      
              Avoid a segfault crash when using this from unit tests.
      
              * platform/gtk/PopupMenuGtk.cpp:
              (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
              before calling gdk_window_get_origin() over it.
      2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
      
              Reviewed by Chris Fleizach.
      
              [GTK] Implement ROLE_COMBO_BOX
              https://bugs.webkit.org/show_bug.cgi?id=25678
      
              New test to check the implementation of the combo boxes.
      
              * tests/testatk.c:
              (testWebkitAtkComboBox): New test, checking that the roles and the
              implemented interfaces for a combo box and its descendants work.
              (main): Added the new unit test.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72958 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ce6a15c
    • commit-queue@webkit.org's avatar
      2010-11-30 Sheriff Bot <webkit.review.bot@gmail.com> · f75d57ad
      commit-queue@webkit.org authored
              Unreviewed, rolling out r72764.
              http://trac.webkit.org/changeset/72764
              https://bugs.webkit.org/show_bug.cgi?id=50215
      
              This change is causing assertion failures on the debug bots.
              (Requested by mrobinson on #webkit).
      
              * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
              (webkit_accessible_get_name):
              (webkit_accessible_detach):
      2010-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r72764.
              http://trac.webkit.org/changeset/72764
              https://bugs.webkit.org/show_bug.cgi?id=50215
      
              This change is causing assertion failures on the debug bots.
              (Requested by mrobinson on #webkit).
      
              * WebCoreSupport/FrameLoaderClientGtk.cpp:
              (WebKit::notifyStatus):
              * tests/testatk.c:
              (main):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f75d57ad