19 years ago Reviewed by John, except for one bit reviewed by Maciej.
darin [Wed, 5 Nov 2003 01:39:58 +0000 (01:39 +0000)]
    Reviewed by John, except for one bit reviewed by Maciej.

        - first step for IDNA support; helper functions for Safari

        * Misc.subproj/WebNSURLExtras.h: Add six new methods to manipulate host names directly.
        * Misc.subproj/WebNSURLExtras.m:
        (applyHostNameFunctionToMailToURLString): Added. Finds host names within a mailto URL.
        (applyHostNameFunctionToURLString): Added. Finds host names within a URL.
        (collectRangesThatNeedMapping): Added. Builds a list of host name ranges that need mapping.
        (collectRangesThatNeedEncoding): Added. Calls the above for encoding.
        (collectRangesThatNeedDecoding): Added. Calls the above for decoding.
        (mapHostNames): Added. Helper function that does the entire mapping process for a URL.
        (+[NSURL _web_URLWithUserTypedString:]): Call mapHostNames to encode after trimming whitespace.
        (-[NSURL _web_userVisibleString]): Call mapHostNames to decode after decoding escape sequences.
        (-[NSURL _webkit_URLByRemovingFragment]): Removed unneeded redundant NULL check.
        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Added. Workhorse function to call
        the IDN functions in the Unicode library.
        (-[NSString _web_hostNameNeedsDecodingWithRange:]): Added.
        (-[NSString _web_hostNameNeedsEncodingWithRange:]): Added.
        (-[NSString _web_decodeHostNameWithRange:]): Added.
        (-[NSString _web_encodeHostNameWithRange:]): Added.
        (-[NSString _web_decodeHostName]): Added.
        (-[NSString _web_encodeHostName]): Added.

        * WebKit.pbproj/project.pbxproj: Added libicucore.dylib.
        * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes.

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

19 years agoWebKit:
sullivan [Wed, 5 Nov 2003 00:31:18 +0000 (00:31 +0000)]

        - a little optimization I noticed when looking at 3125137

        Reviewed by Chris.

        * Misc.subproj/WebStringTruncator.m:
        if incoming string has length 0, bail out right away


        - fixed <rdar://problem/3125137>: long URL in bookmark bar
        toolbar popup takes over whole screen

        Reviewed by Chris.

        * BookmarksController.m:
        (-[BookmarksController addMenuItemForBookmark:toMenu:]):
        truncate the titles of menu items created for bookmarks

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

19 years ago Reviewed by Ken.
mjs [Tue, 4 Nov 2003 22:50:16 +0000 (22:50 +0000)]
    Reviewed by Ken.

        * khtml/ecma/kjs_window.cpp: Don't make event read-only, some
sites want to set their own top-level function named "event" and
will hang if they can't.
        * khtml/ecma/kjs_window.lut.h: Regenerated.

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

19 years ago Fix for 3472167, for shrink-to-fit style printing, grow the width of the initial...
hyatt [Tue, 4 Nov 2003 21:52:08 +0000 (21:52 +0000)]
Fix for 3472167, for shrink-to-fit style printing, grow the width of the initial containing block
to be as large as the rightmost position after doing a layout to the page width.

        Reviewed by john

        * kwq/KWQKHTMLPart.mm:

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

19 years agoUpdate the layout tests.
hyatt [Tue, 4 Nov 2003 20:06:25 +0000 (20:06 +0000)]
Update the layout tests.

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

19 years agoWebCore:
cblu [Tue, 4 Nov 2003 19:15:10 +0000 (19:15 +0000)]

<rdar://problem/3472403>: RTFD of copied text and images should use original image data not tiffs

        Reviewed by john.

        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::fileWrapperForElement): call [_bridge _fileWrapperForURL:] to get cached data
        * kwq/WebCoreBridge.h: added _fileWrapperForURL: to the bridge protocol
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge selectedAttributedString]): call the instance method attributedString
        (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]): call the instance method attributedString


<rdar://problem/3472403>: RTFD of copied text and images should use original image data not tiffs
<rdar://problem/3472435>: dragging local image file downloads it instead of copies it
<rdar://problem/3472450>: copied and dragged local image files are TIFF, not original image data

        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]): new
        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:fileWrapper:rect:URL:title:event:]): take a file wrapper instead of data so [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] can be called
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge fileWrapperForURL:]): call fileWrapperForURL on the WebView
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]): when calling _web_dragImage, pass a file wrapper from fileWrapperForURL
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call fileWrapperForURL
        * WebView.subproj/WebImageRepresentation.h:
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation fileWrapper]): new
        * WebView.subproj/WebImageView.m:
        (-[WebImageView writeImageToPasteboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
        (-[WebImageView mouseDragged:]): pass the file wrapper to _web_dragImage
        * WebView.subproj/WebView.m:
        (-[WebView _fileWrapperForURL:]): new, returns a file wrapper from a local file or from the cache
        * WebView.subproj/WebViewPrivate.h:


<rdar://problem/3472437>: "Download Link to Disk..." should be "Save Link As..." if the link is local
<rdar://problem/3472439>: "Download Image to Disk..." should be "Save Image As..." if the image is local

        Reviewed by john.

        * BrowserDocument.h:
        * BrowserDocument.m:
        (-[BrowserDocument setFileWrapperToSave:MIMEType:]): new, when saving data, use a file wrapper so that we can save things other than data sources.
        (-[BrowserDocument setDataSourceToSave:]): now calls setFileWrapperToSave:MIMEType:
        (-[BrowserDocument isSavingPlainText]): checks the _savingMIMEType
        (-[BrowserDocument saveDocumentTo:]): calls setDataSourceToSave if there is no fileWrapperToSave
        (-[BrowserDocument document:didSave:contextInfo:]): calls setFileWrapperToSave:MIMEType:
        (-[BrowserDocument dataRepresentationOfType:]): returns the data of the wrapper
        (-[BrowserDocument displayName]): if saving, return the filename of the wrapper
        (-[BrowserDocument fileType]): use _savingMIMEType
        * ContextMenuHandler.m:
        (-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]): provide "Save Image As..." and "Save Link As..." for local files
        (-[BrowserWebView saveFileWrapperForURLKey:menuItem:]): new
        (-[BrowserWebView saveImageAs:]): new
        (-[BrowserWebView saveLinkAs:]): new
        * English.lproj/Localizable.strings:

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

19 years ago - fixed <rdar://problem/3472813>: REGRESSION (100-111): Some tabs start
sullivan [Tue, 4 Nov 2003 18:57:06 +0000 (18:57 +0000)]
    - fixed <rdar://problem/3472813>: REGRESSION (100-111): Some tabs start
        out scrolled down to focused text field

        Reviewed by Ken.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView acceptsFirstResponder]):
        The logic to avoid accepting first responder on clicks was too broad;
        it was rejecting first-responder-ness even for clicks outside of this
        view. Clicking a tab item was going through some logic in NSTabView
        looking for the first valid key view starting with the web view, but the
        web view was returning NO due to this faulty click logic. Thus the
        first subview text field was becoming first responder, and causing scroll.

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

19 years ago Reviewed by Chris.
mjs [Tue, 4 Nov 2003 18:18:25 +0000 (18:18 +0000)]
    Reviewed by Chris.

        - fixed 3472893 - Slow intel page takes 20% of its time in CachedObject::ref

Speeds up loading of
http://www.intel.com/cd/ids/developer/asmo-na/eng/index.htm by
19%, no slowdown on PLT.

        * khtml/misc/loader.h: Use QPtrDict for m_clients instead of QPtrList.
* khtml/misc/loader.cpp:
        (CachedObjectClientWalker::CachedObjectClientWalker): Ditto.
        (CachedObject::ref): Ditto.
        * kwq/KWQPtrDict.h:
        (QPtrDict::isEmpty): Implemented.

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

