17 years ago Reviewed by Maciej.
darin [Fri, 22 Apr 2005 21:53:58 +0000 (21:53 +0000)]
    Reviewed by Maciej.

        * kjs/ustring.cpp: (KJS::UString::UTF8String): Fix off-by-one error in surrogate pair logic.

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

17 years ago * khtml/ecma/kjs_html.h: Removed unnecessary bogus class name qualifiers.
darin [Fri, 22 Apr 2005 21:19:58 +0000 (21:19 +0000)]
    * khtml/ecma/kjs_html.h: Removed unnecessary bogus class name qualifiers.

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

17 years ago Fix for 4096681, fix regression in how the list-style property is parsed. It no...
hyatt [Fri, 22 Apr 2005 18:12:16 +0000 (18:12 +0000)]
Fix for 4096681, fix regression in how the list-style property is parsed.  It no longer parses when it hits
a url in the property value list now, because the list pointer did not get advanced.  This fixes alistapart.com.

        Reviewed by john

        * khtml/css/cssparser.cpp:
        * layout-tests/fast/lists/009-expected.txt: Added.
        * layout-tests/fast/lists/009.html: Added.
        * layout-tests/fast/lists/resources/listmark.gif: Added.

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

17 years ago Reviewed by John.
darin [Fri, 22 Apr 2005 16:48:44 +0000 (16:48 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/4090046> JavaScript throw statement causes parse error when no semicolon is present

        * kjs/grammar.y: Added an additional rule for throw like the ones we have for all the other semicolon rules.
        Not sure why we missed this one earlier.

        * kjs/grammar.cpp: Regenerated.

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

17 years ago Reviewed by John.
darin [Fri, 22 Apr 2005 16:30:28 +0000 (16:30 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/4091082> Google Suggest no longer works due to lack of "frameElement"

        * khtml/ecma/kjs_window.h: Added FrameElement.
        * khtml/ecma/kjs_window.cpp: (Window::get): Added "frameElement".
        * khtml/ecma/kjs_window.lut.h: Regenerated.

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

17 years ago Reviewed by John.
darin [Fri, 22 Apr 2005 16:29:51 +0000 (16:29 +0000)]
    Reviewed by John.

        - a small editing-related code cleanup

        * khtml/rendering/render_text.h: Added positionForOffset and made offsetForPosition const.
        * khtml/rendering/render_text.cpp:
        (InlineTextBox::offsetForPosition): Made const.
        (InlineTextBox::positionForOffset): Added. Moved code here from caretRect.
        (RenderText::caretRect): Call positionForOffset instead of doing the work here.

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

17 years ago Fix for 4095839, wrong background image used on flechtwerk.de. Make sure that the...
hyatt [Thu, 21 Apr 2005 20:55:15 +0000 (20:55 +0000)]
Fix for 4095839, wrong background image used on flechtwerk.de.  Make sure that the global mapped
attribute cache hashed background attributes into per-document buckets.

        * khtml/html/html_baseimpl.cpp:
        * khtml/html/html_elementimpl.h:
        * khtml/html/html_tableimpl.cpp:
        * khtml/xml/dom_docimpl.cpp:
        * khtml/xml/dom_docimpl.h:

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

17 years ago - layout test for 4065447, outerHTML on images
vicki [Thu, 21 Apr 2005 16:07:43 +0000 (16:07 +0000)]
- layout test for 4065447, outerHTML on images

        * layout-tests/fast/dynamic/outerHTML-img-expected.txt: Added.
        * layout-tests/fast/dynamic/outerHTML-img.html: Added.

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

17 years ago Reviewed by hyatt.
vicki [Thu, 21 Apr 2005 16:02:24 +0000 (16:02 +0000)]
    Reviewed by hyatt.

- fixed <rdar://problem/4065447> support outerHTML on IMG elements

        * khtml/html/html_elementimpl.cpp:

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

17 years ago Reviewed by Maciej.
darin [Wed, 20 Apr 2005 10:14:35 +0000 (10:14 +0000)]
    Reviewed by Maciej.

        - speedups, total 12% on JavaScript iBench

        I ran the benchmark under Shark and followed its advice a lot, mainly.

        * kjs/collector.cpp:
        (KJS::Collector::allocate): Take out special case for 0; costing speed but unexercised.
        Use numLiveObjectsAtLastCollect instead of numAllocationsSinceLastCollect so we don't
        have to bump it each time we call allocate. Put numLiveObjects into a local variable to
        cut down on global variable accesses. Make "next" cell pointer be a byte offset rather
        than a pointer so we don't need a special case for NULL. Allow freeList to point to some
        bogus item when the entire block is full rather than going out of our way to make it
        point to NULL.
        (KJS::Collector::markProtectedObjects): Get table size and pointer into locals outside
        the loop to avoid re-loading them over and over again.
        (KJS::Collector::collect): Put numLiveObjects into a local variable to cut down on global
        variable accesses. Make "next" cell pointer be a byte offset as above. Put numLiveObjects
        into a local variable to cut down on global variable accesses. Set numLiveObjectsAtLastCollect
        rather than numAllocationsSinceLastCollect.
        (KJS::Collector::numReferencedObjects): Get table size and pointer into locals outside
        the loop to avoid re-loading them over and over again.
        (KJS::Collector::rootObjectClasses): Ditto.

        * kjs/internal.h: Make Value be a friend of NumberImp so it can construct number objects
        directly, avoiding the conversion from Number to Value.

        * kjs/internal.cpp: (StringImp::toObject): Don't use Object::dynamicCast, because we know
        the thing is an object and we don't want to do all the extra work; just cast directly.

        * kjs/list.cpp: (KJS::List::List): Construct valueRefCount in a way that avoids the need for
        a branch -- in the hot case this just meant avoiding checking a variable we just set to false.

        * kjs/lookup.cpp: (keysMatch): Marked this inline.

        * kjs/nodes.cpp: Disabled KJS_BREAKPOINT, to avoid calling hitStatement all the time.
        (BooleanNode::evaluate): Make a Value directly, rather than making a Boolean which is converted
        into a Value.
        (NumberNode::evaluate): Ditto.
        (StringNode::evaluate): Ditto.
        (ArrayNode::evaluate): Ditto.
        (FunctionCallNode::evaluate): Use new inline baseIfMutable to avoid unnecessary getBase function.
        Also just use a pointer for func, rather than an Object.
        (PostfixNode::evaluate): Change code so that it doesn't make an excess Number, and so that it
        passes a "known to be integer" boolean in, often avoiding a conversion from floating point to
        integer and back.
        (DeleteNode::evaluate): Make a Value directly.
        (TypeOfNode::evaluate): Use new inline baseIfMutable and make Value directly.
        (PrefixNode::evaluate): Change code so that it doesn't make an excess Number, and so that it
        passes a "known to be integer" boolean in, often avoiding a conversion from floating point to
        integer and back.
        (UnaryPlusNode::evaluate): Make a Value directly.
        (NegateNode::evaluate): Change code so that it doesn't make an excess Number, and so that it
        passes a "known to be integer" boolean in, often avoiding a conversion from floating point to
        integer and back.
        (BitwiseNotNode::evaluate): Make a Value directly.
        (LogicalNotNode::evaluate): Ditto.
        (ShiftNode::evaluate): Don't convert to a double before making a Value.
        (RelationalNode::evaluate): Make a Value directly.
        (EqualNode::evaluate): Ditto.
        (BitOperNode::evaluate): Ditto.
        (AssignNode::evaluate): Make a Value directly. Change code so that it passes a "known to be integer"
        boolean in, often avoiding a conversion from floating point to integer and back.
        (VarDeclNode::evaluate): Make a Value directly.
        (ForNode::execute): Remove unused local variable.

        * kjs/operations.h:
        (KJS::isNaN): Inlined.
        (KJS::isInf): Ditto.
        (KJS::isPosInf): Ditto.
        (KJS::isNegInf): Ditto.

        * kjs/operations.cpp: Change isNaN, isInf, isPosInf, and isNegInf to be inlines.
        (KJS::equal): Rewrite to avoid creating values and recursing back into the function.
        (KJS::relation): Rearranged code so that we don't need explicit isNaN checks.
        (KJS::add): Changed code to make Value directly, and so that it passes a "known to be integer"
        boolean in, often avoiding a conversion from floating point to integer and back.
        (KJS::mult): Ditto.

        * kjs/property_map.cpp:
        (KJS::PropertyMap::~PropertyMap): Get size and entries pointer outside loop to avoid
        re-getting them inside the loop.
        (KJS::PropertyMap::clear): Ditto. Clear value pointer in addition to key, so we can just
        look at the value pointer in the mark function.
        (KJS::PropertyMap::get): Get sizeMask and entries pointer outside loop to avoid
        re-getting them inside the loop.
        (KJS::PropertyMap::put): Ditto.
        (KJS::PropertyMap::insert): Ditto.
        (KJS::PropertyMap::remove): Ditto.
        (KJS::PropertyMap::mark): Get size and entries pointer outside loop to avoid
        re-getting them inside the loop. Don't bother checking key for 0, since we already have
        to check value for 0. (Also had to change clear() to set value to 0.)
        (KJS::PropertyMap::addEnumerablesToReferenceList): Get size and entries pointer outside
        loop to avoid re-getting them inside the loop.
        (KJS::PropertyMap::addSparseArrayPropertiesToReferenceList): Ditto.
        (KJS::PropertyMap::save): Ditto.

        - other changes

        * kjs/protected_values.h: Remove unneeded class name qualifiers.

        * kjs/reference.h:
        (KJS::Reference::baseIfMutable): New inline function: replaces isMutable().
        (KJS::Reference::Reference): Inlined.
        * kjs/reference.cpp:
        (KJS::Reference::getValue): Rewrite to not use getBase.
        (KJS::Reference::putValue): Ditto.
        (KJS::Reference::deleteValue): Dittol

        * kjs/simple_number.h:
        (KJS::SimpleNumber::integerFits): Added. For use when the parameter is known to be integral.

        * kjs/string_object.cpp: (StringProtoFuncImp::call): Create the number without first converting
        to double in various cases that involve integers.

        * kjs/ustring.h:
        (KJS::UString::attach): Inlined.
        (KJS::UString::release): Inlined.
        * kjs/ustring.cpp:
        (KJS::UString::find): Get first character outside the loop instead of re-fetching it each time.

        * kjs/value.cpp:
        (Value::Value): Added overloads for all the various specific types of values, so you don't have
        to convert from, say, Number to Value, just to create one.
        (Number::Number): Added an overload that takes a boolean to indicate the number is already
        known to be an integer.

        * kjs/value.h: Added more Value constructors, added a version of toNumber that returns
        a boolean to indicate if the number is known to be an integer (because it was a "simple number").
        (KJS::ValueImp::marked): Inlined.
        (KJS::ValueImp::dispatchType): Inlined.
        (KJS::ValueImp::dispatchToPrimitive): Inlined.
        (KJS::ValueImp::dispatchToBoolean): Inlined.
        (KJS::ValueImp::dispatchToNumber): Inlined.
        (KJS::ValueImp::dispatchToString): Inlined.
        (KJS::ValueImp::dispatchToUInt32): Inlined.

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

17 years ago Reviewed by Hyatt.
darin [Tue, 19 Apr 2005 01:17:53 +0000 (01:17 +0000)]
    Reviewed by Hyatt.

        - fixed <rdar://problem/4092614> REGRESSION (Tiger): progressively loaded background images "scroll around" instead of just appearing

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _imageSourceOptions]): Moved a global inside this function, since it's only used here.
        (-[WebImageData _cacheImages:allImages:]): Fixed a sizeof that was getting the size of the wrong thing.
        (-[WebImageData _isSizeAvailable]): Used calloc in a more consistent way.
        (drawPattern): Removed an unneeded cast.
        (-[WebImageData tileInRect:fromPoint:context:]): Here's the actual bug fix. Don't use the image size
        when deciding whether the image needs to be tiled as a pattern nor when creating the pattern: in both
        cases, use the tile size. The old way was wrong, and the new way works perfectly. Also removed uneeded
        error message when the image is not yet loaded enough to create a CGImageRef for it -- it's fine to
        draw nothing in that case.

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

17 years ago Fix min-height so that when it resolves to auto it does not use the box's intrinsic...
hyatt [Mon, 18 Apr 2005 20:57:04 +0000 (20:57 +0000)]
Fix min-height so that when it resolves to auto it does not use the box's intrinsic height.

        * khtml/rendering/render_box.cpp:

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

17 years agoFix layout test.
hyatt [Mon, 18 Apr 2005 20:56:04 +0000 (20:56 +0000)]
Fix layout test.

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

17 years ago Back out fix for 4032346, since it is causing garbled image content on many...
hyatt [Mon, 18 Apr 2005 18:12:42 +0000 (18:12 +0000)]
    Back out fix for 4032346, since it is causing garbled image content on many sites.

The bug tracking the fix is 4069093.


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

17 years ago Fix the smile in the Acid2 test. Floats should not grow to contain other floats...
hyatt [Mon, 18 Apr 2005 11:07:34 +0000 (11:07 +0000)]
Fix the smile in the Acid2 test.  Floats should not grow to contain other floats unless height is auto.  Otherwise
the float should use the specified height.

Also fix row 14 of the Acid2 test.  Although ambiguous, just modify the table cell baseline alignment code to align
to the bottom of the cell's content height if no suitable baseline could be found.

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

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

17 years ago Make sure empty tables honor CSS-specified heights when they have no rows or section...
hyatt [Fri, 15 Apr 2005 22:00:16 +0000 (22:00 +0000)]
Make sure empty tables honor CSS-specified heights when they have no rows or sections.  This is done only
in strict mode, since it is not compatible with WinIE.

        * khtml/rendering/render_table.cpp:

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

17 years agoUpdate layout tests for Tiger.
hyatt [Fri, 15 Apr 2005 21:45:54 +0000 (21:45 +0000)]
Update layout tests for Tiger.

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

17 years ago Fix for row 13 of the Acid2 test. Change HTML comment parsing in strict mode to...
hyatt [Fri, 15 Apr 2005 20:36:16 +0000 (20:36 +0000)]
Fix for row 13 of the Acid2 test.  Change HTML comment parsing in strict mode to do proper SGML parsing,
checking for pairs of -- and only being willing to close the comment if every -- is paired up.

        * khtml/html/htmltokenizer.cpp:

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

17 years ago Reviewed by Richard.
mjs [Fri, 15 Apr 2005 16:45:20 +0000 (16:45 +0000)]
    Reviewed by Richard.

- use custom single-threaded malloc for all non-GC JavaScriptCore
allocations, for a 9.1% speedup on JavaScript iBench

* khtml/ecma/kjs_binding.cpp:
        * khtml/ecma/kjs_proxy.cpp:

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

17 years ago Fix the six pixel gap between rows nine and ten of the Acid2 test. Make sure that...
hyatt [Fri, 15 Apr 2005 10:53:59 +0000 (10:53 +0000)]
Fix the six pixel gap between rows nine and ten of the Acid2 test.  Make sure that percentage heights that
resolve to auto are properly treated as though they have auto height by the self-collapsing block check (as per
section 8.3.1, paragraph 7 of the CSS2.1 spec).

        * khtml/rendering/render_block.cpp:

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

17 years agoFix a mistake in render_box.cpp.
hyatt [Fri, 15 Apr 2005 10:51:49 +0000 (10:51 +0000)]
Fix a mistake in render_box.cpp.

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

17 years agoAdd bulletproof null check to previous check-in
hyatt [Fri, 15 Apr 2005 10:05:57 +0000 (10:05 +0000)]
Add bulletproof null check to previous check-in

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

17 years ago The Acid2 test and the reference rendering both make use of overflow:hidden on the...
hyatt [Fri, 15 Apr 2005 09:52:42 +0000 (09:52 +0000)]
The Acid2 test and the reference rendering both make use of overflow:hidden on the <html> element.  Turns out
the CSS2.1 wording for this behavior has been revised (based off WinIE/Mozilla behavior).  Change our behavior
to match and make <html> overflow apply to the viewport.

        * khtml/khtmlview.cpp:
        * khtml/khtmlview.h:
        * khtml/rendering/render_box.cpp:

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

17 years ago - make fast_malloc.h a private header, not project
mjs [Fri, 15 Apr 2005 01:30:37 +0000 (01:30 +0000)]
    - make fast_malloc.h a private header, not project

        * JavaScriptCore.pbproj/project.pbxproj:

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

17 years ago Reviewed by Richard.
mjs [Fri, 15 Apr 2005 01:26:26 +0000 (01:26 +0000)]
    Reviewed by Richard.

<rdar://problem/4089734> JavaScript iBench can be sped up ~10% with custom allocator

- use custom single-threaded malloc for all non-GC JavaScriptCore
allocations, for a 9.1% speedup on JavaScript iBench

        * JavaScriptCore.pbproj/project.pbxproj:
        * kjs/collector.cpp:
        (KJS::Collector::allocate): Use dlmalloc to allocate the collector blocks.
        (KJS::Collector::collect): And dlfree to free it.
        * kjs/fast_malloc.cpp: Added, just the standard dlmalloc here.
        * kjs/fast_malloc.h: Added. Declarations for the functions. Also added a handy
macro to give a class custom operator new/delete
        * kjs/identifier.cpp:
        (KJS::Identifier::add): Use dlmalloc/dlfree.
        * kjs/nodes.h: make nodes KJS_FAST_ALLOCATED.
        * kjs/property_map.cpp:
        (KJS::PropertyMap::~PropertyMap): Use dlmalloc/dlfree.
        (KJS::PropertyMap::rehash): ditto
        * kjs/scope_chain.h:
        * kjs/ustring.cpp:
        (KJS::UString::Rep::createCopying): New named constructor that copies a passed-in
buffer, to hide allocation details from webcore.
        (KJS::UString::UString): use createCopying when appropriate.
        (KJS::UString::Rep::destroy): Use dlmalloc/dlfree.
        (KJS::UString::expandedSize): likewise
        (KJS::UString::expandCapacity): likewise
        (KJS::UString::expandPreCapacity): likewise
        (KJS::UString::spliceSubstringsWithSeparators): likewise
        (KJS::UString::append): likewise
        (KJS::UString::operator=): likewise
        (KJS::UString::detach): likewise
        * kjs/ustring.h: make UString and UString::Rep KJS_FAST_ALLOCATED.

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

17 years ago 3258403 and 3258402 can now be fixed. min/max-width/height support is now complete...
hyatt [Thu, 14 Apr 2005 18:33:54 +0000 (18:33 +0000)]
3258403 and 3258402 can now be fixed.  min/max-width/height support is now complete.  This patch makes them
work for positioned elements and enables us to pass row one of the Acid2 test.

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

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

17 years ago Reviewed by Chris.
sullivan [Thu, 14 Apr 2005 17:19:50 +0000 (17:19 +0000)]
    Reviewed by Chris.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]):
        Beefed up assertion that's been bugging me and Chris to include
        the two troublemaking values.

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

