19 years agoAdded expected results for text-transform test.
rjw [Mon, 10 Nov 2003 20:45:07 +0000 (20:45 +0000)]
Added expected results for text-transform test.

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

19 years agoRemoved Turkish and Deseret from the test case. These don't work yet.
rjw [Mon, 10 Nov 2003 20:42:12 +0000 (20:42 +0000)]
Removed Turkish and Deseret from the test case.  These don't work yet.

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

19 years ago Fixed: <rdar://problem/3478351>: Safari: URL Alias on Dock failed to open the 2byte URL
cblu [Mon, 10 Nov 2003 19:58:16 +0000 (19:58 +0000)]
Fixed: <rdar://problem/3478351>: Safari: URL Alias on Dock failed to open the 2byte URL

        Reviewed by dave.

        * Misc.subproj/WebNSURLExtras.m:
        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): if the host name is percent-escaped, use CFURLCreateStringByReplacingPercentEscapes

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

19 years ago Fixed: <rdar://problem/3478781>: drag image of selected text and images doesn't...
cblu [Mon, 10 Nov 2003 18:49:18 +0000 (18:49 +0000)]
Fixed: <rdar://problem/3478781>: drag image of selected text and images doesn't include images

        Reviewed by rjw.

        * khtml/rendering/render_image.cpp:
        (RenderImage::paintObject): paint when the paint action is PaintActionSelection
        * khtml/rendering/render_replaced.cpp:
        (RenderReplaced::paint): ditto

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

19 years ago Reviewed by John
kocienda [Mon, 10 Nov 2003 18:46:43 +0000 (18:46 +0000)]
    Reviewed by John

Fix for this bug:

<rdar://problem/3477624>: REGRESSION (113): Using input method to
enter non-ascii text submits the form

This regression has been in the tree for a couple of versions now,
since we improved the way key events are processed. The solution
is to ask the text input manager if it has any marked text when
the return key (or enter key) is pressed, because if it does, the key
needs to work in the "accept" role for the input manager. Fixing
in this way has the pleasant effect of making return/enter key
behavior "do the right thing" based on context.

        * khtml/html/html_formimpl.cpp:
        (HTMLInputElementImpl::defaultEventHandler): Add check to see
if text input manager has marked text before submitting text
and password fields. Broke out key handling for checkboxes and
radios, since the old code for these widgets worked fine.
        * kwq/KWQLineEdit.h: Added hasMarkedText function.
        * kwq/KWQLineEdit.mm:
        (QLineEdit::hasMarkedText): Returns whether the current input
manager has marked text or not.

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

19 years ago Use ICU for upper/lower conversion. Fixed 3477157, 3478455, 3478456, 3478457, 3478486.
rjw [Mon, 10 Nov 2003 18:00:35 +0000 (18:00 +0000)]
Use ICU for upper/lower conversion.  Fixed 34771573478455347845634784573478486.
Remaining issues with surrogates (3477159) and Turkish I (3478482).

        Reviewed by Ken.

        * Misc.subproj/WebUnicode.m:

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

19 years ago Reviewed by John.
darin [Mon, 10 Nov 2003 16:31:34 +0000 (16:31 +0000)]
    Reviewed by John.

        - fixed 3477528 -- array.sort(function) fails if the function returns a non-zero value that rounds to zero

        * kjs/array_object.cpp:
        (compareByStringForQSort): Added checks for undefined values to match what the specification calls for.
        (compareWithCompareFunctionForQSort): Added checks for undefined values as above, and also changed the
        code that looks at the compare function result to look at the number returned without rounding to an integer.
        (ArrayProtoFuncImp::call): Changed the code that looks at the compare function result to look at the number
        returned without rounding to an integer.

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

