WebKit-https.git
16 years agoRevised layout tests after the <hr> changes.
hyatt [Tue, 10 Feb 2004 22:03:49 +0000 (22:03 +0000)]
Revised layout tests after the <hr> changes.

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

16 years agoRemove bogus layout tests that we passed through sheer luck.
hyatt [Tue, 10 Feb 2004 22:01:24 +0000 (22:01 +0000)]
Remove bogus layout tests that we passed through sheer luck.

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

16 years ago Fix crash on abcnews.com by adding isEmpty checks before dereferencing.
hyatt [Tue, 10 Feb 2004 22:00:05 +0000 (22:00 +0000)]
Fix crash on abcnews.com by adding isEmpty checks before dereferencing.

        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::parseTag):

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

16 years ago Improve attribute parsing of mapped attributes (that map to CSS properties) so that...
hyatt [Tue, 10 Feb 2004 20:52:13 +0000 (20:52 +0000)]
Improve attribute parsing of mapped attributes (that map to CSS properties) so that they can pull the
style declarations from a global cache.

Made RenderStyles be arena allocated as well.

        Reviewed by darin

        * khtml/css/css_valueimpl.cpp:
        (CSSImageValueImpl::CSSImageValueImpl):
        (CSSImageValueImpl::image):
        * khtml/css/css_valueimpl.h:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::initForStyleResolve):
        (khtml::CSSStyleSelector::styleForElement):
        (khtml::CSSStyleSelector::pseudoStyleForElement):
        (khtml::CSSStyleSelector::applyProperty):
        * khtml/css/cssstyleselector.h:
        * khtml/css/html4.css:
        * khtml/css/quirks.css:
        * khtml/dom/dom_element.cpp:
        (Element::style):
        * khtml/dom/html_element.cpp:
        * khtml/dom/html_element.h:
        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::HTMLBodyElementImpl):
        (HTMLBodyElementImpl::mapToEntry):
        (HTMLBodyElementImpl::parseHTMLAttribute):
        (HTMLBodyElementImpl::insertedIntoDocument):
        (HTMLFrameElementImpl::parseHTMLAttribute):
        (HTMLFrameSetElementImpl::parseHTMLAttribute):
        (HTMLIFrameElementImpl::mapToEntry):
        (HTMLIFrameElementImpl::parseHTMLAttribute):
        * khtml/html/html_baseimpl.h:
        * khtml/html/html_blockimpl.cpp:
        (HTMLDivElementImpl::mapToEntry):
        (HTMLDivElementImpl::parseHTMLAttribute):
        (HTMLHRElementImpl::mapToEntry):
        (HTMLHRElementImpl::parseHTMLAttribute):
        (HTMLParagraphElementImpl::mapToEntry):
        (HTMLParagraphElementImpl::parseHTMLAttribute):
        (HTMLMarqueeElementImpl::mapToEntry):
        (HTMLMarqueeElementImpl::parseHTMLAttribute):
        (HTMLLayerElementImpl::HTMLLayerElementImpl):
        (HTMLLayerElementImpl::id):
        * khtml/html/html_blockimpl.h:
        * khtml/html/html_documentimpl.cpp:
        (HTMLDocumentImpl::determineParseMode):
        * khtml/html/html_documentimpl.h:
        * khtml/html/html_elementimpl.cpp:
        (CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl):
        (HTMLElementImpl::getMappedAttributeDecl):
        (HTMLElementImpl::setMappedAttributeDecl):
        (HTMLElementImpl::removeMappedAttributeDecl):
        (HTMLAttributeImpl::~HTMLAttributeImpl):
        (HTMLAttributeImpl::clone):
        (m_mappedAttributeCount):
        (HTMLNamedAttrMapImpl::clearAttributes):
        (HTMLElementImpl::HTMLElementImpl):
        (HTMLElementImpl::~HTMLElementImpl):
        (HTMLElementImpl::createAttribute):
        (HTMLElementImpl::createInlineStyleDecl):
        (HTMLElementImpl::attributeChanged):
        (HTMLElementImpl::mapToEntry):
        (HTMLElementImpl::parseHTMLAttribute):
        (HTMLElementImpl::additionalAttributeStyleDecl):
        (isHexDigit):
        (toHex):
        (HTMLElementImpl::addCSSProperty):
        (HTMLElementImpl::addCSSStringProperty):
        (HTMLElementImpl::addCSSImageProperty):
        (HTMLElementImpl::addCSSLength):
        (HTMLElementImpl::addHTMLColor):
        (HTMLElementImpl::createMappedDecl):
        (HTMLElementImpl::addHTMLAlignment):
        (HTMLElementImpl::setContentEditable):
        * khtml/html/html_elementimpl.h:
        (DOM::):
        (DOM::CSSMappedAttributeDeclarationImpl::CSSMappedAttributeDeclarationImpl):
        (DOM::CSSMappedAttributeDeclarationImpl::setMappedState):
        (DOM::HTMLAttributeImpl::HTMLAttributeImpl):
        (DOM::HTMLAttributeImpl::decl):
        (DOM::HTMLAttributeImpl::setDecl):
        (DOM::HTMLNamedAttrMapImpl::hasMappedAttributes):
        (DOM::HTMLNamedAttrMapImpl::declRemoved):
        (DOM::HTMLNamedAttrMapImpl::declAdded):
        (DOM::HTMLNamedAttrMapImpl::attributeItem):
        (DOM::HTMLElementImpl::hasMappedAttributes):
        (DOM::HTMLElementImpl::htmlAttributes):
        (DOM::HTMLElementImpl::inlineStyleDecl):
        * khtml/html/html_formimpl.cpp:
        (HTMLFormElementImpl::parseHTMLAttribute):
        (HTMLGenericFormElementImpl::parseHTMLAttribute):
        (HTMLButtonElementImpl::parseHTMLAttribute):
        (HTMLInputElementImpl::setType):
        (HTMLInputElementImpl::mapToEntry):
        (HTMLInputElementImpl::parseHTMLAttribute):
        (HTMLInputElementImpl::attach):
        (HTMLLabelElementImpl::parseHTMLAttribute):
        (HTMLSelectElementImpl::parseHTMLAttribute):
        (HTMLKeygenElementImpl::parseHTMLAttribute):
        (HTMLOptGroupElementImpl::parseHTMLAttribute):
        (HTMLOptionElementImpl::parseHTMLAttribute):
        (HTMLTextAreaElementImpl::parseHTMLAttribute):
        (HTMLIsIndexElementImpl::parseHTMLAttribute):
        * khtml/html/html_formimpl.h:
        * khtml/html/html_headimpl.cpp:
        (HTMLBaseElementImpl::parseHTMLAttribute):
        (HTMLLinkElementImpl::parseHTMLAttribute):
        (HTMLMetaElementImpl::parseHTMLAttribute):
        (HTMLStyleElementImpl::parseHTMLAttribute):
        * khtml/html/html_headimpl.h:
        * khtml/html/html_imageimpl.cpp:
        (HTMLImageElementImpl::mapToEntry):
        (HTMLImageElementImpl::parseHTMLAttribute):
        (HTMLMapElementImpl::parseHTMLAttribute):
        (HTMLAreaElementImpl::parseHTMLAttribute):
        * khtml/html/html_imageimpl.h:
        * khtml/html/html_inlineimpl.cpp:
        (HTMLAnchorElementImpl::parseHTMLAttribute):
        (HTMLBRElementImpl::mapToEntry):
        (HTMLBRElementImpl::parseHTMLAttribute):
        (HTMLFontElementImpl::mapToEntry):
        (HTMLFontElementImpl::parseHTMLAttribute):
        * khtml/html/html_inlineimpl.h:
        * khtml/html/html_listimpl.cpp:
        (HTMLUListElementImpl::mapToEntry):
        (HTMLUListElementImpl::parseHTMLAttribute):
        (HTMLOListElementImpl::mapToEntry):
        (HTMLOListElementImpl::parseHTMLAttribute):
        (HTMLLIElementImpl::mapToEntry):
        (HTMLLIElementImpl::parseHTMLAttribute):
        * khtml/html/html_listimpl.h:
        * khtml/html/html_objectimpl.cpp:
        (HTMLAppletElementImpl::mapToEntry):
        (HTMLAppletElementImpl::parseHTMLAttribute):
        (HTMLEmbedElementImpl::HTMLEmbedElementImpl):
        (HTMLEmbedElementImpl::mapToEntry):
        (HTMLEmbedElementImpl::parseHTMLAttribute):
        (HTMLEmbedElementImpl::attach):
        (HTMLObjectElementImpl::mapToEntry):
        (HTMLObjectElementImpl::parseHTMLAttribute):
        (HTMLParamElementImpl::parseHTMLAttribute):
        * khtml/html/html_objectimpl.h:
        * khtml/html/html_tableimpl.cpp:
        (HTMLTableElementImpl::HTMLTableElementImpl):
        (HTMLTableElementImpl::~HTMLTableElementImpl):
        (HTMLTableElementImpl::mapToEntry):
        (HTMLTableElementImpl::parseHTMLAttribute):
        (HTMLTableElementImpl::additionalAttributeStyleDecl):
        (HTMLTableElementImpl::getSharedCellDecl):
        (HTMLTableElementImpl::attach):
        (HTMLTablePartElementImpl::mapToEntry):
        (HTMLTablePartElementImpl::parseHTMLAttribute):
        (HTMLTableCellElementImpl::mapToEntry):
        (HTMLTableCellElementImpl::parseHTMLAttribute):
        (HTMLTableCellElementImpl::additionalAttributeStyleDecl):
        (HTMLTableCellElementImpl::attach):
        (HTMLTableColElementImpl::mapToEntry):
        (HTMLTableColElementImpl::parseHTMLAttribute):
        (HTMLTableCaptionElementImpl::mapToEntry):
        (HTMLTableCaptionElementImpl::parseHTMLAttribute):
        * khtml/html/html_tableimpl.h:
        * khtml/html/htmlparser.cpp:
        (KHTMLParser::insertNode):
        (KHTMLParser::getElement):
        * khtml/html/htmltokenizer.h:
        (khtml::Token::addAttribute):
        * khtml/misc/htmlattrs.c:
        (hash_attr):
        (findAttr):
        * khtml/misc/htmlattrs.h:
        * khtml/misc/htmlattrs.in:
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::setStyle):
        (khtml::RenderBlock::updateFirstLetter):
        * khtml/rendering/render_container.cpp:
        (RenderContainer::addChild):
        (RenderContainer::updatePseudoChild):
        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::updateWidget):
        * khtml/rendering/render_inline.cpp:
        (RenderInline::addChildToFlow):
        * khtml/rendering/render_list.cpp:
        (RenderListItem::setStyle):
        * khtml/rendering/render_object.cpp:
        (RenderObject::~RenderObject):
        (RenderObject::createAnonymousBlock):
        (RenderObject::setStyle):
        (RenderObject::remove):
        * khtml/rendering/render_style.cpp:
        (throw):
        (RenderStyle::operator delete):
        (RenderStyle::arenaDelete):
        (RenderStyle::RenderStyle):
        (RenderStyle::~RenderStyle):
        (RenderStyle::addPseudoStyle):
        * khtml/rendering/render_style.h:
        (khtml::RenderStyle::ref):
        (khtml::RenderStyle::deref):
        (khtml::RenderStyle::hasOneRef):
        (khtml::RenderStyle::refCount):
        * khtml/rendering/render_table.cpp:
        (RenderTable::addChild):
        (RenderTableSection::addChild):
        (RenderTableRow::addChild):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::createAttribute):
        (DocumentImpl::recalcStyle):
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_elementimpl.cpp:
        (AttributeImpl::clone):
        (AttrImpl::setValue):
        (AttrImpl::cloneNode):
        (ElementImpl::setAttribute):
        (ElementImpl::createAttribute):
        (ElementImpl::setAttributeMap):
        (ElementImpl::recalcStyle):
        (NamedAttrMapImpl::~NamedAttrMapImpl):
        (NamedAttrMapImpl::operator=):
        (NamedAttrMapImpl::addAttribute):
        (NamedAttrMapImpl::removeAttribute):
        * khtml/xml/dom_elementimpl.h:
        (DOM::AttributeImpl::~AttributeImpl):
        (DOM::ElementImpl::attributeChanged):
        (DOM::NamedAttrMapImpl::length):
        * khtml/xml/dom_nodeimpl.cpp:

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

