Timeline



Feb 8, 2004:

2:40 PM Changeset in webkit [6052] by darin
  • 32 edits
    1 add
    1 delete in trunk

WebCore:

Reviewed by Dave.

  • fixed things seen in the profile, for a total speedup of 4% on cvs-base
  • fixed some layout regressions from my last speedup due to text measurement inconsistencies
  • WebCorePrefix.h: Add a workaround for a bug in our system headers that prevents the <ctype.h> macros from working right in C++ code that uses the <cctype> header.
  • khtml/css/cssstyleselector.cpp: (khtml::checkPseudoState): Use prepend instead of operator + here. Will probably be obviated if someone fixes the checkPseudoState problem. (khtml::colorForCSSValue): Get rid of all the code that uses QPalette; it wasn't doing any good in Safari. Instead, hardcode the UI colors.
  • kwq/KWQChar.mm: (QChar::isDigitNonASCII): Non-inline part. The ASCII case is handled with an inline now. (QChar::isLetterNonASCII): Ditto. (QChar::isNumberNonASCII): Ditto. (QChar::isLetterOrNumberNonASCII): Ditto. (QChar::lowerNonASCII): Ditto. (QChar::upperNonASCII): Ditto. (QChar::digitValueNonASCII): Ditto.
  • kwq/KWQColorGroup.mm: Put all roles base inside #if, since we don't need them, and copying the color group and palette was making things slow.
  • kwq/KWQComboBox.h: Remove KWQComboBoxAdapter, not needed any more.
  • kwq/KWQComboBox.mm: (QComboBox::QComboBox): Remove KWQComboBoxAdapter, not needed any more. (QComboBox::~QComboBox): Ditto. (QComboBox::sizeHint): Turn off rounding; we use that in web text, but not in widgets. (-[KWQPopUpButton action:]): Moved the action method here.
  • kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Turn off rounding. We use it in web page text, but not in widgets.
  • kwq/KWQListBox.mm: (QListBox::sizeForNumberOfLines): Ditto. (-[KWQTableView drawRow:clipRect:]): Ditto.
  • kwq/KWQKURL.mm: (KURL::KURL): Added code to put the "file:" in front of a path without making a QString. (hasSlashDotOrDotDot): Added. Faster than two calls to strstr. (matchLetter): Added. Faster than tolower calls on each letter. (KURL::parse): Changed to use matchLetter and hasSlashDotOrDotDot.
  • kwq/KWQPalette.h: Remove all roles except base, and all groups except active, since we don't need them, and copying the color group and palette was making things slow.
  • kwq/KWQPalette.mm: Ditto.
  • kwq/KWQRegExp.mm: (QRegExp::match): Fixed logic so we don't create and destroy a QCString in the fast case. Also avoid UTF-8/UTF-16 offset mapping.
  • kwq/KWQString.h: (QChar::isDigit): Add inline section for ASCII. (QChar::isLetter): Ditto. (QChar::isNumber): Ditto. (QChar::isLetterOrNumber): Ditto. (QChar::digitValue): Ditto. (QChar::lower): Ditto. (QChar::upper): Ditto. (QString::utf8): Add a new version that returns the length; used by QRegExp. (QString::operator+=): Call a new append function.
  • kwq/KWQString.mm: (ucstrcmp): Made this function inline. (equal): Added, replacing various strcmp functions. (equalCaseInsensitive): Ditto. (ok_in_base): Changed to use <ctype.h> isdigit and isalpha instead of QChar functions. (QString::detachInternal): Moved up so it will be inlined. (QString::~QString): Streamlined a little. (QString::utf8): Changed to return the length. (QString::find): Use unicode() instead of cell() in various places. Also refined a faster version of the one that takes a char *. (QString::contains): Changed all of the overloads to have structure that's more similar, and made them slightly faster too. (QString::isAllLatin1): Added. (QString::copyLatin1): Added. Lets you get the string as a char * buffer without changing the string itself into that format. (QString::toLong): Changed to use <ctype.h> isdigit instead of QChar function. (QString::toULong): Ditto. (QString::setUnicode): Call the new detachAndDiscardCharacters; not implemented yet. (QString::setLatin1): Call the new detachAndDiscardCharacters; not implemented yet. (QString::sprintf): Call the new detachAndDiscardCharacters; not implemented yet. (QString::insert): Remove one memmove call for the case that appends at the end. (QString::detach): Change code to use the internal data if we can; saves at destructor time. (QString::detachAndDiscardCharacters): Added. Placeholder for now that just calls detach(). (QString::setLength): Optimize the setLength(0) case. (QString::fill): Call the new detachAndDiscardCharacters; not implemented yet. (QString::append): Renamed from operator+=, which now simply calls append(). (QString::reserve): Added. Useful when building up a string, like in QTextCodec.
  • WebCore-tests.exp: Added new function names for QChar.
  • WebCore-combined.exp: Updated.
  • kwq/KWQTextCodec.mm: (KWQTextDecoder::convertLatin1): Added. Since this is the most common encoding, and very easy to decode (built into QString, in fact), best to do it as a special case, not with TEC. (KWQTextDecoder::convertUTF16): Added a reserve() call for better performance and made the stack buffer larger. (KWQTextDecoder::convertUsingTEC): Added a reserve() call for better performance and made the stack buffer larger. (KWQTextDecoder::convert): Added a switch statement and convertLatin1 case.
  • kwq/KWQView.h: Removed the KWQView class.
  • kwq/KWQView.mm: Removed.
  • WebCore.pbproj/project.pbxproj: Removed KWQView.mm.
  • kwq/KWQWidget.h: Changed name of QWidgetPrivate to KWQWidgetPrivate.
  • kwq/KWQWidget.mm: (QWidget::QWidget): Got rid of code that makes a KWQView when no view is passed in. We were creating and destroying extra views because of this. (QWidget::setFrameGeometry): Only call getOuterView() once, not three times. Also, don't do any work at all if the frame is already correct.
  • khtml/khtmlview.cpp: (KHTMLView::init): Removed a call that will hit an assertion due to the way a new KHTMLView does not yet have an NSView.
  • kwq/WebCoreTextRenderer.h: Broke applyRounding into applyRunRounding and applyWordRounding.
  • kwq/WebCoreTextRendererFactory.m: (WebCoreInitializeEmptyTextStyle): Initialize both rounding flags on.