19 years ago Fixed:
cblu [Tue, 4 Nov 2003 01:48:06 +0000 (01:48 +0000)]
<rdar://problem/3472377>: Provide NSRTFDPboardType on pasteboard when copying or dragging images
<rdar://problem/3470809>: REGRESSION (111-112): Can't copy & paste image into Photoshop 7

        Reviewed by hyatt.

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeFileDataAsRTFDAttachment:withFilename:]): renamed, now writes file data as an RTF attachment
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): call renamed _web_writeFileDataAsRTFDAttachment
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeFileDataAsRTFDAttachment
        * WebView.subproj/WebImageView.m:
        (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeFileDataAsRTFDAttachment

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

19 years ago Reviewed by Darin.
mjs [Tue, 4 Nov 2003 00:50:15 +0000 (00:50 +0000)]
    Reviewed by Darin.

- fixed 3370085 - new frames with javascript: URLs should be populated with the result of the JavaScript code

        * ChangeLog:
        * khtml/html/html_baseimpl.cpp:
        (HTMLFrameElementImpl::updateForNewURL): Skip special filtering of
        (HTMLFrameElementImpl::attach): Ditto.
        * khtml/khtml_part.cpp:
        (KHTMLPart::replaceContentsWithScriptResult): New method to execute
script and if the result is a string, set it as the new document contents.
(KHTMLPart::requestFrame): Removed APPLE_CHANGES around
javascript: handling. Use new
replaceContentsWithScriptResult method. This executes the
JS in the new child frame, not the parent frame, as in other
        * khtml/khtml_part.h: Prototype new method.
        * kwq/KWQKHTMLPartBrowserExtension.mm:
        (KHTMLPartBrowserExtension::openURLRequest): Use new part method.

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

19 years agoJavaScriptCore:
vicki [Tue, 4 Nov 2003 00:49:40 +0000 (00:49 +0000)]

        Reviewed by kocienda.

- fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.

        * JavaScriptCore.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles


        Reviewed by kocienda.

- fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.

        * WebCore.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles


        Reviewed by kocienda.

- fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.

        * WebKit.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles


        Reviewed by kocienda.

- fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.

        * WebBrowser.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles

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

19 years ago Reviewed by Maciej
kocienda [Tue, 4 Nov 2003 00:42:44 +0000 (00:42 +0000)]
    Reviewed by Maciej

Fix for this bug:

<rdar://problem/3470338>: onclick is not executing when you hit enter on focused links

Now when we trap return or enter when a link is focused, we send
a click event to the node.

        * khtml/html/html_inlineimpl.cpp:
        (HTMLAnchorElementImpl::defaultEventHandler): Swallow key event when
return or enter and send a mouse event.
        (HTMLAnchorElementImpl::performClick): New function to send simulated
        * khtml/html/html_inlineimpl.h: Declare performClick function.

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

19 years agoJavaScriptCore:
vicki [Tue, 4 Nov 2003 00:40:17 +0000 (00:40 +0000)]

        Reviewed by kocienda.

- fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.

        * JavaScriptCore.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles


        Reviewed by kocienda.

- fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.

        * WebCore.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles


        Reviewed by kocienda.

- fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.

        * WebKit.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles


        Reviewed by kocienda.

- fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.

        * WebBrowser.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles

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

19 years ago Reviewed by John.
darin [Mon, 3 Nov 2003 23:44:32 +0000 (23:44 +0000)]
    Reviewed by John.

        - fixed 3392543 -- incorrect base writing direction in RTL form controls
        - fixed baseline for list box <select> elements
        - moved style code from updateFromElement to setStyle

        * khtml/rendering/render_form.h: Added setStyle function to RenderFormElement, RenderLineEdit,
        RenderSelect, and RenderTextArea. Removed some unused stuff.
        * khtml/rendering/render_form.cpp:
        (RenderFormElement::setStyle): Set the font based on the style.
        (RenderFormElement::updateFromElement): Remove font setting code; moved to setStyle.
        Also ifdef'd out the color-setting code, which belongs in setStyle and is irrelevant
        for KWQ anyway.
        (RenderSubmitButton::setStyle): Set the writing direction based on the style.
        (RenderSubmitButton::updateFromElement): Tiny code cleanup, using a local variable.
        (RenderLineEdit::setStyle): Set the alignment and writing direction based on the style.
        (RenderLineEdit::updateFromElement): Remove alignment setting code; moved to setStyle.
        (RenderFileButton::RenderFileButton): Remove code to set m_focus, a data member that was
        never used.
        (RenderSelect::setWidgetWritingDirection): Added. Helper function.
        (RenderSelect::setStyle): Call setWidgetWritingDirection.
        (RenderSelect::updateFromElement): Call setWidgetWritingDirection if a new widget is created.
        (RenderSelect::baselinePosition): Added a FIXME comment.
        (RenderTextArea::setStyle): Set the alignment and writing direction based on the style.
        (RenderTextArea::updateFromElement): Remove alignment setting code; moved to setStyle.

        * kwq/KWQButton.h: Added setWritingDirection function.
        * kwq/KWQButton.mm:
        (+[KWQButton cellClass]): Use KWQButtonCell.
        (-[KWQButtonCell baseWritingDirection:]): Return base writing direction.
        (-[KWQButtonCell setBaseWritingDirection:]): Store base writing direction.
        (-[KWQButtonCell _textAttributes]): Set the base writing direction in the paragraph
        style if it's not already right.
        (QButton::setWritingDirection): Call setBaseWritingDirection: on the cell and do
        setNeedsDisplay: as needed.

        * kwq/KWQComboBox.h: Added setWritingDirection function.
        * kwq/KWQComboBox.mm:
        (QComboBox::setWritingDirection): Call setBaseWritingDirection: on the cell and do
        setNeedsDisplay: as needed.
        (-[KWQPopUpButtonCell setBaseWritingDirection:]): Store base writing direction.
        (-[KWQPopUpButtonCell baseWritingDirection:]): Return base writing direction.
        (-[KWQPopUpButtonCell _textAttributes]): Set the base writing direction in the
        paragraph style if it's not already right.

        * kwq/KWQLineEdit.h: Added setWritingDirection function.
        * kwq/KWQLineEdit.mm:
        (QLineEdit::setAlignment): Tweaked to match new setWritingDirection in style.
        (QLineEdit::setWritingDirection): Call setBaseWritingDirection: on the KWQTextField.

        * kwq/KWQTextField.h: Added setBaseWritingDirection method.
        * kwq/KWQTextField.mm:
        (-[KWQTextField setPasswordMode:]): Set the base writing direction of the secure field's
        cell based on the base writing direction of the parent field's cell, when creating the
        secure field.
        (-[KWQTextField setBaseWritingDirection:]): Added. Sets the base writing direction of
        the field's cell and the secure field's cell, if it exists, and does setNeedsDisplay
        as needed.
        (-[KWQTextFieldCell setBaseWritingDirection:]): Added. Stores the base writing direction.
        (-[KWQTextFieldCell baseWritingDirection]): Added. Returns the base writing direction.
        (-[KWQTextFieldCell _textAttributes]): Set the base writing direction in the paragraph
        style if it's not already right.
        (-[KWQSecureTextFieldCell setBaseWritingDirection:]): Added. Stores the base writing
        (-[KWQSecureTextFieldCell _textAttributes]): Set the base writing direction in the
        paragraph style if it's not already right.

        * kwq/KWQListBox.h: Added itemIsGroupLabel and setWritingDirection functions, and made
        the private insertItem function take a QString instead of an NSObject.
        (QListBox::insertItem): Changed parameter from unsigned to int to match Qt, and made it
        use an inlne to call the private insertItem function shared with insertGroupLabel.
        (QListBox::insertGroupLabel): Changed parameter from unsigned to int and made it use an
        inline to call the private insertItem function.
        * kwq/KWQListBox.mm:
        (itemFont): Added. Returns a suitable font for individual items.
        (groupLabelFont): Added. Returns a suitable font for group labels.
        (paragraphStyle): Added. Returns a suitable paragraph style for a given writing direction.
        (stringAttributes): Added. Returns a string attributes dictionary for a given writing direction for
        either individual items or group labels.
        (QListBox::insertItem): Use an attributed string to give the item the appropriate font and
        writing direction, calling stringAttributes to get the attributes dictionary, and getting
        the writing direction from the table view.
        (QListBox::endBatchInsert): Tweak for consistency with other nearby methods.
        (QListBox::setSelected): Add an assertion and tweak a bit.
        (QListBox::isSelected): Add an assertion and tweak a bit.
        (QListBox::setWritingDirection): Update the styles for all the attributed strings and call
        reloadData if the writing direction changes. Also store the direction in the table view.
        (QListBox::itemIsGroupLabel): Added. Returns true if a given item is a group label; works
        by checking the font in the attributed string.
        (-[KWQTableView initWithListBox:items:]): Use itemFont() instead of computing the font.
        (-[KWQTableView tableView:shouldSelectRow:]): Use itemIsGroupLabel function instead of
        checking for NSString vs. NSttributedString in the items array; we now use attributed
        strings for all the items.
        (-[KWQTableView setBaseWritingDirection:]): Added. Stores a base writing direction.
        (-[KWQTableView baseWritingDirection]): Added. Returns the stored base writing direction.

        * kwq/KWQTextEdit.h: Added setWritingDirection function.
        * kwq/KWQTextEdit.mm:
        (QTextEdit::setAlignment): Removed code to set base writing direction.
        (QTextEdit::setWritingDirection): Added. Sets base writing direction.

        * kwq/KWQTextArea.mm: (-[KWQTextArea setBaseWritingDirection:]): Call setNeedsDisplay:YES.

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

19 years ago Fix 3472200, media tests fail to parse correctly. Merging a patch to handle exotic...
hyatt [Mon, 3 Nov 2003 23:37:09 +0000 (23:37 +0000)]
Fix 3472200, media tests fail to parse correctly.  Merging a patch to handle exotic media types
from the KHTML trunk.

        * khtml/css/parser.cpp:
        * khtml/css/parser.y:

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

19 years ago Fix for 3471314, make sure to check the outline phase before painting backgrounds...
hyatt [Mon, 3 Nov 2003 23:18:17 +0000 (23:18 +0000)]
Fix for 3471314, make sure to check the outline phase before painting backgrounds of iframes.

        Reviewed by mjs

        * khtml/rendering/render_replaced.cpp:

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

19 years ago Fix for 3470855, links with script action stay focused when clicking.
hyatt [Mon, 3 Nov 2003 23:04:29 +0000 (23:04 +0000)]
Fix for 3470855, links with script action stay focused when clicking.

Fix for 3470858, clicking and dragging a link and then releasing doesn't clear the glow ring.

Fix for 3472090, link should not be mouse focusable.

        Reviewed by mjs

        * khtml/css/html4.css:
        * khtml/html/html_inlineimpl.h:

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

19 years ago Fix for 3472030, line-height not properly reset in all cases when the font shorthand...
hyatt [Mon, 3 Nov 2003 22:43:22 +0000 (22:43 +0000)]
Fix for 3472030, line-height not properly reset in all cases when the font shorthand is used.

        Reviewed by mjs

        * khtml/css/cssparser.cpp:

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

19 years ago Reviewed by Darin.
mjs [Mon, 3 Nov 2003 22:12:53 +0000 (22:12 +0000)]
    Reviewed by Darin.

- fixed 3472023 - REGRESSION: assertion on layout tests

        * kwq/KWQTextCodec.mm:
        (KWQTextDecoder::convertUTF16): Remove assert that length is not
0, since we can get zero length now when flushing.

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

19 years ago Reviewed by John
kocienda [Mon, 3 Nov 2003 22:01:57 +0000 (22:01 +0000)]
    Reviewed by John

Fix for this bug:

<rdar://problem/3260780>: hitting return in a text field submits
form without running onclick handler for submit button

        * khtml/html/html_formimpl.cpp:
        (HTMLFormElementImpl::performSubmitClick): Refactored this function to
be more generic, so that text fields can use it, too.
        (HTMLInputElementImpl::defaultEventHandler): Removed code to check
for a submit button, and merged this code into new performSubmitClick.
        (HTMLSelectElementImpl::defaultEventHandler): Ditto.
        * khtml/html/html_formimpl.h: Removed declaration for simulateButtonClickForEvent.
Added declaration for performSubmitClick.
        * khtml/rendering/render_form.cpp:
        (RenderLineEdit::slotReturnPressed): Now calls performSubmitClick rather
than prepareSubmit on the form. This is the key piece for the bug fix.

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

19 years agoWebCore:
kocienda [Mon, 3 Nov 2003 19:45:51 +0000 (19:45 +0000)]

        Reviewed by John

        Fix for this bug:

        <rdar://problem/3470342>: focus rings are shown for links in
        web pages even in non-frontmost windows

        * kwq/KWQKHTMLPart.h: Add setShowsFirstResponder, showsFirstResponder functions and
        _showsFirstResponder member variable.
        (KWQKHTMLPart::showsFirstResponder): Added.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::KWQKHTMLPart): Initialize _showsFirstResponder to true
        (KWQKHTMLPart::setShowsFirstResponder): Sets whether the painter draws focus rings.
        * kwq/KWQPainter.h: Add _drawsFocusRing member variable.
        (QPainter::setDrawsFocusRing): Sets whether the painter draws focus rings.
        * kwq/KWQPainter.mm:
        (QPainter::QPainter): Initialize _drawsFocusRing to true.
        (QPainter::initFocusRing): Check _drawsFocusRing flag. Return if set to false.
        (QPainter::addFocusRingRect): Ditto.
        (QPainter::drawFocusRing): Ditto.
        * kwq/WebCoreBridge.h: Add setShowsFirstResponder method.
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge drawRect:]): Sets the value for _drawsFocusRing on the
painter using _showsFirstResponder value from the part.
        (-[WebCoreBridge setShowsFirstResponder:]): Set passed in value on the part.