16 years ago Reviewed by Dave.
darin [Mon, 9 Feb 2004 21:13:45 +0000 (21:13 +0000)]
    Reviewed by Dave.

        * khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::defaultEventHandler):
        Removed bogus extra setActive/focus code. Dave says this is no longer needed for
        the active state handling, and the focus call caused a problem, although I can't
        find the bug report at the moment.

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

16 years ago Reviewed by Don.
darin [Mon, 9 Feb 2004 16:26:23 +0000 (16:26 +0000)]
    Reviewed by Don.

        - fixed an assertion failure when putting up Java applets caused by my last change

        * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget):
        Don't try to get x() and y(). They are always zero because the widget is just being
        created at this point and has not yet been positioned; trying to get them
        leads to an assertion because there is no NSView until we call setView().
        Before my change, there was a KWQView object at 0,0 that was released when we called
        setView, which is why the problem is new.

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

16 years agoWebCore:
darin [Sun, 8 Feb 2004 22:40:10 +0000 (22:40 +0000)]
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.

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

16 years ago Reviewed by Dave.
darin [Sun, 8 Feb 2004 21:13:07 +0000 (21:13 +0000)]
    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.

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

16 years agoUpdated tests affected by the list box width fix.
darin [Sun, 8 Feb 2004 18:33:29 +0000 (18:33 +0000)]
Updated tests affected by the list box width fix.

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

16 years ago Reviewed by Dave.
darin [Sun, 8 Feb 2004 02:44:08 +0000 (02:44 +0000)]
    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.

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

16 years agoWebCore:
darin [Sat, 7 Feb 2004 21:33:22 +0000 (21:33 +0000)]
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.

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

16 years ago * kwq/can-convert.mm: Added test program to see which conversions are actuall...
darin [Sat, 7 Feb 2004 20:56:54 +0000 (20:56 +0000)]
    * kwq/can-convert.mm: Added test program to see which conversions are actually supported by TEC.

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

16 years ago * Resources/missing_image.tiff: Compressed with compress-tiffs; saved 15890...
darin [Sat, 7 Feb 2004 02:20:15 +0000 (02:20 +0000)]
    * Resources/missing_image.tiff: Compressed with compress-tiffs; saved 15890 bytes.

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

16 years ago Implemented a TokenizerString that can walk a list of substrings, so that...
hyatt [Sat, 7 Feb 2004 01:19:44 +0000 (01:19 +0000)]
    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):

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

16 years agoBack to '128u'. The tree is open!
vicki [Sat, 7 Feb 2004 00:52:45 +0000 (00:52 +0000)]
Back to '128u'.  The tree is open!

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

16 years agoSafari-127 stamp
vicki [Sat, 7 Feb 2004 00:48:20 +0000 (00:48 +0000)]
Safari-127 stamp

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

16 years ago Reviewed by Chris
kocienda [Fri, 6 Feb 2004 22:33:03 +0000 (22:33 +0000)]
    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):

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

16 years ago Fixed 3550242 and 3546977. The first diff prevents an assert from firing. The...
rjw [Fri, 6 Feb 2004 21:29:17 +0000 (21:29 +0000)]
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):

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

16 years agoWebCore:
kocienda [Fri, 6 Feb 2004 00:28:44 +0000 (00:28 +0000)]
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).

        2. 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:]):

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

16 years ago Fix deployment build bustage.
hyatt [Thu, 5 Feb 2004 03:15:29 +0000 (03:15 +0000)]
Fix deployment build bustage.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (ConsoleConnectionChangeNotifyProc):

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

16 years ago Improve rule matching in the style system. Filter out most rules up front, so that...
hyatt [Thu, 5 Feb 2004 01:45:17 +0000 (01:45 +0000)]
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):

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

16 years ago Fix line-height regression on altavista.
hyatt [Wed, 4 Feb 2004 22:22:13 +0000 (22:22 +0000)]
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):

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

16 years agoCommitted new tests for RenderBR change
kocienda [Wed, 4 Feb 2004 21:49:45 +0000 (21:49 +0000)]
Committed new tests for RenderBR change

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

16 years ago Fix a regression in the line-height of first-lines and inline-blocks.
hyatt [Wed, 4 Feb 2004 21:33:12 +0000 (21:33 +0000)]
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):

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

16 years ago Fixed: <rdar://problem/3546028>: Safari should not give plug-ins any time, thus...
cblu [Wed, 4 Feb 2004 18:45:14 +0000 (18:45 +0000)]
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

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

16 years ago Reviewed by Maciej.
darin [Tue, 3 Feb 2004 01:18:18 +0000 (01:18 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3546613>: array of negative size leads to crash (test page at oscar.the-rileys.net)

        * kjs/array_object.cpp:
        (ArrayInstanceImp::ArrayInstanceImp): If the length is greater than 10,000, don't allocate an array until
        we start putting values in. This prevents new Array(2147483647) from causing trouble.
        (ArrayObjectImp::construct): Check number as described in specification, and raise a range error if the
        number is out of range. This prevents new Array(-1) from causing trouble.

        - fixed <rdar://problem/3545756>: Math.round screws up on numbers bigger than 2^31 (incorrect results on HP-35 calculator page)

        * kjs/math_object.cpp: (MathFuncImp::call): Change implementation to be much simpler and not involve
        casting to int. Results now match those in other browsers.

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

16 years agoWebKit:
sullivan [Mon, 2 Feb 2004 23:29:24 +0000 (23:29 +0000)]
WebKit:

        Reviewed by Darin.

        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _web_URLWithLowercasedScheme]):
        new method, returns a URL whose scheme has been tolower'ed

        * English.lproj/StringsNotToBeLocalized.txt:
        Updated for recent changes.

WebBrowser:

        - fixed <rdar://problem/3527598>:
        "(null)" appears for some malformed URLs in location bar

        Reviewed by Darin.

        * BrowserWebController.m:
        (-[BrowserWebView webView:unableToImplementPolicyWithError:frame:]):
        Call new _web_URLWithLowercasedScheme; the old code here was subtly
        transforming some degenerate URLs

        (-[BrowserWebView openURLExternallyWithRequest:inFrame:]):
        New error message to handle the case where [URL scheme] returns nil.

        * English.lproj/Localizable.strings:
        * English.lproj/StringsNotToBeLocalized.txt:
        updated for these changes

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

16 years agoWebCore:
cblu [Mon, 2 Feb 2004 23:23:10 +0000 (23:23 +0000)]
WebCore:

Fixed: <rdar://problem/3546924>: REGRESSION: dragging text or images over a WebView is jerky

        Reviewed by mjs.

        * WebCore-combined.exp:
        * WebCore.exp:
        * kwq/WebCoreBridge.h: added the DOM node element key constant (SPI for now)
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementAtPoint:]): instead of calling toHTML for every node, put the node on the element so the caller can get the HTML string representation when it needs to.
        * kwq/WebCoreDOMNode.mm:
        (-[WebCoreDOMNode HTMLString]): new

WebKit:

Fixed: <rdar://problem/3546924>: REGRESSION: dragging text or images over a WebView is jerky

        Reviewed by mjs.

        * DOM.subproj/WebDOMNode.h: added HTMLString to the protocol
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): get the HTML representation via the DOM node
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]): get the HTML representation via the DOM node
        * WebView.subproj/WebView.h: removed the HTML string element key constant
        * WebView.subproj/WebView.m: removed the HTML string element key constant

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

16 years ago Reviewed by Maciej.
darin [Mon, 2 Feb 2004 21:23:17 +0000 (21:23 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3519285>: integer operations on large negative numbers yield bad results (discovered with "HTMLCrypt")
        - fixed other related overflow issues

        * kjs/value.h: Changed return types of toInteger, toInt32, toUInt32, and toUInt16.
        * kjs/value.cpp:
        (ValueImp::toInteger): Change to return a double, since this operation, from the ECMA specification,
        must not restrict values to the range of a particular integer type.
        (ValueImp::toInt32): Used a sized integer type for the result of this function, and also added
        proper handling for negative results from fmod.
        (ValueImp::toUInt32): Ditto.
        (ValueImp::toUInt16): Ditto.
        (ValueImp::dispatchToUInt32): Changed result type from unsigned to uint32_t.

        * kjs/array_object.cpp: (ArrayProtoFuncImp::call): Use a double instead of an int to handle
        out-of-integer-range values better in the slice function.
        * kjs/internal.cpp: (KJS::roundValue): Streamline the function, handling NAN and infinity properly.
        * kjs/number_object.cpp: (NumberProtoFuncImp::call): Use a double instead of an int to handle
        out-of-integer-range values better in the toString function.
        * kjs/string_object.cpp: (StringProtoFuncImp::call): Use a double instead of an int to handle
        out-of-integer-range values better in the charAt, charCodeAt, indexOf, lastIndexOf, slice,
        and substr functions.

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

16 years ago Fixed: <rdar://problem/3546426>: when copying images via context menus, only some...
cblu [Mon, 2 Feb 2004 19:14:39 +0000 (19:14 +0000)]
Fixed: <rdar://problem/3546426>: when copying images via context menus, only some data is added to the pasteboard

        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): new, writes and image, URL and other optional arguments to the pasteboard
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): factored code out to _web_writeImage, call _web_writeImage
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeImage
        * WebView.subproj/WebImageView.m:
        (-[WebImageView writeImageToPasteboard:]): call _web_writeImage

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

16 years ago Reviewed by Maciej.
darin [Mon, 2 Feb 2004 18:55:26 +0000 (18:55 +0000)]
    Reviewed by Maciej.

        - use toInt32 where we really need an int, rather than toInteger,
          because toInteger needs to return an integral number as a double,
          not as an int

        * khtml/ecma/kjs_css.cpp:
        (DOMCSSStyleDeclarationProtoFunc::tryCall): Call toInt32 intead of toInteger.
        (DOMStyleSheetListFunc::tryCall): Ditto.
        (KJS::DOMMediaListProtoFunc::tryCall): Ditto.
        (DOMCSSStyleSheetProtoFunc::tryCall): Ditto.
        (DOMCSSRuleListFunc::tryCall): Ditto.
        (DOMCSSRuleFunc::tryCall): Ditto.
        (DOMCSSPrimitiveValueProtoFunc::tryCall): Ditto.
        (DOMCSSValueListFunc::tryCall): Ditto.
        * khtml/ecma/kjs_dom.cpp:
        (DOMCharacterDataProtoFunc::tryCall): Ditto.
        (DOMTextProtoFunc::tryCall): Ditto.
        * khtml/ecma/kjs_events.cpp:
        (DOMUIEventProtoFunc::tryCall): Ditto.
        (DOMMouseEventProtoFunc::tryCall): Ditto.
        (DOMKeyboardEventProtoFunc::tryCall): Ditto.
        (DOMMutationEventProtoFunc::tryCall): Ditto.
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElementFunction::tryCall): Ditto.
        (KJS::HTMLElement::putValue): Ditto.
        (KJS::HTMLSelectCollection::tryPut): Ditto.
        * khtml/ecma/kjs_range.cpp:
        (DOMRangeProtoFunc::tryCall): Ditto.
        * khtml/ecma/kjs_traversal.cpp: (JSNodeFilter::acceptNode): Ditto.
        * khtml/ecma/kjs_window.cpp:
        (WindowFunc::tryCall): Ditto.
        (HistoryFunc::tryCall): Ditto.

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

16 years ago Reviewed by John.
darin [Mon, 2 Feb 2004 18:42:37 +0000 (18:42 +0000)]
    Reviewed by John.

        - fix at least some of <rdar://problem/3546393>: 10,000 leaks, many of DOM::AtomicString::add, after one run of cvs-base

        * khtml/xml/dom_atomicstring.cpp: (DOM::AtomicString::add): Remove extra allocation of strings.
        This should speed things up a bit as well as fixing one big leak.

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

16 years ago - fixed build failure on Merlot
darin [Mon, 2 Feb 2004 18:11:58 +0000 (18:11 +0000)]
    - fixed build failure on Merlot

        * Misc.subproj/WebNSPasteboardExtras.m: Import just CoreTranslationFlavorTypeNames.h rather than all of
        ApplicationServicesPriv.h; should compile faster and avoid build failure.

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

16 years agoWebCore:
cblu [Mon, 2 Feb 2004 17:47:31 +0000 (17:47 +0000)]
WebCore:

Fixed: <rdar://problem/3546379>: support for editing via drag & drop

        Reviewed by kocienda.

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::deleteSelection): fixed a crash I encountered while attempting to delete and empty selection
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge isSelectionEditable]): renamed from isEditable
        (-[WebCoreBridge moveCaretToPoint:]): new
        (-[WebCoreBridge elementAtPoint:]): added support for WebCoreElementHTMLStringKey and WebCoreElementIsEditableKey

