18 years ago Reviewed by Darin
kocienda [Fri, 17 Sep 2004 16:44:24 +0000 (16:44 +0000)]
    Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3780245> REGRESSION (Mail): some lines are skipped when doing arrow navigation

        * khtml/xml/dom_position.cpp:
        (DOM::Position::previousLinePosition): One-line fix. Make sure that BRs at the end of blocks
        are not skipped.

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

18 years ago Reviewed by Darin
kocienda [Fri, 17 Sep 2004 16:42:39 +0000 (16:42 +0000)]
    Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3805594> REGRESSION (Mail): Second return key stroke does not work when first was in blockquote

        * khtml/xml/dom_selection.cpp:
        (DOM::Selection::toRange): Code to convert caret positions moved the position upstream
        before making a range-compliant position, but erroneously would allow the position
        to cross blocks. Now it will no longer do so.

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

18 years ago Part 1 of the feature requested in
rjw [Fri, 17 Sep 2004 00:58:41 +0000 (00:58 +0000)]
    Part 1 of the feature requested in
        <rdar://problem/3752791> Dashboard: Need a better solution for control regions

        This patch implements the CSS parsing necessary for dashboard regions.
        Here's an example of the syntax we support:

        #aDiv {
                dashboard-region-circle(control 0 0 80 0)
                dashboard-region-circle(control 80 0 0 0);

Part 2 will determine the appropriate regions.

        Reviewed by Chris.

        * khtml/css/css_valueimpl.cpp:
        * khtml/css/css_valueimpl.h:
        * khtml/css/cssparser.cpp:
        * khtml/css/cssparser.h:
        * khtml/css/cssproperties.c:
        * khtml/css/cssproperties.h:
        * khtml/css/cssproperties.in:
        * khtml/dom/css_value.h:

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

18 years ago - fixed caret-drawing regression from my last patch
darin [Thu, 16 Sep 2004 23:45:22 +0000 (23:45 +0000)]
    - fixed caret-drawing regression from my last patch

        * khtml/xml/dom_selection.cpp:
        (DOM::Selection::xPosForVerticalArrowNavigation): Pass false, meaning "vertical line caret"
        rather than true meaning "big box for overtyping".
        (DOM::Selection::layoutCaret): Ditto.

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

18 years ago Reviewed by John.
darin [Thu, 16 Sep 2004 23:09:22 +0000 (23:09 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3804648> 8A262: Safari crashed in -[WebView(WebPrivate) _editingDelegateForwarder] inside QuickTime Cocoa Plug-in during WebView deallocation

        * WebView.subproj/WebView.m: (-[WebView _editingDelegateForwarder]):
        Check _private for nil before dereferencing it.

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

18 years ago Reviewed by Ken.
darin [Thu, 16 Sep 2004 22:24:15 +0000 (22:24 +0000)]
    Reviewed by Ken.

        - fixed <rdar://problem/3803280> crash in selectAll on page with no contents

        * khtml/khtml_part.cpp: (KHTMLPart::selectAll): Handle case of 0 for documentElement().
        * khtml/xml/dom_position.cpp:
        (DOM::Position::previousWordPosition): Ditto.
        (DOM::Position::nextWordPosition): Ditto.

        - cleaned up caret code
        - changed DOM::Selection to use CaretPosition more

        * khtml/rendering/render_box.cpp: (RenderBox::caretRect): Change to use empty rectangles
        instead of an X value of -1 to mean no rectangle.
        * khtml/rendering/render_image.cpp: (RenderImage::selectionRect): Take advantage of the
        fixed QRect constructor.
        * khtml/rendering/render_object.cpp: (RenderObject::caretRect): Change to use empty
        rectangle instead of an X value of -1 to mean no rectangle.
        * khtml/rendering/render_text.cpp: (RenderText::caretRect): Cleaned up, and changed to use
        an empty rectangle instead of an X value of -1 to mean no rectangle.

        * khtml/xml/dom_caretposition.h: Made conversion from Position to CaretPosition something you
        can do implicitly, since it's an unambiguous conversion. Conversion in the other direction
        needs to be done explicitly. Moved EIncludeLineBreak here, and added startParagraphBoundary
        and endParagraphBoundary functions.
        * khtml/xml/dom_caretposition.cpp:
        (DOM::startParagraphBoundary): Added. Replaces, and made from, member function of DOM::Position.
        (DOM::endParagraphBoundary): Ditto.

        * khtml/xml/dom_position.h: Removed EIncludeLineBreak and startParagraphBoundary and
        * khtml/xml/dom_position.cpp: Removed startParagraphBoundary and endParagraphBoundary.

        * khtml/xml/dom_selection.h: Use CaretPosition instead of Position in a few places.
        Use a QRect for the caret rect. Change nodeIsBeforeNode to be a static member function.
        * khtml/xml/dom_selection.cpp:
        (DOM::Selection::Selection): Change caret to store QRect instead of 3 separate fields.
        (DOM::Selection::init): Ditto.
        (DOM::Selection::operator=): Ditto.
        (DOM::Selection::modifyExtendingRightForward): Change to use CaretPosition instead of Position.
        Check for 0.
        (DOM::Selection::modifyMovingRightForward): Ditto. Check for 0.
        (DOM::Selection::modifyExtendingLeftBackward): Ditto.
        (DOM::Selection::modifyMovingLeftBackward): Ditto.
        (DOM::Selection::modify): Ditto.
        (DOM::Selection::layoutCaret): Change to use a QRect for the caret rect, and use an empty
        one to mean no rectangle.
        (DOM::Selection::getRepaintRect): Ditto.
        (DOM::Selection::paintCaret): Ditto.
        (DOM::Selection::validate): Change to use CaretPosition instead of Position. Also fixed
        PARAGRAPH_BOUNDARY, which was broken and doing the same thing as PARAGRAPH before, but
        it's not really used so that didn't matter. Check for 0.
        (DOM::Selection::nodeIsBeforeNode): Tightened up a bit and added some FIXMEs. This function
        has a number of problems and should probably be discarded in favor of the DOMStringImpl
        method that does the same thing.

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

18 years ago Reviewed by Hyatt
kocienda [Thu, 16 Sep 2004 21:16:25 +0000 (21:16 +0000)]
    Reviewed by Hyatt

        Fix for this bug:

        <rdar://problem/3787168> REGRESSION (Mail): Deleting text from the beginning of a quoted range removes the quoting from the rest

        * khtml/editing/htmlediting_impl.cpp:
        (khtml::DeleteSelectionCommandImpl::moveNodesAfterNode): Only move the text nodes (and their siblings) when
        doing this move between blocks. This serves to mimic NSText behavior very well.

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

18 years ago Fixed: <rdar://problem/3779150> REGRESSION: images not copied when copying HTML...
cblu [Thu, 16 Sep 2004 18:38:53 +0000 (18:38 +0000)]
Fixed: <rdar://problem/3779150> REGRESSION: images not copied when copying HTML in Safari and pasting into TextEdit

        Reviewed by john.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): use RTFDFromRange:: for RTFD
        * WebView.subproj/WebHTMLViewPrivate.h:

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

18 years ago - fixed Panther build
darin [Thu, 16 Sep 2004 04:57:57 +0000 (04:57 +0000)]
    - fixed Panther build

        * kwq/KWQAccObject.mm: (-[KWQAccObject accessibilityActionDescription:]): Fixed backwards
        check in #if that was compiling the code on Panther only rather than Tiger only.

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

18 years ago Reviewed by John.
darin [Thu, 16 Sep 2004 00:57:57 +0000 (00:57 +0000)]
    Reviewed by John.

        - fixed lockFocus exception I observed; perhaps not a real issue in the field due to exception blocking

        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::imageFromRect): Put most of the function inside a
        big if statement to avoid the exception we get from lockFocus otherwise.

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

18 years ago Reviewed by Dave.
darin [Thu, 16 Sep 2004 00:57:38 +0000 (00:57 +0000)]
    Reviewed by Dave.

        - fixed <rdar://problem/3786467> REGRESSION (Mail): Reproducible crash replying to an HTML message when your preference is for plain text composing.

        * khtml/rendering/render_block.h: Remove removeChildrenFromLineBoxes.
        * khtml/rendering/render_block.cpp: (khtml::RenderBlock::removeChild): Remove calls
        to removeChildrenFromLineBoxes which was the old way of working around this.
        * khtml/rendering/render_flow.cpp: (RenderFlow::detach): Add comments and code to handle
        removing children from line boxes we are about to delete.

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

18 years ago Fixed <rdar://problem/3781561> REGRESSION (Mail): typing in Mail became suddenly...
rjw [Thu, 16 Sep 2004 00:52:49 +0000 (00:52 +0000)]
Fixed <rdar://problem/3781561> REGRESSION (Mail): typing in Mail became suddenly really sluggish (substitute font code)

A DocumentMarker may begin before the InLineBox that includes
it.  Ensure that we correctly handle that case.  The paintMarker()
method and code that calls it could do with some cleanup to
make it clearer how all the cases are handled, i.e. marker
within box, or intersecting beginning or end of box.

        Reviewed by Darin.

        * khtml/rendering/render_text.cpp:
        (InlineTextBox::paintMarker):  Minimal change to ensure that we
handle the case of marker starting before box.

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

18 years ago Reviewed by John.
darin [Thu, 16 Sep 2004 00:51:29 +0000 (00:51 +0000)]
    Reviewed by John.

        - get rid of some of the localizable strings in here; we still have to figure out
          how we're going to localize the last few role descriptions

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject roleDescription]): Use NSAccessibilityRoleDescription for most
        descriptions instead of a hard-coded string (inside the UI_STRING placeholder).
        (-[KWQAccObject accessibilityActionDescription:]): Same thing, with NSAccessibilityActionDescription.

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

18 years ago Reviewed by John.
darin [Thu, 16 Sep 2004 00:46:52 +0000 (00:46 +0000)]
    Reviewed by John.

        - did some QRect-related changes to facilitate later bug fixing

        * kwq/KWQPainter.h: Added fillRect overload that takes QRect to match the real Qt one.
        * kwq/KWQPainter.mm: (QPainter::fillRect): Added overload that takes QRect.

        * kwq/KWQRect.mm: (QRect::QRect): Change default constructed QRect to have a width and
        height of 0 rather than 1. Contrary to what we believed earlier, this is what Qt does.

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

18 years ago Reviewed by John.
darin [Thu, 16 Sep 2004 00:41:40 +0000 (00:41 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3799512> REGRESSION (Mail): caret flashes 1 pixel too far to the left

        * khtml/rendering/render_text.cpp: (RenderText::caretRect): Added one to the horizontal position
        of the caret rect.

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

18 years ago Reviewed by John.
darin [Thu, 16 Sep 2004 00:31:07 +0000 (00:31 +0000)]
    Reviewed by John.

        - fixed assertion I saw using the font panel

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _colorAsString:]):
        Convert color space before trying to get R, G, and B components.

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

