[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-1049-g2e11a8e

rniwa at webkit.org rniwa at webkit.org
Fri Jan 21 14:38:13 UTC 2011


The following commit has been merged in the debian/experimental branch:
commit bfb682fdbb25ebb5f66ed56e5f34fc20235af98e
Author: rniwa at webkit.org <rniwa at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Dec 23 18:59:52 2010 +0000

    2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
    
            Reviewed by Eric Seidel.
    
            Editor.h doesn't need to include SelectionController.h
            https://bugs.webkit.org/show_bug.cgi?id=51441
    
            Renamed SelectionController::EDirection to SelectionDirection.
    
            * src/WebFrameImpl.cpp:
            (WebKit::WebFrameImpl::executeCommand):
    2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
    
            Reviewed by Eric Seidel.
    
            Editor.h doesn't need to include SelectionController.h
            https://bugs.webkit.org/show_bug.cgi?id=51441
    
            Renamed SelectionController::EDirection to SelectionDirection.
    
            * WebCoreSupport/EditorClientQt.cpp:
            (WebCore::EditorClientQt::handleKeyboardEvent):
    2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
    
            Reviewed by Eric Seidel.
    
            Editor.h doesn't need to include SelectionController.h
            https://bugs.webkit.org/show_bug.cgi?id=51441
    
            Renamed SelectionController::EDirection to SelectionDirection.
    
            * WebView/WebFrame.mm:
            (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:granularity:]):
            Takes SelectionDirection instead of SelectionController::EDirection.
            * WebView/WebFrameInternal.h:
            * WebView/WebTextCompletionController.mm:
            (-[WebTextCompletionController doCompletion]): Calls _rangeByAlteringCurrentSelection:SelectionController.
    2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
    
            Reviewed by Eric Seidel.
    
            Editor.h doesn't need to include SelectionController.h
            https://bugs.webkit.org/show_bug.cgi?id=51441
    
            Renamed SelectionController::EDirection to SelectionDirection.
    
            * WebCoreSupport/EditorClientHaiku.cpp:
            (WebCore::EditorClientHaiku::handleKeyboardEvent):
    2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
    
            Reviewed by Eric Seidel.
    
            Editor.h doesn't need to include SelectionController.h
            https://bugs.webkit.org/show_bug.cgi?id=51441
    
            Renamed SelectionController::EDirection to SelectionDirection.
    
            * WebCoreSupport/EditorClientWinCE.cpp:
            (WebKit::EditorClientWinCE::handleEditingKeyboardEvent):
    2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
    
            Reviewed by Eric Seidel.
    
            Editor.h doesn't need to include SelectionController.h
            https://bugs.webkit.org/show_bug.cgi?id=51441
    
            Renamed SelectionController::EDirection to SelectionDirection.
    
            * WebCoreSupport/EditorClientEfl.cpp:
            (WebCore::EditorClientEfl::handleEditingKeyboardEvent):
    2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
    
            Reviewed by Eric Seidel.
    
            Editor.h doesn't need to include SelectionController.h
            https://bugs.webkit.org/show_bug.cgi?id=51441
    
            Removed #include <Selection.h> from Editor.h.
            Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection
            to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h
    
            * WebCore.exp.in: Signature changes.
            * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h
            * accessibility/AccessibilityRenderObject.cpp:
            (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection.
            * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h
            * editing/Editor.cpp:
            (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection.
            (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
            (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
            * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h
            and WritingDirection.h; forward declared CSSMutableStyleDeclaration.
            * editing/EditorCommand.cpp:
            (WebCore::executeDeleteBackward): Change due to SelectionDirection.
            (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
            (WebCore::executeDeleteForward): Ditto.
            (WebCore::executeDeleteToBeginningOfLine): Ditto.
            (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
            (WebCore::executeDeleteToEndOfLine): Ditto.
            (WebCore::executeDeleteToEndOfParagraph): Ditto.
            (WebCore::executeDeleteWordBackward): Ditto.
            (WebCore::executeDeleteWordForward): Ditto.
            (WebCore::executeForwardDelete): Ditto.
            (WebCore::executeMoveBackward): Ditto.
            (WebCore::executeMoveBackwardAndModifySelection): Ditto.
            (WebCore::executeMoveDown): Ditto.
            (WebCore::executeMoveDownAndModifySelection): Ditto.
            (WebCore::executeMoveForward): Ditto.
            (WebCore::executeMoveForwardAndModifySelection): Ditto.
            (WebCore::executeMoveLeft): Ditto.
            (WebCore::executeMoveLeftAndModifySelection): Ditto.
            (WebCore::executeMoveRight): Ditto.
            (WebCore::executeMoveRightAndModifySelection): Ditto.
            (WebCore::executeMoveToBeginningOfDocument): Ditto.
            (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
            (WebCore::executeMoveToBeginningOfLine): Ditto.
            (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
            (WebCore::executeMoveToBeginningOfParagraph): Ditto.
            (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
            (WebCore::executeMoveToBeginningOfSentence): Ditto.
            (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
            (WebCore::executeMoveToEndOfDocument): Ditto.
            (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
            (WebCore::executeMoveToEndOfSentence): Ditto.
            (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
            (WebCore::executeMoveToEndOfLine): Ditto.
            (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
            (WebCore::executeMoveToEndOfParagraph): Ditto.
            (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
            (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
            (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
            (WebCore::executeMoveUp): Ditto.
            (WebCore::executeMoveUpAndModifySelection): Ditto.
            (WebCore::executeMoveWordBackward): Ditto.
            (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
            (WebCore::executeMoveWordForward): Ditto.
            (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
            (WebCore::executeMoveWordLeft): Ditto.
            (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
            (WebCore::executeMoveWordRight): Ditto.
            (WebCore::executeMoveWordRightAndModifySelection): Ditto.
            (WebCore::executeMoveToLeftEndOfLine): Ditto.
            (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
            (WebCore::executeMoveToRightEndOfLine): Ditto.
            (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
            * editing/SelectionController.cpp:
            (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection.
            (WebCore::SelectionController::modify): Ditto.
            * editing/SelectionController.h: Change due to SelectionDirection.
            * editing/TypingCommand.cpp:
            (WebCore::TypingCommand::deleteKeyPressed): Ditto.
            (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
            * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection
            in SelectionController.h
            * editing/WritingDirection.h: Added.
            * page/DOMSelection.cpp:
            (WebCore::DOMSelection::modify): Change due to SelectionDirection.
            (WebCore::DOMSelection::deleteFromDocument): Ditto.
            * page/EventHandler.cpp:
            (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto.
            * page/Frame.h: Includes SelectionController.h.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74566 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 8a5ef8d..36da6ef 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,95 @@
+2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        Editor.h doesn't need to include SelectionController.h
+        https://bugs.webkit.org/show_bug.cgi?id=51441
+
+        Removed #include <Selection.h> from Editor.h.
+        Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection
+        to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h
+
+        * WebCore.exp.in: Signature changes.
+        * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection.
+        * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h
+        * editing/Editor.cpp:
+        (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection.
+        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
+        (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
+        * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h
+        and WritingDirection.h; forward declared CSSMutableStyleDeclaration.
+        * editing/EditorCommand.cpp:
+        (WebCore::executeDeleteBackward): Change due to SelectionDirection.
+        (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
+        (WebCore::executeDeleteForward): Ditto.
+        (WebCore::executeDeleteToBeginningOfLine): Ditto.
+        (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
+        (WebCore::executeDeleteToEndOfLine): Ditto.
+        (WebCore::executeDeleteToEndOfParagraph): Ditto.
+        (WebCore::executeDeleteWordBackward): Ditto.
+        (WebCore::executeDeleteWordForward): Ditto.
+        (WebCore::executeForwardDelete): Ditto.
+        (WebCore::executeMoveBackward): Ditto.
+        (WebCore::executeMoveBackwardAndModifySelection): Ditto.
+        (WebCore::executeMoveDown): Ditto.
+        (WebCore::executeMoveDownAndModifySelection): Ditto.
+        (WebCore::executeMoveForward): Ditto.
+        (WebCore::executeMoveForwardAndModifySelection): Ditto.
+        (WebCore::executeMoveLeft): Ditto.
+        (WebCore::executeMoveLeftAndModifySelection): Ditto.
+        (WebCore::executeMoveRight): Ditto.
+        (WebCore::executeMoveRightAndModifySelection): Ditto.
+        (WebCore::executeMoveToBeginningOfDocument): Ditto.
+        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
+        (WebCore::executeMoveToBeginningOfLine): Ditto.
+        (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
+        (WebCore::executeMoveToBeginningOfParagraph): Ditto.
+        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
+        (WebCore::executeMoveToBeginningOfSentence): Ditto.
+        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
+        (WebCore::executeMoveToEndOfDocument): Ditto.
+        (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
+        (WebCore::executeMoveToEndOfSentence): Ditto.
+        (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
+        (WebCore::executeMoveToEndOfLine): Ditto.
+        (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
+        (WebCore::executeMoveToEndOfParagraph): Ditto.
+        (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
+        (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
+        (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
+        (WebCore::executeMoveUp): Ditto.
+        (WebCore::executeMoveUpAndModifySelection): Ditto.
+        (WebCore::executeMoveWordBackward): Ditto.
+        (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
+        (WebCore::executeMoveWordForward): Ditto.
+        (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
+        (WebCore::executeMoveWordLeft): Ditto.
+        (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
+        (WebCore::executeMoveWordRight): Ditto.
+        (WebCore::executeMoveWordRightAndModifySelection): Ditto.
+        (WebCore::executeMoveToLeftEndOfLine): Ditto.
+        (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
+        (WebCore::executeMoveToRightEndOfLine): Ditto.
+        (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
+        * editing/SelectionController.cpp:
+        (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection.
+        (WebCore::SelectionController::modify): Ditto.
+        * editing/SelectionController.h: Change due to SelectionDirection.
+        * editing/TypingCommand.cpp:
+        (WebCore::TypingCommand::deleteKeyPressed): Ditto.
+        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
+        * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection
+        in SelectionController.h
+        * editing/WritingDirection.h: Added.
+        * page/DOMSelection.cpp:
+        (WebCore::DOMSelection::modify): Change due to SelectionDirection.
+        (WebCore::DOMSelection::deleteFromDocument): Ditto.
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto.
+        * page/Frame.h: Includes SelectionController.h.
+
 2010-12-23  Adam Barth  <abarth at webkit.org>
 
         Reviewed by Darin Adler.
diff --git a/WebCore/WebCore.exp.in b/WebCore/WebCore.exp.in
index 4c97a1b..65df2a3 100644
--- a/WebCore/WebCore.exp.in
+++ b/WebCore/WebCore.exp.in
@@ -477,7 +477,7 @@ __ZN7WebCore19SelectionController15revealSelectionERKNS_15ScrollAlignmentEb
 __ZN7WebCore19SelectionController16setSelectedRangeEPNS_5RangeENS_9EAffinityEb
 __ZN7WebCore19SelectionController20setSelectionFromNoneEv
 __ZN7WebCore19SelectionController5clearEv
-__ZN7WebCore19SelectionController6modifyENS0_11EAlterationENS0_10EDirectionENS_15TextGranularityEb
+__ZN7WebCore19SelectionController6modifyENS0_11EAlterationENS_18SelectionDirectionENS_15TextGranularityEb
 __ZN7WebCore19SelectionController9selectAllEv
 __ZN7WebCore19SelectionControllerC1EPNS_5FrameEb
 __ZN7WebCore19TextResourceDecoder5flushEv
@@ -694,11 +694,11 @@ __ZN7WebCore6Editor17insertOrderedListEv
 __ZN7WebCore6Editor18confirmCompositionERKN3WTF6StringE
 __ZN7WebCore6Editor18confirmCompositionEv
 __ZN7WebCore6Editor19countMatchesForTextERKN3WTF6StringEPNS_5RangeEjjb
-__ZN7WebCore6Editor19deleteWithDirectionENS_19SelectionController10EDirectionENS_15TextGranularityEbb
+__ZN7WebCore6Editor19deleteWithDirectionENS_18SelectionDirectionENS_15TextGranularityEbb
 __ZN7WebCore6Editor19insertUnorderedListEv
 __ZN7WebCore6Editor21applyStyleToSelectionEPNS_19CSSStyleDeclarationENS_10EditActionE
 __ZN7WebCore6Editor21isSelectionMisspelledEv
-__ZN7WebCore6Editor23setBaseWritingDirectionENS_16WritingDirectionE
+__ZN7WebCore6Editor23setBaseWritingDirectionE16WritingDirection
 __ZN7WebCore6Editor24advanceToNextMisspellingEb
 __ZN7WebCore6Editor24computeAndSetTypingStyleEPNS_19CSSStyleDeclarationENS_10EditActionE
 __ZN7WebCore6Editor24isSelectionUngrammaticalEv
diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj
index 2a8399c..11d6f67 100644
--- a/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -3041,6 +3041,7 @@
 		9B417065125662B3006B28FC /* ApplyBlockElementCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B417063125662B3006B28FC /* ApplyBlockElementCommand.cpp */; };
 		9BAB6C6C12550631001626D4 /* EditingStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BAB6C6A12550631001626D4 /* EditingStyle.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		9BAB6C6D12550631001626D4 /* EditingStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9BAB6C6B12550631001626D4 /* EditingStyle.cpp */; };
+		9BAF3B2412C1A39800014BF1 /* WritingDirection.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BAF3B2312C1A39800014BF1 /* WritingDirection.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		9BD0BF9312A42BF50072FD43 /* ScopedEventQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BD0BF9112A42BF50072FD43 /* ScopedEventQueue.h */; };
 		9BD0BF9412A42BF50072FD43 /* ScopedEventQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9BD0BF9212A42BF50072FD43 /* ScopedEventQueue.cpp */; };
 		9F0D6B2E121BFEBA006C0288 /* InspectorProfilerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F0D6B2C121BFEBA006C0288 /* InspectorProfilerAgent.cpp */; };
@@ -9367,6 +9368,7 @@
 		9B417063125662B3006B28FC /* ApplyBlockElementCommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ApplyBlockElementCommand.cpp; sourceTree = "<group>"; };
 		9BAB6C6A12550631001626D4 /* EditingStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditingStyle.h; sourceTree = "<group>"; };
 		9BAB6C6B12550631001626D4 /* EditingStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EditingStyle.cpp; sourceTree = "<group>"; };
+		9BAF3B2312C1A39800014BF1 /* WritingDirection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WritingDirection.h; sourceTree = "<group>"; };
 		9BD0BF9112A42BF50072FD43 /* ScopedEventQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScopedEventQueue.h; sourceTree = "<group>"; };
 		9BD0BF9212A42BF50072FD43 /* ScopedEventQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScopedEventQueue.cpp; sourceTree = "<group>"; };
 		9F0D6B2C121BFEBA006C0288 /* InspectorProfilerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorProfilerAgent.cpp; sourceTree = "<group>"; };
@@ -15150,6 +15152,7 @@
 				A883DF260F3D045D00F19BF6 /* VisibleSelection.h */,
 				93309DD4099E64910056E581 /* WrapContentsInDummySpanCommand.cpp */,
 				93309DD5099E64910056E581 /* WrapContentsInDummySpanCommand.h */,
+				9BAF3B2312C1A39800014BF1 /* WritingDirection.h */,
 			);
 			path = editing;
 			sourceTree = "<group>";
@@ -22096,6 +22099,7 @@
 				0B9056F90F2685F30095FF6A /* WorkerThreadableLoader.h in Headers */,
 				5112247A10CFB8FF008099D7 /* WorkerThreadableWebSocketChannel.h in Headers */,
 				93309E24099E64920056E581 /* WrapContentsInDummySpanCommand.h in Headers */,
+				9BAF3B2412C1A39800014BF1 /* WritingDirection.h in Headers */,
 				6565820209D1508D000E61D7 /* XLinkNames.h in Headers */,
 				93F1992108245E59001E9ABC /* XMLDocumentParser.h in Headers */,
 				5D15E3AC0F9E6AC1009E0E3F /* XMLDocumentParserScope.h in Headers */,
diff --git a/WebCore/accessibility/AccessibilityRenderObject.cpp b/WebCore/accessibility/AccessibilityRenderObject.cpp
index 3e7dc44..c119195 100644
--- a/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -2432,7 +2432,7 @@ VisiblePositionRange AccessibilityRenderObject::visiblePositionRangeForLine(unsi
     // will be a caret at visiblePos.
     SelectionController selection;
     selection.setSelection(VisibleSelection(visiblePos));
-    selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionRight, LineBoundary);
+    selection.modify(SelectionController::AlterationExtend, DirectionRight, LineBoundary);
     
     return VisiblePositionRange(selection.selection().visibleStart(), selection.selection().visibleEnd());
 }
diff --git a/WebCore/editing/EditingStyle.h b/WebCore/editing/EditingStyle.h
index d444afe..0619ce5 100644
--- a/WebCore/editing/EditingStyle.h
+++ b/WebCore/editing/EditingStyle.h
@@ -33,6 +33,7 @@
 
 #include "Document.h"
 #include "Position.h"
+#include "WritingDirection.h"
 
 namespace WebCore {
 
@@ -40,8 +41,6 @@ class CSSStyleDeclaration;
 class CSSComputedStyleDeclaration;
 class CSSMutableStyleDeclaration;
 
-enum WritingDirection { NaturalWritingDirection, LeftToRightWritingDirection, RightToLeftWritingDirection };
-
 class EditingStyle : public RefCounted<EditingStyle> {
 public:
     
diff --git a/WebCore/editing/Editor.cpp b/WebCore/editing/Editor.cpp
index 5b61f1c..6619186 100644
--- a/WebCore/editing/Editor.cpp
+++ b/WebCore/editing/Editor.cpp
@@ -312,7 +312,7 @@ bool Editor::isSelectTrailingWhitespaceEnabled()
     return client() && client()->isSelectTrailingWhitespaceEnabled();
 }
 
-bool Editor::deleteWithDirection(SelectionController::EDirection direction, TextGranularity granularity, bool killRing, bool isTypingAction)
+bool Editor::deleteWithDirection(SelectionDirection direction, TextGranularity granularity, bool killRing, bool isTypingAction)
 {
     if (!canEdit())
         return false;
@@ -329,12 +329,12 @@ bool Editor::deleteWithDirection(SelectionController::EDirection direction, Text
         }
     } else {
         switch (direction) {
-        case SelectionController::DirectionForward:
-        case SelectionController::DirectionRight:
+        case DirectionForward:
+        case DirectionRight:
             TypingCommand::forwardDeleteKeyPressed(m_frame->document(), canSmartCopyOrDelete(), granularity, killRing);
             break;
-        case SelectionController::DirectionBackward:
-        case SelectionController::DirectionLeft:
+        case DirectionBackward:
+        case DirectionLeft:
             TypingCommand::deleteKeyPressed(m_frame->document(), canSmartCopyOrDelete(), granularity, killRing);
             break;
         }
@@ -2125,7 +2125,7 @@ void Editor::markMisspellingsAfterTypingToWord(const VisiblePosition &wordStart,
 
         // Reset the charet one character further.
         frame()->selection()->moveTo(frame()->selection()->end());
-        frame()->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, CharacterGranularity);
+        frame()->selection()->modify(SelectionController::AlterationMove, DirectionForward, CharacterGranularity);
     }
 
     if (!isGrammarCheckingEnabled())
@@ -2418,11 +2418,11 @@ void Editor::markAllMisspellingsAndBadGrammarInRanges(TextCheckingOptions textCh
             RefPtr<Range> selectionRange = paragraph.subrange(0, selectionOffset);
             m_frame->selection()->moveTo(selectionRange->endPosition(), DOWNSTREAM);
             if (adjustSelectionForParagraphBoundaries)
-                m_frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, CharacterGranularity);
+                m_frame->selection()->modify(SelectionController::AlterationMove, DirectionForward, CharacterGranularity);
         } else {
             // If this fails for any reason, the fallback is to go one position beyond the last replacement
             m_frame->selection()->moveTo(m_frame->selection()->end());
-            m_frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, CharacterGranularity);
+            m_frame->selection()->modify(SelectionController::AlterationMove, DirectionForward, CharacterGranularity);
         }
     }
 }
diff --git a/WebCore/editing/Editor.h b/WebCore/editing/Editor.h
index 581a279..1be072c 100644
--- a/WebCore/editing/Editor.h
+++ b/WebCore/editing/Editor.h
@@ -29,12 +29,15 @@
 #include "ClipboardAccessPolicy.h"
 #include "Color.h"
 #include "CorrectionPanelInfo.h"
+#include "DocumentMarker.h"
 #include "EditAction.h"
 #include "EditingBehavior.h"
 #include "EditorDeleteAction.h"
 #include "EditorInsertAction.h"
 #include "FindOptions.h"
-#include "SelectionController.h"
+#include "Timer.h"
+#include "VisibleSelection.h"
+#include "WritingDirection.h"
 
 #if PLATFORM(MAC) && !defined(__OBJC__)
 class NSDictionary;
@@ -43,6 +46,7 @@ typedef int NSWritingDirection;
 
 namespace WebCore {
 
+class CSSMutableStyleDeclaration;
 class CSSStyleDeclaration;
 class Clipboard;
 class DeleteButtonController;
@@ -145,7 +149,7 @@ public:
 
     void clearLastEditCommand();
 
-    bool deleteWithDirection(SelectionController::EDirection, TextGranularity, bool killRing, bool isTypingAction);
+    bool deleteWithDirection(SelectionDirection, TextGranularity, bool killRing, bool isTypingAction);
     void deleteSelectionWithSmartDelete(bool smartDelete);
     bool dispatchCPPEvent(const AtomicString&, ClipboardAccessPolicy);
     
diff --git a/WebCore/editing/EditorCommand.cpp b/WebCore/editing/EditorCommand.cpp
index 7b7ec7b..8a6b931 100644
--- a/WebCore/editing/EditorCommand.cpp
+++ b/WebCore/editing/EditorCommand.cpp
@@ -327,32 +327,32 @@ static bool executeDelete(Frame* frame, Event*, EditorCommandSource source, cons
 
 static bool executeDeleteBackward(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->editor()->deleteWithDirection(SelectionController::DirectionBackward, CharacterGranularity, false, true);
+    frame->editor()->deleteWithDirection(DirectionBackward, CharacterGranularity, false, true);
     return true;
 }
 
 static bool executeDeleteBackwardByDecomposingPreviousCharacter(Frame* frame, Event*, EditorCommandSource, const String&)
 {
     LOG_ERROR("DeleteBackwardByDecomposingPreviousCharacter is not implemented, doing DeleteBackward instead");
-    frame->editor()->deleteWithDirection(SelectionController::DirectionBackward, CharacterGranularity, false, true);
+    frame->editor()->deleteWithDirection(DirectionBackward, CharacterGranularity, false, true);
     return true;
 }
 
 static bool executeDeleteForward(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->editor()->deleteWithDirection(SelectionController::DirectionForward, CharacterGranularity, false, true);
+    frame->editor()->deleteWithDirection(DirectionForward, CharacterGranularity, false, true);
     return true;
 }
 
 static bool executeDeleteToBeginningOfLine(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->editor()->deleteWithDirection(SelectionController::DirectionBackward, LineBoundary, true, false);
+    frame->editor()->deleteWithDirection(DirectionBackward, LineBoundary, true, false);
     return true;
 }
 
 static bool executeDeleteToBeginningOfParagraph(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->editor()->deleteWithDirection(SelectionController::DirectionBackward, ParagraphBoundary, true, false);
+    frame->editor()->deleteWithDirection(DirectionBackward, ParagraphBoundary, true, false);
     return true;
 }
 
@@ -360,7 +360,7 @@ static bool executeDeleteToEndOfLine(Frame* frame, Event*, EditorCommandSource,
 {
     // Despite its name, this command should delete the newline at the end of
     // a paragraph if you are at the end of a paragraph (like DeleteToEndOfParagraph).
-    frame->editor()->deleteWithDirection(SelectionController::DirectionForward, LineBoundary, true, false);
+    frame->editor()->deleteWithDirection(DirectionForward, LineBoundary, true, false);
     return true;
 }
 
@@ -368,7 +368,7 @@ static bool executeDeleteToEndOfParagraph(Frame* frame, Event*, EditorCommandSou
 {
     // Despite its name, this command should delete the newline at the end of
     // a paragraph if you are at the end of a paragraph.
-    frame->editor()->deleteWithDirection(SelectionController::DirectionForward, ParagraphBoundary, true, false);
+    frame->editor()->deleteWithDirection(DirectionForward, ParagraphBoundary, true, false);
     return true;
 }
 
@@ -389,13 +389,13 @@ static bool executeDeleteToMark(Frame* frame, Event*, EditorCommandSource, const
 
 static bool executeDeleteWordBackward(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->editor()->deleteWithDirection(SelectionController::DirectionBackward, WordGranularity, true, false);
+    frame->editor()->deleteWithDirection(DirectionBackward, WordGranularity, true, false);
     return true;
 }
 
 static bool executeDeleteWordForward(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->editor()->deleteWithDirection(SelectionController::DirectionForward, WordGranularity, true, false);
+    frame->editor()->deleteWithDirection(DirectionForward, WordGranularity, true, false);
     return true;
 }
 
@@ -448,7 +448,7 @@ static bool executeForwardDelete(Frame* frame, Event*, EditorCommandSource sourc
 {
     switch (source) {
     case CommandFromMenuOrKeyBinding:
-        frame->editor()->deleteWithDirection(SelectionController::DirectionForward, CharacterGranularity, false, true);
+        frame->editor()->deleteWithDirection(DirectionForward, CharacterGranularity, false, true);
         return true;
     case CommandFromDOM:
     case CommandFromDOMWithUserInterface:
@@ -606,47 +606,47 @@ static bool executeMakeTextWritingDirectionRightToLeft(Frame* frame, Event*, Edi
 
 static bool executeMoveBackward(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, CharacterGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionBackward, CharacterGranularity, true);
     return true;
 }
 
 static bool executeMoveBackwardAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, CharacterGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionBackward, CharacterGranularity, true);
     return true;
 }
 
 static bool executeMoveDown(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    return frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, LineGranularity, true);
+    return frame->selection()->modify(SelectionController::AlterationMove, DirectionForward, LineGranularity, true);
 }
 
 static bool executeMoveDownAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, LineGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionForward, LineGranularity, true);
     return true;
 }
 
 static bool executeMoveForward(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, CharacterGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionForward, CharacterGranularity, true);
     return true;
 }
 
 static bool executeMoveForwardAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, CharacterGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionForward, CharacterGranularity, true);
     return true;
 }
 
 static bool executeMoveLeft(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    return frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionLeft, CharacterGranularity, true);
+    return frame->selection()->modify(SelectionController::AlterationMove, DirectionLeft, CharacterGranularity, true);
 }
 
 static bool executeMoveLeftAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionLeft, CharacterGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionLeft, CharacterGranularity, true);
     return true;
 }
 
@@ -684,203 +684,203 @@ static bool executeMovePageUpAndModifySelection(Frame* frame, Event*, EditorComm
 
 static bool executeMoveRight(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    return frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionRight, CharacterGranularity, true);
+    return frame->selection()->modify(SelectionController::AlterationMove, DirectionRight, CharacterGranularity, true);
 }
 
 static bool executeMoveRightAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionRight, CharacterGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionRight, CharacterGranularity, true);
     return true;
 }
 
 static bool executeMoveToBeginningOfDocument(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, DocumentBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionBackward, DocumentBoundary, true);
     return true;
 }
 
 static bool executeMoveToBeginningOfDocumentAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, DocumentBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionBackward, DocumentBoundary, true);
     return true;
 }
 
 static bool executeMoveToBeginningOfLine(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, LineBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionBackward, LineBoundary, true);
     return true;
 }
 
 static bool executeMoveToBeginningOfLineAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, LineBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionBackward, LineBoundary, true);
     return true;
 }
 
 static bool executeMoveToBeginningOfParagraph(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, ParagraphBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionBackward, ParagraphBoundary, true);
     return true;
 }
 
 static bool executeMoveToBeginningOfParagraphAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, ParagraphBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionBackward, ParagraphBoundary, true);
     return true;
 }
 
 static bool executeMoveToBeginningOfSentence(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, SentenceBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionBackward, SentenceBoundary, true);
     return true;
 }
 
 static bool executeMoveToBeginningOfSentenceAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, SentenceBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionBackward, SentenceBoundary, true);
     return true;
 }
 
 static bool executeMoveToEndOfDocument(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, DocumentBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionForward, DocumentBoundary, true);
     return true;
 }
 
 static bool executeMoveToEndOfDocumentAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, DocumentBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionForward, DocumentBoundary, true);
     return true;
 }
 
 static bool executeMoveToEndOfSentence(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, SentenceBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionForward, SentenceBoundary, true);
     return true;
 }
 
 static bool executeMoveToEndOfSentenceAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, SentenceBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionForward, SentenceBoundary, true);
     return true;
 }
 
 static bool executeMoveToEndOfLine(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, LineBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionForward, LineBoundary, true);
     return true;
 }
 
 static bool executeMoveToEndOfLineAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, LineBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionForward, LineBoundary, true);
     return true;
 }
 
 static bool executeMoveToEndOfParagraph(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, ParagraphBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionForward, ParagraphBoundary, true);
     return true;
 }
 
 static bool executeMoveToEndOfParagraphAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, ParagraphBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionForward, ParagraphBoundary, true);
     return true;
 }
 
 static bool executeMoveParagraphBackwardAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, ParagraphGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionBackward, ParagraphGranularity, true);
     return true;
 }
 
 static bool executeMoveParagraphForwardAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, ParagraphGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionForward, ParagraphGranularity, true);
     return true;
 }
 
 static bool executeMoveUp(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    return frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, LineGranularity, true);