WebKit:

Fixed: <rdar://problem/3546379>: support for editing via drag & drop

        Reviewed by kocienda.

        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): added a HTMLString argument so that we retain all attributes when dragging images
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _canDelete]): call renamed isSelectionEditable
        (-[WebHTMLView _canPaste]): call renamed isSelectionEditable
        (-[WebHTMLView _pasteHTMLFromPasteboard:]): new, factored out from paste:
        (-[WebHTMLView _handleMouseDragged:]): removed code that returned early if we were loading, this kind of protection is no longer needed since we now retain the view while dragging, call renamed _web_dragImage
        (-[WebHTMLView initWithFrame:]): register for drop types
        (-[WebHTMLView paste:]): call _pasteHTMLFromPasteboard
        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): set new isDragging BOOL to YES
        (-[WebHTMLView draggedImage:endedAt:operation:]): set new isDragging BOOL to NO
        (-[WebHTMLView draggingEntered:]): new
        (-[WebHTMLView draggingUpdated:]): new, handle caret movement during the drag
        (-[WebHTMLView prepareForDragOperation:]): new
        (-[WebHTMLView performDragOperation:]): new
        (-[WebHTMLView concludeDragOperation:]): new, paste in the drag
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView mouseDragged:]): call renamed _web_dragImage
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:

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

16 years ago Fix for 3522497, <br>s should not get AXObjects created.
hyatt [Sat, 31 Jan 2004 00:29:31 +0000 (00:29 +0000)]
Fix for 3522497, <br>s should not get AXObjects created.

        Reviewed by mjs

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject accessibilityIsIgnored]):

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

16 years agochange version number from '126' to '127u'
vicki [Sat, 31 Jan 2004 00:16:24 +0000 (00:16 +0000)]
change version number from '126' to '127u'

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

16 years agoSafari-126 stamp
vicki [Sat, 31 Jan 2004 00:11:33 +0000 (00:11 +0000)]
Safari-126 stamp

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

16 years ago Fixed 3542044. Create KJS::String using UString constructor instead of passing...
rjw [Fri, 30 Jan 2004 22:53:12 +0000 (22:53 +0000)]
Fixed 3542044.  Create KJS::String using UString constructor instead of passing UTF8 string to char* constructor.

        Reviewed by Darin.

        * bindings/jni/jni_instance.cpp:
        (JavaInstance::stringValue):

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

16 years ago Fix a regression I introduced in my atomicstring patch. I meant to say !attr->isNul...
hyatt [Fri, 30 Jan 2004 21:00:38 +0000 (21:00 +0000)]
Fix a regression I introduced in my atomicstring patch.  I meant to say !attr->isNull() in the contentedtiable
attribute parsing code.

        Reviewed by cblu

        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::parseAttribute):

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

16 years ago Make m_lineHeight be cached on RenderFlow instead of RenderText and avoid recomputin...
hyatt [Fri, 30 Jan 2004 19:12:55 +0000 (19:12 +0000)]
Make m_lineHeight be cached on RenderFlow instead of RenderText and avoid recomputing it so much when it
is not set by CSS (since calls to fontMetrics().lineSpacing() are expensive).

Yields ~1.5% performance improvement.

        Reviewed by darin

        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::setStyle):
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::lineHeight):
        * khtml/rendering/render_flow.h:
        * khtml/rendering/render_inline.cpp:
        (RenderInline::setStyle):
        * khtml/rendering/render_object.cpp:
        (RenderObject::verticalPositionHint):
        (RenderObject::lineHeight):
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_text.cpp:
        (RenderText::setStyle):
        (RenderText::checkSelectionPointIgnoringContinuations):
        (RenderText::height):
        (RenderText::lineHeight):
        * khtml/rendering/render_text.h:

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

16 years ago Fixed: <rdar://problem/3536126>: REGRESSION (Merlot): WebKit dragging is in strange...
cblu [Fri, 30 Jan 2004 18:36:33 +0000 (18:36 +0000)]
Fixed: <rdar://problem/3536126>: REGRESSION (Merlot): WebKit dragging is in strange location

        Reviewed by kocienda.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]): use the proper offset when dragging text

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

16 years ago Disable XBL. The loadBindings call was taking 0.1-0.25%. While I know how to get...
hyatt [Fri, 30 Jan 2004 09:06:44 +0000 (09:06 +0000)]
Disable XBL.  The loadBindings call was taking 0.1-0.25%.  While I know how to get rid of this overhead,
it's easier for now to just disable all of XBL.

        * WebCorePrefix.h:
        * khtml/misc/loader.h:
        * khtml/xbl/xbl_binding.cpp:
        * khtml/xbl/xbl_binding_manager.cpp:
        * khtml/xbl/xbl_docimpl.cpp:
        * khtml/xbl/xbl_protobinding.cpp:
        * khtml/xbl/xbl_protohandler.cpp:
        * khtml/xbl/xbl_protoimplementation.cpp:
        * khtml/xbl/xbl_tokenizer.cpp:

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

16 years ago Atomize font families (KWQFontFamily) and all attribute values. Move atomic string...
hyatt [Fri, 30 Jan 2004 07:44:45 +0000 (07:44 +0000)]
Atomize font families (KWQFontFamily) and all attribute values.  Move atomic string into separate files.

In my testing, this patch yields the same score as Safari-125 in tests and recovers all lost performance
(mostly from excess copying of AtomicStrings where DOMStringImpl* used to be returned).

        Reviewed by darin

        * ForwardingHeaders/xml/dom_atomicstring.h: Added.
        * WebCore.pbproj/project.pbxproj:
        * khtml/css/css_base.cpp:
        (CSSSelector::print):
        (CSSSelector::extractPseudoType):
        (CSSSelector::selectorText):
        * khtml/css/css_valueimpl.cpp:
        (FontFamilyValueImpl::FontFamilyValueImpl):
        * khtml/css/cssparser.cpp:
        (CSSParser::parseFontFamily):
        * khtml/css/cssparser.h:
        * khtml/css/cssstyleselector.cpp:
        (khtml::checkPseudoState):
        (khtml::CSSStyleSelector::checkOneSelector):
        (khtml::CSSStyleSelector::applyRule):
        * khtml/dom/dom_element.cpp:
        (Element::getAttributeNS):
        * khtml/dom/dom_string.cpp:
        (DOMString::toInt):
        (DOMString::toLengthArray):
        (DOM::operator==):
        * khtml/dom/dom_string.h:
        (DOM::operator==):
        (DOM::operator!=):
        * khtml/ecma/kjs_navigator.cpp:
        (Plugins::get):
        (MimeTypes::get):
        (Plugin::get):
        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::parseAttribute):
        (HTMLFrameElementImpl::isURLAllowed):
        (HTMLFrameElementImpl::openURL):
        (HTMLFrameElementImpl::parseAttribute):
        (HTMLFrameElementImpl::attach):
        (HTMLFrameElementImpl::setLocation):
        (HTMLFrameSetElementImpl::parseAttribute):
        (HTMLIFrameElementImpl::attach):
        * khtml/html/html_baseimpl.h:
        * khtml/html/html_blockimpl.cpp:
        (HTMLHRElementImpl::parseAttribute):
        (HTMLHRElementImpl::attach):
        (HTMLMarqueeElementImpl::parseAttribute):
        * khtml/html/html_documentimpl.cpp:
        (HTMLDocumentImpl::documentElement):
        * khtml/html/html_documentimpl.h:
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::parseAttribute):
        (HTMLElementImpl::addCSSLength):
        (HTMLElementImpl::addHTMLAlignment):
        * khtml/html/html_elementimpl.h:
        * khtml/html/html_formimpl.cpp:
        (HTMLGenericFormElementImpl::parseAttribute):
        (HTMLInputElementImpl::parseAttribute):
        (HTMLInputElementImpl::attach):
        (HTMLSelectElementImpl::parseAttribute):
        (HTMLKeygenElementImpl::parseAttribute):
        (HTMLKeygenElementImpl::encoding):
        (HTMLOptionElementImpl::parseAttribute):
        (HTMLTextAreaElementImpl::parseAttribute):
        * khtml/html/html_formimpl.h:
        * khtml/html/html_headimpl.cpp:
        (HTMLLinkElementImpl::parseAttribute):
        (HTMLStyleElementImpl::parseAttribute):
        * khtml/html/html_imageimpl.cpp:
        (HTMLImageElementImpl::parseAttribute):
        (HTMLAreaElementImpl::parseAttribute):
        * khtml/html/html_inlineimpl.cpp:
        (HTMLAnchorElementImpl::parseAttribute):
        * khtml/html/html_listimpl.cpp:
        (HTMLOListElementImpl::parseAttribute):
        (HTMLLIElementImpl::parseAttribute):
        * khtml/html/html_miscimpl.cpp:
        (HTMLCollectionImpl::getNamedItem):
        (HTMLFormCollectionImpl::getNamedFormItem):
        (HTMLFormCollectionImpl::getNamedImgItem):
        * khtml/html/html_objectimpl.cpp:
        (HTMLEmbedElementImpl::parseAttribute):
        (HTMLObjectElementImpl::parseAttribute):
        (HTMLParamElementImpl::HTMLParamElementImpl):
        (HTMLParamElementImpl::~HTMLParamElementImpl):
        (HTMLParamElementImpl::parseAttribute):
        * khtml/html/html_objectimpl.h:
        (DOM::HTMLParamElementImpl::name):
        (DOM::HTMLParamElementImpl::value):
        * khtml/html/html_tableimpl.cpp:
        (HTMLTableElementImpl::parseAttribute):
        (HTMLTablePartElementImpl::parseAttribute):
        (HTMLTableCellElementImpl::parseAttribute):
        (HTMLTableColElementImpl::parseAttribute):
        * khtml/html/htmlparser.cpp:
        (KHTMLParser::insertNode):
        (KHTMLParser::handleIsindex):
        * khtml/html/htmltokenizer.cpp:
        (HTMLTokenizer::parseTag):
        * khtml/html/htmltokenizer.h:
        (khtml::Token::addAttribute):
        * khtml/khtml_part.cpp:
        (KHTMLPart::init):
        * khtml/khtmlview.cpp:
        (KHTMLToolTip::maybeTip):
        * khtml/xml/dom_atomicstring.cpp: Added.
        (DOM::AtomicStringStatisticsExitLogger::~AtomicStringStatisticsExitLogger):
        (DOM::AtomicString::equal):
        (DOM::AtomicString::add):
        (DOM::AtomicString::insert):
        (DOM::AtomicString::remove):
        (DOM::AtomicString::expand):
        (DOM::AtomicString::shrink):
        (DOM::AtomicString::rehash):
        (DOM::AtomicString::init):
        (DOM::operator==):
        (DOM::equalsIgnoreCase):
        * khtml/xml/dom_atomicstring.h: Added.
        (DOM::AtomicString::AtomicString):
        (DOM::AtomicString:::m_string):
        (DOM::AtomicString::operator const DOMString&):
        (DOM::AtomicString::domString):
        (DOM::AtomicString::string):
        (DOM::AtomicString::implementation):
        (DOM::AtomicString::unicode):
        (DOM::AtomicString::length):
        (DOM::AtomicString::ascii):
        (DOM::AtomicString::find):
        (DOM::AtomicString::toInt):
        (DOM::AtomicString::percentage):
        (DOM::AtomicString::toLengthArray):
        (DOM::AtomicString::isNull):
        (DOM::AtomicString::isEmpty):
        (DOM::AtomicString::equal):
        (DOM::operator==):
        (DOM::operator!=):
        * khtml/xml/dom_atomicstringlist.h: Added.
        (DOM::AtomicStringList:::m_next):
        (DOM::AtomicStringList::m_next):
        (DOM::AtomicStringList::~AtomicStringList):
        (DOM::AtomicStringList::next):
        (DOM::AtomicStringList::setNext):
        (DOM::AtomicStringList::string):
        (DOM::AtomicStringList::setString):
        (DOM::AtomicStringList::clone):
        (DOM::AtomicStringList::clear):
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_elementimpl.cpp:
        (AttrImpl::nodeValue):
        (AttrImpl::cloneNode):
        (ElementImpl::getAttribute):
        (ElementImpl::getAttributeNS):
        (ElementImpl::setAttribute):
        (ElementImpl::setAttributeMap):
        (ElementImpl::attach):
        (ElementImpl::detach):
        (ElementImpl::updateId):
        (NamedAttrMapImpl::setNamedItem):
        (NamedAttrMapImpl::removeNamedItem):
        (NamedAttrMapImpl::getAttributeItem):
        (NamedAttrMapImpl::operator=):
        (NamedAttrMapImpl::removeAttribute):
        * khtml/xml/dom_elementimpl.h:
        (DOM::AttributeImpl::AttributeImpl):
        (DOM::AttributeImpl::value):
        (DOM::AttributeImpl::prefix):
        (DOM::AttributeImpl::isNull):
        (DOM::AttributeImpl::isEmpty):
        (DOM::AttributeImpl::setValue):
        (DOM::AttributeImpl::setPrefix):
        (DOM::ElementImpl::getAttribute):
        * khtml/xml/dom_nameimpl.cpp: Removed.
        * khtml/xml/dom_nameimpl.h:
        (DOM::Name::namespaceURI):
        (DOM::Name::localName):
        * khtml/xml/dom_nodeimpl.h:
        * khtml/xml/dom_stringimpl.cpp:
        * kwq/KWQFont.mm:
        (QFont::family):
        * kwq/KWQFontFamily.h:
        (KWQFontFamily::family):
        * kwq/KWQFontFamily.mm:
        (retainDOMStringImpl):
        (releaseDOMStringImpl):
        (KWQFontFamily::getNSFamily):
        (KWQFontFamily::setFamily):
        (KWQFontFamily::operator==):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::fileWrapperForElement):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementAtPoint:]):

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