Redraw the focus ring if flag has changed.


        Reviewed by John

        Fix for this bug:

        <rdar://problem/3470342>: focus rings are shown for links in
        web pages even in non-frontmost windows

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateFocusRing]): New method. Uses the "keyness"
of the view's window to toggle focus ring drawing.
        (-[WebHTMLView windowDidBecomeKey:]): Calls updateFocusRing.
        (-[WebHTMLView windowDidResignKey:]): Ditto.

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

19 years ago Remove unneeded style property additions for form controls. In the KHTML trunk...
hyatt [Mon, 3 Nov 2003 18:46:10 +0000 (18:46 +0000)]
Remove unneeded style property additions for form controls.  In the KHTML trunk these moved into the UA
sheet, but we don't even need them there, since we don't honor any of them.

        * khtml/html/html_formimpl.cpp:

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

19 years ago Patch from KHTML trunk. Move frameset positioning reset into adjustRenderStyle...
hyatt [Mon, 3 Nov 2003 18:35:52 +0000 (18:35 +0000)]
Patch from KHTML trunk.  Move frameset positioning reset into adjustRenderStyle so as not to
pollute the render tree.

        * khtml/css/cssstyleselector.cpp:
        * khtml/rendering/render_box.cpp:

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

19 years ago Fix for 3471609, 'transparent' should be an acceptable named color value instead...
hyatt [Mon, 3 Nov 2003 18:22:30 +0000 (18:22 +0000)]
Fix for 3471609, 'transparent' should be an acceptable named color value instead of a special
keyword used only by background/border.

        Reviewed by kocienda

        * khtml/css/cssparser.cpp:
        * khtml/css/cssstyleselector.cpp:
        * khtml/css/cssvalues.c:
        * khtml/css/cssvalues.h:
        * khtml/css/cssvalues.in:
        * khtml/rendering/render_box.cpp:
        * khtml/rendering/render_object.cpp:
        * khtml/rendering/render_style.h:

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

19 years ago Reviewed by Darin.
mjs [Mon, 3 Nov 2003 08:20:05 +0000 (08:20 +0000)]
    Reviewed by Darin.

- fixed 3471226 - HTML document that's less than 16 bytes comes out blank

        * kwq/KWQTextCodec.mm:
        (KWQTextDecoder::toUnicode): When flushing, don't bail out early
if there are no new characters!

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

19 years agoRevert change I didn't mean to commit.
mjs [Mon, 3 Nov 2003 06:34:41 +0000 (06:34 +0000)]
Revert change I didn't mean to commit.

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

19 years ago Reviewed by Darin.
mjs [Mon, 3 Nov 2003 06:32:05 +0000 (06:32 +0000)]
    Reviewed by Darin.

- don't resolve Null href or src attributes, since the distinction
between empty and absent attribute is important.

        * khtml/dom/html_base.cpp:
        * khtml/dom/html_form.cpp:
        * khtml/dom/html_head.cpp:
        * khtml/dom/html_image.cpp:
        * khtml/dom/html_inline.cpp:

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

19 years ago Fix for 3468924, an implementation of outline-offset. We also give :focus links...
hyatt [Mon, 3 Nov 2003 05:53:27 +0000 (05:53 +0000)]
Fix for 3468924, an implementation of outline-offset.  We also give :focus links a built-in offset of
outline-width/2  by default for the Apple Aqua style.

Fix for 3470660, input type=image excluded from tab order.

        Reviewed by darin

        * khtml/css/cssparser.cpp:
        * khtml/css/cssproperties.c:
        * khtml/css/cssproperties.h:
        * khtml/css/cssproperties.in:
        * khtml/css/cssstyleselector.cpp:
        * khtml/css/html4.css:
        * khtml/rendering/render_box.cpp:
        * khtml/rendering/render_flow.cpp:
        * khtml/rendering/render_inline.cpp:
        * khtml/rendering/render_object.cpp:
        * khtml/rendering/render_style.h:
        * khtml/rendering/render_text.cpp:
        * kwq/KWQPainter.h:
        * kwq/KWQPainter.mm:

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

19 years ago Reviewed by Darin.
mjs [Mon, 3 Nov 2003 02:03:09 +0000 (02:03 +0000)]
    Reviewed by Darin.

- remove use of obsolete HTTLCookiePolicyBaseURL SPI

* WebCoreSupport.subproj/WebSubresourceClient.m:
startLoadingResource:withURL:referrer:forDataSource:]): Use
setMainDocumentURL, not setHTTPCookiePolicyBaseURL.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): Likewise.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): Likewise.

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

