⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Oct 13, 2004:

6:32 PM Changeset in webkit [7834] by rjw
  • 2 edits in trunk/WebKit

Addressed concerns in <rdar://problem/3803117> RESP: High complexity in icu uidna_IDNToASCII called by [NSString(WebNSURLExtras) _web_mapHostNameWithRange:encode:makeString:]

In practice I saw NO improvement in performance. Although,
special-case tests could possibly show improvement. Anyway,
the changes don't hurt performance.

Reviewed by Maciej.

  • Misc.subproj/WebNSURLExtras.m: (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
6:26 PM Changeset in webkit [7833] by mjs
  • 13 edits in trunk

WebCore:

Reviewed by Ken.

<rdar://problem/3824626> Change to do colormatching for DeviceRGB colorspace causes ~11% Safari slowdown

  • I fixed this by turning off all colormatching for WebKit content. We might turn it back on later. For now, it's possible to turn it on temporarily by defining COLORMATCH_EVERYTHING.
  • WebCorePrefix.h:
  • khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall): (Context2D::colorRefFromValue): (Gradient::getShading):
  • khtml/rendering/render_canvasimage.cpp: (RenderCanvasImage::createDrawingContext):
  • kwq/KWQColor.mm: (QColor::getNSColor):
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (CGColorFromNSColor): (QPainter::selectedTextBackgroundColor): (QPainter::rgbColorSpace): (QPainter::grayColorSpace): (QPainter::cmykColorSpace):
  • kwq/WebCoreGraphicsBridge.h:
  • kwq/WebCoreGraphicsBridge.m: (-[WebCoreGraphicsBridge createRGBColorSpace]): (-[WebCoreGraphicsBridge createGrayColorSpace]): (-[WebCoreGraphicsBridge createCMYKColorSpace]):

WebKit:

Reviewed by Ken.

<rdar://problem/3824626> Change to do colormatching for DeviceRGB colorspace causes ~11% Safari slowdown

  • I fixed this by turning off all colormatching for WebKit content. We might turn it back on later. For now, it's possible to turn it on temporarily by defining COLORMATCH_EVERYTHING.
  • WebCoreSupport.subproj/WebGraphicsBridge.m: (-[WebGraphicsBridge setFocusRingStyle:radius:color:]): (-[WebGraphicsBridge additionalPatternPhase]): (-[WebGraphicsBridge createRGBColorSpace]): (-[WebGraphicsBridge createGrayColorSpace]): (-[WebGraphicsBridge createCMYKColorSpace]):
  • WebCoreSupport.subproj/WebImageData.m:
  • WebCoreSupport.subproj/WebImageRenderer.h:
  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer _adjustSizeToPixelDimensions]): (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): (-[WebImageRenderer _adjustColorSpace]): (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): (-[WebImageRenderer tileInRect:fromPoint:context:]): (_createImageRef): (WebCGColorSpaceCreateRGB): (WebCGColorSpaceCreateGray): (WebCGColorSpaceCreateCMYK):
  • WebKitPrefix.h:
5:10 PM Changeset in webkit [7832] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

  • khtml/css/css_valueimpl.cpp: (CSSStyleDeclarationImpl::merge): A little cleanup. Also, make sure m_lstValues is non-null before appending.
5:05 PM Changeset in webkit [7831] by kocienda
  • 4 edits in trunk

Reviewed by me

Update expected results for improved behavior as a result of fix to 3816768.

  • layout-tests/editing/deleting/delete-3775172-fix-expected.txt
  • layout-tests/editing/deleting/delete-3800834-fix-expected.txt
  • layout-tests/editing/deleting/delete-block-merge-contents-002-expected.txt
4:35 PM Changeset in webkit [7830] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Richard

  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Add support to computed style for getting -khtml-line-break and -khml-nbsp-mode.
4:21 PM Changeset in webkit [7829] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3816768> REGRESSION (Mail): Deleting last character in block incorrectly
moves caret out of block.

The issue here is that an empty block with no explicit height set by style collapses
to zero height, and does so immediately after the last bit of content is removed from
it (as a result of deleting text with the delete key for instance). Since zero-height
blocks are not eligible caret positions, the caret jumped to the closest eligible spot.