+    return frame->selection()->modify(SelectionController::AlterationMove, DirectionBackward, LineGranularity, true);
 }
 
 static bool executeMoveUpAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, LineGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionBackward, LineGranularity, true);
     return true;
 }
 
 static bool executeMoveWordBackward(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, WordGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionBackward, WordGranularity, true);
     return true;
 }
 
 static bool executeMoveWordBackwardAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, WordGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionBackward, WordGranularity, true);
     return true;
 }
 
 static bool executeMoveWordForward(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, WordGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionForward, WordGranularity, true);
     return true;
 }
 
 static bool executeMoveWordForwardAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, WordGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionForward, WordGranularity, true);
     return true;
 }
 
 static bool executeMoveWordLeft(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionLeft, WordGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionLeft, WordGranularity, true);
     return true;
 }
 
 static bool executeMoveWordLeftAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionLeft, WordGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionLeft, WordGranularity, true);
     return true;
 }
 
 static bool executeMoveWordRight(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionRight, WordGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionRight, WordGranularity, true);
     return true;
 }
 
 static bool executeMoveWordRightAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionRight, WordGranularity, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionRight, WordGranularity, true);
     return true;
 }
 
 static bool executeMoveToLeftEndOfLine(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionLeft, LineBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionLeft, LineBoundary, true);
     return true;
 }
 
 static bool executeMoveToLeftEndOfLineAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionLeft, LineBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionLeft, LineBoundary, true);
     return true;
 }
 
 static bool executeMoveToRightEndOfLine(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionRight, LineBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationMove, DirectionRight, LineBoundary, true);
     return true;
 }
 
 static bool executeMoveToRightEndOfLineAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
 {
-    frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionRight, LineBoundary, true);
+    frame->selection()->modify(SelectionController::AlterationExtend, DirectionRight, LineBoundary, true);
     return true;
 }
 
