Timeline
Oct 22, 2005:
- 3:55 PM Changeset in webkit [10916] by
-
- 17 edits56 adds in trunk/LayoutTests
- updated pixel results for tests with results that changed recently
- editing/selection/3690703-2-expected.checksum:
- editing/selection/3690703-2-expected.png:
- editing/selection/3690703-expected.checksum:
- editing/selection/3690703-expected.png:
- editing/selection/3690719-expected.checksum:
- editing/selection/3690719-expected.png:
- fast/forms/001-expected.checksum:
- fast/forms/001-expected.png:
- fast/forms/form-element-geometry-expected.checksum:
- fast/forms/form-element-geometry-expected.png:
- fast/forms/formmove3-expected.checksum:
- fast/forms/formmove3-expected.png:
- fast/forms/input-value-expected.checksum:
- fast/forms/input-value-expected.png:
- fast/selectors/064-expected.checksum:
- fast/selectors/064-expected.png:
- added pixel results for a bunch of tests that, for whatever reason, didn't have them
- dom/xhtml/level2/html/HTMLBaseElement01-expected.checksum: Added.
- dom/xhtml/level2/html/HTMLBaseElement01-expected.png: Added.
- dom/xhtml/level2/html/HTMLBaseElement02-expected.checksum: Added.
- dom/xhtml/level2/html/HTMLBaseElement02-expected.png: Added.
- dom/xhtml/level2/html/HTMLBodyElement01-expected.checksum: Added.
- dom/xhtml/level2/html/HTMLBodyElement01-expected.png: Added.
- dom/xhtml/level2/html/HTMLBodyElement02-expected.checksum: Added.
- dom/xhtml/level2/html/HTMLBodyElement02-expected.png: Added.
- dom/xhtml/level2/html/HTMLBodyElement03-expected.checksum: Added.
- dom/xhtml/level2/html/HTMLBodyElement03-expected.png: Added.
- dom/xhtml/level2/html/HTMLBodyElement04-expected.checksum: Added.
- dom/xhtml/level2/html/HTMLBodyElement04-expected.png: Added.
- dom/xhtml/level2/html/HTMLBodyElement05-expected.checksum: Added.
- dom/xhtml/level2/html/HTMLBodyElement05-expected.png: Added.
- dom/xhtml/level2/html/HTMLBodyElement06-expected.checksum: Added.
- dom/xhtml/level2/html/HTMLBodyElement06-expected.png: Added.
- dom/xhtml/level2/html/body01-expected.checksum: Added.
- dom/xhtml/level2/html/body01-expected.png: Added.
- dom/xhtml/level2/html/frame-expected.checksum: Added.
- dom/xhtml/level2/html/frame-expected.png: Added.
- dom/xhtml/level2/html/iframe-expected.checksum: Added.
- dom/xhtml/level2/html/iframe-expected.png: Added.
- dom/xhtml/level3/core/canonicalform08-expected.checksum: Added.
- dom/xhtml/level3/core/canonicalform08-expected.png: Added.
- dom/xhtml/level3/core/canonicalform09-expected.checksum: Added.
- dom/xhtml/level3/core/canonicalform09-expected.png: Added.
- dom/xhtml/level3/core/documentgetinputencoding03-expected.checksum: Added.
- dom/xhtml/level3/core/documentgetinputencoding03-expected.png: Added.
- dom/xhtml/level3/core/documentgetxmlencoding03-expected.checksum: Added.
- dom/xhtml/level3/core/documentgetxmlencoding03-expected.png: Added.
- dom/xhtml/level3/core/entitygetinputencoding02-expected.checksum: Added.
- dom/xhtml/level3/core/entitygetinputencoding02-expected.png: Added.
- dom/xhtml/level3/core/entitygetxmlversion02-expected.checksum: Added.
- dom/xhtml/level3/core/entitygetxmlversion02-expected.png: Added.
- dom/xhtml/level3/core/nodegetbaseuri05-expected.checksum: Added.
- dom/xhtml/level3/core/nodegetbaseuri05-expected.png: Added.
- dom/xhtml/level3/core/nodegetbaseuri07-expected.checksum: Added.
- dom/xhtml/level3/core/nodegetbaseuri07-expected.png: Added.
- dom/xhtml/level3/core/nodegetbaseuri09-expected.checksum: Added.
- dom/xhtml/level3/core/nodegetbaseuri09-expected.png: Added.
- dom/xhtml/level3/core/nodegetbaseuri10-expected.checksum: Added.
- dom/xhtml/level3/core/nodegetbaseuri10-expected.png: Added.
- dom/xhtml/level3/core/nodegetbaseuri11-expected.checksum: Added.
- dom/xhtml/level3/core/nodegetbaseuri11-expected.png: Added.
- dom/xhtml/level3/core/nodegetbaseuri15-expected.checksum: Added.
- dom/xhtml/level3/core/nodegetbaseuri15-expected.png: Added.
- dom/xhtml/level3/core/nodegetbaseuri17-expected.checksum: Added.
- dom/xhtml/level3/core/nodegetbaseuri17-expected.png: Added.
- dom/xhtml/level3/core/nodegetbaseuri18-expected.checksum: Added.
- dom/xhtml/level3/core/nodegetbaseuri18-expected.png: Added.
- dom/xhtml/level3/core/nodelookupnamespaceuri01-expected.checksum: Added.
- dom/xhtml/level3/core/nodelookupnamespaceuri01-expected.png: Added.
- dom/xhtml/level3/core/nodelookupprefix19-expected.checksum: Added.
- dom/xhtml/level3/core/nodelookupprefix19-expected.png: Added.
- fast/forms/button-sizes-expected.checksum: Added.
- fast/forms/button-sizes-expected.png: Added.
- 2:32 PM Changeset in webkit [10915] by
-
- 1 edit in trunk/LayoutTests/fast/forms/001-expected.txt
check in revised results for forms minwidth test
- 12:59 PM Changeset in webkit [10914]
-
- 343 copies34 deletes in branches/Ti-2005-009-branch
This commit was manufactured by cvs2svn to create branch
'Ti-2005-009-branch'.
- 12:59 PM Changeset in webkit [10913]
-
- 343 copies34 deletes in tags/Ti-2005-009-anchor
This commit was manufactured by cvs2svn to create tag
'Ti-2005-009-anchor'.
- 12:59 PM Changeset in webkit [10912]
-
- 343 copies34 deletes in tags/Safari-2~0~2
This commit was manufactured by cvs2svn to create tag 'Safari-2~0~2'.
- 12:59 PM Changeset in webkit [10911] by
-
- 1 edit in branches/Safari-Den-branch/WebCore/ChangeLog-2005-12-19
Added the radar to my last commit in the ChangeLog
<rdar://problem/4310534> Denver Regression: Removing empty lines at end of signature crashes Mail
- 11:24 AM Changeset in webkit [10910] by
-
- 3 edits in trunk/LayoutTests/editing/selection
Land updated editing layout tests for buttons.
- 11:19 AM Changeset in webkit [10909] by
-
- 11 edits in trunk/WebCore
Reviewed by darin
- khtml/css/cssstyleselector.cpp: Add support for the GrayText CSS2 system color to represent the disabled text color for controls.
- khtml/css/html4.css: Make sure that the default cursor is set for all types of buttons and not just the HTML4 button.
Set the foreground color for buttons using the CSS2 system color.
Set the disabled text color using the CSS2 system color.
Move the default padding for buttons into the CSS file. It will
get overridden by Aqua buttons but be honored by all other types
of buttons. This allows the author to override it as well when
customizing.
- khtml/rendering/render_block.h: Make paintChildren virtual so that RenderButton can push a clip and pop a clip when painting children.
- khtml/rendering/render_box.cpp: (RenderBox::paintBoxDecorations): Let the theme now decide whether the border/background should still be painted after the theme has painted. This allows buttons to paint custom borders but still use a pretty OS X background for the button face.
- khtml/rendering/render_button.cpp: (khtml::RenderButton::paintChildren): Overridden to push/pop a clip so that the contents of a button don't ever spill out.
- khtml/rendering/render_button.h: Added paintChildren method.
- khtml/rendering/render_style.h: (khtml::BorderData::hasBorder): Fixed a regression in hasBorder. The border-image logic was inverted, resulting in hasBorder being true for every element!
- khtml/rendering/render_theme.cpp: (khtml::RenderTheme::paint): Patched to return a boolean indicating whether or not the border/background should be painted.
- khtml/rendering/render_theme.h:
- khtml/rendering/render_theme_mac.h:
- khtml/rendering/render_theme_mac.mm: (khtml::RenderThemeMac::adjustRepaintRect): Forgot to include radio and button in this method so that repaint rects would be correct.
(khtml::RenderThemeMac::paintCheckbox):
(khtml::RenderThemeMac::paintRadio):
Adjusted to return the boolean to indicate that painting of
border/background should not occur.
(khtml::RenderThemeMac::adjustButtonStyle):
Added support for border/background/colors. Also locked
white-space to nowrap for Aqua buttons to avoid line wrapping.
(khtml::RenderThemeMac::setButtonCellState):
(khtml::RenderThemeMac::paintButton):
More support for custom border/background/color.
Oct 21, 2005:
- 9:38 PM Changeset in webkit [10908] by
-
- 1 edit in trunk/WebCore/khtml/khtml_part.cpp
Put back in the hasRef() check for jumping to anchors to fix the regression (bug 5457)
- 8:07 PM Changeset in webkit [10907]
-
- 210 copies15 deletes in tags/WebCore-416~13
This commit was manufactured by cvs2svn to create tag
'WebCore-416~13'.
- 8:07 PM Changeset in webkit [10906] by
-
- 2 edits in branches/Safari-Den-branch/WebCore
Versioning just in case to WebCore-416.13
- 8:06 PM Changeset in webkit [10905] by
-
- 2 edits in branches/Safari-Den-branch/WebCore
Reviewed by Justin Garcia.
If node is an ancestor of refNode, use the highest non-common ancestor instead
(otherwise we would be trying to append refNode's ancestor after refNode)
- khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::moveNodesAfterNode):
- 6:42 PM Changeset in webkit [10904] by
-
- 2 edits in trunk/WebKit
Reviewed by darin.
WebKit side of the fix for <rdar://problem/4184719> window.print() followed by
window.close() causes world leak
No test case added because I have another reviewed patch that will include a test
for this bug as well as many others.
Under some conditions, [WebDataSource stopLoading] did not set [WebDataSource isLoading]
to false, so the didFInishLoad delegates never fired.
The reason isLoading didn't become false was that the tokenizer was still running.
The fix here is to move the call to [WebCoreBridge stopLoading] above the early return
inside [WebDataSource stopLoading] -- since the tokenizer may still be running even if the
loader is finished loading -- and then to call [WebFrame _checkLoadComplete] to
give the frame a chance to fire its delegates.
- WebView.subproj/WebDataSource.m: (-[WebDataSource _stopLoadingInternal]):
- 6:41 PM Changeset in webkit [10903] by
-
- 7 edits in trunk/WebCore
Reviewed by darin.
WebCore side of fix for <rdar://problem/4184719> window.print() followed by window.close()
causes world leak
No test case added because I have another reviewed patch that will include a test
for this bug as well as many others.
Under some conditions, [WebDataSource stopLoading] did not set [WebDataSource isLoading]
to false, so the didFInishLoad delegates never fired.
The reason isLoading didn't become false was that the tokenizer was still running.
The fix here is to add a call to Tokenizer::stopParsing inside HTMLPart::stopLoading.
Since the WebKit side of the fix eliminates an early return that used to protect
HTMLPart::stopLoading from multiple calls, I added an early return inside
HTMLPart::stopLoading.
I also merged stopped and stopLoading, and merged the way XMLTokenizer and HTMLTokenizer
track whether they're in a stopped state, because anything less would be uncivilized.
- khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::HTMLTokenizer): (khtml::HTMLTokenizer::write): (khtml::HTMLTokenizer::stopParsing): (khtml::HTMLTokenizer::processToken):
- khtml/html/htmltokenizer.h:
- khtml/khtml_part.cpp: (KHTMLPart::stopLoading): (KHTMLPart::endIfNotLoading): (KHTMLPart::stop):
- khtml/xml/xml_tokenizer.cpp: (khtml::Tokenizer::Tokenizer): (khtml::Tokenizer::finishedParsing): (khtml::XMLTokenizer::XMLTokenizer): (khtml::XMLTokenizer::endElementNs): (khtml::XMLTokenizer::characters): (khtml::XMLTokenizer::error): (khtml::XMLTokenizer::processingInstruction): (khtml::XMLTokenizer::cdataBlock): (khtml::XMLTokenizer::comment): (khtml::XMLTokenizer::stopParsing):
- khtml/xml/xml_tokenizer.h: (khtml::Tokenizer::stopParsing):
- kwq/KWQSignalStubs.mm: (Loader::requestStarted):
- 6:10 PM Changeset in webkit [10902] by
-
- 3 edits4 adds in trunk
* empty log message *
- 5:11 PM Changeset in webkit [10901] by
-
- 2 edits4 adds in trunk
* empty log message *
- 5:06 PM Changeset in webkit [10900] by
-
- 3 edits in trunk/LayoutTests
Reviewed by Eric, landed by Maciej.
- fixed xmlhttprequest test to not depend on property enumeration order
- fast/js/xmlhttprequest-get-expected.txt:
- fast/js/xmlhttprequest-get.xhtml:
- 4:35 PM Changeset in webkit [10899] by
-
- 8 edits2 deletes in trunk/LayoutTests
- temporarily reverted test changes corresponding to reverted changes
- dom/xhtml/level3/core/nodeissamenode01-expected.txt:
- dom/xhtml/level3/core/nodeissamenode02-expected.txt:
- dom/xhtml/level3/core/nodeissamenode03-expected.txt:
- dom/xhtml/level3/core/nodeissamenode04-expected.txt:
- dom/xhtml/level3/core/nodeissamenode05-expected.txt:
- dom/xhtml/level3/core/nodeissamenode06-expected.txt:
- dom/xhtml/level3/core/nodeissamenode10-expected.txt:
- fast/js/for-in-expected.txt: Removed.
- fast/js/for-in.html: Removed.
- 4:13 PM Changeset in webkit [10898] by
-
- 1 add in trunk/WebCore/manual-tests/linkjump-1.html
forgot to add this file in my previous commit
- 4:11 PM Changeset in webkit [10897] by
-
- 2 edits in trunk/WebCore
Reviewed by John.
- fixed <rdar://problem/4304213> sometimes have to click twice to jump to top, on href=""
- manual-tests/linkjump-1.html: Added.
- khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor): remove check for m_url.hasRef() - encodedHtmlRef and gotoAnchor handle empty strings for scrolling to the top of the document
- 3:55 PM Changeset in webkit [10896] by
-
- 1 edit4 adds in trunk/LayoutTests
Bug #:
Submitted by:
Reviewed by:
- 3:49 PM Changeset in webkit [10895] by
-
- 2 edits in trunk/WebCore
Bug #:
Submitted by:
Reviewed by:
- 3:45 PM Changeset in webkit [10894] by
-
- 2 edits in trunk/WebCore
No test cases added.
- khtml/rendering/render_theme_mac.mm: (khtml::RenderThemeMac::setButtonPaddingFromControlSize): fix deployment build by adding default: statement to button-size switch statement
- 3:17 PM Changeset in webkit [10893]
-
- 52 copies22 deletes in tags/WebKit-417~3
This commit was manufactured by cvs2svn to create tag 'WebKit-417~3'.
- 3:17 PM Changeset in webkit [10892] by
-
- 2 edits in branches/Safari-2-0-branch/WebKit
Versioning WebKit to 417.3
- 3:04 PM Changeset in webkit [10891] by
-
- 2 edits in trunk/WebCore
Bug #:
Submitted by:
Reviewed by:
- 2:43 PM Changeset in webkit [10890] by
-
- 2 adds in trunk/LayoutTests/fast/forms
add new test of html4 button font sizes.
- 2:41 PM Changeset in webkit [10889] by
-
- 8 edits in trunk/LayoutTests/fast
Update the fast layout tests to have the new buttons.
- 2:27 PM Changeset in webkit [10888] by
-
- 19 edits2 adds5 deletes in trunk/WebCore
Land the new "NSView-less" buttons. With this landing both
<input type=button> and <button> will now look like OS X-style
widgets. Customization of background and border is not yet
enabled, but this is still a big improvement over the old
AppKit widgets.
Reviewed by mjs
- ForwardingHeaders/qpushbutton.h: Removed.
- WebCore.xcodeproj/project.pbxproj:
- khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::adjustRenderStyle):
- khtml/css/cssstyleselector.h: (khtml::CSSStyleSelector::paintMetrics):
- khtml/css/cssvalues.in:
- khtml/css/html4.css:
- khtml/html/html_formimpl.cpp: (DOM::HTMLButtonElementImpl::createRenderer): (DOM::HTMLInputElementImpl::click): (DOM::HTMLInputElementImpl::createRenderer):
- khtml/html/html_formimpl.h: (DOM::HTMLInputElementImpl::isTextButton):
- khtml/rendering/render_button.cpp: Added. (khtml::m_inner): (khtml::RenderButton::~RenderButton): (khtml::RenderButton::addChild): (khtml::RenderButton::removeChild): (khtml::RenderButton::setStyle): (khtml::RenderButton::updateFromElement):
- khtml/rendering/render_button.h: Added. (khtml::RenderButton::removeLeftoverAnonymousBoxes): (khtml::RenderButton::renderName):
- khtml/rendering/render_form.cpp:
- khtml/rendering/render_form.h: (khtml::RenderFileButton::calcReplacedHeight): (khtml::RenderFileButton::isEditable):
- khtml/rendering/render_style.h: (khtml::):
- khtml/rendering/render_theme.cpp: (khtml::RenderTheme::adjustStyle): (khtml::RenderTheme::paint): (khtml::RenderTheme::adjustCheckboxStyle): (khtml::RenderTheme::adjustRadioStyle): (khtml::RenderTheme::adjustButtonStyle):
- khtml/rendering/render_theme.h: (khtml::RenderTheme::setButtonSize):
- khtml/rendering/render_theme_mac.h:
- khtml/rendering/render_theme_mac.mm: (khtml::RenderThemeMac::setSizeFromFont): (khtml::RenderThemeMac::setFontFromControlSize): (khtml::RenderThemeMac::addIntrinsicMargins): (khtml::RenderThemeMac::setButtonPaddingFromControlSize): (khtml::RenderThemeMac::adjustButtonStyle): (khtml::RenderThemeMac::buttonSizes): (khtml::RenderThemeMac::buttonMargins): (khtml::RenderThemeMac::setButtonSize): (khtml::RenderThemeMac::setButtonCellState): (khtml::RenderThemeMac::paintButton):
- kwq/KWQAccObject.mm: (-[KWQAccObject actionElement]): (-[KWQAccObject role]): (-[KWQAccObject title]):
- kwq/KWQButton.h: Removed.
- kwq/KWQButton.mm: Removed.
- kwq/KWQComboBox.mm:
- kwq/KWQLineEdit.h:
- kwq/KWQLineEdit.mm:
- kwq/KWQPushButton.h: Removed.
- kwq/KWQPushButton.mm: Removed.
- 2:20 PM Changeset in webkit [10887]
-
- 203 copies15 deletes in tags/WebCore-417~4
This commit was manufactured by cvs2svn to create tag
'WebCore-417~4'.
- 2:20 PM Changeset in webkit [10886]
-
- 69 copies5 deletes in tags/JavaScriptCore-417~3
This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-417~3'.
- 2:20 PM Changeset in webkit [10885] by
-
- 4 edits in branches/Safari-2-0-branch
Versioning WebCore and JavaScriptCore-417.3
- 2:04 PM Changeset in webkit [10884] by
-
- 1 edit in branches/Safari-2-0-branch/WebCore/khtml/ecma/kjs_binding.cpp
Rolling out some local test changes that CVS wasn't suppose to commit.
- 1:58 PM Changeset in webkit [10883] by
-
- 3 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-10-19 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
Fixed <rdar://problem/4243807> Denver Regression: DOM returns lower case strings for tags in empty document
- khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::HTMLDocumentImpl): initialize hMode to Html4.
- 11:43 AM Changeset in webkit [10882] by
-
- 2 edits in trunk/WebKit
Patch by TimO, Reviewed by hyatt, tested and landed by me.
Found what appears to be a misguided optimization that actually causes a measurable performance problem.
A fixed-size buffer was allocated on the stack to pass into CFURLGetBytes(), presumably to avoid malloc()
for URLs less than 2048 bytes. There was also a fallback which malloc()'ed a buffer in case the fixed-size
buffer was too small to hold the URL's bytes. This malloc()'ed buffer was then wrapped in an NSData using
+dataWithBytesNoCopy:length:, avoiding a memory copy (yay!)
The problem with this approach is two-fold:
- Regardless of how the buffer was allocated and filled, it is immediately wrapped in an NSData using +dataWithBytes:length:, which copies the input bytes. This is pretty much unavoidable; we need to get the data into a malloc()'ed buffer to return it to the caller, unless the caller provides its own storage (which would be super inconvenient).
- The size of the fixed buffer was large enough that it fit most (if not all) URLs involved in our Page Load Test. This means the unintentionally-inefficient case was by far the most *common* case!
My fix is to malloc() the buffer from the start, and then use +[NSData dataWithBytes:length:freeWhenDone:]
to wrap the buffer in an NSData. This avoids a memory copy for the normal case where a URL is less than
2048 bytes, and keeps the efficient behavior for the uncommon long URL case.
- Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_originalData]):
- 9:35 AM Changeset in webkit [10881] by
-
- 2 edits in trunk/WebKit
Reviewed and landed by Darin.
- fixed a couple regressions caused by my last check-in http://bugzilla.opendarwin.org/show_bug.cgi?id=5437 http://bugzilla.opendarwin.org/show_bug.cgi?id=5443
- WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Compute background width correctly, by subtracting position after run from position before run. (addDirectionalOverride): Make the range include only the characters between the directional override characters, not the directional override characters themselves. (initializeWidthIterator): Correctly compute "widthToStart" based on the offset to the beginning of the run, not to the end of the run!
Oct 19, 2005:
- 11:02 PM Changeset in webkit [10880] by
-
- 17 edits in trunk
WebCore:
Reviewed by Maciej.
- optimizations for a total of about 1% speed-up on PLT
- khtml/html/htmltokenizer.cpp: (khtml::fixUpChar): Changed to be more inlinable. (khtml::HTMLTokenizer::processListing): Simplified the skipLF handling. (khtml::HTMLTokenizer::parseSpecial): Changed to call the new fixUpChar. (khtml::HTMLTokenizer::parseText): Simplified the skipLF handling and changed to call the new fixUpChar. (khtml::HTMLTokenizer::parseEntity): Changed to call the new fixUpChar. (khtml::HTMLTokenizer::parseTag): Changed to call the new fixUpChar. (khtml::HTMLTokenizer::write): Changed to call the new fixUpChar.
- khtml/rendering/font.h: Removed the floatCharacterWidths function, since it's never needed. Made some more functions inline.
- khtml/rendering/font.cpp: Removed lots of stuff that was only for the !APPLE_CHANGES case.
- kwq/KWQFontMetrics.h: Removed the single-character width overloads, charWidth, and floatCharacterWidths.
- kwq/KWQFontMetrics.mm: (QFontMetrics::width): Use lroundf instead of the ROUND_TO_INT macro. (QFontMetrics::floatWidth): Removed the bogus unneeded call to the ROUND_TO_INT macro.
- khtml/rendering/render_text.cpp: (RenderText::cacheWidths): Use floatWidth instead of floatCharacterWidths.
- kwq/KWQComboBox.mm: (QComboBox::sizeHint): Update since the floatWidthForRun method no longer takes a widths parameter.
- kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Ditto.
- kwq/KWQListBox.mm: (QListBox::sizeForNumberOfLines): Ditto. (-[KWQTableView drawRow:clipRect:]): Ditto.
- kwq/KWQPainter.mm: (QPainter::drawText): Ditto. Also use lroundf instead of the ROUND_TO_INT macro.
- kwq/WebCoreTextRenderer.h: Removed the ROUND_TO_INT macro. Changed to use bool instead of bit fields. Removed the widths parameter from the floatWidthForRun method.
WebKit:
Reviewed by Maciej.
- optimizations for a total of about 1% speed-up on PLT
- WebCoreSupport.subproj/WebTextRenderer.h: Updated to use bool instead of BOOL, since BOOL is a signed char (which is not so efficient, at least on PPC).
- WebCoreSupport.subproj/WebTextRenderer.m: (isSpace): Changed BOOL to bool and UniChar to UChar32. This actually fixes a potential bug when the passed-in character is a non-BMP character (> FFFF). (isRoundingHackCharacter): Ditto. (widthForGlyph): Merged getUncachedWidth, widthFromMap, and widthForGlyph into one function. Marked it inline. Changed to include syntheticBoldOffset in the cached widths to save an add in the cached case. Instead of the special constant UNINITIALIZED_GLYPH_WIDTH, just check for a width >= 0. This allows us to use a negative number or NAN for the uninitialized width value -- I chose NAN. (overrideLayoutOperation): Use bool instead of Boolean in one place. (-[WebTextRenderer initWithFont:]): Use lroundf instead of ROUND_TO_INT. (-[WebTextRenderer floatWidthForRun:style:]): Put the code to choose the ATSU vs. CG code path back in here, because there are no callers inside the class that need to call both. (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Use bool instead of BOOL. (+[WebTextRenderer setAlwaysUseATSU:]): Ditto. (fontContainsString): Ditto. (-[WebTextRenderer computeWidthForSpace]): Ditto. Also use roundf instead of using ROUND_TO_INT. (-[WebTextRenderer setUpFont]): Use bool instead of BOOL. (drawGlyphs): Ditto. (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Restructure the code so it can use the new advanceWidthIterator function instead of the old widthForNextCharacter function. (-[WebTextRenderer CG_drawRun:style:geometry:]): Use malloc instead of calloc since we don't need initialization. Call CG_floatWidthForRun instead of floatWidthForRun -- no need to re-check whether to use the CG or ATSU code path. Removed code to handle a renderer of 0 since we no longer generate that in the renderers array in advanceWidthIterator. (CG_floatWidthForRun): Changed to call the new advanceWidthIterator instead of the old widthForNextCharacter. (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Use malloc instead of calloc and explicitly initialize the one field that needs it. Fixed a potential storage leak by adding a call to WKClearGlyphVector. Initialize the renderers to self instead of to 0. (-[WebTextRenderer extendGlyphToWidthMapToInclude:]): Initialize the widths to NAN instead of UNINITIALIZED_GLYPH_WIDTH. (addDirectionalOverride): Fixed bug where the first and last character in the buffer could be uninitialized and where characters before and after the direction override could be incorrect. (-[WebTextRenderer ATSU_drawRun:style:geometry:]): Use bool instead of BOOL. (-[WebTextRenderer ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto. (advanceWidthIteratorOneCharacter): Added new helper function for CG_pointToOffset. (-[WebTextRenderer CG_pointToOffset:style:position:reversed:includePartialGlyphs:]): Reimplemented to use advanceWidthIteratorOneCharacter instead of widthForNextCharacter. Also call CG_floatWidthForRun instead of floatWidthForRun since we don't need to reconsider whether to use CG or ATSU. (glyphForCharacter): Removed the map parameter and changed the renderer parameter to be an in-out one. Removed uneeded special case for when map is 0 and always get the renderer from the map. Also call extendCharacterToGlyphMapToInclude in here instead of making that the caller's responsibility. (initializeWidthIterator): Renamed to make the name shorter (removed "Character"). Streamlned common cases like "no padding" and removed some unneeded casts. Changed to use advanceWidthIterator to compute width fo the first part of the run. (normalizeVoicingMarks): Factored this out into a separate function, since it's not part of the common case. (advanceWidthIterator): Changed widthForNextCharacter to this, eliminating per-character function overhead for iterating past a few characters. Merged the handling of surrogate pairs and of voicing marks so that we typically only have to do one "if" to rule out both. Merged the mirroring for RTL and uppercasing for small caps into a single boolean so that we only need one "if" to rule out both. Call the new glyphForCharacter. Check for the character '\t' first since that's cheaper than looking at tabWidth. Check tabWidth for 0 first so that we don't have to convert it to floating point when not using it. Changed the special case for spaces to first check width, so that we don't bother with the rest of the code for glyphs not the same width as spaces. Fixed substitution code to call CG_floatWidthForRun -- no need to reconsider whether to use CG or ATSU. Also changed to properly get width from the result of that function. Merged the handling of letter spacing, padding, and word spacing into a single boolean so that we typically only have to do one "if" to rule out all three. Check for letterSpacing of 0 first so that we don't have to convert it to floating point when not using it. Same for padding and wordSpacing. Move the work from ceilCurrentWidth in line into this function. Assume that either we have all three pointers (widths, renderers, glyphs), or none of the three, to cut down on branches. (fillStyleWithAttributes): Use bool instead of BOOL. (shouldUseATSU): Ditto.
- Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): Update since the floatWidthForRun method no longer takes a widths parameter.
- Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.
- 10:03 PM Changeset in webkit [10879] by
-
- 2 edits in trunk/WebKit
Bug #: none
Submitted by: timo
Reviewed by: eseidel & darin
Changed some of the run measurement methods to C functions
to avoid overhead associated with objc_msgSend().
- WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer floatWidthForRun:style:widths:]): Updated to call new run measurement functions instead of calling ObjC methods. (-[WebTextRenderer CG_drawRun:style:geometry:]): ditto (floatWidthForRun): ditto (CG_floatWidthForRun): ditto (ATSU_floatWidthForRun): ditto (widthForNextCharacter): ditto
- 12:30 PM Changeset in webkit [10878]
-
- 209 copies15 deletes in tags/WebCore-416~12
This commit was manufactured by cvs2svn to create tag
'WebCore-416~12'.
- 12:30 PM Changeset in webkit [10877] by
-
- 2 edits in branches/Safari-Den-branch/WebCore
Versioning for Safari-Den-branch - WebCore-416.12
- 12:27 PM Changeset in webkit [10876] by
-
- 2 edits in branches/Safari-Den-branch/WebCore
Reviewed by Hyatt.
Fixed <rdar://problem/4243807> Denver Regression: DOM returns lower case strings for tags in empty document
- khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::HTMLDocumentImpl): initialize hMode to Html4.
- 11:38 AM Changeset in webkit [10875]
-
- 52 copies22 deletes in tags/WebKit-416~11
This commit was manufactured by cvs2svn to create tag
'WebKit-416~11'.
- 11:38 AM Changeset in webkit [10874] by
-
- 2 edits in branches/Safari-Den-branch/WebKit
Versioning to WebKit-416.11
- 11:35 AM Changeset in webkit [10873] by
-
- 2 edits in branches/Safari-2-0-branch/WebKit
Merged fix from TOT to Safari-2-0-branch
2005-10-18 Tim Omernick <tomernick@apple.com>
Reviewed by John Sullivan.
<rdar://problem/4301852> Denver Regression: Text is invisible as you type in text fields in SimpleCarbonWeb
This regression was caused by the fix to <rdar://problem/4141161> REGRESSION (Tiger): WebKit does not display in composited Carbon windows.
Before that change, the dirty rect was obtained after calling -setNeedsDisplayInRect:, which intersects the dirty rect with the view's bounds.
The change in question subtly removed the bounds-intersection step, resulting in very large NSRects being converted to QuickDraw Rects with
sometimes disastrous results.
- Carbon.subproj/HIViewAdapter.m: Added quickDrawRectForRect(), which returns a QuickDraw Rect derived from the passed CGRect. The Rect's values are clamped so that they do not overflow when cast to the short integer data type. (-[NSView setNeedsDisplay:]): NSTextView will occasionally pass a very large rect to -setNeedsDisplayInRect:. Maybe it's passing the bounds of its NSTextContainer, or something like that. Who knows? What's important here is that when we convert that NSRect to a QuickDraw Rect, the Rect's values are overflowed, which leads to unpredictable results. The solution is to use quickDrawRectForRect() to clamp the NSRect's values to the limits imposed by Rect's short int type. (-[NSView setNeedsDisplayInRect:]): ditto
- 11:34 AM Changeset in webkit [10872] by
-
- 2 edits in branches/Safari-Den-branch/WebKit
Merged fix from TOT to Safari-Den-branch
2005-10-18 Tim Omernick <tomernick@apple.com>
Reviewed by John Sullivan.
<rdar://problem/4301852> Denver Regression: Text is invisible as you type in text fields in SimpleCarbonWeb
This regression was caused by the fix to <rdar://problem/4141161> REGRESSION (Tiger): WebKit does not display in composited Carbon windows.
Before that change, the dirty rect was obtained after calling -setNeedsDisplayInRect:, which intersects the dirty rect with the view's bounds.
The change in question subtly removed the bounds-intersection step, resulting in very large NSRects being converted to QuickDraw Rects with
sometimes disastrous results.
- Carbon.subproj/HIViewAdapter.m: Added quickDrawRectForRect(), which returns a QuickDraw Rect derived from the passed CGRect. The Rect's values are clamped so that they do not overflow when cast to the short integer data type. (-[NSView setNeedsDisplay:]): NSTextView will occasionally pass a very large rect to -setNeedsDisplayInRect:. Maybe it's passing the bounds of its NSTextContainer, or something like that. Who knows? What's important here is that when we convert that NSRect to a QuickDraw Rect, the Rect's values are overflowed, which leads to unpredictable results. The solution is to use quickDrawRectForRect() to clamp the NSRect's values to the limits imposed by Rect's short int type. (-[NSView setNeedsDisplayInRect:]): ditto
- 2:15 AM Changeset in webkit [10871] by
-
- 11 edits in trunk/WebCore
Reviewed by Dave.
- instead of walking the render tree to update widget positions, instead keep a set of widgets per canvas, maintained by the constructor and destroy method for RenderWidget. About a .5% speedup.
- khtml/khtmlview.cpp: (KHTMLView::layout):
- khtml/rendering/render_canvas.cpp: (RenderCanvas::updateWidgetPositions): (RenderCanvas::addWidget): (RenderCanvas::removeWidget):
- khtml/rendering/render_canvas.h:
- khtml/rendering/render_frames.cpp: (RenderPart::updateWidgetPosition): (RenderPart::needWidgetPositionUpdating):
- khtml/rendering/render_frames.h:
- khtml/rendering/render_layer.cpp: (khtml::RenderLayer::scrollToOffset):
- khtml/rendering/render_object.cpp: (RenderObject::updateWidgetPosition): (RenderObject::needWidgetPositionUpdating):
- khtml/rendering/render_object.h:
- khtml/rendering/render_replaced.cpp: (RenderWidget::RenderWidget): (RenderWidget::destroy): (RenderWidget::updateWidgetPosition): (RenderWidget::needWidgetPositionUpdating):
- khtml/rendering/render_replaced.h:
Oct 18, 2005:
- 5:03 PM Changeset in webkit [10870] by
-
- 6 edits in trunk/WebCore
Reviewed and landed by Maciej.
- some simple changes that amount to a < 1% speedup.
- khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty):
- khtml/rendering/bidi.cpp: (khtml::BidiIterator::direction):
- kwq/KWQKURL.mm: (hasSlashDotOrDotDot):
- kwq/KWQString.mm: (QString::~QString):
- kwq/WebCoreTextRendererFactory.h:
- 1:45 PM Changeset in webkit [10869] by
-
- 10 edits in trunk/WebCore
- back out the last change, it caused a regression with painting of offscreen plugins
- khtml/khtmlview.cpp: (KHTMLView::layout):
- khtml/rendering/render_form.cpp: (RenderFormElement::layout):
- khtml/rendering/render_frames.cpp: (RenderPartObject::layout): (RenderPart::updateWidgetPositions):
- khtml/rendering/render_frames.h:
- khtml/rendering/render_layer.cpp: (khtml::RenderLayer::scrollToOffset):
- khtml/rendering/render_object.cpp: (RenderObject::updateWidgetPositions):
- khtml/rendering/render_object.h:
- khtml/rendering/render_replaced.cpp: (RenderWidget::layout): (RenderWidget::updateWidgetPositions):
- khtml/rendering/render_replaced.h:
- 10:08 AM Changeset in webkit [10868] by
-
- 10 edits in trunk/WebCore
Reviewed by Dave Hyatt.
Committed by John Sullivan.
- .5% or so speedup by removing updateWidgetPositions
Instead, widget sizes are calculated in layout and widget positions are set at
paint time, with the same kind of special handling for incremental repaint that
RenderImage does.
- khtml/khtmlview.cpp: (KHTMLView::layout):
- khtml/rendering/render_form.cpp: (RenderFormElement::layout):
- khtml/rendering/render_frames.cpp: (RenderPartObject::layout):
- khtml/rendering/render_frames.h:
- khtml/rendering/render_layer.cpp: (khtml::RenderLayer::scrollToOffset):
- khtml/rendering/render_object.cpp:
- khtml/rendering/render_object.h:
- khtml/rendering/render_replaced.cpp: (RenderWidget::layout):
- khtml/rendering/render_replaced.h: