17 years ago Reviewed by Darin.
mjs [Tue, 2 Dec 2003 23:13:50 +0000 (23:13 +0000)]
    Reviewed by Darin.

Implemented a simple form of document serialization, enough to take care of:

<rdar://problem/3487190>: implement send of DOMDocument for XMLHttpRequest

        * khtml/dom/dom_doc.cpp:
        * khtml/dom/dom_doc.h:
        * khtml/ecma/xmlhttprequest.cpp:
        * khtml/html/html_elementimpl.cpp:
        * khtml/html/html_elementimpl.h:
        * khtml/xml/dom_docimpl.cpp:
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_elementimpl.cpp:
        * khtml/xml/dom_elementimpl.h:
        * khtml/xml/dom_nodeimpl.h:
        * khtml/xml/dom_textimpl.cpp:
        * khtml/xml/dom_textimpl.h:
        * khtml/xml/dom_xmlimpl.cpp:
        * khtml/xml/dom_xmlimpl.h:

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

17 years ago Fix for 3493677, containingBlock() null because we tried to support position:relativ...
hyatt [Tue, 2 Dec 2003 22:54:42 +0000 (22:54 +0000)]
Fix for 3493677, containingBlock() null because we tried to support position:relative on table rows.  Fix
is to disallow this.

        Reviewed by kocienda

        * khtml/css/cssstyleselector.cpp:

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

17 years ago Fix for 3493697, nil-deref in bidi code. Need to null-check strings with no length.
hyatt [Tue, 2 Dec 2003 22:25:31 +0000 (22:25 +0000)]
Fix for 3493697, nil-deref in bidi code.  Need to null-check strings with no length.

        Reviewed by john

        * khtml/rendering/bidi.cpp:

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

17 years ago Fix for 3495746, nil deref of containing block (frame inside frameset).
hyatt [Tue, 2 Dec 2003 22:06:13 +0000 (22:06 +0000)]
Fix for 3495746, nil deref of containing block (frame inside frameset).

        Reviewed by kocienda

        * khtml/rendering/render_box.cpp:

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

17 years ago Fixed:
cblu [Tue, 2 Dec 2003 19:58:03 +0000 (19:58 +0000)]
<rdar://problem/3439222>: always hangs opening plain text file on a particular machine due to missing font, no UI to detect
<rdar://problem/3492983>: Certain fonts cause Safari to hang on text/plain pages

        Reviewed by rjw.

        * WebView.subproj/WebTextView.m:
        (-[WebTextView setFixedWidthFont]): Use [[WebTextRendererFactory sharedFactory] fontWithFamilies:traits:size:] to get the font since it takes the font family which is what we store in WebPreferences and it does fallback work. Only set the font if non-nil is returned.

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

17 years ago Reviewed by John
kocienda [Tue, 2 Dec 2003 19:48:06 +0000 (19:48 +0000)]
    Reviewed by John

        * kwq/KWQRect.h:
        * kwq/KWQRect.mm:
        (QRect::bottomRight): Added helper.

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

17 years ago Reviewed by Maciej.
darin [Tue, 2 Dec 2003 16:04:55 +0000 (16:04 +0000)]
    Reviewed by Maciej.

        - fixed 3493799: JavaScript string.replace expands $ if it's the last character in replacement string

        * kjs/ustring.cpp: (KJS::UString::toDouble): Fix backwards handling of the "tolerant" boolean.
        This indirectly caused the string.replace bug.

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

17 years ago Merged the following patch from David Faure to fix:
mjs [Tue, 2 Dec 2003 11:00:40 +0000 (11:00 +0000)]
Merged the following patch from David Faure to fix:

<rdar://problem/3497663>: Can't look up frames by number using windw[i] notation

    2003-11-25  David Faure  <faure@kde.org>

        * ecma/kjs_window.cpp: Implement hasProperty and get for frames by number in Window,
        to fix window[0] and parent[1] etc. (#56983)

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

17 years ago Merged patches from Harri Porten and David Faure to fix:
mjs [Tue, 2 Dec 2003 10:11:47 +0000 (10:11 +0000)]
    Merged patches from Harri Porten and David Faure to fix:

<rdar://problem/3497643>: reproducible crash printing self-referential array

* kjs/array_object.cpp:
        (ArrayProtoFuncImp::call): Break out of the loop if an exception was thrown.
        * kjs/nodes.cpp:
        (FunctionCallNode::evaluate): Move function call depth check from here...
        * kjs/object.cpp:
        (KJS::Object::call): ...to here.
        * kjs/object.h: Un-inline Object::call now that it does more.

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

17 years ago Fixed mistake in method signatures used to get boolean and integer fields.
rjw [Mon, 1 Dec 2003 23:11:22 +0000 (23:11 +0000)]
Fixed mistake in method signatures used to get boolean and integer fields.

        Reviewed by Chris.

        * bindings/jni/jni_runtime.cpp:

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

17 years ago Reviewed by Richard.
mjs [Mon, 1 Dec 2003 22:53:31 +0000 (22:53 +0000)]
    Reviewed by Richard.

<rdar://problem/3487185>: implement security checks for XMLHttpRequest

* WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]): Let
WebCore know about redirects.

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

17 years ago Reviewed by Richard.
mjs [Mon, 1 Dec 2003 22:52:24 +0000 (22:52 +0000)]
    Reviewed by Richard.

<rdar://problem/3487185>: implement security checks for XMLHttpRequest

        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::open): Refuse to start if the URL is not one
this document is allowed to access.
        (KJS::XMLHttpRequest::slotRedirection): Stop the job if we redirect
to a URL the home document is not allowed to access.
        * kwq/KWQResourceLoader.mm:
        (-[KWQResourceLoader redirectedToURL:]): emit the right signal
        * kwq/WebCoreResourceLoader.h: Prototype new method

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

17 years agoWebKit:
rjw [Mon, 1 Dec 2003 22:44:54 +0000 (22:44 +0000)]
Moved grungy polling code from WebKit to the JavaPlugin.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pollForAppletInView:]):

Fixed parameter passing to applet.  Child elements are NOT valid in setStyle().  So we now either create the widget before needed with createWidgetIfNecessary.  This either happens when doing the first layout, or when JavaScript first references the applet element.

Fixed early delete of the the main applet instance.  When the JS collector cleaned up the last JS object referring to the applet instance we were deleting the java instance.  This caused the applet instance cached on the applet element to be invalid.  The applet instance is the only Java object not to be cleaned up by the JS collector.

Added support for getting at Java object fields.

        Reviewed by Chris.

        * khtml/ecma/kjs_html.cpp:
        * khtml/html/html_objectimpl.cpp:
        * khtml/html/html_objectimpl.h:
        * khtml/rendering/render_applet.cpp:
        * khtml/rendering/render_applet.h:

Fixed parameter passing to applet.  Child elements are NOT valid in setStyle().  So we now create the widget before needed with createWidgetIfNecessary.  This either happens when doing the first layout, or when JavaScript first references the applet element.

Fixed early delete of the the main applet instance.  When the JS collector cleaned up the last JS object referring to the applet instance we were deleting the java instance.  This caused the applet instance cached on the applet element to be invalid.  The applet instance is the only Java object not to be cleaned up by the JS collector.

Added support for getting at Java object fields.

        Reviewed by Chris.

        * JavaScriptCore.pbproj/project.pbxproj:
        * Makefile.am:
        * bindings/jni/jni_instance.cpp:
        * bindings/jni/jni_instance.h:
        * bindings/jni/jni_runtime.cpp:
        * bindings/runtime_object.cpp:
        * bindings/runtime_object.h:

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

17 years ago Reviewed by Dave.
darin [Mon, 1 Dec 2003 21:33:54 +0000 (21:33 +0000)]
    Reviewed by Dave.

        - fixed 3496960: nil-deref in idFromNode inside elementDoesAutoComplete:

        * kwq/WebCoreBridge.mm:
        (inputElementFromDOMElement): Added nil check.
        (formElementFromDOMElement): Added nil check.

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

17 years ago Fix for 3490959, collapsed border tables don't paint backgrounds.
hyatt [Mon, 1 Dec 2003 19:22:06 +0000 (19:22 +0000)]
Fix for 3490959, collapsed border tables don't paint backgrounds.

        Reviewed by darin

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

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

17 years ago Reviewed by Dave.
darin [Mon, 1 Dec 2003 19:18:51 +0000 (19:18 +0000)]
    Reviewed by Dave.

        - fixed 3493939: ordered lists with type="A" roll over to A' after X rather than after Z

        * khtml/rendering/render_list.cpp: (toLetter): Change 24 to 26.

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

17 years agoWebKit:
kocienda [Mon, 1 Dec 2003 19:05:21 +0000 (19:05 +0000)]

        Reviewed by John

Fix for this bug:

<rdar://problem/3496873>: Move key event helper functions to WebKit

        * Misc.subproj/WebNSEventExtras.h: Add declarations for new key event
        * Misc.subproj/WebNSEventExtras.m:
        (-[NSEvent _web_isKeyEvent:]): Added.
        (-[NSEvent _web_isDeleteKeyEvent]): Added.
        (-[NSEvent _web_isEscapeKeyEvent]): Added.
        (-[NSEvent _web_isOptionTabKeyEvent]): Added.
        (-[NSEvent _web_isReturnOrEnterKeyEvent]): Added.
        (-[NSEvent _web_isTabKeyEvent]): Added.
        * WebKit.pbproj/project.pbxproj: Made WebNSEventExtras.h a private header
so WebBrowser can use the new helpers.


        Reviewed by John

Fix for this bug:

<rdar://problem/3496873>: Move key event helper functions to WebKit

        * BookmarksViewController.m:
        (-[BookmarksViewController handleKeyDown:inSourceColumn:]): Move
to new key event helper.
        * BrowserNSEventExtras.h: Remove key event helpers from here. WebBrowser
will now pick these up from WebKit.
        * BrowserNSEventExtras.m: Ditto.
        * BrowserWindowController.m: Move to new key event helpers.
        (-[BrowserWindowController cancel:]): Ditto.
        (-[BrowserWindowController windowWillHandleKeyEvent:]): Ditto.
        (-[BrowserWindowController performQuickSearch:]): Ditto.
        * DownloadViewController.m:
        (-[DownloadViewController keyDown:]): Ditto.
        * Preferences.subproj/SheetWithTableController.m:
        (-[SheetWithTableController tableView:keyDown:]): Ditto.
        * TitleBarButton.m: Ditto.

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

17 years agotree is open for Safari-116
vicki [Sat, 22 Nov 2003 00:38:32 +0000 (00:38 +0000)]
tree is open for Safari-116

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

17 years agoSafari-115 stamp
vicki [Sat, 22 Nov 2003 00:27:22 +0000 (00:27 +0000)]
Safari-115 stamp

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

17 years agoWebCore:
mjs [Fri, 21 Nov 2003 23:27:33 +0000 (23:27 +0000)]

        Reviewed by Ken.

WebCore part of fix for:

<rdar://problem/3487134>: Implement http request/response status and headers for XMLHttpRequest

        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::getValueProperty): Call appropriate methods for
status and statusText.
        (KJS::XMLHttpRequest::send): Set request headers as "customHeaders"
metadata property.
        (KJS::XMLHttpRequest::setRequestHeader): Simply append to header
        (KJS::XMLHttpRequest::getAllResponseHeaders): Return the header string
except for the first line.
(KJS::XMLHttpRequest::getResponseHeader): Scan the response header
string for the header field. Not sure if it's worth being more
        (KJS::XMLHttpRequest::getStatus): Try to pull a code out