19 years ago Reviewed by Maciej.
darin [Sun, 2 Nov 2003 22:51:46 +0000 (22:51 +0000)]
    Reviewed by Maciej.

        - changed list manipulation to use Harri Porten's idea of a circular
          linked list that is built from head to tail rather than building the
          list backwards and reversing the list when done

        * kjs/grammar.y: Handle CatchNode and FinallyNode in a type-safe way.
        Change many places that passed 0L to pass nothing at all, or to pass 0.

        * kjs/nodes.h:
        (KJS::ElementNode::ElementNode): Build a circular list instead of a 0-terminated
        backwards list.
        (KJS::ArrayNode::ArrayNode): Break the circular list instead of reversing the list.
        (KJS::PropertyValueNode::PropertyValueNode): Moved before ObjectLiteralNode so the
        inline code in ObjectLiteralNode works. Build a circular list instead of a 0-terminated
        backwards list. Made the case for the first node separate so we don't need a nil check.
        (KJS::ObjectLiteralNode::ObjectLiteralNode): Break the circular list instead of
        reversing the list.
        (KJS::ArgumentListNode::ArgumentListNode): Build a circular list instead of a 0-terminated
        backwards list. Also, made the constructors inline (moved here from .cpp file).
        (KJS::ArgumentsNode::ArgumentsNode): Break the circular list instead of
        reversing the list.
        (KJS::NewExprNode::NewExprNode): Changed a 0L to 0.
        (KJS::StatListNode::StatListNode): Make this constructor no longer inline (moved into
        .cpp file). The one in the .cpp file builds a circular list instead of a 0-terminated
        backwards list.
        (KJS::VarDeclListNode::VarDeclListNode): Build a circular list instead of a 0-terminated
        backwards list.
        (KJS::VarStatementNode::VarStatementNode): Break the circular list instead of reversing
        the list.
        (KJS::BlockNode::BlockNode): Make this constructor no longer inline (moved into .cpp file).
        The one in the .cpp file breaks the list instead of reversing it.
        (KJS::ForNode::ForNode): Break the circular list instead of reversing the list.
        (KJS::CaseClauseNode::CaseClauseNode): Break the circular list instead of reversing the
        (KJS::ClauseListNode::ClauseListNode): Build a circular list instead of a 0-terminated
        backwards list.
        (KJS::CaseBlockNode::CaseBlockNode): Make this constructor no longer inline (moved into
        .cpp file). The one in the .cpp file breaks the list instead of reversing it.
        (KJS::TryNode::TryNode): Changed constructor to take typed parameters for the catch and
        finally nodes rather than just Node.
        (KJS::ParameterNode::ParameterNode): Build a circular list instead of a 0-terminated
        backwards list.
        (KJS::FuncDeclNode::FuncDeclNode): Break the circular list instead of reversing the
        (KJS::FuncExprNode::FuncExprNode): Break the circular list instead of reversing the

        * kjs/nodes.cpp:
        (StatListNode::StatListNode): Moved this constructor here, no longer inline.
        Did the "break circular list" thing instead of the "reverse list" thing.
        Added setLoc calls to match KJS in the KDE tree; since we don't currently
        use the JavaScript debugging support, it's unclear whether there's any benefit, but
        later we might be using it and it's good to be as close as possible.
        (BlockNode::BlockNode): Moved this constructor here, no longer inline.
        Did the "break circular list" thing instead of the "reverse list" thing.
        Added setLoc calls.
        (CaseBlockNode::CaseBlockNode): Moved this constructor here, no longer inline.
        Did the "break circular list" thing instead of the "reverse list" thing.
        (SourceElementsNode::SourceElementsNode): Moved this constructor here, no longer inline.
        Did the "break circular list" thing instead of the "reverse list" thing.
        Added setLoc calls.

        * kjs/grammar.cpp: Regenerated.
        * kjs/grammar.cpp.h: Regenerated.
        * kjs/grammar.h: Regenerated.

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

19 years ago Reviewed by Maciej.
darin [Sun, 2 Nov 2003 05:37:29 +0000 (05:37 +0000)]
    Reviewed by Maciej.

        - fixed 3470882 -- storage leaks in WebDownload code
        - fixed 3470884 -- download is always nil in downloadWindowForAuthenticationSheet: call from WebDownload

        * Misc.subproj/WebDownload.m:
        (-[WebDownloadInternal initWithDownload:]): Removed this method, which was never called.
        (-[WebDownloadInternal dealloc]): Added missing call to [super dealloc] to fix one cause
        of a leak of the WebDownloadInternal object itself. Removed the release of webDownload,
        which was always nil, and if it wasn't would end up causing a leak due to a reference cycle.
        (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Remove the use of
        webDownload, which was always nil, and instead use the download parameter passed to us,
        casting it to WebDownload, since it's guaranteed to be one.
        (-[WebDownload _setRealDelegate:]): Added. Shared by the methods below to set up the real
        delegate before calling init. The old code called init twice, causing an second call to the
        superclass's init method, which caused it to create an extra copy of its internal structure,
        as well as causing us to create two WebDownloadInternal objects.
        (-[WebDownload init]): Don't allocate a second WebDownloadInternal if _setRealDelegate already
        allocated it for us. Before we would allocate and leak an extra one each time.
        (-[WebDownload dealloc]): Added. Releases the WebDownloadInternal. This is the second cause
        of the leak of the WebDownloadInternal object.
        (-[WebDownload initWithRequest:delegate:]): Call [self _setRealDelegate:] instead of calling
        [self init] and then [_webInternal setRealDelegate:], avoiding the leaks caused by doing it
        the other way.
        (-[WebDownload _initWithLoadingConnection:request:response:delegate:proxy:]): Ditto.
        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): Ditto.
        (-[WebDownload _initWithRequest:delegate:directory:]): Ditto.

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

19 years ago Reviewed by Darin.
mjs [Sun, 2 Nov 2003 03:53:59 +0000 (03:53 +0000)]
    Reviewed by Darin.

- fixed 3469262 - REGRESSION (110-112): logitech page is very slow to load (due to style sheet updates?)

        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::dispatchGenericEvent): Don't do default handling for
events that don't bubble. Not 100% sure why this caused the big
slowdown but it was a somewhat arbitrary change in my earlier

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

19 years ago Reviewed by John.
darin [Sun, 2 Nov 2003 02:01:32 +0000 (02:01 +0000)]
    Reviewed by John.

        - fixed 3468870 -- REGRESSION (108-109): cannot upload files (<input type=file> is broken)

        * kwq/KWQFileButton.mm: (KWQFileButton::filenameChanged): Pass the filename to
        the textChanged signal. The one without a parameter is a different signal.

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

19 years ago Reviewed by John.
darin [Sat, 1 Nov 2003 23:46:04 +0000 (23:46 +0000)]
    Reviewed by John.

        - fixed 3466714 -- page with <object> tag with text subtype and no URL causes hang

        * khtml/khtml_part.cpp: (KHTMLPart::requestObject): Added a check so that an empty
        URL string doesn't get completed, and results in an empty KURL object. Also made the
        change to allow empty URLs unconditional, because I don't think it's a WebCore-specific
        thing on further reflection.

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

19 years agoFixed typo-type problems in some old log entries.
darin [Sat, 1 Nov 2003 18:49:08 +0000 (18:49 +0000)]
Fixed typo-type problems in some old log entries.

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

19 years ago Fix for 3470489, I just forgot to commit a piece of my patch. This has actually...
hyatt [Sat, 1 Nov 2003 02:23:26 +0000 (02:23 +0000)]
Fix for 3470489, I just forgot to commit a piece of my patch.  This has actually even
been reviewed by ken already.

Reviewed by kocienda

        * khtml/rendering/render_replaced.cpp:

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

19 years ago Reviewed by John.
darin [Sat, 1 Nov 2003 01:26:31 +0000 (01:26 +0000)]
    Reviewed by John.

        - fixed 3457875 -- text disappears from fields in forms upon certain types of scrolling

        * kwq/KWQTextField.mm: (-[KWQTextField control:textShouldBeginEditing:]):
        Call releaseGState on the field editor and its clip view to prevent undesirable caching.

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

19 years ago Reviewed by Darin
kocienda [Sat, 1 Nov 2003 01:01:05 +0000 (01:01 +0000)]
    Reviewed by Darin

Fix for this bug:

<rdar://problem/3440719>: Read-only text field form controls
do not keyboard focus and do not take part in tabbing

        * kwq/KWQTextField.mm:
        (-[KWQTextField acceptsFirstResponder]): We want our text fields
        to accept first responder even if not editable.

Once this is fixed, this one comes along for free:

<rdar://problem/3440710>: Read-only textarea form controls should select all text when focused

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

19 years ago Reviewed by Ken.
darin [Sat, 1 Nov 2003 00:31:43 +0000 (00:31 +0000)]
    Reviewed by Ken.

        - fixed 3469383 -- REGRESSION (100-111): if one line is selected on this page, too much gets copied (plain text)

        * khtml/khtml_part.cpp: (KHTMLPart::text): Range check the child node indices before using them
        to get at a child node. We don't want to set startNode or endNode to nil in any case. If the end
        node is set to nil, we end up copying the entire remainder of the page.

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

19 years ago Fix for 3470007, links don't get focus on mouse down. Fix the focus check on mouse...
hyatt [Fri, 31 Oct 2003 23:40:37 +0000 (23:40 +0000)]
Fix for 3470007, links don't get focus on mouse down.  Fix the focus check on mouse down to actually
crawl up the content tree in order to find the nearest enclosing focusable node.  Also clean up and
fix checks that improperly blurred the link after it got focused.

Fix for 3450335, AppKit widgets not obeying their desired focus policies.  I renamed isSelectable to
isFocusable and then also added isMouseFocusable and isKeyboardFocusable methods.

        Reviewed by kocienda

        * khtml/css/html4.css:
        * khtml/html/html_baseimpl.cpp:
        * khtml/html/html_baseimpl.h:
        * khtml/html/html_formimpl.cpp:
        * khtml/html/html_formimpl.h:
        * khtml/html/html_inlineimpl.cpp:
        * khtml/html/html_inlineimpl.h:
        * khtml/khtmlview.cpp:
        * khtml/xml/dom_docimpl.cpp:
        * khtml/xml/dom_nodeimpl.cpp:
        * khtml/xml/dom_nodeimpl.h:
        * kwq/KWQKHTMLPart.mm:

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

19 years ago Reviewed by David
kocienda [Fri, 31 Oct 2003 23:05:05 +0000 (23:05 +0000)]
    Reviewed by David

Fix for this bug:

<rdar://problem/3470233>: solid outlines drawing incorrectly

The problem was that when I collected the array of line boxes for
render inlines, I put a QRect() at the start and the end of the list.
However, the border calculation code expected "invalid" rectangles
(rects with 0 for all four dimentions) in the first and last
positions, and the default constructor for QRect makes rects with 1,1
for width/height.

        * khtml/rendering/render_inline.cpp:

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