19 years ago Reviewed by Dave.
darin [Mon, 10 Nov 2003 08:26:45 +0000 (08:26 +0000)]
    Reviewed by Dave.

        - fixed 3478173 -- REGRESSION (112-113): getElementById is failing for many types of elements

        The problem was that ElementImpl::attach was being skipped for many objects with classes
        derived from ElementImpl. By changing them all to call up to their base classes instead of
        skipping levels, the bug went away. This was possible (and easy to do) because of the
        rendererIsNeeded() change I made a while back.

        * khtml/html/html_baseimpl.cpp:
        (HTMLFrameElementImpl::attach): Call base class's attach() instead of creating renderer explicitly
        and then calling NodeBaseImpl::attach(). This was a remnant of the old way of changing the logic
        about when to create the renderer, not needed now that we have rendererIsNeeded().
        (HTMLFrameSetElementImpl::attach): Ditto.
        (HTMLIFrameElementImpl::attach): Ditto.

        * khtml/html/html_formimpl.h: Removed many unused attach() overrides.
        * khtml/html/html_formimpl.cpp:
        (HTMLGenericFormElementImpl::attach): Ditto.
        (HTMLButtonElementImpl::attach): Removed, because now the base class's attach does the right thing.
        (HTMLFieldSetElementImpl::attach): Ditto.
        (HTMLInputElementImpl::attach): Removed explicit createRendererIfNeeded call, not needed now that
        HTMLGenericFormElementImpl calls through to its base class.
        (HTMLLegendElementImpl::attach): Removed, because now the base class's attach does the right thing.
        (HTMLSelectElementImpl::attach): Ditto.
        (HTMLTextAreaElementImpl::attach): Ditto.

        * khtml/html/html_imageimpl.cpp:
        (HTMLImageElementImpl::attach): Call base class's attach() instead of creating renderer explicitly
        and then calling NodeBaseImpl::attach().
        (HTMLImageElementImpl::detach): Call base class's detach() instead of NodeBaseImpl::detach(). No
        need to skip the ElementImpl::detach() function, and important not to for the new "id" optimization.

        * khtml/html/html_inlineimpl.h: Removed HTMLBRElementImpl::attach override.
        * khtml/html/html_inlineimpl.cpp: (HTMLBRElementImpl::attach): Call base class's attach() instead
        of creating renderer explicitly and then calling NodeBaseImpl::attach().

        * khtml/html/html_objectimpl.h: Removed HTMLAppletElementImpl::attach override.
        * khtml/html/html_objectimpl.cpp:
        (HTMLAppletElementImpl::attach): Removed, because the base class's attach does the right thing.
        (HTMLEmbedElementImpl::attach): Call base class's attach() instead of creating renderer explicitly
        and then calling NodeBaseImpl::attach().
        (HTMLObjectElementImpl::attach): Ditto.

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

19 years agoAdd layout test for letter/word spacing bug.
hyatt [Sun, 9 Nov 2003 23:43:26 +0000 (23:43 +0000)]
Add layout test for letter/word spacing bug.

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

19 years ago Fix for 3478317, letter/word-spacing don't inherit properly through italic/bold...
hyatt [Sun, 9 Nov 2003 23:41:24 +0000 (23:41 +0000)]
Fix for 3478317, letter/word-spacing don't inherit properly through italic/bold elements.

        Reviewed by darin

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

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

19 years ago Fix for 3478309, make sure backgrounds paint in the border box and not just in the...
hyatt [Sun, 9 Nov 2003 22:30:20 +0000 (22:30 +0000)]
Fix for 3478309, make sure backgrounds paint in the border box and not just in the padding box.

        Reviewed by darin

Also making sure that <frame>s aren't transparent, since other browsers seem to only make <iframe>s/<object>s
be transparent.

        * khtml/rendering/render_box.cpp:

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

19 years ago Reviewed by John.
darin [Sun, 9 Nov 2003 05:10:57 +0000 (05:10 +0000)]
    Reviewed by John.

        - fixed 3478025 -- links with non-Latin-1 characters in the hostname are not getting IDN-encoded

        * kwq/KWQKURL.mm:
        (KURL::parse): Changed existing code to take advantage of the fact that a NUL character
        is classified as a path segment end character.
        (KURL::findHostnameInHierarchicalURL): Don't treat NUL characters as terminating characters
        for hostnames, because QChar::latin1() turns all non-Latin-1 characters into NUL characters.

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

19 years ago Reviewed by John.
darin [Sat, 8 Nov 2003 23:24:54 +0000 (23:24 +0000)]
    Reviewed by John.

        - fixed 3477509 -- REGRESSION (112-113): crash in KHTMLPart::processObjectRequest at espn.com, chosun.com

        * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest): Use a dynamic_cast to check the type of the
        part rather than assuming it's always a KHTMLPart. The crash was caused by casting a KWQPluginPart to

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

19 years ago Fixed: <rdar://problem/3240778>: add "save" menu item to contextual menu for text...
cblu [Sat, 8 Nov 2003 17:40:51 +0000 (17:40 +0000)]
Fixed: <rdar://problem/3240778>: add "save" menu item to contextual menu for text pages

        Reviewed by darin.

        * WebView.subproj/WebTextView.m:
        (-[WebTextView menuForEvent:]): Made WebTextView's context menu behavior like WebHTMLView's context menu behavior with regards to selection. If the control-click was on a selection, show menu options for the selection like copy. If it was not on a selection, show menu options such as save and print. Don't select anything when control-clicking.

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