of the status line.
        (KJS::XMLHttpRequest::getStatusText): Pull the first line
off the headers (if any), otherwise return undefined.
        (KJS::XMLHttpRequest::slotData): The first time through, save
the response headers, retrieved from "HTTP-Headers" metadata
        (KJS::XMLHttpRequestProtoFunc::tryCall): Make setRequestHeader,
getResponseHeader, getAllResponseHeaders call the right thing.
        * khtml/ecma/xmlhttprequest.h:
        * kwq/KWQKJobClasses.h:
        * kwq/KWQKJobClasses.mm:
        (KIO::TransferJobPrivate::TransferJobPrivate): Added header
        (KIO::TransferJob::assembleResponseHeaders): Get a header string
out of the response if needed.
        (KIO::TransferJob::queryMetaData): Special-case "HTTP-Headers".
        (KIO::TransferJob::emitReceivedResponse): Save response.
        * kwq/KWQLoader.h:
        * kwq/KWQLoader.mm:
        (-[NSDictionary _webcore_initWithHeaderString:]): Helper method to
turn a string of header fields into a dictionary.
        (KWQServeRequest): Pass custom headers through.
        (KWQResponseMIMEType): Admit it's an NSURLResponse *.
        (KWQResponseHeaderString): Assembled status code and response
header fields into response header. Cheat a little on the status
        * kwq/KWQResourceLoader.mm:
        (-[KWQResourceLoader receivedResponse:]): Admit it's an
NSURLResponse *.
        * kwq/WebCoreResourceLoader.h: Ditto.
* kwq/WebCoreBridge.h: Add customHeader: arguments.


        Reviewed by Ken.

WebKit part of fix for:

<rdar://problem/3487134>: Implement http request/response status and headers for XMLHttpRequest

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge startLoadingResource:withURL:customHeaders:]): Added customHeaders
        (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
        * WebCoreSupport.subproj/WebSubresourceClient.h:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Add the custom headers.
        (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:referrer:forDataSource:]): Pass along the custom headers.
        (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Pass along the custom headers.

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

17 years ago Fixed: <rdar://problem/3491907>: When viewing applet, view hierarchy was an empty...
cblu [Fri, 21 Nov 2003 19:14:23 +0000 (19:14 +0000)]
Fixed: <rdar://problem/3491907>: When viewing applet, view hierarchy was an empty KWQView

        Reviewed by rjw.

        * WebCore.pbproj/project.pbxproj:
        * khtml/html/html_objectimpl.cpp: removed setupApplet because that work is done when the applet widget is created
        (HTMLAppletElementImpl::createRenderer): pass the PARAM args to the render object
        (HTMLAppletElementImpl::getAppletInstance): don't call setupApplet
        * khtml/rendering/render_applet.cpp:
        (RenderApplet::RenderApplet): store args and context, don't call setQWidget here
        (RenderApplet::setStyle): call setQWidget here
        (RenderApplet::layout): don't parse args here, that is done in HTMLAppletElementImpl::createRenderer
        * khtml/rendering/render_applet.h:
        * kwq/KWQKJavaAppletWidget.h:
        (KJavaApplet::KJavaApplet): turned into a stub, this work is no longer needed
        (KJavaApplet::setAppletClass): ditto
        (KJavaApplet::setAppletName): ditto
        (KJavaApplet::setArchives): ditto
        (KJavaApplet::setBaseURL): ditto
        (KJavaApplet::setCodeBase): ditto
        (KJavaApplet::setParameter): ditto
        (KJavaAppletWidget::~KJavaAppletWidget): ditto
        (KJavaAppletWidget::applet): ditto
        (KJavaAppletWidget::setBaseURL): ditto
        (KJavaAppletWidget::setParameter): ditto
        (KJavaAppletWidget::showApplet): ditto
        * kwq/KWQKJavaAppletWidget.mm:
        (KJavaAppletWidget::KJavaAppletWidget): create the java here instead of doing it later

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

17 years agoWebCore:
sullivan [Fri, 21 Nov 2003 18:16:07 +0000 (18:16 +0000)]

        - WebCore part of fix for <rdar://problem/3333744>: Safari prints page with
        very, very long line very, very small

        Reviewed by Ken.

        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        Changed method name from forceLayoutForPageWidth; now takes min and max
        page width values. Use max page width value to limit how wide page will
        get when there's a very long line.

        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
        changed pageWidth parameter into min and max parameters; pass them along to KWQKHTMLPart.


        - WebKit part of fix for <rdar://problem/3333744>: Safari prints page with
        very, very long line very, very small

        Reviewed by Ken.

        * WebView.subproj/WebHTMLView.m:
        renamed PrintingExtraWidthFactor to PrintingMinimumShrinkFactor, added
        PrintingMaximumShrinkFactor of 2.0, which matches IE
        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
        now takes a min and max page width; passes them along to bridge
        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
        now takes a min and max page width; passes them along to layoutTo...
        (-[WebHTMLView _scaleFactorForPrintOperation:]):
        now takes PrintingMaximumScaleFactor into account
        (-[WebHTMLView knowsPageRange:]):
        now takes PrintingMaximumScaleFactor into account

        (-[WebHTMLView layout]):
        pass 0 for maximumPageWidth when passing 0 for minimumPageWidth
        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
        (-[WebHTMLView _web_setPrintingModeRecursive]):
        (-[WebHTMLView _web_clearPrintingModeRecursive]):
        (-[WebHTMLView endDocument]):

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

17 years ago Reviewed by Ken.
darin [Fri, 21 Nov 2003 17:29:00 +0000 (17:29 +0000)]
    Reviewed by Ken.

        - fixed 3490260: allow &sup1 to be misspelled &supl (lowercase l instead of numeral 1) because WinIE does

        * khtml/html/kentities.gperf: Added supl to the list. Maps to U+00B9, just as sup1 does.
        * khtml/html/kentities.c: Regenerated.

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

17 years ago Patch from Harri Porten, reviewed by me.
mjs [Fri, 21 Nov 2003 08:54:42 +0000 (08:54 +0000)]
    Patch from Harri Porten, reviewed by me.

- fixed 3491712 - String slice with negative arguments does not offset from end of string

* kjs/string_object.cpp:
        (StringProtoFuncImp::call): Handle negative arguments as offsets from end by
adding length and clamping to [0,length-1].

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

17 years ago Patch from Harri Porten, reviewed by me.
mjs [Fri, 21 Nov 2003 08:49:58 +0000 (08:49 +0000)]
    Patch from Harri Porten, reviewed by me.

- fixed 3491709 - using Function.apply with a primitive type as the arg list causes crash

* kjs/function_object.cpp:
        (FunctionProtoFuncImp::call): Nest parentheses properly.

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

17 years ago Reviewed by Darin.
mjs [Fri, 21 Nov 2003 06:53:17 +0000 (06:53 +0000)]
    Reviewed by Darin.

- fixed 3487201 - Implement abort for XMLHttpRequest async loads

        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::abort): Kill and clear job.
        (KJS::XMLHttpRequest::slotData): Avoid moving to state 3 on early abort.
        (KJS::XMLHttpRequestProtoFunc::tryCall): Call abort when appropriate.
        * khtml/ecma/xmlhttprequest.h:

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

17 years agoJavaScriptCore:
rjw [Fri, 21 Nov 2003 03:13:52 +0000 (03:13 +0000)]
More LiveConnect stuff.  Primitive Java fields are now
accessible from JavaScript!  Yay!

        Reviewed by Maciej.

        * bindings/jni/jni_class.cpp:
        * bindings/jni/jni_class.h:
        * bindings/jni/jni_instance.cpp:
        * bindings/jni/jni_instance.h:
        * bindings/jni/jni_runtime.cpp:
        * bindings/jni/jni_runtime.h:
        * bindings/jni/jni_utility.cpp:
        * bindings/jni/jni_utility.h:
        * bindings/runtime.cpp:
        * bindings/runtime.h:
        * bindings/runtime_object.cpp:

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

17 years agoWebCore:
sullivan [Fri, 21 Nov 2003 02:01:02 +0000 (02:01 +0000)]

        - WebCore part of <rdar://problem/3183124>: Support page-break-before/after with a value of "always"

        Dave wrote this part and we reviewed it together.

        * khtml/rendering/render_block.cpp:
        if printing, check for CSS page break locations
        new method, used to check whether we're in a context for which
        CSS page breaks are legal.

        * khtml/rendering/render_block.h:
        prototype for inRootBlockContext; this might be useful for
        other code later.

        * khtml/rendering/render_canvas.cpp:
        now takes a forcedBreak parameter which overrides others.

        * khtml/rendering/render_canvas.h:
        set default value for m_forcedPageBreak

        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge computePageRects:withPageHeight:]):
        do the real work of pagination here


        - WebKit part of <rdar://problem/3183124>: Support page-break-before/after with a value of "always"

        Dave and I wrote and reviewed this.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
        reset page rects when printing status changes
        (-[WebHTMLView _availablePaperWidthForPrintOperation:]):
        new helper method to compute paper width taking margins into account
        (-[WebHTMLView _scaleFactorForPrintOperation:]):
        new helper method to compute how much we need to shrink to fit one page across
        (-[WebHTMLView _provideTotalScaleFactorForPrintOperation:]):
        we overrode this secret internal AppKit method to make shrink-to-fit work;
        we wrote bug 3491344 about the need for this to be public.
        (-[WebHTMLView knowsPageRange:]):
        new method, computes rects and returns YES
        (-[WebHTMLView rectForPage:]):
        new method, returns rect computed above
        (-[WebHTMLView _calculatePrintHeight]):
        new method, used by knowsPageRange

        * WebView.subproj/WebHTMLViewPrivate.h:
        new pageRects ivar

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

17 years agoCorrected ChangeLog comment.
mjs [Fri, 21 Nov 2003 00:54:25 +0000 (00:54 +0000)]
Corrected ChangeLog comment.

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

17 years ago Reviewed by Darin.
mjs [Fri, 21 Nov 2003 00:53:22 +0000 (00:53 +0000)]
    Reviewed by Darin.

- fixed 3487201 - Implement abort for XMLHttpRequest async loads

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge startLoadingResource:withURL:postData:]):
        * WebCoreSupport.subproj/WebSubresourceClient.h:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withRequest:referrer:forDataSource:]):
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        (+[WebSubresourceClient startLoadingResource:withURL:postData:referrer:forDataSource:]):

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

17 years agoWebCore:
cblu [Thu, 20 Nov 2003 23:05:33 +0000 (23:05 +0000)]

Fixed: <rdar://problem/3491225>: Need UI and localized strings for <KEYGEN> support

        Reviewed by john.

        * WebCore-combined.exp:
        * WebCore.exp:
        * WebCore.pbproj/project.pbxproj:
        * kwq/KWQKSSLKeyGen.h:
        * kwq/KWQKSSLKeyGen.mm: Added.
        (KSSLKeyGen::supportedKeySizes): implemented, calls [WebCoreLocalizedStringFactory keyGenerationMenuItemTitles]
        * kwq/WebCoreLocalizedStringFactory.h: Added.
        * kwq/WebCoreLocalizedStringFactory.m: Added.
        (+[WebCoreLocalizedStringFactory sharedFactory]): new
        (-[WebCoreLocalizedStringFactory init]): new
        (-[WebCoreLocalizedStringFactory keyGenerationMenuItemTitles]): new