19 years ago Reviewed by Dave.
darin [Fri, 31 Oct 2003 20:14:21 +0000 (20:14 +0000)]
    Reviewed by Dave.

        - fixed 3464759 -- REGRESSION (100-107): Pressing on link loses mouse-down feedback almost instantly

        * khtml/khtmlview.cpp: (KHTMLView::viewportMouseMoveEvent): Pass true for the "read-only"
        flag in prepareMoveEvent to prevent us from updating :hover and :active while the mouse is down.

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

19 years ago Fix for 3466542, add a real minimum font size setting.
hyatt [Fri, 31 Oct 2003 19:54:29 +0000 (19:54 +0000)]
Fix for 3466542, add a real minimum font size setting.

        Reviewed by john

        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):
        (-[WebPreferences setMinimumFontSize:]):
        (-[WebPreferences minimumLogicalFontSize]):
        (-[WebPreferences setMinimumLogicalFontSize:]):
        * WebView.subproj/WebView.m:
        (-[WebView _updateWebCoreSettingsFromPreferences:]):

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

19 years ago Reviewed by David
kocienda [Fri, 31 Oct 2003 19:46:30 +0000 (19:46 +0000)]
    Reviewed by David

<rdar://problem/3468910>: REGRESSION: other than focus rings, outlines styles are broken

Outlines now draw like they used to.

        * khtml/rendering/render_inline.cpp:
        (RenderInline::paintObject): Now branches to call focus ring or "regular" outlines.
        (RenderInline::paintFocusRing): Broke out drawing aqua focus rings into its
own function.
        (RenderInline::paintOutlines): New function to draw "regular outlines.
        (RenderInline::paintOutline): Removed code which special-cased aqua outlines.
        * khtml/rendering/render_inline.h: Added paintOutlines declaration.

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

19 years ago Fix for 3467419, highlighted text in "search in books" Amazon feature is obscured...
hyatt [Fri, 31 Oct 2003 19:29:02 +0000 (19:29 +0000)]
Fix for 3467419, highlighted text in "search in books" Amazon feature is obscured.  The
site is using the CSS3 opacity property.  The CSS3 Color module is far enough along now
that opacity can safely be used without the "-khtml-" in front of it.

Fix for 3466542, the minimum font size bug.  I am introducing a new minimum font size pref that
really is a hard override.

        Reviewed by gramps (opacity) and john (min font size)

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

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

19 years agoWebCore:
kocienda [Fri, 31 Oct 2003 16:46:16 +0000 (16:46 +0000)]

        Reviewed by Darin

Fix for this bug:

<rdar://problem/3469088>: focus not removed from text link
when user hits cmd-L or clicks in window chrome

        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge deselectAll]): Now clears the focus ring as well.
        (-[WebCoreBridge deselectText]): Just clears text selection.


        Reviewed by Darin

        Fix for this bug:

        <rdar://problem/3469088>: focus not removed from text link
when user hits cmd-L or clicks in window chrome

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView deselectText]): Added new method just to deselect text.
        (-[WebHTMLView resignFirstResponder]): Just deseclect text if we
are doing a programmatic setting of focus. Deselect all otherwise.

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

19 years ago Three simple fixes:
hyatt [Fri, 31 Oct 2003 09:29:10 +0000 (09:29 +0000)]
Three simple fixes:

(1) Fix for 3463777, crash on CSS3 box model draft.  This was just a situation where a simple null-check
was needed for generated content.

(2) Added a != check when the old and new hover obj are the same to avoid a little bit of extra work.

(3) Removed the m_pressed member from DOM nodes and removed the calls to setPressed, since this code
is dead and not used by anyone.

        * khtml/khtmlview.cpp:
        * khtml/rendering/render_layer.cpp:
        * khtml/xml/dom_nodeimpl.cpp:
        * khtml/xml/dom_nodeimpl.h:

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

19 years ago Fix for 3469330, the Marquee data in RenderStyle needs a copy constructor hack like...
hyatt [Fri, 31 Oct 2003 01:51:46 +0000 (01:51 +0000)]
Fix for 3469330, the Marquee data in RenderStyle needs a copy constructor hack like all the other
objects do.

        * khtml/rendering/render_style.cpp:
        * khtml/rendering/render_style.h:

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

19 years ago Fix for 3469206, images didn't paint outlines any more. They were bailing early...
hyatt [Fri, 31 Oct 2003 01:41:40 +0000 (01:41 +0000)]
Fix for 3469206, images didn't paint outlines any more.  They were bailing early because I forgot to
add a check for my new PaintAction.

        Reviewed by darin

        * khtml/rendering/render_replaced.cpp:

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

19 years ago Fixes for 3469057, outlines not drawn on aintitcool.com and also for 3469178, object...
hyatt [Fri, 31 Oct 2003 01:27:11 +0000 (01:27 +0000)]
Fixes for 3469057, outlines not drawn on aintitcool.com and also for 3469178, objects with width/height of 0
incorrectly excluded from tabbing.

        Reviewed by darin

        * khtml/html/html_formimpl.cpp:
        * khtml/html/html_inlineimpl.cpp:
        * khtml/rendering/render_flow.cpp:
        * khtml/rendering/render_inline.cpp:
        * khtml/rendering/render_object.cpp:

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

19 years ago Reviewed by Darin.
mjs [Fri, 31 Oct 2003 00:47:16 +0000 (00:47 +0000)]
    Reviewed by Darin.

- fixed 3426081 - empty cells HTMLCollection for <tr>
- fixed 3367598 - "length" attribute for table row "cells" always returns 0

        * khtml/dom/html_table.cpp:
        (HTMLTableRowElement::cells): TR_CELLS, not TABLE_ROWS.

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

19 years ago Fix for 3468916, outline needs its own paint action so that focus rings don't draw...
hyatt [Fri, 31 Oct 2003 00:11:44 +0000 (00:11 +0000)]
Fix for 3468916, outline needs its own paint action so that focus rings don't draw under other content.

        Reviewed by kocienda

        * khtml/rendering/render_block.cpp:
        * khtml/rendering/render_image.cpp:
        * khtml/rendering/render_inline.cpp:
        * khtml/rendering/render_layer.cpp:
        * khtml/rendering/render_object.h:

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

19 years ago Fixed: <rdar://problem/3458368>: drawing to the screen while window hidden: http...
cblu [Thu, 30 Oct 2003 23:35:36 +0000 (23:35 +0000)]
Fixed: <rdar://problem/3458368>: drawing to the screen while window hidden: bhphotovideo.com/

        Reviewed by john.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in when the window is miniaturized or hidden
        (-[WebBaseNetscapePluginView restartNullEvents]): don't restart null events if the window is miniaturized, this allows restartNullEvents to be called in start and viewDidMoveToWindow without needing to make the check
        (-[WebBaseNetscapePluginView start]): just call restartNullEvents instead of checking if the window is miniaturized

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

19 years ago Fixed Dave's fix to my fix to my fix:
mjs [Thu, 30 Oct 2003 23:31:20 +0000 (23:31 +0000)]
Fixed Dave's fix to my fix to my fix:

        * khtml/html/html_imageimpl.cpp:
        (HTMLImageElementImpl::width): Put back m_render check, consider
the case of image with no width/height attributes and display:none
set. We don't want to crash on that.
        (HTMLImageElementImpl::height): Ditto.

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

19 years agoFix build bustage.
hyatt [Thu, 30 Oct 2003 23:28:10 +0000 (23:28 +0000)]
Fix build bustage.

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

19 years agoWebCore:
kocienda [Thu, 30 Oct 2003 23:13:10 +0000 (23:13 +0000)]

        Reviewed by Hyatt

Support for tabbing to links.

Fixes these bugs

<rdar://problem/3468395>: fix full keyboard access loop for buttons
<rdar://problem/3468397>: paint aqua focus rings around text links
<rdar://problem/3468406>: focused links do not activate by hitting
   return key
<rdar://problem/3468410>: paintTextOutline in RenderText objects
   should be done at a higher level
<rdar://problem/3468424>: improve function to determine if a node is
   tab selectable
<rdar://problem/3468427>: add bridge function to access active
   document view for a node
<rdar://problem/3468429>: links do not scroll into view when focusing
<rdar://problem/3468435>: when tabbing out of a frame, last focused
   node is not cleared if it is a text link
<rdar://problem/3468436>: focus on text link does not clear when
   clicking mouse in document body
<rdar://problem/3468440>: add setRect convenience to QRect
<rdar://problem/3468444>: elements paint their outlines even if they
   are not visible
<rdar://problem/3468448>: setting focus on a node sets focus on all
   its siblings
<rdar://problem/3468456>: cannot tab to form image input elements
<rdar://problem/3468461>: tab focus can seem to disappear from view on
   pages with dhtml menus
<rdar://problem/3469021>: webcore bridge nextKeyView always starts
from the beginning of the document

        * WebCore-combined.exp: Export WebCoreGraphicsBridge class
        * WebCore.exp: Ditto
        * WebCore.pbproj/project.pbxproj: Add WebCoreGraphicsBridge class
        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue): border style check now take apple aqua
style into account
        * khtml/css/cssvalues.in: Add -apple-aqua border value
        * khtml/css/html4.css: Change focus, a:link:active, and a:visited:active