WebKit:

Reviewed by Dave.

  • fixed things seen in the profile, for a total speedup of 4% on cvs-base
  • fixed some layout regressions from my last speedup due to text measurement inconsistencies by adding a flag to control whether word rounding is done or not
  • fixed text measurement to be used with AppKit to match AppKit again, as it did at some point in the past
  • WebCoreSupport.subproj/WebTextRenderer.h: Remove some unused fields, and added a field to say whether we treat this font as fixed pitch.
  • WebCoreSupport.subproj/WebTextRenderer.m: (getUncachedWidth): Remove space width hack from this level. There was already a width hack up at the higher level for space itself, so there's not a significant speed benefit, and the higher level can make a more intelligent choice based on the current rounding setting since it's not cached. (-[WebTextRenderer _computeWidthForSpace]): Don't store so many widths; just the adjusted width we will actually use. (widthForNextCharacter): Use two different rules for when to adjust space widths, based on whether this is a fixed pitch font or not. Also, don't do any adjusting of space widths if applyWordRounding is false.
  • Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_drawAtPoint:font:textColor:]): Turn off rounding, so we get the kind of spacing AppKit would normally give. (-[NSString _web_widthWithFont:]): Ditto.
  • Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.
1:13 PM Changeset in webkit [6051] by darin
  • 4 edits in trunk/JavaScriptCore

Reviewed by Dave.

  • fixed things seen in the profile, for a total speedup of 4% on cvs-base (including changes across all projects)
  • JavaScriptCorePrefix.h: Add a workaround for a bug in our system headers that prevents the <ctype.h> macros from working right in C++ code that uses the <cctype> header.
  • kjs/ustring.cpp: (KJS::inlineUTF8SequenceLengthNonASCII): Added. (KJS::UTF8SequenceLengthNonASCII): Added. (KJS::inlineUTF8SequenceLength): Added. (KJS::UTF8SequenceLength): Calls inlineUTF8SequenceLengthNonASCII now. (KJS::decodeUTF8Sequence): Use new inlineUTF8SequenceLengthNonASCII; faster for ASCII. (KJS::createSortedOffsetsArray): Add special case for 1, 2, and 3 offsets, so we don't do qsort for those. (KJS::convertUTF16OffsetsToUTF8Offsets): Use new inlineUTF8SequenceLengthNonASCII; faster for ASCII. (KJS::convertUTF8OffsetsToUTF16Offsets): Use new inlineUTF8SequenceLengthNonASCII; faster for ASCII.
  • fixed the test program so it won't hit the interpreter lock assertion
  • kjs/testkjs.cpp: (main): Just lock around the whole thing, since the test is singly threaded.