16 years ago Fixed: <rdar://problem/3543619>: copied HTML is strangely formatted, random whitespa...
cblu [Thu, 29 Jan 2004 22:00:43 +0000 (22:00 +0000)]
Fixed: <rdar://problem/3543619>: copied HTML is strangely formatted, random whitespace and return characters

        Reviewed by dave.

        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::recursive_toHTMLWithRange): remove all code that tries to format the HTML since we can rely on the existing white space to preserve the original formatting

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

16 years agoTests:
sullivan [Thu, 29 Jan 2004 02:16:33 +0000 (02:16 +0000)]
Tests:

        Reviewed by Dave.

        * Blot/blot-tasks.txt:
        Mentioned NSTextView's (and therefore Mail's) option-Escape behavior here
        since we will probably have to implement it also; clarified a comment.

WebCore:

        Reviewed by Dave.

        * khtml/rendering/render_text.cpp:
        (RenderText::paintObject):
        Increment s in the while() clause so it is incremented even
        after a continue statement. This fixes an infinite loop I ran
        into in the printing code path at certain scaled print sizes
        on certain pages.

WebKit:

        More header/footer work: refactored the header/footer code so it could
        be easily reused by other WebDocument classes; used it from WebImageView
        and WebTextView; removed the page count parameters because it's possible
        (though currently nasty, see 3543078) to determine this in the client.

        Reviewed by Dave.

        * Misc.subproj/WebNSPrintOperationExtras.h Added.
        * Misc.subproj/WebNSPrintOperationExtras.m Added.
        (-[NSPrintOperation _web_pageSetupScaleFactor]):
        new convenience method.

        * WebView.subproj/WebUIDelegatePrivate.h:
        Removed page index and page count parameters from delegate methods.

        * WebView.subproj/WebViewPrivate.h:
        New private category for header/footer printing methods so that different
        WebDocument methods can share almost all of the code.

        * WebView.subproj/WebView.m:
        (-[WebView _headerHeight]):
        (-[WebView _footerHeight]):
        (-[WebView _drawHeaderInRect:]):
        (-[WebView _drawFooterInRect:]):
        (-[WebView _adjustPrintingMarginsForHeaderAndFooter]):
        (-[WebView _drawHeaderAndFooter]):
        Moved all of these methods here, formerly in WebHTMLView. Removed the
        page index and page count parameters.

        * WebView.subproj/WebHTMLView.m:
        Removed all the header/footer code that's now in WebView.m, and the
        method that's now -[NSPrintOperation _web_pageSetupScaleFactor]
        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
        call methods differently that have now been moved
        (-[WebHTMLView _scaleFactorForPrintOperation:]):
        ditto
        (-[WebHTMLView knowsPageRange:]):
        ditto
        (-[WebHTMLView drawPageBorderWithSize:]):
        now just turns around and calls -[WebView _drawHeaderAndFooter]

        * WebView.subproj/WebImageView.m:
        (-[WebImageView drawPageBorderWithSize:]):
        new method, just calls -[WebView _drawHeaderAndFooter]
        (-[WebImageView beginDocument]):
        now calls -[WebView _adjustPrintMarginsForHeaderAndFooter], also moved in file.
        (-[WebImageView endDocument]):
        just moved in file.

        * WebView.subproj/WebTextView.m:
        (-[WebTextView drawPageBorderWithSize:]):
        new method, just calls -[WebView _drawHeaderAndFooter]
        (-[WebTextView knowsPageRange:]):
        overridden to call -[WebView _adjustPrintMarginsForHeaderAndFooter]

        * WebKit.pbproj/project.pbxproj:
        updated for added files

WebBrowser:

        Some header/footer cleanup.

        Reviewed by Dave.

        * BrowserWebViewPrinting.m:
        (-[BrowserWebView webView:drawHeaderInRect:]):
        Removed obsolete page index and count parameters.
        Use displayName rather than currentTitle because it works for all
        document types (currentTitle didn't work for plain text pages).
        (-[BrowserWebView webView:drawFooterInRect:]):
        Removed obsolete page index and count parameters.
        Did some AppKit hackery to get the total document page count in a way that
        works for any print operation. Now handles the case where the page count
        is unknown (by printing "Page <x>" instead of "Page <x> of <n>"). Also added
        a 1 pixel offset to the footer's baseline to work around AppKit bug where
        the descenders in the footer were getting slightly clipped at some scale
        factors.

        * English.lproj/Localizable.strings:
        updated for these changes

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

16 years ago Fixed: <rdar://problem/3543041>: when pasting an image, cursor should be after the...
cblu [Thu, 29 Jan 2004 01:26:38 +0000 (01:26 +0000)]
Fixed: <rdar://problem/3543041>: when pasting an image, cursor should be after the image, not before

        Reviewed by rjw.

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::pasteHTMLString): when the last node of the paste is non-text, use 1 instead of 0 as the start offset of the caret

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

16 years ago Reviewed by Hyatt
kocienda [Thu, 29 Jan 2004 00:22:29 +0000 (00:22 +0000)]
    Reviewed by Hyatt

A small collection of fixes and improvements to editing.

Added a forwarding header for dom_position.h
Added some debugging output to KHTMLSelection
Added support for left arrow navigation.
Greatly improved support for right arrow navigation.
Added include guards to dom_position.h. Oops!
Removed pruneEmptyNodes() function from htmlediting.cpp. That was crack.
Improved the text insert command so that it splits the text node being
    operated on only when necessary.
Added support for placing the caret in and arrowing into BR elements.
Moved precedesLineBreak/followsLineBreak from RenderText to RenderObject.

        * ForwardingHeaders/dom/dom_position.h: Added.
        * khtml/dom/dom_position.h:
        * khtml/editing/htmlediting.cpp:
        (InputTextCommand::apply):
        (DeleteTextCommand::apply):
        * khtml/khtml_selection.cpp:
        (KHTMLSelection::setSelection):
        (KHTMLSelection::alterSelection):
        (KHTMLSelection::update):
        (KHTMLSelection::previousCharacterPosition):
        (KHTMLSelection::nextCharacterPosition):
        (startAndEndLineNodesIncludingNode):
        (KHTMLSelection::debugRenderer):
        (KHTMLSelection::debugPosition):
        * khtml/khtml_selection.h:
        * khtml/rendering/render_br.cpp:
        (RenderBR::RenderBR):
        (RenderBR::position):
        (RenderBR::caretMaxOffset):
        (RenderBR::caretPos):
        * khtml/rendering/render_br.h:
        (khtml::RenderBR::xPos):
        (khtml::RenderBR::yPos):
        (khtml::RenderBR::height):
        * khtml/rendering/render_object.cpp:
        (RenderObject::precedesLineBreak):
        (RenderObject::followsLineBreak):
        (RenderObject::isEditable):
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_text.cpp:
        (RenderText::caretPos):
        (RenderText::position):
        (RenderText::caretMaxOffset):
        * khtml/rendering/render_text.h:
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::defaultEventHandler):

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

16 years agoAdd layout test for checking the cascade of the clear property.
hyatt [Wed, 28 Jan 2004 21:26:06 +0000 (21:26 +0000)]
Add layout test for checking the cascade of the clear property.

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

16 years ago Fix for 3537694, make blocks for parents of inline children be axobjects.
hyatt [Wed, 28 Jan 2004 21:22:32 +0000 (21:22 +0000)]
Fix for 3537694, make blocks for parents of inline children be axobjects.

        Reviewed by kocienda

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject role]):
        (-[KWQAccObject accessibilityIsIgnored]):

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

16 years ago Make AtomicString a new class that owns DOMStrings, instead of using KJS::Identifier...
hyatt [Wed, 28 Jan 2004 21:19:39 +0000 (21:19 +0000)]
Make AtomicString a new class that owns DOMStrings, instead of using KJS::Identifier.  One day when we
convert DOMString and UString to have the same underlying rep, then these classes could possibly re-merge.
For now this provides an easy migration path for all the code that is using DOMStringImpl*.

Also fixed a bug with float clearing in the style cascade.

        Reviewed by darin

        * khtml/css/cssparser.h:
        (DOM::atomicString):
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::checkOneSelector):
        (khtml::CSSStyleSelector::applyRule):
        * khtml/dom/dom_string.cpp:
        (DOMString::DOMString):
        * khtml/xml/dom_nameimpl.cpp:
        (DOM::AtomicStringStatisticsExitLogger::~AtomicStringStatisticsExitLogger):
        (DOM::AtomicString::equal):
        (DOM::AtomicString::add):
        (DOM::AtomicString::insert):
        (DOM::AtomicString::remove):
        (DOM::AtomicString::expand):
        (DOM::AtomicString::shrink):
        (DOM::AtomicString::rehash):
        (DOM::AtomicString::null):
        (DOM::AtomicString::init):
        (DOM::operator==):
        (DOM::equalsIgnoreCase):
        * khtml/xml/dom_nameimpl.h:
        (DOM::AtomicString::AtomicString):
        (DOM::AtomicString:::m_string):
        (DOM::AtomicString::string):
        (DOM::AtomicString::qstring):
        (DOM::AtomicString::implementation):
        (DOM::AtomicString::unicode):
        (DOM::AtomicString::length):
        (DOM::AtomicString::ascii):
        (DOM::AtomicString::find):
        (DOM::AtomicString::isNull):
        (DOM::AtomicString::isEmpty):
        (DOM::AtomicString::equal):
        (DOM::operator==):
        (DOM::operator!=):
        * khtml/xml/dom_stringimpl.cpp:
        (DOM::DOMStringImpl::empty):
        (DOM::DOMStringImpl::DOMStringImpl):
        (DOM::DOMStringImpl::~DOMStringImpl):
        (DOM::DOMStringImpl::append):
        (DOM::DOMStringImpl::insert):
        (DOM::DOMStringImpl::truncate):
        (DOM::DOMStringImpl::remove):
        (DOM::DOMStringImpl::split):
        (DOM::DOMStringImpl::substring):
        (DOM::DOMStringImpl::replace):
        (DOM::DOMStringImpl::computeHash):
        * khtml/xml/dom_stringimpl.h:
        (DOM::DOMStringImpl::DOMStringImpl):
        (DOM::DOMStringImpl::hash):
        * khtml/xml/dom_textimpl.cpp:
        (CharacterDataImpl::CharacterDataImpl):

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

16 years agoWebKit:
cblu [Wed, 28 Jan 2004 21:09:14 +0000 (21:09 +0000)]
WebKit:

Fixed: <rdar://problem/3197222>: need context menu items for back, forward, refresh.

        Reviewed by rjw.

        * English.lproj/Localizable.strings:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate menuItemWithTag:]): added support for WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags
        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): added support for Back, Forward, Stop and Reload
        * WebView.subproj/WebUIDelegate.h: added WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags

WebBrowser:

Fixed: <rdar://problem/3197222>: need context menu items for back, forward, refresh.

        Reviewed by rjw.

        * ContextMenuHandler.m:
        (-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]): added support for Back, Forward, Stop and Reload

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

