Timeline



Apr 22, 2005:

5:42 PM Changeset in webkit [9044] by hyatt
  • 2 edits
    4 adds in trunk

Fix for 4096878, drop shadow effect not displayed correctly on tbray.org/ongoing/. Block minmaxwidth was
broken when negative margins were used and did not properly decrease the max width.

Reviewed by Maciej

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::calcBlockMinMaxWidth):
  • layout-tests/fast/block/float/034-expected.txt: Added.
  • layout-tests/fast/block/float/034.html: Added.
  • layout-tests/fast/block/float/035-expected.txt: Added.
  • layout-tests/fast/block/float/035.html: Added.
5:08 PM Changeset in webkit [9043] by hyatt
  • 3 edits in trunk/WebCore

Remove some dead code from css_valueimpl. It wasn't used at all.

  • khtml/css/css_valueimpl.cpp:
  • khtml/css/css_valueimpl.h:
2:53 PM Changeset in webkit [9042] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • kjs/ustring.cpp: (KJS::UString::UTF8String): Fix off-by-one error in surrogate pair logic.
2:19 PM Changeset in webkit [9041] by darin
  • 2 edits in trunk/WebCore
  • khtml/ecma/kjs_html.h: Removed unnecessary bogus class name qualifiers.
11:12 AM Changeset in webkit [9040] by hyatt
  • 2 edits
    3 adds in trunk

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: (CSSParser::parseValue):
  • layout-tests/fast/lists/009-expected.txt: Added.
  • layout-tests/fast/lists/009.html: Added.
  • layout-tests/fast/lists/resources/listmark.gif: Added.
9:48 AM Changeset in webkit [9039] by darin
  • 3 edits in trunk/JavaScriptCore

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.
9:30 AM Changeset in webkit [9038] by darin
  • 4 edits in trunk/WebCore

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.
9:29 AM Changeset in webkit [9037] by darin
  • 3 edits in trunk/WebCore

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.

Apr 21, 2005:

1:55 PM Changeset in webkit [9036] by hyatt
  • 6 edits in trunk/WebCore

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: (HTMLBodyElementImpl::mapToEntry):
  • khtml/html/html_elementimpl.h: (DOM::):
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::mapToEntry): (HTMLTablePartElementImpl::mapToEntry):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl):
  • khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::docID):
9:07 AM Changeset in webkit [9035] by vicki
  • 1 edit
    2 adds in trunk
  • layout test for 4065447, outerHTML on images
  • layout-tests/fast/dynamic/outerHTML-img-expected.txt: Added.
  • layout-tests/fast/dynamic/outerHTML-img.html: Added.
9:02 AM Changeset in webkit [9034] by vicki
  • 2 edits in trunk/WebCore

Reviewed by hyatt.

  • fixed <rdar://problem/4065447> support outerHTML on IMG elements
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::setOuterHTML):

Apr 20, 2005:

3:14 AM Changeset in webkit [9033] by darin
  • 20 edits in trunk/JavaScriptCore

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.

Apr 18, 2005:

6:17 PM Changeset in webkit [9032] by darin
  • 2 edits in trunk/WebKit

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.
3:36 PM Changeset in webkit [9031] by sullivan
  • 7 edits in branches/experimental-ui-branch

WebCore:

WebCore support for notifying a form delegate when a
textarea's contents have changed (as opposed to a
textfield, which was already handled).

Reviewed by Maciej.

  • kwq/WebCoreBridge.h: add textDidChange: method
  • kwq/KWQTextArea.mm: (-[KWQTextArea textDidChange:]): call through to bridge

WebKit:

WebKit support for notifying a form delegate when a
textarea's contents have changed (as opposed to a
textfield, which was already handled).

Reviewed by Maciej.

  • WebView.subproj/WebFormDelegate.h:
  • WebView.subproj/WebFormDelegate.m: (-[WebFormDelegate textDidChange:inFrame:]): new form delegate method
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge textDidChange:]): new method, calls through to form delegate

WebBrowser:

Made form-text-changed confirmation work for textareas as well as textfields.

Reviewed by Maciej.

  • BrowserWebController.m: (-[FormDelegate textDidChange:inFrame:]): implement this new FormDelegate method to set the dirty bit
  • Confirmation sheet notes.html: updated
1:57 PM Changeset in webkit [9030] by hyatt
  • 2 edits in trunk/WebCore

Fix min-height so that when it resolves to auto it does not use the box's intrinsic height.

  • khtml/rendering/render_box.cpp: (RenderBox::calcHeight): (RenderBox::calcHeightUsing):
1:56 PM Changeset in webkit [9029] by hyatt
  • 1 edit in trunk/LayoutTests/fast/table/border-collapsing/003-expected.txt

Fix layout test.

11:12 AM Changeset in webkit [9028] by hyatt
  • 2 edits in trunk/WebCore

Back out fix for 4032346, since it is causing garbled image content on many sites.

The bug tracking the fix is 4069093.

(khtml::RenderBlock::matchedEndLine):

4:07 AM Changeset in webkit [9027] by hyatt
  • 4 edits in trunk/WebCore

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::RenderBlock::layoutBlock):
  • khtml/rendering/render_block.h: (khtml::RenderBlock::firstRootBox): (khtml::RenderBlock::lastRootBox):
  • khtml/rendering/render_table.cpp: (RenderTableSection::calcRowHeight): (RenderTableCell::baselinePosition):
Note: See TracTimeline for information about the timeline view.