10:33 AM Changeset in webkit [6050] by darin
  • 2 edits in trunk/LayoutTests

Updated tests affected by the list box width fix.

Feb 7, 2004:

6:44 PM Changeset in webkit [6049] by darin
  • 11 edits in trunk/WebCore

Reviewed by Dave.

  • switched KWQComboBox, KWQListBox, and KWQLineEdit to use WebKit text measuring/rendering instead of AppKit
  • fixed width calculation for KWQListBox that made them too wide (the computation used the width of standard scroll bars rather than the small scroll bars they actually use)

Speeds up cvs-base by 5%!

  • khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement): Get rid of beginBatchInsert, and rename endBatchInsert. Use our own "append" calls instead of "insert" calls.
  • kwq/KWQComboBox.h: Replace insertItem with appendItem. Add a new populateMenu call (for internal use, but public). Change width member to be int instead of float. Remove updateCurrentItem(), and add a menuPopulated boolean and a QStringList containing the items.
  • kwq/KWQComboBox.mm: (QComboBox::QComboBox): Initialize currentItem directly instead of calling updateCurrentItem. Also initialize menuPopulated to true. (QComboBox::appendItem): Replaces insertItem. Put items in a string list. Don't keep the menu populated unless the button is highlighted (which indicates the menu is showing). (QComboBox::sizeHint): Compute widths using WebCoreTextRenderer, and the string list. (QComboBox::baselinePosition): Change ceil to ceilf, since we are dealing with floats, not doubles. (QComboBox::clear): Clear the items list. Also reset the currentItem field directly instead of using updateCurrentItem(). (QComboBox::setCurrentItem): If the menu is not populated, then keep a single item with the appropriate title. If the menu is populated, then select the appropriate item. (QComboBox::itemSelected): Moved the logic from updateCurrentItem in here for simplicity. (QComboBox::focusPolicy): Tweaked the comment. (QComboBox::populateMenu): Added. (-[KWQPopUpButtonCell setHighlighted:]): Populate the menu when the cell is highlighted.
  • kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Put an empty string in the cell, and add in a separately-computed width for the string. (QLineEdit::baselinePosition): Use ceilf instead of ceil since we are doing floats, not doubles.
  • kwq/KWQListBox.h: Changed the items list from an NSArray to a QValueList. (KWQListBoxItem::KWQListBoxItem): Added a new class to keep the string and the "is label" boolean. (QListBox::count): Now inline. (QListBox::appendItem): Replaced insertItem with this. (QListBox::appendGroupLabel): Replaced insertGroupLabel with this. (QListBox::itemAtIndex): Replaced itemIsGroupLabel with this.
  • kwq/KWQListBox.mm: (itemTextRenderer): Replaced itemFont with this, which returns a WebCoreTextRenderer. (groupLabelTextRenderer): Ditto. (QListBox::QListBox): Removed the _insertingItems boolean, and handling of the _items list. (QListBox::~QListBox): Ditto. (QListBox::clear): Now clears the items list. Doesn't both with reloadData, since doneAppendingItems handles that. (QListBox::appendItem): Replaced insertItem. Just adds to the list. No need to construct attributed strings any more. (QListBox::doneAppendingItems): Replaced endBatchInsert. No need to clear the obsolete _insertingItems boolean. (QListBox::setEnabled): Added a call to reloadData. (QListBox::sizeForNumberOfLines): Compute widths using WebCoreTextRenderer, and the string list. Also adjust for the difference in widths between small and default scrollers and add in margins. (QListBox::setWritingDirection): Remove code that updates the direction in attributed strings. (-[KWQTableView initWithListBox:]): Compute height from font, not cell. (-[KWQTableView numberOfRowsInTableView:]): Get count from QListBox instead of items array. (-[KWQTableView tableView:objectValueForTableColumn:row:]): Return nil becase we don't want to create an NSString for each cell. We'll draw the appropriate thing. (-[KWQTableView tableView:shouldSelectRow:]): Update for change to QComboBox function. (-[KWQTableView drawRow:clipRect:]): Added. Draws the text in the cell, with the appropriate color and position, using WebCoreTextRenderer for speed. (-[KWQTableView _accessibilityTableCell:tableColumn:]): Set up cell with a string in this case, because we need the string to be seen by the accessibilty framework.
  • kwq/WebCoreTextRenderer.h: Fixed typo in comment.
  • kwq/WebCoreTextRendererFactory.m: Removed bogus inline specifiers.
  • khtml/rendering/render_layer.cpp: Fixed a couple of cases of RenderLayer::RenderLayer that just should have said RenderLayer.