Fixed: <rdar://problem/3491229>: Need UI and localized strings for <KEYGEN> support

        Reviewed by john.

        * ChangeLog:
        * English.lproj/Localizable.strings:
        * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Added.
        * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Added.
        (+[WebLocalizedStringFactory createSharedFactory]): new
        (-[WebLocalizedStringFactory dealloc]): new
        (-[WebLocalizedStringFactory keyGenerationMenuItemTitles]): new
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebFrameView.m: call [WebLocalizedStringFactory createSharedFactory]

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

17 years ago Reviewed by Ken.
mjs [Thu, 20 Nov 2003 22:45:40 +0000 (22:45 +0000)]
    Reviewed by Ken.

- fixed 3490086 - support http post for XMLHttpRequest

        * kwq/KWQKJobClasses.h:
        * kwq/KWQKJobClasses.mm:

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

17 years agoWebKit:
rjw [Thu, 20 Nov 2003 22:00:33 +0000 (22:00 +0000)]
Added spin of event loop during applet lookup poll.  This
is necessary to allow timers and performOnMainThread: methods
a chance to fire.  The plugin depends on these mechanisms during

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pollForAppletInView:]):

Cleaned up synchronous applet lookup and initialization.
We need to further cleanup applet instantiation.  It doesn't
need to be lazy with my modified Java Plugin.

        Reviewed by Chris.

        * khtml/ecma/kjs_html.cpp:
        * khtml/html/html_objectimpl.cpp:
        * khtml/html/html_objectimpl.h:
        * kwq/KWQKHTMLPart.mm:
        * kwq/KWQKJavaAppletWidget.h:
        * kwq/KWQKJavaAppletWidget.mm:

More LiveConnect stuff.

        Reviewed by Chris.

        * bindings/jni/jni_class.cpp:
        * bindings/jni/jni_instance.cpp:
        * bindings/jni/jni_instance.h:
        * bindings/jni/jni_runtime.h:
        * bindings/jni/jni_utility.cpp:
        * bindings/jni/jni_utility.h:
        * bindings/runtime.h:
        * bindings/runtime_object.cpp:
        * bindings/runtime_object.h:

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

17 years ago Reviewed by me
kocienda [Thu, 20 Nov 2003 21:56:13 +0000 (21:56 +0000)]
    Reviewed by me

John and I decided to apply the _web_ prefix to the tab key
event method in the extras file, but I neglected to do this
before checking in. Fixed now.

        * Misc.subproj/WebNSEventExtras.h:
        * Misc.subproj/WebNSEventExtras.m:
        (-[NSEvent _web_isTabKeyEvent])
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView keyDown:])

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

17 years ago Reviewed by David
kocienda [Thu, 20 Nov 2003 21:01:35 +0000 (21:01 +0000)]
    Reviewed by David

Fix for this bug:

<rdar://problem/3487421>: crash/exception when tabbing to a link without text

        * khtml/html/html_inlineimpl.cpp:
        (HTMLAnchorElementImpl::isFocusable): A link is also not focusable
if it has zero width or height, if it has no children, or if it is
is not a continuation.
        * kwq/KWQPainter.mm:
        (QPainter::drawFocusRing): Put in a guard against trying to draw a focus
        ring with no control points. Log this as an error.

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

17 years ago Reviewed by John
kocienda [Thu, 20 Nov 2003 20:59:55 +0000 (20:59 +0000)]
    Reviewed by John

Fix for this bug:

<rdar://problem/3482159>: Tabbing to links gets "stuck" in "style switcher" on zeldman.com

        * Misc.subproj/WebNSEventExtras.h: Added.
        * Misc.subproj/WebNSEventExtras.m: Added.
        (-[NSEvent _isTabKeyEvent]): New helper.
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView keyDown:]): Pass the key event to super unconditionally
if it is a tab key. This fixes the bug.

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

17 years ago Fix for 3486963, crash because generated content was referencing a deleted object...
hyatt [Thu, 20 Nov 2003 04:28:38 +0000 (04:28 +0000)]
Fix for 3486963, crash because generated content was referencing a deleted object.  Fix is to update the
variable to a sane value after deleting old generated content.

        Reviewed by darin

        * khtml/rendering/render_container.cpp:

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

17 years agoWebKit:
sullivan [Thu, 20 Nov 2003 03:57:18 +0000 (03:57 +0000)]

        - WebKit part of fix for:
        <rdar://problem/3305671>: Web pages print with 1.25" border without regard to Page
        Setup margin settings

        Reviewed by Dave.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView beginDocument]):
        Lay out the page into a width 25% wider than there's room for on the printed page.
        This will make pages that can fit into a thin area be scaled down a little when printed,
        which lets them fit on fewer pages. This closely matches what IE and Camino (at least)
        do; I used Google as my test page, and the Google logo is now precisely the same size
        when printed from Safari as when printed from IE. Pages that don't fit into a thin
        area are already causing the printed page to be scaled horizontally to fit, and this
        won't affect them.


        - WebBrowser part of fix for:
        <rdar://problem/3305671>: Web pages print with 1.25" border without regard to Page
        Setup margin settings

        Reviewed by Dave.

        * BrowserDocument.m:
        (-[BrowserDocument printInfo]):
        Use the entire imageable area of the page (except max out at the paper size).
        This matches what IE does; you can tell by formatting for different printers
        in Page Setup and checking the printed margins against the margins reported
        in the Settings:Summary part of Page Setup.

        With this change and the accompanying WebKit change to initially lay out into
        an area 25% wider than fits on the page, and Hyatt's earlier change to re-layout
        to the width of the widest element on the page, our printed pages are much, much
        closer to how other browsers print. We are now no more different from other
        browsers than they are from each other, at least for non-edge case pages.

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

17 years ago Reviewed by John.
mjs [Thu, 20 Nov 2003 00:46:23 +0000 (00:46 +0000)]
    Reviewed by John.

- fixed 3486998 - Implement asynchronous http loading for XMLHttpRequest

        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequestQObject::XMLHttpRequestQObject): New QObject to use to
connect to signals.
        (KJS::XMLHttpRequestQObject::slotData): Call XMLHttpRequest.
        (KJS::XMLHttpRequestQObject::slotFinished): Ditto.
        (KJS::XMLHttpRequestQObject::slotRedirection): Ditto.
        (KJS::XMLHttpRequest::getValueProperty): Implemented, onrequeststatechange,
readyState and responseText.
        (KJS::XMLHttpRequest::putValue): Implemented onrequeststatechange.
        (KJS::XMLHttpRequest::XMLHttpRequest): Initialize new fields.
        (KJS::XMLHttpRequest::~XMLHttpRequest): Delete decoder.
        (KJS::XMLHttpRequest::changeState): Update state, and send event if needed.
        (KJS::XMLHttpRequest::open): Save the parameters.
        (KJS::XMLHttpRequest::send): Fire up a post or get job.
        (KJS::XMLHttpRequest::slotFinished): go to final state.
        (KJS::XMLHttpRequest::slotRedirection): Just stub for now.
        (KJS::XMLHttpRequest::slotData): Update state; decode & save data.
        (KJS::XMLHttpRequestProtoFunc::tryCall): Implemented open and send.
        * khtml/ecma/xmlhttprequest.h: Prototyped new stuff.
        * khtml/xml/dom2_eventsimpl.cpp:
        (EventImpl::typeToId): Added "readystatechange" event.
        (EventImpl::idToType): Ditto.
        * khtml/xml/dom2_eventsimpl.h: Ditto.
        * kwq/KWQLoader.h:
        * kwq/KWQLoader.mm:
        (KWQServeRequest): New variant that doesn't need a Request.
        * kwq/KWQSlot.mm:
        (KWQSlot::KWQSlot): Handle XMLHttpRequestQObject's slots.
        (KWQSlot::call): Ditto.

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

17 years ago Fixed: <rdar://problem/3489935>: Mentioning "to Disk" in context menus such as ...
cblu [Wed, 19 Nov 2003 23:45:18 +0000 (23:45 +0000)]
Fixed: <rdar://problem/3489935>: Mentioning "to Disk" in context menus such as "Download Linked File To Disk..." is redundant

        Reviewed by john.

        * English.lproj/Localizable.strings:
        * English.lproj/StringsNotToBeLocalized.txt:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:]): use "Download Linked File" and "Download Image"

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

17 years agoForget to check these in earlier.
rjw [Wed, 19 Nov 2003 22:41:04 +0000 (22:41 +0000)]
Forget to check these in earlier.

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

17 years ago Fixed: <rdar://problem/3488783>: Flash at http://www.sjwilson.net/reef/ does not...
cblu [Wed, 19 Nov 2003 22:25:08 +0000 (22:25 +0000)]
Fixed: <rdar://problem/3488783>: Flash at sjwilson.net/reef/ does not load photos

        Reviewed by rjw.

        * Misc.subproj/WebKitNSStringExtras.h:
        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _web_stringByStrippingReturnCharacters]): new
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView requestWithURLCString:]): call _web_stringByStrippingReturnCharacters on the relative string

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

17 years agoWebKit:
rjw [Wed, 19 Nov 2003 22:21:40 +0000 (22:21 +0000)]
More LiveConnect stuff.  Horrible polling hack that
blocks main thread waiting for applet to fully initialize.

        Reviewed by Ken.

        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController addPlugin:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pollForAppletInView:]):

More LiveConnect stuff.  With that patch we make the applet
visible to JavaScript in an Bindings::Instance.  Next step
it to flush out implementation of RuntimeObjectImp and

        Reviewed by Ken.

        * khtml/html/html_objectimpl.cpp:
        * khtml/html/html_objectimpl.h:
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        * kwq/WebCoreBridge.h:

More LiveConnect stuff.

        Reviewed by Ken.

        * JavaScriptCore.pbproj/project.pbxproj:
        * bindings/jni/jni_class.cpp: Added.
        * bindings/jni/jni_class.h: Added.
        * bindings/jni/jni_instance.cpp: Added.
        * bindings/jni/jni_instance.h: Added.
        * bindings/jni/jni_runtime.cpp:
        * bindings/jni/jni_runtime.h:
        * bindings/jni/jni_utility.cpp:
        * bindings/jni/jni_utility.h:
        * bindings/runtime.cpp:
        * bindings/runtime.h:

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

17 years ago Fix for 3488888, about:blank in iframes doesn't repaint properly. Fix for 3485478...
hyatt [Wed, 19 Nov 2003 20:36:13 +0000 (20:36 +0000)]
Fix for 3488888, about:blank in iframes doesn't repaint properly.  Fix for 3485478, refreshing a remote
page often causes a white flash.  Fix for 3488827, XML/XHTML documents don't fire load events on bodies/framesets.

        Reviewed by darin

        * khtml/html/html_documentimpl.cpp:
        * khtml/html/html_documentimpl.h:
        * khtml/rendering/render_canvas.cpp:
        * khtml/xml/dom_docimpl.cpp:
        * khtml/xml/dom_docimpl.h:

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

17 years ago Make updateScrollers guard non-static, so that it applies only to the view whose...
hyatt [Wed, 19 Nov 2003 20:30:24 +0000 (20:30 +0000)]
Make updateScrollers guard non-static, so that it applies only to the view whose scrollers are being

        Reviewed by darin

        * WebView.subproj/WebDynamicScrollBarsView.h:
        * WebView.subproj/WebDynamicScrollBarsView.m:
        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):

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

17 years ago Reviewed by Darin.
mjs [Wed, 19 Nov 2003 18:55:18 +0000 (18:55 +0000)]
    Reviewed by Darin.

- fixed 3488883 - KIO::TransferJob needs to really use signals instead of calling loader directly

