WebKit-https.git
15 years ago Reviewed by Dave Hyatt.
sullivan [Mon, 31 Jan 2005 19:14:35 +0000 (19:14 +0000)]
    Reviewed by Dave Hyatt.

        - fixed <rdar://problem/3949203> cannot tab to, within, or out of the RSS sidebar

        * kwq/KWQSlider.mm:
        (-[KWQSlider becomeFirstResponder]):
        (-[KWQSlider resignFirstResponder]):
        (-[KWQSlider nextKeyView]):
        (-[KWQSlider previousKeyView]):
        (-[KWQSlider canBecomeKeyView]):
        (-[KWQSlider nextValidKeyView]):
        (-[KWQSlider previousValidKeyView]):
        Copied these methods from KWQButton. The lack of special handling for first-responder-ness
        here was causing the focus to get "stuck" on the RSS page's slider widget. Added FIXME
        about how it would be nice to share more of this code rather than replicating it in each
        KWQ widget subclass.

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

15 years ago Reviewed by Harrison.
darin [Mon, 31 Jan 2005 18:58:42 +0000 (18:58 +0000)]
    Reviewed by Harrison.

        - fixed <rdar://problem/3980066> Double-click on single character moves insertion point to previous line

        * khtml/khtml_part.cpp:
        (KHTMLPart::selectClosestWordFromMouseEvent): Set affinity too.
        (KHTMLPart::handleMousePressEventTripleClick): Ditto.
        (KHTMLPart::handleMouseMoveEventSelection): Ditto.
        (KHTMLPart::khtmlMouseReleaseEvent): Ditto.

        * khtml/editing/selection.cpp:
        (khtml::Selection::modifyExtendingRightForward): Use endOfLine and endOfDocument.
        (khtml::Selection::modifyMovingRightForward): Ditto.
        (khtml::Selection::modifyExtendingLeftBackward): Use startOfLine and startOfDocument.
        (khtml::Selection::modifyMovingLeftBackward): Ditto.
        (khtml::Selection::validate): Rewrote the section that handles double-click. Two main fixes: 1) use isStartOfLine to
        check for another case where we want to select the word to the right, and 2) use isEndOfParagraph, which seems
        to work correctly in cases where isLastVisiblePositionInParagraph is giving the wrong answer. Also changed the line
        code to use startOfLine/endOfLine and the document code to use startOfDocument/endOfDocument.

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

15 years ago Reviewed by Harrison.
darin [Mon, 31 Jan 2005 18:49:14 +0000 (18:49 +0000)]
    Reviewed by Harrison.

        - fixed <rdar://problem/3935275> unexpected quit scrolling over link; last.fm (works in IE and Firefox)

        * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): By using the correct document, fix the crash reported here.
        The page still crashes when you close the browser window, but it's not trivial to fix so I'll file a new bug after that.

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

15 years ago[3903199] Large background patterns slide around while loading
jens [Mon, 31 Jan 2005 18:48:53 +0000 (18:48 +0000)]
[3903199] Large background patterns slide around while loading

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

15 years ago Reviewed by Ken and Harrison.
darin [Mon, 31 Jan 2005 18:03:15 +0000 (18:03 +0000)]
    Reviewed by Ken and Harrison.

        - fixed <rdar://problem/3947901> REGRESSION (Mail): Pasting paragraph of rich text leaves insertion point before pasted text
        - fixed <rdar://problem/3949790> hitting return after underlined line results in too much or too little underlined
        - fixed <rdar://problem/3981759> nil-deref and crash when pasting just a paragraph break
        - fixed a couple problems I discovered while working with bug 3949790

        * khtml/editing/htmlediting.cpp:
        (khtml::ApplyStyleCommand::applyInlineStyle): Pass StayInBlock to upstream. Without this, we end up going too far
        upstream in the test case in bug 3949790.
        (khtml::ApplyStyleCommand::removeInlineStyle): Pass StayInBlock to upstream and downstream. Same reason as above.
        (khtml::ReplaceSelectionCommand::doApply): Update endPos if inserting a new node and endPos is using that node's
        parent and an offset past the node being inserted. That change fixes a problem with the position of the insertion point
        after pasting into the top level of a document (from test cases in 3947901 and 3949790). When setting insertionPos, use
        code that works when lastNodeInserted is a block rather than a text node. That change fixes a problem where a newline is
        not added when pasting an entire paragraph into the end of a document (from test case in 3949790). Added nil check before
        checking if lastNodeInserted is a <br> element, which fixes the crash when pasting just a paragraph break.

        * khtml/editing/visible_units.h: Filled out the set of calls to add some boolean checks for lines (needed for the
        bug fix), and calls for blocks (not yet implemented), and documents. The document checks may need refinement to
        properly handle documents with a mix of editable and non-editable content, but for now they just refactor code
        and make things a little clearer. Also removed the "include line break" parameter from endOfSentence.
        * khtml/editing/visible_units.cpp:
        (khtml::rootBoxForLine): Added.
        (khtml::startOfLine): Added. Algorithm taken from selectionForLine in selection.cpp.
        (khtml::endOfLine): Ditto.
        (khtml::inSameLine): Added.
        (khtml::isStartOfLine): Added.
        (khtml::isEndOfLine): Added.
        (khtml::endOfSentence): Removed "include line break" parameter.
        (khtml::inSameParagraph): Added a null check.
        (khtml::isStartOfParagraph): Ditto.
        (khtml::isEndOfParagraph): Ditto.
        (khtml::startOfBlock): Added.
        (khtml::endOfBlock): Added.
        (khtml::inSameBlock): Added.
        (khtml::isStartOfBlock): Added.
        (khtml::isEndOfBlock): Added.
        (khtml::startOfDocument): Added.
        (khtml::endOfDocument): Added.
        (khtml::inSameDocument): Added.
        (khtml::isStartOfDocument): Added.
        (khtml::isEndOfDocument): Added.

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

15 years ago Reviewed by John.
darin [Sun, 30 Jan 2005 18:21:08 +0000 (18:21 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3977000> form data set posted for <input type="image" ...> omits name/value pair

        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLInputElementImpl::appendFormData): Append a name/value pair for type IMAGE in addition to the X/Y
        coordinates.

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

15 years ago Reviewed by John.
darin [Sun, 30 Jan 2005 18:08:41 +0000 (18:08 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3974246> REGRESSION (125-180): popup menus are missing item text on Harmony Remote web site

        * khtml/html/html_formimpl.cpp: (DOM::HTMLOptionElementImpl::text): Change this function to traverse the entire tree
        and gather all the text rather than just looking at immediate children.

        * khtml/xml/dom_nodeimpl.h: Added const.
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::traverseNextNode): Added const.
        (NodeImpl::traverseNextSibling): Ditto.
        (NodeImpl::traversePreviousNodePostOrder): Ditto.
        (NodeImpl::detach): Add a missing nil check.

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

15 years agoWebKit:
darin [Sun, 30 Jan 2005 17:52:27 +0000 (17:52 +0000)]
WebKit:

        Reviewed by John.

        - fixed <rdar://problem/3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter)

        * WebView.subproj/WebPreferencesPrivate.h: Added _systemCFStringEncoding, and changed
        _setInitialDefaultTextEncodingToSystemEncoding to be a class method.
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences _systemCFStringEncoding]): Added. New SPI to be used by Safari. Broken out of
        _setInitialDefaultTextEncodingToSystemEncoding, but also added cases for MacArabic and MacHebrew.
        (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Refactor to use _systemCFStringEncoding.

WebBrowser:

        - fixed <rdar://problem/3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter)

        * Preferences.subproj/AppearancePreferences.m: (-[AppearancePreferences awakeFromNib]): Use the
        new +[WebPreferences _systemCFStringEncoding] instead of CFStringGetSystemEncoding because the latter
        can return Mac-specific encodings that we never want to use.
        * TextEncodingMenu.m: (-[NSMenu addStandardTextEncodingMenuItemsWithTarget:action:preferredEncoding:]):
        Same as above.

        * AppController.m: (-[AppController applicationDidFinishLaunching:]): Update call to use class method.

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

15 years ago Reviewed by John.
darin [Sun, 30 Jan 2005 17:33:03 +0000 (17:33 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3864536> crash copying text from other apps and pasting in a sticky in dashboard

        * khtml/editing/markup.cpp: (khtml::createFragmentFromText): Added missing ref/deref of newly created element.

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

15 years ago * khtml/css/cssproperties.c: Regenerated with newer gperf.
darin [Sat, 29 Jan 2005 00:38:43 +0000 (00:38 +0000)]
    * khtml/css/cssproperties.c: Regenerated with newer gperf.

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

15 years ago Fixed <rdar://problem/3980389> JavaScript bindings access incorrect runtime object
rjw [Sat, 29 Jan 2005 00:13:35 +0000 (00:13 +0000)]
Fixed <rdar://problem/3980389> JavaScript bindings access incorrect runtime object

Only use special 'back door' property to get the runtime object if thisObj isn't
already a runtime object.

<gratuitous> Cleaned up a couple of strcmp on ClassInfo name.  Used == on
ClassInfo pointer instead.

        Reviewed by Chris.

        * bindings/c/c_utility.cpp:
        (convertValueToNPVariant):
        * bindings/objc/WebScriptObject.mm:
        (+[WebScriptObject _convertValueToObjcValue:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
        * bindings/runtime_method.cpp:
        (RuntimeMethodImp::call):

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

15 years ago[3727680] printing some page with WebKit generates a PDF with a 1x1 image with soft...
jens [Fri, 28 Jan 2005 23:19:13 +0000 (23:19 +0000)]
[3727680] printing some page with WebKit generates a PDF with a 1x1 image with soft mask

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

15 years ago Reviewed by John Sullivan.
harrison [Fri, 28 Jan 2005 23:02:14 +0000 (23:02 +0000)]
    Reviewed by John Sullivan.

        <rdar://problem/3968144> AX need to be able to focus an AXLink by setting AXFocused to true

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject accessibilityPerformAction:]):
        (-[KWQAccObject accessibilityIsAttributeSettable:]):
        Add AXFocused for AXLinks.

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

15 years ago Reviewed by Darin.
harrison [Fri, 28 Jan 2005 21:26:34 +0000 (21:26 +0000)]
    Reviewed by Darin.

        <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch

        Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.

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

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

15 years ago Reviewed by Darin.
harrison [Fri, 28 Jan 2005 21:04:22 +0000 (21:04 +0000)]
    Reviewed by Darin.

        <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch

        Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject _accessibilityParentForSubview:]):
        New.

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

15 years ago WebKit side of: <rdar://problem/3951283> can view pages from the back/forward cache...
cblu [Fri, 28 Jan 2005 19:30:09 +0000 (19:30 +0000)]
WebKit side of: <rdar://problem/3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls

        Reviewed by john.

        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:shouldGoToHistoryItem:]): new private delegate method
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _goToItem:withLoadType:]): call new delegate method
        * WebView.subproj/WebPolicyDelegatePrivate.h:

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