17 years ago Working on the Acid2 test, Row 1.
hyatt [Tue, 12 Apr 2005 22:49:41 +0000 (22:49 +0000)]
Working on the Acid2 test, Row 1.

Improve checkChild for the DTD so that it knows what mode a document is in.  This allows it to adhere more
strictly to the actual DTD in strict mode and almost strict mode.

Change the <table>-inside-<p> check so that <table> is disallowed inside <p> in
strict mode and almost strict mode.  This matches Firefox behavior, which allows <table>
inside <p> only in quirks mode.

        * khtml/html/dtd.cpp:
        * khtml/html/dtd.h:
        * khtml/html/htmlparser.cpp:
        * khtml/html/htmltokenizer.cpp:
        * khtml/xml/dom_elementimpl.cpp:

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

17 years ago Reviewed by Maciej.
vicki [Tue, 12 Apr 2005 22:37:18 +0000 (22:37 +0000)]
    Reviewed by Maciej.

- fixed <rdar://problem/3760895> Request for including an implementation of the elementFromPoint function

        * khtml/dom/dom_doc.cpp:
        * khtml/dom/dom_doc.h:
        * khtml/ecma/kjs_dom.cpp:
        * khtml/ecma/kjs_dom.h:
        * khtml/ecma/kjs_dom.lut.h:
        * khtml/xml/dom_docimpl.cpp:
        * khtml/xml/dom_docimpl.h:

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

