1. 13 May, 2011 2 commits
    • dcheng@chromium.org's avatar
      2011-05-13 Daniel Cheng <dcheng@chromium.org> · 0eb6dc60
      dcheng@chromium.org authored
              Reviewed by Tony Chang.
      
              Improve drag start logic
              https://bugs.webkit.org/show_bug.cgi?id=59409
      
              Add a new test to test drag start edge cases on Mac (because of a non-zero text drag delay)
              as well as rebase an existing test.
      
              * fast/css/user-drag-none.html: Text nodes are no longer draggable.
              * platform/mac/editing/pasteboard/drag-selections-to-contenteditable-expected.txt: Added.
              * platform/mac/editing/pasteboard/drag-selections-to-contenteditable.html: Added.
      2011-05-13  Daniel Cheng  <dcheng@chromium.org>
      
              Reviewed by Tony Chang.
      
              Improve drag start logic
              https://bugs.webkit.org/show_bug.cgi?id=59409
      
              Rewrite and simplify the dragging logic to better match IE, Firefox, and the behavior
              defined in the spec. Among other things:
              - draggableNode() no longer returns text nodes when dragging anchors.
              - When starting a drag over an image in a selection, prefer to drag the selection.
              - Several redundant hit tests have been removed.
              - Minor refactoring to make the logic easier to follow.
      
              Test: platform/mac/editing/pasteboard/drag-selections-to-contenteditable.html
      
              * WebCore.xcodeproj/project.pbxproj:
              * page/DragController.cpp:
              (WebCore::DragController::draggableNode):
              (WebCore::DragController::startDrag):
              * page/DragController.h:
              * page/DragState.h:
              (WebCore::DragState::shouldDispatchEvents):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::EventHandler):
              (WebCore::EventHandler::eventMayStartDrag):
              (WebCore::EventHandler::updateDragSourceActionsAllowed):
              (WebCore::EventHandler::updateDragAndDrop):
              (WebCore::EventHandler::cancelDragAndDrop):
              (WebCore::EventHandler::dragHysteresisExceeded):
              (WebCore::EventHandler::dragSourceEndedAt):
              (WebCore::ExactlyOneBitSet):
              (WebCore::EventHandler::handleDrag):
              * page/EventHandler.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86472 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0eb6dc60
    • rniwa@webkit.org's avatar
      2011-05-13 Ryosuke Niwa <rniwa@webkit.org> · 91cc070e
      rniwa@webkit.org authored
              Reviewed by Darin Adler.
      
              click event shouldn't fire when the target is ever removed in mouseup
              https://bugs.webkit.org/show_bug.cgi?id=60600
      
              Added tests to ensure WebKit does not fire click event when the target node
              is removed in mouseup event.
      
              * fast/events/remove-target-in-mouseup-deep-expected.txt: Added.
              * fast/events/remove-target-in-mouseup-deep.html: Added.
              * fast/events/remove-target-in-mouseup-expected.txt: Added.
              * fast/events/remove-target-in-mouseup-insertback-expected.txt: Added.
              * fast/events/remove-target-in-mouseup-insertback.html: Added.
              * fast/events/remove-target-in-mouseup-twice-expected.txt: Added.
              * fast/events/remove-target-in-mouseup-twice.html: Added.
              * fast/events/remove-target-in-mouseup.html: Added.
      2011-05-13  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Darin Adler.
      
              click event shouldn't fire when the target is ever removed in mouseup
              https://bugs.webkit.org/show_bug.cgi?id=60600
      
              Fixed the bug by invalidating m_clickNode when it or one of its ancestors has been removed
              from the document. New behavior matches Internet Explorer and Firefox.
      
              Tests: fast/events/remove-target-in-mouseup-deep.html
                     fast/events/remove-target-in-mouseup-insertback.html
                     fast/events/remove-target-in-mouseup-twice.html
                     fast/events/remove-target-in-mouseup.html
      
              * dom/Document.cpp:
              (WebCore::Document::nodeChildrenWillBeRemoved): Calls EventHandler::nodeWillBeRemoved.
              (WebCore::Document::nodeWillBeRemoved): Calls EventHandler::nodeWillBeRemoved.
              * page/EventHandler.cpp:
              (WebCore::EventHandler::nodeWillBeRemoved): Added; invalidates m_clickNode when m_clickNode
              or one of its ancestor is removed from the document.
              * page/EventHandler.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      91cc070e
  2. 12 May, 2011 1 commit
    • tonyg@chromium.org's avatar
      2011-05-10 Tony Gentilcore <tonyg@chromium.org> · 4b0a55f4
      tonyg@chromium.org authored
              Reviewed by Darin Adler.
      
              Perform some forward declarations suggested by include-what-you-use
              https://bugs.webkit.org/show_bug.cgi?id=60545
      
              * accessibility/AccessibilityObject.cpp:
              * accessibility/AccessibilityRenderObject.cpp:
              * accessibility/mac/AccessibilityObjectWrapper.mm:
              * dom/DocumentMarkerController.cpp:
              * dom/Position.cpp:
              * dom/PositionIterator.cpp:
              * dom/Range.cpp:
              * editing/ApplyBlockElementCommand.cpp:
              * editing/ApplyStyleCommand.cpp:
              * editing/Editor.cpp:
              * editing/EditorCommand.cpp:
              * editing/FrameSelection.cpp:
              * editing/HTMLInterchange.cpp:
              * editing/IndentOutdentCommand.cpp:
              * editing/ReplaceSelectionCommand.cpp:
              * editing/SpellChecker.h:
              * editing/SpellingCorrectionCommand.cpp:
              * editing/SpellingCorrectionController.h:
              * editing/TextCheckingHelper.cpp:
              * editing/TextIterator.h:
              * editing/htmlediting.h:
              * editing/markup.cpp:
              * editing/visible_units.cpp:
              * editing/visible_units.h:
              * fileapi/DOMFileSystem.cpp:
              * fileapi/DirectoryReaderSync.cpp:
              * fileapi/DirectoryReaderSync.h:
              * fileapi/FileEntry.h:
              * fileapi/FileWriter.h:
              * fileapi/FileWriterBase.h:
              * fileapi/FileWriterSync.h:
              * history/CachedFrame.cpp:
              * history/CachedPage.cpp:
              * history/HistoryItem.cpp:
              * history/HistoryItem.h:
              * history/PageCache.h:
              * loader/HistoryController.h:
              * loader/PingLoader.h:
              * loader/ResourceLoader.h:
              * loader/appcache/DOMApplicationCache.h:
              * loader/cache/CachedCSSStyleSheet.h:
              * loader/cache/CachedFont.cpp:
              * loader/cache/CachedFont.h:
              * loader/cache/CachedResourceRequest.cpp:
              * loader/cache/CachedResourceRequest.h:
              * loader/cache/MemoryCache.h:
              * notifications/Notification.cpp:
              * notifications/Notification.h:
              * notifications/NotificationCenter.cpp:
              * notifications/NotificationCenter.h:
              * page/Chrome.cpp:
              * page/Chrome.h:
              * page/DOMSelection.cpp:
              * page/DOMTimer.h:
              * page/DOMWindow.cpp:
              * page/EventHandler.cpp:
              * page/FocusController.h:
              * page/Geolocation.cpp:
              * page/Geolocation.h:
              * page/History.cpp:
              * rendering/RenderListBox.cpp:
              * workers/WorkerContext.cpp:
      2011-05-10  Tony Gentilcore  <tonyg@chromium.org>
      
              Reviewed by Darin Adler.
      
              Perform some forward declarations suggested by include-what-you-use
              https://bugs.webkit.org/show_bug.cgi?id=60545
      
              * src/WebHistoryItem.cpp:
              * src/WebNotification.cpp:
              * src/WebTextCheckingCompletionImpl.cpp:
              * src/mac/WebSubstringUtil.mm:
      2011-05-10  Tony Gentilcore  <tonyg@chromium.org>
      
              Reviewed by Darin Adler.
      
              Perform some forward declarations suggested by include-what-you-use
              https://bugs.webkit.org/show_bug.cgi?id=60545
      
              * Plugins/Hosted/WebHostedNetscapePluginView.mm:
              * WebView/WebFrame.mm:
      2011-05-10  Tony Gentilcore  <tonyg@chromium.org>
      
              Reviewed by Darin Adler.
      
              Perform some forward declarations suggested by include-what-you-use
              https://bugs.webkit.org/show_bug.cgi?id=60545
      
              * WebProcess/WebPage/mac/WebPageMac.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86325 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b0a55f4
  3. 10 May, 2011 1 commit
    • tonyg@chromium.org's avatar
      2011-05-06 Tony Gentilcore <tonyg@chromium.org> · 8d183cb0
      tonyg@chromium.org authored
              Reviewed by Darin Adler.
      
              Fix some unnecessary includes in headers
              https://bugs.webkit.org/show_bug.cgi?id=60388
      
              These were all found using the include-what-you-use clang plugin.
      
              * css/CSSFontFaceSrcValue.h:
              * css/CSSImageGeneratorValue.h:
              * css/CSSParser.h:
              * css/CSSPrimitiveValueCache.cpp:
              * css/CSSPrimitiveValueCache.h:
              * css/CSSStyleSelector.cpp:
              * css/CSSStyleSelector.h:
              * css/RGBColor.cpp:
              * css/RGBColor.h:
              * dom/EventTarget.h:
              * dom/ExceptionBase.cpp:
              * dom/ExceptionBase.h:
              * dom/MessagePort.cpp:
              * dom/Range.cpp:
              * dom/Range.h:
              * dom/SelectElement.cpp:
              * dom/SelectElement.h:
              * dom/TextEvent.cpp:
              * dom/TextEvent.h:
              * dom/Touch.cpp:
              * dom/Touch.h:
              * dom/TouchEvent.cpp:
              * dom/TouchEvent.h:
              * dom/XMLDocumentParser.h:
              * dom/XMLDocumentParserScope.h:
              * editing/AppendNodeCommand.cpp:
              * editing/ApplyBlockElementCommand.h:
              * editing/DeleteFromTextNodeCommand.cpp:
              * editing/EditCommand.h:
              * editing/Editor.h:
              * editing/FormatBlockCommand.h:
              * editing/IndentOutdentCommand.h:
              * editing/InsertIntoTextNodeCommand.cpp:
              * editing/InsertNodeBeforeCommand.cpp:
              * editing/ReplaceSelectionCommand.h:
              * editing/SetNodeAttributeCommand.h:
              * html/HTMLSelectElement.h:
              * html/canvas/CanvasRenderingContext2D.cpp:
              * loader/appcache/DOMApplicationCache.cpp:
              * page/EventSource.cpp:
              * rendering/RenderListBox.cpp:
              * rendering/RenderMenuList.cpp:
              * rendering/RenderTextControlSingleLine.cpp:
              * rendering/svg/RenderSVGInlineText.cpp:
              * svg/SVGMatrix.h:
              * websockets/WebSocket.cpp:
              * workers/AbstractWorker.cpp:
              * xml/XMLHttpRequest.cpp:
              * xml/XPathExpression.cpp:
      2011-05-06  Tony Gentilcore  <tonyg@chromium.org>
      
              Reviewed by Darin Adler.
      
              Fix some unnecessary includes in headers
              https://bugs.webkit.org/show_bug.cgi?id=60388
      
              * WebProcess/FullScreen/WebFullScreenManager.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d183cb0
  4. 09 May, 2011 1 commit
    • dcheng@chromium.org's avatar
      2011-05-09 Daniel Cheng <dcheng@chromium.org> · 252dcbe7
      dcheng@chromium.org authored
              Reviewed by Tony Chang.
      
              Refactor RenderObject::draggableNode.
              https://bugs.webkit.org/show_bug.cgi?id=60503
      
              This patch lays the ground for refactoring the drag start logic. It moves draggableNode to
              DragController to avoid the awkward plumbing of calling DragController from RenderObject and
              also moves EventHandlerDragState out from EventHandler so it can be shared between
              EventHandler and DragController where appropriate.
      
              No new tests since there should be no behavior change.
      
              * GNUmakefile.list.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * page/DragController.cpp:
              (WebCore::DragController::draggableNode):
              (WebCore::DragController::mayStartDragAtEventLocation):
              * page/DragController.h:
              * page/DragState.h: Added.
              (WebCore::DragState::DragState):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::dragState):
              (WebCore::EventHandler::eventMayStartDrag):
              (WebCore::EventHandler::handleDrag):
              * page/EventHandler.h:
              * rendering/RenderObject.cpp:
              * rendering/RenderObject.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86128 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      252dcbe7
  5. 07 May, 2011 1 commit
  6. 05 May, 2011 2 commits
    • evan@chromium.org's avatar
      2011-05-03 Evan Martin <evan@chromium.org> · dd97b265
      evan@chromium.org authored
              Reviewed by Ojan Vafai.
      
              REGRESSION: backspace should not go back on Linux
              https://bugs.webkit.org/show_bug.cgi?id=59731
      
              Add a test that verifies that pressing backspace goes back on Mac
              and Windows but does not go back on Linux.
      
              * fast/events/backspace-navigates-back-expected.txt: Added.
              * fast/events/backspace-navigates-back.html: Added.
      2011-04-28  Evan Martin  <evan@chromium.org>
      
              Reviewed by Ojan Vafai.
      
              REGRESSION: backspace should not go back on Linux
              https://bugs.webkit.org/show_bug.cgi?id=59731
      
              Add a new EditingBehavior, shouldNavigateBackOnBackspace, which is false on
              Linux, and test for it in the default backspace handler.
      
              * editing/EditingBehavior.h:
              (WebCore::EditingBehavior::shouldNavigateBackOnBackspace):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::defaultBackspaceEventHandler):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@85893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dd97b265
    • rniwa@webkit.org's avatar
      2011-05-05 Ryosuke Niwa <rniwa@webkit.org> · 78bbc94c
      rniwa@webkit.org authored
              Reviewed by Eric Seidel.
      
              Rename SelectionController to FrameSelection
              https://bugs.webkit.org/show_bug.cgi?id=60234
      
              * src/WebFrameImpl.cpp:
              (WebKit::WebFrameImpl::selectWordAroundCaret):
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::textInputType):
              (WebKit::WebViewImpl::caretOrSelectionBounds):
              (WebKit::WebViewImpl::caretOrSelectionRange):
              (WebKit::WebViewImpl::clearFocusedNode):
      2011-05-05  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename SelectionController to FrameSelection
              https://bugs.webkit.org/show_bug.cgi?id=60234
      
              * Api/qwebframe.cpp:
      2011-05-05  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename SelectionController to FrameSelection
              https://bugs.webkit.org/show_bug.cgi?id=60234
      
              * webkit/webkitwebview.cpp:
              (getLocationForKeyboardGeneratedContextMenu):
      2011-05-05  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename SelectionController to FrameSelection
              https://bugs.webkit.org/show_bug.cgi?id=60234
      
              * WebView.cpp:
      2011-05-05  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename SelectionController to FrameSelection
              https://bugs.webkit.org/show_bug.cgi?id=60234
      
              * WebDOMSelection.cpp:
              * WebDOMSelection.h:
              * WebKitSupport/EditorClientWx.cpp:
              * WebView.cpp:
      2011-05-05  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename SelectionController to FrameSelection
              https://bugs.webkit.org/show_bug.cgi?id=60234
      
              * WebView/WebFrame.mm:
              (-[WebFrame _rangeByAlteringCurrentSelection:FrameSelection::direction:granularity:]):
              * WebView/WebFrameInternal.h:
              * WebView/WebHTMLView.mm:
              * WebView/WebTextCompletionController.mm:
              (-[WebTextCompletionController doCompletion]):
              * WebView/WebView.mm:
      2011-05-05  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename SelectionController to FrameSelection
              https://bugs.webkit.org/show_bug.cgi?id=60234
      
              * WebCoreSupport/EditorClientHaiku.cpp:
              (WebCore::EditorClientHaiku::handleKeyboardEvent):
      2011-05-05  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename SelectionController to FrameSelection
              https://bugs.webkit.org/show_bug.cgi?id=60234
      
              * WebCoreSupport/EditorClientWinCE.cpp:
              (WebKit::EditorClientWinCE::handleEditingKeyboardEvent):
      2011-05-05  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename SelectionController to FrameSelection
              https://bugs.webkit.org/show_bug.cgi?id=60234
      
              * WebCoreSupport/EditorClientEfl.cpp:
              (WebCore::EditorClientEfl::handleEditingKeyboardEvent):
      2011-05-05  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename SelectionController to FrameSelection
              https://bugs.webkit.org/show_bug.cgi?id=60234
      
              * CMakeLists.txt:
              * GNUmakefile.list.am:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * accessibility/AccessibilityObject.cpp:
              * accessibility/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
              * accessibility/mac/AccessibilityObjectWrapper.mm:
              * bindings/objc/ExceptionHandlers.h:
              * css/CSSStyleSelector.cpp:
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::cloneChildNodes):
              * dom/Document.cpp:
              * dom/InputElement.cpp:
              * editing/DeleteButtonController.cpp:
              * editing/EditCommand.cpp:
              * editing/EditingAllInOne.cpp:
              * editing/EditingStyle.cpp:
              * editing/Editor.cpp:
              (WebCore::Editor::canCopy):
              (WebCore::Editor::canDelete):
              (WebCore::Editor::markMisspellingsAfterTypingToWord):
              (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
              (WebCore::Editor::changeSelectionAfterCommand):
              (WebCore::Editor::respondToChangedSelection):
              * editing/Editor.h:
              * editing/EditorCommand.cpp:
              (WebCore::executeDeleteToMark):
              (WebCore::executeMoveBackward):
              (WebCore::executeMoveBackwardAndModifySelection):
              (WebCore::executeMoveDown):
              (WebCore::executeMoveDownAndModifySelection):
              (WebCore::executeMoveForward):
              (WebCore::executeMoveForwardAndModifySelection):
              (WebCore::executeMoveLeft):
              (WebCore::executeMoveLeftAndModifySelection):
              (WebCore::executeMovePageDown):
              (WebCore::executeMovePageDownAndModifySelection):
              (WebCore::executeMovePageUp):
              (WebCore::executeMovePageUpAndModifySelection):
              (WebCore::executeMoveRight):
              (WebCore::executeMoveRightAndModifySelection):
              (WebCore::executeMoveToBeginningOfDocument):
              (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
              (WebCore::executeMoveToBeginningOfLine):
              (WebCore::executeMoveToBeginningOfLineAndModifySelection):
              (WebCore::executeMoveToBeginningOfParagraph):
              (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
              (WebCore::executeMoveToBeginningOfSentence):
              (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
              (WebCore::executeMoveToEndOfDocument):
              (WebCore::executeMoveToEndOfDocumentAndModifySelection):
              (WebCore::executeMoveToEndOfSentence):
              (WebCore::executeMoveToEndOfSentenceAndModifySelection):
              (WebCore::executeMoveToEndOfLine):
              (WebCore::executeMoveToEndOfLineAndModifySelection):
              (WebCore::executeMoveToEndOfParagraph):
              (WebCore::executeMoveToEndOfParagraphAndModifySelection):
              (WebCore::executeMoveParagraphBackwardAndModifySelection):
              (WebCore::executeMoveParagraphForwardAndModifySelection):
              (WebCore::executeMoveUp):
              (WebCore::executeMoveUpAndModifySelection):
              (WebCore::executeMoveWordBackward):
              (WebCore::executeMoveWordBackwardAndModifySelection):
              (WebCore::executeMoveWordForward):
              (WebCore::executeMoveWordForwardAndModifySelection):
              (WebCore::executeMoveWordLeft):
              (WebCore::executeMoveWordLeftAndModifySelection):
              (WebCore::executeMoveWordRight):
              (WebCore::executeMoveWordRightAndModifySelection):
              (WebCore::executeMoveToLeftEndOfLine):
              (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
              (WebCore::executeMoveToRightEndOfLine):
              (WebCore::executeMoveToRightEndOfLineAndModifySelection):
              * editing/FrameSelection.cpp: Copied from Source/WebCore/editing/SelectionController.cpp.
              (WebCore::FrameSelection::FrameSelection):
              (WebCore::FrameSelection::moveTo):
              (WebCore::FrameSelection::setSelection):
              (WebCore::FrameSelection::nodeWillBeRemoved):
              (WebCore::FrameSelection::respondToNodeModification):
              (WebCore::FrameSelection::textWillBeReplaced):
              (WebCore::FrameSelection::setIsDirectional):
              (WebCore::FrameSelection::directionOfEnclosingBlock):
              (WebCore::FrameSelection::willBeModified):
              (WebCore::FrameSelection::positionForPlatform):
              (WebCore::FrameSelection::startForPlatform):
              (WebCore::FrameSelection::endForPlatform):
              (WebCore::FrameSelection::modifyExtendingRight):
              (WebCore::FrameSelection::modifyExtendingForward):
              (WebCore::FrameSelection::modifyMovingRight):
              (WebCore::FrameSelection::modifyMovingForward):
              (WebCore::FrameSelection::modifyExtendingLeft):
              (WebCore::FrameSelection::modifyExtendingBackward):
              (WebCore::FrameSelection::modifyMovingLeft):
              (WebCore::FrameSelection::modifyMovingBackward):
              (WebCore::FrameSelection::modify):
              (WebCore::FrameSelection::xPosForVerticalArrowNavigation):
              (WebCore::FrameSelection::clear):
              (WebCore::FrameSelection::setStart):
              (WebCore::FrameSelection::setEnd):
              (WebCore::FrameSelection::setBase):
              (WebCore::FrameSelection::setExtent):
              (WebCore::FrameSelection::setCaretRectNeedsUpdate):
              (WebCore::FrameSelection::updateCaretRect):
              (WebCore::FrameSelection::caretRenderer):
              (WebCore::FrameSelection::localCaretRect):
              (WebCore::FrameSelection::absoluteBoundsForLocalRect):
              (WebCore::FrameSelection::absoluteCaretBounds):
              (WebCore::FrameSelection::caretRepaintRect):
              (WebCore::FrameSelection::recomputeCaretRect):
              (WebCore::FrameSelection::shouldRepaintCaret):
              (WebCore::FrameSelection::invalidateCaretRect):
              (WebCore::FrameSelection::paintCaret):
              (WebCore::FrameSelection::debugRenderer):
              (WebCore::FrameSelection::contains):
              (WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):
              (WebCore::FrameSelection::selectAll):
              (WebCore::FrameSelection::setSelectedRange):
              (WebCore::FrameSelection::isInPasswordField):
              (WebCore::FrameSelection::caretRendersInsideNode):
              (WebCore::FrameSelection::focusedOrActiveStateChanged):
              (WebCore::FrameSelection::pageActivationChanged):
              (WebCore::FrameSelection::updateSecureKeyboardEntryIfActive):
              (WebCore::FrameSelection::setUseSecureKeyboardEntry):
              (WebCore::FrameSelection::setFocused):
              (WebCore::FrameSelection::isFocusedAndActive):
              (WebCore::FrameSelection::updateAppearance):
              (WebCore::FrameSelection::setCaretVisible):
              (WebCore::FrameSelection::clearCaretRectIfNeeded):
              (WebCore::FrameSelection::caretBlinkTimerFired):
              (WebCore::FrameSelection::notifyRendererOfSelectionChange):
              (WebCore::FrameSelection::setFocusedNodeIfNeeded):
              (WebCore::FrameSelection::paintDragCaret):
              (WebCore::FrameSelection::copyTypingStyle):
              (WebCore::FrameSelection::shouldDeleteSelection):
              (WebCore::FrameSelection::bounds):
              (WebCore::FrameSelection::getClippedVisibleTextRectangles):
              (WebCore::FrameSelection::currentForm):
              (WebCore::FrameSelection::revealSelection):
              (WebCore::FrameSelection::setSelectionFromNone):
              (WebCore::FrameSelection::shouldChangeSelection):
              (WebCore::FrameSelection::formatForDebugger):
              (WebCore::FrameSelection::showTreeForThis):
              (showTree):
              * editing/FrameSelection.h: Copied from Source/WebCore/editing/SelectionController.h.
              (WebCore::FrameSelection::typingStyle):
              (WebCore::FrameSelection::clearTypingStyle):
              (WebCore::FrameSelection::setTypingStyle):
              (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
              * editing/ModifySelectionListLevel.cpp:
              * editing/RemoveFormatCommand.cpp:
              * editing/ReplaceSelectionCommand.cpp:
              * editing/SelectionController.cpp: Removed.
              * editing/SelectionController.h: Removed.
              * editing/SetSelectionCommand.cpp:
              (WebCore::SetSelectionCommand::SetSelectionCommand):
              (WebCore::SetSelectionCommand::doApply):
              (WebCore::SetSelectionCommand::doUnapply):
              * editing/SetSelectionCommand.h:
              (WebCore::SetSelectionCommand::create):
              * editing/SpellingCorrectionCommand.cpp:
              (WebCore::SpellingCorrectionCommand::doApply):
              * editing/SpellingCorrectionController.cpp:
              (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
              * editing/TypingCommand.cpp:
              (WebCore::TypingCommand::deleteKeyPressed):
              (WebCore::TypingCommand::forwardDeleteKeyPressed):
              * editing/chromium/FrameSelectionChromium.cpp: Copied from Source/WebCore/editing/chromium/SelectionControllerChromium.cpp.
              (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
              * editing/chromium/SelectionControllerChromium.cpp: Removed.
              * editing/gtk/FrameSelectionGtk.cpp: Copied from Source/WebCore/editing/gtk/SelectionControllerGtk.cpp.
              (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
              * editing/gtk/SelectionControllerGtk.cpp: Removed.
              * editing/mac/EditorMac.mm:
              (WebCore::Editor::canCopyExcludingStandaloneImages):
              * editing/mac/FrameSelectionMac.mm: Copied from Source/WebCore/editing/mac/SelectionControllerMac.mm.
              (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
              * editing/mac/SelectionControllerMac.mm: Removed.
              * editing/qt/EditorQt.cpp:
              * loader/archive/cf/LegacyWebArchive.cpp:
              * page/ContextMenuController.cpp:
              (WebCore::ContextMenuController::populate):
              * page/DOMSelection.cpp:
              (WebCore::DOMSelection::type):
              (WebCore::DOMSelection::modify):
              (WebCore::DOMSelection::addRange):
              (WebCore::DOMSelection::deleteFromDocument):
              (WebCore::DOMSelection::containsNode):
              * page/DragController.cpp:
              (WebCore::DragController::dragIsMove):
              * page/DragController.h:
              * page/EventHandler.cpp:
              (WebCore::setSelectionIfNeeded):
              (WebCore::setNonDirectionalSelectionIfNeeded):
              (WebCore::EventHandler::sendContextMenuEventForKey):
              (WebCore::EventHandler::handleKeyboardSelectionMovement):
              * page/EventHandler.h:
              * page/FocusController.cpp:
              (WebCore::clearSelectionIfNeeded):
              * page/Frame.cpp:
              (WebCore::Frame::Frame):
              * page/Frame.h:
              (WebCore::Frame::selection):
              * page/Page.cpp:
              (WebCore::Page::Page):
              * page/Page.h:
              (WebCore::Page::dragCaretController):
              * page/chromium/DragControllerChromium.cpp:
              * page/chromium/EventHandlerChromium.cpp:
              * page/win/DragControllerWin.cpp:
              * page/win/EventHandlerWin.cpp:
              * rendering/HitTestResult.cpp:
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::destroy):
              (WebCore::RenderBlock::paintCaret):
              * rendering/RenderImage.cpp:
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::destroy):
              * rendering/RenderLayer.cpp:
              * rendering/RenderListBox.cpp:
              * rendering/RenderObjectChildList.cpp:
              (WebCore::RenderObjectChildList::removeChildNode):
              * rendering/RenderTextControl.cpp:
              * rendering/RenderTextControlSingleLine.cpp:
              * rendering/RenderTheme.cpp:
              * rendering/RenderTreeAsText.cpp:
              * svg/SVGSVGElement.cpp:
              * svg/SVGTextContentElement.cpp:
              (WebCore::SVGTextContentElement::selectSubString):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@85864 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      78bbc94c
  7. 04 May, 2011 1 commit
    • rniwa@webkit.org's avatar
      2011-05-04 Ryosuke Niwa <rniwa@webkit.org> · 92959a51
      rniwa@webkit.org authored
              Reviewed by Eric Seidel.
      
              Make more member functions in EventHandler private
              https://bugs.webkit.org/show_bug.cgi?id=60200
      
              Reduced the number of public member functions in EventHandler.
      
              * WebCore.exp.in:
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleAutoscroll):
              (WebCore::EventHandler::autoscrollTimerFired):
              (WebCore::EventHandler::stopAutoscrollTimer):
              (WebCore::EventHandler::handleMousePressEvent):
              (WebCore::EventHandler::handleMouseMoveEvent):
              (WebCore::EventHandler::keyEvent):
              (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
              * page/EventHandler.h:
              (WebCore::EventHandler::mouseDownMayStartSelect):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@85826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      92959a51
  8. 26 Apr, 2011 1 commit
    • tony@chromium.org's avatar
      2011-04-26 Ruben <chromium@hybridsource.org> · ba9a27ad
      tony@chromium.org authored
              Reviewed by Tony Chang.
      
              Change linux ifdefs for Chromium to Unix instead, allowing
              new Unix ports to be enabled by default
              https://bugs.webkit.org/show_bug.cgi?id=59297
      
              No new tests, just changing preprocessor defines.
      
              * bindings/js/JSInspectorFrontendHostCustom.cpp:
              * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
              * dom/SelectElement.cpp:
              * loader/cache/CachedFont.cpp:
              * page/EventHandler.cpp:
              * page/chromium/EventHandlerChromium.cpp:
              * platform/Scrollbar.cpp:
              * platform/chromium/PlatformBridge.h:
              * platform/graphics/chromium/FontPlatformData.h:
              * platform/graphics/skia/FontCustomPlatformData.cpp:
              * platform/graphics/skia/FontCustomPlatformData.h:
      2011-04-26  Ruben  <chromium@hybridsource.org>
      
              Reviewed by Tony Chang.
      
              Change linux ifdefs for Chromium to Unix instead, allowing
              new Unix ports to be enabled by default
              https://bugs.webkit.org/show_bug.cgi?id=59297
      
              * src/PlatformBridge.cpp:
              * src/WebFrameImpl.cpp:
              * src/WebViewImpl.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba9a27ad
  9. 22 Apr, 2011 1 commit
  10. 19 Apr, 2011 1 commit
    • rniwa@webkit.org's avatar
      2011-04-19 Ryosuke Niwa <rniwa@webkit.org> · f9587a4e
      rniwa@webkit.org authored
              Reviewed by Ojan Vafai.
      
              REGRESSION(r83967): Crash in selectionExtentRespectingEditingBoundary
              https://bugs.webkit.org/show_bug.cgi?id=58910
      
              The crash was caused by selectionExtentRespectingEditingBoundary's incorrectly assuming that
              targetNode always have renderer when there selection has an editable root and the target node
              is outside of the editable root.
              
              Fixed the bug by adding an early exit when the target node is null.
      
              No new tests are added since we don't have a reduction for this crash.
      
              * page/EventHandler.cpp:
              (WebCore::selectionExtentRespectingEditingBoundary):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9587a4e
  11. 18 Apr, 2011 1 commit
    • dbates@webkit.org's avatar
      2011-04-18 Daniel Bates <dbates@rim.com> · f7f82492
      dbates@webkit.org authored
              Reviewed by Adam Roben.
      
              With PAN_SCROLLING, mousedown events for a mouse button aren't dispatched while
              pressing-and-holding another mouse button
              https://bugs.webkit.org/show_bug.cgi?id=58700
      
              Fixes an issue where mousedown events weren't dispatched when pressing a mouse button A
              while pressing and holding a mouse button B, where A != B. This issue only affects builds
              that enable PAN_SCROLLING.
      
              On mouse press with autoscroll in progress (m_autoscrollInProgress == true) we stopped
              the autoscroll timer, invalidated the click, and swallowed the mouse press. Instead, we
              should only stop the autoscroll timer.
      
              Test: fast/events/fire-mousedown-while-pressing-mouse-button.html
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleMousePressEvent):
      2011-04-18  Daniel Bates  <dbates@rim.com>
      
              Reviewed by Adam Roben.
      
              With PAN_SCROLLING, mousedown events for a mouse button aren't dispatched while
              pressing-and-holding another mouse button
              https://bugs.webkit.org/show_bug.cgi?id=58700
      
              Test to ensure that a mousedown event is fired when pressing a mouse button A
              while pressing and holding a mouse button B, where A != B.
      
              * fast/events/fire-mousedown-while-pressing-mouse-button-expected.txt: Added.
              * fast/events/fire-mousedown-while-pressing-mouse-button.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f7f82492
  12. 15 Apr, 2011 1 commit
    • commit-queue@webkit.org's avatar
      2011-04-15 Alice Boxhall <aboxhall@chromium.org> · 46791beb
      commit-queue@webkit.org authored
              Reviewed by Ryosuke Niwa.
      
              Text selection changes unexpectedly when dragging out of the <input>
              https://bugs.webkit.org/show_bug.cgi?id=55552
      
              Tests that dragging outside of a contenteditable, input or textarea selects to the end of the
              element, rather than jumping back to the beginning.
      
              * editing/selection/resources/select-out-of-floated-editable.js: Added.
              (log):
              (else.window.onmouseup):
              (getSelectionStart):
              (getSelectionEnd):
              (checkSelection):
              * editing/selection/select-out-of-editable-expected.txt: Added.
              * editing/selection/select-out-of-editable.html: Added.
              * editing/selection/select-out-of-floated-contenteditable-expected.txt: Added.
              * editing/selection/select-out-of-floated-contenteditable.html: Added.
              * editing/selection/select-out-of-floated-input-expected.txt: Added.
              * editing/selection/select-out-of-floated-input.html: Added.
              * editing/selection/select-out-of-floated-textarea-expected.txt: Added.
              * editing/selection/select-out-of-floated-textarea.html: Added.
      2011-04-15  Alice Boxhall  <aboxhall@chromium.org>
      
              Reviewed by Ryosuke Niwa.
      
              Text selection changes unexpectedly when dragging out of the <input>
              https://bugs.webkit.org/show_bug.cgi?id=55552
      
              Tests: editing/selection/select-out-of-editable.html
                     editing/selection/select-out-of-floated-contenteditable.html
                     editing/selection/select-out-of-floated-input.html
                     editing/selection/select-out-of-floated-textarea.html
      
              * page/EventHandler.cpp:
              (WebCore::selectionExtentRespectingEditingBoundary): When dragging from an editable element, check that
              the endpoint is not outside the element. If it is, translate the point into a local point within
              the editable element.
              (WebCore::EventHandler::updateSelectionForMouseDrag): Call targetPositionForSelectionEndpoint() to
              calculate the selection endpoint.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      46791beb
  13. 14 Apr, 2011 1 commit
    • aestes@apple.com's avatar
      REGRESSION (r75555): Safari RSS sidebar jiggles when scrolling · d6581503
      aestes@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=52988
      
      Reviewed by Maciej Stachowiak.
      
      Safari RSS relies on synchronous dispatch of ScrollEvent to update the
      position of its sidebar during scrolling without producing a jiggling
      effect. Due to r75555, this event is no longer dispatched synchronously
      which results in stale repaints before the onscroll handler gets a
      chance to update the position of the sidebar.
      
      Since it is impractical to resolve this issue in Safari RSS itself, add
      a quirk that restores synchronous ScrollEvent dispatch for Safari RSS.
      
      No tests. This is an app-specific change that doesn't affect web
      content.
      
      * Android.mk: Add platform/RuntimeApplicationChecks.[cpp|h]
      * CMakeLists.txt: Ditto.
      * GNUmakefile.list.am: Ditto.
      * WebCore.gypi: Ditto.
      * WebCore.pro: Ditto.
      * WebCore.vcproj/WebCore.vcproj: Ditto.
      * WebCore.xcodeproj/project.pbxproj: Ditto.
      * dom/EventQueue.cpp:
      (WebCore::shouldDispatchScrollEventSynchronously): Send ScrollEvent
      synchronously if the embedding application is Safari and the document's
      URL scheme is "feed" or "feeds".
      (WebCore::EventQueue::enqueueOrDispatchScrollEvent): Dispatch
      ScrollEvent synchronously if shouldDispatchScrollEventSynchronously()
      returns true.
      * dom/EventQueue.h:
      * page/EventHandler.cpp:
      (WebCore::EventHandler::sendScrollEvent): Call enqueueOrDispatchScrollEvent().
      * platform/RuntimeApplicationChecks.cpp: Added.
      (WebCore::mainBundleIsEqualTo): Add a helper routine for CF platforms
      that checks if the main bundle's identifier is equal to a given string.
      This function returns false for non-CF platforms.
      (WebCore::applicationIsSafari): Call mainBundleIsEqualTo().
      (WebCore::applicationIsAppleMail): Ditto.
      (WebCore::applicationIsMicrosoftMessenger): Ditto.
      (WebCore::applicationIsAdobeInstaller): Ditto.
      (WebCore::applicationIsAOLInstantMessenger): Ditto.
      (WebCore::applicationIsMicrosoftMyDay): Ditto.
      (WebCore::applicationIsMicrosoftOutlook): Ditto.
      * platform/mac/RuntimeApplicationChecks.mm: Removed. Functions moved to
      RuntimeApplicationChecks.cpp.
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::scrollTo): Call enqueueOrDispatchScrollEvent().
      * rendering/RenderListBox.cpp:
      (WebCore::RenderListBox::scrollTo): Call enqueueOrDispatchScrollEvent().
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83832 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d6581503
  14. 12 Apr, 2011 1 commit
    • commit-queue@webkit.org's avatar
      2011-04-12 Anantanarayanan G Iyengar <ananta@chromium.org> · 51d6d1b6
      commit-queue@webkit.org authored
              Reviewed by Alexey Proskuryakov.
      
              The default backspace event handler should mark the event as handled if navigation succeeds.
              https://bugs.webkit.org/show_bug.cgi?id=58379
      
              We should mark the event as handled only if we were able to successfully navigate backwards or forwards.
              These navigations can fail if there is now back/forward history. This can occur in cases like ChromeFrame
              where history is managed by an external browser like IE.
      
              No new tests added as this scenario can occur when the history view is split across two browsers (WebKit and IE)
              It is non trivial to simulate this environment.
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::defaultBackspaceEventHandler):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83688 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      51d6d1b6
  15. 11 Apr, 2011 1 commit
  16. 10 Apr, 2011 1 commit
  17. 08 Apr, 2011 3 commits
  18. 07 Apr, 2011 1 commit
    • commit-queue@webkit.org's avatar
      2011-04-07 Alice Boxhall <aboxhall@chromium.org> · a892eb1c
      commit-queue@webkit.org authored
              Reviewed by Ryosuke Niwa.
      
              Move the MouseEventWithHitTestResults::targetNode() method on to EventHandler.
              https://bugs.webkit.org/show_bug.cgi?id=57921
      
              Moves the MouseEventWithHitTestResults::targetNode() method on to EventHandler, so
              that the same logic can be used for a HitTestResult.
      
              No visible changes, just cleanup, so no tests.
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::selectClosestWordFromMouseEvent):
              (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
              (WebCore::EventHandler::handleMousePressEventTripleClick):
              (WebCore::EventHandler::handleMousePressEventSingleClick):
              (WebCore::EventHandler::handleMousePressEvent):
              (WebCore::EventHandler::handleMouseDraggedEvent):
              (WebCore::EventHandler::handleMouseReleaseEvent):
              (WebCore::EventHandler::subframeForHitTestResult):
              Made public static member, so that it can access targetNode(), and be accessed by
              webkitwebview in gtk.
              (WebCore::EventHandler::selectCursor):
              (WebCore::EventHandler::targetNode):
              (WebCore::EventHandler::handleMouseDoubleClickEvent):
              (WebCore::EventHandler::handleMouseMoveEvent):
              (WebCore::EventHandler::updateDragAndDrop):
              (WebCore::EventHandler::sendContextMenuEvent):
              * page/EventHandler.h:
              * page/MouseEventWithHitTestResults.cpp:
              (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
              * page/MouseEventWithHitTestResults.h:
              * page/android/EventHandlerAndroid.cpp:
              (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
              * page/brew/EventHandlerBrew.cpp:
              (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
              * page/chromium/EventHandlerChromium.cpp:
              (WebCore::EventHandler::passMousePressEventToSubframe):
              (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
              * page/efl/EventHandlerEfl.cpp:
              (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
              * page/gtk/EventHandlerGtk.cpp:
              (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
              * page/haiku/EventHandlerHaiku.cpp:
              (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
              * page/mac/EventHandlerMac.mm:
              (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
              (WebCore::EventHandler::passSubframeEventToSubframe):
              * page/wx/EventHandlerWx.cpp:
              (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
      2011-04-07  Alice Boxhall  <aboxhall@chromium.org>
      
              Reviewed by Ryosuke Niwa.
      
              Move the MouseEventWithHitTestResults::targetNode() method on to EventHandler.
              https://bugs.webkit.org/show_bug.cgi?id=57921
      
              * webkit/webkitwebview.cpp:
              (webkit_web_view_forward_context_menu_event):
              Call subframeForHitTestResult rather than subframeForTargetNode as the targetNode()
              method has moved on to EventHandler.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a892eb1c
  19. 04 Apr, 2011 1 commit
  20. 01 Apr, 2011 1 commit
    • timothy@apple.com's avatar
      Make momentum scroll event latching work in WebKit2 on Mac. · 169c77d4
      timothy@apple.com authored
      <rdar://problem/8751861>
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      * WebCore.exp.in: Remove _wkIsLatchingWheelEvent, add _wkGetNSEventMomentumPhase.
      * page/EventHandler.cpp:
      (WebCore::EventHandler::handleWheelEvent): Set m_useLatchedWheelEventNode based on the
      event's momentumPhase.
      * page/mac/EventHandlerMac.mm:
      (WebCore::EventHandler::wheelEvent): Remove the setting of m_useLatchedWheelEventNode.
      It is now done in EventHandler::handleWheelEvent.
      * platform/mac/WebCoreSystemInterface.h: Remove wkIsLatchingWheelEvent, add wkGetNSEventMomentumPhase.
      * platform/mac/WebCoreSystemInterface.mm: Ditto.
      * platform/mac/WheelEventMac.mm:
      (WebCore::momentumPhaseForEvent): Return a phase on older Mac system by using wkGetNSEventMomentumPhase.
      
      Source/WebKit/mac:
      
      * WebCoreSupport/WebSystemInterface.mm:
      (InitWebCoreSystemInterface): Remove IsLatchingWheelEvent, add GetNSEventMomentumPhase.
      * WebView/WebDynamicScrollBarsView.mm:
      (-[WebDynamicScrollBarsView scrollWheel:]): Use WKGetNSEventMomentumPhase to set isLatchingEvent.
      
      Source/WebKit2:
      
      * Shared/mac/WebEventFactory.mm:
      (WebKit::momentumPhaseForEvent): Return a phase on older Mac system by using WKGetNSEventMomentumPhase.
      * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
      (InitWebCoreSystemInterface): Remove IsLatchingWheelEvent, add GetNSEventMomentumPhase.
      
      WebKitLibraries:
      
      * WebKitSystemInterface.h:
      * libWebKitSystemInterfaceLeopard.a: Updated to remove WKIsLatchingWheelEvent and add WKGetNSEventMomentumPhase.
      * libWebKitSystemInterfaceSnowLeopard.a: Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@82709 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      169c77d4
  21. 31 Mar, 2011 1 commit
    • dglazkov@chromium.org's avatar
      2011-03-31 Dimitri Glazkov <dglazkov@chromium.org> · 3beb6ec1
      dglazkov@chromium.org authored
              Reviewed by Darin Adler.
      
              Move coordinate-computing logic into MouseRelatedEvent.
              https://bugs.webkit.org/show_bug.cgi?id=57521
      
              Refactoring, covered by existing tests.
      
              * dom/EventDispatcher.cpp:
              (WebCore::EventDispatcher::dispatchWheelEvent): Yank calculation of
                  coordinates out.
              (WebCore::EventDispatcher::dispatchMouseEvent): Ditto.
              * dom/MouseEvent.cpp:
              (WebCore::MouseEvent::create): Add coordinate-computing logic.
              * dom/MouseEvent.h: Adjust decl to reflect new meaning of params.
              * dom/MouseRelatedEvent.cpp:
              (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
              * page/EventHandler.cpp:
              (WebCore::EventHandler::dispatchDragEvent): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@82584 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3beb6ec1
  22. 30 Mar, 2011 1 commit
  23. 25 Mar, 2011 1 commit
    • commit-queue@webkit.org's avatar
      2011-03-25 Chang Shu <cshu@webkit.org> · 595681f4
      commit-queue@webkit.org authored
              Reviewed by Ryosuke Niwa.
      
              rename Node::isContentEditable and all call sites to rendererIsEditable
              https://bugs.webkit.org/show_bug.cgi?id=54290
      
              This is part of the effort to separate JS API HTMLElement isContentEditable from
              internal Node::rendererIsEditable.
      
              Code refactoring. No new tests.
      
              * accessibility/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::isReadOnly):
              (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
              * dom/Document.cpp:
              (WebCore::acceptsEditingFocus):
              * dom/Node.cpp:
              (WebCore::Node::rendererIsEditable):
              (WebCore::Node::shouldUseInputMethod):
              (WebCore::Node::canStartSelection):
              (WebCore::Node::rootEditableElement):
              * dom/Node.h:
              (WebCore::Node::isContentEditable):
              (WebCore::Node::rendererIsEditable):
              (WebCore::Node::rendererIsRichlyEditable):
              * dom/Position.cpp:
              (WebCore::nextRenderedEditable):
              (WebCore::previousRenderedEditable):
              (WebCore::Position::atEditingBoundary):
              (WebCore::Position::parentEditingBoundary):
              (WebCore::Position::upstream):
              (WebCore::Position::downstream):
              (WebCore::Position::isCandidate):
              * dom/PositionIterator.cpp:
              (WebCore::PositionIterator::isCandidate):
              * editing/AppendNodeCommand.cpp:
              (WebCore::AppendNodeCommand::AppendNodeCommand):
              (WebCore::AppendNodeCommand::doApply):
              (WebCore::AppendNodeCommand::doUnapply):
              * editing/ApplyStyleCommand.cpp:
              (WebCore::containsNonEditableRegion):
              (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
              (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
              (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
              * editing/DeleteButtonController.cpp:
              (WebCore::isDeletableElement):
              (WebCore::enclosingDeletableElement):
              * editing/DeleteFromTextNodeCommand.cpp:
              (WebCore::DeleteFromTextNodeCommand::doApply):
              (WebCore::DeleteFromTextNodeCommand::doUnapply):
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::removeNode):
              * editing/Editor.cpp:
              (WebCore::Editor::canDeleteRange):
              (WebCore::Editor::markMisspellingsOrBadGrammar):
              (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
              * editing/EditorCommand.cpp:
              (WebCore::verticalScrollDistance):
              * editing/FormatBlockCommand.cpp:
              (WebCore::enclosingBlockToSplitTreeTo):
              * editing/IndentOutdentCommand.cpp:
              (WebCore::IndentOutdentCommand::outdentParagraph):
              * editing/InsertIntoTextNodeCommand.cpp:
              (WebCore::InsertIntoTextNodeCommand::doApply):
              (WebCore::InsertIntoTextNodeCommand::doUnapply):
              * editing/InsertNodeBeforeCommand.cpp:
              (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
              (WebCore::InsertNodeBeforeCommand::doApply):
              (WebCore::InsertNodeBeforeCommand::doUnapply):
              * editing/JoinTextNodesCommand.cpp:
              (WebCore::JoinTextNodesCommand::doApply):
              (WebCore::JoinTextNodesCommand::doUnapply):
              * editing/MergeIdenticalElementsCommand.cpp:
              (WebCore::MergeIdenticalElementsCommand::doApply):
              (WebCore::MergeIdenticalElementsCommand::doUnapply):
              * editing/RemoveNodeCommand.cpp:
              (WebCore::RemoveNodeCommand::doApply):
              (WebCore::RemoveNodeCommand::doUnapply):
              * editing/ReplaceSelectionCommand.cpp:
              (WebCore::ReplacementFragment::ReplacementFragment):
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
              (WebCore::SelectionController::setSelectionFromNone):
              * editing/SplitElementCommand.cpp:
              (WebCore::SplitElementCommand::executeApply):
              (WebCore::SplitElementCommand::doUnapply):
              * editing/SplitTextNodeCommand.cpp:
              (WebCore::SplitTextNodeCommand::doApply):
              (WebCore::SplitTextNodeCommand::doUnapply):
              (WebCore::SplitTextNodeCommand::doReapply):
              * editing/SplitTextNodeContainingElementCommand.cpp:
              (WebCore::SplitTextNodeContainingElementCommand::doApply):
              * editing/VisiblePosition.cpp:
              (WebCore::VisiblePosition::canonicalPosition):
              * editing/WrapContentsInDummySpanCommand.cpp:
              (WebCore::WrapContentsInDummySpanCommand::doUnapply):
              (WebCore::WrapContentsInDummySpanCommand::doReapply):
              * editing/htmlediting.cpp:
              (WebCore::highestEditableRoot):
              (WebCore::lowestEditableAncestor):
              (WebCore::isEditablePosition):
              (WebCore::isRichlyEditablePosition):
              (WebCore::firstEditablePositionAfterPositionInRoot):
              (WebCore::extendRangeToWrappingNodes):
              (WebCore::enclosingNodeWithTag):
              (WebCore::enclosingNodeOfType):
              (WebCore::highestEnclosingNodeOfType):
              (WebCore::canMergeLists):
              * editing/visible_units.cpp:
              (WebCore::previousLeafWithSameEditability):
              (WebCore::previousLinePosition):
              (WebCore::nextLeafWithSameEditability):
              (WebCore::nextLinePosition):
              (WebCore::startOfParagraph):
              (WebCore::endOfParagraph):
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::supportsFocus):
              (WebCore::HTMLAnchorElement::defaultEventHandler):
              (WebCore::HTMLAnchorElement::setActive):
              (WebCore::HTMLAnchorElement::canStartSelection):
              (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
              * html/HTMLBodyElement.cpp:
              (WebCore::HTMLBodyElement::supportsFocus):
              * html/HTMLElement.cpp:
              (WebCore::HTMLElement::supportsFocus):
              (WebCore::HTMLElement::isContentEditable):
              (WebCore::HTMLElement::contentEditable):
              * html/HTMLElement.h:
              * page/DragController.cpp:
              (WebCore::DragController::operationForLoad):
              (WebCore::DragController::canProcessDrag):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleMouseReleaseEvent):
              (WebCore::EventHandler::selectCursor):
              * page/FocusController.cpp:
              (WebCore::relinquishesEditingFocus):
              * rendering/HitTestResult.cpp:
              (WebCore::HitTestResult::isContentEditable):
              * rendering/RenderBlock.cpp:
              (WebCore::positionForPointRespectingEditingBoundaries):
              (WebCore::RenderBlock::hasLineIfEmpty):
              * rendering/RenderBlockLineLayout.cpp:
              (WebCore::RenderBlock::addOverflowFromInlineChildren):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::canBeProgramaticallyScrolled):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::createVisiblePosition):
              * rendering/RootInlineBox.cpp:
              (WebCore::isEditableLeaf):
              * svg/SVGAElement.cpp:
              (WebCore::SVGAElement::supportsFocus):
      2011-03-25  Chang Shu  <cshu@webkit.org>
      
              Reviewed by Ryosuke Niwa.
      
              rename Node::isContentEditable and all call sites to rendererIsEditable
              https://bugs.webkit.org/show_bug.cgi?id=54290
      
              This is part of the effort to separate JS API HTMLElement isContentEditable from
              internal Node::rendererIsEditable.
      
              * src/WebNode.cpp:
              (WebKit::WebNode::isContentEditable):
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::setFocus):
              (WebKit::WebViewImpl::setComposition):
              (WebKit::WebViewImpl::confirmComposition):
      2011-03-25  Chang Shu  <cshu@webkit.org>
      
              Reviewed by Ryosuke Niwa.
      
              rename Node::isContentEditable and all call sites to rendererIsEditable
              https://bugs.webkit.org/show_bug.cgi?id=54290
      
              This is part of the effort to separate JS API HTMLElement isContentEditable from
              internal Node::rendererIsEditable.
      
              * WebCoreSupport/EditorClientHaiku.cpp:
              (WebCore::EditorClientHaiku::handleKeyboardEvent):
      2011-03-25  Chang Shu  <cshu@webkit.org>
      
              Reviewed by Ryosuke Niwa.
      
              rename Node::isContentEditable and all call sites to rendererIsEditable
              https://bugs.webkit.org/show_bug.cgi?id=54290
      
              This is part of the effort to separate JS API HTMLElement isContentEditable from
              internal Node::rendererIsEditable.
      
              * WebCoreSupport/EditorClientQt.cpp:
              (WebCore::EditorClientQt::handleKeyboardEvent):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@81965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      595681f4
  24. 23 Mar, 2011 1 commit
  25. 21 Mar, 2011 1 commit
    • commit-queue@webkit.org's avatar
      2011-03-21 Robert Kroeger <rjkroege@chromium.org> · 28faf6ec
      commit-queue@webkit.org authored
              Reviewed by Antonio Gomes.
      
              Flag to enable/disable a GestureReocognizer framework
      
              https://bugs.webkit.org/show_bug.cgi?id=49345
      
              * wtf/Platform.h:
      2011-03-21  Robert Kroeger  <rjkroege@chromium.org>
      
              Reviewed by Antonio Gomes.
      
              Add Support to WebCore to optionally call a platform-specific gesture recognizer
              https://bugs.webkit.org/show_bug.cgi?id=49345
      
              Added an ability for the EventHandler to invoke an optional platform
              specific gesture recognizer.
      
              No tests added because the change should be functionally invisible.
      
              * WebCore.gypi:
              * page/EventHandler.cpp:
              (WebCore::EventHandler::EventHandler):
              (WebCore::EventHandler::handleTouchEvent):
              * page/EventHandler.h:
              * platform/PlatformGestureRecognizer.cpp: Added.
              (WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer):
              (WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer):
              (WebCore::PlatformGestureRecognizer::create):
              * platform/PlatformGestureRecognizer.h: Added.
      2011-03-21  Robert Kroeger  <rjkroege@chromium.org>
      
              Reviewed by Antonio Gomes.
      
              Flag to enable a platform specific GestureReocognizer framework in Chromium.
      
              https://bugs.webkit.org/show_bug.cgi?id=49345
      
              * features.gypi:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@81618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28faf6ec
  26. 15 Mar, 2011 1 commit
    • bdakin@apple.com's avatar
      Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to · 9e05cff8
      bdakin@apple.com authored
      send notifications appropriate times (showing up, resizing)
      -and corresponding-
      https://bugs.webkit.org/show_bug.cgi?id=56067
      
      Reviewed by Darin Adler.
      
      The general strategy here is to add a HashSet of ScrollableAreas to the page that 
      can be accessed when necessary to send notifications to all ScrollableAreas. In 
      turn, all of the ScrollableArea classes that add themselves to the HashSet must 
      keep a weak pointer to Page so that they can remove themselves without relying on 
      Frames or Renderers to still have references.
      
      Find layers for relevant node and if the layers are in the Page's ScrollableArea 
      set, then send the relevant notification.
      * page/EventHandler.cpp:
      (WebCore::layerForNode):
      (WebCore::EventHandler::mouseMoved):
      (WebCore::EventHandler::updateMouseEventTargetNode):
      
      When the page is set active or not active, iterate through the Page's 
      ScrollableAreas to send hide/show notifications. 
      * page/FocusController.cpp:
      (WebCore::FocusController::setActive):
      
      When a FrameView is created, add it to the ScrollableArea set. When it's 
      destroyed, remove it.
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::~FrameView):
      
      Iterate through the Page's ScrollableAreas to send the paint notification.
      (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
      * page/FrameView.h:
      (WebCore::FrameView::disconnectFromPage):
      
      Add the new ScrollableArea set.
      * page/Page.cpp:
      (WebCore::Page::~Page):
      (WebCore::Page::addScrollableArea):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@81209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9e05cff8
  27. 14 Mar, 2011 2 commits
    • rniwa@webkit.org's avatar
      2011-03-14 Ryosuke Niwa <rniwa@webkit.org> · aea439d1
      rniwa@webkit.org authored
              Reviewed by Darin Adler.
      
              EventHandler calls shouldChangeSelection needlessly
              https://bugs.webkit.org/show_bug.cgi?id=56324
      
              Extracted setSelectionIfNeeded and setNonDirectionalSelectionIfNeeded and
              avoided calling shouldChangeSelection and setSelection when the existing
              selection is identical to that of new selection.
      
              * page/EventHandler.cpp:
              (WebCore::setSelectionIfNeeded): Extracted.
              (WebCore::setNonDirectionalSelectionIfNeeded): Extracted.
              (WebCore::EventHandler::selectClosestWordFromMouseEvent): Calls a helper function above.
              (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto.
              (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto.
              (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto.
              (WebCore::EventHandler::updateSelectionForMouseDrag): Ditto.
              (WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
      2011-03-14  Anton Muhin  <antonm@chromium.org>
      
              Reviewed by Adam Barth.
      
              [v8] Rework object group building.
              https://bugs.webkit.org/show_bug.cgi?id=55399
      
              Instead of going top-down (from owner to owned elements), go up---from objects
              to their group ids.  That fits better to v8's object grouping model and guarantees
              that each wrapper belongs to the single group.
      
              Alas, this cannot be implemented for one kind of objects---CSSProperties.
      
              Part of core GC algorithm and tested extensively by exisiting layout tests.
      
              * platform/chromium/test_expectations.txt: Temporary suppress text differences.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@81095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aea439d1
    • rniwa@webkit.org's avatar
      2011-03-11 Ryosuke Niwa <rniwa@webkit.org> · f018c464
      rniwa@webkit.org authored
              Reviewed by Tony Chang.
      
              Selection uses first mousemove's localRect instead of that of mousedown
              https://bugs.webkit.org/show_bug.cgi?id=56213
      
              Fixed the bug by adding an extra call to updateSelectionForMouseDrag in handleMouseDraggedEvent
              using the mouse coordinates of the mousedown event that started the drag.
      
              Test: editing/selection/drag-select-rapidly.html
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleMouseDraggedEvent):
      2011-03-11  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Tony Chang.
      
              Selection uses first mousemove's localRect instead of that of mousedown
              https://bugs.webkit.org/show_bug.cgi?id=56213
      
              Added a test to ensure the selection start is computed using the mouse coordinates passed down
              to the corresponding mousedown event instead of that of the first mousemove event.
      
              The test is co-authored by Evan Martin.
      
              * editing/selection/anchor-focus2-expected.txt: Editing delegate changes.
              * editing/selection/anchor-focus3-expected.txt: Ditto.
              * editing/selection/drag-select-rapidly-expected.txt: Added.
              * editing/selection/drag-select-rapidly.html: Added.
              * platform/mac/editing/selection/drag-select-1-expected.txt: Selects the correct range of text.
              * platform/mac/editing/selection/fake-drag-expected.txt: Ditto.
              * platform/mac/editing/selection/inline-closest-leaf-child-expected.txt: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@81053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f018c464
  28. 10 Mar, 2011 2 commits
    • rniwa@webkit.org's avatar
      2011-03-10 Sheriff Bot <webkit.review.bot@gmail.com> · 0bcced00
      rniwa@webkit.org authored
              Unreviewed, rolling out r80800.
              http://trac.webkit.org/changeset/80800
              https://bugs.webkit.org/show_bug.cgi?id=56163
      
              Caused hundreds of tests to crash on Windows 7 (Requested by
              rniwa on #webkit).
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::mouseMoved):
              (WebCore::EventHandler::updateMouseEventTargetNode):
              * page/FocusController.cpp:
              (WebCore::FocusController::setActive):
              * page/FrameView.cpp:
              (WebCore::FrameView::FrameView):
              (WebCore::FrameView::~FrameView):
              * page/FrameView.h:
              * page/Page.cpp:
              * page/Page.h:
              * platform/ScrollView.cpp:
              (WebCore::ScrollView::wheelEvent):
              * platform/ScrollView.h:
              * rendering/RenderDataGrid.cpp:
              (WebCore::RenderDataGrid::RenderDataGrid):
              (WebCore::RenderDataGrid::~RenderDataGrid):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::RenderLayer):
              (WebCore::RenderLayer::~RenderLayer):
              * rendering/RenderLayer.h:
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::RenderListBox):
              (WebCore::RenderListBox::~RenderListBox):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@80804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0bcced00
    • bdakin@apple.com's avatar
      Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to · a6919fcc
      bdakin@apple.com authored
      send notifications appropriate times (showing up, resizing)
      -and corresponding-
      https://bugs.webkit.org/show_bug.cgi?id=56067
      
      Reviewed by Darin Adler.
      
      The general strategy here is to add a HashSet of ScrollableAreas to the page that 
      can be accessed when necessary to send notifications to all ScrollableAreas.
      
      Find layers for relevant node and if the layers are in the Page's ScrollableArea 
      set, then send the relevant notification.
      * page/EventHandler.cpp:
      (WebCore::EventHandler::mouseMoved):
      (WebCore::EventHandler::updateMouseEventTargetNode):
      
      When the page is set active or not active, iterate through the Page's 
      ScrollableAreas to send hide/show notifications. 
      * page/FocusController.cpp:
      (WebCore::FocusController::setActive):
      
      When a FrameView is created, add it to the ScrollableArea set. When it's 
      destroyed, remove it.
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::~FrameView):
      
      Iterate through the Page's ScrollableAreas to send the paint notification.
      (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
      * page/FrameView.h:
      
      Add the new ScrollableArea set.
      * page/Page.cpp:
      (WebCore::Page::addScrollableArea):
      (WebCore::Page::removeScrollableArea):
      (WebCore::Page::pageContainsScrollableArea):
      * page/Page.h:
      (WebCore::Page::scrollableAreaSet):
      
      notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView.
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::notifyPageThatContentAreaWillPaint):
      
      Call notifyPageThatContentAreaWillPaint() instead of calling 
      contentAreaWillPaint() just for the ScrollView.
      (WebCore::ScrollView::paint):
      * platform/ScrollView.h:
      
      Add/remove ScrollableAreas to the set.
      * rendering/RenderDataGrid.cpp:
      (WebCore::RenderDataGrid::RenderDataGrid):
      (WebCore::RenderDataGrid::~RenderDataGrid):
      * rendering/RenderListBox.cpp:
      (WebCore::RenderListBox::RenderListBox):
      (WebCore::RenderListBox::~RenderListBox):
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::RenderLayer):
      (WebCore::RenderLayer::~RenderLayer):
      
      Should have implemented this ScrollableArea-interface function a while ago.
      (WebCore::RenderLayer::currentMousePosition):
      * rendering/RenderLayer.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@80800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a6919fcc
  29. 03 Mar, 2011 1 commit
    • ap@apple.com's avatar
      Reviewed by Darin Adler. · 46758807
      ap@apple.com authored
              REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access
              https://bugs.webkit.org/show_bug.cgi?id=55633
              <rdar://problem/8963023>
      
              * WebKit2.xcodeproj/project.pbxproj:
              * WebProcess/mac/FullKeyboardAccessWatcher.h: Added.
              * WebProcess/mac/FullKeyboardAccessWatcher.mm: Added.
              (-[FullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
              (-[FullKeyboardAccessWatcher init]):
              (+[FullKeyboardAccessWatcher fullKeyboardAccessEnabled]):
              Get the current state of full keyboard access, listening for change notifications.
      
              * WebProcess/WebProcess.h:  Added fullKeyboardAccessEnabled().
      
              * WebProcess/WebProcess.cpp: (WebKit::WebProcess::fullKeyboardAccessEnabled):
              WebKit1 also doesn't implement this on platforms other than Mac.
      
              * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::fullKeyboardAccessEnabled):
              Just ask FullKeyboardAccessWatcher.
      
              * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::keyboardUIMode):
              * WebProcess/WebCoreSupport/WebChromeClient.h:
              Added keyboardUIMode(), removed tabsToLinks().
      
              * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::keyboardUIMode):
              * WebProcess/WebPage/WebPage.h:
              Generate keyboard UI mode from tabToLinks preference and current state of FKA.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@80279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      46758807
  30. 02 Mar, 2011 2 commits
    • ap@apple.com's avatar
      Fix assertion failures on Gtk bot. · f323a7a2
      ap@apple.com authored
              * page/EventHandler.cpp: (WebCore::EventHandler::tabsToLinks): Removed an overzealous
              assertion. We can get here with non-Tab key events when spatial navigation is enabled.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@80182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f323a7a2
    • ap@apple.com's avatar
      Reviewed by John Sullivan. · 8d18f13c
      ap@apple.com authored
              Clean up WebCore tabsToLinks code a little
              https://bugs.webkit.org/show_bug.cgi?id=55606
      
              No change in behavior, so no tests.
      
              * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::isKeyboardFocusable):
              This is the only caller of tabsToAllControls(). Renamed this function to tabsToAllFormControls().
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::isKeyboardOptionTab): Moved from platform specific files. This
              function cannot be file static, because EventHandlerMac.mm uses it.
              (WebCore::eventInvertsTabsToLinksClientCallResult): Merged implementations from platform
              specific files. We can just as well have #if here. Renamed for clarity.
              (WebCore::EventHandler::tabsToLinks): Rewrote in a way that makes it clearer how "invert"
              works.
              
              * page/EventHandler.h: We no longer need invertSenseOfTabsToLinks() here, it's only used
              in EventHandler.cpp.
      
              * page/android/EventHandlerAndroid.cpp: (WebCore::EventHandler::tabsToAllFormControls):
              * page/brew/EventHandlerBrew.cpp: (WebCore::EventHandler::tabsToAllFormControls):
              * page/chromium/EventHandlerChromium.cpp: (WebCore::EventHandler::tabsToAllFormControls):
              * page/efl/EventHandlerEfl.cpp: (WebCore::EventHandler::tabsToAllFormControls):
              * page/gtk/EventHandlerGtk.cpp: (WebCore::EventHandler::tabsToAllFormControls):
              * page/haiku/EventHandlerHaiku.cpp: (WebCore::EventHandler::tabsToAllFormControls):
              * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::tabsToAllFormControls):
              * page/qt/EventHandlerQt.cpp: (WebCore::EventHandler::tabsToAllFormControls):
              * page/win/EventHandlerWin.cpp: (WebCore::EventHandler::tabsToAllFormControls):
              * page/wx/EventHandlerWx.cpp: (WebCore::EventHandler::tabsToAllFormControls):
              Updating all port files.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@80172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d18f13c
  31. 01 Mar, 2011 1 commit
    • leviw@chromium.org's avatar
      2011-03-01 Levi Weintraub <leviw@chromium.org> · ca40abff
      leviw@chromium.org authored
              Reviewed by Ryosuke Niwa.
      
              Stop instantiating legacy editing Positions in VisiblePosition
              https://bugs.webkit.org/show_bug.cgi?id=52919
      
              Changing usage of legacy VisiblePosition constructor. Since we were dealing
              with positions from DOM Ranges, we're guaranteed a parent-anchored position.
      
              * WebView/WebFrame.mm:
              (-[WebFrame _caretRectAtPosition:affinity:]):
              * WebView/WebFrameInternal.h:
              * WebView/WebTextCompletionController.mm:
              (-[WebTextCompletionController doCompletion]):
      2011-03-01  Levi Weintraub  <leviw@chromium.org>
      
              Reviewed by Ryosuke Niwa.
      
              Stop instantiating legacy editing Positions in VisiblePosition
              https://bugs.webkit.org/show_bug.cgi?id=52919
      
              Changing VisiblePosition completely away from legacy positions.
      
              No new tests since this is functionaly equivalent.
      
              * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
              adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
              outside of WebCore, they should be parent anchored.
              * accessibility/AXObjectCache.cpp:
              (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
              * accessibility/AccessibilityObject.cpp:
              (WebCore::startOfStyleRange):
              (WebCore::endOfStyleRange):
              * accessibility/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
              * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
              (objectAndOffsetUnignored):
              * dom/Position.cpp:
              (WebCore::Position::document): Added this inline function to avoid the necessity
              of calling anchorNode to assure a document from a Position.
              (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
              (WebCore::Position::downstream): ditto
              * dom/Range.cpp:
              (WebCore::Range::editingStartPosition):
              * editing/Editor.cpp:
              (WebCore::Editor::canDeleteRange):
              * editing/ReplaceSelectionCommand.cpp:
              (WebCore::ReplaceSelectionCommand::doApply):
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
              (WebCore::SelectionController::setSelectedRange):
              * editing/TextIterator.cpp:
              (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
              * editing/TypingCommand.cpp:
              (WebCore::TypingCommand::deleteKeyPressed):
              * editing/VisiblePosition.cpp:
              (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
              (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
              (WebCore::VisiblePosition::canonicalPosition):
              (WebCore::VisiblePosition::characterAfter):
              (WebCore::VisiblePosition::localCaretRect):
              (WebCore::makeRange):
              (WebCore::startVisiblePosition):
              (WebCore::endVisiblePosition):
              (WebCore::setStart):
              (WebCore::setEnd):
              (WebCore::isFirstVisiblePositionInNode):
              (WebCore::isLastVisiblePositionInNode):
              * editing/VisiblePosition.h:
              (WebCore::VisiblePosition::VisiblePosition):
              * editing/htmlediting.cpp:
              (WebCore::firstInSpecialElement):
              (WebCore::lastInSpecialElement):
              (WebCore::visiblePositionBeforeNode):
              (WebCore::visiblePositionAfterNode):
              * editing/visible_units.cpp:
              (WebCore::startPositionForLine):
              (WebCore::endPositionForLine):
              (WebCore::previousLinePosition):
              (WebCore::nextLinePosition):
              (WebCore::startOfParagraph):
              (WebCore::endOfParagraph):
              (WebCore::endOfBlock):
              (WebCore::startOfDocument):
              (WebCore::endOfDocument):
              (WebCore::logicalStartPositionForLine):
              (WebCore::logicalEndPositionForLine):
              * page/DOMSelection.cpp:
              (WebCore::DOMSelection::collapse):
              (WebCore::DOMSelection::setBaseAndExtent):
              (WebCore::DOMSelection::setPosition):
              (WebCore::DOMSelection::extend):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleMousePressEventSingleClick):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::createVisiblePosition):
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::visiblePositionForIndex):
              * svg/SVGTextContentElement.cpp:
              (WebCore::SVGTextContentElement::selectSubString):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@80059 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ca40abff
  32. 28 Feb, 2011 1 commit
    • andreas.kling@nokia.com's avatar
      2011-02-28 Andreas Kling <kling@webkit.org> · 8319420a
      andreas.kling@nokia.com authored
              Reviewed by Darin Adler.
      
              Use Frame::ownerElement() directly where appropriate.
              https://bugs.webkit.org/show_bug.cgi?id=55385
      
              Don't take the roundabout way through frame->document->ownerElement
              which just checks that the document->frame is non-null.
      
              No new test, refactoring only.
      
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::loadWithDocumentLoader):
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::dispatchLoadEvent):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::scrollRecursively):
              (WebCore::EventHandler::logicalScrollRecursively):
              * page/FrameView.cpp:
              (WebCore::FrameView::init):
              (WebCore::FrameView::layout):
              (WebCore::FrameView::repaintContentRectangle):
              (WebCore::FrameView::windowClipRect):
              (WebCore::FrameView::paintContents):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@79875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8319420a
  33. 24 Feb, 2011 1 commit