15 years ago fixed by Darin, reviewed by me.
adele [Fri, 28 Jan 2005 03:20:11 +0000 (03:20 +0000)]
    fixed by Darin, reviewed by me.

        <rdar://problem/3976314> REGRESSION (180-TOT): submitting password fields fail on Panther

        * kwq/KWQTextField.mm: (-[KWQTextFieldController string]): on panther, the secure text field's editor
        does not contain the real string, so now we just call stringValue on the field in that case.

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

15 years agoTweak the previous checkin to deal with a dynamic change to 0 results properly.
hyatt [Fri, 28 Jan 2005 01:16:20 +0000 (01:16 +0000)]
Tweak the previous checkin to deal with a dynamic change to 0 results properly.

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

15 years agoWebCore:
mjs [Fri, 28 Jan 2005 01:13:07 +0000 (01:13 +0000)]
WebCore:

        Reviewed by Darin, Hyatt and Ken.

<rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration

        * khtml/css/css_computedstyle.cpp:
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Add support
for -khtml-text-decorations-in-effect property. This works like text-docration
but follows proper inline semantics, that is, if a parent is causing text
decoration then -khtml-text-decorations-in-effect on this element will reflect that.
        * khtml/css/cssproperties.in: Add -khtml-text-decorations-in-effect property.
        * khtml/css/cssproperties.h: regenerated
        * khtml/css/cssvalues.c: regenerated
        * khtml/css/cssparser.cpp: regenerated
        * khtml/css/cssproperties.c: regenerated

        * khtml/css/css_valueimpl.h: Made copyPropertiesInSet public.

        * khtml/editing/htmlediting.cpp:
        (khtml::StyleChange::init): Handle -khtml-text-decorations-in-effect
specially, translate to text-decoration
        (khtml::ApplyStyleCommand::applyInlineStyle): Fix a comment.
        (khtml::ApplyStyleCommand::removeInlineStyle): Add new way of pushing down
text-decoration styles around the edges of the selected range.
        (khtml::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Helper for this.
        (khtml::ApplyStyleCommand::pushDownTextDecorationStyleAtBoundaries): ditto
        (khtml::ApplyStyleCommand::nodeFullyUnselected): ditto
        (khtml::hasTextDecorationProperty): ditto
        (khtml::highestAncestorWithTextDecoration): ditto
        (khtml::ApplyStyleCommand::extractTextDecorationStyle): ditto
        (khtml::ApplyStyleCommand::extractAndNegateTextDecorationStyle): ditto
        (khtml::ApplyStyleCommand::applyTextDecorationStyle): ditto
        * khtml/editing/htmlediting.h: Prototype new methods.
        * khtml/editing/jsediting.cpp: Make underline execCommand use the new CSS property.

- as a necessary part of the fix, fixed the longstanding problem
that mutating an element's inlineStyleDecl would not property
update its style attribute. now it does.

        * khtml/css/css_valueimpl.cpp:
        (DOM::CSSMutableStyleDeclarationImpl::setChanged): If this is an inline style
declaration, tell the element it's style attribute needs updating.
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::invalidateStyleAttribute): New method, just calls down
to the dom element.
        (HTMLElementImpl::updateStyleAttribute): Regenerate style attribute from
inline style declaration.
        * khtml/html/html_elementimpl.h: Prototype new stuff.
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::ElementImpl): Initialize new attribute.
        (ElementImpl::updateStyleAttributeIfNeeded): New method to check if the style
is dirty and this is an html element, and if so call the html element to
regenerate the style attribute.
        (ElementImpl::attributes): update style if needed
        (ElementImpl::getAttribute): ditto
        (ElementImpl::hasAttributes): ditto
        (ElementImpl::dump): ditto
        (XMLElementImpl::cloneNode): ditto
        * khtml/xml/dom_elementimpl.h:
        (DOM::ElementImpl::isStyleAttributeValid): new method to manage style attr
dirty bit
        (DOM::ElementImpl::setStyleAttributeValid): ditto

- added new layout tests for underlining:

        * layout-tests/editing/editing.js:
        * layout-tests/editing/style/remove-underline-across-paragraph-expected.txt: Added.
        * layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Added.
        * layout-tests/editing/style/remove-underline-across-paragraph-in-bold.html: Added.
        * layout-tests/editing/style/remove-underline-across-paragraph.html: Added.
        * layout-tests/editing/style/remove-underline-after-paragraph-expected.txt: Added.
        * layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt: Added.
        * layout-tests/editing/style/remove-underline-after-paragraph-in-bold.html: Added.
        * layout-tests/editing/style/remove-underline-after-paragraph.html: Added.
        * layout-tests/editing/style/remove-underline-expected.txt: Added.
        * layout-tests/editing/style/remove-underline-from-stylesheet-expected.txt: Added.
        * layout-tests/editing/style/remove-underline-from-stylesheet.html: Added.
        * layout-tests/editing/style/remove-underline-in-bold-expected.txt: Added.
        * layout-tests/editing/style/remove-underline-in-bold.html: Added.
        * layout-tests/editing/style/remove-underline.html: Added.
        * layout-tests/editing/style/underline-expected.txt: Added.
        * layout-tests/editing/style/underline.html: Added.

WebKit:

        Reviewed by Darin, Hyatt and Ken.

<rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _styleFromFontAttributes:]): Use new -khtml-text-decorations-in-effect
property
        (-[WebHTMLView _styleForAttributeChange:]): likewise
        (-[WebHTMLView underline:]): likewise

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

15 years ago Fix for 3875199, search field needs to be able to show a magnifying glass without...
hyatt [Fri, 28 Jan 2005 00:56:52 +0000 (00:56 +0000)]
Fix for 3875199, search field needs to be able to  show a magnifying  glass without a dropdown menu.

        Reviewed by kocienda

        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLInputElementImpl::HTMLInputElementImpl):
        (DOM::HTMLInputElementImpl::parseHTMLAttribute):
        * kwq/KWQLineEdit.mm:
        (QLineEdit::setMaxResults):

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

15 years agoWebCore:
kocienda [Fri, 28 Jan 2005 00:43:57 +0000 (00:43 +0000)]
WebCore:

        Reviewed by Maciej

        Fix for this bug:

        <rdar://problem/3973254> Deletions of ranges does not coalesce correctly with subsequent typing

        * khtml/editing/htmlediting.cpp:
        (khtml::InsertTextCommand::deleteCharacter): Remove this dead code.
        (khtml::ReplaceSelectionCommand::editingAction): Moved this code to a better place in the file.
        It was in with unrelated functions.
        (khtml::TypingCommand::TypingCommand): Reorganize initialization list so it is easier to read.
        (khtml::TypingCommand::issueCommandForDeleteKey): Remove dead code. Roll in remaining code into deleteKeyPressed.
        (khtml::TypingCommand::deleteKeyPressed): Add in support for carrying along smart delete flag.
        (khtml::TypingCommand::forwardDeleteKeyPressed): New function. Makes forward delete work like
        "regular" delete in terms of coalescing typing.
        (khtml::TypingCommand::doApply): Add case for ForwardDeleteKey.
        (khtml::TypingCommand::preservesTypingStyle): Ditto.
        * khtml/editing/htmlediting.h:
        (khtml::TypingCommand::): Add ForwardDeleteKey constant. Remove a couple declarations for now-dead code.
        (khtml::TypingCommand::smartDelete): New accessor.
        (khtml::TypingCommand::setSmartDelete): Ditto.
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge deleteKeyPressedWithSmartDelete:]): Add smart delete flag.
        (-[WebCoreBridge forwardDeleteKeyPressedWithSmartDelete:]): New method.
        * khtml/editing/jsediting.cpp: Add supprt for ForwardDelete command
        * layout-tests/editing/editing.js: Ditto.
        * layout-tests/editing/deleting/delete-and-undo-expected.txt: Added.
        * layout-tests/editing/deleting/delete-and-undo.html: Added.
        * layout-tests/editing/deleting/forward-delete-expected.txt: Added.
        * layout-tests/editing/deleting/forward-delete.html: Added.

