WebCore:
authorggaren <ggaren@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 31 Oct 2006 01:01:01 +0000 (01:01 +0000)
committerggaren <ggaren@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 31 Oct 2006 01:01:01 +0000 (01:01 +0000)
commitb0f0ed2a83b6c8257045484e9622f1aa924a5578
tree6a9b9a26bf32e5b977324b00bd52951c8538f3fd
parent251ffd540a4a1abc074ba17e9f808039efd64362
WebCore:

        Reviewed by Darin.

        Removed a number of editing and selection methods from the bridge.

        I moved cross-platform editing and selection code into Editor and
        SelectionController, respecitvely.

        I moved ObjC and AppKit stuff up into WebKit, so I ended up exporting
        everything + the kitchen sink.

        Specific comments below for interesting things.

        * bindings/objc/DOMInternal.h: Moved exception handling helper methods into
        a new file so that WebKit can use them, too. Added a helper method for
        handling exceptions when selecting a Range.
        * bridge/mac/FrameMac.h: Moved attributedString creation and helper functions into
        WebKit, since they have to do with creating an NSAttributedString for API
        consumption, and not much to do with general Frame functionality.
        * editing/Editor.h: Moved lastEditCommand tracking (at least the data,
        for now) into the Editor. Eventually, the Frame will not have to notify
        the Editor of what the lastEditCommand was, since the Editor will perform
        all EditCommands.
        * editing/SelectionController.h: The code here is just stuff moved from the bridge.
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelectedRange): We now explicitly check from DOM exceptions
        and return them. The bridge method to select a DOM range did this implicitly,
        since all ObjC DOM operations handle DOM exceptions by throwing them as
        ObjC exceptions.
        * editing/TextAffinity.h: Added helper functions for conversion to NSSelectionAffinity.
        The two enumerations are numerically identical, but that's an implementation
        detail of TextAffinity that clients shouldn't be required to know about.

WebKit:

        Reviewed by Darin.

        Removed a number of editing and selection methods from the bridge.

        I moved cross-platform editing and selection code into WebCore::Editor and
        WebCore::SelectionController, respecitvely.

        All of the seemingly new code here is just code grabbed from WebCore or
        merged from WebCoreFrameBridge.

        I changed one piece of internal API: we now pass around Ranges in places
        where we used to pass around broken out components of Ranges.

        I also added WebCore XPATH_SUPPORT AND SVG_SUPPORT #defines to the project.
        Since we now include WebCore headers that depend on these #defines, we need
        to keep in sync with them, to avoid binary incompatibility.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@17455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
34 files changed:
WebCore/ChangeLog
WebCore/WebCore.exp
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/bindings/objc/DOM.mm
WebCore/bindings/objc/DOMInternal.h
WebCore/bindings/objc/DOMInternal.mm
WebCore/bindings/objc/ExceptionHandlers.h [new file with mode: 0644]
WebCore/bindings/objc/ExceptionHandlers.mm [new file with mode: 0644]
WebCore/bindings/scripts/CodeGeneratorObjC.pm
WebCore/bridge/mac/FrameMac.h
WebCore/bridge/mac/FrameMac.mm
WebCore/bridge/mac/WebCoreFrameBridge.h
WebCore/bridge/mac/WebCoreFrameBridge.mm
WebCore/editing/CommandByName.cpp
WebCore/editing/Editor.cpp
WebCore/editing/Editor.h
WebCore/editing/JSEditor.cpp
WebCore/editing/SelectionController.cpp
WebCore/editing/SelectionController.h
WebCore/editing/TextAffinity.h
WebCore/editing/TypingCommand.cpp
WebCore/page/Frame.cpp
WebCore/page/Frame.h
WebCore/page/FramePrivate.h
WebCore/rendering/HitTestResult.cpp
WebCore/rendering/RenderBox.h
WebKit/ChangeLog
WebKit/Misc/WebNSAttributedStringExtras.h
WebKit/Misc/WebNSAttributedStringExtras.m
WebKit/WebCoreSupport/WebFrameBridge.mm
WebKit/WebKit.xcodeproj/project.pbxproj
WebKit/WebView/WebHTMLRepresentation.m
WebKit/WebView/WebHTMLView.m
WebKit/WebView/WebView.mm