18 years ago Reviewed by Hyatt
kocienda [Wed, 15 Sep 2004 20:58:30 +0000 (20:58 +0000)]
    Reviewed by Hyatt

        * khtml/editing/htmlediting_impl.cpp:
        (khtml::DeleteSelectionCommandImpl::doApply): The whitespace fixup code
        that makes sure proper whitespace renders after deletion was getting confused
        in cases where the deletion merged blocks. Basically, I needed to move some
        whitespace fixup code so it runs before deleting in the case where blocks
        need to be merged. It used to run after, and was getting confused by
        whitespace left over at the ends of the block after the deletion.
        * layout-tests/editing/deleting/delete-block-merge-contents-012-expected.txt: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-012.html: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-013-expected.txt: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-013.html: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-014-expected.txt: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-014.html: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-015-expected.txt: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-015.html: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-016-expected.txt: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-016.html: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-017-expected.txt: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-017.html: Added.

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

18 years ago Fixed: <rdar://problem/3802232> REGRESSION (Mail): WebCore Editing must do smart...
cblu [Wed, 15 Sep 2004 18:26:35 +0000 (18:26 +0000)]
Fixed: <rdar://problem/3802232> REGRESSION (Mail): WebCore Editing must do smart copy

        Reviewed by kocienda.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _writeSelectionToPasteboard:]): call instance method not class method to get pasteboard types since the types depends on the current selection granularity
        (-[WebHTMLView pasteboardTypesForSelection]): if the selection granularity is "word" include the smart pasteboard type
        (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): put nil on the pasteboard for smart copy

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

18 years ago Reviewed by Hyatt
kocienda [Wed, 15 Sep 2004 18:02:05 +0000 (18:02 +0000)]
    Reviewed by Hyatt

        * khtml/editing/htmlediting_impl.cpp:
        (khtml::DeleteSelectionCommandImpl::moveNodesAfterNode): Renamed from moveNodesToBlock.
        Just some simplification and cleanup in this function.
        (khtml::DeleteSelectionCommandImpl::doApply): Remove a hunk of start-of-block code I thought
        I was going to get around to improving and refining. However, I no longer need this case.
        * khtml/editing/htmlediting_impl.h: Function name change.

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

18 years agoRemove stray change marker.
darin [Wed, 15 Sep 2004 17:36:39 +0000 (17:36 +0000)]
Remove stray change marker.

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

18 years ago Reviewed by Maciej.
darin [Wed, 15 Sep 2004 05:57:49 +0000 (05:57 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3788894> REGRESSION (Mail): ctrl-t emacs key binding does not work (transpose)
        - fixed <rdar://problem/3798946> REGRESSION (Mail): Cursor does not disappear when typing

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView keyDown:]): Hide cursor by calling setHiddenUntilMouseMoves:YES.
        (-[WebHTMLView transpose:]): Added.

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

18 years ago Reviewed by Maciej.
darin [Wed, 15 Sep 2004 05:55:43 +0000 (05:55 +0000)]
    Reviewed by Maciej.

        - added method for fix to <rdar://problem/3788894> REGRESSION (Mail): ctrl-t emacs key binding does not work (transpose)

        * kwq/WebCoreBridge.h: Added rangeOfCharactersAroundCaret.
        * kwq/WebCoreBridge.mm: (-[WebCoreBridge rangeOfCharactersAroundCaret]): Added.

        * khtml/xml/dom_caretposition.h: Added range function to make a Range from two CaretPosition objects.
        * khtml/xml/dom_caretposition.cpp:
        (DOM::CaretPosition::rangeCompliantEquivalent): Fixed a bug in this that caused it to screw up
        ranges in text nodes. Also changed it to use offset 0 as Ken and I discussed.
        (DOM::range): Added.

        * kwq/DOM.mm: (-[DOMRange description]): Added.

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

18 years ago Reviewed by John.
darin [Wed, 15 Sep 2004 03:05:23 +0000 (03:05 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3786986> REGRESSION: TEXTAREAs have extra wide right margins where the scrollbars used to be

        * kwq/KWQTextArea.mm:
        (-[KWQTextArea _updateTextViewWidth]): Renamed from _frameSizeChanged. Now uses the width of
        the size from the contentSize method rather than trying to compute a size.
        (-[KWQTextArea initWithFrame:]): Call method by new name.
        (-[KWQTextArea tile]): Override this instead of setFrame: to adjust the size as the size of
        the text area changes.

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

18 years ago Fixed typo in header comment.
rjw [Wed, 15 Sep 2004 02:59:01 +0000 (02:59 +0000)]
   Fixed typo in header comment.

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

18 years agoWebKit:
rjw [Wed, 15 Sep 2004 02:48:37 +0000 (02:48 +0000)]
        1.  Add class parameter to object allocation function.  This is somewhat redundant, given that
        the allocation function is in the class function vector, but people wanted to use the same
        allocation function for different classes.

        2.  Renamed NPN_Class to NPN_Invoke to match the name in the function vector.

        3.  Add support for a default function on an object.  This is a feature that ActiveX supports,
        and will allow JavaScript code to be written that will look exactly the same for both ActiveX
        plugins and Netscape or WebKit plugins.  There are implementations included for the 'C' and
        'Objective-C' bindings.

        There bugs are covered by

        <rdar://problem/3776343> Support for default functions in the JavaScript bindings
        <rdar://problem/3779186> NPN_Call needs to be renamed to NPN_Invoke
        <rdar://problem/3674754> Need to implement latest npruntime.h

        Reviewed by John.

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]):
        * Plugins.subproj/WebScriptObject.h:
        * Plugins.subproj/npfunctions.h:
        * Plugins.subproj/npruntime.h:

        1.  Add class parameter to object allocation function.  This is somewhat redundant, given that
        the allocation function is in the class function vector, but people wanted to use the same
        allocation function for different classes.

        2.  Renamed NPN_Class to NPN_Invoke to match the name in the function vector.

        3.  Add support for a default function on an object.  This is a feature that ActiveX supports,
        and will allow JavaScript code to be written that will look exactly the same for both ActiveX
        plugins and Netscape or WebKit plugins.  There are implementations included for the 'C' and
        'Objective-C' bindings.

        There bugs are covered by

        <rdar://problem/3776343> Support for default functions in the JavaScript bindings
        <rdar://problem/3779186> NPN_Call needs to be renamed to NPN_Invoke
        <rdar://problem/3674754> Need to implement latest npruntime.h

        Reviewed by John.

        * bindings/NP_jsobject.cpp:
        * bindings/c/c_class.cpp:
        * bindings/c/c_instance.cpp:
        * bindings/c/c_instance.h:
        * bindings/c/c_runtime.cpp:
        * bindings/c/c_runtime.h:
        * bindings/jni/jni_instance.cpp:
        * bindings/jni/jni_instance.h:
        * bindings/npruntime.cpp:
        * bindings/npruntime.h:
        * bindings/objc/WebScriptObject.h:
        * bindings/objc/objc_class.mm:
        * bindings/objc/objc_instance.h:
        * bindings/objc/objc_instance.mm:
        * bindings/objc/objc_runtime.h:
        * bindings/objc/objc_runtime.mm:
        * bindings/runtime.h:
        * bindings/runtime_object.cpp:
        * bindings/runtime_object.h:

Reworked NetscapeMoviePlugIn to better test and illustrate
scripting APIs.

        Reviewed by John.

        * CarbonWeb/MyWebUIAdapter.m:
        (-[MyWebUIAdapter webView:runJavaScriptAlertPanelWithMessage:]):
        (-[MyWebUIAdapter webView:runJavaScriptConfirmPanelWithMessage:]):
        (-[MyWebUIAdapter webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
        * CarbonWeb/TWebWindow.cp:
        * NetscapeMoviePlugIn/MovieObject.c: Added.
        * NetscapeMoviePlugIn/MovieObject.h: Added.
        * NetscapeMoviePlugIn/NetscapeMoviePlugIn.xcode/project.pbxproj:
        * NetscapeMoviePlugIn/PluginObject.c: Added.
        * NetscapeMoviePlugIn/PluginObject.h: Added.
        * NetscapeMoviePlugIn/main.c:
        * NetscapeMoviePlugIn/movie.h: Added.
        * NetscapeMoviePlugIn/movie.html:
        * makefile:

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

18 years ago Reviewed by Darin.
mjs [Wed, 15 Sep 2004 00:16:34 +0000 (00:16 +0000)]
    Reviewed by Darin.

<rdar://problem/3794735> Gmail- sending a very long message with Safari is so slow it seems like a hang

* kjs/string_object.cpp:
        (StringProtoFuncImp::call): Replaced implementation of replace()
method with function below...
(replace): In order to avoid excessive allocation and copying,
figure out the ranges of the original string and replacement
strings to be assembled, instead of constantly creating new
strings at each substitution. The old behavior is basically O(N^2)
for a global replace on a pattern that matches many places in the
        (regExpIsGlobal): Helper function for the above.
        (expandSourceRanges): ditto
        (pushSourceRange): ditto
        (expandReplacements): ditto
        (pushReplacement): ditto
        * kjs/ustring.cpp:
(KJS::UString::spliceSubstringsWithSeparators): New method that
pieces together substring ranges of this string together with
specified separators, all at one go.
        * kjs/ustring.h:
        (KJS::UString::Range::Range): Added new helper class to represent
substring choices.

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

18 years ago Backed out my changes to these files. They were not meant to be checked. (I'm having...
cblu [Tue, 14 Sep 2004 23:41:52 +0000 (23:41 +0000)]
Backed out my changes to these files. They were not meant to be checked. (I'm having a bad CVS day)

        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:]):
        (-[WebCoreBridge replaceSelectionWithNode:selectReplacement:]):
        (-[WebCoreBridge replaceSelectionWithMarkupString:baseURLString:selectReplacement:]):
        (-[WebCoreBridge replaceSelectionWithText:selectReplacement:]):

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

18 years ago Fix the crash in the layout tests caused by my recent selection changes. Simply...
hyatt [Tue, 14 Sep 2004 23:41:25 +0000 (23:41 +0000)]
Fix the crash in the layout tests caused by my recent selection changes.  Simply eliminate the buggy
selection border setting code and let isSelectionBorder be implemented in terms of the SelectionState.

        Reviewed by kocienda

        * khtml/rendering/render_canvas.cpp:
        * khtml/rendering/render_object.cpp:
        * khtml/rendering/render_object.h:

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

18 years ago Fixed: <rdar://problem/3778680> REGRESSION: plug-in content sometimes doesn't show up
cblu [Tue, 14 Sep 2004 23:35:50 +0000 (23:35 +0000)]
Fixed: <rdar://problem/3778680> REGRESSION: plug-in content sometimes doesn't show up

        Reviewed by dave.

        * khtml/html/html_objectimpl.cpp:
        (HTMLObjectElementImpl::parseHTMLAttribute): set needWidgetUpdate to true only if there is a renderer
        (HTMLObjectElementImpl::attach): if needWidgetUpdate is true, call updateWidget

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

18 years agoJavaScriptCore:
mjs [Tue, 14 Sep 2004 22:14:01 +0000 (22:14 +0000)]

        Reviewed by Darin.

- fixed <rdar://problem/3800315> encode-URI-test layout test is failing

        * kjs/function.cpp:
        (KJS::GlobalFuncImp::call): Make sure to escape null
characters. This is a bug in the new code that made part of the
test fail.


        Reviewed by Darin.

- fixed <rdar://problem/3800315> encode-URI-test layout test is failing
- updated escape/encodeURI layout test to match our new, more
compatible behavior.

        * layout-tests/fast/js/global/encode-URI-test.html:

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

18 years ago Reviewed by Richard
kocienda [Tue, 14 Sep 2004 22:03:25 +0000 (22:03 +0000)]
    Reviewed by Richard

        Fix for this bug:

        <rdar://problem/3800834> REGRESSION (Mail): Can't delete backwards past quoted text using HTML editing

        * khtml/editing/htmlediting_impl.cpp:
        (khtml::TypingCommandImpl::issueCommandForDeleteKey): Use CaretPosition class to get superior
        smarts about the selection to delete in the "start of block" case. This fixes the bug.
        While I was in the neighborhood, I cleaned up this function a bit.
        * layout-tests/editing/deleting/delete-3800834-fix-expected.txt: Added.
        * layout-tests/editing/deleting/delete-3800834-fix.html: Added.

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

18 years ago Reviewed by me
kocienda [Tue, 14 Sep 2004 20:48:12 +0000 (20:48 +0000)]
    Reviewed by me

        * khtml/css/parser.cpp: Did not regenerate this file from parser.y before last checkin.

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

18 years ago Fixed typos in last check-in.
cblu [Tue, 14 Sep 2004 20:34:43 +0000 (20:34 +0000)]
Fixed typos in last check-in.

        * khtml/khtml_part.cpp:
        * khtml/khtml_part.h:
        * kwq/KWQKHTMLPart.mm:

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

18 years ago Fix for 3667862, regression where dragging of selection became really slow. This...
hyatt [Tue, 14 Sep 2004 20:16:47 +0000 (20:16 +0000)]
Fix for 3667862, regression where dragging of selection became really slow.  This patch completely rewrites
selection painting and drawing so that the enclosing rect is much more snug.  The containing block rect is no
longer used at all.

        Reviewed by NOBODY (OOPS!).

        * khtml/rendering/render_canvas.cpp:
        * khtml/rendering/render_canvas.h:
        * khtml/rendering/render_container.cpp:
        * khtml/rendering/render_image.cpp:
        * khtml/rendering/render_image.h:
        * khtml/rendering/render_object.cpp:
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_text.cpp:
        * khtml/rendering/render_text.h:
        * kwq/KWQPainter.mm:

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

18 years ago Reviewed by Hyatt
kocienda [Tue, 14 Sep 2004 20:16:09 +0000 (20:16 +0000)]
    Reviewed by Hyatt

        Fix for this bug:

        <rdar://problem/3794376> vertical formatting lines that show quote level are missing

        Rolling out change Dave made to fix 3787686. It turns out that we do not want this
        change, as it does not appear to have any effect on the bug. In addition, it caused
        the regression in quote bar behavior.

        * khtml/css/parser.cp
        * khtml/css/parser.y

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

18 years ago Fixed: Control-click shouldn't cause deselect when clicking selection.
cblu [Tue, 14 Sep 2004 18:52:52 +0000 (18:52 +0000)]
Fixed: Control-click shouldn't cause deselect when clicking selection.

        Reviewed by rjw.

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::sendContextMenuEvent): don't attempt to select the closest word when the selection is clicked

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

18 years ago Fixed badness that my last patch caused. Because there was a conflict, my last patch...
cblu [Tue, 14 Sep 2004 18:29:56 +0000 (18:29 +0000)]
Fixed badness that my last patch caused. Because there was a conflict, my last patch added stuff that darin had just removed.

        Reviewed by darin.

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::sendContextMenuEvent): don't call deref on the view

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