17 years ago Reviewed by John.
mjs [Tue, 12 Apr 2005 22:18:35 +0000 (22:18 +0000)]
    Reviewed by John.

<rdar://problem/4086819> Avoid using protect count hash table so much for 5.6% JS iBench speedup

- Avoid using protected values hash for the two most common cases
- Bump up ListImp high water mark, new testing shows 508 ListImps are
created during JS iBench.

Net result is a 5.6% speedup on JavaScript iBench

        * kjs/collector.cpp:
        (KJS::Collector::collect): mark protected lists as appropriate.
        * kjs/context.h:
        * kjs/list.cpp:
        (KJS::ListImp::markValues): Moved implementation from List::markValues
        (KJS::List::markProtectedLists): Implemented - scan pool and overflow
        (KJS::allocateListImp): link lists outside the pool into a separate
doubly linked list to be able to mark protected lists
        (KJS::deallocateListImp): do the corresponding delinking
        (KJS::List::derefValues): do nothing in conservative GC mode
        (KJS::List::refValues): do nothing in conservative GC mode
        (KJS::List::markValues): call ListImp version
        * kjs/list.h:

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

17 years ago Beginning of work to support the Acid2 CSS test put forward by the Web Standards...
hyatt [Tue, 12 Apr 2005 22:11:45 +0000 (22:11 +0000)]
Beginning of work to support the Acid2 CSS test put forward by the Web Standards Project.  Fix
our handling of the rel attribute on <link> elements to do a proper tokenization so that stylesheets
can be recognized even when other keywords are present in the rel attribute.

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

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