1:33 PM Changeset in webkit [6048] by darin
  • 4 edits in trunk

WebCore:

  • WebCore.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING flags that were in the Deployment build style. These were causing the need to chmod all the time after building WebCore successfully, and were doing us no good.

WebKit:

  • WebKit.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING flags that were in the Deployment build style. These were causing the need to chmod all the time after building WebCore successfully, and were doing us no good.
12:56 PM Changeset in webkit [6047] by darin
  • 1 edit
    1 add in trunk/WebCore
  • kwq/can-convert.mm: Added test program to see which conversions are actually supported by TEC.

Feb 6, 2004:

6:20 PM Changeset in webkit [6046] by darin
  • 2 edits in trunk/WebKit
  • Resources/missing_image.tiff: Compressed with compress-tiffs; saved 15890 bytes.
5:19 PM Changeset in webkit [6045] by hyatt
  • 18 edits
    1 add in trunk/WebCore

Implemented a TokenizerString that can walk a list of substrings, so that data can be enqueued
in the list without having to do a copy. Speeds up voodooextreme by 20% or so, giving the overall
page-load tests get a 2% boost.

Reviewed by darin

  • WebCore.pbproj/project.pbxproj:
  • khtml/html/html_documentimpl.h:
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::begin): (khtml::HTMLTokenizer::processListing): (khtml::HTMLTokenizer::parseSpecial): (khtml::HTMLTokenizer::scriptHandler): (khtml::HTMLTokenizer::parseComment): (khtml::HTMLTokenizer::parseServer): (khtml::HTMLTokenizer::parseProcessingInstruction): (khtml::HTMLTokenizer::parseText): (khtml::HTMLTokenizer::parseEntity): (khtml::HTMLTokenizer::parseTag): (khtml::HTMLTokenizer::write): (khtml::HTMLTokenizer::notifyFinished): (khtml::HTMLTokenizer::setSrc): (khtml::HTMLTokenizer::setOnHold):
  • khtml/html/htmltokenizer.h: (khtml::Token::Token): (khtml::Token::~Token): (khtml::Token::addAttribute): (khtml::Token::reset):
  • khtml/khtml_part.cpp: (KHTMLPart::handleMousePressEventDoubleClick):
  • khtml/khtml_part.h:
  • khtml/misc/stringit.cpp: Added. (khtml::TokenizerString::length): (khtml::TokenizerString::clear): (khtml::TokenizerString::append): (khtml::TokenizerString::prepend): (khtml::TokenizerString::advanceSubstring): (khtml::TokenizerString::toString):
  • khtml/misc/stringit.h: (khtml::TokenizerSubstring::TokenizerSubstring): (khtml::TokenizerSubstring::clear): (khtml::TokenizerSubstring::appendTo): (khtml::TokenizerString::TokenizerString): (khtml::TokenizerString::push): (khtml::TokenizerString::isEmpty): (khtml::TokenizerString::advance): (khtml::TokenizerString::escaped): (khtml::TokenizerString::lineCount): (khtml::TokenizerString::resetLineCount): (khtml::TokenizerString::operator++): (khtml::TokenizerString::operator*): (khtml::TokenizerString::operator->): (khtml::TokenizerString::current):
  • khtml/xbl/xbl_docimpl.cpp:
  • khtml/xbl/xbl_docimpl.h: (XBL::):
  • khtml/xbl/xbl_tokenizer.h: (XBL::):
  • khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::tokenizer):
  • khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::write):
  • khtml/xml/xml_tokenizer.h:
  • kwq/KWQSignalStubs.mm:
  • kwq/KWQValueList.h: (QValueList::insert): (QValueList::fromLast):
  • kwq/KWQValueListImpl.h:
  • kwq/KWQValueListImpl.mm: (KWQValueListImpl::clear): (KWQValueListImpl::insert): (KWQValueListImpl::fromLast):