WebKit:

        Reviewed by Maciej

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleKillRing:prepend:]): New helper function. Code factored out from
         _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:.
        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]): No longer takes
        unused preflight argument. Now takes new isTypingAction argument. Uses isTypingAction to
        determine which flavor of delete command to call.
        (-[WebHTMLView _deleteSelection]): No longer passes unused preflight argument. Now passes new isTypingAction argument.
        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Rearranged code to call
        correct flavor of delete command, based on whether typing should be preserved. Some other cleanups.
        (-[WebHTMLView deleteForward:]): Add _isEditable check.
        (-[WebHTMLView deleteBackward:]): Now calls _deleteWithDirection instead of having unique behavior different
        from forward delete.
        (-[WebHTMLView deleteWordForward:]): Add new isTypingAction flag to _deleteWithDirection call.
        (-[WebHTMLView deleteWordBackward:]): Ditto.
        (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
        (-[WebHTMLView deleteToEndOfLine:]): Ditto.
        (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
        (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
        (-[WebHTMLView deleteToMark:]): Ditto.

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

15 years agoVersioning for tip of tree, Safari 2.0 (181+).
vicki [Thu, 27 Jan 2005 23:45:48 +0000 (23:45 +0000)]
Versioning for tip of tree, Safari 2.0 (181+).

The tree is open!

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

15 years agoSafari-181 stamp
vicki [Thu, 27 Jan 2005 23:35:32 +0000 (23:35 +0000)]
Safari-181 stamp

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

15 years ago Reviewed by Ken.
harrison [Thu, 27 Jan 2005 19:36:39 +0000 (19:36 +0000)]
    Reviewed by Ken.

        <rdar://problem/3962214> AX: AXLeftLineTextMarkerRangeForTextMarker returns incorrect range

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
        Allowed for selection to end of line including the linebreak.

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

15 years ago Reviewed by Darin, Ken.
harrison [Thu, 27 Jan 2005 19:30:06 +0000 (19:30 +0000)]
    Reviewed by Darin, Ken.

        <rdar://problem/3964470> AX: Include attachments in AXAttributedStringForTextMarkerRange

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject isAttachment]):
        (-[KWQAccObject attachmentView]):
        (-[KWQAccObject role]):
        (-[KWQAccObject subrole]):
        (-[KWQAccObject roleDescription]):
        (-[KWQAccObject value]):
        (-[KWQAccObject title]):
        (-[KWQAccObject accessibilityDescription]):
        (-[KWQAccObject accessibilityIsIgnored]):
        (-[KWQAccObject accessibilityAttributeNames]):
        (-[KWQAccObject accessibilityAttributeValue:]):
        Make attachments accessible.

        (CreateCGColorIfDifferent):
        (AXAttributeStringSetColor):
        (AXAttributeStringSetNumber):
        (AXAttributeStringSetFont):
        (AXAttributeStringSetStyle):
        (AXAttributeStringSetElement):
        (AXLinkElementForNode):
        (AXAttributedStringAppendText):
        (AXAttributedStringAppendReplaced):
        (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
        Add attachments and more text attributes to AXAttributedStringForTextMarkerRange.

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

15 years ago Reviewed by John.
darin [Thu, 27 Jan 2005 19:27:14 +0000 (19:27 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3807935> DOM CSS computed style line-height is wrong in two ways

        * khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        Use specified size rather than computed size when dealing with a percentage for line height.

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

15 years ago Reviewed by John.
darin [Thu, 27 Jan 2005 19:24:09 +0000 (19:24 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3971372> SWB: template function DOM_cast() won't compile with gcc 4.0
        - fixed other gcc 4.0 compiling problems Patrick Beard pointed out on the phone

        * kwq/DOMInternal.h: (DOM_cast): Change the "failToCompile()" trick to use a dependent name.
        Nowadays, if a name is not dependent, it is checked at template definition time. But we want
        a failure only at template instantiation time.

        * ForwardingHeaders/editing/text_granularity.h: Added. Needed but a bug in the 3.3 compiler made
        it compile anyway without this.

        - other changes

        * khtml/html/html_miscimpl.h: For clarity, mark these functions virtual too. They are automatically
        virtual because the base class ones are virtual, but it's ugly to leave it this way.

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

15 years ago Fixed: <rdar://problem/3973272> REGRESSION: Safari uses QT plugin to display PNG...
cblu [Thu, 27 Jan 2005 18:46:07 +0000 (18:46 +0000)]
Fixed: <rdar://problem/3973272> REGRESSION: Safari uses QT plugin to display PNG images

        Reviewed by john.

        * Plugins.subproj/WebBasePluginPackage.m: use renamed QT bundle ID

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

15 years ago Reviewed by Hyatt
kocienda [Thu, 27 Jan 2005 16:02:21 +0000 (16:02 +0000)]
    Reviewed by Hyatt

        Fix for this bug:

        <rdar://problem/3971609> REGRESSION (Mail): up/down arrow navigation broken after rewrapping text by resizing window
        <rdar://problem/3975661> REGRESSION (Mail): left/right arrow navigation can place insertion point after last character on line

        * khtml/editing/selection.cpp:
        (khtml::Selection::modifyAffinity): PARAGRAPH and LINE movements should not alter affinity. This was
        just a mistake before when it reset to upstream in some cases.
        * khtml/rendering/render_line.cpp:
        (khtml::RootInlineBox::closestLeafChildForXPos): Move this function down from InlineBox, and
        rework the implementation. This fixes 3971609.
        * khtml/rendering/render_line.h:
        * khtml/rendering/render_text.cpp:
        (RenderText::caretRect): Rework the algorithm to fix 3975661. This regressed when we began placing
        the spaces on the end of lines in text boxes when lines wrap.

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

15 years ago Reviewed by John.
darin [Thu, 27 Jan 2005 02:01:47 +0000 (02:01 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3829517> WebView still draws white when setDrawsBackground set to NO and no content loaded yet

        * WebView.subproj/WebFrameView.m: (-[WebFrameView drawRect:]): Check drawsBackground, and don't
        draw the white "no document" background if it's NO. This fixes things for frames with no document.
        * WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): Same as above. This fixes things
        for frames with just an image.
        * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the
        document view if it implements it. This fixes things for frames with plain text.

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

15 years agoJavaScriptCore:
rjw [Wed, 26 Jan 2005 21:38:10 +0000 (21:38 +0000)]
JavaScriptCore:
Fixed <rdar://problem/3972522> (179-180) 40% slowdown on iBench JavaScript test

I added a member variable to ObjectImp.  This changed it's size and consequently
hampered the optimizations built into the garbage collector.  Objects no longer
fit within the allocators cell size, and thus allocation fell back to a slower
allocator.

As a result of this fix I also dramatically cleaned up how runtime objects are
accessed.  The path mostly *removes* code.

        Reviewed by Chris.

        * bindings/runtime_method.cpp:
        (RuntimeMethodImp::call):
        * bindings/runtime_object.cpp:
        (RuntimeObjectImp::get):
        (RuntimeObjectImp::put):
        (RuntimeObjectImp::canPut):
        (RuntimeObjectImp::hasProperty):
        (RuntimeObjectImp::defaultValue):
        * bindings/runtime_object.h:
        * kjs/object.cpp:
        (KJS::ObjectImp::ObjectImp):
        * kjs/object.h:

WebCore:
Fixed <rdar://problem/3972522> (179-180) 40% slowdown on iBench JavaScript test

I added a member variable to ObjectImp.  This changed it's size and consequently
hampered the optimizations built into the garbage collector.  Objects no longer
fit within the allocators cell size, and thus allocation fell back to a slower
allocator.

As a result of this fix I also dramatically cleaned up how runtime objects are
accessed.  The path mostly *removes* code.

        Reviewed by Chris.

        * khtml/ecma/kjs_dom.cpp:
        (DOMDocumentProtoFunc::tryCall):
        (DOMElementProtoFunc::tryCall):
        (KJS::getRuntimeObject):
        * khtml/ecma/kjs_dom.h:
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocument::tryGet):
        (KJS::HTMLElement::tryGet):
        (KJS::HTMLElement::implementsCall):
        (KJS::HTMLElement::call):
        (KJS::HTMLElement::tryPut):
        (KJS::HTMLCollection::tryGet):
        (KJS::HTMLCollection::getNamedItems):
        * khtml/ecma/kjs_html.h:
        * khtml/ecma/kjs_window.cpp:
        (Window::get):

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

15 years ago Fixed <rdar://problem/3757712> REGRESSION (Mail): WebCore does not allow Devanagari...
rjw [Wed, 26 Jan 2005 21:26:49 +0000 (21:26 +0000)]
Fixed <rdar://problem/3757712> REGRESSION (Mail): WebCore does not allow Devanagari ligature input

For now we are using ICU UBreakIterator to determine grapheme boundaries for
cursor and deletion.  This does not match what Cocoa does exactly, but does match
what Carbon does.  The areas are difference are obscure, but, according to
Deborah Goldsmith, using the UBreakIterator is the reasonable approach.

        Reviewed by Ken.

        * khtml/rendering/render_text.cpp:
        (RenderText::previousOffset):
        (RenderText::nextOffset):

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

15 years ago Reviewed by Maciej and Richard.
harrison [Wed, 26 Jan 2005 00:28:57 +0000 (00:28 +0000)]
    Reviewed by Maciej and Richard.

        <rdar://problem/3963731> AX VO: Changing window sizes causes a crash using with Voice Over - KWQPtrDictImpl::clear

        * khtml/html/html_miscimpl.cpp:
        (HTMLCollectionImpl::HTMLCollectionImpl):
        Ensure that isHTMLDocument before calling HTMLDocument-only method.

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

15 years ago Part one of fix for <rdar://problem/3757712> REGRESSION (Mail): WebCore does not...
rjw [Tue, 25 Jan 2005 22:51:19 +0000 (22:51 +0000)]
Part one of fix for <rdar://problem/3757712> REGRESSION (Mail): WebCore does not allow Devanagari ligature input

This patch changes the semantics of next() and previous() on
VisiblePosition to move a grapheme (character cluster) at a
time.  This means that cursor navigation with correctly move
over an entire cluster.

However, the expected behavior for deleting a grapheme is to
delete individual code points, thus decomposing the grapheme
into it constituent parts.  That will be addressed in the next
part of the fix.

        Reviewed by Ken.

        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::previousPosition):
        (khtml::VisiblePosition::nextPosition):
        * khtml/editing/visible_position.h:
        * khtml/rendering/render_object.cpp:
        (RenderObject::previousOffset):
        (RenderObject::nextOffset):
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_text.cpp:
        (RenderText::previousOffset):
        (RenderText::nextOffset):
        (RenderText::findNextInlineTextBox):
        * khtml/rendering/render_text.h:
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::previousOffset):
        (NodeImpl::nextOffset):
        * khtml/xml/dom_nodeimpl.h:

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

15 years ago Reviewed by Chris.
sullivan [Tue, 25 Jan 2005 22:41:36 +0000 (22:41 +0000)]
    Reviewed by Chris.

        - WebKit part of fix for: <rdar://problem/3970670> Text context menu
          in WebKit needs "Look Up in Dictionary" item

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (localizedMenuTitleFromAppKit):
        return English string in the case where AppKit bundle is found but doesn't
        contain the expected string. This case will be hit by people testing with
        an older AppKit.
        (-[WebDefaultUIDelegate menuItemWithTag:]):
        create Look Up in Dictionary item
        (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
        add Look Up in Dictionary item and separator
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
        ditto

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
        new method, handles bringing up the Dictionary window. Includes FIXMEs
        for a couple of the known loose ends.
        (-[WebHTMLView validateUserInterfaceItem:]):
        handle Look Up in Dictionary item like the other new items

        * WebView.subproj/WebUIDelegatePrivate.h:
        added SPI constant for Look Up in Dictionary menu item

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

15 years ago Reviewed by Maciej.
harrison [Tue, 25 Jan 2005 22:03:55 +0000 (22:03 +0000)]
    Reviewed by Maciej.

        <rdar://problem/3973067> AXWebArea for http://apple.netscape.com/ has an empty AXLinkUIElements

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject accessibilityAttributeValue:]):
        Omit ignored AXLinks from AXLinkUIElements result

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

15 years ago Reviewed by John
kocienda [Tue, 25 Jan 2005 21:34:22 +0000 (21:34 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3972851> REGRESSION (179-180+): Repro crash in ApplyStyleCommand::cleanUpEmptyStyleSpans

        * khtml/editing/htmlediting.cpp:
        (khtml::ApplyStyleCommand::cleanUpEmptyStyleSpans): Added two null checks.

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

15 years ago Reviewed by John
kocienda [Tue, 25 Jan 2005 21:21:08 +0000 (21:21 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3954710> Mail crashed while editing signatures - NodeImpl::isBlockFlow

        The fix is more general than for this one bug, and may work to fix many crashers. The problem
        is that the ReplaceSelectionCommand never checked whether its starting selection is empty. If
        it is, then we need to bail before doing the work of the command, which we need to deref the
        start and end points of the selection in order to do its work. I think you can see the crash
        potential.

        * khtml/editing/htmlediting.cpp:
        (khtml::ReplaceSelectionCommand::doApply): Assert selection is not empty.
        * kwq/WebCoreBridge.mm:
        (partHasSelection): New helper function to test that bridge has a part with a selection.

        Use new helper function to test part and selection; return from these function if this test fails.

        (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:])
        (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:])
        (-[WebCoreBridge alterCurrentSelection:direction:granularity:])
        (-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:])
        (-[WebCoreBridge alterCurrentSelection:verticalDistance:])
        (-[WebCoreBridge documentFragmentWithText:])
        (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:])
        (-[WebCoreBridge insertLineBreak])
        (-[WebCoreBridge insertParagraphSeparator])
        (-[WebCoreBridge insertParagraphSeparatorInQuotedContent])
        (-[WebCoreBridge insertText:selectInsertedText:])
        (-[WebCoreBridge deleteSelectionWithSmartDelete:])
        (-[WebCoreBridge ensureSelectionVisible])

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

15 years ago Reviewed by Darin.
kdecker [Tue, 25 Jan 2005 03:56:38 +0000 (03:56 +0000)]
    Reviewed by Darin.

Fixed <rdar://problem/3932374> REGRESSION: 'ReferenceError - Can't find variable' JavaScript error at webxpress.fidelity.com

        * khtml/html/html_miscimpl.h: Missing virtual identifiers for namedItem() and nextNamedItem() exposed a flaw that prevented finding variables in form [HTMLFormCollectionImpl] scopes.

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

15 years ago Fixed Panther build (missing ifdef)
mjs [Tue, 25 Jan 2005 01:18:06 +0000 (01:18 +0000)]
    Fixed Panther build (missing ifdef)

        * WebView.subproj/WebDefaultContextMenuDelegate.m:

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

15 years ago Reviewed by Darin.
sullivan [Tue, 25 Jan 2005 00:46:15 +0000 (00:46 +0000)]
    Reviewed by Darin.

        - WebKit part of fix for <rdar://problem/3960231> Text context menu in WebKit needs Spotlight and Google items

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (localizedMenuTitleFromAppKit):
        new function, gets localized string from AppKit so we can avoid adding localized
        strings to WebKit at this late date in Tiger. Returns the non-localized English
        string if we can't find the localized string in AppKit.
        (-[WebDefaultUIDelegate menuItemWithTag:]):
        handle the two new menu items by tag name
        (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
        add menu items for Search in Google and Search in Spotlight to selected-text menu item
        for the noneditable case
        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
        add menu items for Search in Google and Search in Spotlight to selected-text menu item
        for the editable case

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _searchWithGoogleFromMenu:]):
        implement this menu item action method, using same method name and implementation as NSTextView
        (-[WebHTMLView _searchWithSpotlightFromMenu:]):
        implement this menu item action method, using same basic implementation as NSTextView
        (-[WebHTMLView validateUserInterfaceItem:]):
        validate new menu items

        * WebView.subproj/WebUIDelegatePrivate.h:
        define new tags for new menu items

        * English.lproj/StringsNotToBeLocalized.txt:
        updated for these changes

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

15 years ago Reviewed by kocienda.
vicki [Tue, 25 Jan 2005 00:35:19 +0000 (00:35 +0000)]
    Reviewed by kocienda.

- fix <rdar://problem/3810661> computed style not handled for Apple extensions

        * khtml/css/css_computedstyle.cpp: (DOM::):
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): add -apple-line-clamp and -apple-text-size-adjust

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

15 years ago Reviewed by Kevin.
darin [Mon, 24 Jan 2005 22:21:48 +0000 (22:21 +0000)]
    Reviewed by Kevin.

        - fixed <rdar://problem/3969884> REGRESSION (179-180): Typing password not echoed as "bullets" at paypal.com when field is first focused

        * kwq/KWQTextField.mm: (-[KWQTextFieldController initWithTextField:QLineEdit:]):
        Sizing up the form editor, which fixes things for normal fields and search fields,
        screws things up for password fields. Eventually, I'll need to figure out why this is
        and file a bug so that the AppKit team fixes it. In the mean time, just check for the
        case of the secure text field, and don't size up in that case.

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

15 years ago Reviewed by Hyatt
kocienda [Mon, 24 Jan 2005 22:20:02 +0000 (22:20 +0000)]
    Reviewed by Hyatt

        Fix for this bug:

        <rdar://problem/3963560> 8A354: Inserting Japanese text to the line head causes line break

        * khtml/editing/htmlediting.cpp:
        (khtml::ReplaceSelectionCommand::doApply): Add one more case where we merge content into the
        existing line. This covers the situation see using the steps to reproduce this bug.

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

15 years ago Reviewed by Darin.
mjs [Mon, 24 Jan 2005 22:06:20 +0000 (22:06 +0000)]
    Reviewed by Darin.

<rdar://problem/3967572> Editing should split elements before removing style

        * khtml/editing/htmlediting.cpp:
        (khtml::CompositeEditCommand::splitElement):
        (khtml::CompositeEditCommand::mergeIdenticalElements):
        (khtml::CompositeEditCommand::wrapContentsInDummySpan):
        (khtml::CompositeEditCommand::splitTextNodeContainingElement):
        (khtml::ApplyStyleCommand::applyInlineStyle):
        (khtml::ApplyStyleCommand::splitTextAtStartIfNeeded):
        (khtml::ApplyStyleCommand::splitTextAtEndIfNeeded):
        (khtml::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
        (khtml::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
        (khtml::areIdenticalElements):
        (khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
        (khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
        (khtml::ApplyStyleCommand::cleanUpEmptyStyleSpans):
        (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
        (khtml::InsertParagraphSeparatorCommand::doApply):
        (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
        (khtml::InsertTextCommand::prepareForTextInsertion):
        (khtml::SplitTextNodeCommand::doUnapply):
        (khtml::SplitElementCommand::SplitElementCommand):
        (khtml::SplitElementCommand::~SplitElementCommand):
        (khtml::SplitElementCommand::doApply):
        (khtml::SplitElementCommand::doUnapply):
        (khtml::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand):
        (khtml::MergeIdenticalElementsCommand::~MergeIdenticalElementsCommand):
        (khtml::MergeIdenticalElementsCommand::doApply):
        (khtml::MergeIdenticalElementsCommand::doUnapply):
        (khtml::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand):
        (khtml::WrapContentsInDummySpanCommand::~WrapContentsInDummySpanCommand):
        (khtml::WrapContentsInDummySpanCommand::doApply):
        (khtml::WrapContentsInDummySpanCommand::doUnapply):
        (khtml::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand):
        (khtml::SplitTextNodeContainingElementCommand::~SplitTextNodeContainingElementCommand):
        (khtml::SplitTextNodeContainingElementCommand::doApply):
        * khtml/editing/htmlediting.h:

New layout test that shows the side benefit of this.

* layout-tests/editing/style/unbold-in-bold-expected.txt: Added.
        * layout-tests/editing/style/unbold-in-bold.html: Added.

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

15 years ago * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOm...
darin [Mon, 24 Jan 2005 21:07:10 +0000 (21:07 +0000)]
    * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]):
        Do the same check as for view types, so the representation types are consistent.

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

15 years ago Reviewed by John.
darin [Mon, 24 Jan 2005 20:48:26 +0000 (20:48 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3933435> -[DOMRange cloneContents] sometimes alters the original DOMRange

        * khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::processContents): Fixed code that was collapsing
        the range after processing the contents. That's right for extract and delete, but not clone.

        - fixed <rdar://problem/3714184> inline input works incorrectly when I type Korean slowly in textfield in form on www.google.co.kr
        - fixed <rdar://problem/3193848> Can't enter SSN to sign up for Chase visa online account (changing focus inside key press handler)
        - fixed <rdar://problem/3874683> REGRESSION (161-162): Crash after typing command-Z to undo after pasting text with newline in it into a text field <input type=text>

        * kwq/KWQLineEdit.mm:
        (QLineEdit::text): Changed to call a new string method on the controller instead of calling
        stringValue, since stringValue has a bad side effect of ending inline input.
        (QLineEdit::selectAll): Changed to only call selectText: when the field is already selected.
        When you are giving the field focus, it automatically gets all selected, and this change
        is required in the case where we defer the focus change.

        * kwq/KWQTextField.h: Added a new string method to the controller.
        * kwq/KWQTextField.mm:
        (-[KWQTextFieldController setMaximumLength:]): Call the new string method instead of using stringValue.
        (-[KWQTextFieldController controlTextDidChange:]): Removed the code to truncate at the first CR or LF.
        That's now handled in the shouldChangeTextInRange method instead.
        (-[KWQTextFieldController textView:shouldHandleEvent:]): Add new logic to defer responder changes until
        after the event is handled. This makes sure the key gets into the field that's already handling it at
        rather than ending up in the newly-focused field if the key press handler focuses a different element.
        (-[KWQTextFieldController textView:didHandleEvent:]): Turn off deferral here, now that the key press
        has been handled.
        (-[KWQTextFieldController string]): Added. Calls stringValue only if there's no editor. If there is
        an editor, calls string on that instead.
        (-[KWQTextFieldController textView:shouldChangeTextInRange:replacementString:]): Added. Called by
        the three field subclasses. Truncates incoming strings at the first CR or LF character. This works
        properly with Undo, and the old technique did not.
        (-[KWQTextFieldController preprocessString:]): Added. Helper used for all the setStringValue methods
        so they all truncate at the first CR or LF as well as truncating to the appropriate length.
        (-[KWQTextField setStringValue:]): Changed to call the controller.
        (-[KWQTextField textView:shouldChangeTextInRange:replacementString:]): Added. Calls the controller.
        (-[KWQSecureTextField setStringValue:]): More of the same.
        (-[KWQSecureTextField textView:shouldChangeTextInRange:replacementString:]): Ditto.
        (-[KWQSearchField setStringValue:]): Ditto.
        (-[KWQSearchField textView:shouldChangeTextInRange:replacementString:]): Ditto.

        * kwq/KWQWidget.h: Added the new setDeferFirstResponderChanges function.
        * kwq/KWQWidget.mm:
        (QWidget::~QWidget): Clear out the deferredFirstResponder global just in case we are destroyed
        while we "have the ball".
        (QWidget::hasFocus): If we are in the deferred mode, use the global to decide who to say is focused.
        (QWidget::setFocus): If we are in the deferred mode, set the global instead of making something be
        the first responder.
        (QWidget::setDeferFirstResponderChanges): Set the boolean. If the boolean is being cleared, then
        get the deferred first responder and call setFocus on it again, which will do the work we didn't
        want to do earlier.

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

15 years ago Reviewed by John.
darin [Mon, 24 Jan 2005 20:48:16 +0000 (20:48 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3791158> REGRESSION (Mail): copyFont: and pasteFont: copy and paste only the NSFont, not other attributes

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Added the last
        few loose ends here: strikethrough and underline.

        - fixed <rdar://problem/3967393> add a user default that lets you turn off WebKit PDF support

        * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
        Leave the PDF-handling classes out of the dictionary if the secret default is set.

        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

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

15 years ago Reviewed by John
kocienda [Mon, 24 Jan 2005 18:28:43 +0000 (18:28 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3964350> Deleting all content and typing in a message gets one letter, then beeps

        This is a problem with the way we turn key events, when a user starts typing, into editing commands.
        Right now, that initial delete key in an empty window is turned into an editing command, and much
        editing code runs that need not run. What's more, this is confusing the selection machinery. The
        solution is to detect the "delete in an empty window" case and don't turn this into an editing
        command at all.

        * khtml/editing/htmlediting.cpp:
        (khtml::TypingCommand::deleteKeyPressed)

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

15 years ago Fixed <rdar://problem/3964286> REGRESSION (178-179): menus and "go to old...
adele [Mon, 24 Jan 2005 01:09:12 +0000 (01:09 +0000)]
    Fixed <rdar://problem/3964286> REGRESSION (178-179): menus and "go to old site" link at Ameritrade's new site don't work

        Removed check for document from checkCompleted.  In this case, WebCore never knew that a WebImageView was complete because
        it fell into this document check case in checkCompleted.
        Added check for document to tokenizerProcessedData (see <rdar://problem/3807144>)

        Reviewed by Darin.

        * khtml/khtml_part.cpp:
        (KHTMLPart::stop):
        (KHTMLPart::checkCompleted):
        * khtml/khtml_part.h:
        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::tokenizerProcessedData):

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

15 years ago Fixed <rdar://problem/3759399> Javascript / Liveconnect problems ((event handler...
rjw [Sat, 22 Jan 2005 00:48:28 +0000 (00:48 +0000)]
Fixed <rdar://problem/3759399> Javascript / Liveconnect problems ((event handler):Undefined value)

Java applets specified with <object> or <embed> weren't scriptable.  Now they are.

        Reviewed by Chris.

        * khtml/html/html_objectimpl.cpp:
        (HTMLEmbedElementImpl::getEmbedInstance):
        (HTMLObjectElementImpl::getObjectInstance):

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

15 years ago Reviewed by John
kocienda [Sat, 22 Jan 2005 00:16:54 +0000 (00:16 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3959464> REGRESSION (Mail): Insertion point goes back to beginning of document after deleting

        * khtml/editing/htmlediting.cpp:
        (khtml::DeleteSelectionCommand::handleGeneralDelete): Add special case to handle retaining a fully-selected block.
        This fixes the bug.
        * layout-tests/editing/deleting/delete-3959464-fix-expected.txt: Added.
        * layout-tests/editing/deleting/delete-3959464-fix.html: Added.

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

15 years ago Fixed <rdar://problem/3966998> REGRESSION(179-TOT) clicking on gmail message brings...
rjw [Fri, 21 Jan 2005 23:01:18 +0000 (23:01 +0000)]
Fixed <rdar://problem/3966998> REGRESSION(179-TOT) clicking on gmail message brings me to blank screen

getElementById() sometimes returns Undefined() instead of Null().

        Reviewed by Hyatt.

        * khtml/ecma/kjs_dom.cpp:
        (DOMDocumentProtoFunc::tryCall):

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

15 years ago Fix for 3773809, make sure that overflow regions never end up at an invalid scroll...
hyatt [Fri, 21 Jan 2005 22:45:49 +0000 (22:45 +0000)]
Fix for 3773809, make sure that overflow regions never end up at an invalid scroll offset because of a layout change.

        Reviewed by kocienda

        * khtml/rendering/render_layer.cpp:
        (RenderLayer::updateScrollInfoAfterLayout):

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

15 years ago Reviewed by Kristin Forster.
darin [Fri, 21 Jan 2005 22:43:54 +0000 (22:43 +0000)]
    Reviewed by Kristin Forster.

        - fixed <rdar://problem/3964972> update _initWithCGSEvent:eventRef: call in mouse moved workaround (breaks cursors in Carbon WebKit applications)

        * Carbon.subproj/HIWebView.m: (MouseMoved): Instead of munging the event record's window number directly
        before calling _initWithCGSEvent, on Tiger we call _eventRelativeToWindow on the event after creating it.
        Also added a check so that with Macromedia Contribute's workaround in place we don't do anything at all
        to the event. Tested with both Contribute and CarbonWeb.

        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

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

15 years ago Fix for 3966349, hang loading page. Make sure that loops using popOneBlock properly...
hyatt [Fri, 21 Jan 2005 21:45:20 +0000 (21:45 +0000)]
Fix for 3966349, hang loading page.  Make sure that loops using popOneBlock properly check for a null
blockStack to avoid an infinite loop.

        Reviewed by kocienda

        * khtml/html/htmlparser.cpp:
        (KHTMLParser::parseToken):
        (KHTMLParser::insertNode):
        (KHTMLParser::popInlineBlocks):

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

15 years ago Reviewed by John
kocienda [Fri, 21 Jan 2005 18:55:53 +0000 (18:55 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3957204> Mail crashed when sending a message in ~InsertParagraphSeparatorInQuotedContentCommand

        * khtml/editing/htmlediting.cpp:
        (khtml::InsertParagraphSeparatorInQuotedContentCommand::InsertParagraphSeparatorInQuotedContentCommand):
        InsertParagraphSeparatorInQuotedContentCommand has this member variable: DOM::ElementImpl *m_breakNode;
        I failed to initialize this variable to null in the constructor, and there is an uncommonly-traveled
        code path which does not set this variable to something good. In the destructor, we check for null,
        and deref if non-null. Obvious "BOOM" potential. Fixed.

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

15 years ago Reviewed by John
kocienda [Fri, 21 Jan 2005 17:29:21 +0000 (17:29 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3966311> REGRESSION (Mail): Hitting return makes space character disappear

        * khtml/editing/htmlediting.cpp:
        (khtml::InsertParagraphSeparatorCommand::doApply): When writing the code to insert a block
        in response to the return key, I did not write code to cover the case described in the bug.
        Now I have.
        * layout-tests/editing/inserting/insert-div-025-expected.txt: Added.
        * layout-tests/editing/inserting/insert-div-025.html: Added.

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

15 years ago Fixed <rdar://problem/3815672> REGRESSION (Mail): Japanese text cannot be made bold
rjw [Fri, 21 Jan 2005 02:25:17 +0000 (02:25 +0000)]
Fixed <rdar://problem/3815672> REGRESSION (Mail): Japanese text cannot be made bold

The AppKit's font substitution API doesn't match font traits!
It only find fonts that contain the appropriate glyphs.  This
patch attempts to find the best variation within a family.

Also, made unrelated change to return printer/screen version of
substituted font.

        Reviewed by Maciej.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _substituteFontForString:families:]):

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

15 years ago Reviewed by Ken.
mjs [Fri, 21 Jan 2005 01:50:02 +0000 (01:50 +0000)]
    Reviewed by Ken.

<rdar://problem/3965196> security fix for javascript: exploit missed one case (already fixed in updates)

* khtml/ecma/kjs_window.cpp:
        (WindowFunc::tryCall): correct mistake in earlier fix for the following bug, caught by Adele:

<rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration

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

15 years ago Reviewed by Ken.
mjs [Fri, 21 Jan 2005 01:36:41 +0000 (01:36 +0000)]
    Reviewed by Ken.

<rdar://problem/3965466> editing needs to insert text before applying typing style

        * khtml/editing/htmlediting.cpp:
        (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): Remove a FIXME comment.
        (khtml::InsertLineBreakCommand::doApply): Apply style to the BR
node after inserting it.
        (khtml::InsertTextCommand::prepareForTextInsertion): Don't try to
apply style to any new nodes created before inserting.
        (khtml::InsertTextCommand::input): Apply style to the inserted range
after doing the text insert.
        * khtml/editing/htmlediting.h:

This change leads to improved results on one of the layout tests:

* layout-tests/editing/inserting/insert-div-024-expected.txt:

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

15 years ago Reviewed by me, changes by Han Ming Ong.
darin [Fri, 21 Jan 2005 01:22:08 +0000 (01:22 +0000)]
    Reviewed by me, changes by Han Ming Ong.

        - <rdar://problem/3964302> SWB: A few files need to be updated to be compilable under GCC 4.0

        * bindings/objc/WebScriptObjectPrivate.h: Make members public.
        * kjs/lookup.h: Change "value.h" to "object.h" because we need KJS::Object to compile a template.

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

15 years agomove the Safari-180 release-marker in the ChangeLog, since the fix for 3786659 will...
vicki [Fri, 21 Jan 2005 00:58:23 +0000 (00:58 +0000)]
move the Safari-180 release-marker in the ChangeLog, since the fix for 3786659 will be included in Safari-180

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

15 years ago Reviewed by John
kocienda [Fri, 21 Jan 2005 00:50:30 +0000 (00:50 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3786659> REGRESSION (Mail): editable WebViews don't work with "size up" and "size down" NSFontManager changes

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _addToStyle:fontA:fontB:]): This is the WebKit side of the fix. Replaced unimplemented code blocks
        with FIXME's in them for make bigger and make smaller with real working code.

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

15 years ago Fixed <rdar://problem/3964634> undefined property value from binding seems to evalua...
rjw [Fri, 21 Jan 2005 00:41:59 +0000 (00:41 +0000)]
Fixed <rdar://problem/3964634> undefined property value from binding seems to evaluate to true in an if statement

The comprehensive fix for this problem requires new API, as described in 3965326.  However,
given that we can't add new API at this point, the 'ObjcFallbackObjectImp' will behave
like and Undefined object if  invokeUndefinedMethodFromWebScript:withArguments: isn't
implemented on the bound object.

        Reviewed by Chris.

        * bindings/objc/objc_runtime.h:
        * bindings/objc/objc_runtime.mm:
        (ObjcFallbackObjectImp::type):
        (ObjcFallbackObjectImp::implementsCall):
        (ObjcFallbackObjectImp::toBoolean):
        * bindings/testbindings.mm:
        (+[MyFirstInterface isSelectorExcludedFromWebScript:]):
        (+[MyFirstInterface isKeyExcludedFromWebScript:]):

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

15 years agoFinished my thought in the changelog. I left a comment half-written earlier.
kocienda [Fri, 21 Jan 2005 00:01:07 +0000 (00:01 +0000)]
Finished my thought in the changelog. I left a comment half-written earlier.

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

15 years agoVersioning for TOT, Safari 2.0 (180+).
vicki [Thu, 20 Jan 2005 23:47:42 +0000 (23:47 +0000)]
Versioning for TOT, Safari 2.0 (180+).

The tree is open!

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

15 years agoSafari-180 stamp
vicki [Thu, 20 Jan 2005 23:33:44 +0000 (23:33 +0000)]
Safari-180 stamp

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

15 years ago Reviewed by John
kocienda [Thu, 20 Jan 2005 22:02:17 +0000 (22:02 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3964646> REGRESSION (179-180): Typing space at end of line makes following paragraph disappear

        * khtml/editing/htmlediting.cpp:
        (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Recent change to block placeholder removal code
        caused this regression. The code became too aggressive in removing block placeholders, and would remove them
        from blocks other than the block containing the selection.
        * layout-tests/editing/inserting/insert-div-023-expected.txt: This file had a spur
        * layout-tests/editing/inserting/insert-div-024-expected.txt:

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

15 years ago Fix for oddness on albertsons.com. Make sure not to crash when setting/removing...
hyatt [Thu, 20 Jan 2005 20:36:29 +0000 (20:36 +0000)]
Fix for oddness on albertsons.com.  Make sure not to crash when setting/removing style properties on a node
with no document.  The bug # is 3813900.

        Reviewed by john

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

15 years ago Reviewed by Darin.
harrison [Thu, 20 Jan 2005 19:34:48 +0000 (19:34 +0000)]
    Reviewed by Darin.

        PARTIAL fix for following bug.  Create attributed string with fonts and links.  Still need to add attachments.
        <rdar://problem/3942606> AX: Support kAXAttributedStringForTextMarkerRangeParameterizedAttribute

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject textUnderElement]):
        Touched up previous checkin to match code review comments.

        (-[KWQAccObject value]):
        Use plainText for this one instead of obsolete attributedString.

        (-[KWQAccObject accessibilityParameterizedAttributeNames]):
        Advertise AXAttributedStringForTextMarkerRange.

        (AXAttributeStringAddFont):
        (AXAttributeStringAddElement):
        (-[KWQAccObject linkUIElementForNode:]):
        (-[KWQAccObject _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
        (-[KWQAccObject accessibilityAttributedStringForRange:]):
        New routines to support AXAttributedStringForTextMarkerRange.

        (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
        Use new routines instead of obsolete attributedString.

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

15 years ago Reviewed by Darin.
harrison [Thu, 20 Jan 2005 19:01:44 +0000 (19:01 +0000)]
    Reviewed by Darin.

        <rdar://problem/3960196> AX Crash in DOM::Range::setStartBefore

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::getAccObjectCache):
        Adjust when detecting cache in non-top level WebArea.
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject textUnderElement]):
        (-[KWQAccObject accessibilityAttributeValue:]):
        Make sure the elements document is the current one for the part.

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

15 years ago Reviewed by John.
darin [Thu, 20 Jan 2005 18:05:19 +0000 (18:05 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3922980> Mail not crashing, just quitting itself suddenly in -[WebHTMLView(MailExtras) findString:options:]

        * khtml/dom/dom2_range.cpp: (DOM::operator==): Handle null and detached ranges without raising exceptions.
        The uncaught exception would make the entire program terminate.

        - fixed <rdar://problem/3885729> attempting to modify a computed style does nothing, but should raise a DOM exception

        * kwq/DOM-CSS.mm: (-[DOMCSSStyleDeclaration setProperty:::]): Uncommented this code which I had to disable
        back in November because Mail was stumbling over it.

        - fixed <rdar://problem/3943049> focus() called during onload handler results in square text field on <input type=search>

        * kwq/KWQLineEdit.mm: (QLineEdit::baselinePosition): Change computation so it will work even for fields
        that position their text in a way that depends on vertical size. In the case of a search field, the text
        is centered, so the old logic was broken.
        * kwq/KWQTextField.mm: (-[KWQTextFieldController initWithTextField:QLineEdit:]): Set the frame size to
        something large enough to accomodate the field editor. If we start the frame at size 0,0 we run into
        AppKit trouble when it insets the frame to figure out the frame for the field editor. In the case of this
        bug this happens because we become first responder before being sized and positioned by the HTML layout code.

        - improved debugging output when using "po" from gdb with Objective-C DOM

        * kwq/DOM.mm:
        (-[DOMNode description]): Added. Includes node name ("<tr>") and node value (e.g., string for text node).
        (-[DOMRange description]): Tweaked format.

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

15 years ago After further discussion with Real we have decided to NOT include the
rjw [Thu, 20 Jan 2005 02:09:23 +0000 (02:09 +0000)]
After further discussion with Real we have decided to NOT include the
additional CLSID for the real plugin.  See 3958601.

        Reviewed by Darin.

        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::updateWidget):

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

15 years ago Fixed <rdar://problem/3853676> Browser Crash when accessing CCWeb Progress Page...
rjw [Thu, 20 Jan 2005 01:39:19 +0000 (01:39 +0000)]
Fixed <rdar://problem/3853676> Browser Crash when accessing CCWeb Progress Page - KJS::Bindings::convertValueToJValue

Fixed the following problems with LiveConnect that are demonstrated by the application
described in 3853676.

1.  If a nil object is passed in an array from Java to JavaScript we will crash.
2.  We sometimes will incorrectly attempt to access a generic JavaScript as a Java runtime object wrapper.
3.  We will sometimes fail to find the correct static method ID.

        Reviewed by Maciej.

        * bindings/jni/jni_jsobject.cpp:
        (JSObject::convertJObjectToValue):
        (JSObject::listFromJArray):
        * bindings/jni/jni_runtime.cpp:
        (JavaField::valueFromInstance):
        (JavaField::setValueToInstance):
        * bindings/jni/jni_utility.cpp:
        (KJS::Bindings::getMethodID):
        (KJS::Bindings::convertValueToJValue):
        * bindings/runtime_array.h:

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

15 years ago Reviewed by Maciej.
harrison [Thu, 20 Jan 2005 00:45:57 +0000 (00:45 +0000)]
    Reviewed by Maciej.

        <rdar://problem/3949429> AX: word marker routines returns incorrect data for empty line

        Previous checkin for this bug was missing some of the patch.  Editing snafu with multiple changes in tree.

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
        (-[KWQAccObject doAXNextWordEndTextMarkerForTextMarker:]):
        (-[KWQAccObject doAXPreviousWordStartTextMarkerForTextMarker:]):
        (-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]):
        (-[KWQAccObject doAXPreviousLineStartTextMarkerForTextMarker:]):
        (-[KWQAccObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
        (-[KWQAccObject doAXPreviousParagraphStartTextMarkerForTextMarker:]):

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

15 years ago Fix for 3513067, spaces being lost when RTL text is rendered. Make sure not to...
hyatt [Thu, 20 Jan 2005 00:05:14 +0000 (00:05 +0000)]
Fix for 3513067, spaces being lost when RTL text is rendered.  Make sure not to allow hangers or spaces
in the margin.

        Reviewed by john

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):

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

15 years ago Reviewed by John
kocienda [Thu, 20 Jan 2005 00:01:58 +0000 (00:01 +0000)]
    Reviewed by John

        * khtml/editing/htmlediting.cpp:
        (khtml::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Small, cosmetic change John and I decided
        to do on my last checkin, but I forgot to do before landing.

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

15 years ago Reviewed by John
kocienda [Wed, 19 Jan 2005 23:54:09 +0000 (23:54 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3959727> REGRESSION (Mail): Style not preserved on blank lines

        * khtml/editing/htmlediting.cpp:
        (khtml::CompositeEditCommand::applyStyle):
        (khtml::CompositeEditCommand::insertBlockPlaceholder): New function that unconditionally adds a block placeholder.
        (khtml::CompositeEditCommand::insertBlockPlaceholderIfNeeded): Now returns bool based on whether
        placeholder was added or not.
        (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Now searches all the descendents of a block
        looking for a placeholder. The old code, which just looked at the last child of a node, started missing
        once block placeholders became styled (which started happening with this patch).
        (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Now handles applying typing style
        to a block placeholder at call time, rather than setting the typing style as a latent style that
        might be applied later. This is an important part of the bug fix.
        (khtml::DeleteSelectionCommand::doApply): Now uses bool return value from insertBlockPlaceholderIfNeeded()
        and passes it along to calculateStyleBeforeInsertion, so the case where a block placeholder needs to
        be styled can be detected.
        (khtml::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): Changed the way this class
        managed style. Before it would calculate and set typing style for the block added. This is not
        sufficient. Added blocks need to styled immediately. Some name changes to instance variables in
        this class due to the change to accommodate this change.
        (khtml::InsertParagraphSeparatorCommand::~InsertParagraphSeparatorCommand): Name changes, as above.
        (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Ditto.
        (khtml::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
        (khtml::InsertParagraphSeparatorCommand::doApply): Ditto.
        (khtml::ReplaceSelectionCommand::doApply): Improve check for testing when a placeholder
        block can be removed in its entirety after the insertion.
        * khtml/editing/htmlediting.h: Update header accordingly.
        * khtml/khtml_part.cpp:
        (KHTMLPart::selectionComputedStyle): Move position for computed style check downstream before
        doing check when the position is in an empty block (this makes sure any style on any block
        placeholder is accounted for).

        New layout tests to check bug fix.

        * layout-tests/editing/style/block-style-004-expected.txt: Added.
        * layout-tests/editing/style/block-style-004.html: Added.
        * layout-tests/editing/style/block-style-005-expected.txt: Added.
        * layout-tests/editing/style/block-style-005.html: Added.
        * layout-tests/editing/style/block-style-006-expected.txt: Added.
        * layout-tests/editing/style/block-style-006.html: Added.

        Results updated to reflect new block placeholder code.

        * layout-tests/editing/inserting/insert-div-004-expected.txt
        * layout-tests/editing/inserting/insert-div-005-expected.txt
        * layout-tests/editing/inserting/insert-div-006-expected.txt
        * layout-tests/editing/inserting/insert-div-008-expected.txt
        * layout-tests/editing/inserting/insert-div-011-expected.txt
        * layout-tests/editing/inserting/insert-div-012-expected.txt
        * layout-tests/editing/inserting/insert-div-013-expected.txt
        * layout-tests/editing/inserting/insert-div-014-expected.txt
        * layout-tests/editing/inserting/insert-div-015-expected.txt
        * layout-tests/editing/inserting/insert-div-016-expected.txt
        * layout-tests/editing/inserting/insert-div-017-expected.txt
        * layout-tests/editing/inserting/insert-div-018-expected.txt
        * layout-tests/editing/inserting/insert-div-019-expected.txt
        * layout-tests/editing/inserting/insert-div-021-expected.txt
        * layout-tests/editing/inserting/insert-div-022-expected.txt
        * layout-tests/editing/inserting/insert-div-023-expected.txt
        * layout-tests/editing/inserting/insert-div-024-expected.txt

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

15 years ago Reviewed by vicki
vicki [Wed, 19 Jan 2005 22:57:03 +0000 (22:57 +0000)]
    Reviewed by vicki

- fixed <rdar://problem/3962559> stopAnimationsInView leaks after cvs-base

        * WebCoreSupport.subproj/WebImageData.m: (+[WebImageData stopAnimationsInView:]): add a release

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

15 years ago Dont null-check the renderer before submitting, since a script can set it to display...
hyatt [Wed, 19 Jan 2005 22:43:39 +0000 (22:43 +0000)]
Dont null-check the renderer before submitting, since a script can set it to display:none and still expect the
submission to occur.  Fixes bug #3477282.

        Reviewed by kdecker

        (DOM::HTMLInputElementImpl::defaultEventHandler):

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

15 years ago Fixed: <rdar://problem/3961809> plug-in code attempts to load empty URL
cblu [Wed, 19 Jan 2005 18:39:11 +0000 (18:39 +0000)]
Fixed: <rdar://problem/3961809> plug-in code attempts to load empty URL

        Reviewed by john.

        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView didStart]): don't start load if URL is empty

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

15 years agoWebCore:
rjw [Wed, 19 Jan 2005 02:34:22 +0000 (02:34 +0000)]
WebCore:
Fixed several issues all arising from analysis of plugin detection code at ifilm.com:

Fixed <rdar://problem/3958592> can't script plug-ins if plug-in is invoked with <object> element instead of <embed>
Fixed <rdar://problem/3958597> <object> elements with IDs do not show up as named properties of the document
Fixed <rdar://problem/3960973> DOM objects for plugin elements are not accessible
Fixed <rdar://problem/3958601> need an additional class ID in WebCore for the Real plug-in

We now support accessing scriptable plugin objects that are specified with <applet>, <embed>, or <object>
tags.  Also, if any of these elements are named they can be accessed from the document or window objects.
Finally, DOM methods are properties will be forwarded appropriately for the plugin's root scriptable object.

        Reviewed by Chris.

        * khtml/dom/html_document.cpp:
        (HTMLDocument::objects):
        * khtml/dom/html_document.h:
        * khtml/ecma/kjs_dom.cpp:
        (DOMDocumentProtoFunc::tryCall):
        (DOMElementProtoFunc::tryCall):
        (KJS::getRuntimeObject):
        * khtml/ecma/kjs_dom.h:
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocument::tryGet):
        (KJS::HTMLElement::tryGet):
        (KJS::HTMLCollection::tryGet):
        (KJS::HTMLCollection::getNamedItems):
        * khtml/ecma/kjs_window.cpp:
        (Window::get):
        * khtml/html/html_miscimpl.cpp:
        (HTMLCollectionImpl::traverseNextItem):
        * khtml/html/html_miscimpl.h:
        (DOM::HTMLCollectionImpl::):
        * khtml/html/html_objectimpl.cpp:
        (HTMLAppletElementImpl::getAppletInstance):
        (HTMLObjectElementImpl::HTMLObjectElementImpl):
        (HTMLObjectElementImpl::getObjectInstance):
        * khtml/html/html_objectimpl.h:
        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::updateWidget):
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::getObjectInstanceForView):

JavaScriptCore:
Fixed several issues all arising from analysis of plugin detection code at ifilm.com:

Fixed <rdar://problem/3958592> can't script plug-ins if plug-in is invoked with <object> element instead of <embed>
Fixed <rdar://problem/3958597> <object> elements with IDs do not show up as named properties of the document
Fixed <rdar://problem/3960973> DOM objects for plugin elements are not accessible
Fixed <rdar://problem/3958601> need an additional class ID in WebCore for the Real plug-in

We now support accessing scriptable plugin objects that are specified with <applet>, <embed>, or <object>
tags.  Also, if any of these elements are named they can be accessed from the document or window objects.
Finally, DOM methods are properties will be forwarded appropriately for the plugin's root scriptable object.

        Reviewed by Chris.

        * bindings/objc/objc_instance.h:
        * bindings/objc/objc_instance.mm:
        (ObjcInstance::supportsSetValueOfUndefinedField):
        * bindings/runtime.h:
        (KJS::Bindings::Instance::supportsSetValueOfUndefinedField):
        * bindings/runtime_object.cpp:
        (RuntimeObjectImp::RuntimeObjectImp):
        (RuntimeObjectImp::get):
        (RuntimeObjectImp::put):
        (RuntimeObjectImp::canPut):
        (RuntimeObjectImp::hasProperty):
        (RuntimeObjectImp::defaultValue):
        * bindings/runtime_object.h:
        (KJS::RuntimeObjectImp::fallbackObject):
        * kjs/object.cpp:
        (KJS::ObjectImp::ObjectImp):
        * kjs/object.h:
        (KJS::ObjectImp::forwardingScriptMessage):
        (KJS::ObjectImp::setForwardingScriptMessage):

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

15 years ago Fix for 3948123, rolling over link erases nearby text. The repaint rect check for...
hyatt [Tue, 18 Jan 2005 23:08:50 +0000 (23:08 +0000)]
Fix for 3948123, rolling over link erases nearby text.  The repaint rect check for lines was wrong whenever
two lines overlapped.

        Reviewed by kocienda

        * khtml/rendering/render_flow.cpp:
        (RenderFlow::paintLines):

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

15 years ago Reviewed by Hyatt
kocienda [Tue, 18 Jan 2005 22:58:47 +0000 (22:58 +0000)]
    Reviewed by Hyatt

        Fix for this bug:

        <rdar://problem/3960116> Focus rings paint incorrectly for contenteditable blocks in web pages

        * khtml/rendering/render_flow.cpp:
        (RenderFlow::addFocusRingRects): Fix painting of focus rings so that ring only paints around
        outermost contenteditable elements.

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

15 years ago Back out a change that was incorrectly committed yesterday.
rjw [Tue, 18 Jan 2005 22:52:52 +0000 (22:52 +0000)]
Back out a change that was incorrectly committed yesterday.

        Reviewed by Chris.

        * bindings/objc/objc_utility.mm:
        (KJS::Bindings::convertValueToObjcValue):

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

15 years ago Reviewed by Darin.
harrison [Tue, 18 Jan 2005 21:03:46 +0000 (21:03 +0000)]
    Reviewed by Darin.

        <rdar://problem/3959668> accessibilityFocusedUIElement sometimes returns an ignored element; it must not

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject accessibilityFocusedUIElement]):
        Return parentObjectUnignored if focused object is ignored.

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

15 years ago Reviewed by John
kocienda [Tue, 18 Jan 2005 18:11:21 +0000 (18:11 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3952877> REGRESSION (Mail): Command-left/right-arrows don't work with file attachment

        * khtml/editing/selection.cpp:
        (khtml::nodeForInlineBox): New helper function used in reimplementation of function below.
        (khtml::selectionForLine): Reimplemented using line box smarts. I originally wrote this code when
        I had a less than full understanding of line layout. I can do better now, and my new version no
        longer fails to notice attachments when doing the kind of navigation mentioned in the bug.

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

15 years ago Reviewed by John Sullivan.
harrison [Tue, 18 Jan 2005 01:44:49 +0000 (01:44 +0000)]
    Reviewed by John Sullivan.

        <rdar://problem/3949429> AX: word marker routines returns incorrect data for empty line
        <rdar://problem/3949848> AX: paragraph marker routines do not work when given a paragraph end marker

        Also fixed sentence support in the same way.

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]):
        (-[KWQAccObject doAXNextSentenceEndTextMarkerForTextMarker:]):
        (-[KWQAccObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
        (-[KWQAccObject doAXNextParagraphEndTextMarkerForTextMarker:]):
        (-[KWQAccObject doAXPreviousParagraphStartTextMarkerForTextMarker:]):
        Move one position in desired direction before calling visible_units.cpp code.

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

15 years ago Updated expected test results.
harrison [Tue, 18 Jan 2005 01:33:40 +0000 (01:33 +0000)]
    Updated expected test results.

        <rdar://problem/3945880> line-ending space seems not to be present

        * layout-tests/editing/deleting/delete-ws-fixup-001-expected.txt:
        * layout-tests/editing/deleting/delete-ws-fixup-002-expected.txt:
        * layout-tests/editing/inserting/insert-div-020-expected.txt:
        * layout-tests/editing/inserting/insert-div-021-expected.txt:
        * layout-tests/editing/inserting/insert-div-022-expected.txt:
        * layout-tests/editing/inserting/insert-div-023-expected.txt:
        * layout-tests/editing/inserting/insert-div-024-expected.txt:

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

15 years ago Reviewed by Dave Hyatt (bidi.cpp) and Darin Adler (selection.cpp).
harrison [Tue, 18 Jan 2005 01:07:26 +0000 (01:07 +0000)]
    Reviewed by Dave Hyatt (bidi.cpp) and Darin Adler (selection.cpp).

        <rdar://problem/3945880> line-ending space seems not to be present

        * khtml/editing/selection.cpp:
        (khtml::Selection::validate):
        Extend AFTER_WHITE_SPACE code to support white spac in the middle of paragraphs, not just the end.
        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::findNextLineBreak):
        Pick left/rightness of word selection based on being at the end of paragraph (i.e. after a hard line break).

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

15 years ago * DOM.subproj/DOMPrivate.h: Check in generated file.
darin [Tue, 18 Jan 2005 01:06:27 +0000 (01:06 +0000)]
    * DOM.subproj/DOMPrivate.h: Check in generated file.

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

15 years ago Reviewed by John Louch.
darin [Tue, 18 Jan 2005 00:43:14 +0000 (00:43 +0000)]
    Reviewed by John Louch.

        - fixed <rdar://problem/3958503> need screenX and screenY to use WebKit windowFrame delegate

        * khtml/ecma/kjs_window.cpp: (Window::get): Change screenX and screenY to use frameGeometry instead
        of using mapToGlobal and screen in a complicated way.
        * kwq/KWQKHTMLView.mm: Removed unused mapToGlobal function.
        * kwq/KWQWindowWidget.h: Ditto.
        * kwq/KWQWindowWidget.mm: Ditto.

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

15 years agoAdd layout test for overflow float bug.
hyatt [Mon, 17 Jan 2005 23:30:10 +0000 (23:30 +0000)]
Add layout test for overflow float bug.

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

15 years ago Fix a screwup in rightmost/lowets position computation. 3955207. Make sure floats...
hyatt [Mon, 17 Jan 2005 23:27:03 +0000 (23:27 +0000)]
Fix a screwup in rightmost/lowets position computation.  3955207.  Make sure floats with layers are still checked.

        Reviewed by kocienda

* khtml/rendering/render_block.cpp

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

15 years ago Reviewed by John and Richard.
darin [Mon, 17 Jan 2005 23:23:21 +0000 (23:23 +0000)]
    Reviewed by John and Richard.

        - fixed <rdar://problem/3907453> printing a multi-page PDF document from Safari doesn't produce correct output

        * WebView.subproj/WebFrameViewPrivate.h: Added.
        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView canPrintHeadersAndFooters]): Added. Returnes NO for documents that can't print headers or footers,
        and delegates to the document view to answer the question. Defaults to NO, since only a view that actively does
        the work is compatible with our header and footer code.
        (-[WebFrameView printOperationWithPrintInfo:]): Added. Returns an NSPrintOperation set up for printing. The reason
        we return this rather than an NSView is that in the PDFView case, the print info is changed around before creating
        the NSPrintOperation, and also the PDFKit SPI works this way.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView canPrintHeadersAndFooters]): Added. Returns YES.
        * WebView.subproj/WebImageView.m: (-[WebImageView canPrintHeadersAndFooters]): Ditto.
        * WebView.subproj/WebTextView.m: (-[WebTextView canPrintHeadersAndFooters]): Ditto.

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView canPrintHeadersAndFooters]): Added. Returns NO.
        (-[WebPDFView printOperationWithPrintInfo:]): Added. Calls getPrintOperationForPrintInfo: autoRotate:YES on the PDFView.

        * WebKit.pbproj/project.pbxproj: Added WebFrameViewPrivate.h as a new private header.

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

15 years ago Fixed build snafu.
rjw [Mon, 17 Jan 2005 23:08:05 +0000 (23:08 +0000)]
Fixed build snafu.

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

15 years ago Reviewed by John
kocienda [Mon, 17 Jan 2005 22:54:43 +0000 (22:54 +0000)]
    Reviewed by John

        <rdar://problem/3953366> Problems with typing attributes in HTML compose

        * khtml/editing/htmlediting.cpp:
        (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Remove misguided "optimization"
        that tried to sense when typing style could be cleared without actually doing a style diff between
        before-delete and after-delete positions. Removing this extra check and running the
        general-purpose code fixes the bug.

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

15 years agoWebCore:
rjw [Mon, 17 Jan 2005 22:41:22 +0000 (22:41 +0000)]
WebCore:
Fixed <rdar://problem/3753030> Need to ensure same origin for plugin binding invocations (origin security rules)

Keep track of originating execution context and target execution
context for native JS object wrappers, and perform appropriate
security checks.

        Reviewed by David Harrison.

        * khtml/ecma/kjs_binding.cpp:
        (ScriptInterpreter::isGlobalObject):
        (ScriptInterpreter::isSafeScript):
        (ScriptInterpreter::interpreterForGlobalObject):
        * khtml/ecma/kjs_binding.h:
        * khtml/ecma/kjs_window.cpp:
        (Window::interpreter):
        (Window::isSafeScript):
        * khtml/ecma/kjs_window.h:
        * kwq/DOMInternal.mm:
        (-[WebScriptObject _initializeScriptDOMNodeImp]):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::windowScriptObject):
        (KWQKHTMLPart::windowScriptNPObject):
        * kwq/WebCoreBridge.mm:
        (rootForView):
        (-[WebCoreBridge init]):

JavaScriptCore:
Fixed <rdar://problem/3753030> Need to ensure same origin for plugin binding invocations (origin security rules)

Keep track of originating execution context and target execution
context for native JS object wrappers, and perform appropriate
security checks.

        Reviewed by David Harrison.

        * bindings/NP_jsobject.cpp:
        (_isSafeScript):
        (_NPN_CreateScriptObject):
        (_NPN_Invoke):
        (_NPN_Evaluate):
        (_NPN_GetProperty):
        (_NPN_SetProperty):
        (_NPN_RemoveProperty):
        (_NPN_HasProperty):
        (_NPN_HasMethod):
        (_NPN_SetException):
        * bindings/NP_jsobject.h:
        * bindings/c/c_instance.cpp:
        (CInstance::CInstance):
        (CInstance::stringValue):
        * bindings/c/c_instance.h:
        * bindings/c/c_utility.cpp:
        (convertValueToNPVariant):
        * bindings/jni/jni_instance.cpp:
        (JavaInstance::JavaInstance):
        (JavaInstance::valueOf):
        * bindings/jni/jni_instance.h:
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject _initializeWithObjectImp:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
        (-[WebScriptObject _initWithObjectImp:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
        (-[WebScriptObject KJS::Bindings::]):
        (-[WebScriptObject _setOriginExecutionContext:KJS::Bindings::]):
        (-[WebScriptObject _isSafeScript]):
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        (-[WebScriptObject evaluateWebScript:]):
        (-[WebScriptObject setValue:forKey:]):
        (-[WebScriptObject valueForKey:]):
        (-[WebScriptObject removeWebScriptKey:]):
        (-[WebScriptObject stringRepresentation]):
        (-[WebScriptObject webScriptValueAtIndex:]):
        (-[WebScriptObject setWebScriptValueAtIndex:value:]):
        (+[WebScriptObject _convertValueToObjcValue:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
        * bindings/objc/WebScriptObjectPrivate.h:
        * bindings/objc/objc_instance.h:
        * bindings/objc/objc_runtime.mm:
        (convertValueToObjcObject):
        * bindings/objc/objc_utility.mm:
        (KJS::Bindings::convertValueToObjcValue):
        * bindings/runtime.cpp:
        (Instance::Instance):
        (Instance::operator=):
        * bindings/runtime.h:
        (KJS::Bindings::Instance::Instance):
        (KJS::Bindings::Instance::setExecutionContext):
        (KJS::Bindings::Instance::executionContext):
        * bindings/runtime_root.cpp:
        (RootObject::setInterpreter):
        * bindings/runtime_root.h:
        * kjs/interpreter.h:
        (KJS::Interpreter::isGlobalObject):
        (KJS::Interpreter::interpreterForGlobalObject):
        (KJS::Interpreter::isSafeScript):

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

15 years agoRoll out unintended work-in-progress change
kocienda [Mon, 17 Jan 2005 22:20:50 +0000 (22:20 +0000)]
Roll out unintended work-in-progress change

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