* khtml/khtml_part.cpp:
        * khtml/misc/loader.cpp:
        * khtml/misc/loader.h:
        * kwq/KWQKJobClasses.h:
        * kwq/KWQKJobClasses.mm:
        * kwq/KWQLoader.mm:
        * kwq/KWQObject.mm:
        * kwq/KWQResourceLoader.h:
        * kwq/KWQResourceLoader.mm:
        (-[KWQResourceLoader receivedResponse:]):
        (-[KWQResourceLoader addData:]):
        (-[KWQResourceLoader finishJobAndHandle]):
        * kwq/KWQSignal.h:
        * kwq/KWQSignal.mm:
        * kwq/KWQSlot.h:
        * kwq/KWQSlot.mm:

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

17 years ago Fix for 3488244, marquee-increments with percentage values not handled correctly...
hyatt [Tue, 18 Nov 2003 22:12:18 +0000 (22:12 +0000)]
Fix for 3488244, marquee-increments with percentage values not handled correctly.  Also added a tweak to ensure
that 1% of a small value ends up being at least an increment of 1.  Also added an optimization to not even
bother kicking off the marquee timer if the increment's initial value is 0 (matches WinIE).

        * khtml/rendering/render_layer.cpp:

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

17 years agoWebKit:
rjw [Tue, 18 Nov 2003 21:23:28 +0000 (21:23 +0000)]
More live connect stubs.  We're getting close.

        Reviewed by Chris.

        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController addPlugin:]):
        (-[WebPluginController _delayedGetApplet:]):
        * WebView.subproj/WebView.m:
        (-[WebView _goToItem:withLoadType:]):

More live connect stubs.  We're getting close.

        Reviewed by Chris.

        * WebCore.pbproj/project.pbxproj:
        * khtml/ecma/kjs_html.cpp:
        * khtml/html/html_objectimpl.cpp:
        * khtml/html/html_objectimpl.h:

More live connect stubs.  We're getting close.

        Reviewed by Chris.

        * JavaScriptCore.pbproj/project.pbxproj:
        * bindings/jni/jni_runtime.cpp:
        * bindings/jni/jni_runtime.h:
        * bindings/runtime.cpp: Added.
        * bindings/runtime.h:
        * bindings/runtime_object.cpp: Added.
        * bindings/runtime_object.h: Added.
        * kjs/object.cpp:
        * kjs/value.h:

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

17 years ago Reviewed by Maciej.
darin [Tue, 18 Nov 2003 15:57:46 +0000 (15:57 +0000)]
    Reviewed by Maciej.

        - fixed 3487335: REGRESSION (112-113): "a:b" error message does not cite the URL properly

        * Misc.subproj/WebKitErrors.m:
        (+[NSError _webKitErrorWithCode:failingURL:]): Call _webKitErrorWithDomain:code:URL:.
        (+[NSError _webKitErrorWithDomain:code:URL:]): Call _web_errorWithDomain:code:URL:, instead of using
        the deprecated failingURL: flavor.
        (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
        Change this method to call the other one.
        (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): Implement this one,
        and put in the NSErrorFailingURLKey, as well as the NSErrorFailingURLStringKey, to match what Foundation
        now does for other errors.

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
        Change to use the non-deprecated flavor of the NSError call above.

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

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

17 years agoFix for generated content problems fixes test 4.
hyatt [Tue, 18 Nov 2003 10:05:14 +0000 (10:05 +0000)]
Fix for generated content problems fixes test 4.

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

17 years agoUpdate option document.write layout test. Somebody fixed a bug and didn't run the...
hyatt [Tue, 18 Nov 2003 10:04:32 +0000 (10:04 +0000)]
Update option document.write layout test.  Somebody fixed a bug and didn't run the layout tests to see that they'd fixed a layout test. ;)

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

17 years ago Fix for 3478122, crash using first-letter and zooming, and also the fix for 3478078...
hyatt [Tue, 18 Nov 2003 09:55:06 +0000 (09:55 +0000)]
Fix for 3478122, crash using first-letter and zooming, and also the fix for 3478078, generated content
does not get removed properly on w3c site.  The root cause of these two bugs was the same, namely my
change to meld the concept of generated anonymous content and anonymous blocks created by the layout
engine together.  RenderBlock's setStyle method was incorrectly updating before/after/first-letter content
and wiping out its style in random (and bad) ways.

        * khtml/rendering/render_block.cpp:

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

17 years agoAdding layout test to cover image generated content.
hyatt [Tue, 18 Nov 2003 09:28:28 +0000 (09:28 +0000)]
Adding layout test to cover image generated content.

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

17 years ago Fix for 3487424, images not painting because of dropped layouts. When replaced...
hyatt [Tue, 18 Nov 2003 09:21:44 +0000 (09:21 +0000)]
Fix for 3487424, images not painting because of dropped layouts.  When replaced elements dirtied
themselves during line layout, they only needed to do a local dirty and not walk up the parent chain.

        Reviewed by mjs

        * khtml/rendering/bidi.cpp:

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

17 years ago Reviewed by Dave.
mjs [Tue, 18 Nov 2003 08:52:21 +0000 (08:52 +0000)]
    Reviewed by Dave.

- fixed 3486991 - Add XMLHttpRequest object and stub methods

        * khtml/ecma/kjs_window.cpp:
        (Window::get): Handle XMLHttpRequest constructor like Option and Image.
        * khtml/ecma/kjs_window.h: Ditto.
        * khtml/ecma/kjs_window.lut.h: Regenerated.
        * khtml/ecma/xmlhttprequest.cpp: Added. Stub implementations of everything.
        * khtml/ecma/xmlhttprequest.h: Added. Stub implementations of everything.
        * khtml/ecma/xmlhttprequest.lut.h: Added.
        * khtml/ecma/Makefile.am: Add new .lut.h file.
* WebCore.pbproj/project.pbxproj: Add new files.

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

17 years ago Fix for 3487136, marquees reset when you return to a page in the b/f cache. This...
hyatt [Tue, 18 Nov 2003 08:41:19 +0000 (08:41 +0000)]
Fix for 3487136, marquees reset when you return to a page in the b/f cache.  This patch makes
marquees suspend and resume properly, so they pick up animating where they left off.

        Reviewed by mjs

        * khtml/rendering/render_layer.cpp:
        * khtml/rendering/render_layer.h:
        * kwq/KWQKHTMLPart.mm:

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

17 years ago Patch from Harri, reviewed by me.
mjs [Tue, 18 Nov 2003 05:40:43 +0000 (05:40 +0000)]
    Patch from Harri, reviewed by me.

- fixed 3487375 - backwards array slice causes infinite loop

* kjs/array_object.cpp:

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

17 years ago Patch from Harri Porten reviewed by me.
mjs [Tue, 18 Nov 2003 05:30:37 +0000 (05:30 +0000)]
    Patch from Harri Porten reviewed by me.

- fixed 3487371 - operator precedence for bitwise or, xor and and is wrong

        * kjs/grammar.y: Correct the precedence.

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

17 years ago Merged from khtml:
mjs [Tue, 18 Nov 2003 04:15:14 +0000 (04:15 +0000)]
Merged from khtml:

-fixed 3487324 -  CSS url values should be wrapped in "url()" for cssText purposes

    2003-11-07  Dirk Mueller  <mueller@kde.org>

* css/css_valueimpl.cpp (cssText): wrap uri's into url().
Stephan Kulow noted that other browsers do that.

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

17 years ago*** empty log message ***
hyatt [Tue, 18 Nov 2003 02:39:00 +0000 (02:39 +0000)]
*** empty log message ***

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

17 years ago Fix for 3472998, stop a crash on an insanely malformed page. I had to change the...
hyatt [Tue, 18 Nov 2003 02:38:02 +0000 (02:38 +0000)]
Fix for 3472998, stop a crash on an insanely malformed page.  I had to change the concept of
"inStrayTableContent" to be a counter, since you could be nested and need to push/pop, and
then I also had to stop from mistakenly popping when I didn't need to.

        Reviewed by rjw

        * khtml/html/htmlparser.cpp:
        * khtml/html/htmlparser.h:

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