19 years ago Fixed: <rdar://problem/3478022>: assertion failure while loading WMP content
cblu [Sat, 8 Nov 2003 17:40:23 +0000 (17:40 +0000)]
Fixed: <rdar://problem/3478022>: assertion failure while loading WMP content

        Reviewed by darin.

        * ChangeLog:
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Don't continue if the stream is cancelled in startStreamWithResponse.

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

19 years ago Reviewed by Richard.
darin [Sat, 8 Nov 2003 17:39:17 +0000 (17:39 +0000)]
    Reviewed by Richard.

        - event cleanup motivated by questions on khtml-devel

        * khtml/dom/dom2_events.h: Removed eventModuleName.
        * khtml/dom/dom2_events.cpp: Removed eventModuleName.

        * khtml/xml/dom2_eventsimpl.h: Removed eventModuleName, made many trivially simple
        functions inline, made virtual functions no longer inline. Also made some functions const.
        (DOM::EventImpl::propagationStopped): Made this non-virtual; there was no reason for
        it to be virtual I could see.
        (DOM::EventImpl::defaultPrevented): Ditto.
        (DOM::EventImpl::setDefaultHandled): Ditto.
        (DOM::UIEventImpl::view): Made this inline.
        (DOM::UIEventImpl::detail): Ditto.
        (DOM::MouseEventImpl::screenX): Ditto.
        (DOM::MouseEventImpl::screenY): Ditto.
        (DOM::MouseEventImpl::clientX): Ditto.
        (DOM::MouseEventImpl::clientY): Ditto.
        (DOM::MouseEventImpl::layerX): Ditto.
        (DOM::MouseEventImpl::layerY): Ditto.
        (DOM::MouseEventImpl::ctrlKey): Ditto.
        (DOM::MouseEventImpl::shiftKey): Ditto.
        (DOM::MouseEventImpl::altKey): Ditto.
        (DOM::MouseEventImpl::metaKey): Ditto.
        (DOM::MouseEventImpl::button): Ditto.
        (DOM::MouseEventImpl::relatedTarget): Ditto.
        (DOM::MutationEventImpl::relatedNode): Ditto.
        (DOM::MutationEventImpl::prevValue): Ditto.
        (DOM::MutationEventImpl::newValue): Ditto.
        (DOM::MutationEventImpl::attrName): Ditto.
        (DOM::MutationEventImpl::attrChange): Ditto.

        * khtml/ecma/kjs_events.cpp: (KJS::getDOMEvent): Changed implementation to no longer
        require eventModuleName(), and removed some unneeded casts.

        * khtml/xml/dom2_eventsimpl.cpp: Made lots of functions inline.
        (EventImpl::isUIEvent): Since this is virtual, make it no longer inline.
        (EventImpl::isMouseEvent): Ditto.
        (EventImpl::isMutationEvent): Ditto.
        (EventImpl::isKeyboardEvent): Ditto.
        (UIEventImpl::isUIEvent): Ditto.
        (MouseEventImpl::isMouseEvent): Ditto.
        (KeyboardEventImpl::isKeyboardEvent): Ditto.
        (MutationEventImpl::isMutationEvent): Ditto.

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

19 years ago Fixed: <rdar://problem/3020196>: links with href="" don't show hand cursor when...
cblu [Sat, 8 Nov 2003 01:08:39 +0000 (01:08 +0000)]
Fixed: <rdar://problem/3020196>: links with href="" don't show hand cursor when you mouse over them

        Reviewed by darin.

        * khtml/khtmlview.cpp:
        (KHTMLView::viewportMouseMoveEvent): check if the URL on the event is non-NULL, not if it is non-empty

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

19 years agoWebKit:
rjw [Fri, 7 Nov 2003 18:57:39 +0000 (18:57 +0000)]
Fixed 3477067.  Use our case unicode conversion routines.

        Reviewed by Ken.

        * WebCoreSupport.subproj/WebTextRenderer.m:
Fixed 3477067.  Use our case unicode conversion routines.

        Reviewed by Ken.

        * kwq/KWQChar.mm:

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

19 years agoNew text-transform test case from Dave at CSS WG.
rjw [Fri, 7 Nov 2003 17:51:16 +0000 (17:51 +0000)]
New text-transform test case from Dave at CSS WG.

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

19 years agoAdding runin tests finally.
hyatt [Fri, 7 Nov 2003 07:59:30 +0000 (07:59 +0000)]
Adding runin tests finally.

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