to use new -apple-aqua focus rings.
        * khtml/html/html_formimpl.cpp:
        (HTMLGenericFormElementImpl::isSelectable): Improve function so
that invisible elements are no longer considered selectable
        * khtml/html/html_inlineimpl.cpp:
        (HTMLAnchorElementImpl::isSelectable): Ditto.
        (HTMLAnchorElementImpl::defaultEventHandler): Make return key
activate links as well as Enter.
        * khtml/html/html_inlineimpl.h: Move isSelectable function into
implementation file.
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::paintObject): Do not paint outlines if
content is invisible.
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::getAbsoluteRepaintRect): Improve function to correctly
calculate repaint rects including outlines.
        * khtml/rendering/render_image.cpp:
        (RenderImage::paintObject): Do not paint outlines if
        content is invisible.
        * khtml/rendering/render_inline.cpp:
        (RenderInline::paintObject): Ditto.
        (RenderInline::addFocusRingRects): New function to gather up rects
to use for painting outlines.
        (RenderInline::paintOutline): Added code to paint aqua focus rings.
        * khtml/rendering/render_inline.h:
        * khtml/rendering/render_object.cpp:
        (RenderObject::drawBorder): Add case for apple aqua border style.
        (RenderObject::addFocusRingRects): New function to gather up rects
        to use for painting outlines.
        (RenderObject::paintOutline): Added code to paint aqua focus rings.
        (RenderObject::getAbsoluteRepaintRectWithOutline): Helper function
to calculate rectangle to use for repainting when an object has an
        * khtml/rendering/render_object.h: Add addFocusRingRects declaration.
        * khtml/rendering/render_style.h: Add APPLEAQUA to border enum
        * khtml/rendering/render_text.cpp:
        (RenderText::paintObject): Removed code to draw outlines.
        * khtml/rendering/render_text.h: Ditto.
        * khtml/xml/dom_elementimpl.cpp: Removed redundant isSelectable check.
        * khtml/xml/dom_elementimpl.h: Ditto.
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::isSelectable): Added.
        (NodeBaseImpl::setFocus): Do not set focus on siblings.
        * khtml/xml/dom_nodeimpl.h: Moved implementation to .cpp file.
        * kwq/KWQButton.mm:
        (-[KWQButton nextKeyView]): Send a blur before going to next
key view. This prevents focus from being lost altogether.
        (-[KWQButton previousKeyView]): Ditto.
        * kwq/KWQKHTMLPart.h: Added documentViewForNode function.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::nextKeyViewInFrame): Add check for other focusables,
like text links.
        (KWQKHTMLPart::nextKeyViewInFrameHierarchy): Remove focus when leaving
a view.
        (KWQKHTMLPart::documentViewForNode): Added.
        (KWQKHTMLPart::khtmlMousePressEvent): Remove focus when you click in
a non-focusable area, like the document body.
        * kwq/KWQPainter.h: Added declarations.
        * kwq/KWQPainter.mm:
        (QPainterPrivate::QPainterPrivate): Modified constructor for new fields.
        (QPainter::initFocusRing): Added.
        (QPainter::addFocusRingRect): Added.
        (QPainter::drawFocusRing): Added.
        (QPainter::clearFocusRing): Added.
        * kwq/KWQRect.h:
        (QRect::setRect): Added.
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge nextKeyView]): Start from the currently-focused node,
if there is one, not unconditionally from the start of the document.
        (-[WebCoreBridge previousKeyView]): Ditto
        * kwq/WebCoreGraphicsBridge.h: Added.
        * kwq/WebCoreGraphicsBridge.m: Added.
        (+[WebCoreGraphicsBridge sharedBridge]): Added.
        (-[WebCoreGraphicsBridge init]): Added.
        (-[WebCoreGraphicsBridge setFocusRingStyle:radius:color:]): Added.


        Reviewed by Hyatt

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge documentView]): Added.
        * WebCoreSupport.subproj/WebGraphicsBridge.h: Added.
        * WebCoreSupport.subproj/WebGraphicsBridge.m: Added.
        (+[WebGraphicsBridge createSharedBridge]): Added.
        (-[WebGraphicsBridge setFocusRingStyle:radius:color:]): Added.
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebFrameView.m: Create a WebGraphicsBridge
when creating a WebFrameView.

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

19 years ago Fix mistake in my last change that I did not mean to commit.
mjs [Thu, 30 Oct 2003 22:51:43 +0000 (22:51 +0000)]
Fix mistake in my last change that I did not mean to commit.

        * khtml/html/html_imageimpl.cpp:
        (HTMLImageElementImpl::width): Remove extraneous second attempt to
lay out.

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

19 years ago Put paged-media changes back without the wrongful removal of the style data copy...
hyatt [Thu, 30 Oct 2003 22:50:07 +0000 (22:50 +0000)]
Put paged-media changes back without the wrongful removal of the style data copy constructors (which
were necessary after all).

        * ChangeLog:
        * khtml/css/cssstyleselector.cpp:
        * khtml/rendering/render_style.cpp:
        * khtml/rendering/render_style.h:

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

19 years ago Reviewed by Dave.
mjs [Thu, 30 Oct 2003 22:42:26 +0000 (22:42 +0000)]
    Reviewed by Dave.

- fixed 3468129 - REGRESSION: FOUC occurs on Surfin' Safari

        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElement::getValueProperty): Don't force layout for image
width/height if you can determine it statically from the attribute.

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

19 years agofixed version number. tree is open.
vicki [Thu, 30 Oct 2003 22:26:41 +0000 (22:26 +0000)]
fixed version number.  tree is open.

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

19 years agoforgot to tag before setting the version number back (doh!)
vicki [Thu, 30 Oct 2003 22:23:19 +0000 (22:23 +0000)]
forgot to tag before setting the version number back (doh!)

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

19 years agotree is open for Safari-113
vicki [Thu, 30 Oct 2003 22:22:00 +0000 (22:22 +0000)]
tree is open for Safari-113

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

19 years agoSafari-112 stamp
vicki [Thu, 30 Oct 2003 22:20:07 +0000 (22:20 +0000)]
Safari-112 stamp

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

19 years ago Reviewed by me
kocienda [Thu, 30 Oct 2003 22:00:36 +0000 (22:00 +0000)]
    Reviewed by me

Rolling out this code since it caused a big performance

2003-10-29  David Hyatt  <hyatt@apple.com>

Add the paged media properties to RenderStyle.
They aren't used yet, but they should now be
parsed and interpreted correctly.

        * khtml/css/cssstyleselector.cpp:
        * khtml/rendering/render_style.cpp:
        * khtml/rendering/render_style.h:

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

19 years agoCorrected ChangeLog.
mjs [Thu, 30 Oct 2003 20:59:34 +0000 (20:59 +0000)]
Corrected ChangeLog.

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

19 years ago Reviewed by NOBODY (OOPS!).
mjs [Thu, 30 Oct 2003 20:59:16 +0000 (20:59 +0000)]
    Reviewed by NOBODY (OOPS!).

- fixed 3427069 - browsing mp3.com causes leaks (KJS)

        * kjs/string_object.cpp:
        (StringProtoFuncImp::call): Don't do an early return, since that
could leak a temporary regexp.

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

19 years ago Reviewed by Darin.
mjs [Thu, 30 Oct 2003 18:42:38 +0000 (18:42 +0000)]
    Reviewed by Darin.

- fixed 3426076 - Leak of JS lexer data visiting http://www.ebay.com

        * kjs/grammar.cpp:
        (yyerror): Updated the commented code.
        * kjs/grammar.y: Don't delete string and identifier tokens when done
with them any more, they'll get cleaned up by the lexer now.
        * kjs/internal.cpp:
        (Parser::parse): Tell lexer when done parsing.
        * kjs/lexer.cpp:
        (Lexer::Lexer): Initialize new data members.
        (Lexer::lex): Use new methods to make strings and identifiers, and
save them.
        (Lexer::makeIdentifier): Make a new Identifier and save it in an
auto-growing array.
        (Lexer::makeUString): Likewise for UStrings.
        (Lexer::doneParsing): Clean up arrays of Ifentifiers and UStrings.
        * kjs/lexer.h:

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

19 years ago Fix for 3466628, widgets in overflow blocks don't move when the overflow block is...
hyatt [Thu, 30 Oct 2003 08:26:30 +0000 (08:26 +0000)]
Fix for 3466628, widgets in overflow blocks don't move when the overflow block is scrolled.  This
was a regression caused by my change to move widgets only during layout and not at paint time.  The
problem with this is that scrolling an overflow block doesn't do a layout, just a repaint.  I patched
the layer code to update widget positions on an overflow block scroll.

This then exposed a bug in absolutePosition, namely that the scroll offset was never factored in when
computing absolutePosition.  This bug also explains why text selection and cursor display were wrong
inside scrolled overflow blocks.

        Reviewed by mjs

        * khtml/rendering/render_box.cpp:
        * khtml/rendering/render_layer.cpp:
        * khtml/rendering/render_object.cpp:
        * khtml/rendering/render_text.cpp:
        * khtml/rendering/render_text.h:

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

19 years ago Reviewed by Darin.
mjs [Thu, 30 Oct 2003 07:31:33 +0000 (07:31 +0000)]
    Reviewed by Darin.