17 years ago Reviewed by Ken.
darin [Tue, 18 Nov 2003 01:52:35 +0000 (01:52 +0000)]
    Reviewed by Ken.

        - did keyboard event cleanup to follow up on the keyCode work I did before
        - fixed 3485558: key identifers use lowercase hex, but the W3C document shows uppercase
        - fixed 3485564: key identifier for the Return key should be "Enter"
        - fixed 3485579: letter keys generate different key identifiers depending on whether the shift key is down
        - fixed 3485568: keyboard event modifier key bits are uninitialized; may have incorrect values
        - fixed 3481514: which attribute for DOM events reports incorrect value
        - fixed 3452569: charCode attribute for DOM events not supported

        * khtml/dom/dom2_events.h: Added charCode.
        * khtml/dom/dom2_events.cpp:
        (UIEvent::keyCode): Call through to KeyboardEventImpl instead of doing the work here;
        better factoring.
        (UIEvent::charCode): Added. Calls through to KeyboardEventImpl.
        (UIEvent::which): Call keyCode in KeyboardEventImpl to share code.

        * khtml/ecma/kjs_events.h: Added charCode property for DOMUIEvent.
        * khtml/ecma/kjs_events.cpp: (DOMUIEvent::getValueProperty): Added charCode.
        * khtml/ecma/kjs_events.lut.h: Regenerated.

        * khtml/html/html_formimpl.h:
        * khtml/html/html_formimpl.cpp:
        (HTMLInputElementImpl::defaultEventHandler): Remove checks for "U+00000d" since we now use "Enter"
        for that key; also, we use capitalized hex, so it would have to change to "U+00000D" anyway.
        (HTMLSelectElementImpl::defaultEventHandler): Ditto.
        * khtml/html/html_inlineimpl.cpp: (HTMLAnchorElementImpl::defaultEventHandler): Ditto.

        * khtml/khtmlview.cpp: (KHTMLView::keyPressEvent): Put !APPLE_CHANGES around code we are not
        using. It was doing a switch based on Qt key codes, but the key value it was using to check
        was a Macintosh virtual key code, which could yield strange results when the codes happen to
        match. Safer and smaller code size not to do any of it at all.

        * khtml/rendering/render_form.cpp:
        (RenderLineEdit::RenderLineEdit): Use a KLineEdit instead of LineEditWidget for APPLE_CHANGES.
        Allows us to put !APPLE_CHANGES around more Qt key code stuff.
        (RenderLineEdit::select): Cast to KLineEdit instead of LineEditWidget.
        (ComboBoxWidget::event): Put !APPLE_CHANGES around more unneeded Qt key code stuff.
        (TextAreaWidget::event): Put !APPLE_CHANGES around more unneeded Qt key code stuff.

        * khtml/xml/dom2_eventsimpl.h: Made id() const and added keyCode() and charCode().
        * khtml/xml/dom2_eventsimpl.cpp:
        (KeyboardEventImpl::KeyboardEventImpl): Initialize all fields in the empty constructor.
        Initialize all the modifier bits in the main constructor; the old code assumed they started
        off false, which is not a safe assumption. Also set m_altGraphKey false. Eliminated the
        unneeded check of text() before calling identifier(). Also adapted for the name change from
        identifier() to keyIdentifier().
        (KeyboardEventImpl::keyCode): Added. Returns the Windows virtual key code for keydown and
        keyup events, and the Unicode character for all other events.
        (KeyboardEventImpl::charCode): Added. Returns the Unicode character.

        * kwq/KWQEvent.h: Changed QCustomEvent to be a typedef for QEvent.
        (QEvent::QEvent): Removed AccelAvailable, and added KParts, so I could remove some ugly
        constants from the KParts code.
        (QMouseEvent::button): Use a cast here since the field is now int.
        (QMouseEvent::state): Use a cast here since the field is now int.
        (QMouseEvent::stateAfter): Use a cast here since the field is now int, and use the new
        _stateAfter field.
        (QTimerEvent::QTimerEvent): Moved the constructor to be inline since it's so simple.
        (QKeyEvent::QKeyEvent): Removed type and button state parameters, now unneeded.
        Also removed now-unused _key, _ascii, and _count fields, and key(), ascii(),
        and count() functions.
        (QKeyEvent::state): Made inline.
        (QKeyEvent::isAccepted): Made inline.
        (QKeyEvent::text): Made inline.
        (QKeyEvent::isAutoRepeat): Made inline.
        (QKeyEvent::accept): Made inline.
        (QKeyEvent::ignore): Made inline.
        (QKeyEvent::unmodifiedText): Made inline.
        (QKeyEvent::keyIdentifier): Made inline and chnaged name from identifier().
        * kwq/KWQEvent.mm:
        (keyIdentifierForKeyEvent): Renamed from identifierForKeyText and changed parameter
        to be the event. Cleaned up the code a little bit, and wrote a comment or two.
        Changed from lowercase hex to uppercase, and called toupper on the key so that
        letter a-z would work properly. (A non-Unicode toupper is just the ticket here,
        because I am only sure we want to do this for a-z, not other lowercase characters.)
        (isKeypadEvent): Added. Uses virtual key codes to decide if a key event is a keypad
        event, so we can set the state flag correctly.
        (WindowsKeyCodeForKeyEvent): Added Clear key to the switch statement; it was missing.
        Changed to no longe use the characterCode helper function since this was the only
        place it was needed.
        (mouseButtonForEvent): Added. Similar logic to what was in KWQKHTMLPart before; better
        factoring to have it in here.
        (nonMouseButtonsForEvent): Ditto.
        (QMouseEvent::QMouseEvent): Rewrote constructors. One matches the one from Qt that's
        used in some places in KHTML code. The other takes an NSEvent and uses the new functions
        above to compute the button and state.
        (QKeyEvent::QKeyEvent): Computer type based on the passed-in NSEvent. Compute the
        auto-repeat flag based on the event and also the "forceAutoRepeat" parameter. Compute
        the button state based on the event too.

        * kwq/KWQKHTMLPart.h: Remove buttonForCurrentEvent and stateForCurrentEvent. Both
        are now in KWQEvent.mm.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::keyEvent): Remove extra parameters in code that creates QKeyEvent, now
        that QKeyEvent can handle everything itself.
        (KWQKHTMLPart::mouseDown): Same thing as above, only for QMouseEvent.
        (KWQKHTMLPart::mouseDragged): Ditto.
        (KWQKHTMLPart::mouseUp): Ditto.
        (KWQKHTMLPart::mouseMoved): Ditto.
        (KWQKHTMLPart::sendContextMenuEvent): Ditto.

        * kwq/KWQKPartsEvent.h: Tweaked the class around a little so it can work without
        taking advantage of QCustomEvent's data pointer.
        * kwq/KWQKPartsEvent.mm:
        (KParts::Event::Event): Changed so it does a strdup on the event name and uses the
        new event type pre-allocated in KWQEvent.h for us.
        (KParts::Event::~Event): Free the event name.
        (KParts::Event::test): Reimplemented this.

        * kwq/KWQKPartsPart.h: (KParts::Part::event): Removed now-unnecessary cast to change
        a QCustomEvent into a QEvent.

        * kwq/KWQNamespace.h: Removed the Qt::Key enum. All the code that used it was already
        broken because of the mixup between Qt and Macintosh key codes.

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

17 years ago Reviewed by Maciej
kocienda [Tue, 18 Nov 2003 00:59:15 +0000 (00:59 +0000)]
    Reviewed by Maciej

<rdar://problem/3487079>: Some scheme checks in KURL do not verify
first char is a legal first char for a scheme

        * kwq/KWQKURL.mm:
        (KURL::KURL): Added some additional checks when looking through
strings looking for schemes. Now the first character is checked
for validity as a first character in a scheme.

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

17 years ago Fix for 3486441, don't use the visibleWidth when computing the containingBlockWidth...
hyatt [Tue, 18 Nov 2003 00:54:58 +0000 (00:54 +0000)]
Fix for 3486441, don't use the visibleWidth when computing the containingBlockWidth().  No need to
query the view, since the canvas's width has been set to the proper size (when printing).

        Reviewed by john

        * khtml/rendering/render_box.cpp:

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

17 years ago Reviewed by Darin.
mjs [Mon, 17 Nov 2003 23:44:14 +0000 (23:44 +0000)]
    Reviewed by Darin.

- fixed 3413713 - iframe forms posting fails without initial src attribute value

        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::updateWidget): If the new part is for "about:blank",
set the document base URL to parent's base URL.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::createEmptyDocument): If this part is an
iframe, set the document base URL to the parent's base URL.

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

17 years ago Reviewed by John.
darin [Mon, 17 Nov 2003 23:40:27 +0000 (23:40 +0000)]
    Reviewed by John.

        - fixed 3485925: Safari does not correctly parse eight-digit hex character entities

        * khtml/html/htmltokenizer.cpp: (HTMLTokenizer::parseEntity): Replaced puzzling variable limit
        on number of hexadecimal characters to parse with an 8-character limit.

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

17 years ago Reviewed by John.
darin [Mon, 17 Nov 2003 23:35:21 +0000 (23:35 +0000)]
    Reviewed by John.

        - fixed 3485572 -- secure form check in KHTML uses case-sensitive comparison with "https"

        * khtml/html/html_formimpl.h:
        * khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::formWouldHaveSecureSubmission):
        Changed to take a DOMString reference for slightly better efficiency, and to use startsWith
        so the prefix check is not case sensitive and for slightly better efficiency and clarity
        than calling latin1() and using strncmp.

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

17 years ago - commit updated .lut.h file that I forgot to commit before
mjs [Mon, 17 Nov 2003 23:29:39 +0000 (23:29 +0000)]
- commit updated .lut.h file that I forgot to commit before

        * khtml/ecma/kjs_window.lut.h:

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

17 years ago Reviewed by Darin.
mjs [Mon, 17 Nov 2003 23:27:42 +0000 (23:27 +0000)]
    Reviewed by Darin.

- fixed 3382829 - Safari won't load script src javascript if done by a document.write followed by document.close

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::closeInternal): Don't delete the tokenizer if it's
waiting for scripts. It will get destroyed later when the part
gets all subresources and closes the document.
        * khtml/html/htmltokenizer.cpp:
        (HTMLTokenizer::isWaitingForScripts): Added.
        * khtml/html/htmltokenizer.h: Prototyped.
        * khtml/xml/xml_tokenizer.cpp:
        (XMLTokenizer::isWaitingForScripts): Added.
        * khtml/xml/xml_tokenizer.h: Prototyped.

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

17 years agoAdd malformed table content test.
hyatt [Mon, 17 Nov 2003 23:24:57 +0000 (23:24 +0000)]
Add malformed table content test.

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

17 years ago Fix for 3480108, crash because of the wrong malformedTableParent when stray content...
hyatt [Mon, 17 Nov 2003 23:23:55 +0000 (23:23 +0000)]
Fix for 3480108, crash because of the wrong malformedTableParent when stray content is placed inside
a <tr>.

        Reviewed by john

        * khtml/html/htmlparser.cpp:

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

17 years agoAdd file I forgot in the last commit.
mjs [Mon, 17 Nov 2003 23:21:50 +0000 (23:21 +0000)]
Add file I forgot in the last commit.

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

17 years ago Reviewed by Dave.
mjs [Mon, 17 Nov 2003 23:17:59 +0000 (23:17 +0000)]
    Reviewed by Dave.

- fixed 3397494 - FileMaker: Setting option object text fails if created without text

        * khtml/html/html_formimpl.cpp:
        (HTMLOptionElementImpl::childrenChanged): Update the select element.
This ends up getting called when you add a text node to an option that
didn't used to have one.

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

17 years ago Reviewed by Maciej
kocienda [Mon, 17 Nov 2003 23:12:35 +0000 (23:12 +0000)]
    Reviewed by Maciej

Fix for this bug:

<rdar://problem/3480023>: Links don't work if there's a colon in the URL

The colon in the URL was confusing KURL. I modified some checks in
KURL so that its search for schemes stops when a non-scheme
character is found rather than when a path end segment character
is found.

        * kwq/KWQKURL.mm: Added a new Colon class to the table of characters.
        (isSchemeCharOrColon): New helper.
        (KURL::KURL): Call on new helper when looking for a scheme.
        (KURL::findHostnameInHierarchicalURL): Ditto.

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

17 years agoRevise layout tests now that we break on hyphens and question marks.
hyatt [Mon, 17 Nov 2003 22:20:03 +0000 (22:20 +0000)]
Revise layout tests now that we break on hyphens and question marks.

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

17 years ago Fix for 2931829, lines with hyphens should break on the hyphens. Match WinIE's...
hyatt [Mon, 17 Nov 2003 22:08:09 +0000 (22:08 +0000)]
Fix for 2931829, lines with hyphens should break on the hyphens.  Match WinIE's behavior of
breaking on - and ?.

        Reviewed by john

        * khtml/rendering/break_lines.cpp:

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

17 years agoCheck in revised layout tests after changing all the logical font size definitions.
hyatt [Mon, 17 Nov 2003 21:15:40 +0000 (21:15 +0000)]
Check in revised layout tests after changing all the logical font size definitions.

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

17 years ago Fix for 3415771, Safari should use mini form controls when necessary. This patch...
hyatt [Mon, 17 Nov 2003 20:38:09 +0000 (20:38 +0000)]
Fix for 3415771, Safari should use mini form controls when necessary.  This patch adds heuristics for
swapping in mini form controls and also drops intrinsic margins when mini form controls are used.

Fix for 3486454, options/optgroups should strip leading/trailing space.

Together these two fixes solve 3486581, travelocity misrenders because form controls are too large.

Reviewed by Darin

Also fixing 3474994, alink needs to be restricted to actual links and not all <a> tags.

Reviewed by John

Finally, adding :active outlines around <input type=image> (covered by the old bug 3141767).

        * khtml/css/cssstyleselector.cpp:
        * khtml/css/cssstyleselector.h:
        * khtml/css/html4.css:
        * khtml/html/html_baseimpl.cpp:
        * khtml/khtml_part.cpp:
        * khtml/rendering/render_form.cpp:
        * khtml/xml/dom_docimpl.cpp:
        * kwq/KWQButton.mm:

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

17 years ago Back out my change to exclude text runs from getting a relayout on a style change...
hyatt [Mon, 17 Nov 2003 11:45:23 +0000 (11:45 +0000)]
Back out my change to exclude text runs from getting a relayout on a style change.  I totally forgot about
text zooming.

        * khtml/rendering/render_object.cpp:

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

17 years agoWebCore:
mjs [Mon, 17 Nov 2003 09:29:57 +0000 (09:29 +0000)]

        Reviewed by Dave.

<rdar://problem/3131664>: add support for the window.print() command used for "print this page" buttons

* khtml/ecma/kjs_window.cpp:
        (Window::get): add support for window.print (Apple-only)
        (WindowFunc::tryCall): ditto
        * khtml/ecma/kjs_window.h: Add Print to enum
        * khtml/ecma/kjs_window.lut.h: Regenerated
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::print): Call bridge.
        * kwq/KWQKHTMLPart.h: Declare above.
        * kwq/WebCoreBridge.h: prototype print method for other side of bridge.


        Reviewed by Dave.