19 years ago Fixes for 3476717, inline blocks should expand to encompass floats; 3476718, inline...
hyatt [Fri, 7 Nov 2003 07:58:36 +0000 (07:58 +0000)]
Fixes for 3476717, inline blocks should expand to encompass floats; 3476718, inline blocks should not
collapse margins with children; and 3476721, run-ins and compacts can flow into anonymous blocks, even
ones that they caused to be created by failing to run in/compact in the first place.

        Reviewed by darin (inline block fixes only).

        * khtml/rendering/render_block.cpp:

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

19 years agoAdding inline-block growth/collapsing layout tests.
hyatt [Fri, 7 Nov 2003 07:41:52 +0000 (07:41 +0000)]
Adding inline-block growth/collapsing layout tests.

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

19 years ago Fixed 3476563. Remove unnecessary call to set view position after load completes.
rjw [Fri, 7 Nov 2003 03:37:56 +0000 (03:37 +0000)]
Fixed 3476563.  Remove unnecessary call to set view position after load completes.

        Reviewed by Gramps.

        * khtml/khtml_part.cpp:

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

19 years ago Fixed 3476393. Call scrollPoint: recursively up the view hierarchy to ensure point...
rjw [Fri, 7 Nov 2003 00:40:03 +0000 (00:40 +0000)]
Fixed 3476393.  Call scrollPoint: recursively up the view hierarchy to ensure point is visible.

        Reviewed by Ken.

        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_scrollPointToVisible:fromView:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView scrollPoint:]):

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

19 years ago * khtml/rendering/render_image.h:
cblu [Thu, 6 Nov 2003 23:42:34 +0000 (23:42 +0000)]
    * khtml/rendering/render_image.h:
        (khtml::RenderImage::isDisplayingError): forgot to remove the "virtual" part of the declaration

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

19 years ago Fixed:
cblu [Thu, 6 Nov 2003 23:37:53 +0000 (23:37 +0000)]
<rdar://problem/3275118>: Dragging from missing-image link stretches missing-image icon to size of missing image
<rdar://problem/3476225>: assert dragging non-existant images

        Reviewed by rjw.

        * khtml/rendering/render_image.h:
        (khtml::RenderImage::isDisplayingError): new method, returns true for the broken image
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementAtPoint:]): only provide info if there is an image and the image is not broken

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

19 years ago Reviewed by Richard
kocienda [Thu, 6 Nov 2003 21:29:06 +0000 (21:29 +0000)]
    Reviewed by Richard

Fixes for these bugs:

<rdar://problem/3476006>: Form file input widgets do not scroll
to view when focused

<rdar://problem/3476007>: Form file input widgets should only
focus when full keyboard access is on

        * kwq/KWQFileButton.h: Added focusPolicy declaration.
        * kwq/KWQFileButton.mm:
        (KWQFileButton::focusPolicy): Added. Now works like other buttons.
Fixes 3476007.
        (KWQFileButton::focusChanged): Added. Code similar to text area
widgets. Fixes 3476006.

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

19 years ago Fixed: <rdar://problem/3308609>: 6L60 Safari URL links with line-endings converted...
cblu [Thu, 6 Nov 2003 21:03:38 +0000 (21:03 +0000)]
Fixed: <rdar://problem/3308609>: 6L60 Safari URL links with line-endings converted to hex by contextual menu

        Reviewed by rjw.

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementAtPoint:]): use parseURL to go from an attribute string to a URL string

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

19 years agothe tree is open for Safari-114!
vicki [Thu, 6 Nov 2003 20:11:08 +0000 (20:11 +0000)]
the tree is open for Safari-114!

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

19 years agoSafari-113 stamp
vicki [Thu, 6 Nov 2003 20:05:31 +0000 (20:05 +0000)]
Safari-113 stamp

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

19 years ago - fixed broken build
sullivan [Thu, 6 Nov 2003 17:33:38 +0000 (17:33 +0000)]
    - fixed broken build

        * khtml/xml/dom_docimpl.cpp:
        removed stray character

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

19 years ago Reviewed by Darin.
mjs [Thu, 6 Nov 2003 17:12:28 +0000 (17:12 +0000)]
    Reviewed by Darin.

- fixed 3475366 - 4.5% of time spent making html event listeners on slow intel page.

6% speedup on intel page, 1% speedup on cvs-base PLT.

        * khtml/ecma/kjs_events.cpp:
        (JSEventListener::JSEventListener): Don't add self to hashtable if imp is null (which
can now happen in the lazy listener case).
        (JSEventListener::~JSEventListener): Ditto on removing.
        (JSEventListener::listenerObj): Made this virtual.
        (JSLazyEventListener::JSLazyEventListener): New constructor.
(JSLazyEventListener::handleEvent): call parseCode, then
superclass if it appeared to succeed.
        (JSLazyEventListener::listenerObj): call parseCode, then superclass.
        (KJS::getNodeEventListener): Check for null listenerObjImp in case of