16 years agoTests:
sullivan [Wed, 28 Jan 2004 02:25:17 +0000 (02:25 +0000)]
Tests:

        * Blot/Blot.xcode/project.pbxproj:
        added blot-api.txt

WebKit:

        WebKit part of fixes for:
        <rdar://problem/3123975>: ER: please list the source URL in the header
        or footer when printing the contents of a page
        <rdar://problem/3184091>: Safari - Configurable printing header/footer
        <rdar://problem/3306826>: Please allow printing the date (as well as URL)
        in the header or footer

        Reviewed by Dave.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _headerHeight]):
        new method, gets result from WebView's UI delegate or returns 0
        (-[WebHTMLView _footerHeight]):
        new method, gets result from WebView's UI delegate or returns 0
        (-[WebHTMLView _drawHeaderInRect:]):
        new method, gives WebView's UI delegate a chance to draw header
        (-[WebHTMLView _drawFooterInRect:]):
        new method, gives WebView's UI delegate a chance to draw footer
        (-[WebHTMLView _adjustPrintingMarginsForHeaderAndFooter]):
        new method, adds header and footer heights into page margins so
        AppKit printing code will compute and use the right area
        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
        now calls _adjustPrintingMarginsForHeaderAndFooter if starting to print
        (-[WebHTMLView drawPageBorderWithSize:]):
        new method, computes rects for header and footer and calls new drawing methods

        * WebView.subproj/WebUIDelegatePrivate.h:
        add header and footer-related delegate methods

WebBrowser:

        WebBrowser part of fixes for:
        <rdar://problem/3123975>: ER: please list the source URL in the header
        or footer when printing the contents of a page
        <rdar://problem/3184091>: Safari - Configurable printing header/footer
        <rdar://problem/3306826>: Please allow printing the date (as well as URL)
        in the header or footer

        Reviewed by Dave.

        * BrowserWebController.m:
        moved webViewPrint: from here to new file

        * BrowserWebViewPrinting.m: Added.
        (-[BrowserWebView webViewPrint:]):
        moved this here from BrowserWebController.m
        (headerFooterFont):
        new function, returns the font used in header and footer
        (printHeadersAndFooters):
        new function, returns the preference value
        (-[BrowserWebView webViewHeaderHeight:]):
        new method, bases the header height on the font height, with some pleasant whitespace
        (-[BrowserWebView webViewFooterHeight:]):
        new method, bases the footer's height on the font height, with some pleasant whitespace
        (-[BrowserWebView drawLeftString:rightString:inRect:atBaseline:withFont:]):
        new method, used to draw a long truncated string on the left and short
        nontruncated string on the right
        (-[BrowserWebView webView:drawHeaderInRect:forPage:of:]):
        new method, draws title on left and date/time on right
        (-[BrowserWebView webView:drawFooterInRect:forPage:of:]):
        new method, draws URL on left and page x of n on right

        * PreferenceKeys.h:
        new preference key PrintHeaderAndFooterPreferenceKey

        * Defaults.plist:
        default value of PrintHeaderAndFooterPreferenceKey is true

        * English.lproj/PrintingAccessoryView.nib:
        added checkbox for "Print Headers and Footers"

        * PrintingAccessoryViewController.h:
        * PrintingAccessoryViewController.m:
        (-[PrintingAccessoryViewController togglePrintHeadersAndFooters:]):
        new method, toggles the preference
        (-[PrintingAccessoryViewController accessoryView]):
        now updates the setting of the Print Headers and Footers checkbox

        * English.lproj/Localizable.strings:
        updated for these changes

        * WebBrowser.pbproj/project.pbxproj:
        updated to add new file

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

16 years agoWebCore:
cblu [Wed, 28 Jan 2004 01:50:35 +0000 (01:50 +0000)]
WebCore:

Fixed:
<rdar://problem/3541812>: Implement Paste menu item
<rdar://problem/3541814>: Implement Delete menu item
<rdar://problem/3541811>: Implement Cut menu item

        Reviewed by dave.

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::deleteSelection): new
        (DocumentImpl::pasteHTMLString): new
        * khtml/xml/dom_docimpl.h:
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge isEditable]): new
        (-[WebCoreBridge pasteHTMLString:]): new
        (-[WebCoreBridge deleteSelection]): new
        (-[WebCoreBridge haveSelection]): new

WebKit:

Fixed:
<rdar://problem/3541812>: Implement Paste menu item
<rdar://problem/3541814>: Implement Delete menu item
<rdar://problem/3541811>: Implement Cut menu item

        Reviewed by dave.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _haveSelection]): new, renamed from hasSelection, calls haveSelection on the bridge, quicker than generating string rep of selection
        (-[WebHTMLView _canDelete]): new
        (-[WebHTMLView _canPaste]): new
        (-[WebHTMLView takeFindStringFromSelection:]): call renamed _haveSelection
        (-[WebHTMLView cut:]): new
        (-[WebHTMLView delete:]): new
        (-[WebHTMLView paste:]): new
        (-[WebHTMLView validateUserInterfaceItem:]): updated for new methods
        (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _haveSelection
        * WebView.subproj/WebHTMLViewPrivate.h:

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

16 years agoFixed typo in previous ChangeLog.
cblu [Tue, 27 Jan 2004 23:45:10 +0000 (23:45 +0000)]
Fixed typo in previous ChangeLog.

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

16 years ago Fixed build breakage.
cblu [Tue, 27 Jan 2004 23:44:32 +0000 (23:44 +0000)]
    Fixed build breakage.

        Reviewed by darin.

        * WebKit.pbproj/project.pbxproj: Use full patch instead of -L to get at WebKitSecurity.a

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

16 years agoFix some tabs (Darin made me do it).
cblu [Tue, 27 Jan 2004 23:39:25 +0000 (23:39 +0000)]
Fix some tabs (Darin made me do it).

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

16 years ago Fixed: <rdar://problem/3536624>: Webkit 1.2 links against SecurityNssAsn1.framework
cblu [Tue, 27 Jan 2004 23:38:03 +0000 (23:38 +0000)]
Fixed: <rdar://problem/3536624>: Webkit 1.2 links against SecurityNssAsn1.framework

        Reviewed by Darin.

        * WebCoreSupport.subproj/WebKeyGeneration.h: Set DISABLE_WEB_KEY_GENERATION on Merlot for now.
Then don't include anything if that's set.
        * WebCoreSupport.subproj/WebKeyGeneration.cpp: Don't compile anything if DISABLE_WEB_KEY_GENERATION
is set.
        * WebCoreSupport.subproj/WebKeyGenerator.m:
        (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]):
Always return nil if DISABLE_WEB_KEY_GENERATION is set.
        (-[WebKeyGenerator addCertificatesToKeychainFromData:]): Always return failure if
DISABLE_WEB_KEY_GENERATION is set.

        * WebKit.pbproj/project.pbxproj: Added shell build step to make library with security
libraries in it. On Merlot, makes empty library. Also added library to link options.
        * WebKitSecurityDummy.c: Added. Used to make empty version of library for build on Merlot.

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

16 years ago Add a new AtomicString type (that is really just a KJS::Identifier). Define a Name...
hyatt [Tue, 27 Jan 2004 19:08:34 +0000 (19:08 +0000)]
Add a new AtomicString type (that is really just a KJS::Identifier).  Define a Name class that will eventually
be used for element and attribute names.

Atomize the CSS selector's "value" field, used to hold class names, identifier names, attribute values, and
pseudo-element names.

        Reviewed by rjw

        * ForwardingHeaders/kjs/identifier.h: Added.
        * WebCore.pbproj/project.pbxproj:
        * khtml/css/css_base.cpp:
        (CSSSelector::print):
        (CSSSelector::specificity):
        (CSSSelector::extractPseudoType):
        (CSSSelector::selectorText):
        * khtml/css/css_base.h:
        (DOM::CSSSelector::):
        * khtml/css/cssparser.cpp:
        (ParseString::lower):
        * khtml/css/cssparser.h:
        (DOM::atomicString):
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::checkOneSelector):
        * khtml/css/parser.cpp:
        * khtml/css/parser.y:
        * khtml/html/html_elementimpl.cpp:
        (:NamedAttrMapImpl):
        (HTMLNamedAttrMapImpl::clearAttributes):
        (HTMLNamedAttrMapImpl::isHTMLAttributeMap):
        (HTMLNamedAttrMapImpl::parseClassAttribute):
        (HTMLNamedAttrMapImpl::matchesCSSClass):
        (HTMLElementImpl::parseAttribute):
        (HTMLElementImpl::createAttributeMap):
        (HTMLElementImpl::matchesCSSClass):
        * khtml/html/html_elementimpl.h:
        * khtml/html/html_objectimpl.cpp:
        (HTMLObjectElementImpl::recalcStyle):
        * khtml/html/htmltokenizer.h:
        (khtml::Token::addAttribute):
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::matchesCSSClass):
        (NamedAttrMapImpl::isHTMLAttributeMap):
        (NamedAttrMapImpl::operator=):
        * khtml/xml/dom_elementimpl.h:
        * khtml/xml/dom_nameimpl.cpp: Added.
        (DOM::AtomicStringList::clone):
        (DOM::operator==):
        (DOM::equalsIgnoreCase):
        * khtml/xml/dom_nameimpl.h: Added.
        (DOM::AtomicStringList:::m_next):
        (DOM::AtomicStringList::m_next):
        (DOM::AtomicStringList::~AtomicStringList):
        (DOM::AtomicStringList::next):
        (DOM::AtomicStringList::setNext):
        (DOM::AtomicStringList::string):
        (DOM::AtomicStringList::setString):
        (DOM::AtomicStringList::clear):
        (DOM::Name::Name):
        (DOM::Name::m_localName):
        (DOM::Name::namespaceURI):
        (DOM::Name::localName):
        (DOM::operator==):
        (DOM::operator!=):
        * khtml/xml/dom_nodeimpl.h:

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

16 years ago Reviewed by Ken.
darin [Tue, 27 Jan 2004 16:33:19 +0000 (16:33 +0000)]
    Reviewed by Ken.

        - fixed <rdar://problem/3526056>: W3C says that DEL key identifier should be U+00007F, we give ForwardDelete instead

        * kwq/KWQEvent.mm: (keyIdentifierForKeyEvent): Correct the key identifiers for the Delete, Insert,
        Menu, Scroll Lock, and Select keys, as well as some obscure F25 and higher keys. Also add some
        explicit constants for the keys defined in NSEvent.h that we map to a key identifier using the
        vendor-area Unicode values (which are probably not appropriate).

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

16 years ago Make a change suggested by kocienda to add a remove() method to InlineBoxes.
hyatt [Tue, 27 Jan 2004 10:01:55 +0000 (10:01 +0000)]
Make a change suggested by kocienda to add a remove() method to InlineBoxes.

        Reviewed by kocienda

        * khtml/rendering/render_box.cpp:
        (RenderBox::detach):
        (RenderBox::position):
        * khtml/rendering/render_line.cpp:
        (InlineBox::remove):
        * khtml/rendering/render_line.h:
        * khtml/rendering/render_text.cpp:
        (RenderText::detach):
        (RenderText::position):

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

16 years ago Reviewed by Maciej.
darin [Tue, 27 Jan 2004 06:27:36 +0000 (06:27 +0000)]
    Reviewed by Maciej.

        - follow-on to the text-align change I did earlier today

        * khtml/css/html4.css: Set input and textarea so they do not inherit text-align
        from their parent by doing "text-align: -khtml-auto". This fixes google.com among others.

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