WebKit part of fix for:

<rdar://problem/3131664>: add support for the window.print() command used for "print this page" buttons

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge print]): Call delegate.
        * WebView.subproj/WebDefaultUIDelegate.m:
        (-[WebDefaultUIDelegate webViewPrint:]): Implemented (do nothing).
        * WebView.subproj/WebUIDelegatePrivate.h: Added. Add extra SPI method webViewPrint:
for UI delegate.
        * WebKit.pbproj/project.pbxproj: Install WebUIDelegatePrivate.h as private header


        Reviewed by Dave.

WebBrowser part of fix for:

<rdar://problem/3131664>: add support for the window.print() command used for "print this page" buttons

        * BrowserWebController.m:
        (-[BrowserWebView webViewPrint:]): Call printDocument: on the document.

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

17 years ago Reviewed by Darin.
mjs [Mon, 17 Nov 2003 05:34:36 +0000 (05:34 +0000)]
    Reviewed by Darin.

        * kwq/KWQKHTMLPartBrowserExtension.mm:
        (KHTMLPartBrowserExtension::createNewWindow): Check for the
returned part being NULL, not the out value pointer.

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

17 years ago Fix for 3485779, <input type=image> and <button> should not be mouse focusable.
hyatt [Mon, 17 Nov 2003 02:31:10 +0000 (02:31 +0000)]
Fix for 3485779, <input type=image> and <button> should not be mouse focusable.

Fix for 3485795, <input type=image> and <button> are being treated like links when they should not be.

Fix for 3485817, <input type=image> and <button> should obey full keyboard access mode.

Fix for 3485802, fieldset/legend/option/optgroup/label should not be focusable at all.

        Reviewed by kocienda

        * ChangeLog:
        * khtml/html/html_formimpl.cpp:
        * khtml/html/html_formimpl.h:
        * khtml/html/html_inlineimpl.cpp:
        * khtml/html/html_inlineimpl.h:
        * khtml/khtml_part.cpp:
        * khtml/khtml_part.h:
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:

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

