* WebView/WebHTMLView.mm:
        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
        Tiger build fix: remove unused variable for return value of dictionaryServiceWindowShow



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests:

        Reviewed by Darin.

        - pixel test for http://bugs.webkit.org/show_bug.cgi?id=12364
          REGRESSSION (NativeListBox): Selected option's background is not clipped to the list box

        * fast/forms/select-item-background-clip-expected.checksum: Added.
        * fast/forms/select-item-background-clip-expected.png: Added.
        * fast/forms/select-item-background-clip-expected.txt: Added.
        * fast/forms/select-item-background-clip.html: Added.

WebCore:

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12364
          REGRESSSION (NativeListBox): Selected option's background is not clipped to the list box

        Test: fast/forms/select-item-background-clip.html

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintItemBackground): Intersect the item's rect with
        the list box's clip rect.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        Reviewed by Darin.

        Darin and I looked into these tests that are adding an empty 
        RenderText, and we think they just need new results. Here they are!

        * editing/execCommand/find-after-replace-expected.txt:
        * fast/css/beforeSelectorOnCodeElement-expected.txt:
        * fast/forms/control-restrict-line-height-expected.txt:
        * fast/forms/select-size-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        Reviewed by Adam.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12273
          REGRESSION: File input value invisible after removing and re-appending

        - made more of the file chooser code cross-platform

        - fixed an Objective-C garbage collection problem in FileChooser

        - tried to remove layering violations where FileChooser in the platform
          directory knows about the rendering and DOM trees (but wasn't able to
          do it entirely)

        * platform/FileChooser.cpp: Added.
        (WebCore::FileChooser::create): Changed parameters.
        (WebCore::FileChooser::chooseFile): Changed to call chooseIcon function.
        (WebCore::FileChooser::chooseIcon): Added.

        * platform/FileChooser.h: Added FileChooserClient so this file doesn't have
        to know about RenderFileUploadControl. Used RetainPtr instead of retain/release
        so this works properly with Objective-C GC. Replaced disconnectUploadControl
        with disconnectClient, which has a simple inline implementation. Moved the
        Document parameter from the constructor to openFileChooser, along with a comment
        about why it should not be there. Added a filename parameter to the constructor
        for the initial filename. Added a font parameter to basenameForWidth so we don't
        depend on having a pointer to the renderer. Removed the uploadControl() and
        document() functions since no one calls either of them.

        * platform/mac/FileChooserMac.mm: Removed code that is now cross-platform.
        (-[OpenPanelController beginSheetWithFrame:]): Added frame parameter, instead
        of storing a document pointer in the FileChooser.
        (WebCore::FileChooser::FileChooser): Updated for changed parameters. Also added
        code to choose the icon based on the initial filename. Pass the adopt parameter
        to the constructor of the RetainPtr.
        (WebCore::FileChooser::~FileChooser): Removed the release call, since the
        RetainPtr will take care of it. Added a call to disconnectFileChooser here.
        There's no need to disconnect at disconnectClient time, and that lets us have
        one more cross-platform function.
        (WebCore::FileChooser::openFileChooser): Added document parameter. Added code
        to get the frame from the document. And added a nil check since there's no
        ironclad guarantee the document won't have outlived its frame.
        (WebCore::FileChooser::basenameForWidth): Added font parameter. Use that instead
        of going at the upload control's style. The caller can handle that now.

        * rendering/RenderFileUploadControl.h: Removed unnecessary includes.
        Made class inherit privately from FileChooserClient. Changed constructor
        parameter to HTMLInputElement rather than Node. Made protected members be
        private instead, and made a couple function members const.
        * rendering/RenderFileUploadControl.cpp: Moved constants to the top of the file,
        but after the "using namespace"
        (WebCore::RenderFileUploadControl::RenderFileUploadControl): Updated for changes
        to the FileChooser::create function and the parameter types.
        (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Removed unneeded
        null check -- there's no case where the FileChooser fails to be created.
        (WebCore::RenderFileUploadControl::click): Pass document to openFileChooser.
        (WebCore::RenderFileUploadControl::updateFromElement): Tweaked code a bit by
        using updateFromElement and setValue instead of casting the renderer to a
        RenderButton and calling setText directly. Put setInputType call here.
        (WebCore::RenderFileUploadControl::maxFilenameWidth): Made const. Broke long line.
        (WebCore::RenderFileUploadControl::createButtonStyle): Made const.
        (WebCore::RenderFileUploadControl::paintObject): Moved buttonShadowHeight constant
        to the top of the file. Call isEmpty instead of checking width and height of
        IntRect for 0. Computed font to pass to FileChooser::basenameForWidth. Broke
        long lines.
        (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
        Moved the setInputType call to the caller; concept here is that this class is
        as simple as possible, rather than doing as much of the button job as possible.

        * WebCore.xcodeproj/project.pbxproj: Added FileChooser.cpp.
        * WebCore.pro: Ditto.
        * CMakeLists.txt: Ditto.
        * WebCoreSources.bkl: Ditto.

        * platform/gdk/TemporaryLinkStubs.cpp: Updated stubs.
        * platform/qt/FileChooserQt.cpp: Updated stubs.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests:

        Reviewed by darin

        <rdar://problem/4944770>
        editing/pasteboard/4641033 layout test is broken (12328)

        The fixes not only make this test pass, but also fix a bug that 
        was reflected in the results checked in for this test.  The caret
        was in the wrong position:
        * editing/pasteboard/4641033-expected.checksum:
        * editing/pasteboard/4641033-expected.png:
        * editing/pasteboard/4641033-expected.txt:
        Added:
        * editing/pasteboard/4944770-1-expected.checksum: Added.
        * editing/pasteboard/4944770-1-expected.png: Added.
        * editing/pasteboard/4944770-1-expected.txt: Added.
        * editing/pasteboard/4944770-1.html: Added.
        * editing/pasteboard/4944770-2-expected.checksum: Added.
        * editing/pasteboard/4944770-2-expected.png: Added.
        * editing/pasteboard/4944770-2-expected.txt: Added.
        * editing/pasteboard/4944770-2.html: Added.
        * editing/pasteboard/4944770-expected.checksum: Added.
        * editing/pasteboard/4944770-expected.png: Added.
        * editing/pasteboard/4944770-expected.txt: Added.
        Equivalent render trees:
        * editing/execCommand/format-block-from-range-selection-expected.txt:
        * editing/pasteboard/drag-drop-modifies-page-expected.txt:
        Fixed:
        * editing/pasteboard/nested-blocks-with-text-area-expected.checksum:
        * editing/pasteboard/nested-blocks-with-text-area-expected.png:
        * editing/pasteboard/nested-blocks-with-text-area-expected.txt:
        * editing/pasteboard/nested-blocks-with-text-field-expected.checksum:
        * editing/pasteboard/nested-blocks-with-text-field-expected.png:
        * editing/pasteboard/nested-blocks-with-text-field-expected.txt:

WebCore:

        Reviewed by darin
        
        <rdar://problem/4944770>
        editing/pasteboard/4641033 layout test is broken (12328)
        
        This layout test failure demonstrates three bugs:
        Smart replace shouldn't be turned on, but is because a word
        selection granularity from the previous test isn't cleared.
        Smart replace shouldn't add any spaces because the paste is performed
        in an empty paragraph.
        Smart replace spaces are added to the text of options inside
        the select element instead of before/after the select element.
        
        This patch fixes the second two problems.  During a 
        ReplaceSelectionCommand, the VisiblePosition for the end of 
        the inserted content is the last position in the last leaf 
        inserted.  This is a problem when the last leaf is inside a 
        select element, since VP creation is inconsistent there.  
        Second, smart spaces were inserted inside the last leaf, not
        at the endOfInsertedContent.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::shouldMergeStart): Renamed 
        m_lastNodeInserted to m_lastLeafInserted.  Use the 
        start/endOfInsertedContent getters.
        (WebCore::ReplaceSelectionCommand::shouldMergeEnd): Ditto.
        (WebCore::ReplaceSelectionCommand::removeNodePreservingChildren): Ditto.
        (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Ditto.
        (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Added.
        Special case for when the last leaf inserted is inside a select 
        element: return the VisiblePosition after the select element.
        (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Added.
        (WebCore::ReplaceSelectionCommand::doApply): Did renaming.  Used
        the start/endOfInsertedContent getters.  Insert smart replace spaces
        into the right nodes.
        (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Renaming.
        (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
        (WebCore::ReplaceSelectionCommand::updateNodesInserted): Ditto.
        * editing/ReplaceSelectionCommand.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests:

        Reviewed by Darin.

        - test for http://bugs.webkit.org/show_bug.cgi?id=12344
          NativeListBox: item hit testing does not account for top padding and border

        * fast/forms/listbox-selection-2-expected.checksum: Added.
        * fast/forms/listbox-selection-2-expected.png: Added.
        * fast/forms/listbox-selection-2-expected.txt: Added.
        * fast/forms/listbox-selection-2.html: Added.

WebCore:

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12344
          NativeListBox: item hit testing does not account for top padding and border

        Test: fast/forms/listbox-selection-2.html

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::numVisibleItems): Changed height() to contentHeight()
        since items are visible only in the content box.
        (WebCore::RenderListBox::listIndexAtOffset): Adjusted for vertical padding and
        borders. Changed to return -1 instead of the last item's index if the given offset
        is below the last item.
        (WebCore::RenderListBox::autoscroll): Adjusted for vertical padding and borders.
        (WebCore::RenderListBox::controlClipRect): Changed to return the content box since
        items should not spill into the padding box. This change is the reason the test
        generates pixel results.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2007-01-22  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=11692
        Bug 11692: REGRESSION(r17352): Disappearing page title

        * dom/Document.cpp:
        (WebCore::Document::setTitle): If the title has already been set explicitly via JavaScript,
        ignore any changes to it due to encountering <title> tags.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2007-01-23  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adam.

        Added DragController to handled drag and drop state and control logic.
        Currently this only handles logic for Dragging and Dropping, and is 
        unable to initialise a drag itself.

        platform/DragData encapsulate the paltform Drag data (NSDraggingInfo on Mac, 
        QMimeType in Qt).  This provides methods to pull data out the drag data as a String, 
        a URL, a DocumentFragment (for rich content), or a Colour.

        * WebCore.exp:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Clipboard.cpp: Added.
        (WebCore::Clipboard::setAccessPolicy):
        (WebCore::dragOpFromIEOp):
        (WebCore::IEOpFromDragOp):
        (WebCore::Clipboard::sourceOperation):
        (WebCore::Clipboard::destinationOperation):
        (WebCore::Clipboard::setSourceOperation):
        (WebCore::Clipboard::setDestinationOperation):
        (WebCore::Clipboard::setDropEffect):
        (WebCore::Clipboard::setEffectAllowed):
          move platform independent functions from ClipboardMac to Clipboard

        * dom/Clipboard.h:
        (WebCore::Clipboard::Clipboard):
        (WebCore::Clipboard::dropEffect):
        (WebCore::Clipboard::effectAllowed):
        (WebCore::Clipboard::policy):
          as above -- also removed virtual modifier from now 
          platform independent methods

        * editing/Editor.cpp:
        (WebCore::Editor::smartInsertDeleteEnabled): 
        (WebCore::Editor::shouldApplyStyle):
        * editing/Editor.h:
          adding calls through to EditorClient
         
        * page/DragActions.h: Added.
        (WebCore::):
          Replicates a number of NS* enums in the WebCore namespace

        * page/DragClient.h: Added.
        (WebCore::DragClient::~DragClient):
          Standard client interface for dragging UIDelegate

        * page/DragController.cpp: Added.
        (WebCore::createMouseEvent):
        (WebCore::DragController::DragController):
        (WebCore::DragController::~DragController):
        (WebCore::documentFragmentFromDragData):
        (WebCore::DragController::isMoveDrag):
        (WebCore::visiblePositionForPoint):
        (WebCore::DragController::cancelDrag):
        (WebCore::documentAtPoint):
        (WebCore::DragController::dragEntered):
        (WebCore::DragController::dragExited):
        (WebCore::DragController::dragUpdated):
        (WebCore::DragController::performDrag):
        (WebCore::DragController::dragEnteredOrUpdated):
        (WebCore::DragController::tryDocumentDrag):
        (WebCore::DragController::operationForLoad):
        (WebCore::DragController::concludeDrag):
        (WebCore::DragController::canProcessDrag):
        (WebCore::DragController::tryDHTMLDrag):
          Class to handle state and logic for dragging and dropping

        * page/DragController.h: Added.
        (WebCore::DragController::client):
        (WebCore::DragController::didInitiateDrag):
        (WebCore::DragController::isHandlingDrag):
        (WebCore::DragController::dragOperation):
        (WebCore::DragController::document):
        (WebCore::DragController::dragInitiator):
        (WebCore::DragController::dragDestinationAction):
        (WebCore::DragController::dragSourceAction):
        (WebCore::DragController::dragEnded):
        (WebCore::DragController::setIsHandlingDrag):
        (WebCore::DragController::setDidInitiateDrag):
        (WebCore::DragController::setDragOperation):
        (WebCore::DragController::setDragSourceAction):
        (WebCore::DragController::setDragInitiator):
          See above

        * page/Page.cpp:
        (WebCore::Page::Page):
          Update Page to have DragController

        * page/Page.h:
        (WebCore::Page::dragController):
          ditto

        * page/mac/DragControllerMac.mm: Added.
        (WebCore::DragController::isCopyKeyDown):
        (WebCore::DragController::dragOperation):
          Platform specific portions of the DragController

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::handleDrag):
        (WebCore::EventHandler::dragSourceEndedAt):
          Convert from NSDragOperation to WebCore::DragOperation

        * page/mac/WebCoreFrameBridge.h:
        * page/mac/WebCoreFrameBridge.mm:
          Remove obsolete Drag functions

        * page/qt/DragControllerQt.cpp: Added.
        (WebCore::DragController::isCopyKeyDown):
        (WebCore::DragController::dragOperation):
          Basic stubs to maintain Qt  build

        * platform/DragData.cpp: Added.
        (WebCore::DragData::DragData):
        * platform/DragData.h: Added.
        (WebCore::DragData::clientPosition):
        (WebCore::DragData::globalPosition):
        (WebCore::DragData::platformData):
        (WebCore::DragData::draggingSourceOperationMask):
          DragData class to encapsulate platform drag data/event

        * platform/graphics/svg/SVGImage.cpp:
        (WebCore::SVGImage::setData):
          Addition of dummy DragClient

        * platform/graphics/svg/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyDragClient::~SVGEmptyDragClient):
        (WebCore::SVGEmptyDragClient::willPerformDragDestinationAction):
        (WebCore::SVGEmptyDragClient::actionMaskForDrag):
        (WebCore::SVGEmptyDragClient::dragControllerDestroyed):
          ditto

        * platform/mac/ClipboardMac.h:
        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::ClipboardMac):
        (WebCore::ClipboardMac::clearData):
        (WebCore::ClipboardMac::clearAllData):
        (WebCore::ClipboardMac::getData):
        (WebCore::ClipboardMac::setData):
        (WebCore::ClipboardMac::types):
        (WebCore::ClipboardMac::setDragImage):
         Moving platform independent logic to Clipboard, and updating
         platform specific methods to use appropriate accessors rather than 
         directly manipulating data they no longer own

        * platform/mac/DragDataMac.mm: Added.
        (WebCore::DragData::DragData):
        (WebCore::DragData::canSmartReplace):
        (WebCore::DragData::containsColor):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::asColor):
        (WebCore::DragData::createClipboard):
        (WebCore::imageExistsAtPaths):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):
          Mac implementations of DragData methods.  A number of these use
          a Helper class that accesses WebKit functionality.  That functionality 
          should be migrated to WebCore in the future.

        * platform/mac/PasteboardHelper.h: Added.
        (WebCore::PasteboardHelper::~PasteboardHelper):
          Temporary, and Mac only, helper class to access WebKit functionality 
          from WebCore

        * platform/qt/DragDataQt.cpp: Added.
        (WebCore::DragData::canSmartReplace):
        (WebCore::DragData::containsColor):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::asColor):
        (WebCore::DragData::createClipboard):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):
         Basic stubs to maintain Qt build

        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::HitTestResult):
         Correct HitTestResult copy contructor to copy localPoint


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2007-01-23  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adam.

        Drop logic bindings for WebKit

        * WebCoreSupport/WebDragClient.h: Added.
        * WebCoreSupport/WebDragClient.mm: Added.
        (WebDragClient::WebDragClient):
        (WebDragClient::actionMaskForDrag):
        (WebDragClient::willPerformDragDestinationAction):
          Standard client impl
        * WebCoreSupport/WebFrameBridge.mm:
        (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
          Updated to use DragController to track drag state
    
        * WebCoreSupport/WebPasteboardHelper.h: Added.
        (WebPasteboardHelper::WebPasteboardHelper):
          A *temporary* Helper class to access NSPasteboard access and 
          manipulation functions present in WebKit
        * WebCoreSupport/WebPasteboardHelper.mm: Added.
        (WebPasteboardHelper::urlFromPasteboard):
        (WebPasteboardHelper::plainTextFromPasteboard):
        (WebPasteboardHelper::fragmentFromPasteboard):
        (WebPasteboardHelper::insertablePasteboardTypes):
          See header comment
        * WebKit.xcodeproj/project.pbxproj:
        * WebView/WebDocumentInternal.h:
          Remove unnecessary protocol
        * WebView/WebFrameView.mm:
        (-[WebFrameView _setDocumentView:]):
          Updating to use DragController to track drag state
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
          ditto
        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
          ditto
        (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
          ditto
        (-[WebHTMLView draggedImage:endedAt:operation:]):
          ditto          
        (-[WebHTMLView _documentFragmentForPasteboard:]):
          Helper method to generate DocumentFragment from NSPasteboard without regressing 
        (-[WebHTMLView _canProcessDragWithDraggingInfo:]):
          Updating to use DragController to track drag state
        (-[WebHTMLView _isMoveDrag:]):
        (-[WebHTMLView _isNSColorDrag:]):
        * WebView/WebHTMLViewInternal.h:
          Removing unnecessary fields and methods
        * WebView/WebView.mm:
        (-[WebViewPrivate dealloc]):
          Remove obsolete ASSERT
        (-[WebView _setInitiatedDrag:]):
          Now passes directly through to DragController
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView _loadingDragOperationForDraggingInfo:]):
          Removed
        (-[WebView draggingEntered:]):
          Updated to use DragController
        (-[WebView draggingUpdated:]):
          ditto
        (-[WebView draggingExited:]):
          ditto
        (-[WebView performDragOperation:]):
          ditto
        (-[WebView _hitTest:dragTypes:]):
        * WebView/WebViewInternal.h:
          remove unnecessary method def



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2007-01-23  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adam.

        Qt build stubs for Drop logic

        * WebCoreSupport/DragClientQt.cpp: Added.
        (WebCore::DragClientQt::actionMaskForDrag):
        (WebCore::DragClientQt::willPerformDragDestinationAction):
        * WebCoreSupport/DragClientQt.h: Added.
        * WebKitPart/WebKitPart.cpp:
        (WebKitPart::initView):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        Reviewed by Maciej

        Make the last remaining pieces of the FrameLoader platform 
        independent. Move most of the code over to WebFrameLoaderClient.
        Some smaller cleanups in the WebFrameBridge, and moved some
        platform independent functionality over to the shared code
        in WebCore.

        Add support for Frames to the Qt build and fix some issues
        in the API classes.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the Qt build


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Adjust the DragClient to latest changes.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Forgot to add this file to the build (fix the build for real)


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        Reviewed by Zack

        Widget and ScrollView do not own the Qt widgets
        anymore. Make sure they can handle the case of
        a null QWidget and never delete them.

        Fix refcounting of FrameViews (they get created with a
        refcount of 1) and add a few safety checks to the 
        FrameLoaderClientQt.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Compile with a released Qt.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Temporary measure to make it possible to use the Qt port until the official Qt