4:52 PM Changeset in webkit [6044] by vicki
  • 3 edits in trunk

Back to '128u'. The tree is open!

4:48 PM Changeset in webkit [6043]
  • 3 copies in tags/Safari-127

This commit was manufactured by cvs2svn to create tag 'Safari-127'.

4:48 PM Changeset in webkit [6042] by vicki
  • 6 edits in trunk

Safari-127 stamp

2:33 PM Changeset in webkit [6041] by kocienda
  • 6 edits in trunk/WebCore

Reviewed by Chris

Steps no longer return int error codes. Steps are operations
that should succeed. (When was the last time that typing in
a text editor failed for reasons which could not have been
figured out ahead of time...like file permissions?).
If this does not work for the future, perhaps we can change
some or all of the many asserts in the code to throw C++
exceptions instead, which can be caught and handled at a
suitable level.

I also made some nice convenience functions to create and apply
EditStep objects, and moved the command code to use the new
functions.

  • khtml/editing/htmlediting.cpp: (EditStep::EditStep): (EditStep::~EditStep): (EditStep::reapply): (EditStep::beginApply): (EditStep::endApply): (EditStep::beginUnapply): (EditStep::endUnapply): (EditStep::beginReapply): (EditStep::endReapply): (CompositeEditStep::unapply): (CompositeEditStep::reapply): (CompositeEditStep::applyStep): (CompositeEditStep::insertNodeBefore): (CompositeEditStep::insertNodeAfter): (CompositeEditStep::appendNode): (CompositeEditStep::removeNode): (CompositeEditStep::splitTextNode): (CompositeEditStep::joinTextNodes): (CompositeEditStep::insertText): (CompositeEditStep::deleteText): (CompositeEditStep::moveSelectionTo): (CompositeEditStep::deleteSelection): (InsertNodeBeforeStep::InsertNodeBeforeStep): (InsertNodeBeforeStep::apply): (InsertNodeBeforeStep::unapply): (AppendNodeStep::AppendNodeStep): (AppendNodeStep::apply): (AppendNodeStep::unapply): (RemoveNodeStep::RemoveNodeStep): (RemoveNodeStep::apply): (RemoveNodeStep::unapply): (ModifyTextNodeStep::ModifyTextNodeStep): (ModifyTextNodeStep::splitTextNode): (ModifyTextNodeStep::joinTextNodes): (SplitTextNodeStep::apply): (SplitTextNodeStep::unapply): (JoinTextNodesStep::apply): (JoinTextNodesStep::unapply): (InsertTextStep::InsertTextStep): (InsertTextStep::apply): (InsertTextStep::unapply): (DeleteTextStep::DeleteTextStep): (DeleteTextStep::apply): (DeleteTextStep::unapply): (MoveSelectionToStep::MoveSelectionToStep): (MoveSelectionToStep::apply): (MoveSelectionToStep::unapply): (DeleteSelectionStep::apply): (EditCommand::EditCommand): (EditCommand::~EditCommand): (EditCommand::currentSelection): (InputTextCommand::apply): (DeleteTextCommand::apply):
  • khtml/editing/htmlediting.h: (khtml::MoveSelectionToStep::~MoveSelectionToStep): (khtml::EditCommand::cookie):
  • khtml/khtml_part.cpp: (KHTMLPart::applyCommand): (KHTMLPart::undoRedoEditing): (KHTMLPart::undoEditing): (KHTMLPart::redoEditing):
  • khtml/khtml_part.h:
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::defaultEventHandler):
1:29 PM Changeset in webkit [6040] by rjw
  • 3 edits in trunk/JavaScriptCore

Fixed 3550242 and 3546977. The first diff prevents an assert from firing. The second diff prevents a JavaScript exception, caused be an invalid conversion, which has a downstream consequence of preventing a valid conversion.

Reviewed by John.

  • bindings/jni/jni_jsobject.cpp: (JSObject::toString):
  • bindings/jni/jni_utility.cpp: (KJS::Bindings::convertValueToJValue):