18 years ago Fixed: <rdar://problem/3783595> REGRESSION (Mail): control-click does not select...
cblu [Tue, 14 Sep 2004 18:13:19 +0000 (18:13 +0000)]
Fixed: <rdar://problem/3783595> REGRESSION (Mail): control-click does not select closest word

        Reviewed by kocienda.

        * khtml/khtml_part.cpp:
        (KHTMLPart::selectionGranularity): new getter, need this for an upcoming patch
        (KHTMLPart::selectClosetWordFromMouseEvent): new, factored from handleMousePressEventDoubleClick
        (KHTMLPart::handleMousePressEventDoubleClick): call selectClosetWordFromMouseEvent
        * khtml/khtml_part.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::sendContextMenuEvent): call selectClosetWordFromMouseEvent if nothing swallows the event

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

18 years ago Reviewed by John
kocienda [Tue, 14 Sep 2004 16:54:12 +0000 (16:54 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3800346> Inserting newline in BR after block not working

        * khtml/editing/htmlediting_impl.cpp:
        (khtml::InputNewlineCommandImpl::doApply): The code to insert the "extra" BR at the end
        of blocks (hack done to make BRs show up when they appear at the ends of blocks) did not
        cover this one quirky case where the insertion point can be placed in a BR at the end of
        a block that does actually render. Now the input newline code can handle this addtional
        * layout-tests/editing/selection/insert-3800346-fix-expected.txt: Added.
        * layout-tests/editing/selection/insert-3800346-fix.html: Added.

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

18 years ago Reviewed by Ken.
darin [Tue, 14 Sep 2004 16:22:13 +0000 (16:22 +0000)]
    Reviewed by Ken.

        - fixed <rdar://problem/3479392> REGRESSION (Mail): select all does not select all at some pages

        * khtml/xml/dom_caretposition.cpp: (DOM::CaretPosition::deepEquivalent):
        Use caretMaxOffset instead of maxOffset when descending to the last node.
        Also change around the function a bit.

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

18 years ago Reviewed by Maciej.
darin [Tue, 14 Sep 2004 06:03:20 +0000 (06:03 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3710123> Loading iframe that replaces content in the parent document crashes Safari (Oracle Portal)

        This is a more complete fix, but it requires the previous attempt at a fix for this same
        bug below, because this is only the "don't destroy the KHTMLPart" portion; other fixes are
        still needed to survive shutdown of the part.

        * khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::interpreter): Call the new keepAlive method.
        This is called whenever we're about to use an interpreter to run some JavaScript, and
        it's JavaScript that might destroy the part, hence the interpreter.

        * khtml/khtml_part.h: Added keepAlive() and slotEndLifeSupport() member functions.
        * khtml/khtmlpart_p.h: Added m_lifeSupportTimer.
        * khtml/khtml_part.cpp:
        (KHTMLPart::init): Connects m_lifeSupportTimer to slotEndLifeSupport.
        (KHTMLPart::write): Removed old attempt to work around this issue.
        (KHTMLPart::end): Ditto.
        (KHTMLPart::keepAlive): Added. References the part, then sets up a one-shot timer.
        (KHTMLPart::slotEndLifeSupport): Added. Stops the timer and then removes the reference
        from the part, possibly destroying it.

        * kwq/KWQSlot.mm:
        (KWQSlot::KWQSlot): Added the new slot to the list of slots.
        (KWQSlot::call): Ditto.

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::sendResizeEvent): Removed an old attempt to work around this same issue.
        (KWQKHTMLPart::mouseDown): Ditto.
        (KWQKHTMLPart::mouseDragged): Ditto.
        (KWQKHTMLPart::mouseUp): Ditto.
        (KWQKHTMLPart::mouseMoved): Ditto.
        (KWQKHTMLPart::sendContextMenuEvent): Ditto.

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

18 years ago Reviewed by Maciej.
darin [Tue, 14 Sep 2004 04:48:02 +0000 (04:48 +0000)]
    Reviewed by Maciej.

        - fixed regression caused by change earlier today

        * khtml/xml/dom_selection.cpp: (DOM::Selection::modifyExtendingRightForward):
        Use CaretPosition for CHARACTER, not WORD.

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

18 years ago Reviewed by Kevin.
darin [Mon, 13 Sep 2004 22:45:15 +0000 (22:45 +0000)]
    Reviewed by Kevin.

        - fixed <rdar://problem/3798453> DIG failure: getting variable with same name as DOM element attribute gets attribute value instead

        * khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): When adding current target and
        other event handler scope, put it below the existing scope chain. This ensures that things
        found in the function's scope will come before the event handler, as in other browsers.

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

18 years ago Reviewed by Kevin and Maciej.
darin [Mon, 13 Sep 2004 22:44:28 +0000 (22:44 +0000)]
    Reviewed by Kevin and Maciej.

        - new function to support fix for DIG bug in WebCore

        * kjs/scope_chain.h: Added new push function that pushes another entire scope chain.
        * kjs/scope_chain.cpp: (KJS::ScopeChain::push): Ditto.

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

18 years ago Reviewed by Darin
kocienda [Mon, 13 Sep 2004 21:36:27 +0000 (21:36 +0000)]
    Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3798346> REGRESSION (125-162): crash pushing down arrow key on KLM.com site

        * khtml/xml/dom_position.cpp:
        (DOM::Position::nextLinePosition): This function was being called in a case where it was not expected
        until we traced the code. It has to do with some deeper issues associated with handling arrow keys,
        resulting in the editing arrow-down code running in a case where we are not editing. I discussed this
        with Darin, and we decided to handle the broader issues at a later date. The fix I am checking in
        here to fix the bug is merely avoiding a null-deref.

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

18 years ago D'oh. How many times can I screw up a simple fix!
rjw [Mon, 13 Sep 2004 20:38:08 +0000 (20:38 +0000)]
    D'oh.  How many times can I screw up a simple fix!

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):

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