17 years agoLeft out an #import in previous checkin.
sullivan [Tue, 12 Apr 2005 15:56:17 +0000 (15:56 +0000)]
Left out an #import in previous checkin.

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

17 years ago - fixed these two bugs (I also fixed these on the experimental-ui-branch)
sullivan [Tue, 12 Apr 2005 15:53:17 +0000 (15:53 +0000)]
    - fixed these two bugs (I also fixed these on the experimental-ui-branch)
        <rdar://problem/3154293> Find Next should not scroll page if the next target is already visible
        <rdar://problem/3121828> scrollToVisible on find cuts off the left part of the view due to needless horiz. scroll

        Reviewed by Chris.

        * kwq/KWQKHTMLPart.mm:
        Trey had written code to address these issues, but left it commented out due to other
        problems. The other problems no longer occur, so I uncommented Trey's code, and then
        discovered that I could make it behave more like TextEdit with many fewer lines of

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

17 years ago Reviewed by Dave Hyatt.
harrison [Sat, 9 Apr 2005 00:05:24 +0000 (00:05 +0000)]
    Reviewed by Dave Hyatt.

        <rdar://problem/4084106> Remove NSAccessibilityForegroundColorTextAttributeWrapper

        * kwq/KWQAccObject.mm:
        Use NSAccessibilityForegroundColorTextAttribute directly.

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

17 years ago Fix for 4077106, make sure that mouse wheeling in overflow sections uses 40 rather...
hyatt [Tue, 5 Apr 2005 23:41:18 +0000 (23:41 +0000)]
Fix for 4077106, make sure that mouse wheeling in overflow sections uses 40 rather than 10 as the base line

        Reviewed by darin

        * khtml/rendering/render_layer.cpp:
        * kwq/KWQScrollBar.mm:

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

17 years ago Fix for 4077106, wheel scroll amount smaller in Tiger. All along wheeling should...
hyatt [Tue, 5 Apr 2005 23:38:25 +0000 (23:38 +0000)]
Fix for 4077106, wheel scroll amount smaller in Tiger.  All along wheeling should have been 4x the default
line height of 10 (just as arrow keys did).  Scroll arrows should have done this too for scroll views (they did
already for overflow sections).  This patch puts the override into the scrollview itself, and removes the
multipliers in the private frame methods.

        Reviewed by darin

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _verticalKeyboardScrollDistance]):
        (-[WebFrameView initWithFrame:]):
        (-[WebFrameView _horizontalKeyboardScrollDistance]):

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

17 years ago Reviewed by Maciej.
vicki [Tue, 5 Apr 2005 06:01:45 +0000 (06:01 +0000)]
    Reviewed by Maciej.

- fixed <rdar://problem/3871669> no focus or blur methods on HTML button elements

        * khtml/dom/html_form.cpp:
        * khtml/dom/html_form.h:
        * khtml/ecma/kjs_html.cpp:
        * khtml/ecma/kjs_html.h:
        * khtml/ecma/kjs_html.lut.h:
        * khtml/html/html_formimpl.cpp:
        * khtml/html/html_formimpl.h:

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

17 years agoWebKit-312.1 stamp for <rdar://problem/4070729>
vicki [Fri, 1 Apr 2005 20:42:27 +0000 (20:42 +0000)]
WebKit-312.1 stamp for <rdar://problem/4070729>

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

17 years ago Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes...
cblu [Fri, 1 Apr 2005 01:07:16 +0000 (01:07 +0000)]
Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes while reloading "My eBay" page

        Reviewed by rjw.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data

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

17 years agoversioning for SUPanWheat WebCore submission, WebCore-315
vicki [Tue, 29 Mar 2005 19:47:40 +0000 (19:47 +0000)]
versioning for SUPanWheat WebCore submission, WebCore-315

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

17 years agoversioning for WebCore-415
vicki [Mon, 28 Mar 2005 23:21:25 +0000 (23:21 +0000)]
versioning for WebCore-415

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

17 years ago Reviewed by Darin.
harrison [Mon, 28 Mar 2005 21:46:39 +0000 (21:46 +0000)]
    Reviewed by Darin.

        <rdar://problem/4069161> REGRESSION (8A416-8A419): Safari crash bringing up context menu for non-HTML content in a frame

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject rendererForView:]):
        Nil-check node variable instead of rechecking document variable.

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

17 years agoversioning for WebCore-413
vicki [Mon, 28 Mar 2005 02:15:42 +0000 (02:15 +0000)]
versioning for WebCore-413

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

17 years ago Reviewed by me, fix by Kida-san.
darin [Mon, 28 Mar 2005 01:50:25 +0000 (01:50 +0000)]
    Reviewed by me, fix by Kida-san.

        - fixed <rdar://problem/4067474> 8A424: Safari immediately quit by Cmd+Ctrll+'D'

        * kwq/WebCoreBridge.mm: (-[WebCoreBridge convertToNSRange:DOM::]):
        Added nil check.

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

17 years agoversioning for tip of tree, Safari 2.0 (412+)
vicki [Fri, 25 Mar 2005 00:14:21 +0000 (00:14 +0000)]
versioning for tip of tree, Safari 2.0 (412+)

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

17 years agoversioning for SUPanWheat, Safari 1.3 (312)
vicki [Fri, 25 Mar 2005 00:05:23 +0000 (00:05 +0000)]
versioning for SUPanWheat, Safari 1.3 (312)

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

17 years agoSafari-412 stamp
vicki [Thu, 24 Mar 2005 23:59:26 +0000 (23:59 +0000)]
Safari-412 stamp

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

17 years ago Fixed <rdar://problem/4052683> After adding/removing stocks from Stocks Widget,...
rjw [Thu, 24 Mar 2005 22:58:01 +0000 (22:58 +0000)]
Fixed <rdar://problem/4052683> After adding/removing stocks from Stocks Widget, stock areas went blank