Feb 5, 2004:

4:28 PM Changeset in webkit [6039] by kocienda
  • 26 edits in trunk

WebCore:

Reviewed by Hyatt

This patch includes two major pieces of work.

  1. The KHTMLSelection object has been reworked to be a value object. Part-related state has been moved out to KHTMLPart. This change makes it much easier to program with these objects, since they can now be treating unambigously like built-in types. As part of this work, I did a pass over the API and improved some function names. A related part of work was to clean up the relationship between KHTMLSelection, KHTMLPart and DOMDocumentImpl, and cleared up how to change the selection when that is necessary. (There is now a small set of functions on KHTMLPart).
  1. Implemented undo/redo, and hooked into the Cocoa undo architecture. The notion of EditCommands has been enhanced by the addition of EditSteps, which are primitive operations out of which edit commands are built. Most of the existing operations have been updated to use this new design. The last couple will be updated soon, so that all supported editing operations will be undoable.
  • khtml/editing/htmlediting.cpp:
  • khtml/editing/htmlediting.h:
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::isFocusable): Prevents children of content editable parents from receiving focus.
  • khtml/khtml_part.cpp: Modified to work with new KHTMLSelection class design. Also added some new code to work with new edit command architecture.
  • khtml/khtml_part.h:
  • khtml/khtml_selection.cpp: Reworked as a value class. Too much state was being stored in this object for it to be convenient to use as a value. That has been fixed.
  • khtml/khtml_selection.h:
  • khtml/khtmlpart_p.h: (KHTMLPartPrivate::KHTMLPartPrivate): (KHTMLPartPrivate::~KHTMLPartPrivate):
  • khtml/khtmlview.cpp: Modified to work with new KHTMLSelection class design.
  • khtml/rendering/render_block.cpp: Modified to work with new KHTMLSelection class design. (khtml::RenderBlock::paintObject):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::updateSelection): (DocumentImpl::deleteSelection): (DocumentImpl::pasteHTMLString):
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::defaultEventHandler): Modified to work with new edit command architecture.
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::registerCommandForUndo): Added hook to Cocoa undo/redo architecture.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge isSelectionEditable]): Modified to work with new edit command architecture. (-[WebCoreBridge moveCaretToPoint:]): Ditto (-[WebCoreBridge haveSelection]): Ditto (-[WebCoreBridge selectedHTML]): Ditto (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]): Ditto (-[WebCoreBridge reconstructedSource]): Ditto (-[WebCoreBridge undoRedoEditing:]): Added hook to Cocoa undo/redo architecture.

WebKit:

Reviewed by Hyatt

Added so that editing can hook into Cocoa undo architecture.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge registerCommandForUndo:]):

Feb 4, 2004:

7:15 PM Changeset in webkit [6038] by hyatt
  • 2 edits in trunk/WebKit

Fix deployment build bustage.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (ConsoleConnectionChangeNotifyProc):
5:45 PM Changeset in webkit [6037] by hyatt
  • 34 edits in trunk/WebCore

Improve rule matching in the style system. Filter out most rules up front, so that only a small
number of rules need to be walked for any given element. Yields a ~4-5% improvement on the PLT.