The fix is to detect when a block has not been removed itself, but has had all its
contents removed. In this case, a BR element is placed in the block, one that is
specially marked as a placeholder. Later, if the block ever receives content, this
placeholder is removed.

  • khtml/editing/htmlediting.cpp: (khtml::blockPlaceholerClassString): String which acts as a placeholder marker class. (khtml::CompositeEditCommand::insertBlockPlaceholderIfNeeded): Adds a placeholder BR if needed. (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Removes a placeholder BR if needed. (khtml::DeleteSelectionCommand::moveNodesAfterNode): Call removeBlockPlaceholderIfNeeded. Also, do some cleanup on some old, crufty code in the move logic that is just so clearly wrong (it's very clear that we needs to be able to move more than just text nodes). This may expose bugs, but these bugs needs to be filed and fixed, not ducked. Besides, undoing this silliness made the test case in the bug work. (khtml::DeleteSelectionCommand::doApply): Call insertBlockPlaceholderIfNeeded and removeBlockPlaceholderIfNeeded. (khtml::InputTextCommand::input): Call removeBlockPlaceholderIfNeeded. (khtml::ReplaceSelectionCommand::doApply): Call removeBlockPlaceholderIfNeeded.
  • khtml/editing/htmlediting.h: Declare new functions.
3:00 PM Changeset in webkit [7828] by rjw
  • 2 edits in trunk/WebKit

Don't fill background with transparency unless debug flag
is enabled.

Reviewed by Hyatt.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
2:40 PM Changeset in webkit [7827] by rjw
  • 2 edits in trunk/JavaScriptCore

Moved boolean checks prior to NSNumber checks. booleans are
NSNumbers.

Follow on to <rdar://problem/3821515> binding layer needs to convert NSNumber-bools to js type boolean not number.

Reviewed by John.

  • bindings/objc/objc_utility.mm: (KJS::Bindings::convertObjcValueToValue):
2:31 PM Changeset in webkit [7826] by rjw
  • 8 edits in trunk/WebCore

Added support for -apple-dashboard-region:none. And fixed
a few computed style problems.

Fixed <rdar://problem/3833532> -apple-dashboard-region: none; is needed
Reviewed by Hyatt.

  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
  • khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::cssText):
  • khtml/css/cssparser.cpp: (CSSParser::parseValue): (CSSParser::parseDashboardRegions):
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty):
  • khtml/rendering/render_style.cpp: (RenderStyle::noneDashboardRegions):
  • khtml/rendering/render_style.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::dashboardRegionsDictionary):
1:14 AM Changeset in webkit [7825] by hyatt
  • 2 edits in trunk/WebCore/khtml/rendering

Make the review fixes from kocienda's review.

1:04 AM Changeset in webkit [7824] by hyatt
  • 13 edits in trunk

Rework block layout to clean it up and simplify it (r=kocienda).

Also fixing the style sharing bug (r=mjs).

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::MarginInfo::MarginInfo): (khtml::RenderBlock::layoutBlock): (khtml::RenderBlock::adjustPositionedBlock): (khtml::RenderBlock::adjustFloatingBlock): (khtml::RenderBlock::handleSpecialChild): (khtml::RenderBlock::handleFloatingOrPositionedChild): (khtml::RenderBlock::handleCompactChild): (khtml::RenderBlock::insertCompactIfNeeded): (khtml::RenderBlock::handleRunInChild): (khtml::RenderBlock::collapseMargins): (khtml::RenderBlock::clearFloatsIfNeeded): (khtml::RenderBlock::estimateVerticalPosition): (khtml::RenderBlock::determineHorizontalPosition): (khtml::RenderBlock::setCollapsedBottomMargin): (khtml::RenderBlock::adjustChildIfOverhangingFloatsExist): (khtml::RenderBlock::handleBottomOfBlock): (khtml::RenderBlock::layoutBlockChildren): (khtml::RenderBlock::getAbsoluteRepaintRectIncludingFloats): (khtml::RenderBlock::addOverHangingFloats):
  • khtml/rendering/render_block.h: (khtml::RenderBlock::maxTopMargin): (khtml::RenderBlock::maxBottomMargin): (khtml::RenderBlock::CompactInfo::compact): (khtml::RenderBlock::CompactInfo::block): (khtml::RenderBlock::CompactInfo::matches): (khtml::RenderBlock::CompactInfo::clear): (khtml::RenderBlock::CompactInfo::set): (khtml::RenderBlock::CompactInfo::CompactInfo): (khtml::RenderBlock::MarginInfo::setAtTopOfBlock): (khtml::RenderBlock::MarginInfo::setAtBottomOfBlock): (khtml::RenderBlock::MarginInfo::clearMargin): (khtml::RenderBlock::MarginInfo::setSelfCollapsingBlockClearedFloat): (khtml::RenderBlock::MarginInfo::setTopQuirk): (khtml::RenderBlock::MarginInfo::setBottomQuirk): (khtml::RenderBlock::MarginInfo::setDeterminedTopQuirk): (khtml::RenderBlock::MarginInfo::setPosMargin): (khtml::RenderBlock::MarginInfo::setNegMargin): (khtml::RenderBlock::MarginInfo::setPosMarginIfLarger): (khtml::RenderBlock::MarginInfo::setNegMarginIfLarger): (khtml::RenderBlock::MarginInfo::setMargin): (khtml::RenderBlock::MarginInfo::atTopOfBlock): (khtml::RenderBlock::MarginInfo::canCollapseWithTop): (khtml::RenderBlock::MarginInfo::canCollapseWithBottom): (khtml::RenderBlock::MarginInfo::canCollapseTopWithChildren): (khtml::RenderBlock::MarginInfo::canCollapseBottomWithChildren): (khtml::RenderBlock::MarginInfo::selfCollapsingBlockClearedFloat): (khtml::RenderBlock::MarginInfo::quirkContainer): (khtml::RenderBlock::MarginInfo::determinedTopQuirk): (khtml::RenderBlock::MarginInfo::topQuirk): (khtml::RenderBlock::MarginInfo::bottomQuirk): (khtml::RenderBlock::MarginInfo::posMargin): (khtml::RenderBlock::MarginInfo::negMargin): (khtml::RenderBlock::MarginInfo::margin):
  • khtml/rendering/render_box.cpp: (RenderBox::calcAbsoluteVertical):
  • khtml/rendering/render_box.h: (khtml::RenderBox::marginTop): (khtml::RenderBox::marginBottom): (khtml::RenderBox::marginLeft): (khtml::RenderBox::marginRight):
  • khtml/rendering/render_image.cpp: (RenderImage::setImage):
  • khtml/rendering/render_object.cpp: (RenderObject::sizesToMaxWidth):
  • khtml/rendering/render_object.h: (khtml::RenderObject::collapsedMarginTop): (khtml::RenderObject::collapsedMarginBottom): (khtml::RenderObject::maxTopMargin): (khtml::RenderObject::maxBottomMargin): (khtml::RenderObject::marginTop): (khtml::RenderObject::marginBottom): (khtml::RenderObject::marginLeft): (khtml::RenderObject::marginRight):
  • khtml/rendering/render_text.h: (khtml::RenderText::marginLeft): (khtml::RenderText::marginRight):
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::recalcStyle):