16 years ago Reviewed by Maciej.
darin [Tue, 27 Jan 2004 05:55:58 +0000 (05:55 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3539414>: pop-up windows appear very narrow because of bogus width (carad.com/ebaymotors)

        * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Check the "OK" result from toFloat in
        window.open, and omit any parameters that can't be parsed.

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

16 years ago Reviewed by Maciej.
darin [Tue, 27 Jan 2004 05:35:36 +0000 (05:35 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3537371>: REGRESSION (100-125): optgroup labels are no longer indented as they were before

        * khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement):
        Move code that adds spaces after code that strips whitespace. Also simplify
        the code a bit by using DOMString::string().

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

16 years ago Reviewed by Dave.
darin [Tue, 27 Jan 2004 01:47:26 +0000 (01:47 +0000)]
    Reviewed by Dave.

        - fixed <rdar://problem/3539286>: text with a transparent background color pastes as black on black

        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString): Don't put color in the mutable
        string if it's entirely transparent.
        * kwq/KWQColor.mm: (QColor::getNSColor): Fix bug where we would return nil for RGBA of 0.

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

16 years ago Reviewed by Maciej.
darin [Tue, 27 Jan 2004 01:37:56 +0000 (01:37 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3529120>: text-align style property not respected on input fields

        * khtml/rendering/render_form.h: Added textAlignment function.
        * khtml/rendering/render_form.cpp:
        (RenderFormElement::textAlignment): Added. Converts style alignment to Qt alignment.
        (RenderLineEdit::setStyle): Call textAlignment intead of using direction from style.
        (RenderTextArea::setStyle): Call textAlignment intead of using direction from style.

        * kwq/KWQLineEdit.h: Added KWQNSTextAlignmentForAlignmentFlags function.
        * kwq/KWQLineEdit.mm:
        (QLineEdit::setAlignment): Use KWQNSTextAlignmentForAlignmentFlags instead of code
        that handles only left and right alignment.
        (KWQNSTextAlignmentForAlignmentFlags): Added. Converts Qt alignment to NS alignment.
        * kwq/KWQTextEdit.mm: (QTextEdit::setAlignment): Use KWQNSTextAlignmentForAlignmentFlags
        instead of code that handles only left and right alignment.

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

16 years ago Reviewed by Dave.
darin [Tue, 27 Jan 2004 01:29:46 +0000 (01:29 +0000)]
    Reviewed by Dave.

        - fixed <rdar://problem/3477707>: background image with apostrophe in name missing at http://www.nbc.com

        * khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::parseAttribute): Use addCSSImageProperty
        instead of addCSSProperty, obviating the need for the "url()" syntax (and fixing quoting issues).

        * khtml/html/html_tableimpl.cpp:
        (HTMLTableElementImpl::parseAttribute): Ditto.
        (HTMLTablePartElementImpl::parseAttribute): Ditto.

        * khtml/html/html_elementimpl.h: Added addCSSStringProperty and addCSSImageProperty.
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::addCSSStringProperty): Added. Calls setStringProperty. Not used yet.
        (HTMLElementImpl::addCSSImageProperty): Added. Calls setImageProperty.

        * khtml/css/css_valueimpl.h: Added setStringProperty and setImageProperty.
        * khtml/css/css_valueimpl.cpp:
        (CSSStyleDeclarationImpl::setStringProperty): Added. Sets a property without parsing.
        (CSSStyleDeclarationImpl::setImageProperty): Added. Sets a property without parsing.
        You'd think we'd be able to just use setStringProperty, but that's not how the image
        properties work.

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

16 years ago Reviewed by Dave.
darin [Tue, 27 Jan 2004 01:29:19 +0000 (01:29 +0000)]
    Reviewed by Dave.

        - fixed <rdar://problem/3538433>: HomePage: table background URL with a single quote in it does not work

        * khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::parseAttribute): Use addCSSImageProperty
        instead of addCSSProperty, obviating the need for the "url()" syntax (and fixing quoting issues).

        * khtml/html/html_tableimpl.cpp:
        (HTMLTableElementImpl::parseAttribute): Ditto.
        (HTMLTablePartElementImpl::parseAttribute): Ditto.

        * khtml/html/html_elementimpl.h: Added addCSSStringProperty and addCSSImageProperty.
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::addCSSStringProperty): Added. Calls setStringProperty. Not used yet.
        (HTMLElementImpl::addCSSImageProperty): Added. Calls setImageProperty.

        * khtml/css/css_valueimpl.h: Added setStringProperty and setImageProperty.
        * khtml/css/css_valueimpl.cpp:
        (CSSStyleDeclarationImpl::setStringProperty): Added. Sets a property without parsing.
        (CSSStyleDeclarationImpl::setImageProperty): Added. Sets a property without parsing.
        You'd think we'd be able to just use setStringProperty, but that's not how the image
        properties work.

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

16 years agoTools:
darin [Tue, 27 Jan 2004 00:11:41 +0000 (00:11 +0000)]
Tools:

        * CommitLogEditor/Makefile.am: Switch from pbxbuild to xcodebuild.
        * HotSpotFinder/Makefile.am: Switch from pbxbuild to xcodebuild.

JavaScriptCore:

        * Makefile.am: Switch from pbxbuild to xcodebuild.

Tests:

        * Makefile.am: Switch from pbxbuild to xcodebuild.
        * ObjcUnit/Makefile.am: Switch from pbxbuild to xcodebuild.
        * TestPlugin/Makefile.am: Switch from pbxbuild to xcodebuild.
        * WebFoundation-CacheLoader/Makefile.am: Switch from pbxbuild to xcodebuild.

WebCore:

        * Makefile.am: Switch from pbxbuild to xcodebuild.

WebKit:

        * Makefile.am: Switch from pbxbuild to xcodebuild.

WebBrowser:

        * Makefile.am: Switch from pbxbuild to xcodebuild.

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

16 years agoNamespace tests.
hyatt [Mon, 26 Jan 2004 22:42:01 +0000 (22:42 +0000)]
Namespace tests.

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

16 years ago Reviewed by John.
darin [Mon, 26 Jan 2004 22:35:54 +0000 (22:35 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3521379>: image dimensions uses lowercase x instead of multiplication sign

        * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation title]):
        Change string to use multiplication sign instead of x.
        * English.lproj/Localizable.strings: Updated.

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

16 years ago Add CSS3 @namespace support. The whole way namespaces, element, and attribute names...
hyatt [Mon, 26 Jan 2004 22:33:19 +0000 (22:33 +0000)]
Add CSS3 @namespace support.  The whole way namespaces, element, and attribute names are being handled
right now is temporary.  This code gives us a baseline of functionality (for regression testing) that we
can use when we implement namespaces "the right way."

        Reviewed by darin

        * WebCore.pbproj/project.pbxproj:
        * khtml/css/css_base.cpp:
        (CSSSelector::specificity):
        (CSSSelector::selectorText):
        * khtml/css/css_base.h:
        (DOM::CSSNamespace::m_parent):
        (DOM::CSSNamespace::~CSSNamespace):
        (DOM::CSSNamespace::uri):
        (DOM::CSSNamespace::prefix):
        (DOM::CSSNamespace::namespaceForPrefix):
        (DOM::CSSSelector::CSSSelector):
        * khtml/css/css_stylesheetimpl.cpp:
        (CSSStyleSheetImpl::CSSStyleSheetImpl):
        (CSSStyleSheetImpl::addNamespace):
        (CSSStyleSheetImpl::determineNamespace):
        * khtml/css/css_stylesheetimpl.h:
        (DOM::CSSStyleSheetImpl::~CSSStyleSheetImpl):
        * khtml/css/cssparser.cpp:
        (CSSParser::CSSParser):
        (CSSParser::parseSheet):
        * khtml/css/cssparser.h:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::styleForElement):
        (khtml::CSSStyleSelector::pseudoStyleForElement):
        (khtml::CSSStyleSelector::checkSelector):
        (khtml::CSSStyleSelector::checkOneSelector):
        (khtml::CSSStyleSelector::buildLists):
        * khtml/css/html4.css:
        * khtml/css/parser.cpp:
        * khtml/css/parser.y:
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::~DocumentImpl):
        (DocumentImpl::attrId):
        (DocumentImpl::attrName):
        (DocumentImpl::tagId):
        (DocumentImpl::tagName):
        (DocumentImpl::namespaceURI):
        * khtml/xml/dom_elementimpl.cpp:
        (NamedAttrMapImpl::getAttributeItem):
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::checkSetPrefix):
        * khtml/xml/dom_nodeimpl.h:
        (DOM::namespacePart):
        (DOM::localNamePart):
        (DOM::makeId):
        * khtml/xml/dom_xmlimpl.cpp:
        (ProcessingInstructionImpl::checkStyleSheet):
        * khtml/xml/xml_namespace_table.cpp: Added.
        (DOM::XmlNamespaceTable::getNamespaceID):
        (DOM::XmlNamespaceTable::getNamespaceURI):
        * khtml/xml/xml_namespace_table.h: Added.
        (DOM::XmlNamespaceEntry::m_uri):

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

16 years ago Reviewed by Dave.
darin [Mon, 26 Jan 2004 22:31:12 +0000 (22:31 +0000)]
    Reviewed by Dave.

        - fixed <rdar://problem/3532519>: <select> menus show label property instead of tag contents (ups.com time and cost site)

        * khtml/html/html_formimpl.cpp: (HTMLOptionElementImpl::text): Ignore the label property as
        a quirk. Neither WinIE nor Mozilla implement the label property, so neither shall we (except
        on strict pages, where we just go crazy and do everything "right").

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

16 years ago Reviewed by Hyatt
kocienda [Mon, 26 Jan 2004 22:20:58 +0000 (22:20 +0000)]
    Reviewed by Hyatt

        * khtml/rendering/render_line.h:
        (khtml::InlineBox::isFirstLineStyle): Helper to return whether
the line box has the first line style bit set.
        * khtml/rendering/render_text.cpp:
        (RenderText::caretPos): Noe correctly accounts for white space
which can precede an inline text box.

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

16 years ago Remove incremental repainting ifdef.
hyatt [Mon, 26 Jan 2004 21:56:41 +0000 (21:56 +0000)]
Remove incremental repainting ifdef.

        * khtml/khtmlview.h:
        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::layoutInlineChildren):
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::layoutBlock):
        (khtml::RenderBlock::layoutBlockChildren):
        (khtml::RenderBlock::repaintObjectsBeforeLayout):
        (khtml::RenderBlock::positionNewFloats):
        * khtml/rendering/render_block.h:
        * khtml/rendering/render_box.cpp:
        (RenderBox::computeAbsoluteRepaintRect):
        (RenderBox::repaintDuringLayoutIfMoved):
        * khtml/rendering/render_box.h:
        * khtml/rendering/render_container.cpp:
        (RenderContainer::removeChildNode):
        * khtml/rendering/render_flexbox.cpp:
        (khtml::RenderFlexibleBox::layoutBlock):
        (khtml::RenderFlexibleBox::placeChild):
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::getAbsoluteRepaintRect):
        * khtml/rendering/render_image.cpp:
        (RenderImage::layout):
        * khtml/rendering/render_layer.cpp:
        (RenderLayer::RenderLayer):
        (RenderLayer::computeRepaintRects):
        (RenderLayer::updateLayerPositions):
        (RenderLayer::updateLayerPosition):
        (RenderLayer::paintLayer):
        * khtml/rendering/render_layer.h:
        (khtml::RenderLayer::relativePositionOffset):
        * khtml/rendering/render_object.cpp:
        (RenderObject::setNeedsLayout):
        (RenderObject::setChildNeedsLayout):
        (RenderObject::markContainingBlocksForLayout):
        (RenderObject::getAbsoluteRepaintRectIncludingFloats):
        (RenderObject::detach):
        (RenderObject::scheduleRelayout):
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_table.cpp:
        (RenderTable::layout):
        (RenderTableSection::layoutRows):

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

16 years ago Preserve the integrity of the line box tree when elements get removed. Change Rende...
hyatt [Mon, 26 Jan 2004 19:24:20 +0000 (19:24 +0000)]
Preserve the integrity of the line box tree when elements get removed.  Change RenderText over to using
the same data structures as inlines and blocks for maintaining its list of line boxes.

        Reviewed by kocienda

        * khtml/khtml_part.cpp:
        (KHTMLPart::text):
        (KHTMLPart::customEvent):
        * khtml/khtml_selection.cpp:
        (KHTMLSelection::nextCharacterPosition):
        (firstRunAt):
        (lastRunAt):
        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::layoutInlineChildren):
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::removeChild):
        * khtml/rendering/render_box.cpp:
        (RenderBox::RenderBox):
        (RenderBox::detach):
        (RenderBox::position):
        (RenderBox::inlineBoxWrapper):
        (RenderBox::deleteLineBoxWrapper):
        * khtml/rendering/render_box.h:
        * khtml/rendering/render_container.cpp:
        (RenderContainer::removeChildNode):
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::detach):
        * khtml/rendering/render_line.cpp:
        (InlineFlowBox::removeChild):
        * khtml/rendering/render_line.h:
        (khtml::InlineBox::nextOnLine):
        (khtml::InlineBox::prevOnLine):
        (khtml::InlineBox::setNextOnLine):
        (khtml::InlineBox::setPrevOnLine):
        (khtml::InlineRunBox::prevLineBox):
        (khtml::InlineRunBox::nextLineBox):
        * khtml/rendering/render_object.cpp:
        (RenderObject::isEditable):
        (RenderObject::inlineBoxWrapper):
        (RenderObject::deleteLineBoxWrapper):
        * khtml/rendering/render_object.h:
        (khtml::RenderObject::documentBeingDestroyed):
        * khtml/rendering/render_text.cpp:
        (RenderText::RenderText):
        (RenderText::detach):
        (RenderText::deleteTextBoxes):
        (RenderText::absoluteRects):
        (RenderText::findNextInlineTextBox):
        (RenderText::nodeAtPoint):
        (RenderText::checkSelectionPointIgnoringContinuations):
        (RenderText::caretPos):
        (RenderText::paintObject):
        (RenderText::paint):
        (RenderText::minXPos):
        (RenderText::xPos):
        (RenderText::yPos):
        (RenderText::height):
        (RenderText::createInlineBox):
        (RenderText::position):
        (RenderText::width):
        (RenderText::caretMinOffset):
        (RenderText::caretMaxOffset):
        * khtml/rendering/render_text.h:
        (khtml::InlineTextBox:::InlineRunBox):
        (khtml::InlineTextBox::nextTextBox):
        (khtml::InlineTextBox::prevTextBox):
        (khtml::RenderText::firstTextBox):
        (khtml::RenderText::lastTextBox):
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject accessibilityIsIgnored]):
        * kwq/KWQDef.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::attributedString):
        * kwq/KWQRenderTreeDebug.cpp:
        (write):

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