- fixed 3467632 - Leak of plugin info visiting http://www.ebay.com

        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage dealloc]): Release lastModifiedDate.

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

19 years ago Reviewed by Dave.
mjs [Thu, 30 Oct 2003 06:55:56 +0000 (06:55 +0000)]
    Reviewed by Dave.

- fixed 3467499 - REGRESSION: onClick handlers on links don't work (bubbling broken)

        * khtml/xml/dom2_eventsimpl.cpp:
        (EventImpl::EventImpl): Initialize m_cancelBubble (duh).

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

19 years ago Fix for 3466802. When breaking on a newline, "pre" is determined by checking the...
hyatt [Thu, 30 Oct 2003 05:45:47 +0000 (05:45 +0000)]
Fix for 3466802.  When breaking on a newline, "pre" is determined by checking the actual object that
the line broke on, and not by simply checking the "pre" status of the containing block.

        Reviewed by mjs

        * khtml/rendering/bidi.cpp:

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

19 years ago Add the paged media properties to RenderStyle. They aren't used yet, but they shoul...
hyatt [Thu, 30 Oct 2003 05:12:55 +0000 (05:12 +0000)]
Add the paged media properties to RenderStyle.  They aren't used yet, but they should now be
parsed and interpreted correctly.

        Reviewed by kocienda

        * khtml/css/cssstyleselector.cpp:
        * khtml/rendering/render_style.cpp:
        * khtml/rendering/render_style.h:

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

19 years agoWebKit:
cblu [Thu, 30 Oct 2003 01:30:19 +0000 (01:30 +0000)]

WebKit part of fix for:
<rdar://problem/3467744>: Photoshop files (.psd) don't show up in Open dialog in Safari, but can be viewed
<rdar://problem/3109132>: Can't open movie file via open panel even though it can be dropped in browser window

        Reviewed by john.

        * WebView.subproj/WebView.m:
        (+[WebView _supportedMIMETypes]): new
        (+[WebView _supportedFileExtensions]): new
        * WebView.subproj/WebViewPrivate.h:


<rdar://problem/3467744>: Photoshop files (.psd) don't show up in Open dialog in Safari, but can be viewed
<rdar://problem/3109132>: Can't open movie file via open panel even though it can be dropped in browser window

        Reviewed by john.

        * BrowserDocumentController.m:
        (-[BrowserDocumentController _openableFileExtensions]): override, returns list of types that Safari and WebKit can handle so the NSOpenPanel properly enables files

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

19 years ago Fixed: <rdar://problem/3438716>: jpg and gif images copied from Safari and placed...
cblu [Wed, 29 Oct 2003 22:36:59 +0000 (22:36 +0000)]
Fixed: <rdar://problem/3438716>: jpg and gif images copied from Safari and placed in mail are sent as tiff

        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeFileContents:withFilename:]): new
        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): now takes originalData and calls _web_fileContents:withFilename:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeFileContents:withFilename:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage and [WebView _cachedResponseForURL:]
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebView _cachedResponseForURL:]
        * WebView.subproj/WebImageView.m:
        (-[WebImageView writeImageToPasteboard:]): call _web_writeFileContents:withFilename:
        (-[WebImageView mouseDragged:]): call renamed _web_dragImage
        * WebView.subproj/WebView.m:
        (-[WebView _cachedResponseForURL:]): new
        * WebView.subproj/WebViewPrivate.h:

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

19 years ago Refine the fix to updateLayout.
hyatt [Wed, 29 Oct 2003 21:47:10 +0000 (21:47 +0000)]
Refine the fix to updateLayout.
updateStyleSelector would get called over and over again when you queried for layout properties from
JS.  If no stylesheets are pending, this isn't necessary (and is quite expensive, since updateStyleSelector
is a slow function).

        Reviewed by darin

        * khtml/xml/dom_docimpl.cpp:

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

19 years ago Fix crasher in border collapsing code.
hyatt [Wed, 29 Oct 2003 21:15:36 +0000 (21:15 +0000)]
Fix crasher in border collapsing code.

        Reviewed by kocienda

        * khtml/rendering/render_table.cpp:

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

19 years ago Reviewed by Darin.
mjs [Wed, 29 Oct 2003 20:08:15 +0000 (20:08 +0000)]
    Reviewed by Darin.

- fixed 3163842 - Citibank cardmember central DHTML menus not working right in Safari

        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElement::getValueProperty): update layout before fetching image properties
that need it.
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl): Initialize m_ignorePendingStylesheets to false.
        (DocumentImpl::updateLayout): Ignore pending stylesheets - when JS demands a
layout, it wants a real one now.
        (DocumentImpl::updateStyleSelector): Go ahead with the update if we're ignoring
pending stylesheets.
        * khtml/xml/dom_docimpl.h:
        (DOM::DocumentImpl::haveStylesheetsLoaded): Pretend stylesheets have loaded if
we're temporarily ignoring pending stylesheets.

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

19 years agoAdd layout test for pre minwidth bugs.
hyatt [Wed, 29 Oct 2003 09:18:17 +0000 (09:18 +0000)]
Add layout test for pre minwidth bugs.

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

19 years agoAdd inline block test inside a center tag.
hyatt [Wed, 29 Oct 2003 09:02:43 +0000 (09:02 +0000)]
Add inline block test inside a center tag.

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

19 years ago Implement support for <marquee>. This includes support for the CSS3 specification...
hyatt [Wed, 29 Oct 2003 08:57:20 +0000 (08:57 +0000)]
Implement support for <marquee>.  This includes support for the CSS3 specification (although modified a fair
bit to actually be compatible with WinIE's version and to correct obvious errors in the draft).  All of the
marquee behaviors (slide, scroll, and alternate) are supported.

This patch also fixes the following bugs that were discovered while testing marquee:
(1) An error in the computation of scrollWidth and scrollHeight.
(2) The ability to ask for the leftmostPosition as well as the rightmostPosition of content and to
be able to ask for the positions of children (via left/right/lowest) without including the parent in the
(3) An optimization to RenderFlow's rightmost/lowestPosition functions to avoid examining text elements since
they are always fully accounted for by either overflow or by inline flow boxes.
(4) A fix for RTL rendering.  A block with direction:RTL was being placed on the right, when in reality only
its children should be placed on the right.
(5) A fix to prevent inline blocks and tables from computing auto margins (making them just like floats in this

        Reviewed by darin

        * khtml/css/cssparser.cpp:
        * khtml/css/cssproperties.c:
        * khtml/css/cssproperties.h:
        * khtml/css/cssproperties.in:
        * khtml/css/cssstyleselector.cpp:
        * khtml/css/cssvalues.c:
        * khtml/css/cssvalues.h:
        * khtml/css/cssvalues.in:
        * khtml/css/html4.css:
        * khtml/html/html_blockimpl.cpp:
        * khtml/html/html_blockimpl.h:
        * khtml/html/htmlparser.cpp:
        * khtml/misc/htmlattrs.c:
        * khtml/misc/htmlattrs.h:
        * khtml/misc/htmlattrs.in:
        * khtml/rendering/bidi.cpp:
        * khtml/rendering/render_block.cpp:
        * khtml/rendering/render_block.h:
        * khtml/rendering/render_box.cpp:
        * khtml/rendering/render_box.h:
        * khtml/rendering/render_flow.cpp:
        * khtml/rendering/render_flow.h:
        * khtml/rendering/render_layer.cpp:
        * khtml/rendering/render_layer.h:
        * khtml/rendering/render_object.cpp:
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_style.cpp:
        * khtml/rendering/render_style.h:
        * khtml/xml/dom_docimpl.cpp:
        * kwq/KWQKHTMLPart.mm:

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

19 years agoFixing the layout test that has a <button>
hyatt [Wed, 29 Oct 2003 08:29:40 +0000 (08:29 +0000)]
Fixing the layout test that has a <button>

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

19 years ago Make <button> be an inline-block.
hyatt [Wed, 29 Oct 2003 08:16:34 +0000 (08:16 +0000)]
Make <button> be an inline-block.

        * khtml/css/html4.css:

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

19 years ago Reviewed by Darin.
mjs [Wed, 29 Oct 2003 07:22:09 +0000 (07:22 +0000)]
    Reviewed by Darin.

 - fixed 3465547 - REGRESSION (100-111)?: window.prompt does not work

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::runJavaScriptPrompt): Return the result properly
instead of always returning false.

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

19 years ago Reviewed by Maciej.
darin [Wed, 29 Oct 2003 06:31:11 +0000 (06:31 +0000)]
    Reviewed by Maciej.

        - fixed 3465504 -- REGRESSION (100-111): text areas with Chinese text in them are wider than ones without

        * kwq/KWQTextArea.h: Add _font field.
        * kwq/KWQTextArea.mm:
        (-[KWQTextArea dealloc]): Release _font.
        (-[KWQTextArea setFont:]): Store font in _font as well as setting it in the text view.
        (-[KWQTextArea sizeWithColumns:rows:]): Use _font rather than asking the text view for the font.

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

19 years ago Reviewed by Maciej.
darin [Wed, 29 Oct 2003 05:42:42 +0000 (05:42 +0000)]
    Reviewed by Maciej.

        - fixed 3464702 -- node.item(x) is not implemented (dynamic menus not filled out at techcu.com)

        * khtml/ecma/kjs_dom.cpp: (DOMNodeProtoFunc::tryCall): Add implementation of item function.
        * khtml/ecma/kjs_dom.h: Added Item to the enum.
        * khtml/ecma/kjs_dom.lut.h: Regenerated.

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

19 years ago Reviewed by Dave,
mjs [Wed, 29 Oct 2003 01:23:15 +0000 (01:23 +0000)]
    Reviewed by Dave,

- fixed 3379725 - for <a> elements with both onclick and href, Web Kit's behavior does not match other browsers

The fix for this was to make cancelBubble only prevent bubbling,
but not stop propagation or prevent default. While I was at it, I
made returnValue work right too.

        * khtml/ecma/kjs_events.cpp:
        (DOMEvent::getValueProperty): Implement cancelBubble and returnValue properties properly.
        (DOMEvent::putValue): Ditto.
        * khtml/dom/dom2_events.cpp:
        (Event::setCancelBubble): Call impl.
        (Event::setDefaultPrevented): Ditto.
        (Event::getCancelBubble): Ditto.
        (Event::defaultPrevented): Ditto.
        * khtml/dom/dom2_events.h:
        * khtml/xml/dom2_eventsimpl.h:
        (DOM::EventImpl::propagationStopped): Made this a const method.
        (DOM::EventImpl::defaultPrevented): Ditto.
        (DOM::EventImpl::setCancelBubble): Implemented by setting a new field.
        (DOM::EventImpl::getCancelBubble): Corresponding getter.
        (DOM::EventImpl::setDefaultPrevented): Set the already existing field for this.
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::dispatchGenericEvent): Check getCancelBubble() when bubbling. Do not
check bubbles() before default handling.

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