Oct 12, 2004:

5:09 PM Changeset in webkit [7823] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3836158> REGRESSION (Mail): command-right-arrow moves to beginning of next line

  • khtml/editing/selection.cpp: (khtml::endOfLastRunAt): Do not let the end of the last run on a line be a BR. This will make it seem like the run ends on the next line.
4:25 PM Changeset in webkit [7822] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3836986> Delete code removes elements of table structure; can result in very broken-looking web pages

  • khtml/editing/htmlediting.cpp: (khtml::isTableStructureNode): New helper. Determines whether a node is a table cell, row, section, or column. (khtml::CompositeEditCommand::removeFullySelectedNode): New helper that recurses into elements of table structure when doing deletes, rather than deleting the structure elements themselves. (khtml::DeleteSelectionCommand::moveNodesAfterNode): Do not move content between elements of table structure. We may want to revisit this some day, but this seems like the best behavior to me now. (khtml::DeleteSelectionCommand::doApply): Call removeFullySelectedNode instead of removeNode where needed.
  • khtml/editing/htmlediting.h: Add declarations for new functions.
4:24 PM Changeset in webkit [7821] by rjw
  • 4 edits in trunk/WebKit

WebKit:

Fixed <rdar://problem/3829705> Need to remove filling w/ transparency when not drawing backgroundy.

Reviewed by Ken.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _transparentBackground]): (-[WebHTMLView _setTransparentBackground:]): (-[WebHTMLView drawRect:]):
  • WebView.subproj/WebHTMLViewInternal.h:
  • WebView.subproj/WebHTMLViewPrivate.h:

WebBrowser:

As part of fix <rdar://problem/3829705> Need to remove filling w/ transparency when not drawing backgroundy, we can no longer rely on WebHTMLView filling with transparency, so added additional flag to indicate that we should.

  • Debug/DebugUtilities.m: (-[BrowserDocument toggleTransparentWindow:]):
  • LocationChangeHandler.m: Removed #define to prevent console spew.
3:43 PM Changeset in webkit [7820] by rjw
  • 9 edits in trunk

JavaScriptCore

Fixed access to DOM object via WebScriptObject API.
The execution context for DOM objects wasn't being found.
<rdar://problem/3831372> The valueForKey method for @"offsetLeft" on a paragraph element causes a crash.

Reviewed by Chris.

  • bindings/objc/WebScriptObject.mm: (_didExecute): (-[WebScriptObject KJS::Bindings::]): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject stringRepresentation]):
  • bindings/objc/WebScriptObjectPrivate.h:

WebCore:

Fixed access to DOM object via WebScriptObject API.
The execution context for DOM objects wasn't being found.
<rdar://problem/3831372> The valueForKey method for @"offsetLeft" on a paragraph element causes a crash.
Reviewed by Chris

Fixed <rdar://problem/3831063> regions use left offset instead of top offset
Reviewed by John

  • khtml/khtml_part.h:
  • khtml/rendering/render_object.cpp: (RenderObject::addDashboardRegions):
  • kwq/DOM.mm: (-[DOMNode isContentEditable]): (-[DOMNode KJS::Bindings::]):
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::executionContextForDOM):

WebBrowser:

Added debugging code (disable) to assist in debugging DOM/WebScriptObjects.

Reviewed by Chris.

  • LocationChangeHandler.m: (-[Logger logMessage:]): (-[LocationChangeHandler webView:locationChangeDone:forDataSource:]):
3:25 PM Changeset in webkit [7819] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3834779> Mail crashes when editing HTML message - khtml::Selection::layout()

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::styleForSelectionStart): Table code seems to be more robust when the call to insert our style-checking node is done with an appendChild rather than an insertBefore. Note that this table-related problem was exposed by fixing Selection::layout(), which I did yesterday. This change simply improves things even more so that we do not crash in the scenario described in the bug.
Note: See TracTimeline for information about the timeline view.