16 years ago Polish the error message from the xml tokenizer.
hyatt [Sat, 24 Jan 2004 19:13:58 +0000 (19:13 +0000)]
Polish the error message from the xml tokenizer.

        * khtml/xml/xml_tokenizer.cpp:
        (XMLTokenizer::finish):

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

16 years agoWebCore:
kocienda [Sat, 24 Jan 2004 00:59:23 +0000 (00:59 +0000)]
WebCore:

        Reviewed by Richard

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::setShowsFirstResponder): Now adjusts caret visibility
apprpropriately.

WebKit:

        Reviewed by Richard

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView updateShowsFirstResponder]): Renamed from updateFocusRing:
        since it is now used to kill caret blink timer.
        (-[WebHTMLView windowDidBecomeKey:]): Now calls new updateShowsFirstResponder
method.
        (-[WebHTMLView windowDidResignKey:]): Ditto.

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

16 years ago Stub out @namespace support. Implement the callbacks into the stylesheet that will...
hyatt [Fri, 23 Jan 2004 19:34:47 +0000 (19:34 +0000)]
Stub out @namespace support.  Implement the callbacks into the stylesheet that will enable us to
store namespace information for simple selectors.

Basically with this patch we no longer bomb when we encounter namespaced stylesheets, but we don't handle
them properly yet either.

        Reviewed by kocienda

        * khtml/css/css_stylesheetimpl.cpp:
        (CSSStyleSheetImpl::addNamespace):
        (CSSStyleSheetImpl::determineNamespace):
        * khtml/css/css_stylesheetimpl.h:
        * khtml/css/cssparser.cpp:
        (DOM::CSSParser::lex):
        * khtml/css/cssparser.h:
        * khtml/css/parser.cpp:
        * khtml/css/parser.h:
        * khtml/css/parser.y:
        * khtml/css/tokenizer.cpp:
        * khtml/css/tokenizer.flex:

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

16 years ago Reviewed by Hyatt
kocienda [Fri, 23 Jan 2004 18:55:46 +0000 (18:55 +0000)]
    Reviewed by Hyatt

Merged HTML editing progress to TOT from the branch
I have been maintaining.

        * khtml/dom/dom_position.cpp: Added.
        * khtml/dom/dom_position.h: Added.
        * khtml/editing/htmlediting.cpp: Added.
        * khtml/editing/htmlediting.h: Added.
        * khtml/khtml_selection.cpp: Added.
        * khtml/khtml_selection.h: Added.

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

16 years ago Fix a bug I accidentally introduced in static positioned elements. Add more margin...
hyatt [Fri, 23 Jan 2004 02:34:56 +0000 (02:34 +0000)]
Fix a bug I accidentally introduced in static positioned elements.  Add more margin collapsing tests.

        * ChangeLog:
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::layoutBlockChildren):
        * layout-tests/fast/block/margin-collapse/044-expected.txt: Added.
        * layout-tests/fast/block/margin-collapse/044.html: Added.
        * layout-tests/fast/block/margin-collapse/045-expected.txt: Added.
        * layout-tests/fast/block/margin-collapse/045.html: Added.
        * layout-tests/fast/block/margin-collapse/062-expected.txt: Added.
        * layout-tests/fast/block/margin-collapse/062.html: Added.
        * layout-tests/fast/block/margin-collapse/063-expected.txt: Added.
        * layout-tests/fast/block/margin-collapse/063.html: Added.
        * layout-tests/fast/block/positioning/007-expected.txt:

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

16 years ago (1) Implement better XML error handling.
hyatt [Fri, 23 Jan 2004 01:53:13 +0000 (01:53 +0000)]
(1) Implement better XML error handling.
(2) Fix a minor z-index bug with the 'initial' value.
(3) Initial landing of XBL support.  Code is all ifnef KHTML_NO_XBL so that it can be turned off easily if
XBL never comes to fruition.

        Reviewed by darin

        * ForwardingHeaders/xbl/xbl_binding_manager.h: Added.
        * ForwardingHeaders/xbl/xbl_docimpl.h: Added.
        * WebCore.pbproj/project.pbxproj:
        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue):
        * khtml/css/cssproperties.c:
        (hash_prop):
        (findProp):
        * khtml/css/cssproperties.h:
        * khtml/css/cssproperties.in:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::applyRule):
        * khtml/dom/dom_element.cpp:
        (Element::getAttributeNS):
        * khtml/misc/loader.cpp:
        (CachedXBLDocument::CachedXBLDocument):
        (CachedXBLDocument::~CachedXBLDocument):
        (CachedXBLDocument::ref):
        (CachedXBLDocument::deref):
        (CachedXBLDocument::data):
        (CachedXBLDocument::checkNotify):
        (CachedXBLDocument::error):
        (DocLoader::requestXBLDocument):
        (Cache::requestXBLDocument):
        (CachedObjectClient::setXBLDocument):
        (Cache::getStatistics):
        * khtml/misc/loader.h:
        (khtml::CachedObject::):
        (khtml::CachedXBLDocument::document):
        (khtml::CachedXBLDocument::schedule):
        * khtml/misc/loader_client.h:
        * khtml/rendering/render_style.cpp:
        (bindingURI):
        (marquee):
        (StyleCSS3NonInheritedData::~StyleCSS3NonInheritedData):
        (StyleCSS3NonInheritedData::bindingsEquivalent):
        (StyleCSS3NonInheritedData::operator==):
        (:m_next):
        (BindingURI::~BindingURI):
        (BindingURI::copy):
        (BindingURI::operator==):
        (RenderStyle::addBindingURI):
        * khtml/rendering/render_style.h:
        (khtml::BindingURI::operator!=):
        (khtml::BindingURI::next):
        (khtml::BindingURI::setNext):
        (khtml::BindingURI::uri):
        (khtml::RenderStyle::bindingURIs):
        (khtml::RenderStyle::setHasAutoZIndex):
        (khtml::RenderStyle::setZIndex):
        (khtml::RenderStyle::deleteBindingURIs):
        (khtml::RenderStyle::inheritBindingURIs):
        * khtml/xbl/xbl_binding.cpp: Added.
        (XBL::m_markedForDeath):
        (XBL::XBLBindingChain::~XBLBindingChain):
        (XBL::XBLBindingChain::firstStyleBindingChain):
        (XBL::XBLBindingChain::lastBindingChain):
        (XBL::XBLBindingChain::insertBindingChain):
        (XBL::XBLBindingChain::markForDeath):
        (XBL::XBLBindingChain::loaded):
        (XBL::XBLBindingChain::hasStylesheets):
        (XBL::XBLBindingChain::failed):
        (XBL::m_nextBinding):
        (XBL::XBLBinding::~XBLBinding):
        (XBL::XBLBinding::loaded):
        (XBL::XBLBinding::setXBLDocument):
        * khtml/xbl/xbl_binding.h: Added.
        (XBL::):
        (XBL::XBLBindingChain::uri):
        (XBL::XBLBindingChain::nextChain):
        (XBL::XBLBindingChain::previousChain):
        (XBL::XBLBindingChain::setNextBindingChain):
        (XBL::XBLBindingChain::setPreviousBindingChain):
        (XBL::XBLBindingChain::markedForDeath):
        (XBL::XBLBindingChain::element):
        * khtml/xbl/xbl_binding_manager.cpp: Added.
        (XBL::m_bindingChainTable):
        (XBL::XBLBindingManager::~XBLBindingManager):
        (XBL::XBLBindingManager::getBindingChain):
        (XBL::XBLBindingManager::setBindingChain):
        (XBL::XBLBindingManager::loadBindings):
        (XBL::XBLBindingManager::checkLoadState):
        * khtml/xbl/xbl_binding_manager.h: Added.
        * khtml/xbl/xbl_docimpl.cpp: Added.
        (XBL:::DocumentImpl):
        (XBL::XBLDocumentImpl::~XBLDocumentImpl):
        (XBL::XBLDocumentImpl::createTokenHandler):
        (XBL::XBLDocumentImpl::setPrototypeBinding):
        (XBL::XBLDocumentImpl::prototypeBinding):
        * khtml/xbl/xbl_docimpl.h: Added.
        (XBL::):
        * khtml/xbl/xbl_protobinding.cpp: Added.
        (XBL::m_handler):
        (XBL::XBLPrototypeBinding::initialize):
        (XBL::XBLPrototypeBinding::document):
        (XBL::XBLPrototypeBinding::addResource):
        * khtml/xbl/xbl_protobinding.h: Added.
        (XBL::XBLPrototypeBinding::element):
        (XBL::XBLPrototypeBinding::setHandler):
        (XBL::XBLPrototypeBinding::handler):
        * khtml/xbl/xbl_protohandler.cpp: Added.
        (XBL::m_unused):
        (XBL::XBLPrototypeHandler::~XBLPrototypeHandler):
        (XBL::XBLPrototypeHandler::appendData):
        * khtml/xbl/xbl_protohandler.h: Added.
        (XBL::XBLPrototypeHandler::setNext):
        (XBL::XBLPrototypeHandler::next):
        * khtml/xbl/xbl_protoimplementation.cpp: Added.
        (XBL::m_compiled):
        (XBL::m_next):
        (XBL::XBLPrototypeMember::appendData):
        (XBL:::XBLPrototypeMember):
        (XBL::XBLPrototypeMethod::isConstructor):
        (XBL::XBLPrototypeMethod::isDestructor):
        (XBL::XBLPrototypeMethod::addParameter):
        (XBL:::XBLPrototypeMethod):
        (XBL::XBLPrototypeConstructor::isConstructor):
        (XBL::XBLPrototypeDestructor::isDestructor):
        (XBL::m_readonly):
        (XBL::XBLPrototypeProperty::appendGetterText):
        (XBL::XBLPrototypeProperty::appendSetterText):
        * khtml/xbl/xbl_protoimplementation.h: Added.
        (XBL::XBLPrototypeMember::~XBLPrototypeMember):
        (XBL::XBLPrototypeMember::setNext):
        (XBL::XBLPrototypeMember::next):
        (XBL::XBLPrototypeImplementation::~XBLPrototypeImplementation):
        (XBL::XBLPrototypeImplementation::setMember):
        (XBL::XBLPrototypeParameter::m_next):
        (XBL::XBLPrototypeParameter::~XBLPrototypeParameter):
        (XBL::XBLPrototypeParameter::next):
        (XBL::XBLPrototypeParameter::setNext):
        (XBL::):
        * khtml/xbl/xbl_tokenizer.cpp: Added.
        (XBL::XBLTokenHandler::XBLTokenHandler):
        (XBL::XBLTokenHandler::~XBLTokenHandler):
        (XBL::XBLTokenHandler::xblDocument):
        (XBL::XBLTokenHandler::startElement):
        (XBL::XBLTokenHandler::endElement):
        (XBL::XBLTokenHandler::characters):
        (XBL::XBLTokenHandler::createBinding):
        (XBL::XBLTokenHandler::createHandler):
        (XBL::XBLTokenHandler::createResource):
        (XBL::XBLTokenHandler::createImplementation):
        (XBL::XBLTokenHandler::addMember):
        (XBL::XBLTokenHandler::createConstructor):
        (XBL::XBLTokenHandler::createDestructor):
        (XBL::XBLTokenHandler::createField):
        (XBL::XBLTokenHandler::createProperty):
        (XBL::XBLTokenHandler::createMethod):
        (XBL::XBLTokenHandler::createParameter):
        * khtml/xbl/xbl_tokenizer.h: Added.
        (XBL::):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::~DocumentImpl):
        (DocumentImpl::createTokenHandler):
        (DocumentTypeImpl::DocumentTypeImpl):
        (DocumentTypeImpl::~DocumentTypeImpl):
        * khtml/xml/dom_docimpl.h:
        (DOM::DocumentImpl::bindingManager):
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::getAttributeNS):
        (ElementImpl::childAllowed):
        * khtml/xml/dom_elementimpl.h:
        (DOM::ElementImpl::getAttribute):
        * khtml/xml/dom_nodeimpl.cpp:
        * khtml/xml/xml_tokenizer.cpp:
        (XMLHandler::XMLHandler):
        (XMLHandler::startDocument):
        (XMLHandler::startElement):
        (XMLHandler::endElement):
        (XMLHandler::startCDATA):
        (XMLHandler::endCDATA):
        (XMLHandler::characters):
        (XMLHandler::comment):
        (XMLHandler::processingInstruction):
        (XMLHandler::warning):
        (XMLHandler::error):
        (XMLHandler::fatalError):
        (XMLTokenizer::finish):
        * khtml/xml/xml_tokenizer.h:
        * kwq/KWQXmlSimpleReader.h:
        (QXmlSimpleReader::sawError):
        (QXmlSimpleReader::recordError):
        * kwq/KWQXmlSimpleReader.mm:
        (warningHandler):
        (fatalErrorHandler):
        (normalErrorHandler):
        (QXmlSimpleReader::parse):

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