18 years ago Reviewed by John
kocienda [Mon, 13 Sep 2004 20:17:29 +0000 (20:17 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3784840> REGRESSION (Mail): Text is inserted in the wrong place after changing typing style

        * khtml/editing/htmlediting_impl.cpp:
        (khtml::InputTextCommandImpl::prepareForTextInsertion): Code to handle typing style did not
        check to see if the reference node used for the DOM node insertion operation was a block.
        If it is, then the new node containing the new editing style now is inserted at the start of the block,
        instead of after it.

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

18 years ago Fixed snafu from 3782533 checkin.
rjw [Mon, 13 Sep 2004 19:32:57 +0000 (19:32 +0000)]
    Fixed snafu from 3782533 checkin.

        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):

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

18 years ago Reviewed by me
kocienda [Mon, 13 Sep 2004 18:39:31 +0000 (18:39 +0000)]
    Reviewed by me

        Added a couple new layout tests to cover recent changes.

        * layout-tests/editing/editing.js: Added some new functions to do by-word selection movement.
        * layout-tests/editing/selection/move-backwords-by-word-001-expected.txt: Added.
        * layout-tests/editing/selection/move-backwords-by-word-001.html: Added.
        * layout-tests/editing/selection/selection-3748164-fix-expected.txt: Added.
        * layout-tests/editing/selection/selection-3748164-fix.html: Added.

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

18 years ago Reviewed by John
kocienda [Mon, 13 Sep 2004 18:25:22 +0000 (18:25 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3765519> REGRESSION (Mail): word movement goes too far upstream at start of line

        * khtml/xml/dom_position.cpp:
        (DOM::Position::previousWordPosition): Use downstream position here when making final placement of caret.

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

18 years ago Reviewed by Darin
kocienda [Mon, 13 Sep 2004 18:06:38 +0000 (18:06 +0000)]
    Reviewed by Darin

        Various editing improvements, many focused on the improvements made possible by the
        new CaretPosition class.

        Includes fixes for these bugs:

        <rdar://problem/3748164> REGRESSION (Mail): Arrow navigation in typical mail message can result in stuck caret
        <rdar://problem/3782062> REGRESSION (Mail): option-delete can delete almost all of a message when it has trouble finding a word
        <rdar://problem/3790456> triple click does not select entire paragraph (folklore.org)

        * WebCore.pbproj/project.pbxproj: Added CaretPosition class files.
        * khtml/dom/dom2_range.h:
        (DOM::offsetInCharacters): Moved this helper here from khtml_text_operations.cpp. This
        function helps to determine how to interpret the offsets used in DOM Ranges.
        * khtml/editing/htmlediting_impl.cpp:
        (khtml::InputNewlineCommandImpl::doApply): Use CaretPosition class to make "end-of-block" determination.
        Also, fix a caret placement glitch in "case 1" in the code: Place the caret in the node after the inserted
        BR. This makes it show up in the right place.
        * khtml/khtml_part.cpp:
        (KHTMLPart::handleMousePressEventDoubleClick): Don't limit double-click and triple-click handling only to text nodes.
        (KHTMLPart::handleMousePressEventTripleClick): Ditto.
        (KHTMLPart::selectAll): Use CaretPosition class to implement improved selectAll.
        * khtml/misc/khtml_text_operations.cpp:
        (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Make a fix to the initial state setting of
        m_handledChildren. This is true if the offset into the end node is 0, meaning that we do not want to descend
        into its children at all.
        * khtml/xml/dom_caretposition.cpp: Added.
        * khtml/xml/dom_caretposition.h: Added.
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::traverseNextNode): Fix bugs with the stayWithin implementation. We could miss nodes we want to test
        due to an erroneous check of stayWithin when no such check is needed.
        (NodeImpl::traverseNextSibling): Ditto.
        (NodeImpl::traversePreviousNodePostOrder): Ditto.
        * khtml/xml/dom_position.cpp:
        (DOM::Position::Position): Remove spurious semi-colon.
        (DOM::Position::upstream): Move incoming Position to its equivalentDeepPosition. This is part of the transition
        that will make this code work better with increased use of CaretPosition.
        (DOM::Position::downstream): Ditto.
        (DOM::Position::atStartOfContainingEditableBlock): Removed. Dead code; was not being called.
        (DOM::Position::atStartOfRootEditableElement): Removed. Dead code; was not being called.
        (DOM::Position::isLastRenderedPositionInEditableBlock): Removed. Replaced with calls to CaretPosition class.
        (DOM::Position::inLastEditableInRootEditableElement): Removed. Dead code; was not being called.
        (DOM::Position::inFirstEditableInRootEditableElement): Removed. Was only being called by other code that has been removed.
        * khtml/xml/dom_position.h:
        * khtml/xml/dom_selection.cpp:
        (DOM::Selection::modifyExtendingRightForward): Moved implementation of CHARACTER case to use CaretPosition class instead
        of Position class helpers.
        (DOM::Selection::modifyMovingRightForward): Ditto.
        (DOM::Selection::modifyExtendingLeftBackward): Ditto.
        (DOM::Selection::modifyMovingLeftBackward): Ditto.
        (DOM::Selection::validate): Made simplifications in code that used to call a concoction of Position class helpers to
        do the right thing. Now calls CaretPosition equivalents.

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

18 years ago Support for: <rdar://problem/3794790> drop rate or time remaining from download...
cblu [Mon, 13 Sep 2004 17:56:28 +0000 (17:56 +0000)]
Support for: <rdar://problem/3794790> drop rate or time remaining from download status when window is too small to fit it

        Reviewed by john.

        * Misc.subproj/WebStringTruncator.h:
        * Misc.subproj/WebStringTruncator.m:
        (+[WebStringTruncator widthOfString:font:]): new

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

18 years ago Reviewed by me
kocienda [Mon, 13 Sep 2004 17:19:35 +0000 (17:19 +0000)]
    Reviewed by me

        This test was broken. The result is that it was not testing what it was supposed to
        be testing. I fixed the test and updated the expected results.

        * layout-tests/editing/selection/move-between-blocks-no-001-expected.txt
        * layout-tests/editing/selection/move-between-blocks-no-001.html

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

18 years ago Reviewed by John
kocienda [Mon, 13 Sep 2004 16:43:38 +0000 (16:43 +0000)]
    Reviewed by John

        Fix for these bugs:

        <rdar://problem/3784835> REGRESSION (Mail): crash in DOM::ElementImpl::tagName inside delete text command code while editing a Mail message
        <rdar://problem/3788015> REGRESSION (Mail): Crash deleting before a blockquote
        <rdar://problem/3796366> REGRESSION (Mail): Crash Mail by deleting the right line from pasted HTML

        * khtml/editing/htmlediting_impl.cpp:
        (khtml::DeleteSelectionCommandImpl::doApply): All of these bugs are due to the same problem. When I
        made the delete command run even when the text is a caret (to make block merges work right when the
        caret is at the start of a block), I failed to handle one case when there might be no text to
        delete. This resulted in a call to the DeleteTextCommand with a zero-length deletion request.
        This is not supported. Now, I have added an additional test in this one place in the code that
        was causing all these failures.

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

18 years ago * tests/mozilla/expected.html: Updated test results for 3 more tests that...
darin [Mon, 13 Sep 2004 06:23:52 +0000 (06:23 +0000)]
    * tests/mozilla/expected.html: Updated test results for 3 more tests that pass with the new version
        of escape and unescape.

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

18 years ago Reviewed by Maciej.
darin [Mon, 13 Sep 2004 06:22:56 +0000 (06:22 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3798209> any non-ASCII characters are garbled in the result of toLocaleString

        * kjs/date_object.cpp:
        (formatLocaleDate): Replaced two old functions that used LongDateTime with this one new function that
        uses CFDateFormatter.
        (DateProtoFuncImp::call): Call the new formatLocaleDate instead of both formatLocaleDate and formatLocaleTime.

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

18 years ago Reviewed by Maciej.
darin [Mon, 13 Sep 2004 06:05:54 +0000 (06:05 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3797758> REGRESSION (155-156): Cannot tab between input fields at switchboard.com

        * kwq/KWQLineEdit.mm: (QLineEdit::selectAll): Use setFocus() instead of calling makeFirstResponder
        directly since it handles the case where the field editor has focus.

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

18 years ago Reviewed by Maciej.
darin [Mon, 13 Sep 2004 06:05:36 +0000 (06:05 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3792082> zero character codes in UTF-16 input cause crash

        * kwq/KWQTextCodec.mm: (KWQTextDecoder::convertUTF16): Fixed code that was using the wrong variable
        to decrement the input length, causing buffer overrun.

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

18 years ago Reviewed by Maciej.
darin [Mon, 13 Sep 2004 06:04:12 +0000 (06:04 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3798240> computed style error log messages seen with numbers in the range 74-77

        * khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):

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

18 years ago * layout-tests/css1/text_properties/text-transform-expected.txt: Removed...
darin [Mon, 13 Sep 2004 06:03:25 +0000 (06:03 +0000)]
    * layout-tests/css1/text_properties/text-transform-expected.txt: Removed unused test result.

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

18 years ago Reviewed by Darin.
mjs [Sat, 11 Sep 2004 08:22:27 +0000 (08:22 +0000)]
    Reviewed by Darin.

<rdar://problem/3787208> can't log in to SAP SDN site (JS parse error)

        * kwq/KWQKURL.mm:
        (KURL::decode_string): Check for find result >= 0 instead of >0,
to handle case of first character in a string being encoded.

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

18 years ago Fixed <rdar://problem/3782533> CrashTracer: .1459 crashes at com.apple.WebKit...
rjw [Fri, 10 Sep 2004 23:26:36 +0000 (23:26 +0000)]
    Fixed <rdar://problem/3782533> CrashTracer: .1459 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 0x138

        We were explicitly failing when we encountered deprecated fonts.
        (Those with unsupported glyph packings).
        Deprecated fonts should only appear on a system that have
        stuff migrated from OS 9.  Ugh, thats probably why we've never seen
        the problem here.

        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer initWithFont:usingPrinterFont:]):

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

18 years agoWebKit:
sullivan [Fri, 10 Sep 2004 22:21:11 +0000 (22:21 +0000)]

        Reviewed by Chris.

        - added _isFrameSet as a private method, so it can be used in WebBrowser.
        This is needed to merge the fix for 3123987 to SUPanNavy.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _isFrameSet]):
        new method

        * WebView.subproj/WebFramePrivate.h:
        declare new method


        Reviewed by Chris.

        - changed implementation of -[WebFrameView isFrameset] so that it's more easily
        mergeable back to 10.3.5. This is needed to merge 3123987 to SUPanNavy.

        * BrowserWebViewExtras.m:
        (-[WebFrameView isFrameset]):
        Call private WebFrame method instead of using DOM.

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

18 years ago Fixed previous "Reviewed by" line.
cblu [Fri, 10 Sep 2004 16:18:50 +0000 (16:18 +0000)]
Fixed previous "Reviewed by" line.

        * ChangeLog:

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

18 years agoWebCore:
cblu [Fri, 10 Sep 2004 15:58:39 +0000 (15:58 +0000)]

Support for: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout

        Reviewed by rjw.

        * khtml/khtml_part.h:
        (KHTMLPart::didFirstLayout): new
        * khtml/khtmlview.cpp:
        (KHTMLView::layout): call didFirstLayout
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::didFirstLayout): new
        * kwq/WebCoreBridge.h:


Support for: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout

        Reviewed by NOBODY (OOPS!).

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge didFirstLayout]): new
        * WebView.subproj/WebDefaultFrameLoadDelegate.m:
        (-[WebDefaultFrameLoadDelegate webView:didFirstLayoutInFrame:]): new
        * WebView.subproj/WebViewPrivate.h:


Fixed: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout

        Reviewed by rjw.

        * BrowserWindowController.h:
        * BrowserWindowController.m:
        (-[BrowserWindowController startRSSAnimationForFrame:error:]): new
        (-[BrowserWindowController webFrameLoadDidFirstLayout:]): new
        (-[BrowserWindowController webFrameLoadFinished:withError:]): call startRSSAnimationForFrame:error:
        * Debug/DebugUtilities.m:
        (-[DebugUtilities createDebugMenu]): added toggle for RSS animation
        (-[BrowserDocument toggleRSSAnimateAfterFirstLayout:]): new
        (-[BrowserDocument validate_toggleRSSAnimateAfterFirstLayout:]): new
        * LocationChangeHandler.m:
        (-[LocationChangeHandler webView:didFirstLayoutInFrame:]): new
        * PreferenceKeys.h:

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

18 years ago Alternate implementation of image rendering. Use CGImageRefs instead
rjw [Fri, 10 Sep 2004 02:31:28 +0000 (02:31 +0000)]
    Alternate implementation of image rendering.  Use CGImageRefs instead
        of NSImages.

        Mostly works, but currently disabled because of issues w/ CG.

        Reviewed by Chris.

        * ChangeLog:
        * WebCoreSupport.subproj/WebImageData.h: Added.
        * WebCoreSupport.subproj/WebImageData.m: Added.
        (-[WebImageData _commonTermination]):
        (-[WebImageData dealloc]):
        (-[WebImageData finalize]):
        (-[WebImageData copyWithZone:]):
        (-[WebImageData numberOfImages]):
        (-[WebImageData currentFrame]):
        (-[WebImageData _invalidateImages]):
        (-[WebImageData imageAtIndex:]):
        (-[WebImageData incrementalLoadWithBytes:length:complete:]):
        (-[WebImageData tileInRect:fromPoint:context:]):
        (-[WebImageData isNull]):
        (-[WebImageData size]):
        (-[WebImageData _frameDuration]):
        (-[WebImageData _repetitionCount]):
        (-[WebImageData isAnimationFinished]):
        (+[WebImageData stopAnimationsInView:]):
        (-[WebImageData addAnimatingRenderer:inView:]):
        (-[WebImageData removeAnimatingRenderer:]):
        (-[WebImageData _stopAnimation]):
        (-[WebImageData _nextFrame:]):
        (-[WebImageData animate]):
        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer initWithMIMEType:]):
        (-[WebImageRenderer initWithData:MIMEType:]):
        (-[WebImageRenderer initWithContentsOfFile:]):
        (-[WebImageRenderer dealloc]):
        (-[WebImageRenderer copyWithZone:]):
        (-[WebImageRenderer retainOrCopyIfNeeded]):
        (-[WebImageRenderer resize:]):
        (-[WebImageRenderer size]):
        (-[WebImageRenderer MIMEType]):
        (-[WebImageRenderer frameCount]):
        (-[WebImageRenderer isNull]):
        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
        (-[WebImageRenderer drawImageInRect:fromRect:]):
        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
        (-[WebImageRenderer tileInRect:fromPoint:context:]):
        (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
        (+[WebImageRenderer stopAnimationsInView:]):
        (-[WebImageRenderer stopAnimation]):
        (-[WebImageRenderer targetAnimationRect]):
        (-[WebImageRenderer increaseUseCount]):
        (-[WebImageRenderer decreaseUseCount]):
        (-[WebImageRenderer flushRasterCache]):
        (-[WebImageRenderer imageRef]):
        (-[WebImageRenderer TIFFRepresentation]):
        (-[WebImageRenderer image]):
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory imageRendererWithMIMEType:]):
        (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
        (-[WebImageRendererFactory imageRendererWithSize:]):
        (-[WebImageRendererFactory imageRendererWithName:]):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView image]):

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