The request was being collected before firing it's load handler.
We now gc protect the request while it's loading.

        Reviewed by Maciej.

        * khtml/ecma/xmlhttprequest.cpp:

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

17 years agoversioning for TOT, Safari 2.0 (411+)
vicki [Thu, 24 Mar 2005 03:39:23 +0000 (03:39 +0000)]
versioning for TOT, Safari 2.0 (411+)

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

17 years agoversioning for SUPanWheat, Safari 1.3 (311)
vicki [Thu, 24 Mar 2005 03:31:34 +0000 (03:31 +0000)]
versioning for SUPanWheat, Safari 1.3 (311)

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

17 years agoSafari-411 stamp
vicki [Thu, 24 Mar 2005 03:24:08 +0000 (03:24 +0000)]
Safari-411 stamp

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

17 years ago Use Patti Yeh's hack to determine the appropriate rectangle
rjw [Thu, 24 Mar 2005 03:03:02 +0000 (03:03 +0000)]
Use Patti Yeh's hack to determine the appropriate rectangle
to place the "associated word" window.
If there is no marked text firstRectForCharacterRange: will
use the selected range to determine the returned rectangle,
ignoring the input range.  This is the fix from
4029491 that I previously backed out.

        Reviewed by Vicki.

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

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

17 years ago Further fix for 4053515.
rjw [Thu, 24 Mar 2005 01:47:25 +0000 (01:47 +0000)]
Further fix for 4053515.

Covered cases where text position doesn't lie inside a
text node.

        Reviewed by Richard.

        * khtml/editing/visible_text.cpp:

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

17 years ago Fixed <rdar://problem/4062490> REGRESSION (WebKit-408): no subresources reported...
rjw [Wed, 23 Mar 2005 23:55:41 +0000 (23:55 +0000)]
Fixed <rdar://problem/4062490> REGRESSION (WebKit-408): no subresources reported in Activity window after going back at hrweb.apple.com

Stop collecting subresource responses after the document
had loaded, not after it has been opened.

        Reviewed by Chris.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _setState:]):
        (-[WebFrame _opened]):

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

17 years agoWebKit:
mjs [Wed, 23 Mar 2005 22:09:34 +0000 (22:09 +0000)]

        Reviewed by Darin.

<rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy

        * Plugins.subproj/WebPluginContainerCheck.h: Added.
        * Plugins.subproj/WebPluginContainerCheck.m: Added this new helper class to encapsulate
an async plugin navigation check.
        (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:]): Convenience allocator that gives autoreleased value.
        (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): Initializer.
        (-[WebPluginContainerCheck finalize]): Just assert that we're done, it would
be bad to deallocate this object while request is still outstanding.
        (-[WebPluginContainerCheck dealloc]): Ditto.
        (-[WebPluginContainerCheck _continueWithPolicy:]): Method to continue after async
policy check.
        (-[WebPluginContainerCheck _isDisallowedFileLoad]): Do "file: URL from remote content"
        (-[WebPluginContainerCheck _actionInformationWithURL:]): Helper to make action
        (-[WebPluginContainerCheck _askPolicyDelegate]): Call policy delegate to let
the app decide if this load is allowed.
        (-[WebPluginContainerCheck start]): Start the check.
        (-[WebPluginContainerCheck cancel]): Cancel a check in progress.
        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController initWithDocumentView:]): Initialize new _checksInProgress field.
        (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Implement
this new SPI method.
        (-[WebPluginController _cancelOutstandingChecks]): New helper to make sure to cancel
all outstanding requests when destroying all plugins.
        (-[WebPluginController destroyAllPlugins]): Call above helper.
        (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Implement this new plug-in SPI method.
        (-[WebPluginController bridge]): New helper method.
        (-[WebPluginController webView]): New helper method.
        * WebView.subproj/WebPolicyDelegatePrivate.h: Add new navigation
type WebNavigationTypePlugInRequest.
        * WebKit.pbproj/project.pbxproj: Add new files.
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Don't open externally on a plug-in request.


        Reviewed by Darin.

<rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy

* BrowserWebController.m:
        (-[BrowserWebView decidePolicyForAction:request:frame:newFrameName:decisionListener:]): In
case this is a plugin load request, accept it early to avoid throwing up UI or
causing external loads.

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

17 years agoWebCore:
rjw [Wed, 23 Mar 2005 19:49:41 +0000 (19:49 +0000)]
Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews

We now use actual document NSRanges to represent both marked text
ranges and selection ranges.

        Reviewed by Ken.

        * khtml/editing/visible_text.cpp:
        * khtml/editing/visible_text.h:
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge convertToNSRange:DOM::]):
        (-[WebCoreBridge DOM::convertToDOMRange:]):
        (-[WebCoreBridge selectNSRange:]):
        (-[WebCoreBridge markedTextDOMRange]):
        (-[WebCoreBridge markedTextNSRange]):

Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews

We now use actual document NSRanges to represent both marked text
ranges and selection ranges.

        Reviewed by Ken Kocienda.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView validAttributesForMarkedText]):
        (-[WebHTMLView firstRectForCharacterRange:]):
        (-[WebHTMLView selectedRange]):
        (-[WebHTMLView markedRange]):
        (-[WebHTMLView _selectMarkedText]):
        (-[WebHTMLView setMarkedText:selectedRange:]):

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

17 years ago Reviewed by Vicki.
kdecker [Wed, 23 Mar 2005 02:42:58 +0000 (02:42 +0000)]
    Reviewed by Vicki.

Fixed <rdar://problem/4062336> REGRESSION (406-407): HTML submenus not working at hrweb.apple.com after going back

Rolled out the fix for <rdar://problem/4041374> REGRESSION (185-186): unload handlers (at least those added with addEventListener) are broken

We clearly need a better solution to 4041374. We can't indiscriminately remove event listeners in closeURL() after-all. Since event listeners are registered in a <script> tag, which is evaluated and executed at page load time, this becomes a problem since we don't reevaluate a page's <script> that is in the back/forward cache.  Thus once you leave the page, the listeners are gone for good.  This is the problem.

        * khtml/khtml_part.cpp:
        * khtml/xml/dom_docimpl.cpp:

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

17 years ago - roll the fix for <rdar://problem/4060266> back in, since its
vicki [Wed, 23 Mar 2005 02:03:04 +0000 (02:03 +0000)]
    - roll the fix for <rdar://problem/4060266> back in, since its
now approved by CCC (and move the Safari-410 release marker)

        * khtml/editing/visible_text.cpp:

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

17 years agoversioning for TOT, Safari 2.0 (410+)
vicki [Wed, 23 Mar 2005 01:50:41 +0000 (01:50 +0000)]
versioning for TOT, Safari 2.0 (410+)

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

17 years agoversioning for SUPanWheat, Safari 1.3 (310)
vicki [Wed, 23 Mar 2005 01:45:20 +0000 (01:45 +0000)]
versioning for SUPanWheat, Safari 1.3 (310)

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