17 years ago Reviewed by John.
darin [Mon, 17 Nov 2003 01:36:46 +0000 (01:36 +0000)]
    Reviewed by John.

        - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash
        - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs
        - without causing 3484608 -- REGRESSION: Flash broken at http://www.macromedia.com/

        The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot.
        This has a side effect of not considering a page load done until all the plug-in streams are loaded.
        If that's not a good idea, we'll have to keep two separate lists in WebDataSource.

        * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]):
        Set the defersCallbacks state from the WebView here so that clients don't have to do it.

        * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to
        set the defersCallbacks state on the subresource client, because the above change obviates it.
        (the client/delegate terminology makes it confusing, but it's a subclass). Also loosen the type
        so we can call this on clients for plug-in streams too.
        (-[WebDataSource _removeSubresourceClient:]): Loosen type here too.
        (-[WebDataSource _defersCallbacksChanged]): And here.
        * WebView.subproj/WebDataSourcePrivate.h: Loosen type of subresource client so we can pass in the
        delegates for plug-in streams too.

        * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very
        first callback, which does not rely on NSURLConnection.
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient dealloc]): Release the initial request.
        (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be
        used when the request is no longer deferred. Also removed the code to call setDefersCallbacks:
        on the connection, and assert that we are only called when callbacks are not deferred. Because
        the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the
        WebView, so nothing would be deferred.
        (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the
        loadWithRequestNow: method, otherwise simply store the request in _initialRequest.
        (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are
        ceasing deferral of callbacks, then call the loadWithRequestNow: method.

        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream start]): Call _addSubresourceClient, and then _removeSubresourceClient
        if the load fails to even start.
        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Call _removeSubresourceClient.
        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Call _removeSubresourceClient.

        * Plugins.subproj/WebBaseNetscapePluginStream.h: Removed unneeded import.
        * Plugins.subproj/WebPluginDatabase.m: Add import needed now that WebBaseNetscapePluginStream.h
        imports less than before.

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

17 years ago Reviewed by Dave.
mjs [Mon, 17 Nov 2003 01:13:28 +0000 (01:13 +0000)]
    Reviewed by Dave.

- fixed 3484723 - name property of window reference from window.open call is always empty

        * kwq/KWQKHTMLPartBrowserExtension.mm:
        (KHTMLPartBrowserExtension::createNewWindow): Set the part name on the khtml side when
making a new window.

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

17 years ago Fix for 3485766.
hyatt [Mon, 17 Nov 2003 00:02:04 +0000 (00:02 +0000)]
Fix for 3485766.

Make sure DOM elements that are programmatically focused at a time when they have no render objects restore the
focus to their widgets when render objects get built.

        Reviewed by darin

        * khtml/html/html_formimpl.cpp:

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

17 years ago Reviewed by John.
mjs [Sun, 16 Nov 2003 23:03:54 +0000 (23:03 +0000)]
    Reviewed by John.

- fixed 3483829 - JavaScriptCore needs workaround to compile on Merlot

        * JavaScriptCore.pbproj/project.pbxproj: Add -Wno-long-double to
warning flags.

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

17 years ago Add border info to the render tree dumper.
hyatt [Sun, 16 Nov 2003 23:02:20 +0000 (23:02 +0000)]
Add border info to the render tree dumper.

        * khtml/rendering/render_style.h:
        * kwq/KWQRenderTreeDebug.cpp:
        * layout-tests/apple-only/base/bugzilla.mozilla.org/index-expected.txt:
        * layout-tests/apple-only/base/home.netscape.com/index-expected.txt:
        * layout-tests/apple-only/base/lxr.mozilla.org/index-expected.txt:
        * layout-tests/apple-only/base/my.netscape.com/index-expected.txt:
        * layout-tests/apple-only/base/news.cnet.com/index-expected.txt:
        * layout-tests/apple-only/base/web.icq.com/index-expected.txt:
        * layout-tests/apple-only/base/www.altavista.com/index-expected.txt:
        * layout-tests/apple-only/base/www.amazon.com/index-expected.txt:
        * layout-tests/apple-only/base/www.cnn.com/index-expected.txt:
        * layout-tests/apple-only/base/www.digitalcity.com/index-expected.txt:
        * layout-tests/apple-only/base/www.ebay.com/index-expected.txt:
        * layout-tests/apple-only/base/www.excite.com/index-expected.txt:
        * layout-tests/apple-only/base/www.expedia.com/index-expected.txt:
        * layout-tests/apple-only/base/www.iplanet.com/index-expected.txt:
        * layout-tests/apple-only/base/www.mapquest.com/index-expected.txt:
        * layout-tests/apple-only/base/www.microsoft.com/index-expected.txt:
        * layout-tests/apple-only/base/www.moviefone.com/index-expected.txt:
        * layout-tests/apple-only/base/www.msn.com/index-expected.txt:
        * layout-tests/apple-only/base/www.msnbc.com/index-expected.txt:
        * layout-tests/apple-only/base/www.nytimes.com/index-expected.txt:
        * layout-tests/apple-only/base/www.nytimes.com_Table/index-expected.txt:
        * layout-tests/apple-only/base/www.quicken.com/index-expected.txt:
        * layout-tests/apple-only/base/www.sun.com/index-expected.txt:
        * layout-tests/apple-only/base/www.time.com/index-expected.txt:
        * layout-tests/apple-only/base/www.travelocity.com/index-expected.txt:
        * layout-tests/apple-only/base/www.w3.org_DOML2Core/index-expected.txt:
        * layout-tests/apple-only/base/www.yahoo.com/index-expected.txt:
        * layout-tests/apple-only/base/www.zdnet.com/index-expected.txt:
        * layout-tests/apple-only/base/www.zdnet.com_Gamespot.com/index-expected.txt:
        * layout-tests/css1/basic/class_as_selector-expected.txt:
        * layout-tests/css1/basic/comments-expected.txt:
        * layout-tests/css1/basic/containment-expected.txt:
        * layout-tests/css1/basic/contextual_selectors-expected.txt:
        * layout-tests/css1/basic/grouping-expected.txt:
        * layout-tests/css1/basic/id_as_selector-expected.txt:
        * layout-tests/css1/basic/inheritance-expected.txt:
        * layout-tests/css1/box_properties/acid_test-expected.txt:
        * layout-tests/css1/box_properties/border-expected.txt:
        * layout-tests/css1/box_properties/border_bottom-expected.txt:
        * layout-tests/css1/box_properties/border_bottom_inline-expected.txt:
        * layout-tests/css1/box_properties/border_bottom_width-expected.txt:
        * layout-tests/css1/box_properties/border_bottom_width_inline-expected.txt:
        * layout-tests/css1/box_properties/border_color-expected.txt:
        * layout-tests/css1/box_properties/border_color_inline-expected.txt:
        * layout-tests/css1/box_properties/border_inline-expected.txt:
        * layout-tests/css1/box_properties/border_left-expected.txt:
        * layout-tests/css1/box_properties/border_left_inline-expected.txt:
        * layout-tests/css1/box_properties/border_left_width-expected.txt:
        * layout-tests/css1/box_properties/border_left_width_inline-expected.txt:
        * layout-tests/css1/box_properties/border_right-expected.txt:
        * layout-tests/css1/box_properties/border_right_inline-expected.txt:
        * layout-tests/css1/box_properties/border_right_width-expected.txt:
        * layout-tests/css1/box_properties/border_right_width_inline-expected.txt:
        * layout-tests/css1/box_properties/border_style-expected.txt:
        * layout-tests/css1/box_properties/border_style_inline-expected.txt:
        * layout-tests/css1/box_properties/border_top-expected.txt:
        * layout-tests/css1/box_properties/border_top_inline-expected.txt:
        * layout-tests/css1/box_properties/border_top_width-expected.txt:
        * layout-tests/css1/box_properties/border_top_width_inline-expected.txt:
        * layout-tests/css1/box_properties/border_width-expected.txt:
        * layout-tests/css1/box_properties/border_width_inline-expected.txt:
        * layout-tests/css1/box_properties/clear-expected.txt:
        * layout-tests/css1/box_properties/clear_float-expected.txt:
        * layout-tests/css1/box_properties/float-expected.txt:
        * layout-tests/css1/box_properties/float_elements_in_series-expected.txt:
        * layout-tests/css1/box_properties/float_margin-expected.txt:
        * layout-tests/css1/box_properties/float_on_text_elements-expected.txt:
        * layout-tests/css1/box_properties/height-expected.txt:
        * layout-tests/css1/box_properties/margin-expected.txt:
        * layout-tests/css1/box_properties/margin_bottom-expected.txt:
        * layout-tests/css1/box_properties/margin_bottom_inline-expected.txt:
        * layout-tests/css1/box_properties/margin_inline-expected.txt:
        * layout-tests/css1/box_properties/margin_left-expected.txt:
        * layout-tests/css1/box_properties/margin_left_inline-expected.txt:
        * layout-tests/css1/box_properties/margin_right-expected.txt:
        * layout-tests/css1/box_properties/margin_right_inline-expected.txt:
        * layout-tests/css1/box_properties/margin_top-expected.txt:
        * layout-tests/css1/box_properties/margin_top_inline-expected.txt:
        * layout-tests/css1/box_properties/padding-expected.txt:
        * layout-tests/css1/box_properties/padding_bottom-expected.txt:
        * layout-tests/css1/box_properties/padding_bottom_inline-expected.txt:
        * layout-tests/css1/box_properties/padding_inline-expected.txt:
        * layout-tests/css1/box_properties/padding_left-expected.txt:
        * layout-tests/css1/box_properties/padding_left_inline-expected.txt:
        * layout-tests/css1/box_properties/padding_right-expected.txt:
        * layout-tests/css1/box_properties/padding_right_inline-expected.txt:
        * layout-tests/css1/box_properties/padding_top-expected.txt:
        * layout-tests/css1/box_properties/padding_top_inline-expected.txt:
        * layout-tests/css1/box_properties/width-expected.txt:
        * layout-tests/css1/cascade/cascade_order-expected.txt:
        * layout-tests/css1/cascade/important-expected.txt:
        * layout-tests/css1/classification/display-expected.txt:
        * layout-tests/css1/classification/list_style-expected.txt:
        * layout-tests/css1/classification/list_style_image-expected.txt:
        * layout-tests/css1/classification/list_style_position-expected.txt:
        * layout-tests/css1/classification/list_style_type-expected.txt:
        * layout-tests/css1/classification/white_space-expected.txt:
        * layout-tests/css1/color_and_background/background-expected.txt:
        * layout-tests/css1/color_and_background/background_attachment-expected.txt:
        * layout-tests/css1/color_and_background/background_color-expected.txt:
        * layout-tests/css1/color_and_background/background_image-expected.txt:
        * layout-tests/css1/color_and_background/background_position-expected.txt:
        * layout-tests/css1/color_and_background/background_repeat-expected.txt:
        * layout-tests/css1/color_and_background/color-expected.txt:
        * layout-tests/css1/conformance/forward_compatible_parsing-expected.txt:
        * layout-tests/css1/font_properties/font-expected.txt:
        * layout-tests/css1/font_properties/font_family-expected.txt:
        * layout-tests/css1/font_properties/font_size-expected.txt:
        * layout-tests/css1/font_properties/font_style-expected.txt:
        * layout-tests/css1/font_properties/font_variant-expected.txt:
        * layout-tests/css1/font_properties/font_weight-expected.txt:
        * layout-tests/css1/formatting_model/canvas-expected.txt:
        * layout-tests/css1/formatting_model/floating_elements-expected.txt:
        * layout-tests/css1/formatting_model/height_of_lines-expected.txt:
        * layout-tests/css1/formatting_model/inline_elements-expected.txt:
        * layout-tests/css1/formatting_model/replaced_elements-expected.txt:
        * layout-tests/css1/formatting_model/vertical_formatting-expected.txt:
        * layout-tests/css1/pseudo/anchor-expected.txt:
        * layout-tests/css1/pseudo/firstletter-expected.txt:
        * layout-tests/css1/pseudo/firstline-expected.txt:
        * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.txt:
        * layout-tests/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
        * layout-tests/css1/text_properties/letter_spacing-expected.txt:
        * layout-tests/css1/text_properties/line_height-expected.txt:
        * layout-tests/css1/text_properties/text-transform-expected.txt:
        * layout-tests/css1/text_properties/text_align-expected.txt:
        * layout-tests/css1/text_properties/text_decoration-expected.txt:
        * layout-tests/css1/text_properties/text_indent-expected.txt:
        * layout-tests/css1/text_properties/text_transform-expected.txt:
        * layout-tests/css1/text_properties/vertical_align-expected.txt:
        * layout-tests/css1/text_properties/word_spacing-expected.txt:
        * layout-tests/css1/units/color_units-expected.txt:
        * layout-tests/css1/units/length_units-expected.txt:
        * layout-tests/css1/units/percentage_units-expected.txt:
        * layout-tests/css1/units/urls-expected.txt:
        * layout-tests/fast/block/basic/001-expected.txt:
        * layout-tests/fast/block/basic/002-expected.txt:
        * layout-tests/fast/block/basic/003-expected.txt:
        * layout-tests/fast/block/basic/004-expected.txt:
        * layout-tests/fast/block/basic/007-expected.txt:
        * layout-tests/fast/block/basic/011-expected.txt:
        * layout-tests/fast/block/basic/015-expected.txt:
        * layout-tests/fast/block/basic/016-expected.txt:
        * layout-tests/fast/block/basic/017-expected.txt:
        * layout-tests/fast/block/basic/018-expected.txt:
        * layout-tests/fast/block/basic/019-expected.txt:
        * layout-tests/fast/block/float/004-expected.txt:
        * layout-tests/fast/block/float/005-expected.txt:
        * layout-tests/fast/block/float/006-expected.txt:
        * layout-tests/fast/block/float/007-expected.txt:
        * layout-tests/fast/block/float/012-expected.txt:
        * layout-tests/fast/block/float/013-expected.txt:
        * layout-tests/fast/block/float/015-expected.txt:
        * layout-tests/fast/block/float/016-expected.txt:
        * layout-tests/fast/block/float/017-expected.txt:
        * layout-tests/fast/block/float/019-expected.txt:
        * layout-tests/fast/block/float/021-expected.txt:
        * layout-tests/fast/block/float/022-expected.txt:
        * layout-tests/fast/block/float/024-expected.txt:
        * layout-tests/fast/block/float/025-expected.txt:
        * layout-tests/fast/block/float/026-expected.txt:
        * layout-tests/fast/block/float/027-expected.txt:
        * layout-tests/fast/block/float/028-expected.txt:
        * layout-tests/fast/block/margin-collapse/001-expected.txt:
        * layout-tests/fast/block/margin-collapse/005-expected.txt:
        * layout-tests/fast/block/margin-collapse/006-expected.txt:
        * layout-tests/fast/block/margin-collapse/010-expected.txt:
        * layout-tests/fast/block/margin-collapse/011-expected.txt:
        * layout-tests/fast/block/margin-collapse/012-expected.txt:
        * layout-tests/fast/block/margin-collapse/015-expected.txt:
        * layout-tests/fast/block/margin-collapse/016-expected.txt:
        * layout-tests/fast/block/margin-collapse/017-expected.txt:
        * layout-tests/fast/block/margin-collapse/018-expected.txt:
        * layout-tests/fast/block/margin-collapse/019-expected.txt:
        * layout-tests/fast/block/margin-collapse/020-expected.txt:
        * layout-tests/fast/block/margin-collapse/021-expected.txt:
        * layout-tests/fast/block/margin-collapse/022-expected.txt:
        * layout-tests/fast/block/margin-collapse/024-expected.txt:
        * layout-tests/fast/block/margin-collapse/025-expected.txt:
        * layout-tests/fast/block/margin-collapse/026-expected.txt:
        * layout-tests/fast/block/margin-collapse/027-expected.txt:
        * layout-tests/fast/block/margin-collapse/028-expected.txt:
        * layout-tests/fast/block/margin-collapse/029-expected.txt:
        * layout-tests/fast/block/margin-collapse/030-expected.txt:
        * layout-tests/fast/block/margin-collapse/032-expected.txt:
        * layout-tests/fast/block/margin-collapse/033-expected.txt:
        * layout-tests/fast/block/margin-collapse/034-expected.txt:
        * layout-tests/fast/block/margin-collapse/035-expected.txt:
        * layout-tests/fast/block/margin-collapse/041-expected.txt:
        * layout-tests/fast/block/margin-collapse/042-expected.txt:
        * layout-tests/fast/block/margin-collapse/043-expected.txt:
        * layout-tests/fast/block/positioning/048-expected.txt:
        * layout-tests/fast/block/positioning/049-expected.txt:
        * layout-tests/fast/block/positioning/050-expected.txt:
        * layout-tests/fast/block/positioning/051-expected.txt:
        * layout-tests/fast/block/positioning/056-expected.txt:
        * layout-tests/fast/block/positioning/057-expected.txt:
        * layout-tests/fast/block/positioning/058-expected.txt:
        * layout-tests/fast/block/positioning/auto/001-expected.txt:
        * layout-tests/fast/block/positioning/auto/002-expected.txt:
        * layout-tests/fast/block/positioning/auto/003-expected.txt:
        * layout-tests/fast/block/positioning/auto/004-expected.txt:
        * layout-tests/fast/block/positioning/auto/005-expected.txt:
        * layout-tests/fast/block/positioning/auto/006-expected.txt:
        * layout-tests/fast/clip/013-expected.txt:
        * layout-tests/fast/clip/014-expected.txt:
        * layout-tests/fast/css-generated-content/006-expected.txt:
        * layout-tests/fast/css/003-expected.txt:
        * layout-tests/fast/css/004-expected.txt:
        * layout-tests/fast/css/005-expected.txt:
        * layout-tests/fast/dynamic/002-expected.txt:
        * layout-tests/fast/dynamic/004-expected.txt:
        * layout-tests/fast/encoding/utf-16-big-endian-expected.txt:
        * layout-tests/fast/encoding/utf-16-little-endian-expected.txt:
        * layout-tests/fast/flexbox/007-expected.txt:
        * layout-tests/fast/flexbox/008-expected.txt:
        * layout-tests/fast/flexbox/009-expected.txt:
        * layout-tests/fast/flexbox/011-expected.txt:
        * layout-tests/fast/flexbox/016-expected.txt:
        * layout-tests/fast/flexbox/017-expected.txt:
        * layout-tests/fast/flexbox/018-expected.txt:
        * layout-tests/fast/flexbox/019-expected.txt:
        * layout-tests/fast/flexbox/022-expected.txt:
        * layout-tests/fast/flexbox/025-expected.txt:
        * layout-tests/fast/forms/001-expected.txt:
        * layout-tests/fast/forms/002-expected.txt:
        * layout-tests/fast/forms/006-expected.txt:
        * layout-tests/fast/forms/007-expected.txt:
        * layout-tests/fast/forms/form-element-geometry-expected.txt:
        * layout-tests/fast/frames/001-expected.txt:
        * layout-tests/fast/inline-block/001-expected.txt:
        * layout-tests/fast/inline-block/002-expected.txt:
        * layout-tests/fast/inline-block/003-expected.txt:
        * layout-tests/fast/inline/001-expected.txt:
        * layout-tests/fast/invalid/008-expected.txt:
        * layout-tests/fast/invalid/014-expected.txt:
        * layout-tests/fast/invalid/016-expected.txt:
        * layout-tests/fast/lists/001-expected.txt:
        * layout-tests/fast/lists/004-expected.txt:
        * layout-tests/fast/lists/007-expected.txt:
        * layout-tests/fast/overflow/001-expected.txt:
        * layout-tests/fast/overflow/002-expected.txt:
        * layout-tests/fast/overflow/004-expected.txt:
        * layout-tests/fast/replaced/005-expected.txt:
        * layout-tests/fast/replaced/006-expected.txt:
        * layout-tests/fast/replaced/008-expected.txt:
        * layout-tests/fast/selectors/009-expected.txt:
        * layout-tests/fast/selectors/014-expected.txt:
        * layout-tests/fast/selectors/032-expected.txt:
        * layout-tests/fast/selectors/033-expected.txt:
        * layout-tests/fast/selectors/039-expected.txt:
        * layout-tests/fast/selectors/039b-expected.txt:
        * layout-tests/fast/selectors/064-expected.txt:
        * layout-tests/fast/selectors/077-expected.txt:
        * layout-tests/fast/selectors/077b-expected.txt:
        * layout-tests/fast/selectors/078-expected.txt:
        * layout-tests/fast/selectors/078b-expected.txt:
        * layout-tests/fast/selectors/166a-expected.txt:
        * layout-tests/fast/table/003-expected.txt:
        * layout-tests/fast/table/004-expected.txt:
        * layout-tests/fast/table/005-expected.txt:
        * layout-tests/fast/table/006-expected.txt:
        * layout-tests/fast/table/007-expected.txt:
        * layout-tests/fast/table/008-expected.txt:
        * layout-tests/fast/table/009-expected.txt:
        * layout-tests/fast/table/015-expected.txt:
        * layout-tests/fast/table/017-expected.txt:
        * layout-tests/fast/table/018-expected.txt:
        * layout-tests/fast/table/020-expected.txt:
        * layout-tests/fast/table/023-expected.txt:
        * layout-tests/fast/table/025-expected.txt:
        * layout-tests/fast/table/027-expected.txt:
        * layout-tests/fast/table/028-expected.txt:
        * layout-tests/fast/table/029-expected.txt:
        * layout-tests/fast/table/030-expected.txt:
        * layout-tests/fast/table/035-expected.txt:
        * layout-tests/fast/table/036-expected.txt:
        * layout-tests/fast/table/038-expected.txt:
        * layout-tests/fast/table/border-collapsing/001-expected.txt:
        * layout-tests/fast/table/border-collapsing/002-expected.txt:
        * layout-tests/fast/table/border-collapsing/003-expected.txt:
        * layout-tests/fast/table/border-collapsing/004-expected.txt:
        * layout-tests/fast/table/large-width-expected.txt:
        * layout-tests/fast/table/nobr-expected.txt:
        * layout-tests/fast/text/basic/001-expected.txt:
        * layout-tests/fast/text/basic/003-expected.txt:
        * layout-tests/fast/text/basic/004-expected.txt:
        * layout-tests/fast/text/basic/005-expected.txt:
        * layout-tests/fast/text/basic/006-expected.txt:
        * layout-tests/fast/text/basic/007-expected.txt:
        * layout-tests/fast/text/basic/012-expected.txt:
        * layout-tests/fast/text/firstline/002-expected.txt:
        * layout-tests/fast/text/whitespace/002-expected.txt:
        * layout-tests/fast/text/whitespace/003-expected.txt:
        * layout-tests/fast/text/whitespace/020-expected.txt:
        * layout-tests/fast/text/whitespace/023-expected.txt:
        * layout-tests/fast/text/whitespace/024-expected.txt:
        * layout-tests/fast/text/whitespace/025-expected.txt:
        * layout-tests/fast/text/whitespace/027-expected.txt:

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

17 years agoWebCore:
mjs [Sun, 16 Nov 2003 21:25:23 +0000 (21:25 +0000)]

        Reviewed by John.

- fixed 3362841 - javascript History Object length property is always 0

        * kwq/KWQKPartsBrowserInterface.mm:
        (KParts::BrowserInterface::property): For the historyLength property,
retturn a UInt variant, not Int, because that's what the kjs_window code


        Reviewed by John.

- fixed 3362841 - javascript History Object length property is always 0

* WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge historyLength]): Add one to the length to match other browsers.

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