18 years ago Reviewed by Richard.
mjs [Fri, 10 Sep 2004 01:52:24 +0000 (01:52 +0000)]
    Reviewed by Richard.

<rdar://problem/3493140> REGRESSION (85-100): cedille displays %-escaped in JavaScript message at hotmail.com

* kjs/function.cpp:
        (KJS::GlobalFuncImp::call): Replace our escape() and unescape() implementations with
ones from KDE KJS, which have the proper latin-1 behavior to match Win IE.
        * kjs/lexer.cpp:
        (Lexer::isHexDigit): Made static and non-const.
        * kjs/lexer.h:

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

18 years agochange version number to 2.0, 164u for TOT
vicki [Fri, 10 Sep 2004 01:41:44 +0000 (01:41 +0000)]
change version number to 2.0, 164u for TOT

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

18 years agoSafari-163 stamp for everything except WebBrowser. In these projects, CFBundleShortV...
vicki [Fri, 10 Sep 2004 01:29:52 +0000 (01:29 +0000)]
Safari-163 stamp for everything except WebBrowser.  In these projects, CFBundleShortVersionString matches CFBundleVersion (163 in both cases).

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

18 years ago - roll out the last change, it appears to cause a performance regression
mjs [Fri, 10 Sep 2004 01:02:20 +0000 (01:02 +0000)]
    - roll out the last change, it appears to cause a performance regression

        * khtml/rendering/render_box.cpp:
        * khtml/rendering/render_box.h:
        * khtml/rendering/render_br.cpp:
        * khtml/rendering/render_br.h:
        * khtml/rendering/render_flow.cpp:
        * khtml/rendering/render_flow.h:
        * khtml/rendering/render_object.cpp:
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_text.cpp:
        * khtml/rendering/render_text.h:
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:

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

18 years ago - rolled out last two changes, they seem to cause a performance regression
mjs [Fri, 10 Sep 2004 01:01:54 +0000 (01:01 +0000)]
    - rolled out last two changes, they seem to cause a performance regression

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView firstRectForCharacterRange:]):

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

18 years ago - fixed build
mjs [Thu, 9 Sep 2004 22:25:20 +0000 (22:25 +0000)]
    - fixed build

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView firstRectForCharacterRange:]):

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

18 years agoWebCore:
mjs [Thu, 9 Sep 2004 21:02:08 +0000 (21:02 +0000)]

        Reviewed by Dave.

WebCore part of fix for:

<rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:

        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge firstRectForDOMRange:]): New method to compute the rect for a
DOMRange, or if the range is split into multiple lines, the rect for the part on
the first line only.

        * khtml/rendering/render_object.cpp:
        (RenderObject::caretRect): Added extraWidthToEndOfLine parameter and ditto
for the overrides below.
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_box.cpp:
        * khtml/rendering/render_box.h:
        * khtml/rendering/render_br.cpp:
        * khtml/rendering/render_br.h:
        * khtml/rendering/render_flow.cpp:
        * khtml/rendering/render_flow.h:
        * khtml/rendering/render_text.cpp:


        Reviewed by Dave.

WebKit part of fix for:

<rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method,
and translate to screen coordinates.

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

18 years agoWebCore:
darin [Thu, 9 Sep 2004 15:00:12 +0000 (15:00 +0000)]

        Reviewed by Ken.

        - fixed <rdar://problem/3790526> mark-related methods not implemented (needed for people with them in their key bindings files)

        * khtml/khtml_part.h: Added mark and setMark.
        * khtml/khtmlpart_p.h: Added m_mark.
        * khtml/khtml_part.cpp:
        (KHTMLPart::mark): Added.
        (KHTMLPart::setMark): Added.

        * kwq/KWQKHTMLPart.h: Change name of markedRange to markedTextRange to decrease
        the change it will be confused with the mark.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::clear): Update for name change.
        (KWQKHTMLPart::markedTextRange): Ditto.
        (KWQKHTMLPart::setMarkedTextRange): Ditto.

        * khtml/rendering/render_text.cpp: (RenderText::paint): Update for name change.

        * kwq/WebCoreBridge.h: Remove setSelectionFrom, selectionStart, selectionStartOffset,
        selectionEnd, selectionEndOffset, and clearMarkedDOMRange. Renamed setMarkedDOMRange
        to setMarkedTextDOMRange and markedDOMRange to markedTextDOMRange. Added setMarkDOMRange
        and markDOMRange for the Emacs "mark".
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge setMarkDOMRange:]): Added.
        (-[WebCoreBridge markDOMRange]): Added.
        (-[WebCoreBridge setMarkedTextDOMRange:]): Renamed.
        (-[WebCoreBridge markedTextDOMRange]): Renamed.

        * khtml/xml/dom_selection.cpp: (DOM::Selection::validate): Make paragraph positions
        canonical by using deep rendered positions. Maybe someday this won't be an ad hoc
        decision any more.

        * khtml/xml/dom_nodeimpl.cpp: (NodeBaseImpl::removeChildren): Use ref and deref
        rather than the unconventional check for 0 refCount. This makes us a bit more
        robust against a node going away partway through the removal process.

        * WebCore.pbproj/project.pbxproj: Update MACOSX_DEPLOYMENT_TARGET to 10.3.


        Reviewed by Ken.

        - fixed <rdar://problem/3790526> mark-related methods not implemented (needed for people with them in their key bindings files)

        * WebKit.pbproj/project.pbxproj: Update MACOSX_DEPLOYMENT_TARGET to 10.3 and add -fobjc-exceptions
        so we can use new exceptions.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView setMark:]): Added.
        (unionDOMRanges): Added.
        (-[WebHTMLView deleteToMark:]): Added.
        (-[WebHTMLView selectToMark:]): Added.
        (-[WebHTMLView swapWithMark:]): Added.
        (-[WebHTMLView markedRange]): Updated for change to bridge method names.
        (-[WebHTMLView hasMarkedText]): Ditto.
        (-[WebHTMLView unmarkText]): Ditto.
        (-[WebHTMLView _selectMarkedText]): Ditto.
        (-[WebHTMLView _selectRangeInMarkedText:]): Ditto.
        (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
        (-[WebHTMLView _insertText:selectInsertedText:]): Removed check for empty string. An empty string
        should not be filtered out here. We need to allow inserting an empty string.
        (-[WebHTMLView _selectionIsInsideMarkedText]): Updated for change to bridge method names.
        (-[WebHTMLView _updateSelectionForInputManager]): Ditto.

        * WebView.subproj/WebView.m: (-[WebView searchFor:direction:caseSensitive:wrap:]):
        Changed to use selectionDOMRange instead of selectionStart.

        * WebView.subproj/WebHTMLRepresentation.h: Removed unused setSelectionFrom method.
        * WebView.subproj/WebHTMLRepresentation.m: Ditto.

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

18 years agoWebKit:
sullivan [Wed, 8 Sep 2004 23:53:13 +0000 (23:53 +0000)]

        Reviewed by Darin.

        - fixed the localization aspect of:
        <rdar://problem/3790011> undoable operations all say "Undo" in the menu, no specific action names

        We now have all the strings ready for localization; we just don't actually use them yet.

        * English.lproj/Localizable.strings:
        updated for this change

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setUndoActionNamePlaceholder]):
        added this placeholder method whose purpose is to hold localizable strings for all the Undo
        action names that NSTextView uses. Later we will use some or all of these, but we can do
        that part after the localization freeze.


        Reviewed by Darin.

        * English.lproj/StringsNotToBeLocalized.txt:
        updated for my recent changes

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

18 years ago Fixed previous "Reviewed by" line.
cblu [Wed, 8 Sep 2004 23:13:25 +0000 (23:13 +0000)]
Fixed previous "Reviewed by" line.

        * ChangeLog:

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

18 years ago Fixed: <rdar://problem/3778785> REGRESSION (Mail): copying from MS word and pasting...
cblu [Wed, 8 Sep 2004 23:12:27 +0000 (23:12 +0000)]
Fixed: <rdar://problem/3778785> REGRESSION (Mail): copying from MS word and pasting into editable region leaves internal clipboard data

        Reviewed by NOBODY (OOPS!).

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ignore Microsoft's header meta data

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