diff --git a/WebCore/editing/SelectionController.cpp b/WebCore/editing/SelectionController.cpp
index 9cddf1d..5743738 100644
--- a/WebCore/editing/SelectionController.cpp
+++ b/WebCore/editing/SelectionController.cpp
@@ -253,7 +253,7 @@ void SelectionController::setIsDirectional(bool isDirectional)
     m_isDirectional = !m_frame || m_frame->editor()->behavior().shouldConsiderSelectionAsDirectional() || isDirectional;
 }
 
-void SelectionController::willBeModified(EAlteration alter, EDirection direction)
+void SelectionController::willBeModified(EAlteration alter, SelectionDirection direction)
 {
     if (alter != AlterationExtend)
         return;
@@ -620,8 +620,8 @@ static bool isBoundary(TextGranularity granularity)
 {
     return granularity == LineBoundary || granularity == ParagraphBoundary || granularity == DocumentBoundary;
 }    
-    
-bool SelectionController::modify(EAlteration alter, EDirection direction, TextGranularity granularity, bool userTriggered)
+
+bool SelectionController::modify(EAlteration alter, SelectionDirection direction, TextGranularity granularity, bool userTriggered)
 {
     if (userTriggered) {
         SelectionController trialSelectionController;
diff --git a/WebCore/editing/SelectionController.h b/WebCore/editing/SelectionController.h
index 03406a4..d0e31b0 100644
--- a/WebCore/editing/SelectionController.h
+++ b/WebCore/editing/SelectionController.h
@@ -50,7 +50,6 @@ enum DirectionalityPolicy { MakeNonDirectionalSelection, MakeDirectionalSelectio
 class SelectionController : public Noncopyable {
 public:
     enum EAlteration { AlterationMove, AlterationExtend };
-    enum EDirection { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft };
     enum CursorAlignOnScroll { AlignCursorOnScrollIfNeeded,
                                AlignCursorOnScrollAlways };
 
@@ -83,7 +82,7 @@ public:
 
     EAffinity affinity() const { return m_selection.affinity(); }
 
-    bool modify(EAlteration, EDirection, TextGranularity, bool userTriggered = false);
+    bool modify(EAlteration, SelectionDirection, TextGranularity, bool userTriggered = false);
     bool modify(EAlteration, int verticalDistance, bool userTriggered = false, CursorAlignOnScroll = AlignCursorOnScrollIfNeeded);
     TextGranularity granularity() const { return m_granularity; }
 
@@ -112,8 +111,8 @@ public:
     void setCaretRectNeedsUpdate(bool flag = true);
 
     void setIsDirectional(bool);
-    void willBeModified(EAlteration, EDirection);
-    
+    void willBeModified(EAlteration, SelectionDirection);
+
     bool isNone() const { return m_selection.isNone(); }
     bool isCaret() const { return m_selection.isCaret(); }
     bool isRange() const { return m_selection.isRange(); }
diff --git a/WebCore/editing/TypingCommand.cpp b/WebCore/editing/TypingCommand.cpp
index 3cc8705..d54b388 100644
--- a/WebCore/editing/TypingCommand.cpp
+++ b/WebCore/editing/TypingCommand.cpp
@@ -459,9 +459,9 @@ void TypingCommand::deleteKeyPressed(TextGranularity granularity, bool killRing)
 
         SelectionController selection;
         selection.setSelection(endingSelection());
-        selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, granularity);
+        selection.modify(SelectionController::AlterationExtend, DirectionBackward, granularity);
         if (killRing && selection.isCaret() && granularity != CharacterGranularity)
-            selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, CharacterGranularity);
+            selection.modify(SelectionController::AlterationExtend, DirectionBackward, CharacterGranularity);
 
         if (endingSelection().visibleStart().previous(true).isNull()) {
             // When the caret is at the start of the editable area in an empty list item, break out of the list item.
@@ -487,7 +487,7 @@ void TypingCommand::deleteKeyPressed(TextGranularity granularity, bool killRing)
             if (isLastPositionBeforeTable(visibleStart))
                 return;
             // Extend the selection backward into the last cell, then deletion will handle the move.
-            selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, granularity);
+            selection.modify(SelectionController::AlterationExtend, DirectionBackward, granularity);
         // If the caret is just after a table, select the table and don't delete anything.
         } else if (Node* table = isFirstPositionAfterTable(visibleStart)) {
             setEndingSelection(VisibleSelection(Position(table, 0), endingSelection().start(), DOWNSTREAM));
@@ -556,9 +556,9 @@ void TypingCommand::forwardDeleteKeyPressed(TextGranularity granularity, bool ki
         // root editable element or at the start of a document.
         SelectionController selection;
         selection.setSelection(endingSelection());
-        selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, granularity);
+        selection.modify(SelectionController::AlterationExtend, DirectionForward, granularity);
         if (killRing && selection.isCaret() && granularity != CharacterGranularity)
-            selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, CharacterGranularity);
+            selection.modify(SelectionController::AlterationExtend, DirectionForward, CharacterGranularity);
 
         Position downstreamEnd = endingSelection().end().downstream();
         VisiblePosition visibleEnd = endingSelection().visibleEnd();
@@ -573,7 +573,7 @@ void TypingCommand::forwardDeleteKeyPressed(TextGranularity granularity, bool ki
 
         // deleting to end of paragraph when at end of paragraph needs to merge the next paragraph (if any)
         if (granularity == ParagraphBoundary && selection.selection().isCaret() && isEndOfParagraph(selection.selection().visibleEnd()))
-            selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, CharacterGranularity);
+            selection.modify(SelectionController::AlterationExtend, DirectionForward, CharacterGranularity);
 
         selectionToDelete = selection.selection();
         if (!startingSelection().isRange() || selectionToDelete.base() != startingSelection().start())
diff --git a/WebCore/editing/VisibleSelection.h b/WebCore/editing/VisibleSelection.h
index ffdb6f8..10b5c8f 100644
--- a/WebCore/editing/VisibleSelection.h
+++ b/WebCore/editing/VisibleSelection.h
@@ -34,6 +34,7 @@ namespace WebCore {
 class Position;
 
 const EAffinity SEL_DEFAULT_AFFINITY = DOWNSTREAM;
+enum SelectionDirection { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft };
 
 class VisibleSelection {
 public:
diff --git a/WebCore/editing/WritingDirection.h b/WebCore/editing/WritingDirection.h
new file mode 100644
index 0000000..b3cff66
--- /dev/null
+++ b/WebCore/editing/WritingDirection.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2008 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef WritingDirection_h
+#define WritingDirection_h
+
+enum WritingDirection { NaturalWritingDirection, LeftToRightWritingDirection, RightToLeftWritingDirection };
+
+#endif
diff --git a/WebCore/page/DOMSelection.cpp b/WebCore/page/DOMSelection.cpp
index 944f13d..7691da4 100644
--- a/WebCore/page/DOMSelection.cpp
+++ b/WebCore/page/DOMSelection.cpp
@@ -298,15 +298,15 @@ void DOMSelection::modify(const String& alterString, const String& directionStri
     else
         return;
 
-    SelectionController::EDirection direction;
+    SelectionDirection direction;
     if (equalIgnoringCase(directionString, "forward"))
-        direction = SelectionController::DirectionForward;
+        direction = DirectionForward;
     else if (equalIgnoringCase(directionString, "backward"))
-        direction = SelectionController::DirectionBackward;
+        direction = DirectionBackward;
     else if (equalIgnoringCase(directionString, "left"))
-        direction = SelectionController::DirectionLeft;
+        direction = DirectionLeft;
     else if (equalIgnoringCase(directionString, "right"))
-        direction = SelectionController::DirectionRight;
+        direction = DirectionRight;
     else
         return;
 
@@ -436,7 +436,7 @@ void DOMSelection::deleteFromDocument()
         return;
 
     if (isCollapsed())
-        selection->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, CharacterGranularity);
+        selection->modify(SelectionController::AlterationExtend, DirectionBackward, CharacterGranularity);
 
     RefPtr<Range> selectedRange = selection->selection().toNormalizedRange();
     if (!selectedRange)
diff --git a/WebCore/page/EventHandler.cpp b/WebCore/page/EventHandler.cpp
index 3c573e7..0c5071e 100644
--- a/WebCore/page/EventHandler.cpp
+++ b/WebCore/page/EventHandler.cpp
@@ -2391,16 +2391,16 @@ void EventHandler::handleKeyboardSelectionMovement(KeyboardEvent* event)
     bool isCommanded = event->getModifierState("Meta");
     
     if (key == "Up") {
-        m_frame->selection()->modify((isShifted) ? SelectionController::AlterationExtend : SelectionController::AlterationMove, SelectionController::DirectionBackward, (isCommanded) ? DocumentBoundary : LineGranularity, true);
+        m_frame->selection()->modify((isShifted) ? SelectionController::AlterationExtend : SelectionController::AlterationMove, DirectionBackward, (isCommanded) ? DocumentBoundary : LineGranularity, true);
         event->setDefaultHandled();
     } else if (key == "Down") {
-        m_frame->selection()->modify((isShifted) ? SelectionController::AlterationExtend : SelectionController::AlterationMove, SelectionController::DirectionForward, (isCommanded) ? DocumentBoundary : LineGranularity, true);
+        m_frame->selection()->modify((isShifted) ? SelectionController::AlterationExtend : SelectionController::AlterationMove, DirectionForward, (isCommanded) ? DocumentBoundary : LineGranularity, true);
         event->setDefaultHandled();
     } else if (key == "Left") {
-        m_frame->selection()->modify((isShifted) ? SelectionController::AlterationExtend : SelectionController::AlterationMove, SelectionController::DirectionLeft, (isCommanded) ? LineBoundary : (isOptioned) ? WordGranularity : CharacterGranularity, true);
+        m_frame->selection()->modify((isShifted) ? SelectionController::AlterationExtend : SelectionController::AlterationMove, DirectionLeft, (isCommanded) ? LineBoundary : (isOptioned) ? WordGranularity : CharacterGranularity, true);
         event->setDefaultHandled();
     } else if (key == "Right") {
-        m_frame->selection()->modify((isShifted) ? SelectionController::AlterationExtend : SelectionController::AlterationMove, SelectionController::DirectionRight, (isCommanded) ? LineBoundary : (isOptioned) ? WordGranularity : CharacterGranularity, true);
+        m_frame->selection()->modify((isShifted) ? SelectionController::AlterationExtend : SelectionController::AlterationMove, DirectionRight, (isCommanded) ? LineBoundary : (isOptioned) ? WordGranularity : CharacterGranularity, true);
         event->setDefaultHandled();
     }    
 }
diff --git a/WebCore/page/Frame.h b/WebCore/page/Frame.h
index 7fb9df5..60c90e5 100644
--- a/WebCore/page/Frame.h
+++ b/WebCore/page/Frame.h
@@ -34,6 +34,7 @@
 #include "EventHandler.h"
 #include "FrameLoader.h"
 #include "FrameTree.h"
+#include "SelectionController.h"
 #include "ScriptController.h"
 #include "UserScriptTypes.h"
 
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 86d9d76..fee8b24 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,15 @@
+2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        Editor.h doesn't need to include SelectionController.h
+        https://bugs.webkit.org/show_bug.cgi?id=51441
+
+        Renamed SelectionController::EDirection to SelectionDirection.
+
+        * src/WebFrameImpl.cpp:
+        (WebKit::WebFrameImpl::executeCommand):
+
 2010-12-23  W. James MacLean  <wjmaclean at chromium.org>
 
         Reviewed by Kenneth Russell.
diff --git a/WebKit/chromium/src/WebFrameImpl.cpp b/WebKit/chromium/src/WebFrameImpl.cpp
index 4422e1b..80d07be 100644
--- a/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/WebKit/chromium/src/WebFrameImpl.cpp
@@ -1150,11 +1150,11 @@ bool WebFrameImpl::executeCommand(const WebString& name)
     // support.
     if (command == "DeleteToEndOfParagraph") {
         Editor* editor = frame()->editor();
-        if (!editor->deleteWithDirection(SelectionController::DirectionForward,
+        if (!editor->deleteWithDirection(DirectionForward,
                                          ParagraphBoundary,
                                          true,
                                          false)) {
-            editor->deleteWithDirection(SelectionController::DirectionForward,
+            editor->deleteWithDirection(DirectionForward,
                                         CharacterGranularity,
                                         true,
                                         false);
diff --git a/WebKit/efl/ChangeLog b/WebKit/efl/ChangeLog
index ace957c..6f59f0f 100644
--- a/WebKit/efl/ChangeLog
+++ b/WebKit/efl/ChangeLog
@@ -1,3 +1,15 @@
+2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        Editor.h doesn't need to include SelectionController.h
+        https://bugs.webkit.org/show_bug.cgi?id=51441
+
+        Renamed SelectionController::EDirection to SelectionDirection.
+
+        * WebCoreSupport/EditorClientEfl.cpp:
+        (WebCore::EditorClientEfl::handleEditingKeyboardEvent):
+
 2010-12-23  Lucas De Marchi  <lucas.demarchi at profusion.mobi>
 
         Reviewed by Kenneth Rohde Christiansen.
diff --git a/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp b/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
index 6bb961b..a9e45dd 100644
--- a/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
@@ -343,25 +343,25 @@ bool EditorClientEfl::handleEditingKeyboardEvent(KeyboardEvent* event)
         switch (keyEvent->windowsVirtualKeyCode()) {
         case VK_LEFT:
             frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
-                    SelectionController::DirectionLeft,
+                    DirectionLeft,
                     keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
                     true);
             return true;
         case VK_RIGHT:
             frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
-                    SelectionController::DirectionRight,
+                    DirectionRight,
                     keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
                     true);
             return true;
         case VK_UP:
             frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
-                    SelectionController::DirectionBackward,
+                    DirectionBackward,
                     keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
                     true);
             return true;
         case VK_DOWN:
             frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
-                    SelectionController::DirectionForward,
+                    DirectionForward,
                     keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
                     true);
             return true;
diff --git a/WebKit/haiku/ChangeLog b/WebKit/haiku/ChangeLog
index 0c689bc..f4f6801 100644
--- a/WebKit/haiku/ChangeLog
+++ b/WebKit/haiku/ChangeLog
@@ -1,3 +1,15 @@
+2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        Editor.h doesn't need to include SelectionController.h
+        https://bugs.webkit.org/show_bug.cgi?id=51441
+
+        Renamed SelectionController::EDirection to SelectionDirection.
+
+        * WebCoreSupport/EditorClientHaiku.cpp:
+        (WebCore::EditorClientHaiku::handleKeyboardEvent):
+
 2010-10-28  MORITA Hajime  <morrita at google.com>
 
         Reviewed by Ojan Vafai.
diff --git a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp
index deca47a..2b175d8 100644
--- a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp
+++ b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp
@@ -253,36 +253,36 @@ void EditorClientHaiku::handleKeyboardEvent(KeyboardEvent* event)
     if (start->isContentEditable()) {
         switch (kevent->windowsVirtualKeyCode()) {
         case VK_BACK:
-            frame->editor()->deleteWithDirection(SelectionController::DirectionBackward,
+            frame->editor()->deleteWithDirection(DirectionBackward,
                                                  kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
                                                  false, true);
             break;
         case VK_DELETE:
-            frame->editor()->deleteWithDirection(SelectionController::DirectionForward,
+            frame->editor()->deleteWithDirection(DirectionForward,
                                                  kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
                                                  false, true);
             break;
         case VK_LEFT:
             frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
-                                       SelectionController::DirectionLeft,
+                                       DirectionLeft,
                                        kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
                                        true);
             break;
         case VK_RIGHT:
             frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
-                                       SelectionController::DirectionRight,
+                                       DirectionRight,
                                        kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
                                        true);
             break;
         case VK_UP:
             frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
-                                       SelectionController::DirectionBackward,
+                                       DirectionBackward,
                                        kevent->ctrlKey() ? ParagraphGranularity : LineGranularity,
                                        true);
             break;
         case VK_DOWN:
             frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
-                                       SelectionController::DirectionForward,
+                                       DirectionForward,
                                        kevent->ctrlKey() ? ParagraphGranularity : LineGranularity,
                                        true);
             break;
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 1a66b1a..ac4abdb 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,19 @@
+2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        Editor.h doesn't need to include SelectionController.h
+        https://bugs.webkit.org/show_bug.cgi?id=51441
+
+        Renamed SelectionController::EDirection to SelectionDirection.
+
+        * WebView/WebFrame.mm:
+        (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:granularity:]):
+        Takes SelectionDirection instead of SelectionController::EDirection.
+        * WebView/WebFrameInternal.h:
+        * WebView/WebTextCompletionController.mm:
+        (-[WebTextCompletionController doCompletion]): Calls _rangeByAlteringCurrentSelection:SelectionController.
+
 2010-12-22  Simon Fraser  <simon.fraser at apple.com>
 
         Reviewed by Darin Adler.
diff --git a/WebKit/mac/WebView/WebFrame.mm b/WebKit/mac/WebView/WebFrame.mm
index b0f9bb9..d9ff71d 100644
--- a/WebKit/mac/WebView/WebFrame.mm
+++ b/WebKit/mac/WebView/WebFrame.mm
@@ -708,7 +708,7 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
 #endif
 }
 
-- (DOMRange *)_rangeByAlteringCurrentSelection:(SelectionController::EAlteration)alteration direction:(SelectionController::EDirection)direction granularity:(TextGranularity)granularity
+- (DOMRange *)_rangeByAlteringCurrentSelection:(SelectionController::EAlteration)alteration direction:(SelectionDirection)direction granularity:(TextGranularity)granularity
 {
     if (_private->coreFrame->selection()->isNone())
         return nil;
diff --git a/WebKit/mac/WebView/WebFrameInternal.h b/WebKit/mac/WebView/WebFrameInternal.h
index 8cdc272..28e3d07 100644
--- a/WebKit/mac/WebView/WebFrameInternal.h
+++ b/WebKit/mac/WebView/WebFrameInternal.h
@@ -140,7 +140,7 @@ WebView *getWebView(WebFrame *webFrame);
 
 - (id)_accessibilityTree;
 
-- (DOMRange *)_rangeByAlteringCurrentSelection:(WebCore::SelectionController::EAlteration)alteration direction:(WebCore::SelectionController::EDirection)direction granularity:(WebCore::TextGranularity)granularity;
+- (DOMRange *)_rangeByAlteringCurrentSelection:(WebCore::SelectionController::EAlteration)alteration direction:(WebCore::SelectionDirection)direction granularity:(WebCore::TextGranularity)granularity;
 - (NSRange)_convertToNSRange:(WebCore::Range*)range;
 - (DOMRange *)_convertNSRangeToDOMRange:(NSRange)range;
 - (NSRange)_convertDOMRangeToNSRange:(DOMRange *)range;
diff --git a/WebKit/mac/WebView/WebTextCompletionController.mm b/WebKit/mac/WebView/WebTextCompletionController.mm
index 82ad16c..48b5035 100644
--- a/WebKit/mac/WebView/WebTextCompletionController.mm
+++ b/WebKit/mac/WebView/WebTextCompletionController.mm
@@ -173,7 +173,7 @@ using namespace std;
         WebFrame *frame = [_htmlView _frame];
         DOMRange *selection = kit(core(frame)->selection()->toNormalizedRange().get());
         DOMRange *wholeWord = [frame _rangeByAlteringCurrentSelection:SelectionController::AlterationExtend
-            direction:SelectionController::DirectionBackward granularity:WordGranularity];
+            direction:DirectionBackward granularity:WordGranularity];
         DOMRange *prefix = [wholeWord cloneRange];
         [prefix setEnd:[selection startContainer] offset:[selection startOffset]];
 
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index 0044784..f4d8747 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,15 @@
+2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        Editor.h doesn't need to include SelectionController.h
+        https://bugs.webkit.org/show_bug.cgi?id=51441
+
+        Renamed SelectionController::EDirection to SelectionDirection.
+
+        * WebCoreSupport/EditorClientQt.cpp:
+        (WebCore::EditorClientQt::handleKeyboardEvent):
+
 2010-12-23  Dawit Alemayehu  <adawit at kde.org>
 
         Reviewed by Kenneth Rohde Christiansen.
diff --git a/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
index 3fbc83d..9c2027b 100644
--- a/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
@@ -391,11 +391,11 @@ void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event)
 #endif // QT_NO_SHORTCUT
         switch (kevent->windowsVirtualKeyCode()) {
         case VK_BACK:
-            frame->editor()->deleteWithDirection(SelectionController::DirectionBackward,
+            frame->editor()->deleteWithDirection(DirectionBackward,
                     CharacterGranularity, false, true);
             break;
         case VK_DELETE:
-            frame->editor()->deleteWithDirection(SelectionController::DirectionForward,
+            frame->editor()->deleteWithDirection(DirectionForward,
                     CharacterGranularity, false, true);
             break;
         case VK_LEFT:
diff --git a/WebKit/wince/ChangeLog b/WebKit/wince/ChangeLog
index 741e527..bccf658 100644
--- a/WebKit/wince/ChangeLog
+++ b/WebKit/wince/ChangeLog
@@ -1,3 +1,15 @@
+2010-12-22  Ryosuke Niwa  <rniwa at webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        Editor.h doesn't need to include SelectionController.h
+        https://bugs.webkit.org/show_bug.cgi?id=51441
+
+        Renamed SelectionController::EDirection to SelectionDirection.
+
+        * WebCoreSupport/EditorClientWinCE.cpp:
+        (WebKit::EditorClientWinCE::handleEditingKeyboardEvent):
+
 2010-10-28  MORITA Hajime  <morrita at google.com>
 
         Reviewed by Ojan Vafai.
diff --git a/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp b/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp
index c4555ed..77cc720 100644
--- a/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp
+++ b/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp
@@ -353,25 +353,25 @@ bool EditorClientWinCE::handleEditingKeyboardEvent(KeyboardEvent* event)
         switch (keyEvent->windowsVirtualKeyCode()) {
         case VK_LEFT:
             frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
-                    SelectionController::DirectionLeft,
+                    DirectionLeft,
                     keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
                     true);
             return true;
         case VK_RIGHT:
             frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
-                    SelectionController::DirectionRight,
+                    DirectionRight,
                     keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
                     true);
             return true;
         case VK_UP:
             frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
-                    SelectionController::DirectionBackward,
+                    DirectionBackward,
                     keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
                     true);
             return true;
         case VK_DOWN:
             frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
-                    SelectionController::DirectionForward,
+                    DirectionForward,
                     keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
                     true);
             return true;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list