API is done


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore:

        Reviewed by Darin.
        
        WebCore part of fix for <rdar://problem/4946753>REGRESSION: Inserting tabs is broken in Mail

        In addition to this fix, I also reorganized some event handling code for keyPress events to
        prepare for another fix.  There's also just a little bit of unrelated cleanup.
        
        * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler):
          Move tab focus behavior into new defaultKeyboardEventHandler method.
        
        * bridge/EditorClient.h: Added handleKeyPress.
        * editing/Editor.cpp:
        (WebCore::Editor::handleKeyPress): Added. Calls over to the client method.
        (WebCore::Editor::deleteRange): Removed unnecessary propogateDOMException.
        * editing/Editor.h: Added handleKeyPress.
        (WebCore::Editor::addToKillRing): Formatting cleanup.
        * editing/mac/EditorMac.mm: Removed unnecessary propogateDOMException.
        
        * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): Added. Checks
          the tabKeyCyclesThroughElements setting before advancing focus for tab key events.  Calls handleKeyPress.
        * page/EventHandler.h: Added defaultKeyboardEventHandler.
        
        * page/Page.cpp: (WebCore::Page::Page): Initialize m_tabKeyCyclesThroughElements to true.
        * page/Page.h: Added m_tabKeyCyclesThroughElements.
        (WebCore::Page::setTabKeyCyclesThroughElements): Added.
        (WebCore::Page::tabKeyCyclesThroughElements): Added.
        
        * platform/PlatformKeyboardEvent.h: Added ability to get NSEvent from PlatformKeyboardEvent.
        * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
          Initialize m_macEvent to the NSEvent.
        
        * platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::handleKeyPress): Added.