lazy listener that failed to parse.
        * khtml/ecma/kjs_dom.cpp:
(DOMNode::getListener): Ditto.
        * khtml/ecma/kjs_html.cpp:
        (Image::getValueProperty): Ditto.
        * khtml/ecma/kjs_events.h:
(KJS::JSEventListener::listenerObjImp): call listenerObj() virtual
method and get imp from the result.
        * khtml/ecma/kjs_proxy.cpp:
        (KJSProxyImpl::createHTMLEventHandler): Don't parse the code here, make a lazy
        * khtml/ecma/kjs_window.cpp:
        (Window::getJSLazyEventListener): make a new JSLazyEventListener - no need
to check the listeners hashtable cause a brand new lazy listener won't have
a function anyway.
        * khtml/ecma/kjs_window.h: Prototype new method.

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

19 years ago Reviewed by Darin.
mjs [Thu, 6 Nov 2003 17:06:00 +0000 (17:06 +0000)]
    Reviewed by Darin.

- fixed 3475397 - REGRESSION: relative URLs on page load test sometimes contain garbage, leading to missing images

        * kwq/KWQKURL.mm:
        (KURL::KURL): When constructing from NSURL, null-terminate the raw
bytes since KURL::parse expects a null-terminated C string. It
might be even better to pass a length to parse, but this fix is
simple and does the job.

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

19 years ago Reviewed by Maciej.
darin [Thu, 6 Nov 2003 06:26:16 +0000 (06:26 +0000)]
    Reviewed by Maciej.

        - fixed 3475109 -- support keyboard event object properties of altkey, ctrlKey, shiftKey

        We had the DOM Level 3 KeyboardEvent class already; I just had to add JavaScript bindings.

        * khtml/ecma/kjs_events.h: Added DOMKeyboardEvent class.
        * khtml/ecma/kjs_events.cpp:
        (KJS::getDOMEvent): Added code to make a DOMKeyboardEvent if the event is a DOM::KeyboardEvent.
        (DOMKeyboardEvent::~DOMKeyboardEvent): Added.
        (DOMKeyboardEvent::classInfo): Added.
        (DOMKeyboardEvent::tryGet): Added.
        (DOMKeyboardEvent::getValueProperty): Added.
        (DOMKeyboardEventProtoFunc::tryCall): Added.

        * khtml/dom/dom2_events.cpp:
        (KeyboardEvent::keyIdentifier): Added.
        (KeyboardEvent::keyLocation): Added.

        * khtml/ecma/kjs_events.lut.h: Regenerated.

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

19 years ago Reviewed by Maciej.
darin [Thu, 6 Nov 2003 05:27:58 +0000 (05:27 +0000)]
    Reviewed by Maciej.

        - fixed 3473913 -- host names in simple mailto URLs are not getting encoded/decoded correctly yet

        * Misc.subproj/WebNSURLExtras.m:
        (applyHostNameFunctionToMailToURLString): Handle case where host name is at the end of the string.
        (applyHostNameFunctionToURLString): Add the # character to the set of characters that can end
        a domain name.

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

19 years ago Fixed 3413067, 3405797, 3456877
rjw [Thu, 6 Nov 2003 02:14:27 +0000 (02:14 +0000)]
Fixed 341306734057973456877
Use ATSUI to render Arabic and Hebrew.

        Reviewed by John.

        * WebCoreSupport.subproj/WebTextRenderer.m:

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

19 years ago Reviewed by John.
mjs [Thu, 6 Nov 2003 01:48:38 +0000 (01:48 +0000)]
    Reviewed by John.

- fixed 3475092 - Notifying the bridge about duplicate images takes 13% of time on intel page

Another 15% speedup on the intel page.

This also results in a 3% speedup on cvs-base PLT! (or maybe that was my last change)

        * kwq/KWQLoader.mm:
        (KWQServeRequest): Note that we told the bridge about the load.
        (KWQCheckCacheObjectStatus): Don't tell the bridge about the load
if we have alrady; if we do tell it, then note it down.
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::didTellBridgeAboutLoad): Helper method for the above.
        (KWQKHTMLPart::haveToldBridgeAboutLoad): Ditto.
        (KWQKHTMLPart::clear): Clear our idea of what URLs we told the bridge about.
        * khtml/khtml_part.h: make clear() virtual.

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