17 years agoSafari-410 stamp
vicki [Wed, 23 Mar 2005 01:39:37 +0000 (01:39 +0000)]
Safari-410 stamp

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

17 years ago - roll out the fix for <rdar://problem/4060266> since it was denied by CCC
vicki [Wed, 23 Mar 2005 01:32:40 +0000 (01:32 +0000)]
- roll out the fix for <rdar://problem/4060266> since it was denied by CCC

        * khtml/editing/visible_text.cpp:

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

17 years ago Reviewed by Darin.
harrison [Tue, 22 Mar 2005 22:12:55 +0000 (22:12 +0000)]
    Reviewed by Darin.

        <rdar://problem/4060266> Double-clicking in Dictionary.app doesn't work for some words (coming just after style change)

        * khtml/editing/visible_text.cpp:
        Complete the check of whether to emit space for collapsed space.

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

17 years ago Reviewed by John.
harrison [Tue, 22 Mar 2005 17:59:24 +0000 (17:59 +0000)]
    Reviewed by John.

        <rdar://problem/4061443> REGRESSION (8A420-8A421): Pasting in the Stickies widget is broken again

        * khtml/editing/htmlediting.cpp:
        Return unchanged Position rather than a null or non-editable one.

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

17 years ago * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
darin [Tue, 22 Mar 2005 13:10:41 +0000 (13:10 +0000)]
    * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

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

17 years agoVersioning for TOT, Safari 2.0 (409+).
vicki [Mon, 21 Mar 2005 03:18:51 +0000 (03:18 +0000)]
Versioning for TOT, Safari 2.0 (409+).
The tree is open!

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

17 years agoversioning for SUPanWheat, Safari 1.3 (309)
vicki [Mon, 21 Mar 2005 03:12:47 +0000 (03:12 +0000)]
versioning for SUPanWheat, Safari 1.3 (309)

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

17 years agoSafari-409 stamp
vicki [Mon, 21 Mar 2005 03:06:00 +0000 (03:06 +0000)]
Safari-409 stamp

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

17 years ago Reviewed by me
kocienda [Mon, 21 Mar 2005 00:33:59 +0000 (00:33 +0000)]
    Reviewed by me

        I made an error in this test earlier. It was not testing what I intended. Fixed.

        * layout-tests/editing/unsupported-content/list-delete-001-expected.txt
        * layout-tests/editing/unsupported-content/list-delete-001.html

        New tests:

        * layout-tests/editing/unsupported-content/table-delete-001-expected.txt: Added.
        * layout-tests/editing/unsupported-content/table-delete-001.html: Added.
        * layout-tests/editing/unsupported-content/table-delete-002-expected.txt: Added.
        * layout-tests/editing/unsupported-content/table-delete-002.html: Added.
        * layout-tests/editing/unsupported-content/table-delete-003-expected.txt: Added.
        * layout-tests/editing/unsupported-content/table-delete-003.html: Added.
        * layout-tests/editing/unsupported-content/table-type-after-expected.txt: Added.
        * layout-tests/editing/unsupported-content/table-type-after.html: Added.
        * layout-tests/editing/unsupported-content/table-type-before-expected.txt: Added.
        * layout-tests/editing/unsupported-content/table-type-before.html: Added.

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

17 years ago Reviewed by Darin.
mjs [Mon, 21 Mar 2005 00:27:47 +0000 (00:27 +0000)]
    Reviewed by Darin.

<rdar://problem/4060020> Add stub version of security SPI for QuickTime plug-in so QuickTime team has something to compile and link against