Reviewed by kocienda

  • khtml/css/css_base.cpp: (StyleBaseImpl::setParsedValue): (CSSSelector::specificity): (CSSSelector::extractPseudoType): (CSSSelector::operator == ):
  • khtml/css/css_base.h: (DOM::CSSSelector::CSSSelector): (DOM::CSSSelector::~CSSSelector): (DOM::CSSSelector::append): (DOM::CSSSelector::next): (DOM::CSSSelector::): (DOM::StyleBaseImpl::StyleBaseImpl):
  • khtml/css/css_ruleimpl.cpp: (CSSStyleRuleImpl::selectorText): (CSSRuleListImpl::insertRule):
  • khtml/css/css_ruleimpl.h: (DOM::CSSStyleRuleImpl::setSelector): (DOM::CSSStyleRuleImpl::selector):
  • khtml/css/css_stylesheetimpl.cpp:
  • khtml/css/css_stylesheetimpl.h:
  • khtml/css/css_valueimpl.cpp: (CSSStyleDeclarationImpl::getPropertyCSSValue): (CSSStyleDeclarationImpl::removeProperty): (CSSStyleDeclarationImpl::setProperty): (CSSStyleDeclarationImpl::setStringProperty): (CSSStyleDeclarationImpl::setImageProperty): (CSSStyleDeclarationImpl::setLengthProperty): (CSSStyleDeclarationImpl::cssText): (CSSStyleDeclarationImpl::setCssText):
  • khtml/css/css_valueimpl.h: (DOM::CSSStyleDeclarationImpl::node): (DOM::CSSProperty::CSSProperty): (DOM::CSSProperty::id): (DOM::CSSProperty::isImportant):
  • khtml/css/cssparser.cpp: (CSSParser::CSSParser): (ParseString::lower): (CSSParser::parseValue): (CSSParser::parseDeclaration): (CSSParser::addProperty): (CSSParser::parseShadow):
  • khtml/css/cssparser.h:
  • khtml/css/cssstyleselector.cpp: (khtml::): (khtml::CSSStyleSelector::CSSStyleSelector): (khtml::CSSStyleSelector::init): (khtml::CSSStyleSelector::~CSSStyleSelector): (khtml::CSSStyleSelector::loadDefaultStyle): (khtml::CSSStyleSelector::addMatchedRule): (khtml::CSSStyleSelector::addMatchedDeclaration): (khtml::CSSStyleSelector::matchRules): (khtml::CSSStyleSelector::matchRulesForList): (khtml::operator >): (khtml::operator <=): (khtml::CSSStyleSelector::sortMatchedRules): (khtml::CSSStyleSelector::initForStyleResolve): (khtml::CSSStyleSelector::styleForElement): (khtml::CSSStyleSelector::pseudoStyleForElement): (khtml::checkPseudoState): (khtml::CSSStyleSelector::checkSelector): (khtml::CSSStyleSelector::checkOneSelector): (khtml::CSSRuleSet::CSSRuleSet): (khtml::CSSRuleSet::addToRuleSet): (khtml::CSSRuleSet::addRule): (khtml::CSSRuleSet::addRulesFromSheet): (khtml::CSSStyleSelector::applyDeclarations): (khtml::CSSStyleSelector::applyProperty): (khtml::CSSStyleSelector::smallerFontSize): (khtml::CSSStyleSelector::getColorFromPrimitiveValue):
  • khtml/css/cssstyleselector.h: (khtml::): (khtml::CSSRuleData::m_next): (khtml::CSSRuleData::~CSSRuleData): (khtml::CSSRuleData::position): (khtml::CSSRuleData::rule): (khtml::CSSRuleData::selector): (khtml::CSSRuleData::next): (khtml::CSSRuleDataList::CSSRuleDataList): (khtml::CSSRuleDataList::~CSSRuleDataList): (khtml::CSSRuleDataList::first): (khtml::CSSRuleDataList::last): (khtml::CSSRuleDataList::append): (khtml::CSSRuleSet::~CSSRuleSet): (khtml::CSSRuleSet::getIDRules): (khtml::CSSRuleSet::getClassRules): (khtml::CSSRuleSet::getTagRules): (khtml::CSSRuleSet::getUniversalRules):
  • khtml/css/cssvalues.c: (hash_val): (findValue):
  • khtml/css/cssvalues.h:
  • khtml/css/cssvalues.in:
  • khtml/css/html4.css:
  • khtml/css/parser.cpp:
  • khtml/css/parser.h:
  • khtml/css/parser.y:
  • khtml/dom/dom_element.cpp: (Element::style):
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::HTMLBodyElementImpl): (HTMLBodyElementImpl::~HTMLBodyElementImpl): (HTMLBodyElementImpl::createLinkDecl): (HTMLBodyElementImpl::parseAttribute):
  • khtml/html/html_baseimpl.h:
  • khtml/html/html_elementimpl.cpp: (HTMLNamedAttrMapImpl::parseClassAttribute): (HTMLElementImpl::HTMLElementImpl): (HTMLElementImpl::~HTMLElementImpl): (HTMLElementImpl::createInlineStyleDecl): (HTMLElementImpl::createMappedAttributeDecl): (HTMLElementImpl::parseAttribute): (HTMLElementImpl::getClassList): (HTMLElementImpl::addCSSProperty): (HTMLElementImpl::addCSSStringProperty): (HTMLElementImpl::addCSSImageProperty): (HTMLElementImpl::addCSSLength): (HTMLElementImpl::addHTMLColor): (HTMLElementImpl::removeCSSProperty):
  • khtml/html/html_elementimpl.h: (DOM::HTMLNamedAttrMapImpl::getClassList): (DOM::HTMLElementImpl::inlineStyleDecl): (DOM::HTMLElementImpl::attributeStyleDecl): (DOM::HTMLElementImpl::getInlineStyleDecl):
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::createSharedCellDecls): (HTMLTableCellElementImpl::additionalAttributeStyleDecl):
  • khtml/html/html_tableimpl.h:
  • khtml/xml/dom_atomicstring.cpp: (DOM::AtomicString::add): (DOM::AtomicString::remove):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::resetLinkColor): (DocumentImpl::resetVisitedLinkColor): (DocumentImpl::resetActiveLinkColor): (DocumentImpl::recalcStyleSelector):
  • khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::linkColor): (DOM::DocumentImpl::visitedLinkColor): (DOM::DocumentImpl::activeLinkColor): (DOM::DocumentImpl::setLinkColor): (DOM::DocumentImpl::setVisitedLinkColor): (DOM::DocumentImpl::setActiveLinkColor):
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::ElementImpl): (ElementImpl::~ElementImpl): (ElementImpl::getClassList): (ElementImpl::getIDAttribute): (ElementImpl::cloneNode): (XMLElementImpl::cloneNode):
  • khtml/xml/dom_elementimpl.h: (DOM::ElementImpl::inlineStyleDecl): (DOM::ElementImpl::attributeStyleDecl): (DOM::ElementImpl::getInlineStyleDecl): (DOM::ElementImpl::additionalAttributeStyleDecl): (DOM::NamedAttrMapImpl::id): (DOM::NamedAttrMapImpl::setID):
  • khtml/xml/dom_stringimpl.cpp: (DOM::DOMStringImpl::DOMStringImpl): (DOM::DOMStringImpl::~DOMStringImpl): (DOM::DOMStringImpl::append): (DOM::DOMStringImpl::insert): (DOM::DOMStringImpl::truncate): (DOM::DOMStringImpl::remove): (DOM::DOMStringImpl::split):
  • khtml/xml/dom_stringimpl.h: (DOM::DOMStringImpl::DOMStringImpl):