19 years ago - fixed <rdar://problem/3469791>: Bigger/Smaller commands are
sullivan [Thu, 6 Nov 2003 01:47:58 +0000 (01:47 +0000)]
- fixed <rdar://problem/3469791>: Bigger/Smaller commands are
disabled for HTML Mail in separate window (w/WebKit-111)

        Reviewed by Darin.

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView acceptsFirstResponder]):
always be willing to become first responder, even if no page
has yet been loaded.
        (-[WebFrameView becomeFirstResponder]):
if no page has yet been loaded (so our scrollview refuses
first responder-ness), don't do any special becoming-first-
responder shenanigans.

Also removed obsolete overrides for nextKeyView, nextValidKeyView,
previousKeyView, and previousValidKeyView that are no longer
required now that we handle the key loop more like NSScrollView.

        * WebView.subproj/WebFrameViewPrivate.h:
removed now-unused ivar inNextValidKeyView

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

19 years ago * WebCore-combined.exp: Checked in generated file.
darin [Thu, 6 Nov 2003 01:43:09 +0000 (01:43 +0000)]
    * WebCore-combined.exp: Checked in generated file.

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

19 years agoWebKit:
rjw [Thu, 6 Nov 2003 00:17:20 +0000 (00:17 +0000)]
Fixed 3029966.  Animated backgrounds specified in <BODY> don't animate
Fixed 3474824.  Tiled animated GIFs don't animate.
Fixed 3029966.  Animated backgrounds specified with CSS don't animate.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer nextFrame:]):
        (-[WebImageRenderer drawImageInRect:fromRect:]):
        (-[WebImageRenderer startAnimationIfNecessary]):
        (-[WebImageRenderer tileInRect:fromPoint:]):
        * WebView.subproj/WebImageView.m:
        (-[WebImageView drawRect:]):

Fixed 3474957.  Changed name of image rendering method to better reflect it's actual function.

- (void)beginAnimationInRect:(NSRect)ir fromRect:(NSRect)fr;

renamed to

- (void)drawImageInRect:(NSRect)ir fromRect:(NSRect)fr;

        Reviewed by Chris.

        * kwq/KWQPainter.mm:
        * kwq/WebCoreImageRenderer.h:

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

19 years ago * WebCore-tests.exp: Added missing symbol so tests will link.
darin [Wed, 5 Nov 2003 22:59:40 +0000 (22:59 +0000)]
    * WebCore-tests.exp: Added missing symbol so tests will link.

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

19 years ago Reviewed by Ken.
mjs [Wed, 5 Nov 2003 22:24:25 +0000 (22:24 +0000)]
    Reviewed by Ken.

- fixed 3474756 - Creating HTML event listeners takes 5% of time on particular slow intel page

        * khtml/ecma/kjs_window.h: Make jsEventListeners a hashtable keyed
by listener object, not a list.
        * khtml/ecma/kjs_window.cpp:
        (Window::getJSEventListener): Do hashtable lookup for existing listener instead of
walking list.
        * khtml/ecma/kjs_events.cpp:
        (JSEventListener::JSEventListener): Use hashtable insert instead of list append.
        (JSEventListener::~JSEventListener): Use hashtable remove instead of list removeRef.

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

19 years ago Fixed: <rdar://problem/3201364>: Safari crashes when hosting carbon plug-in using...
cblu [Wed, 5 Nov 2003 21:59:05 +0000 (21:59 +0000)]
Fixed: <rdar://problem/3201364>: Safari crashes when hosting carbon plug-in using drag and drop

        Reviewed by rjw.

        * WebView.subproj/WebView.m:
        (-[WebView draggingUpdated:]): return NSDragOperationNone if we're over a plug-in view so the plug-in can handle the drag

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

19 years ago Reviewed by Maciej.
darin [Wed, 5 Nov 2003 20:57:38 +0000 (20:57 +0000)]
    Reviewed by Maciej.

        - fixed 3473872 -- encode domain names for IDN when creating URLs inside WebCore

        * kwq/KWQKURL.h: Added KWQIntegerPair type, a number of private functions.
        * kwq/KWQKURL.mm:
        (isSchemeFirstChar): Make inline function from macro.
        (isSchemeChar): Make inline function from macro.
        (isUserInfoChar): Make inline function from macro.
        (isHostnameChar): Make inline function from macro.
        (isIPv6Char): Make inline function from macro.
        (isPathSegmentEndChar): Make inline function from macro.
        (isBadChar): Make inline function from macro.
        (isHexDigit): Make inline function from macro.
        (KURL::KURL): Remove unneeded initializations of m_isValid, since parse sets it.
        Use CFURLGetBytes in one place a FIXME asked for it. Changed non-ASCII case to use
        a separate function instead of code in line.
        (KURL::encodeHostnames): Added. Finds host names and encodes them.
        (KURL::findHostnameInHierarchicalURL): Added. Finds host name in a hierarchical URL.
        (KURL::encodeHostname): Added. Encodes one host name.
        (KURL::findHostnamesInMailToURL): Added. Finds host names in a mailto URL.

        * kwq/KWQString.h: Added new overloads for startsWith.
        * kwq/KWQString.mm:
        (compareIgnoringCaseForASCIIOnly): Moved these functions up in the file so they can be
        used by more methods of QString.
        (QString::startsWith): Added new overloads.

        * WebCore.pbproj/project.pbxproj: Add libicucore.A.dylib library.

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