18 years ago Fixed: <rdar://problem/3792893> WebBaseResourceHandleDelegate always returns cached...
cblu [Wed, 8 Sep 2004 21:48:05 +0000 (21:48 +0000)]
Fixed: <rdar://problem/3792893> WebBaseResourceHandleDelegate always returns cached data for subresource loads

        Reviewed by rjw.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate _canUseResourceForRequest:]): new
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceForRequest:

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

18 years ago - fixed deployment build problems noticed by Grant
mjs [Wed, 8 Sep 2004 21:46:00 +0000 (21:46 +0000)]
    - fixed deployment build problems noticed by Grant

        * khtml/rendering/render_flow.cpp:
        * khtml/rendering/render_text.cpp:

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

18 years ago Fix XML so that elements with no namespace never make HTML elements (when their...
hyatt [Wed, 8 Sep 2004 20:26:33 +0000 (20:26 +0000)]
Fix XML so that elements with no namespace never make HTML elements (when their names coincidentally match).

        Reviewed by rjw

        * khtml/xml/dom_docimpl.cpp:

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

18 years ago Forgot to add this in previous check-in.
cblu [Wed, 8 Sep 2004 20:04:06 +0000 (20:04 +0000)]
Forgot to add this in previous check-in.

        * English.lproj/WebViewEditingContextMenu.nib: Added.

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

18 years ago Reviewed by John.
mjs [Wed, 8 Sep 2004 19:26:53 +0000 (19:26 +0000)]
    Reviewed by John.

- renamed caretPos to caretRect and made it return a QRect instead
of taking four out parameters by reference.

        * khtml/rendering/render_box.cpp:
        * khtml/rendering/render_box.h:
        * khtml/rendering/render_br.cpp:
        * khtml/rendering/render_br.h:
        * khtml/rendering/render_flow.cpp:
        * khtml/rendering/render_flow.h:
        * khtml/rendering/render_object.cpp:
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_text.cpp:
        * khtml/rendering/render_text.h:
        * khtml/xml/dom_selection.cpp:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge caretRectAtNode:offset:]):

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

18 years ago Fixed: <rdar://problem/3791240> WebKit uses the NSTextViewContextMenu nib from insid...
cblu [Wed, 8 Sep 2004 18:17:15 +0000 (18:17 +0000)]
Fixed: <rdar://problem/3791240> WebKit uses the NSTextViewContextMenu nib from inside AppKit

        Reviewed by john.

        * English.lproj/StringsNotToBeLocalized.txt:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): use our copy of the nib

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

18 years ago Reviewed by Kevin.
mjs [Wed, 8 Sep 2004 01:27:21 +0000 (01:27 +0000)]
    Reviewed by Kevin.

<rdar://problem/3759209> REGRESSION (Mail): assertion failure when all of marked text deleted at start of document

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::setMarkedRange): Allow any empty range, even if
it's not in a text node, since in this case it won't matter and
weird things can happen when all marked text is removed, there
might not be any text nodes.

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

18 years ago Initial text-decoration CSS3 work for editing. Just gets the properties and values...
hyatt [Wed, 8 Sep 2004 01:08:35 +0000 (01:08 +0000)]
Initial text-decoration CSS3 work for editing.  Just gets the properties and values parsed.

        Reviewed by darin

        * khtml/css/css_computedstyle.cpp:
        * khtml/css/cssparser.cpp:
        * khtml/css/cssproperties.c:
        * khtml/css/cssproperties.h:
        * khtml/css/cssproperties.in:
        * khtml/css/cssstyleselector.cpp:
        * khtml/css/cssvalues.c:
        * khtml/css/cssvalues.h:
        * khtml/css/cssvalues.in:

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

18 years ago * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
darin [Tue, 7 Sep 2004 23:01:15 +0000 (23:01 +0000)]
    * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

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

18 years ago Fixed previous "Reviewed by" line.
cblu [Tue, 7 Sep 2004 21:34:08 +0000 (21:34 +0000)]
    Fixed previous "Reviewed by" line.

        * ChangeLog:

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

18 years ago Fixed: <rdar://problem/3790143> exception raised when dragging a URL with 2-byte...
cblu [Tue, 7 Sep 2004 21:28:48 +0000 (21:28 +0000)]
Fixed: <rdar://problem/3790143> exception raised when dragging a URL with 2-byte characters

(checked in with last check-in)

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

18 years ago Fixed:
cblu [Tue, 7 Sep 2004 21:26:06 +0000 (21:26 +0000)]
<rdar://problem/3080103> Need to pass cmd-modified keys to plug-ins
<rdar://problem/3751509> can't use safari edit menu to copy and paste with Vantage Learning's My Access

        Reviewed by NOBODY (OOPS!).

        * Plugins.subproj/WebBaseNetscapePluginView.m: fake up command-key events for cut, copy, paste and select all so these menu items work for plug-ins
        (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
        (-[WebBaseNetscapePluginView cut:]):
        (-[WebBaseNetscapePluginView copy:]):
        (-[WebBaseNetscapePluginView paste:]):
        (-[WebBaseNetscapePluginView selectAll:]):

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

18 years agoAdd layout test results.
hyatt [Tue, 7 Sep 2004 21:19:26 +0000 (21:19 +0000)]
Add layout test results.

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

18 years ago - fixed deployment build
darin [Tue, 7 Sep 2004 18:58:07 +0000 (18:58 +0000)]
    - fixed deployment build

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:]):
        Initialize prepend variable.

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

18 years ago * JavaScriptCore.pbproj/project.pbxproj: Bump MACOSX_DEPLOYMENT_TARGET to...
darin [Tue, 7 Sep 2004 06:37:57 +0000 (06:37 +0000)]
    * JavaScriptCore.pbproj/project.pbxproj: Bump MACOSX_DEPLOYMENT_TARGET to 10.3.

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

18 years ago Reviewed by Darin and Ken.
mjs [Tue, 7 Sep 2004 05:38:11 +0000 (05:38 +0000)]
    Reviewed by Darin and Ken.

<rdar://problem/3655568> window.open fails when URL contains trailing space

        * kwq/KWQKURL.mm:
        (KURL::KURL): Strip trailing and leading space when resolving relative URLs in all
cases, instead of just leading in the non-absolute case as before.