17 years ago Reviewed by Ken and Dave.
mjs [Sun, 16 Nov 2003 21:20:06 +0000 (21:20 +0000)]
    Reviewed by Ken and Dave.

- fixed 3471925 - getting and setting cssText not implemented

        * khtml/css/css_valueimpl.cpp:
        (CSSStyleDeclarationImpl::cssText): Implemented by gathering text of all
properties (that are not non-CSS hints), separated with semicolons.
        (CSSStyleDeclarationImpl::setCssText): Implemented by clearing all existing
properties (that are not non-CSS hints) and invoking css parser.
        (CSSValueListImpl::cssText): Implemented.
        (FontValueImpl::cssText): Implemented.
        (ShadowValueImpl::cssText): Implemented.
        (CSSProperty::cssText): Implemented.
        * khtml/css/css_valueimpl.h: Declared new methods; made
CSSValueImpl::cssText() pure virtual; removed CSSValueImpl::setCssText().

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

17 years agoFix overflow test to be in strict mode.
hyatt [Sun, 16 Nov 2003 21:02:57 +0000 (21:02 +0000)]
Fix overflow test to be in strict mode.

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

17 years agoAdding css tests.
hyatt [Sun, 16 Nov 2003 21:01:25 +0000 (21:01 +0000)]
Adding css tests.

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

17 years agoMoving this test.
hyatt [Sun, 16 Nov 2003 21:00:42 +0000 (21:00 +0000)]
Moving this test.

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

17 years agoAdd a dynamic id manipulation test.
hyatt [Sun, 16 Nov 2003 20:57:04 +0000 (20:57 +0000)]
Add a dynamic id manipulation test.

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

17 years agoAdding basic block tests for hr and h1
hyatt [Sun, 16 Nov 2003 20:53:19 +0000 (20:53 +0000)]
Adding basic block tests for hr and h1

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

17 years agoAdd new tests for float displacement.
hyatt [Sun, 16 Nov 2003 20:51:28 +0000 (20:51 +0000)]
Add new tests for float displacement.

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

17 years agoFix the alignment test.
hyatt [Sun, 16 Nov 2003 20:50:00 +0000 (20:50 +0000)]
Fix the alignment test.

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

17 years ago 3485717, Cleanup of the float code. Eliminated the -khtml-flow-mode style property...
hyatt [Sun, 16 Nov 2003 20:48:12 +0000 (20:48 +0000)]
3485717, Cleanup of the float code.  Eliminated the -khtml-flow-mode style property in favor of two simple methods,
avoidsFloats() and usesLineWidth().  avoidsFloats can be called to tell whether an object does not want
floats to intrude into its space (and that it should also move to avoid floats).  usesLineWidth is called
to find out if an object's containing block width is the line width or the content width, and has all the
right smarts to emulate WinIE's behaviors in both quirks and strict mode.

Also fixed a bug (3485718) where overflow:scroll blocks with auto height did not factor in the horizontal scrollbar's
height (thus causing it to paint on top of content).

        Reviewed by darin

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

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

17 years ago Fix for 3485260, regression on Uniview site from incremental repainting. When appen...
hyatt [Sun, 16 Nov 2003 06:22:09 +0000 (06:22 +0000)]
Fix for 3485260, regression on Uniview site from incremental repainting.  When appending/inserting child
nodes into the render tree, we need to always mark them as needing layout themselves (and not just as
having children needing layout).  This ensures that the incremental repainting code will know to repaint the
enclosing container (even though that container's size may not change).

Fix for 3411960, block-level replaced elements should avoid floats.

Fix for 3463234, floats should not intrude into overflow blocks (even when siblings happen to get in
between the float and the overflow block).

Fix for 3485576, the containing block for text runs is incorrect.

Fix for 3485577, text runs should not trigger layout when style is re-resolved.

        Reviewed by darin

        * khtml/rendering/render_container.cpp:
        * khtml/rendering/render_box.cpp
* khtml/rendering/render_object.cpp

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

17 years ago Fix for 3473707, 100% height positioned divs are too tall. The padding box wasn...
hyatt [Sat, 15 Nov 2003 04:53:47 +0000 (04:53 +0000)]
Fix for 3473707, 100% height positioned divs are too tall.  The padding box wasn't being used like it was
supposed to be when calcing percentage heights.

        Reviewed by kocienda

        * khtml/rendering/render_box.cpp:

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

17 years agoWebKit:
sullivan [Sat, 15 Nov 2003 00:46:28 +0000 (00:46 +0000)]

        - WebKit part of fix for <rdar://problem/3474757>: Safari on-screen text needs review

        Reviewed by Ken.

        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:]):
        change "Download Link to Disk" to "Download Linked File to Disk"

        * English.lproj/Localizable.strings:
        updated for these changes


        - WebBrowser part of fix for <rdar://problem/3474757>: Safari on-screen text needs review

        Reviewed by Ken.

        Many text changes. In a small number of places I got to delete stuff, but
        mostly I just changed the words to match Ron's edit (after much discussion).

        * ABHomePagesController.m:
        (-[ABHomePagesController openAddressBook:]):
        * AppController.m:
        (-[AppController confirmSwitchDefaultBrowser]):
        (-[AppController _showResourceFileWithName:extension:]):
        * BookmarksController.m:
        (-[BookmarksController tellUserAboutExceptionInFileLockingCode]):
        (-[BookmarksController tellUserThatISyncWon]):
        (-[BookmarksController tellUserThatExternalChangePreemptedLocalChange]):
        (-[BookmarksController exportBookmarks:]):
        * BrowserDocument.m:
        (-[BrowserDocument panel:userEnteredFilename:confirmed:]):
        * BrowserWebBookmarkExtras.m:
        (-[WebBookmark _goToWithWindowPolicy:]):
        * BrowserWebController.m:
        (-[BrowserWebView mouseoverTextForElement:modifierFlags:]):
        (-[BrowserWebView webView:unableToImplementPolicyWithError:frame:]):
        (-[BrowserWebView openFileExternallyWithRequest:inFrame:]):
        (-[BrowserWebView revealInFinderWithRequest:inFrame:]):
        (-[BrowserWebView decidePolicyForAction:request:frame:newFrameName:decisionListener:]):
        (-[BrowserWebView displayName]):
        * BrowserWindowController.m:
        (-[BrowserWindowController setUpSearchField]):
        (-[BrowserWindowController goToToolbarLocationWithWindowPolicy:]):
        * ContextMenuHandler.m:
        (-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]):
        (-[BrowserWebView saveFileWrapperForURLKey:menuItem:]):
        * DownloadRow.m:
        (-[DownloadRow _statusText]):
        (-[DownloadRow open:]):
        * DownloadViewController.m:
        (-[DownloadViewController _openEntries:]):
        (-[DownloadViewController _revealEntries:]):
        * DownloadWindowController.m:
        (-[DownloadWindowController windowDidLoad]):
        (-[DownloadWindowController askToTerminateWhileDownloading]):
        (-[DownloadWindowController reportInvalidDownloadFileErrorForPath:]):
        * FavoriteButton.m:
        (-[FavoriteButton setBookmark:]):
        (-[FavoriteButton confirmDeletingFolder]):
        * FavoritesBar.m:
        (-[FavoritesBar initWithView:]):
        * FormCompletionController.m:
        (+[FormCompletionController _frame:sourceFrame:willSubmitLoginForm:withValues:formInfo:submissionListener:]):
        (+[FormCompletionController autoFillInWebView:]):
        * LoadProgressMonitor.m:
        (-[LoadProgressMonitor _busyStatus]):
        (-[LoadProgressMonitor _statusSummary]):
        (-[LoadProgressMonitor webView:plugInFailedWithError:dataSource:]):
        * LocationChangeError.m:
        (-[LocationChangeHandler specializedTitleForError:]):
        (-[LocationChangeHandler specializedMessageForError:dataSource:]):
        (-[LocationChangeHandler genericTitleForError:]):
        (-[LocationChangeHandler genericMessageForError:]):
        * LocationChangeHandler.m:
        (-[LocationChangeHandler webView:locationChangeDone:forDataSource:]):
        * Preferences.subproj/AutoFillPreferences.m:
        (-[AutoFillPreferences editMyCard:]):
        * Preferences.subproj/BookmarkPreferences.m:
        (-[BookmarkPreferences configureSynchronizing:]):
        * Preferences.subproj/SecurityPreferences.m:
        (-[SecurityPreferences toggleJavaScriptCanOpenWindows:]):
        * RendezvousController.m:
        (-[RendezvousController reportErrorForServiceName:]):
        * TabBarView.m:
        (-[TabBarView initWithFrame:]):
        * main.m:
        Changed or removed words.

        * English.lproj/Localizable.strings:
        updated for these changes

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