16 years ago Added stubs for ObjC language binding to JavaScript.
rjw [Fri, 23 Jan 2004 01:14:23 +0000 (01:14 +0000)]
Added stubs for ObjC language binding to JavaScript.

        * JavaScriptCore.pbproj/project.pbxproj:
        * bindings/jni/jni_runtime.h:
        * bindings/objc/objc_runtime.h: Added.
        (KJS::Bindings::ObjcParameter::ObjcParameter):
        (KJS::Bindings::ObjcParameter::~ObjcParameter):
        (KJS::Bindings::ObjcParameter::operator=):
        (KJS::Bindings::ObjcParameter::type):
        (KJS::Bindings::ObjcConstructor::ObjcConstructor):
        (KJS::Bindings::ObjcConstructor::~ObjcConstructor):
        (KJS::Bindings::ObjcConstructor::_commonCopy):
        (KJS::Bindings::ObjcConstructor::operator=):
        (KJS::Bindings::ObjcConstructor::value):
        (KJS::Bindings::ObjcConstructor::parameterAt):
        (KJS::Bindings::ObjcConstructor::numParameters):
        (KJS::Bindings::ObjcField::ObjcField):
        (KJS::Bindings::ObjcField::~ObjcField):
        * bindings/runtime.h:

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

16 years agoWebCore:
cblu [Fri, 23 Jan 2004 01:10:02 +0000 (01:10 +0000)]
WebCore:

Fixed: <rdar://problem/3537542>: support for copying HTML

        Reviewed by dave.

        * khtml/xml/dom2_rangeimpl.cpp:
        (RangeImpl::toHTML): implemented
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::recursive_toHTMLWithRange): new
        * khtml/xml/dom_nodeimpl.h:
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge selectedHTML]): new
        (-[WebCoreBridge reconstructedSource]): new

WebKit:

Fixed: <rdar://problem/3537542>: support for copying HTML

        Reviewed by dave.

        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation reconstructedSource]): for BLOT's eventual use
        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView _pasteboardTypes]): provide NSHTMLPboardType
        (-[WebHTMLView _writeSelectionToPasteboard:]): add HTML to the pasteboard

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

16 years ago Simplified JavaString by using UString as backing store. This
rjw [Fri, 23 Jan 2004 00:42:34 +0000 (00:42 +0000)]
Simplified JavaString by using UString as backing store.  This
revealed a bug in CString's assignment operator which I fixed.

Removed some dead code.

        Reviewed by John.

        * bindings/jni/jni_runtime.h:
        (KJS::Bindings::JavaString::JavaString):
        (KJS::Bindings::JavaString::_commonInit):
        (KJS::Bindings::JavaString::UTF8String):
        (KJS::Bindings::JavaString::uchars):
        (KJS::Bindings::JavaString::length):
        (KJS::Bindings::JavaString::ustring):
        * bindings/runtime_object.cpp:
        (RuntimeObjectImp::RuntimeObjectImp):
        * bindings/runtime_object.h:
        * kjs/ustring.cpp:
        (KJS::CString::CString):
        (KJS::CString::operator=):

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

16 years agoForgot to export this as a private header.
rjw [Thu, 22 Jan 2004 22:59:00 +0000 (22:59 +0000)]
Forgot to export this as a private header.

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

16 years agoMoved jni_jsobject.* to the jni directory.
rjw [Thu, 22 Jan 2004 22:29:46 +0000 (22:29 +0000)]
Moved jni_jsobject.* to the jni directory.

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

16 years agoTests:
sullivan [Thu, 22 Jan 2004 19:42:28 +0000 (19:42 +0000)]
Tests:

        * Blot/blot-tasks.txt
        Added tasks for supporting preference panels

WebKit:

        Reviewed by Chris.

        * English.lproj/StringsNotToBeLocalized.txt:
        brought this file back up to date

WebBrowser:

        - fixed <rdar://problem/3522522>: Tooltip typo: "word of phrase" instead of "word or phrase"
        - removed hack that we added at the last minute to get the copyright string correct

        Reviewed by Chris.

        * BrowserApplication.m:
        (-[BrowserApplication orderFrontStandardAboutPanel:]):
        removed AppKit-string-snarfing hack; now we use a normal localizable string
        for the copyright string in the About box.

        * BrowserWindowController.m:
        (-[BrowserWindowController setUpSearchField]):
        fixed typo that was previously fixed only in the English localization

        * English.lproj/Localizable.strings:
        * English.lproj/StringsNotToBeLocalized.txt:
        brought these two files up to date

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

16 years ago - fixed 3536624: Webkit 1.2 links against SecurityNssAsn1.framework
darin [Thu, 22 Jan 2004 16:45:01 +0000 (16:45 +0000)]
    - fixed 3536624: Webkit 1.2 links against SecurityNssAsn1.framework

        * WebKit.pbproj/project.pbxproj: Remove SecurityNssAsn1.framework from the list we link against.
        It's still included in the list for places to find headers.

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

16 years agoAdding even more margin collapsing tests... courtesy of Hixie.
hyatt [Thu, 22 Jan 2004 09:18:36 +0000 (09:18 +0000)]
Adding even more margin collapsing tests... courtesy of Hixie.

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

16 years agoFix build bustage.
hyatt [Thu, 22 Jan 2004 03:10:43 +0000 (03:10 +0000)]
Fix build bustage.

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

16 years agoFix build bustage with libxml include path.
hyatt [Thu, 22 Jan 2004 02:59:50 +0000 (02:59 +0000)]
Fix build bustage with libxml include path.

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

16 years agoAdd margin collapsing tests.
hyatt [Thu, 22 Jan 2004 02:52:51 +0000 (02:52 +0000)]
Add margin collapsing tests.

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

16 years ago Fix for two margin collapsing edge cases.
hyatt [Thu, 22 Jan 2004 02:49:58 +0000 (02:49 +0000)]
Fix for two margin collapsing edge cases.

        Reviewed by darin

        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::layoutBlockChildren):

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

16 years ago Switch from expat to libxml and implement namespace support in the simplereader.
hyatt [Thu, 22 Jan 2004 02:45:09 +0000 (02:45 +0000)]
Switch from expat to libxml and implement namespace support in the simplereader.

        Reviewed by darin

        * ChangeLog:
        * expat/Changes: Removed.
        * expat/MANIFEST: Removed.
        * expat/README: Removed.
        * expat/expat_config.h: Removed.
        * expat/lib/ascii.h: Removed.
        * expat/lib/asciitab.h: Removed.
        * expat/lib/expat.h: Removed.
        * expat/lib/iasciitab.h: Removed.
        * expat/lib/internal.h: Removed.
        * expat/lib/latin1tab.h: Removed.
        * expat/lib/nametab.h: Removed.
        * expat/lib/utf8tab.h: Removed.
        * expat/lib/xmlparse.c: Removed.
        * expat/lib/xmlrole.c: Removed.
        * expat/lib/xmlrole.h: Removed.
        * expat/lib/xmltok.c: Removed.
        * expat/lib/xmltok.h: Removed.
        * expat/lib/xmltok_impl.c: Removed.
        * expat/lib/xmltok_impl.h: Removed.
        * expat/lib/xmltok_ns.c: Removed.
        * kwq/KWQXmlAttributes.h:
        (QXmlAttributes::QXmlAttributes):
        (QXmlAttributes::qName):
        (QXmlAttributes::uri):
        * kwq/KWQXmlAttributes.mm:
        (QXmlAttributes::QXmlAttributes):
        (QXmlAttributes::~QXmlAttributes):
        (QXmlAttributes::operator=):
        (QXmlAttributes::localName):
        (QXmlAttributes::split):
        * kwq/KWQXmlSimpleReader.h:
        (KWQXmlNamespace::m_ref):
        (KWQXmlNamespace::uriForPrefix):
        (KWQXmlNamespace::ref):
        (KWQXmlNamespace::deref):
        (QXmlParseException::QXmlParseException):
        (QXmlParseException::message):
        (QXmlParseException::columnNumber):
        (QXmlParseException::lineNumber):
        (QXmlSimpleReader::errorHandler):
        (QXmlSimpleReader::xmlNamespace):
        (QXmlSimpleReader::parserStopped):
        * kwq/KWQXmlSimpleReader.mm:
        (startElementHandler):
        (endElementHandler):
        (charactersHandler):
        (processingInstructionHandler):
        (cdataBlockHandler):
        (commentHandler):
        (warningHandler):
        (fatalErrorHandler):
        (QXmlSimpleReader::pushNamespaces):
        (QXmlSimpleReader::popNamespaces):
        (QXmlSimpleReader::parse):
        (QXmlSimpleReader::stopParsing):
        (QXmlSimpleReader::lineNumber):
        (QXmlSimpleReader::columnNumber):

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

16 years ago Add some methods to dicts and stacks that exist in Qt.
hyatt [Thu, 22 Jan 2004 02:30:52 +0000 (02:30 +0000)]
Add some methods to dicts and stacks that exist in Qt.

        Reviewed by darin

        * kwq/KWQDict.h:
        (QDict::replace):
        * kwq/KWQPtrDict.h:
        (QPtrDict::replace):
        (QPtrDict::find):
        * kwq/KWQPtrStack.h:
        (QPtrStack::current):
        (QPtrStack::setAutoDelete):

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

16 years agochange version number to from '125' to '126u'
vicki [Wed, 21 Jan 2004 22:25:34 +0000 (22:25 +0000)]
change version number to from '125' to '126u'

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

16 years agoSafari-125 stamp
vicki [Wed, 21 Jan 2004 22:13:48 +0000 (22:13 +0000)]
Safari-125 stamp

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

16 years ago Reviewed by John, Ken, Dave.
mjs [Tue, 20 Jan 2004 00:58:24 +0000 (00:58 +0000)]
    Reviewed by John, Ken, Dave.

<rdar://problem/3533319>: Safari allows upload of arbitrary local files w/o user's knowledge or permission

* khtml/html/html_formimpl.cpp:
        (HTMLInputElementImpl::value): Don't fall back to the value
attribute for file inputs, since that way malicious HTML could
force the user to upload files unexpectedly.

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

16 years ago Fix for 3532569, bugzilla patch viewer doesn't work. My previous fix for 3531983...
hyatt [Mon, 19 Jan 2004 02:10:15 +0000 (02:10 +0000)]
Fix for 3532569, bugzilla patch viewer doesn't work.  My previous fix for 3531983 caused moves to happen
when they should not have, due to childX and childY not being implemented at all on KWQScrollView.

        Reviewed by darin

        * kwq/KWQScrollView.mm:
        (QScrollView::childX):
        (QScrollView::childY):

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

16 years agoset version number to '125u'. The tree is open for Safari-125.
vicki [Sat, 17 Jan 2004 02:45:16 +0000 (02:45 +0000)]
set version number to '125u'.  The tree is open for Safari-125.

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