2:22 PM Changeset in webkit [6036] by hyatt
  • 4 edits in trunk/WebCore

Fix line-height regression on altavista.

  • khtml/rendering/render_br.cpp: (RenderBR::RenderBR): (RenderBR::position): (RenderBR::lineHeight): (RenderBR::setStyle):
  • khtml/rendering/render_br.h:
  • khtml/rendering/render_flow.h: (khtml::RenderFlow::RenderFlow):
1:49 PM Changeset in webkit [6035] by kocienda
  • 9 edits in trunk/LayoutTests

Committed new tests for RenderBR change

1:33 PM Changeset in webkit [6034] by hyatt
  • 3 edits in trunk/WebCore

Fix a regression in the line-height of first-lines and inline-blocks.

Reviewed by darin

  • khtml/rendering/render_flow.cpp: (RenderFlow::lineHeight):
  • khtml/rendering/render_text.cpp: (RenderText::lineHeight):
10:45 AM Changeset in webkit [6033] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3546028>: Safari should not give plug-ins any time, thus use 0% CPU, when not in the currently active session

Reviewed by john.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (+[WebBaseNetscapePluginView initialize]): observe CG changes (-[WebBaseNetscapePluginView addWindowObservers]): observe user switch notifications (-[WebBaseNetscapePluginView removeWindowObservers]): stop observing user switch notifications (-[WebBaseNetscapePluginView viewHasMoved:]): tweak (-[WebBaseNetscapePluginView windowWillClose:]): tweak (-[WebBaseNetscapePluginView windowBecameKey:]): tweak (-[WebBaseNetscapePluginView windowResignedKey:]): tweak (-[WebBaseNetscapePluginView windowDidMiniaturize:]): tweak (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): tweak (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]): new, stop null events (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]): new, restart null events (ConsoleConnectionChangeNotifyProc): new, post user switch notifications
Note: See TracTimeline for information about the timeline view.