* Plugins.subproj/WebPluginContainerPrivate.h: Added.
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]):
        (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
        * WebKit.pbproj/project.pbxproj:

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

17 years ago Reviewed by Maciej.
darin [Sun, 20 Mar 2005 23:48:17 +0000 (23:48 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3923903> REGRESSION (164-165): Repro Safari crash in khtml::RenderLayer::scrollToOffset

        * khtml/rendering/render_layer.cpp: (RenderLayer::scrollToOffset): Check canvas for nil.

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

17 years ago Reviewed by Darin.
harrison [Sun, 20 Mar 2005 21:31:25 +0000 (21:31 +0000)]
    Reviewed by Darin.

        <rdar://problem/4055127> Dictionary pop-up panel misplaced at beginning of text blocks (breaks double-clicking in Dictionary.app)

        SimplifiedBackwardsTextIterator::advance() needed to not limit to textnodes
        when checking whether moving back across block boundaries

        VisibleUnits previousBoundary() needed to INIT_DOWN when creating result VisiblePosition

        All editing tests pass.

        * khtml/editing/visible_text.cpp:
        * khtml/editing/visible_units.cpp:

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

17 years ago Reviewed by Harrison.
darin [Sun, 20 Mar 2005 21:18:26 +0000 (21:18 +0000)]
    Reviewed by Harrison.

        - fixed <rdar://problem/4059914> when you select all of a frame's content, need to select the frame in the parent document so it can be easily deleted

        * khtml/khtml_part.h: Added selectFrameElementInParentIfFullySelected.
        * khtml/khtml_part.cpp:
        (isFrame): Added.
        (KHTMLPart::setFocusNodeIfNeeded): Changed to not set focus to a frame; was not what this function was
        intended to do, and caused trouble when trying to select a frame element.
        (KHTMLPart::khtmlMouseReleaseEvent): Call selectFrameElementInParentIfFullySelected.
        (KHTMLPart::selectAll): Call selectFrameElementInParentIfFullySelected.
        (KHTMLPart::selectFrameElementInParentIfFullySelected): Added. Selects the frame element in the parent
        if a frame is entirely selected, which makes it easier to delete or replace the frame and is consistent
        with the changes Maciej made recently for other elements.

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Call selectFrameElementInParentIfFullySelected.
        (-[WebCoreBridge alterCurrentSelection:verticalDistance:]): Call selectFrameElementInParentIfFullySelected.

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

17 years ago Reviewed by me, code change by Ken.
darin [Sun, 20 Mar 2005 20:19:04 +0000 (20:19 +0000)]
    Reviewed by me, code change by Ken.

        - fixed <rdar://problem/4059852> Deleting from first element of list makes content jump to wrong place

        * khtml/editing/htmlediting.cpp:
        (khtml::isListStructureNode): Added.
        (khtml::DeleteSelectionCommand::moveNodesAfterNode): Check for list nodes as well as table nodes.

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

17 years ago Reviewed by me
kocienda [Sun, 20 Mar 2005 17:36:05 +0000 (17:36 +0000)]
    Reviewed by me

        Added tests to cover new "unsupported content" editing code.

        * layout-tests/editing/unsupported-content/list-delete-001-expected.txt: Added.
        * layout-tests/editing/unsupported-content/list-delete-001.html: Added.
        * layout-tests/editing/unsupported-content/list-delete-002-expected.txt: Added.
        * layout-tests/editing/unsupported-content/list-delete-002.html: Added.
        * layout-tests/editing/unsupported-content/list-delete-003-expected.txt: Added.
        * layout-tests/editing/unsupported-content/list-delete-003.html: Added.
        * layout-tests/editing/unsupported-content/list-type-after-expected.txt: Added.
        * layout-tests/editing/unsupported-content/list-type-after.html: Added.
        * layout-tests/editing/unsupported-content/list-type-before-expected.txt: Added.
        * layout-tests/editing/unsupported-content/list-type-before.html: Added.

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

17 years ago Reviewed by Maciej
kocienda [Sun, 20 Mar 2005 16:26:24 +0000 (16:26 +0000)]
    Reviewed by Maciej

        Fix for this bug:

        <rdar://problem/4059578> Entire list deleted, and caret disappears, when delete key hit at end of list

        The problem is that a new case in the delete code did not consider when the
        downstream end node of the selection might be an ancestor of the upstream start
        node. That is the case in this bug. The downstream end is the body element, and
        this line of code would delete all the children of the downstream end:
            removeChildrenInRangePreservingPosition(m_downstreamEnd.node(), 0,
                m_downstreamEnd.offset(), m_upstreamStart);

        The fix is to check for this "is ancestor" case, and do some tree logic to find
        the right offset of the downstream end node for the call to

        * khtml/editing/htmlediting.cpp:
        (khtml::DeleteSelectionCommand::handleGeneralDelete): Fixed as described.

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

17 years ago Reviewed by Maciej.
harrison [Sun, 20 Mar 2005 04:58:41 +0000 (04:58 +0000)]
    Reviewed by Maciej.

        <rdar://problem/4059479> Misspelling underline does underline the whole word, could go farther to the right

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer misspellingLinePatternGapWidth]):
        (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
        Consider that the last pixel in the underline dot pattern is transparent.

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

17 years ago Reviewed by Maciej
kocienda [Sun, 20 Mar 2005 02:22:59 +0000 (02:22 +0000)]
    Reviewed by Maciej

        Fix for this bug:

        <rdar://problem/4059384> Cannot place insertion point correctly in editable text that avoids floating elements

        Note: I strongly suspect this bug blocks a complete solution to this other Tiger/P2:
        <rdar://problem/4055748> AX: Dictionary pop-up panel shows at wrong place on specific parts of particular pages

        * khtml/rendering/render_text.cpp:
        (RenderText::caretRect): Change the y-coordinate used to calculate the available width for a line. Height is wrong.
        Top of the box containing the text where the click is done is correct. Also, add in the x-offset for the start
        of the text box when calculating the available width. If this text box is avoiding a float at the y-coordinate
        for the relevant box, failure to add in the amount of float-avoidance will make the text at the coordinates
        greater than end-of-line minus float-avoidance ineligible for caret placement.

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

17 years ago Reviewed by Ken.
darin [Sun, 20 Mar 2005 00:58:28 +0000 (00:58 +0000)]
    Reviewed by Ken.

        - fixed <rdar://problem/4057594> REGRESSION (125-406): Unrepro crash in HTMLTokenizer::allDataProcessed after hitting Back button

        * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::allDataProcessed):
        To get the part safely after calling end, save a guarded pointer to the view.
        The old way could end trying to call a virtual function a part that was destroyed.

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

17 years ago Reviewed by Darin.
mjs [Sat, 19 Mar 2005 22:36:50 +0000 (22:36 +0000)]
    Reviewed by Darin.

<rdar://problem/4053506> Pasting Tables and Cells in Mail does not allow editing before or after
<rdar://problem/4005954> REGRESSION (Mail): After copy/paste of content containing list element cannot go back to entering text at left side of page

        * khtml/editing/htmlediting.cpp:
        * khtml/editing/htmlediting.h:
        * khtml/editing/visible_position.cpp:
        * khtml/rendering/render_line.cpp:
        * khtml/xml/dom_nodeimpl.cpp:
        * khtml/xml/dom_nodeimpl.h:
        * khtml/xml/dom_position.cpp:
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
        * layout-tests/editing/deleting/delete-select-all-001-expected.txt:
        * layout-tests/editing/deleting/delete-select-all-003-expected.txt:
        * layout-tests/editing/inserting/insert-3786362-fix-expected.txt:

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

17 years ago Reviewed by Maciej (a while back).
darin [Sat, 19 Mar 2005 19:34:56 +0000 (19:34 +0000)]
    Reviewed by Maciej (a while back).

        - fixed <rdar://problem/4059323> local-file security check is allowing plug-in streams, but must not

        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
        Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams.
        For plug-in streams it's too risky, and leaves a serious security hole open.

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

17 years ago Reviewed by Ken and John.
darin [Sat, 19 Mar 2005 17:09:07 +0000 (17:09 +0000)]
    Reviewed by Ken and John.

        - fixed <rdar://problem/4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
        Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only
        if isTypingAction is YES.

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

17 years ago Reviewed by Darin.
sullivan [Sat, 19 Mar 2005 16:21:57 +0000 (16:21 +0000)]
    Reviewed by Darin.

        - fixed <rdar://problem/4058740> Crash (nil-deref) editing Mail reply
        message in KWQKHTMLPart::fontForSelection (MailViewer-723)

        * kwq/KWQKHTMLPart.mm:
        Add nil check to loop. It shouldn't be necessary, but this crash trace seems to be
        running into it. We're not completely certain, but the check is harmless at worst.

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

17 years ago Reviewed by me (written by Patti Yeh).
harrison [Sat, 19 Mar 2005 16:07:18 +0000 (16:07 +0000)]
    Reviewed by me (written by Patti Yeh).

        <rdar://problem/4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView firstRectForCharacterRange:]):
        Use selected range if there is no marked range.

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

17 years agoversioning for TOT, Safari 2.0 (408+)
vicki [Sat, 19 Mar 2005 02:19:51 +0000 (02:19 +0000)]
versioning for TOT, Safari 2.0 (408+)

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

17 years agoversioning for SUPanWheat, Safari 1.3 (308)
vicki [Sat, 19 Mar 2005 02:12:28 +0000 (02:12 +0000)]
versioning for SUPanWheat, Safari 1.3 (308)

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

17 years agoSafari-408 stamp
vicki [Sat, 19 Mar 2005 02:07:09 +0000 (02:07 +0000)]
Safari-408 stamp

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

17 years ago Reviewed by Darin.
harrison [Sat, 19 Mar 2005 00:56:35 +0000 (00:56 +0000)]
    Reviewed by Darin.

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

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView webCoreBridge]):
        New to conform to WebCoreBridgeHolder protocol.

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

17 years ago Reviewed by Darin.
harrison [Sat, 19 Mar 2005 00:53:57 +0000 (00:53 +0000)]
    Reviewed by Darin.

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

        Also changed WebKit.

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject rendererForView:]):
        New to cover both the WebCore and WebKit NSViews.

        (-[KWQAccObject _accessibilityParentForSubview:]):
        Use rendererForView.

        * kwq/WebCoreFrameView.h:
        Add WebCoreBridgeHolder protocol to get access to WebKit NSViews.

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