19 years ago Reviewed by Darin.
mjs [Wed, 5 Nov 2003 20:00:33 +0000 (20:00 +0000)]
    Reviewed by Darin.

- fixed 3473906 - getElementById takes about 44% of time on particular slow intel page

I fixed this by adding a per-document id --> element hash
table. This speeds up my local copy of the intel page by 60% (50
sec to 20 sec!) and does not cause any PLT slowdown.

        * khtml/xml/dom_docimpl.h: New QDict field for id to element hash table.
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::getElementById): Just look it up in the newly
added hash table.
        (DocumentImpl::addElementById): New method. Add to hash table if
no other element is set for that key (this lets the first element
of several with matching ids win).
        (DocumentImpl::removeElementById): New method. Remove from hash
table only if the key and value both match.

These Element changes to keep the id --> element hashtable working
seem needlessly tricky, due to lack of bottlenecks in attribute

        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::updateId): New method that removes element from
hash table for old it
        (ElementImpl::setAttribute): If setting id, call updateId.
        (ElementImpl::setAttributeMap): If either the old or the new map
includes id, call updateId.
        (ElementImpl::attach): If we have an id, call updateId to set it
after attaching.
        (ElementImpl::detach): Newly added. If we have an id, call
updateId to clear it before detaching.
(NamedAttrMapImpl::setNamedItem): If the name is id, call updateId on
our element.
        (NamedAttrMapImpl::removeNamedItem): If the name is id, call updateId on
our element.
        (NamedAttrMapImpl::operator=): If old or new contents include id attribute,
call updateId on our element.
* khtml/xml/dom_elementimpl.h: Prototype new methods.

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

19 years ago Fixed: <rdar://problem/3474360>: should attempt to resolve symbolic links when choos...
cblu [Wed, 5 Nov 2003 19:06:43 +0000 (19:06 +0000)]
Fixed: <rdar://problem/3474360>: should attempt to resolve symbolic links when choosing "Save Link As..."

        Reviewed by kocienda.

        * WebView.subproj/WebView.m:
        (-[WebView _fileWrapperForURL:]): follow sym links

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

19 years ago Reviewed by Darin
kocienda [Wed, 5 Nov 2003 18:10:05 +0000 (18:10 +0000)]
    Reviewed by Darin

Fix for this bug:

<rdar://problem/3455910>: hitting up or down arrows when focus
is on a pop-up menu should pop the menu

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView keyDown:]): Call super with the event if focus
is on a pop up button.

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

19 years agoWebCore:
kocienda [Wed, 5 Nov 2003 16:49:32 +0000 (16:49 +0000)]

        Reviewed by Maciej

Fix for these bugs:

<rdar://problem/3467558>: Cannot tab to form file input widgets
<rdar://problem/3473631>: WebFileButton sends notifications to communicate with WebCore

Tabbing now works for these widgets. While I was in the neighborhood,
I improved the communication mechanism between the WebKit and WebCore
sides of the file button implementation, replacing notifications
with a callback object.

        * WebCore-combined.exp: Remove no-longer used WebCoreFileButtonClicked
     and WebCoreFileButtonFilenameChanged notofication strings.
        * WebCore.exp: Ditto.
        * kwq/KWQFileButton.h: Changed declarations to match changes in
        callback functions.
        * kwq/KWQFileButton.mm:
        (KWQFileButton::KWQFileButton): Now sets the view after creating
        the delegate object.
        (KWQFileButton::filenameChanged): Now takes a QString argument
        which indicates the filename.
        (KWQFileButton::focusChanged): New function. Sends DOM focus and
        blur events.
        (-[KWQFileButtonAdapter initWithKWQFileButton:]): No longer needs
        to register for notifications.
        (-[KWQFileButtonAdapter dealloc]): No longer needs to remove itself
        from the notification center.
        (-[KWQFileButtonAdapter filenameChanged:]): No longer a notification
        callback. Now a WebCoreFileButtonCallback callback.
        (-[KWQFileButtonAdapter focusChanged:]): New WebCoreFileButtonCallback
        (-[KWQFileButtonAdapter clicked]): No longer a notification
        callback. Now a WebCoreFileButtonCallback callback.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::nextKeyViewInFrame): Unrelated cleanup.
        * kwq/WebCoreBridge.h: Declared new WebCoreFileButtonDelegate protocol.


        Reviewed by Maciej

        Fix for these bugs:

        <rdar://problem/3467558>: Cannot tab to form file input widgets
        <rdar://problem/3473631>: WebFileButton sends notifications to communicate with WebCore

        Tabbing now works for these widgets. While I was in the neighborhood,
        I improved the communication mechanism between the WebKit and WebCore
        sides of the file button implementation, replacing notifications
        with a callback object.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge fileButtonWithDelegate:]): Method now takes a