19 years ago - fixed <rdar://problem/3466082>: 7B85/111: Crash viewing web page ([WebView...
sullivan [Wed, 29 Oct 2003 00:39:40 +0000 (00:39 +0000)]
    - fixed <rdar://problem/3466082>: 7B85/111: Crash viewing web page ([WebView setNextKeyView:])

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        (-[WebView dealloc]):
        set _private to nil after releasing, because [super dealloc] can dispatch to it
        (-[WebView mainFrame]):
        fixed spelling error in comment

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

19 years ago Fixed: <rdar://problem/3464472>: REGRESSION: New CSS cursor support breaks style...
cblu [Wed, 29 Oct 2003 00:00:35 +0000 (00:00 +0000)]
Fixed: <rdar://problem/3464472>: REGRESSION: New CSS cursor support breaks style="cursor:default

        Reviewed by dave.

        * kwq/KWQWidget.mm:
        (QWidget::cursor): break after we hit a view that responds to documentCursor as we do in setCursor. Without breaking we were returning the cursor of the most super HTML view which is not what we want.

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

19 years ago Reviewed by John.
mjs [Tue, 28 Oct 2003 23:06:44 +0000 (23:06 +0000)]
    Reviewed by John.

- fixed 3421393 - window.open does not handle non-integral height/width (small window at saabusa.com)

        * khtml/ecma/kjs_window.cpp:
        (WindowFunc::tryCall): Parse width, height, top and left as
floating point and then cast to int instead of parsing as int to
match other browsers and avoid rejecting floating point numbers.

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

19 years ago Reviewed by Ken.
mjs [Tue, 28 Oct 2003 22:52:29 +0000 (22:52 +0000)]
    Reviewed by Ken.

- fixed 3413962 -  malicious web pages can kill all future JavaScript execution by breaking recursion limit check

        * kjs/nodes.cpp:
        (FunctionCallNode::evaluate): If we're going to return early due
to breaking the recursion limit, make sure to lower it again, or
it will creep up by one each time it's exceeded.

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

19 years ago Reviewed by John.
mjs [Tue, 28 Oct 2003 22:21:43 +0000 (22:21 +0000)]
    Reviewed by John.

- fixed 3464528 - addEventListener does not work for buttons, text areas, or inputs

        * khtml/rendering/render_form.cpp:
        (RenderFormElement::slotClicked): Send CLICK_EVENT as well as one

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

19 years agoWebKit:
cblu [Tue, 28 Oct 2003 22:21:35 +0000 (22:21 +0000)]

Fixed: <rdar://problem/3465383>: REGRESSION: Text field progress bar goes to 100% after error or stop

        Reviewed by john.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _isLoadComplete]): call _progressCompleted after we deliver the didFailLoadWithError or didFinishLoadForFrame message as we do in other places. This allows to be aware of the error (if there is one), when they get the WebViewProgressFinishedNotification notification.


<rdar://problem/3465383>: REGRESSION: Text field progress bar goes to 100% after error or stop
<rdar://problem/3465910>: REGRESSION (100-110): Switching to bookmarks view shows progress bar but shouldn't

        Reviewed by john.

        * BrowserWebController.h:
        * BrowserWebController.m:
        (-[BrowserWebView setMainFrameLoadEndedInError:]): new
        (-[BrowserWebView progressFinished:]): if we have a main frame error, set the progress bar to 0
        * LocationChangeHandler.m:
        (-[LocationChangeHandler webView:didStartProvisionalLoadForFrame:]): call setMainFrameLoadEndedInError:NO for the main frame
        (-[LocationChangeHandler webView:locationChangeDone:forDataSource:]): call setMainFrameLoadEndedInError:YES for the main frame

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

19 years ago Reviewed by Darin.
mjs [Tue, 28 Oct 2003 21:27:01 +0000 (21:27 +0000)]
    Reviewed by Darin.

- fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge didSetName:]): Tell the WebFrame about its new name.

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

19 years ago - fixed 3465613 -- REGRESSION (111): Crash creating nib that
sullivan [Tue, 28 Oct 2003 19:52:27 +0000 (19:52 +0000)]
- fixed 3465613 -- REGRESSION (111): Crash creating nib that
contains WebView

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        (-[WebView mainFrame]):
check for nil _private before dereferencing.

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

19 years ago Fixed: <rdar://problem/3465591>: Security: Netscape plug-ins can execute JavaScript...
cblu [Tue, 28 Oct 2003 19:45:42 +0000 (19:45 +0000)]
Fixed: <rdar://problem/3465591>: Security: Netscape plug-ins can execute JavaScript in other frames

        Reviewed by mjs.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): renamed, no need to pass the target frame since the target is either the plug-in itself or the frame that contains the plug-in
        (-[WebBaseNetscapePluginView loadPluginRequest:]): call renamed evaluateJavaScriptPluginRequest
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): if this is a JS request that is targeted at a frame, return NPERR_INVALID_PARAM if the frame is not the frame that contains the plugin

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

19 years ago Fixed broken build.
mjs [Tue, 28 Oct 2003 19:40:06 +0000 (19:40 +0000)]
    Fixed broken build.

        * kwq/KWQKPartsPart.mm:
        (KParts::ReadOnlyPart::setName): It's a ReadOnlyPart method, not a Part method.

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

19 years ago Fixed: <rdar://problem/3437959>: javascript: URLs don't work from Java (and other...
cblu [Tue, 28 Oct 2003 19:15:56 +0000 (19:15 +0000)]
Fixed: <rdar://problem/3437959>: javascript: URLs don't work from Java (and other Cocoa plugins, if any)

        Reviewed by mjs.

        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showURL:inFrame:]): support JS requests targeted only to the plug-in's frame.

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

19 years ago Reviewed by John.
mjs [Tue, 28 Oct 2003 19:13:11 +0000 (19:13 +0000)]
    Reviewed by John.

- fixed 3427046 - href and src attributes don't always give resolved URL

It turns out that all href and src attributes should be resolved
against the base, except for frame elements.

        * khtml/dom/html_base.cpp:
        (HTMLIFrameElement::src): Resolve against base URL.
        * khtml/dom/html_form.cpp:
        (HTMLInputElement::src): Resolve URL even when empty. Remove
comment questioning resolution against base - it's definitely
        * khtml/dom/html_head.cpp:
        (HTMLBaseElement::href): Resolve against base URL.
        (HTMLLinkElement::href): Ditto.
        (HTMLScriptElement::src): Ditto.
        * khtml/dom/html_image.cpp:
        (HTMLAreaElement::href): Ditto.
(HTMLImageElement::src): Resolve URL even when empty. Remove
comment questioning resolution against base - it's definitely
        * khtml/dom/html_inline.cpp:
        (HTMLAnchorElement::href): Resolve against base URL.

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

19 years ago Reviewed by Darin.
mjs [Tue, 28 Oct 2003 19:12:16 +0000 (19:12 +0000)]
    Reviewed by Darin.

- fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level

        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::setName): Make sure the name is unique. Then tell
the bridge and the superclass about it.
        * kwq/KWQKPartsPart.h:
        (KParts::ReadOnlyPart::setName): Made this method virtual.
        * kwq/KWQKPartsPart.m: Added. Moved implementations of virtual methods here.
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge setName:]): Call the superclass method to avid
sending the name pointlessly back across the bridge.

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

19 years ago Reviewed by John.
darin [Tue, 28 Oct 2003 16:46:24 +0000 (16:46 +0000)]
    Reviewed by John.

        - fixed 3465063 -- REGRESSION (107-108): hang when fetching a page with an ad in a subframe (theage.com.au)

        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURL): Follow the parent chain properly rather
        than repeatedly getting the part's own parent!

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