- refactored KURL constructor to put more work in separate
functions and also to change static methods to static functions,
to avoid having to change the header when only changing helper
functions that do not affect the KURL API (since KURL.h is widely

        * kwq/KWQKURL.mm:
* kwq/KWQKURL.h:

- add missing include of qvaluelist.h

        * khtml/ecma/kjs_dom.h:

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

18 years agoWebCore:
darin [Tue, 7 Sep 2004 00:25:38 +0000 (00:25 +0000)]

        Reviewed by John.

        - fixed <rdar://problem/3512066> REGRESSION (Mail): Select All highlights only part of the content, though all is copied
        - fixed <rdar://problem/3157025> REGRESSION (Mail): Should select paragraph instead of line on triple-click
        - fixed <rdar://problem/3735048> REGRESSION (Mail): HTML editing must select newline on triple click
        - fixed <rdar://problem/3788872> REGRESSION (Mail): ctrl-a emacs key binding does not work (move to start of paragraph)
        - fixed <rdar://problem/3788881> REGRESSION (Mail): ctrl-e emacs key binding does not work (move to end of paragraph)
        - fixed <rdar://problem/3789931> REGRESSION (Mail): typing style lost when you backspace
        - added code to select inserted text to help WebKit implement yankAndSelect:
        - did some clean-up on editing commands code

        * khtml/khtml_part.cpp:
        (KHTMLPart::handleMousePressEventTripleClick): Expand to a paragraph, not a line.
        (KHTMLPart::selectAll): Remove a lot of unneeded code and just expand to document using Selection.
        (KHTMLPart::selectionHasStyle): Remove check that limited us to only HTML elements, and add
        a check for nil. Together, these two changes fix a few cases I ran into during testing.

        * khtml/rendering/render_canvas.cpp: (RenderCanvas::setSelection): Fix test that was checking if
        the old selection spanned multiple objects when it really should have checked whether the new
        new selection spans multiple objects. This caused the select all redraw bug.

        * khtml/editing/htmlediting.h: Fixed indenting. Remove command IDs, replacing them with a couple
        of specific type checking methods, and SharedCommandImpl, using EditCommandImpl directly instead.
        Got rid of virtual functions, since the command objects have no data members other than the ones
        inherited from SharedPtr. Removed explicit copy constructors and destructors. Removed unneeded
        empty constructors. Removed inline directives that were having no effect. Added some boolean
        selectInsertedText parameter to some commands. Made almost all member functions const, because
        the const here applies to the command object which is a smart pointer, not the pointed-to
        command implementation object.
        * khtml/editing/htmlediting.cpp:
        (khtml::EditCommand::EditCommand): Changed since SharedPtr is now a pointer to EditCommandImpl.
        (khtml::EditCommand::operator=): Added. By defining this explicitly, we don't need the class
        that we are pointing to defined in the header, which lets us get rid of SharedCommandImpl.
        (khtml::EditCommand::isInputTextCommand): Added.
        (khtml::EditCommand::isTypingCommand): Added.
        (khtml::EditCommand::setParent): Updated since EditCommandImpl.setParent takes an impl pointer now.
        (khtml::EditCommand::handle): Removed, since it's identical to get().
        (khtml::InputTextCommand::input): Added selectInsertedText parameter.
        (khtml::TypingCommand::TypingCommand): Ditto.
        (khtml::TypingCommand::insertText): Ditto.
        (khtml::TypingCommand::isOpenForMoreTypingCommand): Use isTypingCommand instead of commandID.
        (khtml::TypingCommand::closeTyping): Change parameter type to const reference.

        * khtml/editing/htmlediting_impl.h: Made StyleChange functions be const member functions.
        Changed parent() and setParent() to take and return EditCommandImpl pointers and be inlined.
        Added virtual isInputTextCommand, isTypingCommand, and preservesTypingStyle functions.
        Removed commandID functions and unneeded explicit destructors. Removed unneeded doApply
        function declaration in CompositeEditCommandImpl. Changed type of applyTypingStyle to return
        a node, not necessarily an element. Removed private execute function from InputTextCommandImpl.
        Added selectInsertedText to InputTextCommandImpl's input function and TypingCommandImpl's constructor
        and insertText function.
        * khtml/editing/htmlediting_impl.cpp:
        (khtml::StyleChange::StyleChange): Don't bother initializing the booleans since init handles that.
        (khtml::StyleChange::init): Added code to strip whitespace, and tweaked how the function does its job.
        (khtml::StyleChange::currentlyHasStyle): Added a check for null value, which can happen for properties
        where we don't have computed style implemented yet.
        (khtml::EditCommandImpl::EditCommandImpl): Updated since there is no SharedCommandImpl any more.
        (khtml::EditCommandImpl::apply): Call new preservesTypingStyle function rather than checking
        the command ID. This preserves typing style when deleting with the keyboard.
        (khtml::EditCommandImpl::setStartingSelection): Changed since parent is now a EditCommandImpl.
        Also rewrote to use for loop so it's simpler-looking.
        (khtml::EditCommandImpl::setEndingSelection): Ditto.
        (khtml::EditCommandImpl::setTypingStyle): Ditto.
        (khtml::EditCommandImpl::preservesTypingStyle): Added. Returns false.
        (khtml::EditCommandImpl::isInputTextCommand): Added. Returns false.
        (khtml::EditCommandImpl::isTypingCommand): Added. Returns false.
        (khtml::CompositeEditCommandImpl::applyTypingStyle): Changed this function to return a node rather
        than an element. Also change it so it returns the child as-is if the style change has nothing in it.
        (khtml::AppendNodeCommandImpl::~AppendNodeCommandImpl): Removed unneeded null checks.
        (khtml::DeleteSelectionCommandImpl::preservesTypingStyle): Added. Returns true.
        (khtml::DeleteTextCommandImpl::~DeleteTextCommandImpl): Removed unneeded null checks.
        (khtml::InputTextCommandImpl::input): Renamed execute function to input and got rid of the additional
        level of indirection, since it was the only caller. Added selectInsertedText parameter and changed
        the code so it will respect it.
        (khtml::InputTextCommandImpl::isInputTextCommand): Added. Returns true.
        (khtml::InsertNodeBeforeCommandImpl::~InsertNodeBeforeCommandImpl): Removed unneeded null checks.
        (khtml::JoinTextNodesCommandImpl::~JoinTextNodesCommandImpl): Ditto.
        (khtml::MoveSelectionCommandImpl::MoveSelectionCommandImpl): Hold a reference to the fragment
        while the command exists.
        (khtml::MoveSelectionCommandImpl::~MoveSelectionCommandImpl): Release the fragment.
        (khtml::RemoveNodeCommandImpl::~RemoveNodeCommandImpl): Remove unneeded null checks.
        (khtml::RemoveNodeCommandImpl::doUnapply): Take advantage of defined behavior of insertBefore when
        the node to insert before is 0 (means the same thing as appendChild).
        Remove unneeded null check.
        (khtml::ReplaceSelectionCommandImpl::ReplaceSelectionCommandImpl): Hold a reference to the fragment
        while the command exists.
        (khtml::ReplaceSelectionCommandImpl::~ReplaceSelectionCommandImpl): Release the fragment.
        (khtml::SetNodeAttributeCommandImpl::~SetNodeAttributeCommandImpl): Remove unneeded null check.
        (khtml::SplitTextNodeCommandImpl::~SplitTextNodeCommandImpl): Remove unneeded null check.
        (khtml::TypingCommandImpl::TypingCommandImpl): Added selectInsertedText parameter.
        (khtml::TypingCommandImpl::doApply): Pass along selectInsertedText parameter.
        (khtml::TypingCommandImpl::insertText): Ditto.
        (khtml::TypingCommandImpl::preservesTypingStyle): Added. Returns true for DeleteKey.
        (khtml::TypingCommandImpl::isTypingCommand): Added. Returns true.

        * khtml/editing/jsediting.cpp: Add a cut at implementing the underline command. May not work
        perfectly yet because text-decoration is not inherited the way, say, font-weight is.

        * khtml/xml/dom_selection.h: Removed some unneeded friend declarations for comparison operators
        that use only public members. Added PARAGRAPH_BOUNDARY.
        * khtml/xml/dom_selection.cpp:
        (DOM::Selection::modifyExtendingRightForward): Implemented paragraph boundary case, simplified line
        boundary case (by changing parameter types and function names, not the algorithm), and made
        paragraph case fall into line case for now.
        (DOM::Selection::modifyMovingRightForward): Ditto.
        (DOM::Selection::modifyExtendingLeftBackward): Ditto.
        (DOM::Selection::modifyMovingLeftBackward): Ditto.
        (DOM::Selection::validate): Implemented paragraph case and paragraph boundary case, simplified the
        line case as above and also fixed the document case.
        (DOM::startOfFirstRunAt): Changed to use DOM::Position instead of node
        offset pairs. Also renamed and got rid of separate bool to indicate "not found".
        (DOM::endOfLastRunAt): Ditto.
        (DOM::selectionForLine): Ditto.

        * khtml/xml/dom_position.h: Added startParagraphBoundary and endParagraphBoundary.
        Also used enums instead of bools in a couple of places. Removed some unneeded friend
        declarations for comparison operators that use only public members.
        * khtml/xml/dom_position.cpp:
        (DOM::Position::Position): Coding style tweak.
        (DOM::Position::startParagraphBoundary): Added.
        (DOM::Position::endParagraphBoundary): Added.
        (DOM::Position::upstream): Use enum parameter instead of bool.
        (DOM::Position::downstream): Ditto.
        (DOM::Position::rendersOnSameLine): Removed unused function. Noticed some backwards logic
        here, and removed it rather than fixing it.

        * khtml/xml/dom_nodeimpl.h: Added traversePreviousNodePostOrder.
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::traversePreviousNodePostOrder): Added. For some uses, this function is more analogous
        to traverseNextNode in reverse than traversePreviousNode, which does a backwards pre-order traversal.

        * kwq/WebCoreBridge.h: Replaced fontForCurrentPosition method with fontForSelection:, added
        selectInsertedText parameter to insertText method, and added selectionStartHasStyle: method.
        Add WebSelectToParagraphBoundary.
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge setSelectedDOMRange:affinity:]): Added workaround for bug where isRenderedContent
        returns false for <br> elements at the ends of lines.
        (-[WebCoreBridge insertText:selectInsertedText:]): Added selectInsertedText parameter, passing it
        along to TypingCommand::insertText.
        (-[WebCoreBridge selectionStartHasStyle:]): Added. Calls code in the part that does the real work.
        (-[WebCoreBridge fontForSelection:]): Ditto.

        * kwq/KWQKHTMLPart.h: Renamed fontForCurrentPosition to fontForSelection, and added a feature
        where it tells us whether there are multiple fonts in the selection or not.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::fontForSelection): Rewrote this to be a bit simpler, and added code to detect
        whether there are multiple fonts in the selection.
        (KWQKHTMLPart::didTellBridgeAboutLoad): Use a global character rather than a bad pointer here.
        Better not to rely on undefined behavior.
        (KWQKHTMLPart::documentFragmentWithText): Use lowercase HTML. I believe this works better when
        the document is XML, and we should probably visit all callers and change them.
        (KWQKHTMLPart::registerCommandForUndo): Call get() instead of handle().
        (KWQKHTMLPart::registerCommandForRedo): Call get() instead of handle().

        * khtml/misc/shared.h: Added a private, non-implemented copy constructor and assignment
        operator to Shared<> and TreeShared<> to prevent copying reference counts by accident.
        * khtml/rendering/render_style.h: Get rid of Shared<BorderData>, since it's not used that way.
        This makes BorderData smaller, and allows it to compile with the change to Shared<>.
        * khtml/xml/dom_docimpl.h: Remove unneeded copy constructor on DocumentFragmentImpl,
        which ran afoul of the change to Shared<> and was unused.
        * khtml/xml/dom_docimpl.cpp: Ditto.
        * khtml/xml/dom_stringimpl.cpp:
        (DOM::DOMStringImpl::empty): Changed code around so it doesn't run afoul of the change to
        Shared<>. The old code was copying a DOMStringImpl.
        (DOM::DOMStringImpl::ascii): Added code to null-terminate the string buffer.


        Reviewed by John.

        - fixed <rdar://problem/3696542> REGRESSION (Mail): Editable WebKit doesn't support underline yet (in the iChat profile window, at least)
        - fixed <rdar://problem/3780249> REGRESSION (Mail): copy style/paste style doesn't work in HTML editing in Mail
        - fixed <rdar://problem/3788857> REGRESSION (Mail): Home and End keys don't work in message composer
        - fixed <rdar://problem/3788884> REGRESSION (Mail): ctrl-d emacs key binding does not work (delete forward)
        - fixed <rdar://problem/3788890> REGRESSION (Mail): ctrl-k emacs key binding does not work (delete to end of paragraph)
        - fixed <rdar://problem/3788899> REGRESSION (Mail): ctrl-y emacs key binding does not work (yank)
        - fixed <rdar://problem/3788901> REGRESSION (Mail): ctrl-o emacs key binding does not work (insert newline in front of insertion point)
        - fixed <rdar://problem/3788908> REGRESSION (Mail): ctrl-left-arrow emacs key binding does not work (move to beginning of line)
        - fixed <rdar://problem/3788913> REGRESSION (Mail): ctrl-right-arrow emacs key binding does not work (move to end of line)
        - implemented a first cut at other attribute changes from Text Panel besides underline (bugs?)
        - dealt with a couple of FIXMEs in WebHTMLView.m
        - updated list of not-yet-implemented methods in WebHTMLView.m
        - fixed many deletion operations to call the correct editing delegate methods

        * WebView.subproj/WebFrameViewPrivate.h: Remove _scrollToTopLeft and _scrollToBottomLeft.
        No one was calling them anyway, so they should really have been marked internal and not private.
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView scrollToBeginningOfDocument:]): Renamed _scrollToTopLeft to this, so the home key
        would start working with the key bindings machinery.
        (-[WebFrameView scrollToEndOfDocument:]): Same thing, for end key.
        (-[WebFrameView keyDown:]): Update for name changes, and also make sure we don't try to grab
        control-arrow keys here (probably not necessary, but good anyway).

        * WebView.subproj/WebHTMLViewInternal.h: Added keyDownEvent field, and startNewKillRingSequence
        and nextResponderDisabledOnce flags.
        * WebView.subproj/WebHTMLView.m:
        Rearrange declarations at the top of the file so that external things are up with
        the #import directives and things inside this file are declared below.
        (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): Ditto.
        (-[WebHTMLView _calculatePrintHeight]): Moved up into the "internal to file" category.
        (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
        (-[WebHTMLView _selectedRange]): Added.
        (-[WebHTMLView _openLinkFromMenu:]): Left this method lying around even though I deleted the
        other APPKIT_CODE_FOR_REFERENCE in case this shows up in the context menu we are now sharing
        with the AppKit. Chris will look at this later, and he can delete it then.
        (+[WebHTMLView initialize]): Call _NSInitializeKillRing.
        (-[WebHTMLView _documentRange]): Added.
        (-[WebHTMLView string]): Call the bridge to get the plain text rather than making an attributed
        string and then getting the text from there.
        (-[WebHTMLView becomeFirstResponder]): Set startNewKillRingSequence flag, so that new deletions
        will create a new kill ring entry.
        (-[WebHTMLView moveToBeginningOfDocument:]): Use backward direction instead of left direction.
        (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
        (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
        (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToEndOfDocument:]): Use forward direction instead of right direction.
        (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToEndOfLine:]): Ditto.
        (-[WebHTMLView moveToEndOfLineAndModifySelection:]): Ditto.
        (-[WebHTMLView moveToEndOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
        (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
        (-[WebHTMLView _shouldDeleteRange:]): Added.
        (-[WebHTMLView _deleteRange:preflight:killRing:prepend:]): Added.
        (-[WebHTMLView delete:]): Changed to call new _deleteRange method.
        (-[WebHTMLView cut:]): Changed to preflight property and call new _deleteRange method.
        (-[WebHTMLView _selectionFontAttributes]): Added.
        (-[WebHTMLView _selectionFontAttributesAsRTF]): Added.
        (-[WebHTMLView _fontAttributesFromFontPasteboard]): Added.
        (-[WebHTMLView _emptyStyle]): Added.
        (-[WebHTMLView _styleFromFontAttributes:]): Added.
        (-[WebHTMLView _applyStyleToSelection:]): Added.
        (-[WebHTMLView copyFont:]): Implemented.
        (-[WebHTMLView pasteFont:]): Implemented.
        (-[WebHTMLView _originalFontA]): Added.
        (-[WebHTMLView _originalFontB]): Added.
        (-[WebHTMLView _addToStyle:fontA:fontB:]): Added. Has code from the method that figures out
        what the font manager is doing for changeFont:, now needed for changeAttribute: too.
        (-[WebHTMLView _styleFromFontManagerOperation]): Renamed and now calls shared methods.
        (-[WebHTMLView changeFont:]): Call shared method, still does the same thing.
        (-[WebHTMLView _colorAsString:]): Added. Has code from the method we were using with the
        color panel before.
        (-[WebHTMLView _shadowAsString:]): Added.
        (-[WebHTMLView _styleForAttributeChange:]): Added.
        (-[WebHTMLView changeAttributes:]): Implemented.
        (-[WebHTMLView _styleFromColorPanelWithSelector:]): Renamed and now calls shared methods.
        (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): Call method by new name.
        (-[WebHTMLView changeDocumentBackgroundColor:]): Call method by new name.
        (-[WebHTMLView changeColor:]): Changed around a bit; still doesn't work yet.
        (-[WebHTMLView _alignSelectionUsingCSSValue:]): Call shared methods.
        (-[WebHTMLView indent:]): Removed, since NSTextView doesn't implement this method. Added to list
        of methods to possibly implement later in the file.
        (-[WebHTMLView insertTab:]): Call insertText: to save code and so we get WebViewInsertActionTyped
        instead of WebViewInsertActionPasted.
        (-[WebHTMLView changeCaseOfLetter:]): Removed, since NSTextView doesn't implement this method.
        Added to list of methods to possibly implement later in the file.
        (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Added.
        (-[WebHTMLView deleteForward:]): Implemented. This makes Control-D work.
        (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Implemented by just calling
        deleteBackward for now; probably better than doing nothing.
        (-[WebHTMLView deleteWordForward:]): Changed to call new _delete method above. Fixes things
        so that we delete the selection if there is one, get the appropriate delegate calls, handle
        the kill ring properly, and don't do any selection if we can't delete.
        (-[WebHTMLView deleteWordBackward:]): Ditto.
        (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
        (-[WebHTMLView deleteToEndOfLine:]): Ditto.
        (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
        (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. Added additional behavior needed since this
        is bound to Control-K, so it's not really just delete to end of paragraph.
        (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Added. Calls insertNewline:.
        (-[WebHTMLView insertTabIgnoringFieldEditor:]): Added. Calls insertTab:.
        (-[WebHTMLView subscript:]): Added.
        (-[WebHTMLView superscript:]): Added.
        (-[WebHTMLView unscript:]): Added.
        (-[WebHTMLView underline:]): Added.
        (-[WebHTMLView yank:]): Added.
        (-[WebHTMLView yankAndSelect:]): Added. Calls _insertText.
        (-[WebHTMLView _arrowKeyDownEventSelectorIfPreprocessing:]): Added. Part of workaround for
        control-arrow key trouble.
        (-[WebHTMLView respondsToSelector:]): Added. More of workaround.
        (-[WebHTMLView nextResponder:]): Added. More of workaround.
        (-[WebHTMLView _selectionChanged]): Set startNewKillRingSequence flag, so that new deletions
        will create a new kill ring entry.
        (-[WebHTMLView _updateFontPanel]): Remove a bunch of code here that wasn't working very well
        because it walked a DOM range incorrectly, and instead use the new method that does all the
        right stuff on the other side of the bridge.
        (-[WebHTMLView _insertText:selectInsertedText:]): Added new helper method for use by both
        insertText and yankAndSelect, with most of the guts of insertText and one additional parameter.
        (-[WebHTMLView insertText:]): Call the new _insertText.

        * WebView.subproj/WebView.m: Use macros to make the forwarding from WebView more terse.
        Updated the list to include a few methods it didn't before.

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

18 years ago Reviewed by John.
darin [Mon, 6 Sep 2004 23:30:27 +0000 (23:30 +0000)]
    Reviewed by John.

        - improved computed style code and implemented text-decoration and text-shadow (needed for, e.g., underline)

        * khtml/css/css_computedstyle.cpp:
        Added CSS_PROP_TEXT_DECORATION to the InheritableProperties array for now even though it's
        not inheritable. This makes underline work in some cases for typing style. We may decide to
        take it back out again after further consideration.
        (DOM::valueForLength): Use IDs in primitive values rather than strings.
        (DOM::valueForBorderStyle): Ditto, also renamed this.
        (DOM::valueForTextAlign): More of the same.
        (DOM::valueForShadow): Added this function.
        (DOM::CSSComputedStyleDeclarationImpl::getPositionOffsetValue): More IDs in primitive values.
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Changed all the cases to use
        IDs instead of strings in primitive values. Also put the style in a local variable for
        better code size and smaller source code too. Added implementation for CSS_PROP_TEXT_DECORATION

        * khtml/css/css_valueimpl.cpp:
        (CSSValueListImpl::cssText): Put commas between list elements.
        (CSSPrimitiveValueImpl::cssText): Fixed some messed up indenting and removed an unneeded
        default case that would just prevent a warning if we ever have an unhandled enum value.

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

18 years ago Reviewed by John.
darin [Mon, 6 Sep 2004 23:23:15 +0000 (23:23 +0000)]
    Reviewed by John.

        - did some clean-up on form data code

        * khtml/misc/formdata.h: Added more public functions as suggested by Chris when he reviewed
        this class.
        * khtml/misc/formdata.cpp: (khtml::FormData::appendFile): Added. Will be needed soon.
        * kwq/KWQFormData.mm: (arrayFromFormData): Use new cleaned-up FormData API.

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

18 years ago Reviewed by John.
darin [Mon, 6 Sep 2004 23:22:15 +0000 (23:22 +0000)]
    Reviewed by John.

        * kwq/DOM-CSS.mm: (-[DOMCSSStyleDeclaration description]): Use cssText in the description
        so it's easier to see in the debugger.

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

18 years ago Reviewed by John.
darin [Mon, 6 Sep 2004 23:21:48 +0000 (23:21 +0000)]
    Reviewed by John.

        * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::send): Remove uneeded QCString copy.

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

18 years agoWebKit:
sullivan [Mon, 6 Sep 2004 21:13:50 +0000 (21:13 +0000)]

        Reviewed by Darin.

        - put preference keys in a private header file so Safari can use them for Managed Preferences

        * WebView.subproj/WebPreferenceKeysPrivate.h:
        new Private header file, includes the #defines for NSUserDefaults preference keys

        * WebView.subproj/WebPreferences.m:
        moved the preference key #defines out of here; now imports WebPreferenceKeysPrivate.h

        * WebKit.pbproj/project.pbxproj:
        updated for new file


        Reviewed by Darin.

        - fixed these bugs:
        <rdar://problem/3786507> Safari's managed preferences manifest needs to be
        brought up to date and made localizable
        <rdar://problem/3550533> Would like Safari to make more preferences "managed"
        in the Managed Preferences sense

        * Preferences.subproj/AdvancedPreferences.m:
        (-[AdvancedPreferences updateStyleSheetMenu]):
        disable popup button if style sheet enabled-ness or location is forced
        (-[AdvancedPreferences updateMinFontSizeViews]):
        disable checkbox and combo box if min font size value is forced
        (-[AdvancedPreferences updateTabToAllViews]):
        disable checkbox if tab-to-links value is forced

        * Preferences.subproj/AppearancePreferences.h:
        new outlets for "Select" buttons
        * Preferences.subproj/English.lproj/AppearancePreferences.nib:
        wire up "Select" button outlets
        * Preferences.subproj/AppearancePreferences.m:
        (-[AppearancePreferences updateDefaultCharacterSetPopup]):
        disable popup if text encoding value is forced
        (-[AppearancePreferences initializeFromDefaults]):
        disable each "Select" button if the font or font size is forced

        * Preferences.subproj/AutoFillPreferences.m:
        (-[AutoFillPreferences updateViews]):
        disable each checkbox if its value is forced

        * Preferences.subproj/BookmarkPreferences.m:
        (-[BookmarkPreferences setUpCheckbox:fromPreferenceKey:]):
        renamed from "setStateOfCheckbox:..."; now disables checkbox
        if the preference key value is forced
        (-[BookmarkPreferences updateBookmarksViews]):
        updated for name change

        * Preferences.subproj/GeneralPreferences.m:
        (-[GeneralPreferences updateExternalLinkPolicyViews]):
        disable radio buttons if value is forced
        (-[GeneralPreferences initializeFromDefaults]):
        disable new window policy popup, downloads clearing policy popup, and/or
        auto-open downloads checkbox if its value is forced

        * Preferences.subproj/SecurityPreferences.m:
        (-[SecurityPreferences updateJavaScriptViews]):
        disable javascript and/or block popups checkbox if its value is forced
        (-[SecurityPreferences updateMiscellaneousSecurityViews]):
        disable insecure forms checkbox if its value is forced
        (-[SecurityPreferences initializeFromDefaults]):
        disable java checkbox and/or plugins checkbox if its value is forced

        * Preferences.subproj/TabsPreferences.m:
        (-[TabsPreferences updateViews]):
        disable each checkbox if its value is forced

        * PrintingAccessoryViewController.m:
        (-[PrintingAccessoryViewController accessoryView]):
        disable each checkbox if its value is forced

        * Resources/com.apple.Safari.manifest/Contents/Resources/com.apple.Safari.manifest:
        updated key names to match latest spec; removed keys that have been removed in latest
        spec (pfm_print_string and pfm_ui_category); added pfm_titles; removed periods from
        pfm_descriptions since they aren't sentences; made all keys user-managed

        * Resources/com.apple.Safari.manifest/Contents/Resources/English.lproj/Localizable.strings:
        created contents from com.apple.Safari.manifest. I did this by hand this time, but wrote
        bug 3789768 about automating it later.

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

18 years agoRemoved this test, since it doesn't work reliably.
darin [Mon, 6 Sep 2004 17:15:20 +0000 (17:15 +0000)]
Removed this test, since it doesn't work reliably.
We can bring it back some day if we like.

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