WebKit:

        Reviewed by Darin.

        WebKit part of fix for <rdar://problem/4946753>REGRESSION: Inserting tabs is broken in Mail
        
        In addition to this fix, I also reorganized some event handling code for keyPress events to
        prepare for another fix.

        * WebCoreSupport/WebEditorClient.h: Added handleKeyPress method.
        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::handleKeyPress): Added.  Code moved from WebHTMLView keyDown method.
         This is called from the defaultEventHandler so that in the future, we can make the right 
         decision about which selection the keyPress should apply to.
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView keyDown:]): Moved _interceptEditingKeyEvent call to handleKeyPress.
        (-[WebHTMLView _interceptEditingKeyEvent:]): Prevents intercepting keys for cmd-modified events. Removed tabCycling checks
         since this is now handled in WebCore.
        * WebView/WebHTMLViewInternal.h: Made _interceptEditingKeyEvent SPI.
        * WebView/WebView.mm: Use new tabKeyCyclesThroughElements methods on the page.
        (-[WebViewPrivate init]): ditto.
        (-[WebView setTabKeyCyclesThroughElements:]): ditto.
        (-[WebView tabKeyCyclesThroughElements]): ditto.
        (-[WebView setEditable:]): ditto



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed by Sam.

Fix dynamic creation/updates of markers, masks, clipPaths, and several tiny pattern issues.
Added 16 (!) new layout tests covering quite some weird scenerios - Batik & Opera do have problems, we don't.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests:

        Reviewed by john
        
        <rdar://problem/4920742>
        REGRESSION: GMail Editor: Attempting to remove formatting from selection results in a crash at WebCore::Range::checkDeleteEx

WebCore:

        Reviewed by john

        <rdar://problem/4920742>
        REGRESSION: GMail Editor: Attempting to remove formatting from selection results in a crash at WebCore::Range::checkDeleteExtract()

        * dom/Range.cpp:
        (WebCore::Range::checkDeleteExtract): Return if there is no
        commonAncestor container or if commonAncestorContainer() throws
        an exception.
        * editing/Editor.cpp:
        (WebCore::Editor::removeFormattingAndStyle): Fixed a bug that reversed
        the order of the selected paragraphs.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19055 268f45cc-cd09-0410-ab3c-d52691b4dbfc