delegate object.
        * WebCoreSupport.subproj/WebFileButton.h:
        * WebCoreSupport.subproj/WebFileButton.m:
        (-[WebFileButton initWithBridge:delegate:]):
        (-[WebFileButton initWithFrame:]):
        (-[WebFileButton dealloc]):
        (-[WebFileButton chooseFilename:]): Sends callback rather than posting
a notification.
        (-[WebFileButton chooseButtonPressed:]): Ditto.
        (-[WebFileButton mouseDown:]):
        (-[WebFileButton acceptsFirstResponder]):
        (-[WebFileButton becomeFirstResponder]): Make the button subview
        first responder.
        (-[WebFileButton nextKeyView]): Hook up to WebBridge key view machinery.
        (-[WebFileButton previousKeyView]): Ditto.
        (-[WebFileButton nextValidKeyView]): Ditto.
        (-[WebFileButton previousValidKeyView]): Ditto.
        (-[WebFileChooserButton initWithDelegate:]):
        (-[WebFileChooserButton nextValidKeyView]): Ditto.
        (-[WebFileChooserButton previousValidKeyView]): Ditto.
        (-[WebFileChooserButton resignFirstResponder]): Sends a focus change

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

19 years ago - fixed deployment build
mjs [Wed, 5 Nov 2003 08:58:50 +0000 (08:58 +0000)]
- fixed deployment build

        * kwq/KWQKHTMLPart.mm:

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

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

        - first step for IDNA support; helper functions for Safari

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

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

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

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

        - a little optimization I noticed when looking at 3125137

        Reviewed by Chris.

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


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

        Reviewed by Chris.

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

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

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

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

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

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

        Reviewed by john

        * kwq/KWQKHTMLPart.mm:

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

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

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

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

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

        Reviewed by john.

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


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

        Reviewed by john.

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


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

        Reviewed by john.

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

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

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

        Reviewed by Ken.

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

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

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

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

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

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

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

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

        Reviewed by hyatt.

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

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

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

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

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

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

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

        Reviewed by kocienda.

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

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


        Reviewed by kocienda.

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

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


        Reviewed by kocienda.

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

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


        Reviewed by kocienda.

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

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

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

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

Fix for this bug:

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

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

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

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

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

        Reviewed by kocienda.

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

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


        Reviewed by kocienda.

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

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


        Reviewed by kocienda.

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

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


        Reviewed by kocienda.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        Reviewed by mjs

        * khtml/rendering/render_replaced.cpp:

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

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

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

Fix for 3472090, link should not be mouse focusable.

        Reviewed by mjs

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

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

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

        Reviewed by mjs

        * khtml/css/cssparser.cpp:

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

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

- fixed 3472023 - REGRESSION: assertion on layout tests

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

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

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

Fix for this bug:

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

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

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

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

        Reviewed by John

        Fix for this bug:

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

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


        Reviewed by John

        Fix for this bug:

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

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

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

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

        * khtml/html/html_formimpl.cpp:

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

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

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

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

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

        Reviewed by kocienda

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        Reviewed by darin

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

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

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

- remove use of obsolete HTTLCookiePolicyBaseURL SPI

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reviewed by kocienda

        * khtml/rendering/render_replaced.cpp:

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

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

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

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

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

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

Fix for this bug:

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

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

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

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

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

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

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

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

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

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

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

        Reviewed by kocienda

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

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

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

Fix for this bug:

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

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

        * khtml/rendering/render_inline.cpp:

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

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

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

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

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

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

        Reviewed by john

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

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

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

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

Outlines now draw like they used to.

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

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

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

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

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

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

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

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

        Reviewed by Darin

Fix for this bug:

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

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


        Reviewed by Darin

        Fix for this bug:

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

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

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

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

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

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

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

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

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

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

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

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

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

        Reviewed by darin

        * khtml/rendering/render_replaced.cpp:

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

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

        Reviewed by darin

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

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

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

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

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

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