17 years ago Reviewed by Darin, Ken.
harrison [Sat, 19 Mar 2005 00:34:07 +0000 (00:34 +0000)]
    Reviewed by Darin, Ken.

        <rdar://problem/3735625> AX: add AXPress action if an element has an onclick handler

        * khtml/dom/html_form.cpp:
        * khtml/html/html_elementimpl.cpp:
        * khtml/html/html_elementimpl.h:
        * khtml/html/html_formimpl.cpp:
        * khtml/html/html_formimpl.h:
        * khtml/html/html_inlineimpl.cpp:
        * khtml/html/html_inlineimpl.h:
        * khtml/rendering/render_form.cpp:
        * khtml/rendering/render_form.h:
        * khtml/xml/dom_docimpl.cpp:
        * khtml/xml/dom_elementimpl.h:
        * kwq/DOMHTML.mm:
        (-[DOMHTMLInputElement click]):
        * kwq/KWQButton.h:
        * kwq/KWQButton.mm:
        * kwq/KWQFileButton.h:
        * kwq/KWQFileButton.mm:

        Add accessKeyAction parameter about whether to limit to HTMLElementImpl subclasses that JavaScript wants, or to apply to others as well.

        Add click() parameter about whether to send the mousedown and mouseup events in addition to the click event.

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject mouseButtonListener]):
        Locate a mousedown, mouseup, or click handler in the current element and its ancestors.

        (-[KWQAccObject actionElement]):
        (-[KWQAccObject accessibilityIsIgnored]):
        (-[KWQAccObject accessibilityPerformAction:]):
        Consider mouseButtonListener.

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

17 years ago Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced
rjw [Fri, 18 Mar 2005 22:56:39 +0000 (22:56 +0000)]
Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced

WebDataSource keeps an array of all the NSURLResponses associated
with the load for a page.  This is used to playback delegate messages
when loading from the page cache.  However, after the document
has completed it's initial load, we continue to keep track of responses.
So, this has the consequence of keeping all the responses for a page
around for the life of the page.  NSURLResponses are now very
heavy.  They indirectly reference the resource data (via the
download assessment dictionary).  This fix will keep
references to responses around for those resources loaded during initial
page load, but not after that point.

        Reviewed by Ken.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _addResponse:]):
        (-[WebDataSource _stopRecordingResponses]):
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _opened]):

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

17 years ago Reviewed by Darin.
sullivan [Fri, 18 Mar 2005 20:41:58 +0000 (20:41 +0000)]
    Reviewed by Darin.

        - fixed <rdar://problem/4002164> maps that include start and end
        location don't print right from maps.google.com

I thought I checked this in yesterday but a ChangeLog conflict aborted my checkin
without me noticing.

        * khtml/rendering/render_style.cpp:
        flag name changed from _should_correct_text_color to _force_backgrounds_to_white

        * khtml/rendering/render_style.h:
        flag name changed from _should_correct_text_color to _force_backgrounds_to_white
        ditto, and method name changed too

        * khtml/rendering/render_text.cpp:
        updated for name change; also, compare text against white instead of current bg color
        because we no longer actually modify the bg color (previously we would always set
        the bg color to white, so the result is the same)

        * khtml/xml/dom_docimpl.cpp:
        updated for name change

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge styleSheetForPrinting]):
        removed this method
        (-[WebCoreBridge reapplyStylesForDeviceType:]):
        removed the code that called styleSheetForPrinting; we no longer use a stylesheet
        for this behavior.

        * khtml/rendering/render_box.cpp:
        If forceBackgroundsToWhite flag is set, convert background images and
        background colors to white background color with no background image.

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

17 years ago Reviewed by Darin
kocienda [Fri, 18 Mar 2005 17:49:06 +0000 (17:49 +0000)]
    Reviewed by Darin

        Fix for this bug:

        <rdar://problem/4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into
        existing documents which will have a body or frameset of their own.

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

17 years ago Reviewed by John
kocienda [Fri, 18 Mar 2005 17:32:52 +0000 (17:32 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/4056718> Pasting quotes the entire message

        * khtml/editing/htmlediting.cpp:
        (khtml::ReplaceSelectionCommand::doApply): After pasting, nodes are moved to the block containing
        the end of the pasted content in certain cases. This move logic used to stop once it moved all the
        siblings of the node following the last node of the pasted-in content. This means that block elements
        could get moved, and if the pasted-in content included a mail blockquote, this could result in
        one quote level getting added. The fix is to stop the move of nodes once a <br>, block element, or
        <table> is seen. This only affected one of the many test cases we have for such scenarios, and
        the change to that result makes sense given the code change.
        * layout-tests/editing/pasteboard/paste-text-003-expected.txt: This test result changed in a way that
        adequately tests the behavior change, so I did not add a new test.

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

17 years ago Reviewed by Harrison
kocienda [Fri, 18 Mar 2005 15:56:56 +0000 (15:56 +0000)]
    Reviewed by Harrison

        Fix for this bug:

        <rdar://problem/4051809> 8A413: Cursor-up in a mail message sometimes gets stuck (with specific reproducible case)

        * khtml/rendering/render_text.cpp:
        (RenderText::positionForCoordinates): Consider two lines: line-above and line-below. If the caret position in line-below
        was at an x coordinate between half way through the x coordinate of the last character on the line-above and the
        end of that same character, this bug would happen since the positioning code would assume that it could create a
        VisiblePosition with a DOWNSTREAM affinity. Now, I check to see if the character position on the line-above is the
        last character on that line, and if it is, I use UPSTREAM as the affinity.

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

17 years agoversioning for TOT, Safari 2.0 (407+)
vicki [Thu, 17 Mar 2005 22:59:48 +0000 (22:59 +0000)]
versioning for TOT, Safari 2.0 (407+)

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

17 years agoversioning for Safari 1.3 (307) on SUPanWheat
vicki [Thu, 17 Mar 2005 22:48:27 +0000 (22:48 +0000)]
versioning for Safari 1.3 (307) on SUPanWheat

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

17 years agoSafari-407 stamp
vicki [Thu, 17 Mar 2005 22:41:31 +0000 (22:41 +0000)]
Safari-407 stamp

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

17 years ago Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively...
rjw [Thu, 17 Mar 2005 21:43:30 +0000 (21:43 +0000)]
Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (theregister.co.uk, www.titantalk.com)

Anothe side effect of lazy loading of image meta data.  We now
don't cache image size until size meta data is actually available.

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData size]):

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

17 years ago Reviewed by Darin, Ken.
harrison [Thu, 17 Mar 2005 19:09:58 +0000 (19:09 +0000)]
    Reviewed by Darin, Ken.

        * khtml/editing/htmlediting.cpp:
        Fixed typo so that it calls setEndingSelection rather than setStartingSelection.
        Commented out this unused method, tho, since this is late in Tiger.  Proved unused by successful build after temporarily removing method declaration or implemenation.

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