diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2009-03-23 10:18:55 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2009-03-23 10:18:55 +0100 |
commit | e5fcad302d86d316390c6b0f62759a067313e8a9 (patch) | |
tree | c2afbf6f1066b6ce261f14341cf6d310e5595bc1 /src/3rdparty/webkit/WebCore/ChangeLog-2006-05-10 | |
download | qt4-tools-e5fcad302d86d316390c6b0f62759a067313e8a9.tar.gz |
Long live Qt 4.5!
Diffstat (limited to 'src/3rdparty/webkit/WebCore/ChangeLog-2006-05-10')
-rw-r--r-- | src/3rdparty/webkit/WebCore/ChangeLog-2006-05-10 | 39107 |
1 files changed, 39107 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog-2006-05-10 b/src/3rdparty/webkit/WebCore/ChangeLog-2006-05-10 new file mode 100644 index 0000000000..744ab985c7 --- /dev/null +++ b/src/3rdparty/webkit/WebCore/ChangeLog-2006-05-10 @@ -0,0 +1,39107 @@ +2006-05-10 Matt Gough <matt@softchaos.com> + + Reviewed, tweaked, and landed by Darin. + + Optimization of [DOMNode _nodeWith:] to look up the obj-c wrapperClass + for each HTMLElement using a HashMap instead of by repeated calls to + htmlElt->hasLocalName(someTag). + + * bindings/objc/DOM.mm: + (addElementClass): Added. + (createHTMLElementClassMap): + (elementClass): + (+[DOMNode _nodeWith:]): Added code to call elementClass. + +2006-05-09 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8760 + crash (hang?) on subtlegradient.com article page + + * manual-tests/first-line-style-crash.html: Added. + + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::createStyleForElement): Changed to not return the + shared styleNotYetAvailable if allowSharing is off. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::getPseudoStyle): In the FIRST_LINE_INHERITED case, + set the styleType on the style returned from createStyleForElement(). + * rendering/render_style.h: + (WebCore::RenderStyle::setStyleType): Added. Called from RenderObject::getPseudoStyle(). + +2006-05-09 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8789 + RenderStyle::getPseudoStyle() always returns 0 + + No test possible (no functionality change). + + * dom/Node.cpp: + (WebCore::Node::diff): When checking if :before or :after has changed, + return NoInherit unless both pseudoStyles are known and equal. + * rendering/render_style.cpp: + (WebCore::RenderStyle::getPseudoStyle): Fixed to match the requested + type against the pseudoStyle's styleType instead of our own. + +2006-05-09 Darin Adler <darin@apple.com> + + - another attempt to fix the Windows build + + * bindings/js/kjs_window.cpp: (KJS::isSeparator): Take a UChar, not a KJS::UChar. + * bridge/win/FrameWin.cpp: + (WebCore::FrameWin::runJavaScriptAlert): Use UChar instead of QChar. + (WebCore::FrameWin::runJavaScriptConfirm): Ditto. + * editing/TextIterator.h: Include DeprecatedString.h. + +2006-05-09 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8781 + REGRESSION: image maps with "poly" areas, including one at lisp.geek.nz, don't work + + * html/html_imageimpl.cpp: (WebCore::HTMLAreaElement::getRegion): Remove extra Path + definition that was shadowing the real one. + +2006-05-09 Darin Adler <darin@apple.com> + + - fix build + + * rendering/render_style.cpp: (WebCore::RenderStyle::getPseudoStyle): + Fix a typo. + + - attempt to fix Windows build + + * css/maketokenizer: Use UChar instead of unsigned short. + * platform/win/FontWin.cpp: + (WebCore::getFontData): Removed cast to QChar. + (WebCore::hackishExtentForString): Use UChar. + (WebCore::Font::floatWidth): Use UChar. + (WebCore::Font::drawText): Use UChar. + (WebCore::Font::drawHighlightForText): Use UChar. + (WebCore::Font::selectionRectForText): Use UChar. + (WebCore::Font::checkSelectionPoint): Use UChar. + * platform/win/KeyEventWin.cpp: + (WebCore::singleCharacterString): Added. + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Use above function. + * platform/win/TemporaryLinkStubs.cpp: + (WebCore::findNextSentenceFromIndex): Use UChar. + (WebCore::findSentenceBoundary): Use UChar. + (WebCore::findNextWordFromIndex): Use UChar. + (WebCore::findWordBoundary): Use UChar. + * platform/win/TransferJobWin.cpp: + (WebCore::TransferJob::start): Use a different String constructor. + * rendering/RenderTable.h: Added an include of DeprecatedArray.h. + * rendering/RenderText.cpp: Added an include of DeprecatedString.h. + * rendering/render_list.h: Ditto. + +2006-05-09 Darin Adler <darin@apple.com> + + Rubber stamped by Hyatt. + + - http://bugs.webkit.org/show_bug.cgi?id=8782 + use ICU and UChar more, QChar less + + - fix http://bugs.webkit.org/show_bug.cgi?id=6310 + text-transform: uppercase/lowercase don't handle cases one character becomes two + + Test: fast/css/case-transform.html + + By using ICU more, this fixes some bugs in a few places. + + * bindings/js/JSXMLSerializer.cpp: + * css/css_valueimpl.h: + * kwq/KWQTextStream.cpp: + * loader/CachedObject.h: + * platform/Color.cpp: + Add includes of DeprecatedString.h as needed, now that StringImpl.h no longer + includes it. + + * bindings/js/kjs_css.cpp: (KJS::cssPropertyName): + Eliminate use of QChar::latin1() in a case where it's not helpful. + + * bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::evaluate): + Use characters() function instead of the old unicode() function. + + * bindings/js/kjs_window.cpp: (KJS::isSeparator): + Use UChar instead of QChar. + + * bindings/objc/DOMInternal.mm: + (StringImpl::operator NSString*): Remove typecast that's no longer needed. + (String::String): Ditto. Also use Vector for local buffer to make code read simpler. + + * bridge/mac/FrameMac.mm: + (WebCore::selectorForKeyEvent): Remove call to unicode() function, no longer needed. + (WebCore::FrameMac::setTitle): Remove QChar cast, no longer needed. + (WebCore::FrameMac::setStatusBarText): Ditto. + (WebCore::FrameMac::advanceToNextMisspelling): Use UChar instead of QChar. + (WebCore::FrameMac::runJavaScriptAlert): Remove QChar cast, no longer needed. + (WebCore::FrameMac::runJavaScriptConfirm): Ditto. + (WebCore::FrameMac::runJavaScriptPrompt): Ditto. + (WebCore::FrameMac::attributedString): Replaces calls of QChar::direction() with + calls to u_charDirection and use ICU constants instead of QChar ones. + (WebCore::FrameMac::markMisspellings): Remove QChar cast, no longer needed. Added a + QChar cast so we can call isSpace -- slated to be removed later. + (WebCore::FrameMac::shouldClose): Remove QChar cast, no longer needed. + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge selectedString]): Remove QChar cast, no longer needed. + (-[WebCoreFrameBridge stringForRange:]): Ditto. + + * css/CSSGrammar.y: Update for field name change from string to characters. + Use UChar instead of unsigned short. + + * css/css_valueimpl.cpp: + (WebCore::propertyID): Use UChar instead of unsigned short and get rid of call to + unicode() function, no longer needed. + (WebCore::quoteStringIfNeeded): Use strings when building up a resulting string, + instead of depending on the feature where you can append characters to a string. + + * css/csshelper.cpp: (WebCore::parseURL): Remove calls to unicode() function and + rewrite to obviate the need to call lower() just to check for a few constant + character values. Also remove a now-unneeded type cast. + + * css/cssparser.h: Changed ParseString field to use UChar and to be named characters + instead of string. Changed many other fields to be UChar instead of unsigned short. + (WebCore::domString): Update for that. + (WebCore::atomicString): Ditto. + * css/cssparser.cpp: + (WebCore::ParseString::lower): Use u_tolower instead of QChar::lower(). Also change + name to characters from string. + (WebCore::CSSParser::setupParser): Use UChar instead of unsigned short. + (WebCore::CSSParser::lex): Ditto. Also update for characters name change. + (WebCore::CSSParser::text): Use UChar instead of unsigned short. Also tweak some + of the code a little bit to handle a couple of overflow cases better and reduce + type casting. + (WebCore::deprecatedString): Moved here so we don't have to include DeprecatedString.h + in the header file. + + * css/cssstyleselector.cpp: (WebCore::checkPseudoState): Added a type cast since this + code now bridges the world between modern code and QChar/DeprecatedString. + + * dom/CharacterData.cpp: (WebCore::CharacterData::CharacterData): Changed QChar to UChar. + + * dom/Document.h: + * dom/Document.cpp: + (WebCore::Document::isValidName): Updated for name change from unicode to characters. + (WebCore::Document::parseQualifiedName): Ditto. + (WebCore::Document::backslashAsCurrencySymbol): Changed return type to UChar. + + * dom/NamedMappedAttrMap.cpp: + (WebCore::isClassWhitespace): Changed parameter to UChar from QChar. + (WebCore::NamedMappedAttrMap::parseClassAttribute): Changed from UChar to QChar and + from unicode to characters. + + * dom/Position.cpp: + (WebCore::Position::leadingWhitespacePosition): Changed from QChar to UChar. + (WebCore::Position::trailingWhitespacePosition): Ditto. + + * dom/StyledElement.cpp: + (WebCore::isClassWhitespace): Changed from QChar to UChar. + (WebCore::StyledElement::addCSSLength): Changed from QChar to UChar, and remove one + case where latin1() was used and was not helpful. + (WebCore::StyledElement::addCSSColor): Removed unicode() function call, no longer needed. + + * dom/dom2_eventsimpl.cpp: (WebCore::KeyboardEvent::charCode): + * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::constrainValue): + Removed unicode() function call, no longer needed. + + * dom/xml_tokenizer.h: Removed default parameter for xmlDocPtrForString so we don't have + to include the DeprecatedString.h header in this file (and since no one uses it). + + * editing/HTMLInterchange.cpp: (convertHTMLTextToInterchangeFormat): Added a couple calls + to the unicode() function to bridge the gap from QChar/DeprecatedString back to modern + code. + + * editing/InsertTextCommand.cpp: Removed unused function. + + * editing/TextIterator.h: Changed from QChar to UChar. + * editing/TextIterator.cpp: + (WebCore::TextIterator::TextIterator): Initialize m_lastCharacter since it's now a UChar + (which is just a typedef) rather than a QChar (which was a class with a default value of 0). + (WebCore::TextIterator::handleTextNode): Updated to use characters() instead of unicode(). + (WebCore::TextIterator::handleTextBox): Removed unicode() call since it's now a UChar instead + of a QChar. + (WebCore::TextIterator::emitCharacter): More of the same. + (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto. + (WebCore::SimplifiedBackwardsTextIterator::emitCharacter): Ditto. + (WebCore::CharacterIterator::string): Ditto. + (WebCore::WordAwareIterator::advance): Ditto. + (WebCore::WordAwareIterator::length): Ditto. + (WebCore::WordAwareIterator::characters): Ditto. + (WebCore::CircularSearchBuffer::CircularSearchBuffer): Changed to use UChar + instead of QChar, but also to use foldCase() instead of lower(), because + we want case folding here, not lowercasing. + (WebCore::CircularSearchBuffer::append): Ditto, with u_foldCase. + (WebCore::CircularSearchBuffer::isMatch): Ditto. + (WebCore::plainText): Added type cast since this bridges the gap from the modern stuff + to QChar/DeprecatedString. + + * editing/VisiblePosition.h: Changed from QChar to UChar. + * editing/VisiblePosition.cpp: (WebCore::VisiblePosition::characterAfter): Ditto. + + * editing/markup.cpp: (WebCore::escapeTextForMarkup): Changed code that used latin1() + for no good reason to use unicode() instead. + + * html/HTMLTokenizer.h: Changed from QChar to UChar. + * html/HTMLTokenizer.cpp: Changed from QChar to UChar, including removing the + KHTML_ALLOC_QCHAR_VEC and KHTML_DELETE_QCHAR_VEC macros, which weren't being + used consistently anyway. + (WebCore::fixUpChar): More of the same. + (WebCore::tagMatch): Ditto. + (WebCore::HTMLTokenizer::reset): Ditto. + (WebCore::HTMLTokenizer::begin): Ditto. Also corrected anomaly where buffer + size was not the same as the size value -- this was only true in the initial + allocation, so I believe there was no value in it. + (WebCore::HTMLTokenizer::parseSpecial): Ditto. Also removed a use of latin1() + that was unnnecessary extra work. + (WebCore::HTMLTokenizer::scriptHandler): More of the same. + (WebCore::HTMLTokenizer::parseComment): Ditto. + (WebCore::HTMLTokenizer::parseServer): Ditto. + (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto. Another unnecessary + use of latin1() removed. + (WebCore::HTMLTokenizer::parseText): Ditto. + (WebCore::HTMLTokenizer::parseEntity): Ditto. Changed hex-parsing code to handle + uppercase hex a more-efficient way than calling QChar::lower() on each character. + Also changed surrogate code logic to fix a couple things -- reject character codes + > 0x10FFFF as it should and use U16_LEAD and U16_TRAIL instead of writing our + own versions of these. + (WebCore::HTMLTokenizer::parseTag): Ditto. + (WebCore::HTMLTokenizer::write): Ditto. + (WebCore::HTMLTokenizer::end): Ditto. + (WebCore::HTMLTokenizer::finish): Ditto. + (WebCore::HTMLTokenizer::enlargeBuffer): Ditto. + (WebCore::HTMLTokenizer::enlargeScriptBuffer): Ditto. + (WebCore::HTMLTokenizer::notifyFinished): + (WebCore::decodeNamedEntity): Ditto. + + * html/html_inlineimpl.cpp: (WebCore::parseFontSizeNumber): Changed from QChar + to UChar, including using u_isdigit and u_charDigitValue instead of QChar::isNumber + and QChar::digitValue. Also removed unneeded range checking that's already done + by WebCore::String. + + * kwq/KWQLoader.mm: (KWQIsResponseURLEqualToURL): Rewrote to use Vector and UChar, + removing all the type casts and making the whole function much shorter. + + * kwq/WebCoreAXObject.mm: + (AXAttributedStringAppendText): Use UChar instead of QChar. + (-[WebCoreAXObject doAXAttributedStringForTextMarkerRange:]): More of the same. + + * loader/Cache.h: Remove unnecessary default parameters, preventing the need to + include the DeprecatedString.h header in this header. Cleaned up the header + structure a bit, removing some obsolete and redundant comments and fixing typos. + * loader/Cache.cpp: Removed unused preload functions. + + * page/Frame.h: + * page/Frame.cpp: + (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): Added explicit arguments. + This was the only caller anywhere that took advantage of the default parameter + values in one of the Cache class request functions. + (WebCore::Frame::backslashAsCurrencySymbol): Changed QChar to UChar. + + * platform/AtomicString.h: Changed QChar to UChar. Removed constructor that makes + an AtomicString from a single character. Renamed unicode() function to characters(). + Renamed KHTML_ATOMICSTRING_HIDE_GLOBALS to ATOMICSTRING_HIDE_GLOBALS. + * platform/AtomicString.cpp: + (WebCore::CStringTranslator::equal): Changed QChar to UChar. + (WebCore::operator==): Changed unicode() to characters(). + (WebCore::UCharBufferTranslator::hash): More of the same. + (WebCore::UCharBufferTranslator::equal): Ditto. + (WebCore::UCharBufferTranslator::translate): Ditto. + (WebCore::AtomicString::add): Ditto. + (WebCore::AtomicString::operator Identifier): Ditto. + (WebCore::AtomicString::operator UString): Ditto. + (WebCore::AtomicString::AtomicString): Moved here so we don't need DeprecatedString.h + in the header. + (WebCore::AtomicString::deprecatedString): Ditto. + + * platform/DeprecatedString.h: Removed QChar::Direction enum and all the DirXXX values, + isDigit, isLetter, isNumber, isLetterOrNumber, isPunct, digitValue, and direction functions. + (QChar::isSpace): Changed to use u_charDirection instead of QChar::direction. + + * platform/Font.h: (WebCore::Font::width): Changed QChar to UChar. + * platform/Font.cpp: (WebCore::Font::width): Ditto. + + * platform/GraphicsContext.h: + * platform/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawText): Changed QChar to UChar. Removed horizontalAlignment + parameter from simplified string drawing entry point, since it's not used. + (WebCore::GraphicsContext::drawHighlightForText): Changed QChar to UChar. + + * platform/PlatformString.h: Changed QChar to UChar. Removed constructor that makes + a String from a single character. Renamed unicode() function to characters(). Added + an append function and changed += operator to just call that. Added a foldCase() function. + Removed the concatenation operators that add individual strings before or after. + * platform/String.cpp: + (WebCore::String::String): Changed QChar to UChar. + (WebCore::String::append): Renamed from operator+= and removed the return value. + (WebCore::String::operator[]): Changed QChar to UChar. + (WebCore::String::foldCase): Added. + (WebCore::String::percentage): More of the same. + (WebCore::String::characters): Renamed from unicode(). + (WebCore::String::deprecatedString): More of the same. + (WebCore::String::sprintf): Fixed mistakes in the comments. + (WebCore::String::isEmpty): Tweaked a bit. + (WebCore::operator==): More of the same. + (WebCore::String::operator Identifier): Ditto. + (WebCore::String::operator UString): Ditto. + + * platform/SegmentedString.h: Changed from QChar to UChar. Had to initialize + data members that are now UChar. + * platform/SegmentedString.cpp: + (WebCore::SegmentedString::length): Updated for change from QChar to UChar. + (WebCore::SegmentedString::append): Ditto. + (WebCore::SegmentedString::prepend): Ditto. + (WebCore::SegmentedString::toString): Ditto. + + * platform/StringHash.h: Updated to use UChar instead of QChar and for name changes. + Also changed to use case folding intead of lowercasing for case insensitive hashing. + + * platform/StringImpl.h: + * platform/StringImpl.cpp: + (WebCore::newUCharVector): Changed to UChar from QChar. + (WebCore::deleteUCharVector): Ditto. + (WebCore::StringImpl::StringImpl): Ditto. + (WebCore::StringImpl::init): Ditto. Also renamed from initWithChar and initWithQChar. + (WebCore::StringImpl::~StringImpl): Ditto. + (WebCore::StringImpl::append): Ditto. + (WebCore::StringImpl::insert): Ditto. + (WebCore::StringImpl::truncate): Ditto. + (WebCore::StringImpl::remove): Ditto. + (WebCore::StringImpl::split): Ditto. + (WebCore::StringImpl::containsOnlyWhitespace): Ditto. Also added comment because this + function seems a little broken. + (WebCore::parseLength): More of the same. + (WebCore::StringImpl::toCoordsArray): Ditto. + (WebCore::StringImpl::toLengthArray): Ditto. + (WebCore::StringImpl::isLower): Ditto. + (WebCore::StringImpl::lower): Rewrote to use u_strToLower. + (WebCore::StringImpl::upper): Rewrote to use u_strToUpper. + (WebCore::StringImpl::foldCase): Added. Uses u_strFoldCase. + (WebCore::getWordBreakIterator): Changed to use U_FAILURE instead of accepting only + U_ZERO_ERROR as a success code. + (WebCore::StringImpl::capitalize): More QChar to UChar changes. + (WebCore::StringImpl::toInt): Ditto. + (WebCore::equal): Changed from QChar to UChar and was careful to preserve the old + semantics where "high ASCII" is treated as U+0080-U+00FF even though I don't know + if this feature is important. + (WebCore::equalIgnoringCase): Ditto, but used case folding instead of lowercasing + by using the u_foldCase and u_memcasecmp functions. Also renamed from + equalCaseInsensitive for more-consistent naming. + (WebCore::StringImpl::find): Ditto. Use case folding for the case insensitive branch. + (WebCore::StringImpl::replace): More of the same. + (WebCore::StringImpl::computeHash): Ditto. + (WebCore::StringImpl::ascii): Ditto. + + * platform/TextBoundaries.h: Changed from QChar to UChar. + * platform/mac/TextBoundaries.mm: + (WebCore::findWordBoundary): Made the change to UChar and removed some type casts. + (WebCore::findNextWordFromIndex): Ditto. + (WebCore::findSentenceBoundary): Ditto. + (WebCore::findNextSentenceFromIndex): Ditto. + + * platform/TextEncoding.h: + * platform/TextEncoding.cpp: + (WebCore::TextEncoding::backslashAsCurrencySymbol): Changed from QChar to UChar. + (WebCore::TextEncoding::fromUnicode): More of the same. + * platform/mac/TextEncodingMac.cpp: (WebCore::TextEncoding::fromUnicode): More + of the same. + + * platform/mac/FontFamilyMac.mm: (WebCore::FontFamily::getNSFamily): Removed a + now-unneeded type cast. + + * platform/mac/FontMac.mm: + (WebCore::Font::selectionRectForText): + (WebCore::Font::drawText): + (WebCore::Font::drawHighlightForText): + (WebCore::Font::floatWidth): + (WebCore::Font::checkSelectionPoint): + Changed QChar to UChar and removed some now-unneeded type casts. + + * editing/RebalanceWhitespaceCommand.cpp: (WebCore::isWhitespace): + * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): + * editing/visible_units.cpp: + (WebCore::previousBoundary): + (WebCore::nextBoundary): + (WebCore::startWordBoundary): + (WebCore::endWordBoundary): + (WebCore::previousWordPositionBoundary): + (WebCore::nextWordPositionBoundary): + (WebCore::startSentenceBoundary): + (WebCore::endSentenceBoundary): + (WebCore::previousSentencePositionBoundary): + (WebCore::nextSentencePositionBoundary): + (WebCore::startOfParagraph): + (WebCore::endOfParagraph): + * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::selectionRect): + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::paintSelection): + (WebCore::InlineTextBox::paintMarkedTextBackground): + (WebCore::InlineTextBox::paintTextMatchMarker): + (WebCore::InlineTextBox::offsetForPosition): + (WebCore::InlineTextBox::positionForOffset): + * rendering/RenderBlock.cpp: + (WebCore::stripTrailingSpace): + (WebCore::RenderBlock::updateFirstLetter): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutVerticalBox): + * rendering/RenderObject.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::backslashAsCurrencySymbol): + * rendering/RenderTreeAsText.cpp: (quoteAndEscapeNonPrintables): + * rendering/break_lines.cpp: (WebCore::nextBreakablePosition): + * rendering/break_lines.h: (WebCore::isBreakable): + * rendering/render_style.h: (WebCore::RenderStyle::isCollapsibleWhiteSpace): + * xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::parseString): + * xml/xmlhttprequest.cpp: + (WebCore::getMIMEType): + (WebCore::getCharset): + Changed QChar to UChar. + + * rendering/RenderImage.cpp: + (WebCore::RenderImage::imageChanged): Changed QChar to UChar. + (WebCore::RenderImage::paint): Changed callers of drawText to no-longer pass 0 + for the horizontal alignment, since I removed that parameters. + + * rendering/RenderText.h: Changed QChar to UChar. + * rendering/RenderText.cpp: + (WebCore::characterBreakIterator): Update for name change. + (WebCore::RenderText::RenderText): Ditto. + (WebCore::RenderText::allAscii): Remove uneeded unicode() and allow the value + U+007F to count as ASCII. + (WebCore::RenderText::cacheWidths): Changed QChar to UChar. + (WebCore::RenderText::widthFromCache): Changed code that deals with direction to + use the ICU direction calls. + (WebCore::RenderText::trimmedMinMaxWidth): Changed QChar to UChar. + (WebCore::RenderText::calcMinMaxWidth): Ditto. + (WebCore::RenderText::containsOnlyWhitespace): Ditto. + (WebCore::RenderText::setText): Ditto. + (WebCore::RenderText::width): Ditto. + + * rendering/RenderTextField.cpp: + (WebCore::RenderTextField::updateFromElement): Removed unneeded QChar cast. + (WebCore::RenderTextField::calcMinMaxWidth): Changed from QChar to UChar. + + * rendering/bidi.h: + * rendering/bidi.cpp: + (WebCore::BidiIterator::BidiIterator): + (WebCore::BidiState::BidiState): + (WebCore::BidiContext::BidiContext): + (WebCore::bidiNext): + (WebCore::bidiFirst): + (WebCore::BidiIterator::current): + (WebCore::BidiIterator::direction): + (WebCore::addRun): + (WebCore::checkMidpoints): + (WebCore::appendRun): + (WebCore::embed): + (WebCore::RenderBlock::tabWidth): + (WebCore::RenderBlock::computeHorizontalPositionsForLine): + (WebCore::RenderBlock::bidiReorderLine): + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::skipNonBreakingSpace): + (WebCore::RenderBlock::skipWhitespace): + (WebCore::RenderBlock::findNextLineBreak): + (WebCore::RenderBlock::checkLinesForTextOverflow): + Changed from QChar to UChar and all direction from QChar constants to the + ones from ICU. + + * rendering/render_form.cpp: + (WebCore::RenderLineEdit::updateFromElement): + (WebCore::RenderSelect::updateFromElement): + (WebCore::RenderTextArea::updateFromElement): + (WebCore::RenderTextArea::text): + (WebCore::RenderTextArea::textWithHardLineBreaks): + Got rid of now-unneeded QChar type casts. + + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::placeBoxesHorizontally): Updated for change from QChar + to UChar. + (WebCore::EllipsisBox::paint): Updated for unicode() -> characters() name change. + + * rendering/render_list.cpp: + (WebCore::toRoman): Updated from QChar to UChar. + (WebCore::toLetterString): Ditto. + (WebCore::toHebrew): More of the same, also cleaned up the logic a bit. + (WebCore::RenderListMarker::paint): Removed the alignment parameters from the + various functions. Also removed all reliance on the width-measuring functions + that take a string. + (WebCore::RenderListMarker::calcMinMaxWidth): More of the same. + (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto. + +2006-05-09 Tim Omernick <timo@apple.com> + + Reviewed by/co-written by Darin. + + Performance improvement when drawing large numbers of animated images. + + Instead of removing the "first" object from a set on each next(), + copy the clients into a vector once and keep track of the current index. + + * loader/CachedObjectClientWalker.h: + * loader/CachedObjectClientWalker.cpp: + (WebCore::CachedObjectClientWalker::CachedObjectClientWalker): + (WebCore::CachedObjectClientWalker::next): + +2006-05-09 Steve Falkenburg <sfalken@apple.com> + + Fix Windows build. Added TextDocument.cpp to vcproj. + + Reviewed by adele. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + +2006-05-09 Steve Falkenburg <sfalken@apple.com> + + Fix Windows build. + Add host calback so caller can determine success/failure of a page load. + + Reviewed by kevin. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Fix paths, add missing files + * loader/CachedResource.h: Fix include path. + * loader/CachedResourceClientWalker.h: Fix include path. + * platform/FontPlatformData.h: Fix include path. + * platform/TransferJobClient.h: Make PlatformData, PlatformResponse an opaque struct. + * platform/image-decoders/ImageDecoder.h: Fix include path. + * platform/win/SharedTimerWin.cpp: Fix include path. + * platform/win/TransferJobWin.cpp: + (WebCore::TransferJobWndProc): Add host callback for success/failure of load. + * platform/win/TransferJobWin.h: Added. Windows version of PlatformData/PlatformResponse. + * xpath/impl/XPathFunctions.cpp: Work around missing math functions in MSVC. + (round): Work around missing math functions in MSVC. + * xpath/impl/XPathPredicate.cpp: Work around missing math functions in MSVC. + * xpath/impl/XPathValue.cpp: Work around missing math functions in MSVC. + +2006-05-09 David Hyatt <hyatt@apple.com> + + Revert styleForElement, pseudoStyleForElement, styleForRenderer back to + their old names, since the term "create" is not accurate. + + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSStyleSelector::pseudoStyleForElement): + * css/cssstyleselector.h: + * dom/Element.cpp: + (WebCore::Element::styleForRenderer): + (WebCore::Element::recalcStyle): + * dom/Element.h: + * dom/Node.cpp: + (WebCore::Node::createRendererIfNeeded): + (WebCore::Node::styleForRenderer): + * dom/Node.h: + * ksvg2/svg/SVGClipPathElement.cpp: + (SVGClipPathElement::canvasResource): + * ksvg2/svg/SVGFEFloodElement.cpp: + (SVGFEFloodElement::filterEffect): + * ksvg2/svg/SVGGradientElement.cpp: + (SVGGradientElement::rebuildStops): + +2006-05-09 Anders Carlsson <acarlsson@apple.com> + + Reviewed by Darin. + + * loader/TextDocument.cpp: + (WebCore::TextTokenizer::write): + Use the correct variable to prevent crashes. + +2006-05-09 Anders Carlsson <acarlsson@apple.com> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=8808 + WebCore should handle text files + + * WebCore.xcodeproj/project.pbxproj: + Add TextDocument.cpp and TextDocument.h + + * bridge/mac/WebCoreFrameBridge.mm: + (+[WebCoreFrameBridge supportedMIMETypes]): + Add text types here. + + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::createTextDocument): + (WebCore::DOMImplementation::isTextMIMEType): + * dom/DOMImplementation.h: + New functions for creating a TextDocument and determining if a + mime type is a text MIME type. + + * loader/TextDocument.cpp: Added. + (WebCore::TextTokenizer::TextTokenizer): + (WebCore::TextTokenizer::write): + (WebCore::TextTokenizer::finish): + (WebCore::TextTokenizer::isWaitingForScripts): + Special tokenizer which will put text inside a <pre> tag + in a document. + + (WebCore::TextDocument::TextDocument): + (WebCore::TextDocument::createTokenizer): + Create a TextTokenizer. + + * loader/TextDocument.h: Added. + + * page/Frame.cpp: + (WebCore::Frame::begin): + Create a TextDocument if the MIME type is of type text. + +2006-05-09 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Anders. + + - renamed kxmlcore to wtf + + kxmlcore --> wtf + KXMLCore --> WTF + KXC --> WTF + + * ForwardingHeaders/kxmlcore: Removed. + * ForwardingHeaders/kxmlcore/AlwaysInline.h: Removed. + * ForwardingHeaders/kxmlcore/Assertions.h: Removed. + * ForwardingHeaders/kxmlcore/FastMalloc.h: Removed. + * ForwardingHeaders/kxmlcore/Forward.h: Removed. + * ForwardingHeaders/kxmlcore/HashCountedSet.h: Removed. + * ForwardingHeaders/kxmlcore/HashMap.h: Removed. + * ForwardingHeaders/kxmlcore/HashSet.h: Removed. + * ForwardingHeaders/kxmlcore/HashTraits.h: Removed. + * ForwardingHeaders/kxmlcore/Noncopyable.h: Removed. + * ForwardingHeaders/kxmlcore/OwnArrayPtr.h: Removed. + * ForwardingHeaders/kxmlcore/OwnPtr.h: Removed. + * ForwardingHeaders/kxmlcore/PassRefPtr.h: Removed. + * ForwardingHeaders/kxmlcore/Platform.h: Removed. + * ForwardingHeaders/kxmlcore/RefPtr.h: Removed. + * ForwardingHeaders/kxmlcore/Vector.h: Removed. + * ForwardingHeaders/wtf: Added. + * bindings/js/JSHTMLElementWrapperFactory.h: + * bindings/js/kjs_binding.cpp: + * bindings/js/kjs_window.h: + * bindings/objc/DOMImplementationFront.h: + * bridge/JavaAppletWidget.h: + * bridge/mac/WebCoreFrameNamespaces.mm: + * bridge/mac/WebCorePageBridge.mm: + (initializeLogChannel): + * bridge/mac/WebCoreStringTruncator.mm: + * bridge/mac/WebCoreViewFactory.m: + * config.h: + * css/css_base.h: + * css/css_valueimpl.h: + * css/csshelper.cpp: + * css/cssparser.h: + * dom/DOMImplementation.h: + * dom/Document.h: + * dom/NamedNodeMap.h: + * dom/Node.h: + * dom/NodeList.h: + * dom/QualifiedName.cpp: + * dom/Range.h: + * dom/StyledElement.cpp: + * dom/dom2_traversalimpl.h: + * dom/xml_tokenizer.h: + * editing/RebalanceWhitespaceCommand.cpp: + * editing/RemoveCSSPropertyCommand.cpp: + * editing/RemoveNodeAttributeCommand.cpp: + * editing/RemoveNodeCommand.cpp: + * editing/RemoveNodePreservingChildrenCommand.cpp: + * editing/ReplaceSelectionCommand.h: + * editing/Selection.cpp: + * editing/SetNodeAttributeCommand.cpp: + * editing/SplitElementCommand.cpp: + * editing/SplitTextNodeCommand.cpp: + * editing/SplitTextNodeContainingElementCommand.cpp: + * editing/TextIterator.h: + * editing/htmlediting.h: + * editing/markup.h: + * html/CanvasGradient.h: + * html/CanvasRenderingContext2D.h: + * html/CanvasStyle.cpp: + * html/HTMLCollection.h: + * html/HTMLElementFactory.h: + * kcanvas/KCanvasFilters.cpp: + * kcanvas/KCanvasPath.h: + * kcanvas/RenderPath.cpp: + * kcanvas/RenderSVGImage.cpp: + * kcanvas/RenderSVGText.cpp: + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + * kcanvas/device/quartz/QuartzSupport.mm: + * ksvg2/misc/KSVGTimeScheduler.h: + * ksvg2/misc/SVGDocumentExtensions.h: + * ksvg2/scripts/make_names.pl: + * ksvg2/svg/SVGDOMImplementation.cpp: + * ksvg2/svg/SVGExternalResourcesRequired.h: + * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: + * ksvg2/svg/SVGForeignObjectElement.cpp: + * ksvg2/svg/SVGImageElement.cpp: + * ksvg2/svg/SVGMaskElement.cpp: + * ksvg2/svg/SVGStyledElement.cpp: + * ksvg2/svg/SVGTests.h: + * ksvg2/svg/SVGTransform.h: + * ksvg2/svg/SVGTransformable.cpp: + * kwq/AccessibilityObjectCache.h: + * kwq/KWQCString.cpp: + * kwq/KWQFormData.mm: + * kwq/KWQListBox.mm: + * kwq/KWQResourceLoader.mm: + * kwq/KWQTextEdit.mm: + * loader/Cache.h: + * loader/CachedObject.h: + * loader/CachedObjectClientWalker.h: + * loader/Decoder.h: + * loader/DocLoader.h: + * loader/loader.cpp: + * loader/loader.h: + * page/DOMWindow.h: + * page/Frame.h: + * page/FramePrivate.h: + * page/FrameTree.cpp: + * page/Page.cpp: + * page/Page.h: + * page/Plugin.h: + * platform/Arena.cpp: + * platform/ArrayImpl.h: + * platform/AtomicString.cpp: + * platform/CharsetNames.cpp: + * platform/Color.cpp: + * platform/DeprecatedPtrListImpl.cpp: + * platform/DeprecatedValueListImpl.h: + * platform/FontFallbackList.h: + * platform/GraphicsContext.h: + * platform/GraphicsTypes.cpp: + * platform/Image.h: + * platform/KURL.cpp: + * platform/Logging.cpp: + * platform/Logging.h: + * platform/PlatformString.h: + * platform/PlugInInfoStore.h: + * platform/StreamingTextDecoder.cpp: + * platform/StreamingTextDecoder.h: + * platform/String.cpp: + * platform/StringHash.h: + * platform/StringImpl.cpp: + * platform/StringImpl.h: + * platform/TextEncoding.cpp: + * platform/Timer.cpp: + * platform/Timer.h: + * platform/TransferJob.h: + * platform/TransferJobInternal.h: + * platform/mac/BlockExceptions.mm: + * platform/mac/ColorMac.mm: + * platform/mac/FontData.mm: + * platform/mac/KURLMac.mm: + * platform/mac/QStringMac.mm: + * platform/mac/SharedTimerMac.cpp: + * platform/mac/TextEncodingMac.cpp: + * platform/mac/WebCoreImageRendererFactory.m: + * platform/mac/WebCoreKeyGenerator.m: + * platform/mac/WebCoreTextArea.mm: + * platform/mac/WebCoreTextField.mm: + * platform/mac/WebTextRendererFactory.h: + * platform/mac/WebTextRendererFactory.mm: + * platform/win/TemporaryLinkStubs.cpp: + (JavaAppletWidget::JavaAppletWidget): + * rendering/InlineTextBox.cpp: + * rendering/RenderText.cpp: + * rendering/RenderTreeAsText.cpp: + * rendering/bidi.cpp: + * xml/XSLTProcessor.h: + * xpath/impl/XPathExpressionNode.h: + * xpath/impl/XPathParser.h: + * xpath/impl/XPathPath.h: + * xpath/impl/XPathUtil.h: + +2006-05-09 Anders Carlsson <acarlsson@apple.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=8803 + XPath query for empty attributes crashes in XPath::StringExpression::StringExpression + + * xpath/impl/XPathParser.cpp: + (WebCore::XPath::Parser::lexString): + Make sure an empty string is returned instead of a null string. + + (WebCore::XPath::Parser::lex): + Only assign the string if it isn't null. + +2006-05-09 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - http://bugs.webkit.org/show_bug.cgi?id=8769 + TextEncoding::fromUnicode() - support non-BMP characters and convert to NFC + + Fix the ICU code path, too (currently unused on the Mac). + + * platform/TextEncoding.cpp: + (WebCore::TextEncoding::fromUnicode): Normalize the string. + +2006-05-08 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Tim Hatcher. + + - refactor things so that WebKit doesn't save a WebResource for every loaded URL, + but rather retrieves the data from the WebCore cache as needed. + http://bugs.webkit.org/show_bug.cgi?id=8802 + + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge getData:andResponse:forURL:]): + (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): + * loader/Cache.cpp: + (WebCore::Cache::updateCacheStatus): + (WebCore::Cache::requestImage): + (WebCore::Cache::requestStyleSheet): + (WebCore::Cache::requestScript): + (WebCore::Cache::requestXSLStyleSheet): + (WebCore::Cache::requestXBLDocument): + * loader/Cache.h: + * loader/CachedResource.cpp: Added. + * loader/CachedResource.h: Added. + * loader/CachedResourceClient.h: Added. + * loader/CachedResourceClientWalker.cpp: Added. + * loader/CachedResourceClientWalker.h: Added. + * loader/DocLoader.cpp: + (WebCore::DocLoader::setAutoloadImages): + (WebCore::DocLoader::removeCachedObject): + * loader/DocLoader.h: + (WebCore::DocLoader::cachedObject): + (WebCore::DocLoader::allCachedObjects): + +2006-05-08 Levi Weintraub <lweintraub@apple.com> + + Reviewed by justin. + + * editing/TextIterator.cpp: + (WebCore::shouldEmitSpaceBeforeAndAfterNode): + Returns true when the node should have a leading and trailing space. Currently only + used for inline tables. The function shouldEmitNewlinesBeforeAndAfterNode has a + fallback for nodes with no RenderObject, but the inline property doesn't really + have a meaning without one. + (WebCore::TextIterator::handleNonTextNode): + Checks shouldEmitSpaceBeforeAndAfterNode and inserts a space if necessary. + (WebCore::TextIterator::exitNode): + Checks shouldEmitSpaceBeforeAndAfterNode and inserts a space if necessary. + +2006-05-08 Anders Carlsson <acarlsson@apple.com> + + Try fixing the Win32 build + + * WebCore.vcproj/WebCore/WebCore.vcproj: + Add XPath files to project. + +2006-05-08 Anders Carlsson <acarlsson@apple.com> + + Reviewed by Darin, Eric and Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=6638 + Support Mozilla's XPathEvaluator object. + + * DerivedSources.make: + Generate XPath grammar, and JavaScript wrappers. + + * WebCore.xcodeproj/project.pbxproj: + Add new files to project + + * bindings/js/kjs_binding.cpp: + (KJS::): + (KJS::setDOMException): + Handle setting XPath exceptions. + + * bindings/objc/DOM.mm: + Just return nil for now when trying to create a wrapper for + XPath namespace nodes. + + * bindings/scripts/CodeGeneratorJS.pm: + Add XPath types. Also add a "CanBeConstructed" extended attribute + for interfaces that can be constructed directly. + + * bridge/mac/WebCorePageBridge.mm: + (initializeLoggingChannelsIfNecessary): + Initialize LogXPath channel. + + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::hasFeature): + Support "xpath" version "3.0". + + * dom/Document.cpp: + (WebCore::Document::Document): + + (WebCore::Document::importNode): + Ignore XPath namespace nodes. + + (WebCore::Document::createExpression): + (WebCore::Document::createNSResolver): + (WebCore::Document::evaluate): + New functions which call down to a lazily created XPathEvaluator. + + * dom/Document.h: + Add function declarations. + + * dom/Document.idl: + Add XPath methods. + + * dom/Node.h: + (WebCore::Node::): + Add XPATH_NAMESPACE_NODE type. + + * editing/markup.cpp: + (WebCore::startMarkup): + Ignore XPath namespace nodes. + + * page/DOMWindow.idl: + Add constructors for XPathEvaluator and XPathResult. + + * platform/Logging.cpp: + * platform/Logging.h: + Add XPath log channel + + * xpath: Added. + * xpath/XPathEvaluator.cpp: Added. + (WebCore::XPathEvaluator::createExpression): + (WebCore::XPathEvaluator::createNSResolver): + (WebCore::XPathEvaluator::evaluate): + * xpath/XPathEvaluator.h: Added. + (WebCore::): + * xpath/XPathEvaluator.idl: Added. + * xpath/XPathExpression.cpp: Added. + (WebCore::XPathExpression::createExpression): + (WebCore::XPathExpression::~XPathExpression): + (WebCore::XPathExpression::evaluate): + * xpath/XPathExpression.h: Added. + * xpath/XPathExpression.idl: Added. + * xpath/XPathNSResolver.cpp: Added. + (WebCore::XPathNSResolver::XPathNSResolver): + (WebCore::XPathNSResolver::lookupNamespaceURI): + * xpath/XPathNSResolver.h: Added. + * xpath/XPathNSResolver.idl: Added. + * xpath/XPathNamespace.cpp: Added. + (WebCore::XPathNamespace::XPathNamespace): + (WebCore::XPathNamespace::~XPathNamespace): + (WebCore::XPathNamespace::ownerDocument): + (WebCore::XPathNamespace::ownerElement): + (WebCore::XPathNamespace::prefix): + (WebCore::XPathNamespace::nodeName): + (WebCore::XPathNamespace::nodeValue): + (WebCore::XPathNamespace::namespaceURI): + (WebCore::XPathNamespace::nodeType): + * xpath/XPathNamespace.h: Added. + * xpath/XPathResult.cpp: Added. + (WebCore::InvalidatingEventListener::InvalidatingEventListener): + (WebCore::InvalidatingEventListener::handleEvent): + (WebCore::XPathResult::XPathResult): + (WebCore::XPathResult::~XPathResult): + (WebCore::XPathResult::convertTo): + (WebCore::XPathResult::resultType): + (WebCore::XPathResult::numberValue): + (WebCore::XPathResult::stringValue): + (WebCore::XPathResult::booleanValue): + (WebCore::XPathResult::singleNodeValue): + (WebCore::XPathResult::invalidateIteratorState): + (WebCore::XPathResult::invalidIteratorState): + (WebCore::XPathResult::snapshotLength): + (WebCore::XPathResult::iterateNext): + (WebCore::XPathResult::snapshotItem): + * xpath/XPathResult.h: Added. + (WebCore::XPathResult::): + * xpath/XPathResult.idl: Added. + * xpath/impl: Added. + * xpath/impl/XPathExpressionNode.cpp: Added. + (WebCore::XPath::Expression::evaluationContext): + (WebCore::XPath::Expression::Expression): + (WebCore::XPath::Expression::~Expression): + (WebCore::XPath::Expression::evaluate): + (WebCore::XPath::Expression::addSubExpression): + (WebCore::XPath::Expression::optimize): + (WebCore::XPath::Expression::subExprCount): + (WebCore::XPath::Expression::subExpr): + (WebCore::XPath::Expression::isConstant): + * xpath/impl/XPathExpressionNode.h: Added. + (WebCore::XPath::EvaluationContext::EvaluationContext): + * xpath/impl/XPathFunctions.cpp: Added. + (WebCore::XPath::Interval::Interval): + (WebCore::XPath::Interval::contains): + (WebCore::XPath::Interval::asString): + (WebCore::XPath::Function::setArguments): + (WebCore::XPath::Function::setName): + (WebCore::XPath::Function::arg): + (WebCore::XPath::Function::argCount): + (WebCore::XPath::Function::name): + (WebCore::XPath::FunLast::doEvaluate): + (WebCore::XPath::FunLast::isConstant): + (WebCore::XPath::FunPosition::doEvaluate): + (WebCore::XPath::FunPosition::isConstant): + (WebCore::XPath::FunLocalName::isConstant): + (WebCore::XPath::FunLocalName::doEvaluate): + (WebCore::XPath::FunNamespaceURI::isConstant): + (WebCore::XPath::FunNamespaceURI::doEvaluate): + (WebCore::XPath::FunName::isConstant): + (WebCore::XPath::FunName::doEvaluate): + (WebCore::XPath::FunCount::doEvaluate): + (WebCore::XPath::FunCount::isConstant): + (WebCore::XPath::FunString::doEvaluate): + (WebCore::XPath::FunConcat::doEvaluate): + (WebCore::XPath::FunStartsWith::doEvaluate): + (WebCore::XPath::FunContains::doEvaluate): + (WebCore::XPath::FunSubstringBefore::doEvaluate): + (WebCore::XPath::FunSubstringAfter::doEvaluate): + (WebCore::XPath::FunSubstring::doEvaluate): + (WebCore::XPath::FunStringLength::doEvaluate): + (WebCore::XPath::FunNormalizeSpace::doEvaluate): + (WebCore::XPath::FunTranslate::doEvaluate): + (WebCore::XPath::FunBoolean::doEvaluate): + (WebCore::XPath::FunNot::doEvaluate): + (WebCore::XPath::FunTrue::doEvaluate): + (WebCore::XPath::FunTrue::isConstant): + (WebCore::XPath::FunLang::doEvaluate): + (WebCore::XPath::FunLang::isConstant): + (WebCore::XPath::FunFalse::doEvaluate): + (WebCore::XPath::FunFalse::isConstant): + (WebCore::XPath::FunNumber::doEvaluate): + (WebCore::XPath::FunSum::doEvaluate): + (WebCore::XPath::FunFloor::doEvaluate): + (WebCore::XPath::FunCeiling::doEvaluate): + (WebCore::XPath::FunRound::doEvaluate): + (WebCore::XPath::FunctionLibrary::self): + (WebCore::XPath::FunctionLibrary::FunctionLibrary): + (WebCore::XPath::FunctionLibrary::createFunction): + * xpath/impl/XPathFunctions.h: Added. + * xpath/impl/XPathGrammar.y: Added. + * xpath/impl/XPathParser.cpp: Added. + (WebCore::XPath::): + (WebCore::XPath::Parser::charCat): + (WebCore::XPath::Parser::isAxisName): + (WebCore::XPath::Parser::isNodeTypeName): + (WebCore::XPath::Parser::isOperatorContext): + (WebCore::XPath::Parser::skipWS): + (WebCore::XPath::Parser::makeTokenAndAdvance): + (WebCore::XPath::Parser::makeIntTokenAndAdvance): + (WebCore::XPath::Parser::peekAheadHelper): + (WebCore::XPath::Parser::peekCurHelper): + (WebCore::XPath::Parser::lexString): + (WebCore::XPath::Parser::lexNumber): + (WebCore::XPath::Parser::lexNCName): + (WebCore::XPath::Parser::lexQName): + (WebCore::XPath::Parser::nextTokenInternal): + (WebCore::XPath::Parser::nextToken): + (WebCore::XPath::Parser::Parser): + (WebCore::XPath::Parser::reset): + (WebCore::XPath::Parser::lex): + (WebCore::XPath::Parser::parseStatement): + (WebCore::XPath::Parser::registerParseNode): + (WebCore::XPath::Parser::unregisterParseNode): + (WebCore::XPath::Parser::registerPredicateVector): + (WebCore::XPath::Parser::unregisterPredicateVector): + (WebCore::XPath::Parser::registerExpressionVector): + (WebCore::XPath::Parser::unregisterExpressionVector): + (WebCore::XPath::Parser::registerString): + (WebCore::XPath::Parser::unregisterString): + * xpath/impl/XPathParser.h: Added. + (WebCore::XPath::Token::Token): + (WebCore::XPath::Parser::): + (WebCore::XPath::Parser::current): + * xpath/impl/XPathPath.cpp: Added. + (WebCore::XPath::Filter::Filter): + (WebCore::XPath::Filter::~Filter): + (WebCore::XPath::Filter::doEvaluate): + (WebCore::XPath::LocationPath::LocationPath): + (WebCore::XPath::LocationPath::~LocationPath): + (WebCore::XPath::LocationPath::optimize): + (WebCore::XPath::LocationPath::doEvaluate): + (WebCore::XPath::Path::Path): + (WebCore::XPath::Path::~Path): + (WebCore::XPath::Path::doEvaluate): + * xpath/impl/XPathPath.h: Added. + * xpath/impl/XPathPredicate.cpp: Added. + (WebCore::XPath::Number::Number): + (WebCore::XPath::Number::isConstant): + (WebCore::XPath::Number::doEvaluate): + (WebCore::XPath::StringExpression::StringExpression): + (WebCore::XPath::StringExpression::isConstant): + (WebCore::XPath::StringExpression::doEvaluate): + (WebCore::XPath::Negative::doEvaluate): + (WebCore::XPath::NumericOp::NumericOp): + (WebCore::XPath::NumericOp::doEvaluate): + (WebCore::XPath::EqTestOp::EqTestOp): + (WebCore::XPath::EqTestOp::doEvaluate): + (WebCore::XPath::LogicalOp::LogicalOp): + (WebCore::XPath::LogicalOp::shortCircuitOn): + (WebCore::XPath::LogicalOp::isConstant): + (WebCore::XPath::LogicalOp::doEvaluate): + (WebCore::XPath::Union::doEvaluate): + (WebCore::XPath::Predicate::Predicate): + (WebCore::XPath::Predicate::~Predicate): + (WebCore::XPath::Predicate::evaluate): + (WebCore::XPath::Predicate::optimize): + * xpath/impl/XPathPredicate.h: Added. + (WebCore::XPath::NumericOp::): + (WebCore::XPath::EqTestOp::): + (WebCore::XPath::LogicalOp::): + * xpath/impl/XPathStep.cpp: Added. + (WebCore::XPath::Step::axisAsString): + (WebCore::XPath::Step::Step): + (WebCore::XPath::Step::~Step): + (WebCore::XPath::Step::evaluate): + (WebCore::XPath::Step::nodesInAxis): + (WebCore::XPath::Step::nodeTestMatches): + (WebCore::XPath::Step::optimize): + (WebCore::XPath::Step::namespaceFromNodetest): + (WebCore::XPath::Step::primaryNodeType): + * xpath/impl/XPathStep.h: Added. + (WebCore::XPath::Step::): + * xpath/impl/XPathUtil.cpp: Added. + (WebCore::XPath::isRootDomNode): + (WebCore::XPath::stringValue): + (WebCore::XPath::isValidContextNode): + * xpath/impl/XPathUtil.h: Added. + * xpath/impl/XPathValue.cpp: Added. + (WebCore::XPath::Value::Value): + (WebCore::XPath::Value::type): + (WebCore::XPath::Value::isNodeVector): + (WebCore::XPath::Value::isBoolean): + (WebCore::XPath::Value::isNumber): + (WebCore::XPath::Value::isString): + (WebCore::XPath::Value::toNodeVector): + (WebCore::XPath::Value::toBoolean): + (WebCore::XPath::Value::toNumber): + (WebCore::XPath::Value::toString): + * xpath/impl/XPathValue.h: Added. + (WebCore::XPath::Value::): + * xpath/impl/XPathVariableReference.cpp: Added. + (WebCore::XPath::VariableReference::VariableReference): + (WebCore::XPath::VariableReference::isConstant): + (WebCore::XPath::VariableReference::doEvaluate): + * xpath/impl/XPathVariableReference.h: Added. + +2006-05-08 David Hyatt <hyatt@apple.com> + + Comprehensive box-sizing fix. This patch changes all form controls to + have the right box-sizing values (text fields and text areas actually only + use border-box in quirks mode now, and image buttons never use border-box). + + Tables are supposed to use border-box box-sizing as well, but that's a scary + enough change that I'm saving it for a separate patch. + + Reviewed by mjs + + * css/html4.css: + * css/quirks.css: + +2006-05-07 Darin Adler <darin@apple.com> + + Suggested by Mitz. Reviewed and landed by Maciej. + + * dom/Document.cpp: (WebCore::Document::formElementsState): Fixed mistake where the + vector has an initial size and instead should have an initial capacity. Harmless in + a way, but hurts performance. + +2006-05-07 David Hyatt <hyatt@apple.com> + + Fix for bugzilla bug 8060. + + Fixed width table cells weren't having their border widths + included in the effective width of the column (and thus could end up being + too small). + + Reviewed by darin + + Added fast/tables/fixed-cell-growth.html + + * rendering/table_layout.cpp: + (WebCore::AutoTableLayout::recalcColumn): + +2006-05-07 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - http://bugs.webkit.org/show_bug.cgi?id=8769 + TextEncoding::fromUnicode() - support non-BMP characters and convert to NFC + + Tests: + * fast/forms/form-data-encoding.html + * fast/forms/form-data-encoding-2.html + + * platform/mac/TextEncodingMac.cpp: + (WebCore::TextEncoding::fromUnicode): Normalize the string; handle surrogate pairs. + +2006-05-06 David Hyatt <hyatt@apple.com> + + Rename WebCoreFont to FontPlatformData and WebTextRenderer to FontData. Merge them into the + headers (uncleanly with ifdefs at the moment, so I can see what I'm working towards). + + Reviewed by mjs + + * ChangeLog: + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/WebCoreStringTruncator.mm: + (stringWidth): + (truncateString): + (+[WebCoreStringTruncator widthOfString:font:]): + * kwq/KWQComboBox.mm: + (QComboBox::sizeHint): + * kwq/KWQLineEdit.mm: + (QLineEdit::sizeForCharacterWidth): + * kwq/KWQListBox.mm: + (itemTextRenderer): + (groupLabelTextRenderer): + (QListBox::sizeForNumberOfLines): + (-[KWQTableView drawRow:clipRect:]): + * platform/Font.cpp: + (WebCore::m_wordSpacing): + (WebCore::Font::Font): + (WebCore::Font::operator=): + (WebCore::Font::update): + (WebCore::Font::ascent): + (WebCore::Font::descent): + (WebCore::Font::lineSpacing): + (WebCore::Font::xHeight): + (WebCore::Font::isFixedPitch): + * platform/Font.h: + (WebCore::Font::getNSFont): + * platform/FontData.h: + (WebCore::FontData::ascent): + (WebCore::FontData::descent): + (WebCore::FontData::lineSpacing): + (WebCore::FontData::lineGap): + (WebCore::FontData::misspellingLineThickness): + (WebCore::FontData::misspellingLinePatternWidth): + (WebCore::FontData::misspellingLinePatternGapWidth): + * platform/FontDataSet.h: Removed. + * platform/FontFallbackList.h: Added. + * platform/FontPlatformData.h: + * platform/mac/FontData.mm: Added. + (WebCore::WebCoreInitializeFont): + (WebCore::WebCoreInitializeEmptyTextGeometry): + (WebCore::widthForGlyph): + (WebCore::overrideLayoutOperation): + (WebCore::FontData::~FontData): + (WebCore::FontData::xHeight): + (WebCore::FontData::drawRun): + (WebCore::FontData::floatWidthForRun): + (WebCore::FontData::drawLineForCharacters): + (WebCore::FontData::selectionRectForRun): + (WebCore::FontData::drawHighlightForRun): + (WebCore::FontData::drawLineForMisspelling): + (WebCore::FontData::pointToOffset): + (WebCore::FontData::setAlwaysUseATSU): + (WebCore::getSmallCapsRenderer): + (WebCore::findSubstituteFont): + (WebCore::rendererForAlternateFont): + (WebCore::findSubstituteRenderer): + (WebCore::computeWidthForSpace): + (WebCore::setUpFont): + (WebCore::CG_drawHighlight): + (WebCore::CG_selectionRect): + (WebCore::CG_draw): + (WebCore::CG_floatWidthForRun): + (WebCore::updateGlyphMapEntry): + (WebCore::extendGlyphMap): + (WebCore::extendWidthMap): + (WebCore::initializeATSUStyle): + (WebCore::createATSULayoutParameters): + (WebCore::getTextBounds): + (WebCore::ATSU_floatWidthForRun): + (WebCore::ATSU_drawHighlight): + (WebCore::ATSU_selectionRect): + (WebCore::ATSU_draw): + (WebCore::ATSU_pointToOffset): + (WebCore::advanceWidthIteratorOneCharacter): + (WebCore::CG_pointToOffset): + (WebCore::glyphForCharacter): + (WebCore::initializeWidthIterator): + (WebCore::advanceWidthIterator): + * platform/mac/FontMac.mm: + (WebCore::m_font): + (WebCore::FontFallbackList::~FontFallbackList): + (WebCore::FontFallbackList::platformFont): + (WebCore::FontFallbackList::primaryFont): + (WebCore::FontFallbackList::determinePitch): + (WebCore::FontFallbackList::invalidate): + (WebCore::Font::platformFont): + (WebCore::Font::selectionRectForText): + (WebCore::Font::drawText): + (WebCore::Font::drawHighlightForText): + (WebCore::Font::drawLineForText): + (WebCore::Font::drawLineForMisspelling): + (WebCore::Font::misspellingLineThickness): + (WebCore::Font::floatWidth): + (WebCore::Font::checkSelectionPoint): + * platform/mac/WebCoreTextRenderer.mm: + (WebCoreDrawTextAtPoint): + (WebCoreTextFloatWidth): + (WebCoreSetAlwaysUseATSU): + * platform/mac/WebTextRenderer.h: Removed. + * platform/mac/WebTextRenderer.mm: Removed. + * platform/mac/WebTextRendererFactory.h: + * platform/mac/WebTextRendererFactory.mm: + (-[WebTextRendererFactory isFontFixedPitch:]): + (-[WebTextRendererFactory init]): + (-[WebTextRendererFactory rendererWithFont:]): + (-[WebTextRendererFactory fontWithFamilies:traits:size:]): + * platform/win/FontWin.cpp: + (WebCore::FontFallbackList::~FontFallbackList): + (WebCore::FontFallbackList::determinePitch): + (WebCore::FontFallbackList::invalidate): + (WebCore::FontFallbackList::primaryFont): + (WebCore::Font::floatWidth): + (WebCore::Font::drawText): + (WebCore::Font::drawHighlightForText): + (WebCore::Font::selectionRectForText): + (WebCore::Font::checkSelectionPoint): + +2006-05-05 Darin Adler <darin@apple.com> + + - fix the Windows build + + * platform/win/FontWin.cpp: (WebCore::getFontData): + +2006-05-05 Darin Adler <darin@apple.com> + + * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Oops! + Removed an extra ! that was causing everything to fail. + +2006-05-05 Darin Adler <darin@apple.com> + + Reviewed by Tim Hatcher. + + - remove a few of the stranger features of QChar on the road to + eventually replacing it with an integer type (probably ICU's UChar) + + * platform/DeprecatedString.h: Remove SpecialCharacter, byteOrderMark, null, + cell, row, isNull, mirrored, mirroredChar, operator char, >, >=, <, and <= + from QChar. Also removed the many unneeded friend declarations. Remove findArg + and arg from DeprecatedString. + + * dom/Document.cpp: (WebCore::Document::parseQualifiedName): Cast the type of the + buffer before invoking the U16_NEXT function. Turns out this was converting each + QChar to a char and back to a UChar, which means it caused a bug with characters + that are U+0100 or greater. + + * css/csshelper.cpp: (WebCore::parseURL): + * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::constrainValue): + * platform/StringImpl.cpp: (WebCore::StringImpl::toCoordsArray): + * xml/xmlhttprequest.cpp: (WebCore::getCharset): + Add some calls to unicode() since we don't have comparison operators any more. + + * dom/StyledElement.cpp: + (WebCore::toHex): Rewrote to just take a UChar parameter. + (WebCore::StyledElement::addCSSColor): Call toHex on the character code. + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]): + * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): + * editing/TextIterator.cpp: (WebCore::TextIterator::handleTextBox): + * platform/SegmentedString.h: + (WebCore::SegmentedString::push): + (WebCore::SegmentedString::advance): + (WebCore::SegmentedString::escaped): + * platform/SegmentedString.cpp: + (WebCore::SegmentedString::length): + (WebCore::SegmentedString::append): + (WebCore::SegmentedString::prepend): + (WebCore::SegmentedString::toString): + Changed calls to isNull() to instead just use unicode() and check for 0. + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseEntity): Change callers that used cell and row to + just use unicode() instead. + (WebCore::HTMLTokenizer::parseTag): Ditto. + + * loader/Decoder.cpp: (Decoder::decode): Changed code that did a type cast to + unsigned char to instead call unicode(). + + * platform/DeprecatedString.cpp: + (KWQStringData::makeAscii): Call latin1() instead of relying on the conversion operator. + (DeprecatedString::DeprecatedString): Call unicode() instead of relying on the conversion + operator (the character has been tested and is known to be ASCII). + (DeprecatedString::at): Use 0 instead of QChar::null. + (DeprecatedString::compare): Use unicode() so we can do comparison since we don't have + comparison operators any more. + (DeprecatedString::find): Call unicode() instead of relying on the conversion + operator (the character has been tested and is known to be ASCII). + (DeprecatedString::findRev): Ditto. + (DeprecatedString::copyLatin1): Call latin1() instead of relying on the conversion operator. + (DeprecatedString::lower): Call unicode() instead of relying on the conversion + operator (the character has been tested and is known to be ASCII). + (DeprecatedString::insert): Ditto. + (DeprecatedString::replace): Ditto. + (DeprecatedString::fill): Ditto. + (DeprecatedString::append): Ditto. + + * html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler): + Eliminate the one use of DeprecatedString::arg. + + - other cleanup + + * kwq/KWQCString.cpp: Remove unneeded "using" directive. + + * html/HTMLElementFactory.cpp: + (WebCore::htmlConstructor): + (WebCore::headConstructor): + (WebCore::bodyConstructor): + (WebCore::baseConstructor): + (WebCore::linkConstructor): + (WebCore::metaConstructor): + (WebCore::styleConstructor): + (WebCore::titleConstructor): + (WebCore::frameConstructor): + (WebCore::framesetConstructor): + (WebCore::iframeConstructor): + (WebCore::formConstructor): + (WebCore::buttonConstructor): + (WebCore::inputConstructor): + (WebCore::isindexConstructor): + (WebCore::fieldsetConstructor): + (WebCore::labelConstructor): + (WebCore::legendConstructor): + (WebCore::optgroupConstructor): + (WebCore::optionConstructor): + (WebCore::selectConstructor): + (WebCore::textareaConstructor): + (WebCore::dlConstructor): + (WebCore::ulConstructor): + (WebCore::olConstructor): + (WebCore::dirConstructor): + (WebCore::menuConstructor): + (WebCore::liConstructor): + (WebCore::blockquoteConstructor): + (WebCore::divConstructor): + (WebCore::headingConstructor): + (WebCore::hrConstructor): + (WebCore::paragraphConstructor): + (WebCore::preConstructor): + (WebCore::basefontConstructor): + (WebCore::fontConstructor): + (WebCore::modConstructor): + (WebCore::anchorConstructor): + (WebCore::imageConstructor): + (WebCore::mapConstructor): + (WebCore::areaConstructor): + (WebCore::canvasConstructor): + (WebCore::appletConstructor): + (WebCore::embedConstructor): + (WebCore::objectConstructor): + (WebCore::paramConstructor): + (WebCore::scriptConstructor): + (WebCore::tableConstructor): + (WebCore::tableCaptionConstructor): + (WebCore::tableColConstructor): + (WebCore::tableRowConstructor): + (WebCore::tableCellConstructor): + (WebCore::tableSectionConstructor): + (WebCore::brConstructor): + (WebCore::quoteConstructor): + (WebCore::marqueeConstructor): + Mark functions static, remove unused parameters, change from docPtr to doc. + +2006-05-05 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=8626 + Strict mode erroneously triggered by a broken comment + + Test: fast/parser/broken-comments-vs-parsing-mode.html + + * page/Frame.cpp: + (WebCore::Frame::endIfNotLoading): Call determineParseMode() if needed. + +2006-05-05 Darin Adler <darin@apple.com> + + - fix the Windows build (this time for sure) + + * platform/win/TemporaryLinkStubs.cpp: + (GraphicsContext::translate): Added. + (GraphicsContext::rotate): Ditto. + (GraphicsContext::scale): Ditto. + +2006-05-05 Darin Adler <darin@apple.com> + + - fix the Windows build + + * bridge/win/FrameWin.h: Add Element* parameter to createPlugin. + * platform/win/TemporaryLinkStubs.cpp: (FrameWin::createPlugin): Ditto. + +2006-05-05 Darin Adler <darin@apple.com> + + - get the Windows build a little closer to building again + + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawRect): Call alpha to check if the color is transparent. + Call setColor directly instead of setColorFromPen. + (WebCore::GraphicsContext::drawLine): Ditto. + (WebCore::GraphicsContext::drawEllipse): Ditto. + (WebCore::GraphicsContext::drawArc): Ditto. + (WebCore::GraphicsContext::drawConvexPolygon): Ditto. + * platform/win/TemporaryLinkStubs.cpp: (JavaAppletWidget::JavaAppletWidget): Updated parameter types. + +2006-05-05 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fixed data structure used to save/restore form element state to remove the + O(n^2) algorithm and remove anomalies in how it works + - fix http://bugs.webkit.org/show_bug.cgi?id=8683 + REGRESSION: imdb search button has "Submit" overload after going back + + * manual-tests/form-value-restore.html: Added. + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge saveDocumentState]): Rewrote to call the new formElementsState + function on the document and also to convert null strings to NSNull instead of empty + NSString objects. + (-[WebCoreFrameBridge restoreDocumentState]): Ditto, with the setStateForNewFormElements + function. + + * dom/Document.h: Added FormElementKey, FormElementKeyHash, and FormElementKeyHashTraits + for use in the hash map. Made readyState, inputEncoding, defaultCharset, charset, + characterSet, getElementByAccessKey, haveStylesheetsLoaded, usesDescendantRules, + usesSiblingRules, inCompatMode, inAlmostStrictMode, inStrictMode, preferredStylesheetSet, + selectedStylesheetSet, and getCSSTarget all const member functions. Removed the unused + nextState function. Renamed registerMaintainsState and deregisterMaintainsState to + registerFormElementWithState and HTMLGenericFormElement and changed them to use form + elements rather than arbitrary DOM nodes. Replaced docState with formElementsState and + setRestoreState and restoreState with setStateForNewFormElements, hasStateForNewFormElements, + and takeStateForFormElement. Replaced m_maintainsState with m_formElementsWithState, + m_state with m_stateForNewFormElements. Made m_elementsByAccessKey and m_accessKeyMapValid + mutable. Removed unused m_elementNames, m_elementNameAlloc, m_elementNameCount, m_attrNames, + m_attrNameAlloc, m_attrNameCount, m_namespaceURIs, m_namespaceURIAlloc, m_namespaceURICount. + + * dom/Document.cpp: + (WebCore::Document::Document): Remove initialization of long-obsolete m_elementNames and + m_attrNames. + (WebCore::Document::~Document): Remove destruction of same. + (WebCore::Document::readyState): Made const. + (WebCore::Document::inputEncoding): Ditto. + (WebCore::Document::defaultCharset): Ditto. + (WebCore::Document::getElementByAccessKey): Ditto. + (WebCore::Document::preferredStylesheetSet): Ditto. + (WebCore::Document::selectedStylesheetSet): Ditto. + (WebCore::Document::getCSSTarget): Ditto. + (WebCore::Document::formElementsState): Added. Replaces the old docState function. + Builds a vector of strings, with 3 strings for each form element containing the + name, type, and state value. + (WebCore::Document::setStateForNewFormElements): Added. Converts the state vector + into a hash map, considering the scheme with 3 strings for form element used above. + (WebCore::Document::hasStateForNewFormElements): Added. + (WebCore::Document::takeStateForFormElement): Added. Given a name and type, looks + up the values in the hash map and "peels off" the last one. + (WebCore::FormElementKey::FormElementKey): Added. + (WebCore::FormElementKey::~FormElementKey): Added. + (WebCore::FormElementKey::operator=): Added. + (WebCore::FormElementKey::ref): Added. + (WebCore::FormElementKey::deref): Added. + (WebCore::FormElementKeyHash::hash): Added. + (WebCore::FormElementKeyHashTraits::deletedValue): Added. + + * dom/Element.h: Removed state function. + * dom/Node.h: Removed maintainsState, state, and restoreState functions. + * dom/Node.cpp: Ditto. + + * dom/QualifiedName.cpp: Reformatted. + (WebCore::hashComponents): Removed code to handle buffers that are not multiples + of 4 bytes, since a QualifiedName is guaranteed to be; also asserted that fact. + + * html/HTMLParser.cpp: + (WebCore::HTMLParser::insertNode): Remove code to restore state; that's now handled + by closeRenderer. + (WebCore::HTMLParser::popOneBlock): Ditto. + + * html/HTMLFormElement.cpp: Added include of HTMLInputElement.h. + + * html/HTMLGenericFormElement.h: Changed form to be a const member function. + Changed type function to return a const AtomicString& instead of a String. + Added an override of closeRenderer. Removed state and findMatchingState functions. + Added stateValue and restoreState functions. Made m_form, m_disabled, and m_readOnly + be private instead of protected. Removed m_inited. Changed booleans to not use bit + fields since there are only two of them. + * html/HTMLGenericFormElement.cpp: Removed encodedElementName, state, and + findMatchingState functions. + (WebCore::HTMLGenericFormElement::stateValue): Added. No implementation. This will only be + called for subclasses that call registerFormElementWithState, and those will override and + implement it. + (WebCore::HTMLGenericFormElement::restoreState): Ditto. + (WebCore::HTMLGenericFormElement::closeRenderer): Added. Replaces code that was in the + HTML parser. Calls takeStateForFormElement, passing in the name and type, and if a + state is found, calls restoreState. + + * html/HTMLButtonElement.h: Changed type to return a const AtomicString& instead + of a String. + * html/HTMLButtonElement.cpp: + (WebCore::HTMLButtonElement::type): Return a const AtomicString& instead of a + String. + (WebCore::HTMLButtonElement::defaultEventHandler): Use form() instead of m_form. + (WebCore::HTMLButtonElement::isSuccessfulSubmitButton): Use disabled() instead of + m_disabled. + + * html/HTMLInputElement.h: Changed type to return a const AtomicString& instead + of a String. Removed maintainsState, state, and restoreState functions, and added + new stateValue and restoreState functions. Added m_inited (moved here from the generic + form element base class). + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::init): Call registerFormElementWithState. This was + formerly done by the HTML parser. + (WebCore::HTMLInputElement::~HTMLInputElement): Call deregisterFormElementWithState + by its new name. + (WebCore::HTMLInputElement::isKeyboardFocusable): Use form() instead of m_form. + (WebCore::HTMLInputElement::setType): Ditto. + (WebCore::HTMLInputElement::setInputType): Ditto. Also call inputType() != PASSWORD + instead of maintainsState(), since this is the only function that needs to know + the rule and it's no longer a function in the base class. Also call register and + deregister functions by their new names. + (WebCore::HTMLInputElement::type): Changed to return const AtomicString& instead + of String. + (WebCore::HTMLInputElement::stateValue): Renamed from state and changed to no + longer include the name and type, formerly obtained by calling the base class's + HTMLGenericFormElement::state, and to no longer modify the value() string by + adding a ".", which gets in the way of distinguishing null and empty values + and is slower and unnecessary. + (WebCore::HTMLInputElement::restoreState): Changed because it takes a single + state and doesn't need to call findMatchingState, and also to no longer remove the last + character from the value when restoring state. + (WebCore::HTMLInputElement::parseMappedAttribute): Use form() instead of m_form. + (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use disabled() instead of + m_disabled. + (WebCore::HTMLInputElement::setChecked): Use form() instead of m_form. + (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto. + (WebCore::HTMLInputElement::defaultEventHandler): Ditto. + + * html/HTMLSelectElement.h: Changed type to return a const AtomicString& instead + of a String. + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::HTMLSelectElement): Call registerFormElementWithState. + This was formerly done by the HTML parser. + (WebCore::HTMLSelectElement::~HTMLSelectElement): Call deregisterFormElementWithState + by its new name. + (WebCore::HTMLSelectElement::type): Changed to return const AtomicString& instead + of String. + (WebCore::HTMLSelectElement::stateValue): Renamed from state and changed to no + longer include the name and type, formerly obtained by calling the base class's + HTMLGenericFormElement::state, and to build the string in a Vector<char> instead of + appending characters one at a time to a string. + (WebCore::HTMLSelectElement::restoreState): Changed because it takes a single + state and doesn't need to call findMatchingState. + (WebCore::HTMLSelectElement::defaultEventHandler): Use form() instead of m_form. + + * html/HTMLTextAreaElement.h: Changed type to return a const AtomicString& instead + of a String. Removed maintainsState, state, and restoreState functions, and added + new stateValue and restoreState functions. + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Call registerFormElementWithState. + This was formerly done by the HTML parser. Also use member initialization instead of + assignment. + (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Call deregisterFormElementWithState + by its new name. + (WebCore::HTMLTextAreaElement::type): Changed to return const AtomicString& instead + of String. + (WebCore::HTMLTextAreaElement::stateValue): Renamed from state and changed to no + longer include the name and type, formerly obtained by calling the base class's + HTMLGenericFormElement::state, and to no longer modify the value() string by + adding a ".", which is unnecessary. + (WebCore::HTMLTextAreaElement::restoreState): Changed because it takes a single + state and doesn't need to call findMatchingState, and also to no longer remove the last + character from the value when restoring state. + (WebCore::HTMLTextAreaElement::updateValue): Changed to const. + (WebCore::HTMLTextAreaElement::value): Ditto. + (WebCore::HTMLTextAreaElement::defaultValue): Ditto. + + * html/HTMLFieldSetElement.h: Changed type to return a const AtomicString& instead + of a String. + * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::type): Ditto. + * html/HTMLKeygenElement.h: Ditto. + * html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::type): Ditto. + * html/HTMLLegendElement.h: Ditto. + * html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::type): + * html/HTMLOptGroupElement.h: Ditto. + * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::type): Ditto. + * html/HTMLOptionElement.h: Ditto. + * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::type): Ditto. + + * ksvg2/svg/SVGAnimationElement.cpp: (SVGAnimationElement::closeRenderer): + Added missing call to base class. + + * rendering/render_form.h: Removed element() functions that cast to the + appropriate derived element class. They do make some bits of code slightly + more readable, but they also require including too many headers. Removed + the includes of HTMLInputElement.h, HTMLSelectElement.h, HTMLTextAreaElement.h, + and KWQLineEdit.h, and added an include of GraphicsTypes.h. + * rendering/render_form.cpp: + (WebCore::RenderFormElement::updateFromElement): Changed use of element() + to instead use node() and cast. + (WebCore::RenderFormElement::clicked): Ditto. + (WebCore::RenderLineEdit::selectionChanged): Ditto. + (WebCore::RenderLineEdit::returnPressed): Ditto. + (WebCore::RenderLineEdit::performSearch): Ditto. + (WebCore::RenderLineEdit::addSearchResult): Ditto. + (WebCore::RenderLineEdit::calcMinMaxWidth): Ditto. + (WebCore::RenderLineEdit::setStyle): Ditto. + (WebCore::RenderLineEdit::updateFromElement): Ditto. + (WebCore::RenderLineEdit::valueChanged): Ditto. + (WebCore::RenderFileButton::calcMinMaxWidth): Ditto. + (WebCore::RenderFileButton::updateFromElement): Ditto. + (WebCore::RenderFileButton::returnPressed): Ditto. + (WebCore::RenderFileButton::valueChanged): Ditto. + (WebCore::RenderSelect::updateFromElement): Ditto. + (WebCore::RenderSelect::layout): Ditto. + (WebCore::RenderSelect::valueChanged): Ditto. + (WebCore::RenderSelect::selectionChanged): Ditto. + (WebCore::RenderSelect::updateSelection): Ditto. + (WebCore::RenderTextArea::destroy): Ditto. + (WebCore::RenderTextArea::calcMinMaxWidth): Ditto. + (WebCore::RenderTextArea::setStyle): Ditto. + (WebCore::RenderTextArea::updateFromElement): Ditto. + (WebCore::RenderTextArea::valueChanged): Ditto. + (WebCore::RenderTextArea::selectionChanged): Ditto. + (WebCore::RenderSlider::updateFromElement): Ditto. + (WebCore::RenderSlider::valueChanged): Ditto. + +2006-05-05 Matt Gough <matt@softchaos.com> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=8563 + + Test: fast/doctypes/005-case-preserving.html + + The doctype object in the DOM is now usable by client code + as opposed to always being exposed as nil. Now also ensures that + the 'name' of the component preserves the case of the original html source. + (i.e HtMl -> HtMl not HTML) + + * dom/Document.h: + Changes comment by docType() to say it may return 0 for html + * html/HTMLDocument.cpp: + (WebCore::parseDocTypeDeclaration): + (WebCore::HTMLDocument::determineParseMode): + Preserves the case of the name component + (WebCore::HTMLDocument::doctype):removed + * html/HTMLDocument.h: + (WebCore::HTMLDocument::doctype):removed + +2006-05-05 Rob Buis <buis@kde.org> + + Reviewed by Darin. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=8445: + [DOMHTMLSelectElement multiple] returns no when the select element is multiple + + Correct the logic errors, which are clearly indicated by the changeset given + in the bug report. + + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLLinkElement disabled]): + (-[DOMHTMLSelectElement disabled]): + (-[DOMHTMLSelectElement multiple]): + (-[DOMHTMLOptGroupElement disabled]): + (-[DOMHTMLOptionElement defaultSelected]): + (-[DOMHTMLOptionElement disabled]): + +2006-05-04 Darin Adler <darin@apple.com> + + Reviewed by Tim Omernick. + + - fix storage leak I introduced yesterday + + * platform/cg/GraphicsContextCG.cpp: + (WebCore::setCGFillColor): Added. + (WebCore::setCGStrokeColor): Added. + (WebCore::GraphicsContext::drawRect): Use setCGFillColor to avoid allocating + a CGColorRef object. + (WebCore::GraphicsContext::drawLine): Use setCGStrokeColor and setCGFillColor + to avoid allocating a CGColorRef object. + (WebCore::GraphicsContext::drawEllipse): Ditto. + (WebCore::GraphicsContext::drawArc): Ditto. + (WebCore::GraphicsContext::drawConvexPolygon): Ditto. + (WebCore::GraphicsContext::fillRect): Ditto. + +2006-05-04 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + * dom/Node.cpp: + (WebCore::Node::rootEditableElement): + Restored code to stop at the body tag. Editing shouldn't be allowed to + happen outside the body, so it needs to be the editable root even if the + html element is contentEditable. + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::shouldMergeEnd): + Now takes in more information so it can be "the decider". + (WebCore::ReplaceSelectionCommand::doApply): + Merging two paragraphs will destroy the moved one's block styles. Perform + the end merge backward (from content already in the document to just inserted + content) if moving forward would move the paragraph that contained the start of + the selection being pasted into, since we always want to preserve that paragraph's + block style. + Moving backward in this case is also helpful because otherwise it would be + difficult to remember the position where inserted content began (since merging + would remove m_firstNodeInserted). That position is needed in order to select + the replacement and to add smart replace whitespace. + (WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded): + If [br, 0] is at the end of a block, the br is not necessarily collapsed + in quirks mode. [br, 0] needs to also not be at the start of a block. + + * editing/ReplaceSelectionCommand.h: + +2006-05-04 Tim Omernick <timo@apple.com> + + Reviewed by Darin. + + <rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element + + * bridge/mac/WebCoreFrameBridge.h: + Added DOMElement parameter to -viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:. + + * bridge/JavaAppletWidget.h: + Constructor now takes the applet's element instead of its containing frame. + + * bridge/mac/JavaAppletWidget.mm: + (JavaAppletWidget::JavaAppletWidget): + Pass the applet's element to viewForJavaAppletWithFrame:. + + * rendering/RenderApplet.cpp: + (WebCore::RenderApplet::createWidgetIfNecessary): + Pass the element along to JavaAppletWidget. + +2006-05-04 Tim Omernick <timo@apple.com> + + Reviewed by John Sullivan. + + <rdar://problem/4480186> Give WebKit plugins access to their own DOM element + + * bridge/mac/WebCoreFrameBridge.h: + Added DOMElement: parameter to -viewForPluginWithURL:attributeNames:attributueValues:MIMEType: + + * bridge/mac/FrameMac.h: + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::createPlugin): + Added "element" parameter; wrap element in DOMElement and pass up to the bridge. + + * page/Frame.h: + Added "element" parameter to createPlugin(). + * page/Frame.cpp: + (WebCore::Frame::loadPlugin): + Get the plugin's DOM element and pass to createPlugin(). + +2006-05-04 Eric Seidel <eseidel@apple.com> + + Reviewed by timo. + + Add drag & drop support to <input type="file"> + http://bugs.webkit.org/show_bug.cgi?id=8733 + + Test: manual/input-type-file-drag-drop.html + + * kwq/KWQFileButton.mm: + (-[WebFileChooserButton initWithWidget::]): + (-[WebCoreFileButton initWithWidget:]): + (-[WebCoreFileButton drawRect:]): + (-[WebCoreFileButton updateLabel]): + (-[WebCoreFileButton setFilename:]): + (-[WebCoreFileButton changeFilename:]): + (-[WebCoreFileButton chooseFilename:]): + (validFilenameFromPasteboard): + (-[WebCoreFileButton draggingEntered:]): + (-[WebCoreFileButton draggingExited:]): + (-[WebCoreFileButton performDragOperation:]): + +2006-05-04 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=8732 + Backgrounds with background-size and background-origin do not + always lay out correctly + + * platform/cairo/ImageCairo.cpp: + (WebCore::Image::drawTiled): We no longer need to scale the source + point since it will now come in with the scale already taken into + account. + * platform/mac/ImageMac.mm: + (WebCore::Image::drawTiled): Same as above. + * rendering/RenderBox.cpp: + (WebCore::cacluateBackgroundSize): Now calculate the background + size in a helper method. + (WebCore::RenderBox::paintBackgroundExtended): Calculate the + background size before calculating cx, cy, cw, ch, sx, and sy so + that they can all be calculated with the scaled image size taken + into account. + +2006-05-04 David Hyatt <hyatt@apple.com> + + Fix for 8693, crash when reloading PDF. Make sure to clear the truncator's + cached renderer. + + Reviewed by beth + + * bridge/mac/WebCoreStringTruncator.h: + * bridge/mac/WebCoreStringTruncator.mm: + (+[WebCoreStringTruncator clear]): + * platform/mac/WebTextRendererFactory.mm: + (-[WebTextRendererFactory clearCaches]): + +2006-05-03 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - http://bugs.webkit.org/show_bug.cgi?id=8696 + another round of GraphicsContext improvements + + * WebCore.xcodeproj/project.pbxproj: Added GraphicsContextCG.cpp. + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::scale): Use new GraphicsContext function. + (WebCore::CanvasRenderingContext2D::rotate): Ditto. + (WebCore::CanvasRenderingContext2D::translate): Ditto. + * kwq/KWQComboBox.mm: Added include (not sure if this is needed for this patch, + but it's needed for one of my upcoming ones). + + * platform/GraphicsContext.h: Changed fillColor and setFillColor to use Color + instead of RGBA32. Removed setColorFromFillColor and setColorFromPen. Added + scale, rotate, and translate functions. + * platform/GraphicsContext.cpp: + (WebCore::GraphicsContext::setFillColor): Changed to use Color instead of RGBA32. + (WebCore::GraphicsContext::fillColor): Ditto. + + * platform/GraphicsTypes.h: Moved HorizontalAlignment here. + * platform/Widget.h: Removed HorizontalAlignment from here. + + * platform/cg/GraphicsContextCG.cpp: Added. Started as a copy of GraphicsContextMac.mm. + (WebCore::GraphicsContext::drawRect): Rewrote to not rely on [NSGraphicsContext currentContext]. + (WebCore::GraphicsContext::drawLine): Ditto. + (WebCore::GraphicsContext::drawEllipse): Ditto. + (WebCore::GraphicsContext::drawArc): Ditto. + (WebCore::GraphicsContext::drawConvexPolygon): Ditto. + (WebCore::GraphicsContext::fillRect): Ditto. + (WebCore::GraphicsContext::setLineWidth): Added check of paintingDisabled(). + (WebCore::GraphicsContext::setMiterLimit): Ditto. + (WebCore::GraphicsContext::setAlpha): Ditto. + (WebCore::GraphicsContext::clearRect): Ditto. + (WebCore::GraphicsContext::strokeRect): Ditto. + (WebCore::GraphicsContext::setLineCap): Ditto. + (WebCore::GraphicsContext::setLineJoin): Ditto. + (WebCore::GraphicsContext::clip): Ditto. + (WebCore::GraphicsContext::scale): Added. + (WebCore::GraphicsContext::rotate): Added. + (WebCore::GraphicsContext::translate): Added. + + * platform/mac/GraphicsContextMac.mm: Moved most of this file into GraphicsContextCG.cpp. + (WebCore::GraphicsContext::setCompositeOperation): Added check of paintingDisabled(). + + * platform/mac/WebCoreSystemInterface.h: Added declarations so this header + stands alone. + +2006-05-03 Darin Adler <darin@apple.com> + + Reviewed by Justin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8159 + REGRESSION: Clicking outside new text field focuses the field + + This bug has always been present for "content editable" HTML, but + now affects <input type=text> as well. The problem is with the editing + concept of a "deep equivalent". When computing the deep equivalent, + the code can move from outside an editable area to inside. To fix this, + I removed all use of the "deep equivalent" concept. + + * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates): + Changed argument names from _x and _y to just x and y. When the element + is the editable root, changed things so that clicks that are not within + the element at all return positions before or after the element, rather than + always choosing the closest point within the element. This gets us off on + the right foot, by not choosing a position inside an editable root when you + click outside that editable root. This code handles shadowParentNode as well, + and also calls positionForCoordinates on children rather than calling + positionForRenderer (which I believe is now a function that can be removed). + + * editing/VisiblePosition.h: Removed the deepEquivalent function. + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::previousVisiblePosition): Removed use of the + deepEquivalent function. Also, to make this function easier to understand + I separated out the case where the start point is "in rendered content" + and the case where it's not into two separate loops. + (WebCore::VisiblePosition::nextVisiblePosition): Ditto. + (WebCore::VisiblePosition::initDeepPosition): Removed use of the deepEquivalent + function. Also added code to make sure that this work never turns a position + outside an editable element into a position inside that editable element, or + vice versa. Reorganized the code a bit. + + * dom/Position.cpp: + (WebCore::Position::upstream): Removed use of the deepEquivalent function. + (WebCore::Position::downstream): Ditto. + + * editing/htmlediting.cpp: + (WebCore::editingIgnoresContent): Changed to use isReplaced instead of isWidget + and isImage to determine if editing should ignore content. + (WebCore::firstInSpecialElement): Rewrote isFirstVisiblePositionInSpecialElement + to have code to share with positionBeforeContainingSpecialElement. And changed + to allow both the position just before a table and the position just inside a + table to qualify. While this is slightly sloppy, the old code worked because + of the "deep equivalent" technique. This change is needed to get the desired + results even without that technique. + (WebCore::lastInSpecialElement): Ditto. + (WebCore::isFirstVisiblePositionInSpecialElement): Changed to use the new function. + (WebCore::positionBeforeContainingSpecialElement): Ditto. + (WebCore::isLastVisiblePositionInSpecialElement): Ditto. + (WebCore::positionAfterContainingSpecialElement): Ditto. + + * dom/Node.cpp: (WebCore::Node::rootEditableElement): Rewrote to remove + special case for body tag. + + - other changes + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::setOuterHTML): Added a FIXME about the fact + that this won't merge neighboring text nodes the way setOuterText does. + (WebCore::HTMLElement::setInnerText): Added a FIXME about the fact that + this creates a text node even when setting to empty text. + (WebCore::HTMLElement::setOuterText): Ditto. + + * editing/DeleteSelectionCommand.cpp: Removed some #if 1 and #if 0. + * editing/ReplaceSelectionCommand.cpp: A little reformatting. + * rendering/render_button.h: Tiny formatting tweak. + +2006-05-02 Adele Peterson <adele@apple.com> + + Reviewed by Beth. + + Fix for <rdar://problem/4523671> + REGRESSION (NativeTextField): Auto-complete popup list doesn't appear at the correct location after scrolling page. + + * bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _rectOnScreen]): + Use the documentView to compute the correct rect for the element when the view is scrolled. + +2006-05-02 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + <http://bugs.webkit.org/show_bug.cgi?id=8704> + Fix a few end merge bugs + <rdar://problem/4424044> + REGRESSION: Extra line appears when typing + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]): + Use renamed characterAfter. + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + Regenerate a VisiblePosition that became stale during a text node split. + Don't rebalance whitespace after the operation, 1) it has a bug that turns preserved + newlines into nbsps, 2) I think it should only be done during serialization, not after + every command (since editable regions now always have -webkit-nbsp-mode:space on them). + Use a regular br for the placeholder as I think we can move away from -webkit-block-placeholders. + + * editing/RebalanceWhitespaceCommand.cpp: Added FIXMEs. + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::shouldMergeStart): Removed FIXME. + (WebCore::ReplaceSelectionCommand::shouldMergeEnd): Can now use rendering information. + (WebCore::ReplaceSelectionCommand::doApply): + Call shouldMergeEnd after the insertion so that it can use rendering information. + Don't use positionAfterNode of the last node inserted to mark the position at the end + of inserted content because canonicalization can send it into content that was already + in the document. + + * editing/ReplaceSelectionCommand.h: + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::characterAfter): + Renamed. When two candidates are visually equivalent, the rightmost candidate will be + the one inside the text node where the character will be. + + * editing/VisiblePosition.h: + * editing/htmlediting.cpp: + (WebCore::enclosingTableCell): Added. + (WebCore::enclosingList): + * editing/htmlediting.h: + +2006-05-02 David Hyatt <hyatt@apple.com> + + Partial fix for the crash in bugzilla bug 8088. There's a third crash + even after fixing this though. + + Reviewed by darin + + * platform/mac/WebTextRenderer.mm: + (WebCore::WidthMap::widths): + (WebCore::extendWidthMap): + * platform/mac/WebTextRendererFactory.mm: + (-[WebTextRendererFactory clearCaches]): + +2006-05-02 Steve Falkenburg <sfalken@apple.com> + + Reviewed by eric. + + * WebCore.vcproj/WebCore/WebCore.vcproj: defined NDEBUG in release build + * bridge/win/FrameWin.cpp: + (WebCore::FrameWin::FrameWin): turned on javascript. + * kwq/KWQKHTMLSettings.h: + (KHTMLSettings::KHTMLSettings): initialized settings to 0 + +2006-05-02 David Hyatt <hyatt@apple.com> + + Make sure to updateLayout on all scrolling functions (in particular when + setting scrollLeft/Top). + + Reviewed by eric + + fast/overflow/008,html added as a test case. + + * dom/Element.cpp: + (WebCore::Element::scrollIntoView): + (WebCore::Element::scrollIntoViewIfNeeded): + (WebCore::Element::setScrollLeft): + (WebCore::Element::setScrollTop): + +2006-05-02 Anders Carlsson <andersca@mac.com> + + Reviewed by Dave Hyatt. + + http://bugs.webkit.org/show_bug.cgi?id=8688 + file URLs aren't being serialized correctly when using window.location + + * platform/KURL.cpp: + (KURL::prettyURL): + Append "//" for file URLs. + +2006-05-01 David Hyatt <hyatt@apple.com> + + Convert WebTextRenderer to be a C++ class. Change the factory so + that it uses pointer-based hashmaps instead of NSMutableDictionaries. + Convert uses of malloc/free to new/delete so that they start using + the fastMalloc/fastFree code. + + Reviewed by darin + + * bridge/mac/WebCoreStringTruncator.mm: + (stringWidth): + (truncateString): + * kwq/KWQComboBox.mm: + (QComboBox::sizeHint): + * kwq/KWQLineEdit.mm: + (QLineEdit::sizeForCharacterWidth): + * kwq/KWQListBox.mm: + (itemTextRenderer): + (groupLabelTextRenderer): + (QListBox::sizeForNumberOfLines): + (QListBox::clearCachedTextRenderers): + (-[KWQTableView drawRow:clipRect:]): + * platform/FontDataSet.h: + * platform/mac/FontMac.mm: + (WebCore::FontDataSet::~FontDataSet): + (WebCore::FontDataSet::getRenderer): + (WebCore::FontDataSet::invalidate): + (WebCore::Font::ascent): + (WebCore::Font::descent): + (WebCore::Font::lineSpacing): + (WebCore::Font::xHeight): + (WebCore::Font::selectionRectForText): + (WebCore::Font::drawText): + (WebCore::Font::drawHighlightForText): + (WebCore::Font::drawLineForText): + (WebCore::Font::drawLineForMisspelling): + (WebCore::Font::misspellingLineThickness): + (WebCore::Font::floatWidth): + (WebCore::Font::checkSelectionPoint): + * platform/mac/WebCoreTextRenderer.mm: + (WebCoreDrawTextAtPoint): + (WebCoreTextFloatWidth): + (WebCoreSetAlwaysUseATSU): + * platform/mac/WebTextRenderer.h: + (WebCore::WebTextRenderer::ascent): + (WebCore::WebTextRenderer::descent): + (WebCore::WebTextRenderer::lineSpacing): + (WebCore::WebTextRenderer::lineGap): + (WebCore::WebTextRenderer::misspellingLineThickness): + (WebCore::WebTextRenderer::misspellingLinePatternWidth): + (WebCore::WebTextRenderer::misspellingLinePatternGapWidth): + * platform/mac/WebTextRenderer.mm: + (WebCore::WebCoreInitializeFont): + (WebCore::WebCoreInitializeTextRun): + (WebCore::WebCoreInitializeEmptyTextStyle): + (WebCore::WebCoreInitializeEmptyTextGeometry): + (WebCore::widthForGlyph): + (WebCore::overrideLayoutOperation): + (WebCore::m_ATSUMirrors): + (WebCore::WebTextRenderer::~WebTextRenderer): + (WebCore::WebTextRenderer::xHeight): + (WebCore::WebTextRenderer::drawRun): + (WebCore::WebTextRenderer::floatWidthForRun): + (WebCore::WebTextRenderer::drawLineForCharacters): + (WebCore::WebTextRenderer::selectionRectForRun): + (WebCore::WebTextRenderer::drawHighlightForRun): + (WebCore::WebTextRenderer::drawLineForMisspelling): + (WebCore::WebTextRenderer::pointToOffset): + (WebCore::WebTextRenderer::setAlwaysUseATSU): + (WebCore::getSmallCapsRenderer): + (WebCore::findSubstituteFont): + (WebCore::rendererForAlternateFont): + (WebCore::computeWidthForSpace): + (WebCore::setUpFont): + (WebCore::CG_selectionRect): + (WebCore::CG_draw): + (WebCore::updateGlyphMapEntry): + (WebCore::extendGlyphMap): + (WebCore::extendWidthMap): + (WebCore::initializeATSUStyle): + (WebCore::createATSULayoutParameters): + (WebCore::disposeATSULayoutParameters): + (WebCore::addDirectionalOverride): + (WebCore::ATSU_selectionRect): + (WebCore::ATSU_draw): + (WebCore::ATSU_pointToOffset): + (WebCore::freeWidthMap): + (WebCore::freeGlyphMap): + (WebCore::glyphForCharacter): + (WebCore::advanceWidthIterator): + * platform/mac/WebTextRendererFactory.h: + * platform/mac/WebTextRendererFactory.mm: + (-[WebTextRendererFactory clearCaches]): + (-[WebTextRendererFactory init]): + (-[WebTextRendererFactory dealloc]): + (-[WebTextRendererFactory rendererWithFont:]): + +2006-05-01 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=8653> + Remove a use of hasMoreThanOneBlock, which uses info from the test rendering. + + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::initializePositionData): + Removed code that stopped the merge if the end of the selection to delete + was in a fully selected line, which was nonsense. + + (WebCore::DeleteSelectionCommand::mergeParagraphs): + Deletion does a bad job of updating the endpoints of the selection as it removes + content. If the endpoints have been flip flipped, bail. + If deletion has removed everything from the block that contained the + start of the selection to delete, we can't create a visible position inside + that block to serve as a destination for the merge. So, we insert a placeholder + at that position to prop the block open to let content in. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + Added an assert and two early returns for cases where we'll crash. + Removed a use of !fragment.hasMoreThanOneBlock, which uses test rendering info + and which was wrong. + If we've already inserted content during the start merge, insertionPos will be + the position just after that content, so inserting new content before insertionPos + will reverse its order. + +2006-05-01 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin. + + - manual test for http://bugs.webkit.org/show_bug.cgi?id=8658 + Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad] + (bridge is null) when clicking QuickTime object with href + + * manual-tests/plugin-controller-datasource.html: Added. + * manual-tests/resources/orange.mov: Added. + +2006-04-30 Rob Buis <buis@kde.org> + + Reviewed by eseidel. Landed by eseidel. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=8651: + CGContextSetLineDash: invalid dash array: emmited during WebKit tests + + Properly discard invalid stroke-dasharray properties like in + invalid-css.svg. (Tests updated.) + + * ksvg2/css/SVGCSSParser.cpp: + (WebCore::CSSParser::parseSVGStrokeDasharray): + +2006-04-28 David Hyatt <hyatt@apple.com> + + Make image buffer sizes in the loader more accurate, since we know we store + buffers with 4 bytes per pixel. Double sizes to account for this. Also + deal better with animated GIFs that may have thousands of frames by adding + in a heuristic that will use the data size instead of a single frame RGBA32 + buffer size if it's larger. + + Reviewed by darin + + * loader/Cache.cpp: + * loader/CachedImage.cpp: + (WebCore::CachedImage::data): + +2006-04-28 Steve Falkenburg <sfalken@apple.com> + + Reviewed by eric. + + No test necessary - fixing Win32 build, turned off C++ exceptions, turned off RTTI + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * bridge/win/FrameWin.cpp: + (WebCore::FrameWin::~FrameWin): + * bridge/win/PageWin.cpp: + (WebCore::Page::Page): + * page/Page.h: + * platform/win/TemporaryLinkStubs.cpp: + (FrameWin::saveDocumentState): + (Path::contains): + (Path::boundingRect): + +2006-04-28 David Hyatt <hyatt@apple.com> + + Merge WebCoreTextRenderer into WebTextRenderer. Merge WebCoreTextRendererFactory + into WebTextRendererFactory. Change all callers to refer to the concrete classes + now. Change WebCoreTextRenderer.h to be the public API that WebKit uses when + it calls in to WebCore. Clean up the exports to remove things WebKit no longer + needs. + + Reviewed by darin + + * WebCore.exp: + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/WebCoreStringTruncator.mm: + (stringWidth): + (truncateString): + (+[WebCoreStringTruncator widthOfString:font:]): + * kwq/KWQComboBox.mm: + (QComboBox::sizeHint): + * kwq/KWQLineEdit.mm: + (QLineEdit::sizeForCharacterWidth): + * kwq/KWQListBox.mm: + (itemTextRenderer): + (groupLabelTextRenderer): + (QListBox::sizeForNumberOfLines): + (-[KWQTableView drawRow:clipRect:]): + * platform/Font.h: + * platform/FontDataSet.h: + * platform/mac/FontMac.mm: + (WebCore::FontDataSet::getWebCoreFont): + (WebCore::FontDataSet::getRenderer): + (WebCore::FontDataSet::determinePitch): + * platform/mac/WebCoreTextRenderer.h: + * platform/mac/WebCoreTextRendererFactory.mm: + (-[WebCoreTextRendererFactory init]): + * platform/mac/WebTextRenderer.h: + * platform/mac/WebTextRenderer.mm: + * platform/mac/WebTextRendererFactory.h: + * platform/mac/WebTextRendererFactory.mm: + (WebCoreInitializeFont): + (WebCoreInitializeTextRun): + (WebCoreInitializeEmptyTextStyle): + (WebCoreInitializeEmptyTextGeometry): + (-[WebTextRendererFactory clearCaches]): + (+[WebTextRendererFactory createSharedFactory]): + (+[WebTextRendererFactory sharedFactory]): + (-[WebTextRendererFactory init]): + +2006-04-28 David Hyatt <hyatt@apple.com> + + Fix for 8586, move WebTextRenderer into WebCore. + + Reviewed by darin + + * WebCore.exp: + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/WebCoreStringTruncator.mm: + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + * platform/mac/WebCoreTextRenderer.h: + * platform/mac/WebCoreTextRendererFactory.mm: + (+[WebCoreTextRendererFactory sharedFactory]): + * platform/mac/WebTextRenderer.h: Added. + * platform/mac/WebTextRenderer.mm: Added. + (widthForGlyph): + (-[WebTextRenderer initWithFont:]): + (destroy): + (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): + (-[WebTextRenderer drawLineForMisspelling:withWidth:]): + (findSubstituteFont): + (setUpFont): + (pathFromFont): + (drawGlyphs): + (CG_draw): + (extendGlyphMap): + (extendWidthMap): + (initializeATSUStyle): + (createATSULayoutParameters): + (getTextBounds): + (addDirectionalOverride): + (ATSU_draw): + (normalizeVoicingMarks): + (advanceWidthIterator): + (fillStyleWithAttributes): + * platform/mac/WebTextRendererFactory.h: Added. + * platform/mac/WebTextRendererFactory.mm: Added. + (getAppDefaultValue): + (getUserDefaultValue): + (getLCDScaleParameters): + (fontsChanged): + (+[WebTextRendererFactory createSharedFactory]): + (-[WebTextRendererFactory isFontFixedPitch:]): + (-[WebTextRendererFactory fontWithFamily:traits:size:]): + (FontCacheKeyCopy): + (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): + +2006-04-28 Eric Seidel <eseidel@apple.com> + + Fix by beth. Reviewed by darin. Landed by eseidel. + + Make hackish fix to avoid crash in Xcode and Filemaker. + <rdar://problem/4059059> Crash in RenderFlow::detach (XCode Documentation Window) + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge didNotOpenURL:pageCache:]): + +2006-04-28 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by hyatt. + + - http://bugs.webkit.org/show_bug.cgi?id=5855 + REGRESSION: revert SGML comment parsing fix (comment parsing causes most of usbank.com page to be missing) + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseComment): Revert one change made for acid2, + <http://weblogs.mozillazine.org/hyatt/acid6.txt>. + +2006-04-28 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - http://bugs.webkit.org/show_bug.cgi?id=8608 + make GraphicsContext more suitable for cross-platform use, step 2 + + - Changed GraphicsContext to use NSGraphicsContext as little as possible. + - Removed the printing flag from GraphicsContext. + - Changed GraphicsContext to assume the NSGraphicsContext is always flipped, + and got rid of parameters to pass the flipped boolean around. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Add GraphicsTypes.h/cpp and remove + CompositeOperator.h/cpp. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * bridge/mac/FrameMac.mm: (WebCore::FrameMac::setDisplaysWithFocusAttributes): + * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]): + * html/CanvasPattern.cpp: (WebCore::patternCallback): + * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createDrawingContext): + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (WebCore::KRenderingDeviceContextQuartz::createGraphicsContext): + * platform/mac/WidgetMac.mm: (WebCore::Widget::lockDrawingFocus): + Update for changes to GraphicsContext constructor (no flipped or printing boolean). + + * html/CanvasRenderingContext2D.h: Added a Path to the context state. Changed the + LineCap and LineJoin types to use the new ones in GraphicsTypes.h instead of defining + types here in this class. Changed m_platformContextStrokeStyleIsPattern and + m_platformContextFillStyleIsPattern to be named m_appliedStrokePattern and + m_appliedFillPattern and moved them outside the __APPLE__ ifdefs. Removed the + platformContext() function. Moved applyStrokePattern and applyFillPattern out of + the __APPLE__ ifdef. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::State::State): Moved the stroke pattern + booleans out of Mac-specific ifdef. + (WebCore::CanvasRenderingContext2D::save): Changed to use GraphicsContext instead + of using CGContext directly. + (WebCore::CanvasRenderingContext2D::restore): Ditto. + (WebCore::CanvasRenderingContext2D::setStrokeStyle): Ditto. + (WebCore::CanvasRenderingContext2D::setFillStyle): Ditto. + (WebCore::CanvasRenderingContext2D::setLineWidth): Ditto. + (WebCore::CanvasRenderingContext2D::lineCap): Ditto. + (WebCore::CanvasRenderingContext2D::setLineCap): Ditto. + (WebCore::CanvasRenderingContext2D::lineJoin): Ditto. + (WebCore::CanvasRenderingContext2D::setLineJoin): Ditto. + (WebCore::CanvasRenderingContext2D::setMiterLimit): Ditto. + (WebCore::CanvasRenderingContext2D::shadowColor): Ditto. + (WebCore::CanvasRenderingContext2D::setGlobalAlpha): Ditto. + (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Ditto. + (WebCore::CanvasRenderingContext2D::scale): Update since platformContext() function + no longer exists. + (WebCore::CanvasRenderingContext2D::rotate): Ditto. + (WebCore::CanvasRenderingContext2D::translate): Ditto. + (WebCore::CanvasRenderingContext2D::beginPath): Changed to use GraphicsContext instead + of using CGContext directly. + (WebCore::CanvasRenderingContext2D::closePath): Ditto. + (WebCore::CanvasRenderingContext2D::moveTo): Ditto. + (WebCore::CanvasRenderingContext2D::lineTo): Ditto. + (WebCore::CanvasRenderingContext2D::quadraticCurveTo): Ditto. + (WebCore::CanvasRenderingContext2D::bezierCurveTo): Ditto. + (WebCore::CanvasRenderingContext2D::arcTo): Ditto. + (WebCore::CanvasRenderingContext2D::arc): Ditto. + (WebCore::CanvasRenderingContext2D::rect): Ditto. + (WebCore::CanvasRenderingContext2D::fill): Changed to use the current path from this class + instead of relying on the CGContext's current path. + (WebCore::CanvasRenderingContext2D::stroke): Ditto. + (WebCore::CanvasRenderingContext2D::clip): Changed to use the current path and use the + GraphicsContext instead of using CGContext directly. + (WebCore::CanvasRenderingContext2D::clearRect): Changed to use GraphicsContext instead + of using CGContext directly. + (WebCore::CanvasRenderingContext2D::fillRect): Update since platformContext() function + no longer exists. + (WebCore::CanvasRenderingContext2D::strokeRect): Ditto. + (WebCore::CanvasRenderingContext2D::setShadow): Ditto. + (WebCore::CanvasRenderingContext2D::applyShadow): Ditto. + (WebCore::CanvasRenderingContext2D::drawImage): Ditto. + (WebCore::CanvasRenderingContext2D::drawImageFromRect): Ditto. + (WebCore::CanvasRenderingContext2D::createPattern): Ditto. + (WebCore::CanvasRenderingContext2D::applyStrokePattern): Made a tiny bit of this function + cross-platform. The bulk is still Mac-specific. + (WebCore::CanvasRenderingContext2D::applyFillPattern): Ditto. + + * html/CanvasStyle.h: Changed to use GraphicsContext instead of CGContext. Now the + platform-specific stuff is in the implementation, not the header. + * html/CanvasStyle.cpp: + (WebCore::CanvasStyle::applyStrokeColor): Moved the ifdefs inside the function, getting + us one step closer to platform independence. + (WebCore::CanvasStyle::applyFillColor): Ditto. + + * html/html_imageimpl.cpp: + (WebCore::HTMLAreaElement::getRect): Update for changes to the Path class. + (WebCore::HTMLAreaElement::getRegion): Ditto. + + * page/Frame.cpp: + (WebCore::Frame::paint): Change to check printing flag on the document, rather than on + the GraphicsContext, since there is no printing flag for GraphicsContext any more. + (WebCore::Frame::adjustPageHeight): Update for change to GraphicsContext constructor. + + * platform/GraphicsContext.h: Define a type called PlatformGraphicsContext so the + platform-specific getter and constructor don't have to be ifdef'd. Added clearRect, + strokeRect, setLineWidth, setLineCap, setLineJoin, setMiterLimit, setAlpha, setCompositeOperation, + and clip functions. Removed the isForPrinting parameter from createGraphicsContextPrivate. + * platform/GraphicsContext.cpp: + (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): Removed isForPrinting. + (WebCore::GraphicsContext::createGraphicsContextPrivate): Ditto. + * platform/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + Removed NSGraphicsContext. + (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): + Ditto. + (WebCore::GraphicsContext::GraphicsContext): Removed constructor that + takes an NSGraphicsContext. Removed the flipText and forPrinting parameters + to the other constructor. + (WebCore::GraphicsContext::savePlatformState): Removed NSGraphicsContext code. + (WebCore::GraphicsContext::restorePlatformState): Ditto. + (WebCore::GraphicsContext::drawRect): Updated assertion to more-precisely + reflect the limitation of the current version of this function. + (WebCore::GraphicsContext::setColorFromFillColor): Ditto. + (WebCore::GraphicsContext::setColorFromPen): Ditto. + (WebCore::GraphicsContext::drawLine): Updated assertion to more-precisely + reflect the limitation of the current version of this function. + (WebCore::setCompositeOperation): + (WebCore::GraphicsContext::fillRect): Ditto. + (WebCore::GraphicsContext::setLineWidth): Added. + (WebCore::GraphicsContext::setMiterLimit): Added. + (WebCore::GraphicsContext::setAlpha): Added. + (WebCore::GraphicsContext::setCompositeOperation): Added. + (WebCore::GraphicsContext::clearRect): Added. + (WebCore::GraphicsContext::strokeRect): Added. + (WebCore::GraphicsContext::setLineCap): Added. + (WebCore::GraphicsContext::setLineJoin): Added. + (WebCore::GraphicsContext::clip): Added. + + * platform/CompositeOperator.cpp: Removed. + * platform/CompositeOperator.h: Removed. + * platform/GraphicsTypes.cpp: Added. Includes CompositeOperator, LineCap, and LineJoin. + * platform/GraphicsTypes.h: Added. + + * platform/Image.h: Changed include to GraphicsTypes.h from CompositeOperator.h. + + * platform/Path.h: Removed constructors that take a Rect and an array of points. Made + the Path mutable. Changed the types for contains and boundingRect to be float-based + instead of int-based. Changed translate to take a FloatSize instead of two integers. + Added clear, moveTo, addLineTo, addQuadCurveTo, addBezierCurveTo, addArcTo, closeSubpath, + addArc, addRect, addEllipse, and platformPath functions. Defined a PlatformPath type + so we don't have to ifdef the header so much. + * platform/cg/PathCG.cpp: + (WebCore::Path::Path): Changed class to always have a mutable path. + (WebCore::Path::operator=): Changed to make a mutable copy. + (WebCore::Path::contains): Changed to take a FloatPoint instead of IntPoint. + (WebCore::Path::translate): Changed to use a FloatSize instead of two ints. + (WebCore::Path::boundingRect): Changed to return a FloatRect. + (WebCore::Path::moveTo): Added. + (WebCore::Path::addLineTo): Added. + (WebCore::Path::addQuadCurveTo): Added. + (WebCore::Path::addBezierCurveTo): Added. + (WebCore::Path::addArcTo): Added. + (WebCore::Path::closeSubpath): Added. + (WebCore::Path::addArc): Added. + (WebCore::Path::addRect): Added. + (WebCore::Path::addEllipse): Added. + (WebCore::Path::clear): Added. + + * platform/mac/ImageMac.mm: + (WebCore::fillSolidColorInRect): Changed to take a GraphicsContext instead of + a CGContext. + (WebCore::Image::checkForSolidColor): Changed to use the new setCompositeOperation + in GraphicsContex. + (WebCore::Image::draw): Changed to use the new PDF image and fillSolidColorInRect + function that take GraphicsContext instead of CGContext. + (WebCore::Image::drawTiled): Ditto. + + * platform/mac/PDFDocumentImage.h: Made most functions private. Changed to + use GraphicsContext and FloatRect instead of CGContext and NSRect. Also + removed the unused alpha and flipped booleans. + * platform/mac/PDFDocumentImage.mm: + (WebCore::PDFDocumentImage::bounds): Update for change in types. + (WebCore::PDFDocumentImage::adjustCTM): Ditto. + (WebCore::PDFDocumentImage::setCurrentPage): Ditto. + (WebCore::PDFDocumentImage::draw): Ditto. + + * platform/win/TemporaryLinkStubs.cpp: Added lots of new stubs. + + * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): Changed to get + printing boolean from document instead graphics context. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintChildren): Ditto. + (WebCore::RenderBlock::paintObject): Ditto. + * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines): Ditto. + * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::paint): Ditto. + * rendering/RenderImage.cpp: (WebCore::RenderImage::paint): Ditto. + * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintButton): Ditto. + * rendering/render_list.cpp: (WebCore::RenderListMarker::paint): Ditto. + * rendering/render_replaced.cpp: (WebCore::RenderWidget::paint): Ditto. + +2006-04-28 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by hyatt, landed by ap. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6769 + REGRESSION: Incomplete repaint when a cell's extra bottom margin grows + + Test: fast/repaint/table-extra-bottom-grow.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::overflowRect): Changed to not add the top/left overflow twice and + allow the normal overflow height to overlap with the bottom extra height. + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::layout): Removed the code that resets the extra heights. + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): If the top extra height changed or the + bottom extra height increased, just repaint the entire cell. + +2006-04-28 Eric Seidel <eseidel@apple.com> + + Reviewed by andersca. + + Remove KCanvasContainerQuartz, pushing all logic into KCanvasContainer. + + No tests affected. + + * kcanvas/KCanvasContainer.cpp: + (WebCore::KCanvasContainer::canHaveChildren): + (WebCore::KCanvasContainer::requiresLayer): + (WebCore::KCanvasContainer::lineHeight): + (WebCore::KCanvasContainer::baselinePosition): + (WebCore::KCanvasContainer::calcMinMaxWidth): + (WebCore::KCanvasContainer::layout): + (WebCore::KCanvasContainer::paint): + (WebCore::KCanvasContainer::setViewport): + (WebCore::KCanvasContainer::viewport): + (WebCore::KCanvasContainer::setViewBox): + (WebCore::KCanvasContainer::viewBox): + (WebCore::KCanvasContainer::setAlign): + (WebCore::KCanvasContainer::align): + (WebCore::KCanvasContainer::viewportTransform): + (WebCore::KCanvasContainer::getAbsoluteRepaintRect): + (WebCore::KCanvasContainer::absoluteTransform): + (WebCore::KCanvasContainer::getAspectRatio): + * kcanvas/KCanvasContainer.h: + (WebCore::KCanvasContainer::renderName): + * kcanvas/device/KRenderingDevice.h: + * kcanvas/device/quartz/KCanvasResourcesQuartz.h: + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + * kcanvas/device/quartz/KRenderingDeviceQuartz.h: + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (WebCore::KRenderingDeviceQuartz::createPaintServer): + * ksvg2/svg/SVGAElement.cpp: + (WebCore::SVGAElement::createRenderer): + * ksvg2/svg/SVGGElement.cpp: + (SVGGElement::createRenderer): + * ksvg2/svg/SVGMarkerElement.cpp: + (WebCore::SVGMarkerElement::createRenderer): + * ksvg2/svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::createRenderer): + * ksvg2/svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::createRenderer): + * ksvg2/svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::createRenderer): + * ksvg2/svg/SVGSwitchElement.cpp: + (WebCore::SVGSwitchElement::createRenderer): + * ksvg2/svg/SVGUseElement.cpp: + (SVGUseElement::createRenderer): + +2006-04-27 Eric Seidel <eseidel@apple.com> + + Reviewed by andersca. + + Make WebCore accept any */*+xml type as XML. + http://bugs.webkit.org/show_bug.cgi?id=5998 + <rdar://problem/4031511> XmlHttpRequest doesn't allow responses with Content-Type: application/soap+xml + + Test: http/tests/xmlhttprequest/supported-xml-content-types.html + + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::isXMLMIMEType): + +2006-04-27 Eric Seidel <eseidel@apple.com> + + * WebCore.vcproj/WebCore/WebCore.vcproj: Fix break from last checkin. + +2006-04-27 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Maciej. + + - Added global constructor autogeneration for the following, + many of which are required by *.live.com: Node, Element, Range, + CSSRule, CSSValue, CSSPrimitiveValue, CSSStyleDeclaration, Event, + MutationEvent, NodeFilter + + It works like so: + + - The autogenerator knows about the "Constructor" data type, which + gets special treatment because it exists purely in the + bindings. It also knows about the "GenerateConstructor" interface + attribute, which does just that. + + - The window interface has many Constructor attributes + + - The hash table generator swizzles empty tables to tables with one + empty bucket, to prevent crashes in Lookup::findEntry. (The old + generator used to work this way, too.) + + - Window object property lookup gets special treatment to allow + shadowing of its built-in global constructor properties. We'll + need to expand this mechanism in the future and make it more + flexible, but it works for now. + + * DerivedSources.make: + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/kjs_css.cpp: + (KJS::toJS): + * bindings/js/kjs_css.h: + * bindings/js/kjs_window.cpp: Removed 'namedFrameGetter' and its use + because they were bogus; added FIXME describing what they were + attempting to do. + (KJS::Window::getValueProperty): + (KJS::Window::getOverridePropertySlot): + (KJS::Window::getOwnPropertySlot): + * bindings/js/kjs_window.h: + (KJS::Window::): + * bindings/scripts/CodeGeneratorJS.pm: + * css/CSSPrimitiveValue.idl: + * css/CSSRule.idl: + * css/CSSStyleDeclaration.idl: Added. + * css/CSSValue.idl: + * dom/Document.idl: + * dom/Element.idl: + * dom/Event.idl: + * dom/MutationEvent.idl: + * dom/Node.idl: + * dom/NodeFilter.idl: + * dom/Range.idl: + * page/DOMWindow.idl: + +2006-04-27 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=8607> + Automate repaint tests + + * manual-tests/backgroundSizeRepaint.html: Removed. + * manual-tests/border-repaint-glitch.html: Removed. + * manual-tests/bugzilla-3509.html: Removed. + * manual-tests/bugzilla-5699.html: Removed. + * manual-tests/bugzilla-6278.html: Removed. + * manual-tests/bugzilla-6388.html: Removed. + * manual-tests/bugzilla-6473.html: Removed. + * manual-tests/bugzilla-7235.html: Removed. + * manual-tests/inline-outline-repaint.html: Removed. + * manual-tests/outline-repaint-glitch.html: Removed. + * manual-tests/repaint-resized-overflow.html: Removed. + * manual-tests/table-cell-move.html: Removed. + +2006-04-27 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=8624> + Placeholders aren't always removed during paste + <rdar://problem/4059807> + Seed: Mail: pasting quoted content sometimes adds a phantom newline + + * editing/CompositeEditCommand.cpp: Added a FIXME. + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + Removed two no-op setEndingSelection calls. + Store away a br at the position where we'll start inserting content in case the + br a) is made unnecessary by the insertion (it's collapsed away) b) was acting + as a placeholder and should therefore be displaced by inserted content or c) was + acting as a line break and, as a result of the insertion, is now acting as a + placeholder. + Don't only store away brs that have the webkit-block-placeholder class on them. + Any br that does any of the three things just mentioned should be removed. + The linePlaceholder removal was run after the code that makes sure to interpret + incoming brs strictly, and was negating that work in certain cases. + + (WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded): Described above. + * editing/ReplaceSelectionCommand.h: + * editing/VisiblePosition.cpp: + (WebCore::isEqualIgnoringAffinity): + Added a workaround for 8622. We want this function to return true even if one of + the two visible positions has been incorrectly canonicalized. + +2006-04-26 Tim Omernick <timo@apple.com> + + Reviewed by Hyatt. + + <rdar://problem/4068375> Flash inserted via innerHTML Fails to Show when CSS Display + Style is Toggled via Javascript + + * html/html_objectimpl.cpp: + (WebCore::HTMLObjectElement::setComplete): + Set needWidgetUpdate when finished parsing, even if the object element is not in + a document. That way, when the element attaches to a document, it will update its + widget (creating the plug-in view if necessary). This is important when the object + is being inserted via setInnerHTML, since the parsed nodes are not added to the + document until the whole HTML string is parsed. + +2006-04-26 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Hyatt. + + - Fixed http://bugs.webkit.org/post_bug.cgi + REGRESSION (r14048): Google calendar not parsing + + * html/HTMLParser.cpp: + (WebCore::HTMLParser::handleError): Rolling out grandparent NULL check + because it caused this regression and there's no test case + justifying it. + +2006-04-26 Justin Garcia <justin.garcia@apple.com> + + Reviewed by hyatt + + <http://bugs.webkit.org/show_bug.cgi?id=8459> + REGRESSION: Content lost during a delete/merge of whitespace:pre text + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::prune): + The function would prune a rendered leaf because it assumed that the + first node passed to it would be a container. + The old code ascended using the DOM tree, and would remove the <b> when + pruning the <div> in <b><div></div>foo</b>. Now ascends using the render tree. + +2006-04-26 Geoffrey Garen <ggaren@apple.com> + + This time for sure. Fixed Windows build too. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + +2006-04-26 Geoffrey Garen <ggaren@apple.com> + + Reviewed by TimO. + + Build fix. + + * bindings/js/kjs_dom.cpp: + * bindings/js/kjs_domnode.h: + +2006-04-26 Geoffrey Garen <ggaren@apple.com> + + Reviewed by OMG DETHBAKIN. + + - Start autogenerating Node. This fixes many missing attributes in our + DOM by making prototypes hold their relevant constants as properties. + + * DerivedSources.make: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/kjs_dom.cpp: + (KJS::DOMEventTargetNode::DOMEventTargetNode): + (KJS::toJS): + * bindings/js/kjs_dom.h: + (KJS::DOMEventTargetNode::): + * bindings/js/kjs_domnode.h: Had to break DOMNode into a separate + header to avoid circular dependency in header includes. Gave it an + old-school file name to keep distinguishing beteween old school and + news school files easy. + (KJS::DOMNode::impl): + (KJS::DOMNode::classInfo): + (KJS::DOMNode::): + * bindings/js/kjs_window.cpp: + (KJS::Window::getValueProperty): + * bindings/scripts/CodeGeneratorJS.pm: + * dom/DocumentType.idl: + * dom/Entity.idl: + * dom/Node.idl: Added. + * dom/Notation.idl: + * dom/ProcessingInstruction.idl: + +2006-04-26 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin. + + Committing the project file change jhaygood suggesed in + http://bugs.webkit.org/show_bug.cgi?id=8044 + WebKit Visual Studio 2005 project shouldn't use the SolutionDir + + Instead of his patch, I used the following commands: + + sed -e 's/$(SolutionDir)/$(ProjectDir)\\../g' Image\ Viewer/Image\ + Viewer.vcproj > Image\ Viewer/Image\ Viewer.vcproj_ && mv Image\ + Viewer/Image\ Viewer.vcproj_ Image\ Viewer/Image\ Viewer.vcproj + + sed -e 's/$(SolutionDir)/$(ProjectDir)\\../g' + WebCore/WebCore.vcproj > WebCore/WebCore.vcproj_ && mv + WebCore/WebCore.vcproj_ WebCore/WebCore.vcproj + + * Viewer.vcproj: + * WebCore.vcproj/WebCore/WebCore.vcproj: + +2006-04-25 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + <http://bugs.webkit.org/show_bug.cgi?id=8583> + Moving paste code around and some small fixes + + Moved code to make it easier to do the start merge after the fact, + with moveParagraph, instead of in the middle of the paste operation. + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::moveParagraph): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): + (WebCore::ReplaceSelectionCommand::shouldMergeStart): + Moved code to make this decision to its own function. Moved special case + checks to the top. Added m_forceMergeStart to override the special cases + because moveParagraph uses ReplaceSelectionCommand and expects a merge. + + (WebCore::ReplaceSelectionCommand::shouldMergeEnd): + No functional changes, just moved code here. + (WebCore::ReplaceSelectionCommand::doApply): + Do the end merge in the opposite direction. Merging two paragraphs destroys + the moved one's block level styles, and we prefer to use the styles of the + one that was in the document, not the one that's being pasted. + + * editing/ReplaceSelectionCommand.h: + * editing/Selection.h: + (WebCore::Selection::visibleStart): Added. + (WebCore::Selection::visibleEnd): Added. + * editing/htmlediting.cpp: + (WebCore::enclosingList): Added. + (WebCore::isMailBlockquote): + Don't require a renderer so that this can be used on nodes in fragments. + + * editing/htmlediting.h: + +2006-04-25 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Maciej. + + - Removed special handling of attributes in the DOM. To match + WinIE, we used to make all attributes available as properties of + their elements in the DOM, but that has caused us more + compatibility woes than it has solved, so, after talking with Darin + and Maciej, I'm taking it out. (Firefox does not support it.) + + A layout test regression caused by this change led me to do the + following as well: + + - Implemented DOM properties missing on EMBED elements: align, height, + name, width, src, type. Since align, height, name, and width are + common to all plugin elements, I factored them and some other common + functionality out into a new abstract base class, HTMLPlugInElement. + + - Removed extraneous attribute-to-style mappings on EMBED elements: + valign, border. Why they were there in the first place is a question + for the ages. Neither FF nor IE supports them. + + * bindings/js/kjs_dom.cpp: + (KJS::getRuntimeObject): + * bindings/js/kjs_html.cpp: + (KJS::): + (KJS::JSHTMLElement::classInfo): + (KJS::JSHTMLElement::accessors): + (KJS::JSHTMLElement::embedGetter): + (KJS::JSHTMLElement::embedSetter): + * bindings/js/kjs_html.h: + (KJS::JSHTMLElement::): + * bindings/scripts/CodeGeneratorJS.pm: + * dom/Element.idl: + * html/html_objectimpl.cpp: + (WebCore::HTMLPlugInElement::HTMLPlugInElement): + (WebCore::HTMLPlugInElement::align): + (WebCore::HTMLPlugInElement::setAlign): + (WebCore::HTMLPlugInElement::height): + (WebCore::HTMLPlugInElement::setHeight): + (WebCore::HTMLPlugInElement::name): + (WebCore::HTMLPlugInElement::setName): + (WebCore::HTMLPlugInElement::width): + (WebCore::HTMLPlugInElement::setWidth): + (WebCore::HTMLPlugInElement::mapToEntry): + (WebCore::HTMLPlugInElement::parseMappedAttribute): + (WebCore::HTMLPlugInElement::checkDTD): + (WebCore::HTMLAppletElement::HTMLAppletElement): + (WebCore::HTMLAppletElement::~HTMLAppletElement): + (WebCore::HTMLAppletElement::parseMappedAttribute): + (WebCore::HTMLAppletElement::insertedIntoDocument): + (WebCore::HTMLAppletElement::removedFromDocument): + (WebCore::HTMLAppletElement::getInstance): + (WebCore::HTMLAppletElement::closeRenderer): + (WebCore::HTMLAppletElement::detach): + (WebCore::HTMLEmbedElement::HTMLEmbedElement): + (WebCore::HTMLEmbedElement::~HTMLEmbedElement): + (WebCore::HTMLEmbedElement::getInstance): + (WebCore::HTMLEmbedElement::mapToEntry): + (WebCore::HTMLEmbedElement::parseMappedAttribute): + (WebCore::HTMLEmbedElement::attach): + (WebCore::HTMLEmbedElement::detach): + (WebCore::HTMLEmbedElement::insertedIntoDocument): + (WebCore::HTMLEmbedElement::removedFromDocument): + (WebCore::HTMLEmbedElement::src): + (WebCore::HTMLEmbedElement::setSrc): + (WebCore::HTMLEmbedElement::type): + (WebCore::HTMLEmbedElement::setType): + (WebCore::HTMLObjectElement::HTMLObjectElement): + (WebCore::HTMLObjectElement::~HTMLObjectElement): + (WebCore::HTMLObjectElement::getInstance): + (WebCore::HTMLObjectElement::parseMappedAttribute): + (WebCore::HTMLObjectElement::rendererIsNeeded): + (WebCore::HTMLObjectElement::attach): + (WebCore::HTMLObjectElement::closeRenderer): + (WebCore::HTMLObjectElement::detach): + (WebCore::HTMLObjectElement::insertedIntoDocument): + (WebCore::HTMLObjectElement::removedFromDocument): + (WebCore::HTMLObjectElement::recalcStyle): + * html/html_objectimpl.h: + (WebCore::HTMLPlugInElement::endTagRequirement): + (WebCore::HTMLAppletElement::tagPriority): + (WebCore::HTMLEmbedElement::tagPriority): + (WebCore::HTMLObjectElement::tagPriority): + +2006-04-25 Beth Dakin <bdakin@apple.com> + + Reviewed by Maciej. + + Fix for <rdar://problem/4518632> getComputedStyle returns 'auto' + for dimensions like 'margin-left' + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): For + margin and padding, to match Firefox we now go to the renderer to + get the property value instead of calling valueForLength() on the + style attribute. valueForLength() will return the string 'auto' if + that was what was specified in the CSS, or a percentage if it was + specified as a percent. But to match Firefox, we always want to + return a pixel value for margin and padding. + +2006-04-26 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by darin. Landed by eseidel. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8452 + mangleme(0x58c22e11): Random crashes + + Test: fast/frames/empty-cols-attribute.html + + * platform/StringImpl.cpp: + (WebCore::StringImpl::toLengthArray): If the string is empty, return 0 + but set len to 1. This gives the same behavior you get if you don't specify + the attribute at all, matching WinIE and Firefox. Previously, the empty + string resulted in len being set to 0 (and a memory smasher in + RenderFrameSet::layout()). + * rendering/render_frames.cpp: + (WebCore::RenderFrameSet::layout): Added an assert. + +2006-04-26 Oliver Hunt <ojh16@student.canterbury.ac.nz> + + Reviewed by eseidel. Landed by eseidel. + + * WebCore.xcodeproj/project.pbxproj: + * kcanvas/KCanvasFilters.cpp: + (WebCore::operator<<): + * kcanvas/KCanvasFilters.h: + (WebCore::KCComponentTransferFunction::KCComponentTransferFunction): + * kcanvas/device/quartz/KCanvasFilterQuartz.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (WebCore::getVectorForChannel): + (WebCore::genImageFromTable): + (WebCore::filterForComponentFunc): + (WebCore::setParametersForComponentFunc): + (WebCore::getFilterForFunc): + (WebCore::KCanvasFEComponentTransferQuartz::getFunctionFilter): + (WebCore::KCanvasFEComponentTransferQuartz::getCIFilter): + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (WebCore::KRenderingDeviceQuartz::createFilterEffect): + * kcanvas/device/quartz/filters/WKComponentMergeFilter.cikernel: Added. + * kcanvas/device/quartz/filters/WKComponentMergeFilter.h: Added. + * kcanvas/device/quartz/filters/WKComponentMergeFilter.m: Added. + (+[WKComponentMergeFilter initialize]): + (+[WKComponentMergeFilter filterWithName:]): + (-[WKComponentMergeFilter init]): + (-[WKComponentMergeFilter outputImage]): + * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.cikernel: Added. + * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.h: Added. + * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m: Added. + (+[WKDiscreteTransferFilter initialize]): + (+[WKDiscreteTransferFilter filterWithName:]): + (-[WKDiscreteTransferFilter init]): + (-[WKDiscreteTransferFilter outputImage]): + * kcanvas/device/quartz/filters/WKGammaTransferFilter.cikernel: Added. + * kcanvas/device/quartz/filters/WKGammaTransferFilter.h: Added. + * kcanvas/device/quartz/filters/WKGammaTransferFilter.m: Added. + (+[WKGammaTransferFilter initialize]): + (+[WKGammaTransferFilter filterWithName:]): + (-[WKGammaTransferFilter init]): + (-[WKGammaTransferFilter outputImage]): + * kcanvas/device/quartz/filters/WKIdentityTransferFilter.h: Added. + * kcanvas/device/quartz/filters/WKIdentityTransferFilter.m: Added. + (+[WKIdentityTransferFilter initialize]): + (+[WKIdentityTransferFilter filterWithName:]): + (-[WKIdentityTransferFilter init]): + (-[WKIdentityTransferFilter outputImage]): + * kcanvas/device/quartz/filters/WKLinearTransferFilter.cikernel: Added. + * kcanvas/device/quartz/filters/WKLinearTransferFilter.h: Added. + * kcanvas/device/quartz/filters/WKLinearTransferFilter.m: Added. + (+[WKLinearTransferFilter initialize]): + (+[WKLinearTransferFilter filterWithName:]): + (-[WKLinearTransferFilter init]): + (-[WKLinearTransferFilter outputImage]): + * kcanvas/device/quartz/filters/WKTableTransferFilter.cikernel: Added. + * kcanvas/device/quartz/filters/WKTableTransferFilter.h: Added. + * kcanvas/device/quartz/filters/WKTableTransferFilter.m: Added. + (+[WKTableTransferFilter initialize]): + (+[WKTableTransferFilter filterWithName:]): + (-[WKTableTransferFilter init]): + (-[WKTableTransferFilter outputImage]): + * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: + (SVGComponentTransferFunctionElement::parseMappedAttribute): + (SVGComponentTransferFunctionElement::transferFunction): + +2006-04-25 Eric Seidel <eseidel@apple.com> + + Reviewed by ggaren. + + Make trunk match the branch. Now nodes are fully removed + from the tree before calling detach. There is (thankfully) no + good way to test this, as no one should depend on this behavior. + This change was made are part of fixing: + <rdar://problem/4427024> repro crash on www.formassembly.com in khtml::RenderBlock::addChildToFlow + <rdar://problem/4233435> CrashTracer: 2698 crashes in Safari at com.apple.WebCore: khtml::RenderBlock::addChildToFlow + 156 + on the branch. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::removeChildren): + +2006-04-25 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Adele. + + - don't have a fini method, since trying to call it will actually call the subclass method + and mess up the bridge count. + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge dealloc]): + (-[WebCoreFrameBridge finalize]): + +2006-04-25 Steve Falkenburg <sfalkenburg@apple.com> + + Reviewed by eseidel. + + No test case needed + + * platform/win/TemporaryLinkStubs.cpp: + (KWQFileButton::setFrameGeometry): + +2006-04-25 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix reproducible crash in html parser code. + http://bugs.webkit.org/show_bug.cgi?id=7137 + + Test: fast/parser/remove-current-node-parent.html + + * html/HTMLParser.cpp: + (WebCore::HTMLParser::handleError): + +2006-04-25 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - fixed http://bugs.webkit.org/show_bug.cgi?id=8575 + New KWQFileButton leaks reported by buildbot + + * kwq/KWQFileButton.mm: + (KWQFileButton::KWQFileButton): Add a missing release + +2006-04-24 David Hyatt <hyatt@apple.com> + + Fix for 8336, focus ring redrawing on top of itself. Make sure + not to include empty rects when doing the focus ring drawing, since + that results in a draw with no clip set. + + Reviewed by adele + + * platform/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::drawFocusRing): + +2006-04-24 Eric Seidel <eseidel@apple.com> + + Reviewed by ggaren. + + Fix for 5th worst unresolved crasher: + <rdar://problem/4129744> [REGRESSION]CrashTracer: ..400 crashes at com.apple.WebCore: DOM::NodeImpl::createRendererIfNeeded + 44 + + Test: fast/dom/remove-style-element.html + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::removeChildren): + +2006-04-24 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Speculative fix for our 7th worst crasher. + Also added ASSERTs to help us better understand the issue. + <rdar://problem/4153404> CrashTracer: 2412 crashes in Safari at com.apple.WebCore: khtml::RenderStyle::RenderStyle[unified] + 44 + + * dom/Document.cpp: + (WebCore::Document::recalcStyle): + (WebCore::Document::setInPageCache): + * dom/Document.h: + * dom/Element.cpp: + (WebCore::Element::recalcStyle): + +2006-04-24 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + Fix for <rdar://problem/4503438> REGRESSION (NativeTextField): Can't insert caret when + selection is active in field (Business/Unit) + + * css/html4.css: Added -webkit-user-select:text for input elements. + +2006-04-24 Maciej Stachowiak <mjs@apple.com> + + Build fix: + + - move some prematurely moved code back + + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge fini]): + +2006-04-24 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - move more code from WebFrameBridge to WebCoreFrameBridge + + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge domain]): + (-[WebCoreFrameBridge canTargetLoadInFrame:]): + (-[WebCoreFrameBridge fini]): + (-[WebCoreFrameBridge dealloc]): + (-[WebCoreFrameBridge finalize]): + (_getPreSmartSet): + (_getPostSmartSet): + (-[WebCoreFrameBridge isCharacterSmartReplaceExempt:isPreviousCharacter:]): + (-[WebCoreFrameBridge _retrieveKeyboardUIModeFromPreferences:]): + (-[WebCoreFrameBridge keyboardUIMode]): + +2006-04-24 Adele Peterson <adele@apple.com> + + Reviewed by Tim O. + + Fix to send textFieldDidBeginEditing on the first editing change instead of on focus. + This matches our old behavior. + + * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::dispatchFocusEvent): + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::subtreeHasChanged): + +2006-04-24 Beth Dakin <bdakin@apple.com> + + Reviewed by Eric. + + Fix for <rdar://problem/4513383> REGRESSION: Crash in + WebCore::shouldEmitTabBeforeNode() when iterating through document + text + + * editing/TextIterator.cpp: + (WebCore::shouldEmitTabBeforeNode): Need to nil-check the renderer. + +2006-04-23 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Maciej. + + * bindings/scripts/CodeGeneratorJS.pm: Removed confusing 'JS' prefix + from string descriptions of DOM prototypes, so the prototype for, e.g., + Document serializes as 'Document,' not 'JSDocument.' + +2006-04-23 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin. + + - Took the larger snippets of C++ in the code generator and broke + them into HERE documents in the hopes of improving readability. + + * bindings/scripts/CodeGeneratorJS.pm: I indented variable names + level with their corresponding HERE documents to clearly + "sandwich" the HERE documents between opening and closing EOF + statements. + +2006-04-23 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - push WebFileButton and WebStringTruncator code down to WebCore + http://bugs.webkit.org/show_bug.cgi?id=8552 + + * WebCore.exp: + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreStringTruncator.h: Added. + * bridge/mac/WebCoreStringTruncator.mm: Added. + (stringWidth): + (truncateString): + (+[WebCoreStringTruncator widthOfString:font:]): + * bridge/mac/WebCoreViewFactory.h: + * kwq/KWQFileButton.h: + * kwq/KWQFileButton.mm: + (-[WebFileChooserButton initWithWidget::]): + (-[WebCoreFileButton positionButton]): + (-[WebCoreFileButton initWithWidget:]): + (-[WebCoreFileButton initWithFrame:]): + (-[WebCoreFileButton dealloc]): + (-[WebCoreFileButton isFlipped]): + (-[WebCoreFileButton drawRect:]): + (-[WebCoreFileButton updateLabel]): + (-[WebCoreFileButton setFilename:]): + (-[WebCoreFileButton filename]): + (-[WebCoreFileButton setFrameSize:]): + (-[WebCoreFileButton bestVisualFrameSizeForCharacterCount:]): + (-[WebCoreFileButton visualFrame]): + (-[WebCoreFileButton setVisualFrame:]): + (-[WebCoreFileButton baseline]): + (-[WebCoreFileButton beginSheet]): + (-[WebCoreFileButton chooseFilename:]): + (-[WebCoreFileButton cancel]): + (-[WebCoreFileButton chooseButtonPressed:]): + (-[WebCoreFileButton mouseDown:]): + (-[WebCoreFileButton acceptsFirstResponder]): + (-[WebCoreFileButton becomeFirstResponder]): + (-[WebCoreFileButton nextKeyView]): + (-[WebCoreFileButton previousKeyView]): + (-[WebCoreFileButton nextValidKeyView]): + (-[WebCoreFileButton previousValidKeyView]): + (-[WebCoreFileButton performClick]): + (-[WebFileChooserButton initWithWidget:]): + (-[WebFileChooserButton nextValidKeyView]): + (-[WebFileChooserButton previousValidKeyView]): + (-[WebFileChooserButton resignFirstResponder]): + (KWQFileButton::KWQFileButton): + (KWQFileButton::setFilename): + (KWQFileButton::click): + (KWQFileButton::sizeForCharacterWidth): + (KWQFileButton::frameGeometry): + (KWQFileButton::setFrameGeometry): + (KWQFileButton::baselinePosition): + (KWQFileButton::filenameChanged): + +2006-04-23 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - remove WebCoreCookieAdapter, instead make mac implementation of + CookieJar use Foundation directly. + + * WebCore.exp: + * WebCore.xcodeproj/project.pbxproj: + * platform/mac/CookieJar.mm: + (WebCore::cookies): + (WebCore::setCookies): + (WebCore::cookiesEnabled): + * platform/mac/WebCoreCookieAdapter.h: Removed. + * platform/mac/WebCoreCookieAdapter.m: Removed. + +2006-04-21 Rob Buis <buis@kde.org> + + Reviewed by hyatt. Landed by eseidel. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=8170: + SVG CSS property values with extra items do not get treated + as invalid (they should) + + Fixes the handling of invalid svg css properties similar + to how invalid html css properties are handled, ie. discard + the property if there are more values in the value list than + expected. + + Test: svg/custom/invalid-css.svg + + * ksvg2/css/SVGCSSParser.cpp: + (WebCore::CSSParser::parseSVGValue): + +2006-04-23 Michael Emmel <mike.emmel@gmail.com> + + Reviewed by mjs. Landed by eseidel. + + http://bugs.webkit.org/show_bug.cgi?id=8517 + No test necessary, no functional change. + + * DerivedSources.make: use VPATH more consistently. + +2006-04-23 Jon Shier <jshier@iastate.edu> + + Reviewed by ggaren. Landed by eseidel. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=8511 + onerror JS property does not register listener properly + + Test: fast/dom/onerror-img.html + + * bindings/js/kjs_dom.cpp: + (KJS::DOMEventTargetNode::getValueProperty): changed khtmlErrorEvent to errorEvent. + (KJS::DOMEventTargetNode::putValueProperty): ditto. + * bindings/js/kjs_window.cpp: + (KJS::Window::getValueProperty): ditto. + (KJS::Window::put): + * dom/EventNames.h: Removed khtmlError macro. + +2006-04-23 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Reproducible crasher with <li value=1234567890 type=A> + http://bugs.webkit.org/show_bug.cgi?id=8542 + + Fixed our alphabetical list generation to match WinIE (not FireFox) + Previously our alphabetical lists were completely wrong past 26 items. + + Tests: + * fast/lists/alpha-list-wrap.html + * fast/lists/li-style-alpha-huge-value-crash.html + + * rendering/render_list.cpp: + (WebCore::toLetterString): + (WebCore::toHebrew): + (WebCore::RenderListMarker::calcMinMaxWidth): + +2006-04-22 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin. + + - Finished autogeneration of Element + + * bindings/js/kjs_dom.cpp: Removed DOMElement class + * bindings/js/kjs_dom.h: ditto + * bindings/scripts/CodeGeneratorJS.pm: added support for special + attribute lookup that elements do + * dom/Element.idl: added new attribute, + "IncludeAttributesInPropertyLookup," which tells the code generator + to include HTML element attributes in property lookup + +2006-04-22 Michael Emmel <mike.emmel@gmail.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8529 + Extra Qaulification in header + - fix http://bugs.webkit.org/show_bug.cgi?id=8530 + Missing assert.h include + + * rendering/RenderObject.h: Removed erroneous RenderObject:: + prefix from a member function name. + * rendering/RenderText.h: Removed erroneous RenderText:: + prefix from a member function name. + + * platform/Arena.cpp: Added <assert.h> to list of includes. + * platform/KURL.cpp: Ditto. + * platform/StringImpl.cpp: Ditto. + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Ditto. + * platform/image-decoders/png/PNGImageDecoder.cpp: Ditto. + +2006-04-22 Darin Adler <darin@apple.com> + + * doc: Added. + +2006-04-22 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - push down a bunch of WebCoreFrameBridge code to C++ (plus some reformatting) + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge isDescendantOfFrame:]): + (-[WebCoreFrameBridge traverseNextFrameStayWithin:]): + (-[WebCoreFrameBridge nextFrameWithWrap:]): + (-[WebCoreFrameBridge previousFrameWithWrap:]): + (+[WebCoreFrameBridge bridgeForDOMDocument:]): + (-[WebCoreFrameBridge parent]): + (-[WebCoreFrameBridge addData:]): + (-[WebCoreFrameBridge didNotOpenURL:pageCache:]): + (-[WebCoreFrameBridge restoreDocumentState]): + (-[WebCoreFrameBridge _stringWithDocumentTypeStringAndMarkupString:]): + (-[WebCoreFrameBridge nodesFromList:]): + (-[WebCoreFrameBridge markupStringFromNode:nodes:]): + (-[WebCoreFrameBridge markupStringFromRange:nodes:]): + (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]): + (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]): + (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]): + (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:verticalDistance:]): + (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]): + (-[WebCoreFrameBridge replaceMarkedTextWithText:]): + (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): + (-[WebCoreFrameBridge increaseSelectionListLevel]): + (-[WebCoreFrameBridge decreaseSelectionListLevel]): + (-[WebCoreFrameBridge insertLineBreak]): + (-[WebCoreFrameBridge insertParagraphSeparator]): + (-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]): + (-[WebCoreFrameBridge insertText:selectInsertedText:]): + (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]): + (-[WebCoreFrameBridge ensureSelectionVisible]): + (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]): + * page/Frame.cpp: + (WebCore::Frame::nodeInfoAtPoint): + (WebCore::Frame::hasSelection): + (WebCore::Frame::documentTypeString): + * page/Frame.h: + * page/FrameTree.cpp: + (WebCore::FrameTree::traverseNextWithWrap): + (WebCore::FrameTree::traversePreviousWithWrap): + (WebCore::FrameTree::deepLastChild): + * page/FrameTree.h: + +2006-04-22 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=6141 + DOMCSSPrimitiveValue is always returning values in pixels when + using getComputedStyle: + + getFloatValue() took a unit type as a parameter, ignored it, and + returned m_value.num. This patch writes a second version of the + function that actually converts m_value.num to the specified unites + before returning it. Where a conversion is not required, I removed + the unit type from the caller so that it would go directly to the + inline version of the function. + + * css/css_valueimpl.cpp: + (WebCore::CSSPrimitiveValue::computeLengthFloat): Remove type + parameter since a conversion is not needed. + (WebCore::scaleFactorForConversion): Helper function for + conversion. + (WebCore::CSSPrimitiveValue::getFloatValue): This version of + getFloatValue() takes a unit type parameter and converts + m_value.num. + * css/css_valueimpl.h: + (WebCore::CSSPrimitiveValue::getFloatValue): This version does not + take a parameter and just returns m_value.num. + * css/cssparser.cpp: + (WebCore::BorderImageParseContext::commitBorderImage): Remove type + parameter since a conversion is not needed. + * css/cssstyleselector.cpp: + (WebCore::convertToLength): Same. + (WebCore::CSSStyleSelector::applyProperty): Same. + (WebCore::CSSStyleSelector::mapBackgroundSize): Same. + (WebCore::CSSStyleSelector::mapBackgroundXPosition): Same. + (WebCore::CSSStyleSelector::mapBackgroundYPosition): Same. + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Same. + * ksvg2/css/SVGCSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applySVGProperty): Same. + * ksvg2/misc/KCanvasRenderingStyle.cpp: + (WebCore::KSVGPainterFactory::cssPrimitiveToLength): Same. + +2006-04-21 Geoffrey Garen <ggaren@apple.com> + + Reviewed by John. + + - Fixed http://bugs.webkit.org/show_bug.cgi?id=8509 + javascript:document.importNode(null) + + * dom/Document.cpp: + (WebCore::Document::importNode): Throw an error if the node is null. + This happens when the object provided in the JavaScript call is not + a node. + (WebCore::Document::adoptNode): Set the DOM exception code in all error + cases instead of just a few, because that's what the spec requires. + +2006-04-21 Geoffrey Garen <ggaren@apple.com> + + Reviewed by John. + + - Fixed http://bugs.webkit.org/show_bug.cgi?id=8510 + submit event doesn't bubble - it's supposed to. + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::parseMappedAttribute): Added recognition for the + onsubmit attribute, so elements can use it + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::prepareSubmit): Changed bubbling attribute + to 'true' + +2006-04-21 Geoffrey Garen <ggaren@apple.com> + + Reviewed by TimO. + + - Fixed: error event does not bubble + + I discovered this bug while working on the "submit event does not + bubble" bug. The DOM spec says the event should bubble, and that's how + it works in Firefox. + + The DOM Spec also says that the error event is "valid for + OBJECT elements, BODY elements, and FRAMESET element." But it doesn't + say "valid ONLY." Firefox supports it on all elements and web + developers tend to think it will work for things like <img> and + <script>, so I went whole hog here. + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::parseMappedAttribute): Make onerror a mapped + attribute for all elements, so containing elements can register for + the event. + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::notifyFinished): make onerror bubble + * html/html_headimpl.cpp: + (WebCore::HTMLScriptElement::parseMappedAttribute): Remove special + case for onerror because HTMLElement will take care of it + (WebCore::HTMLScriptElement::notifyFinished): make onerror bubble + * html/html_imageimpl.cpp: + (WebCore::HTMLImageElement::parseMappedAttribute): Remove special + case for onerror because HTMLElement will take care of it + +2006-04-21 Adele Peterson <adele@apple.com> + + Test for: http://bugs.webkit.org/show_bug.cgi?id=8181 + REGRESSION: After tabbing in page's field, attempting to tab from Google toolbar search to page fails on first try + + * manual-tests/tabbing-input-google.html: Added. + +2006-04-21 Kevin M. Ollivier <kevino@theolliviers.com> + + Reviewed by Darin. + + - http://bugs.webkit.org/show_bug.cgi?id=8507 + Compilation fixes for building on gcc 4.0.2, and without precomp headers + + * platform/Cursor.h: Created a fallback case that typedefs PlatformCursor + to void * if it isn't defined to anything else. (Useful to help get new ports + initially compiling.) + + * bindings/js/kjs_window.cpp: + * rendering/RenderTextField.cpp: + * rendering/RenderBox.cpp: + Add missing headers to resolve issues when compiling without precompiled + headers. + + * rendering/RenderText.h: Declare the InlineTextBox class before + friend declaration to resolve compilation issues with gcc 4.0.2. + +2006-04-21 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fix for: http://bugs.webkit.org/show_bug.cgi?id=8213 + REGRESSION: Can't tab out of text field if iframe comes after it + + Test: fast/forms/tabbing-input-iframe.html + + * bridge/mac/FrameMac.mm: (WebCore::FrameMac::nextKeyViewInFrame): + If the next focusable node is a RenderWidget without a view, then continue in the loop. We used to break out in this case. + I also made some formatting changes and reorganized the function to make it easier to read. + +2006-04-21 Adele Peterson <adele@apple.com> + + Reviewed by Beth. + + Fix for: http://bugs.webkit.org/show_bug.cgi?id=8496 + REGRESSION: Dragging to select text around a text field causes the text field to scroll. + + Test: manual-tests/text-field-autoscroll.html + + * bridge/mac/FrameMac.mm: (WebCore::FrameMac::handleMouseMoveEvent): Start the frame's autoscroll timer + even when we're calling over the bridge to handle the autoscroll. + * page/Frame.cpp: (WebCore::Frame::stopAutoscrollTimer): Clear out pointer to layer. + +2006-04-21 Geoffrey Garen <ggaren@apple.com> + + - And again. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + +2006-04-21 Geoffrey Garen <ggaren@apple.com> + + - Futile attempt to fix Windows build. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + +2006-04-20 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Maciej. + + - Added autogeneration of JS bindings for CSSRule, CSSValue, + Event, and NodeFilter. + + - Made related prototype objects hold the relevant constants, to + match Mozilla and the DOM 2 spec. (Previously, only the related + constructor objects held those constants, in accordance with the + DOM 3 spec.) + + - Fixed up remaining Windows build issues. + + * DerivedSources.make: Added new autogenerated files + * WebCore.xcodeproj/project.pbxproj: ditto + * bindings/js/kjs_css.cpp: + (KJS::DOMCSSRule::classInfo): + (KJS::DOMCSSRule::getOwnPropertySlot): scope call to classInfo() + because it's virtual and DOMCSSRule has a derrived class now. + (KJS::DOMCSSRule::put): ditto + (KJS::DOMCSSRuleFunc::callAsFunction): + (KJS::toJS): + * bindings/js/kjs_css.h: + * bindings/js/kjs_events.cpp: + (KJS::toJS): + * bindings/js/kjs_events.h: + * bindings/js/kjs_html.cpp: + (KJS::OptionConstructorImp::OptionConstructorImp): + * bindings/js/kjs_traversal.cpp: + (KJS::toJS): + * bindings/js/kjs_traversal.h: + * bindings/js/kjs_window.cpp: + (KJS::Window::getValueProperty): added CSSValue global object + * bindings/js/kjs_window.h: + (KJS::Window::): + * bindings/scripts/CodeGeneratorJS.pm: Changed generator to write + constants to prototype objects (previously only wrote constants to + constructor objects) + * css/CSSPrimitiveValue.idl: Removed LegacyParent since CSSValue now + exists in IDL + * css/CSSRule.idl: Added. + * css/CSSValue.idl: Added. + * css/css_ruleimpl.h: + (WebCore::CSSRule::): + * css/css_valueimpl.h: + * dom/Event.idl: Added. + * dom/MutationEvent.idl: Removed LegacyParent since Event now exists + in IDL + * dom/NodeFilter.idl: Added. + * dom/UIEvent.idl: Removed LegacyParent since event now exists in IDL + * dom/dom2_eventsimpl.h: + (WebCore::Event::): + +2006-04-21 Darin Adler <darin@apple.com> + + - one more attempt to fix Windows build + + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::fillRect): Update to use Color and match + the similar function on GraphicsContextMac. + +2006-04-21 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=8495 + REGRESSION: Sidebar on cnn.com is hosed + + * platform/mac/ImageMac.mm: + (WebCore::Image::drawTiled): Use the size of the destination rect, + not the oneTileRect in the no-pattern case. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintBackgroundExtended): Initialize + scaledWidth and scaledHeight to the appropriate value (was wrong in + scroll case), adjust position at appropriate times, and take out + no-repeat clause for now since we don't have enough test cases yet + to be sure we won't cause massive regressions. + +2006-04-21 Darin Adler <darin@apple.com> + + - attempt to fix Windows build after my last check-in + + * WebCore.vcproj/Image Viewer/ImageView.cpp: Changed calls to use the + new IntRect-based API. + + * html/CanvasPattern.cpp: (WebCore::CanvasPattern::CanvasPattern): + Put appropriate ifdefs around the m_platformImage initializer. + + * page/Frame.cpp: Make Frame::adjustPageHeight Mac-OS-X-only for now + since it's used for printing and we don't have printing going on any + other platforms yet. + + * platform/cairo/GraphicsContextCairo.cpp: Take out constructor that + takes only the "for printing" boolean for now. + + * platform/cairo/ImageCairo.cpp: Include the GraphicsContext.h header. + + * platform/win/TemporaryLinkStubs.cpp: (GraphicsContext::setShadow): + Fix up this stub and remove the GraphicsContext empty constructor stub. + +2006-04-21 Darin Adler <darin@apple.com> + + - fix build + + * WebCore.xcodeproj/project.pbxproj: Replaced absolute path on my system + with a build-result-relative path; also removed some source files from the + list of resources to install! + +2006-04-20 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - make <canvas> element and related API behave more like the draft of + the WhatWG Web Application specification, checking parameter validity + and raising exceptions + - changed HTMLCanvasElement bindings to be auto-generated, fixing all + issues so we can generate bindings for classes drived from HTMLElement + - change GraphicsContext API to use IntRect/Point/Size in more cases + - change GraphicsContext so it is closer to truly wrapping a graphics + context rather than representing the current NSGraphicsContext; there + are still some things like text and rectangle fills that are tied to + NSGraphicsContext, but we're most of the way there + - removed Brush class since it just amounted to a color, using an RGBA32 + instead where we used to use a Brush + + * DerivedSources.make: Added JSHTMLCanvasElement.h. + * WebCore.xcodeproj/project.pbxproj: Added new files. + + * bindings/js/JSCanvasRenderingContext2DBase.h: Added toJS. + * bindings/js/JSCanvasRenderingContext2DBase.cpp: + (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction): + Added exception code handling for strokeRect, drawImage, and createPattern. + Added version of createPattern that takes a canvas. Use TYPE_MISMATCH_ERR + instead of JavaScript TypeError when parameter is neither an image or canvas + element. Adapt for new HTMLCanvasElement binding. + (WebCore::toJS): Added. Converts context object to JS wrapper. + + * bindings/js/JSHTMLElementWrapperFactory.h: Added. + * bindings/js/JSHTMLElementWrapperFactory.cpp: Added. Creates a JavaScript + wrapper for an arbitrary HTML element. Better than putting this all in the + DOM node class toJS function. + + * bindings/js/JSXMLSerializer.cpp: Tweaked to make it build. + * bindings/js/kjs_dom.cpp: (KJS::toJS): Changed to call the + JSHTMLElementWrapperFactory function createJSWrapper, instead + of always creating a JSHTMLElement. + + * bindings/js/kjs_html.h: Removed canvas-related stuff. Added HTMLElement + prototype. + * bindings/js/kjs_html.cpp: + (KJS::JSHTMLElement::classInfo): Removed canvas element. + (KJS::JSHTMLElement::accessors): Ditto. + (KJS::JSHTMLElementProtoFunc::callAsFunction): Added, to help the auto-binding + machiner cope with HTMLElement. + (KJS::HTMLElementFunction::callAsFunction): Removed canvas element. + + * bindings/scripts/CodeGeneratorJS.pm: Added types needed for HTMLCanvasElement. + + * bridge/mac/FrameMac.mm: (WebCore::FrameMac::setDisplaysWithFocusAttributes): + Changed to create a GraphicsContext with the new constructor that takes + a CGContextRef. + * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]): + Changed to create a GraphicsContext with the new constructor that takes + a NSGraphicsContext. + * page/Frame.cpp: (WebCore::Frame::adjustPageHeight): Changed to create a + GraphicsContext with the new constructor that takes a CGContextRef. + + * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret): + Eliminated a use of obsolete class Brush. + + * html/CanvasPattern.h: + * html/CanvasPattern.cpp: + (WebCore::CanvasPattern::parseRepetitionType): Added. Parses a repetition + type. Different from the old logic in that it is case-sensitive and rejects + anything other than null, empty string, or the four repeat types. + (WebCore::CanvasPattern::CanvasPattern): Added constructor that takes + a CGImageRef. Changed constructor to take two booleans instead of the repetition + type string. It's the caller's responsibility to parse the string. + (WebCore::CanvasPattern::~CanvasPattern): Release the CGImage. + (WebCore::patternCallback): Handle the CGImage case. Also changed the code + to create a GraphicsContext as needed and call the image drawing code with that. + (WebCore::CanvasPattern::createPattern): Handle both the image element case and + the canvas element case. + + * html/CanvasRenderingContext2D.h: + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::State::State): Change line cap, line join, + and global composite to store enum values instead of strings. + (WebCore::CanvasRenderingContext2D::setLineWidth): Do nothing if width is NaN + or <= 0. + (WebCore::CanvasRenderingContext2D::lineCap): Return a string based on a + stored enum, rather than returning a stored string. + (WebCore::CanvasRenderingContext2D::setLineCap): Do nothing if the string is + not one of the standard line cap types. Also case sensitive and stores enum + rather than the string. + (WebCore::CanvasRenderingContext2D::lineJoin): Return a string based on a + stored enum, rather than returning a stored string. + (WebCore::CanvasRenderingContext2D::setLineJoin): Do nothing if the string is + not one of the standard line join types. Also case sensitive and stores enum + rather than the string. + (WebCore::CanvasRenderingContext2D::setMiterLimit): Do nothing if limit is NaN + or <= 0. + (WebCore::CanvasRenderingContext2D::setGlobalAlpha): Do nothing if alpha is NaN + or < 0 or > 1. + (WebCore::CanvasRenderingContext2D::globalCompositeOperation): Return a string + based on a stored enum, rather than returning a stored string. + (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Do nothing if + the string is not one of the standard compositing modes. Also case sensitive and + stores enum rather than the string. + (WebCore::CanvasRenderingContext2D::arcTo): Generate INDEX_SIZE_ERR exception + if radius is NaN or <= 0. + (WebCore::CanvasRenderingContext2D::arc): Ditto. + (WebCore::CanvasRenderingContext2D::rect): Generate INDEX_SIZE_ERR exception + if width or height is NaN or <= 0. + (WebCore::CanvasRenderingContext2D::clearRect): Ditto. + (WebCore::CanvasRenderingContext2D::fillRect): Ditto. + (WebCore::CanvasRenderingContext2D::strokeRect): Ditto, same for line width. + Changed the case where the line width is not specified to share code with the + case where it is. + (WebCore::size): Renamed from imageSize, since C++ overloads based on parameter + types anyway. + (WebCore::CanvasRenderingContext2D::drawImage): Generate INDEX_SIZE_ERR exception + if the source rect is not entirely inside the image rect, or if the width or height + of either the source or destination rect is NaN or <= 0. Changed image drawing + code to be platform-independent for the image element case, but not yet for the + canvas case. + (WebCore::CanvasRenderingContext2D::drawImageFromRect): Change code to parse the + composite operation to use the new code shared with Image. + (WebCore::CanvasRenderingContext2D::createPattern): Added code to parse the + repetition type separately before creating the pattern. Added an overload for + canvas elements. + (WebCore::CanvasRenderingContext2D::drawingContext): Changed to return a + GraphicsContext*. + (WebCore::CanvasRenderingContext2D::platformContext): Added. Now does what + drawingContext used to do. + + * html/CanvasRenderingContext2D.idl: Added exception declarations as needed + for changes above. + + * html/HTMLCanvasElement.h: + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::HTMLCanvasElement): Changed m_drawingContext + to be a GraphicsContext instead of a CGContextRef. + (WebCore::HTMLCanvasElement::~HTMLCanvasElement): Ditto. + (WebCore::HTMLCanvasElement::getContext): Removed special cases for null + and empty string. Only give a 2D graphics context if the string is "2d". + (WebCore::HTMLCanvasElement::reset): Updated for change to GraphicsContext + from CGContextRef. + (WebCore::HTMLCanvasElement::paint): Ditto. + (WebCore::HTMLCanvasElement::createDrawingContext): Changed to create a + GraphicsContext* instead of a CGContextRef. + (WebCore::HTMLCanvasElement::drawingContext): Changed to return a + GraphicsContext* instead of a CGContextRef. + (WebCore::HTMLCanvasElement::createPlatformImage): Updated for changes above. + + * html/HTMLCanvasElement.idl: Added. + + * html/HTMLParser.h: + * html/HTMLParser.cpp: + (WebCore::HTMLParser::canvasCreateErrorCheck): Added. An attempt to implement the + fallback behavior for canvas elements when JavaScript is off. + (WebCore::HTMLParser::getNode): Sorted list of functions. Added case for canvas. + + * html/html_imageimpl.h: + * html/html_imageimpl.cpp: + (WebCore::HTMLImageElement::HTMLImageElement): Changed m_compositeOperator to be + an enum instead of a string. + (WebCore::HTMLImageElement::parseMappedAttribute): Parse the enum here. + + * kcanvas/KCanvasResources.h: + * kcanvas/KCanvasResources.cpp: (WebCore::KCanvasMarker::draw): Changed to take a + GraphicsContext parameter. + + * kcanvas/RenderPath.h: Added GraphicsContext parameter to drawMarkersIfNeeded. + + * kcanvas/RenderPath.cpp: (WebCore::RenderPath::paint): + * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint): + * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::paint): + Changed to generate and use an appropriate GraphicsContext. + + * kcanvas/device/quartz/KCanvasItemQuartz.h: Added GraphicsContext parameter to + drawMarkersIfNeeded. + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (WebCore::DrawMarkersData::DrawMarkersData): Added GraphicsContext*. + (WebCore::drawMarkerWithData): Pass along a GraphicsContext*. + (WebCore::drawStartAndMidMarkers): Ditto. + (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded): Pass a long a GraphicsContext*. + + * kcanvas/device/KRenderingDevice.h: Added a pure virtual createGraphicsContext + to bridge back to a GraphicsContext. Long term that class will replace this one. + * kcanvas/device/quartz/KRenderingDeviceQuartz.h: + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (WebCore::KRenderingDeviceContextQuartz::createGraphicsContext): Added. + + * ksvg2/svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::drawMaskerContent): + Create and pass a GraphicsContext -- old code used the default constructor for + GraphicsContext which meant "current context", and that no longer exists. + * ksvg2/svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::drawPatternContentIntoTile): Ditto. + + * platform/Brush.h: Removed. + * platform/CompositeOperator.h: Added. + * platform/CompositeOperator.cpp: Added. + + * platform/Font.h: Changed calls to use IntPoint instead of pairs of ints. + Also removed the const from all the uses of GraphicsContext*. + + * platform/GraphicsContext.h: Eliminated default constructor and constructor + that takes only a boolean. Replaced with constructors that take platform + graphics contexts only. Replaced brush-related calls with fill color calls. + Replaced use of Brush with use of Color. Changed Image::CompositeOperator to + just plain CompositeOperator. Changed tuples of ints into IntRect and IntPoint. + Moved setFocusRingClip and clearFocusRingClip out of ifdefs. Removed unused + getCompositeOperation and string-based setCompositeOperation. Moved + currentCGContext and the other setCompositeOperation out of the GraphicsContext + class and made them global functions. Fixed platformContext so it won't always + return the CGContextRef of the current NSGraphicsContext. Instead, it will + return the appropriate CGContextRef for the GraphicsContext. This eliminates + the need to use void* for the image-drawing functions. + + * platform/GraphicsContext.cpp: + (WebCore::GraphicsContextState::GraphicsContextState): Replaced Brush with + an RGBA fill color. + (WebCore::GraphicsContext::setFillColor): Renamed from setBrush. + (WebCore::GraphicsContext::fillColor): Renamed from brush. + (WebCore::GraphicsContext::drawImage): Changed to use IntRect. + (WebCore::GraphicsContext::drawTiledImage): Moved here from GraphicsContextMac.mm. + (WebCore::GraphicsContext::drawText): Changed to use IntPoint. + (WebCore::GraphicsContext::drawHighlightForText): Ditto. + (WebCore::GraphicsContext::drawLineForText): Ditto. + (WebCore::GraphicsContext::drawLineForMisspelling): Ditto. + + * platform/Image.h: Removed CompositeOperator and related functions. + Removed void* context parameters from draw functions. + + * platform/Image.cpp: Removed compositeOperatorFromString. + + * platform/Widget.h: Added a GraphicsContext* return value from lockDrawingFocus + that you pass back to unlockDrawingFocus (for deletion). + + * platform/mac/FontMac.mm: + (WebCore::Font::selectionRectForText): Changed parameter to point and removed + const on GraphicsContext* parameter. + (WebCore::Font::drawText): Ditto. + (WebCore::Font::drawHighlightForText): Ditto. + (WebCore::Font::drawLineForText): Ditto. + (WebCore::Font::drawLineForMisspelling): Ditto. + (WebCore::Font::misspellingLineThickness): Removed const. + + * platform/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + Added fields to store a CGContextRef and an NSGraphicsContext. + (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): + Release both the CGContextRef and the NSGraphicsContext. + (WebCore::GraphicsContext::GraphicsContext): Implement to set up both the + CGContextRef and the NSGraphicsContext in one case, and only the CGContextRef + in the other. + (WebCore::GraphicsContext::savePlatformState): Implement for the CGContext-only + case. + (WebCore::GraphicsContext::restorePlatformState): Ditto. + (WebCore::GraphicsContext::drawRect): Assert that the NS context is present + and + (WebCore::GraphicsContext::setColorFromFillColor): Renamed from + setColorFromBrush. + (WebCore::GraphicsContext::setColorFromPen): Added assertion. + (WebCore::GraphicsContext::drawLine): Added assertion. + (WebCore::GraphicsContext::drawEllipse): Get CGContext from the platformContext + function instead of currentCGContext, and changed to use fillColor. + (WebCore::GraphicsContext::drawArc): Ditto. + (WebCore::GraphicsContext::drawConvexPolygon): Ditto. + (WebCore::setCompositeOperation): Changed to global function and also changed + to do the work here -- no need to use WebCoreImageRendererFactory. + (WebCore::GraphicsContext::drawImage): Move most of this into GraphicsContext.cpp. + Remove the void* context parameter. Changed to take rects instead of separate coordinates. + (WebCore::GraphicsContext::fillRect): Changed to take color instead of Brush. + (WebCore::GraphicsContext::addClip): Added assertion. + (WebCore::GraphicsContext::addRoundedRectClip): Get CGContextRef from the platformContext + function instead of currentCGContext. + (WebCore::GraphicsContext::createRenderingDeviceContext): Ditto. + (WebCore::GraphicsContext::beginTransparencyLayer): Ditto. + (WebCore::GraphicsContext::endTransparencyLayer): Ditto. + (WebCore::GraphicsContext::setShadow): Change to take size instead of x,y. Also get + CGCOntextRef from the platformContext function instead of currentCGContext. + (WebCore::GraphicsContext::clearShadow): Get CGContextRef from the platformContext + function instead of currentCGContext. + (WebCore::GraphicsContext::platformContext): Added. Returns m_data->m_cgContext. + + * platform/mac/ImageMac.mm: + (WebCore::fillSolidColorInRect): Updated for change in CompositeOperator type. + (WebCore::Image::checkForSolidColor): Ditto. + (WebCore::Image::draw): Removed void* context parameter and replaced it with + a GraphicsContext* parameter. Renamed from drawInRect. + (WebCore::Image::drawTiled): Ditto. Renamed from tileInRect and scaleAndTileInRect. + + * platform/mac/PDFDocumentImage.h: Updated for change in CompositeOperator type. + * platform/mac/PDFDocumentImage.mm: (WebCore::PDFDocumentImage::draw): Ditto. + + * platform/mac/WidgetMac.mm: + (WebCore::Widget::lockDrawingFocus): Changed to return a GraphicsContext*. + (WebCore::Widget::unlockDrawingFocus): Changed to take a GraphicsContext*. + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::selectionRect): Changed to pass IntPoint. + (WebCore::InlineTextBox::paint): Changed to pass IntSize. + (WebCore::InlineTextBox::paintSelection): More of the same. + (WebCore::InlineTextBox::paintMarkedTextBackground): Ditto. + (WebCore::InlineTextBox::paintDecoration): Ditto. + (WebCore::InlineTextBox::paintSpellingMarker): Ditto. + (WebCore::InlineTextBox::paintTextMatchMarker): Ditto. + (WebCore::InlineTextBox::paintMarkedTextUnderline): Ditto. + (WebCore::InlineTextBox::positionForOffset): Ditto. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::fillHorizontalSelectionGap): Ditto. + (WebCore::RenderBlock::fillVerticalSelectionGap): Ditto. + (WebCore::RenderBlock::fillLeftSelectionGap): Ditto. + (WebCore::RenderBlock::fillRightSelectionGap): Ditto. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintBackgroundExtended): Ditto. + (WebCore::RenderBox::outlineBox): Ditto. + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paint): Ditto. + * rendering/RenderLayer.cpp: + (WebCore::setClip): Take out ifdefs. We'll do that inside GraphicsContext instead. + (WebCore::restoreClip): Ditto. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBorder): More of the same. + (WebCore::RenderObject::paintBorderImage): Ditto. + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::paintDecorations): Ditto. + (WebCore::EllipsisBox::paint): Ditto. + * rendering/render_list.cpp: + (WebCore::RenderListMarker::paint): Ditto. + + * rendering/render_frames.cpp: (WebCore::RenderFrameSet::userResize): Set up a graphics + context by calling lockDrawingFocus. Also changed a color here to be a constant. + + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawImage): Update for parameter type changes. + (WebCore::GraphicsContext::drawScaledAndTiledImage): + (WebCore::GraphicsContext::setFocusRingClip): + (WebCore::GraphicsContext::clearFocusRingClip): + * platform/cairo/ImageCairo.cpp: + (WebCore::setCompositingOperation): + (WebCore::Image::tileInRect): + (WebCore::Image::scaleAndTileInRect): + +2006-04-20 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin. + + WebCore part of: + - fix http://bugs.webkit.org/show_bug.cgi?id=8276 + REGRESSION (NativeTextField): Pasting a Finder item into a text field results in + a file: URL being pasted instead of just the file name + - fix http://bugs.webkit.org/show_bug.cgi?id=8283 + REGRESSION: File's path doesn't appear after dragging file into input field + + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge isDragCaretRichlyEditable]): Added. + * manual-tests/plain-text-paste.html: Added. + * manual-tests/resources/plain-text-paste: Added. + * manual-tests/resources/plain-text-paste/1.textClipping: Added. + * manual-tests/resources/plain-text-paste/2.textClipping: Added. + * manual-tests/resources/plain-text-paste/3.gif: Added. + * manual-tests/resources/plain-text-paste/4.txt: Added. + * manual-tests/resources/plain-text-paste/5.webloc: Added. + +2006-04-20 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=8505 + eliminate WebCoreGraphics bridge, demonstrate new SystemInterface technique + + * platform/mac/WebCoreGraphicsBridge.h: Removed. + * platform/mac/WebCoreGraphicsBridge.m: Removed. + * platform/mac/WebCoreSystemInterface.h: Added. + * platform/mac/WebCoreSystemInterface.mm: Added. + + * WebCore.exp: Add new SystemInterface globals, remove WebCoreGraphicsBridge. + + * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files. + Sorted files. + + * bridge/mac/FrameMac.mm: Removed unneeded include of WebCoreGraphicsBridge.h. + + * platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::setDragImage): + Moved code from WebGraphicsBridge here, using WebCoreSystemInterface so we can + call wkSetDragImage. + + * platform/mac/GraphicsContextMac.mm: (WebCore::GraphicsContext::drawFocusRing): + Moved code from WebGraphicsBridge here, using WebCoreSystemInterface so we can + call wkDrawFocusRing. + + * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextField): + Call wkDrawBezeledTextFieldCell from WebCoreSystemInterface instead of using + WebGraphicsBridge to do the same thing. + +2006-04-20 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=8273 + REGRESSION: Read only input text field renders at the wrong height when value attribute is not present + + Test: fast/forms/input-readonly-empty.html + + * rendering/RenderBlock.h: Added hasLineIfEmpty. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::hasLineIfEmpty): Added. Checks for rootEditableElement as well as + a shadowNode who has an input element as a parent. + (WebCore::RenderBlock::getBaselineOfLastLineBox): Calls hasLineIfEmpty instead of just checking for the rootEditableElement. + * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): ditto. + +2006-04-20 Darin Adler <darin@apple.com> + + Reviewed by Timothy. + + Removed TO_NODE_OFFSET and TO_NODE_ADDRESS macros. These can just be done inline with pointer math. + + * platform/DeprecatedString.cpp: + (allocateNode): + (freeHandle): + +2006-04-19 Adele Peterson <adele@apple.com> + + Rubber-stamped by Darin. + + Removed optimizations recently added in setInnerHTML and setInnerText. The setInnerHTML change broke a first-letter style test. + The setInnerText change caused an empty text node to get added when setting inner text to an empty string. The bug that this + change went in with remains fixed. + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::setInnerHTML): + (WebCore::HTMLElement::setInnerText): + +2006-04-19 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Haytt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6770 + REGRESSION: Incomplete repaint when block with clipping grows + + * manual-tests/repaint-resized-overflow.html: Added. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::computeRepaintRects): Set the m_repaintOverflowOnResize + flag to true if our object itself needs layout or if we're an overflow + and have a normal child that needs layout, in which case if we end up + resizing it will be because of the child, and that child might have not repainted + itself correctly during its own layout. + (WebCore::RenderLayer::updateLayerPositions): Do a full repaint if + m_repaintOverflowOnResize is set and we resized but didn't move. + * rendering/RenderLayer.h: + +2006-04-19 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8352 + CSS text-shadow does not repaint completely when changed + + * manual-tests/dynamic-shadow.html: Added. + * rendering/render_style.cpp: + (WebCore::RenderStyle::diff): Changed to return Layout when text-shadow + changes. + +2006-04-19 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Added readOnly methods for HTMLInputElement and HTMLTextAreaElement so the DOM bindings can call + a method with the same name. This will make it easier to autogenerate the DOM bindings in the future. + + * html/HTMLInputElement.h: (WebCore::HTMLInputElement::readOnly): Added. Calls isReadOnlyControl. + * html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::readOnly): ditto. + * bindings/js/kjs_html.cpp: + (KJS::JSHTMLElement::inputGetter): Calls readOnly instead of isReadOnlyControl. + (KJS::JSHTMLElement::textAreaGetter): ditto. + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLInputElement readOnly]): ditto. + (-[DOMHTMLTextAreaElement readOnly]): Calls readOnly instead of getting the attribute directly. + (-[DOMHTMLTextAreaElement setReadOnly:]): Calls setReadOnly instead of setting the attribute directly. + +2006-04-19 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + Fix for: http://bugs.webkit.org/show_bug.cgi?id=8297 + REGRESSION: Input element extends outside of DIV element at http://www.macdock.com/ + + * platform/Font.h: Added runRounding parameter to floatWidth. + * platform/mac/FontMac.mm: (WebCore::Font::floatWidth): ditto. + * platform/win/FontWin.cpp: (WebCore::Font::floatWidth): ditto. + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth): + Use new floatWidth parameter to turn off run rounding. + +2006-04-19 Adele Peterson <adele@apple.com> + + Reviewed by Beth. + + Fix for Windows build. + + * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::determineState): + Use isReadOnlyControl instead of isReadOnly. + + 2006-04-19 Adele Peterson <adele@apple.com> + + Reviewed by Beth. + + Fix to make readonly text fields have dimmed borders to match AppKit behavior. + + Test: fast/forms/input-readonly-dimmed.html + + * dom/Node.h: (WebCore::Node::isReadOnlyControl): Changed from const version of isReadOnly. + * dom/Node.cpp: + (WebCore::Node::isReadOnlyNode): Changed from isReadOnly. + (WebCore::Node::setNodeValue): Uses isReadOnlyNode instead of isReadOnly. + (WebCore::Node::checkSetPrefix): ditto. + (WebCore::Node::checkAddChild): ditto. + * dom/Attr.cpp: (WebCore::Attr::setValue): ditto. + * dom/CharacterData.cpp: + (WebCore::CharacterData::setData): ditto. + (WebCore::CharacterData::appendData): ditto. + (WebCore::CharacterData::checkCharDataOperation): ditto. + * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChild): ditto. + * dom/Element.cpp: (WebCore::Element::setAttribute): ditto. + * dom/NamedAttrMap.cpp: + (WebCore::NamedAttrMap::setNamedItem): ditto. + (WebCore::NamedAttrMap::removeNamedItem): ditto. + * dom/NamedAttrMap.h: (WebCore::NamedAttrMap::isReadOnlyNode): ditto. + * dom/NamedNodeMap.h: (WebCore::NamedNodeMap::isReadOnlyNode): ditto. + * dom/Range.cpp: + (WebCore::Range::checkDeleteExtract): ditto. + (WebCore::Range::containedByReadOnly): ditto. + * dom/Text.cpp: (WebCore::Text::splitText): ditto. + * dom/dom_xmlimpl.cpp: (WebCore::ProcessingInstruction::setData): ditto. + + * bindings/js/kjs_html.cpp: + (KJS::JSHTMLElement::inputGetter): Uses isReadOnlyControl instead of isReadOnly. + (KJS::JSHTMLElement::textAreaGetter): ditto. + * bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement readOnly]): ditto. + * rendering/render_form.cpp: + (WebCore::RenderLineEdit::updateFromElement): ditto. + (WebCore::RenderTextArea::updateFromElement): ditto. + * rendering/RenderTextField.cpp: + (WebCore::RenderTextField::createDivStyle): ditto. + (WebCore::RenderTextField::updateFromElement): ditto. + + * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::parseMappedAttribute): + When readonly attribute changes, update the theme so the control will repaint. + * html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::isReadOnlyControl): Renamed from readOnly. + * html/HTMLInputElement.h: Removed isReadOnly, since isReadOnlyControl now exists on HTMLGenericFormElement. + * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isReadOnlyControl): Renamed from isReadOnly. + * rendering/RenderTheme.h: (WebCore::): Added ReadOnlyState to ControlState enum. + * rendering/RenderThemeMac.h: Removed NSTextFieldCell since it was only being used to store the enabled state. + Removed setTextFieldState since it was updating the enabled state of the cell, which is only used in one place. + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::RenderThemeMac): No longer initialized the NSTextFieldCell. + (WebCore::RenderThemeMac::adjustRepaintRect): No longer calls setTextFieldState. + (WebCore::RenderThemeMac::paintTextField): Uses the enabled state and the readonly state to determine whether to draw + a dimmed version of the aqua border. + +2006-04-19 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=8467 Block + with percentage background-size doesn't repaint properly when it + grows + + * manual-tests/backgroundSizeRepaint.html: Added. + * manual-tests/resources/apple.jpg: Added. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::mustRepaintBackgroundOrBorder): We must + return true if we have a percentage background-size. + +2006-04-19 David Hyatt <hyatt@apple.com> + + Fix for a regression in the new text fields. Don't allow the repaint + rect created by dynamic line layout changes to spill out of an overflow + area's clip region. + + (There is no test, since we have no way of testing cases where we repaint + too much rather than too little.) + + Reviewed by darin + + * rendering/bidi.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + +2006-04-19 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Fix for bug 8449, incomplete repaint of table cell that moved. This + fix also solves some of the textfield repainting problems (e.g., on + google.com and lxr.mozilla.org). + + Reviewed by hyatt + + * manual-tests/table-cell-move.html: Added. + * rendering/RenderCanvas.cpp: + (WebCore::RenderCanvas::repaintViewRectangle): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + +2006-04-19 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Eric, landed by ap. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8469 + CRASH: WebCore::CSSParser::parseDashboardRegions when attr() is passed + + Test: fast/css/dashboard-regions-attr-crash.html + + * css/cssparser.cpp: + (WebCore::CSSParser::parseDashboardRegions): Added null check for args. + +2006-04-18 Rob Buis <buis@kde.org> + + Reviewed by eseidel & darin. Landed by eseidel. + + No automated tests possible (from javascript). + + Fix for http://bugs.webkit.org/show_bug.cgi?id=6664: + Inspector does not highlight SVG elements properly + + Make sure RenderObject::absoluteBoundingBoxRect works for + svg specific render objects by overriding absoluteRects. + This fixes highlighting in the Inspector of svg shapes, paths, + images and text. + + * kcanvas/RenderPath.cpp: + (WebCore::RenderPath::absoluteRects): + * kcanvas/RenderPath.h: + * kcanvas/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::getAbsoluteRepaintRect): + (WebCore::RenderSVGImage::absoluteRects): + * kcanvas/RenderSVGImage.h: + * kcanvas/RenderSVGText.cpp: + (WebCore::RenderSVGText::absoluteRects): + * kcanvas/RenderSVGText.h: + +2006-04-17 Rob Buis <buis@kde.org> + + Reviewed by eseidel. Landed by eseidel. + + Test: svg/custom/tref-update.svg + + Fix for http://bugs.webkit.org/show_bug.cgi?id=6427: + <tref> element not implemented + + Implementation of <tref> element. + + * WebCore.xcodeproj/project.pbxproj: + * ksvg2/svg/SVGTRefElement.cpp: Added. + (SVGTRefElement::SVGTRefElement): + (SVGTRefElement::~SVGTRefElement): + (SVGTRefElement::parseMappedAttribute): + (SVGTRefElement::closeRenderer): + (SVGTRefElement::childShouldCreateRenderer): + (SVGTRefElement::createRenderer): + * ksvg2/svg/SVGTRefElement.h: Added. + (WebCore::SVGTRefElement::rendererIsNeeded): + * ksvg2/svg/SVGTSpanElement.cpp: + (SVGTSpanElement::childShouldCreateRenderer): + * ksvg2/svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::childShouldCreateRenderer): + * ksvg2/svg/svgtags.in: + +2006-04-18 Darin Adler <darin@apple.com> + + * rendering/render_form.cpp: (WebCore::RenderSelect::updateFromElement): + Roll out accidentally-landed change for bug 8398. + +2006-04-18 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin. + + Fix for a leak exposed by background-size and detected by the + layout tests. + + * css/css_valueimpl.cpp: + (WebCore::CSSPrimitiveValue::cleanup): We must deref pairs. + +2006-04-18 Beth Dakin <bdakin@apple.com> + + Reviewed by Eric. + + Build fix for Windows. Just a few typos from background-size patch. + + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawTiledImage): + * platform/cairo/ImageCairo.cpp: + (WebCore::Image::tileInRect): + +2006-04-18 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt. + + Implementation of CSS3 background-size property. See + http://bugs.webkit.org/show_bug.cgi?id=8353 for details. + + * Viewer/ImageView.cpp: Adjust parameters to drawTiledImage() + * css/CSSComputedStyleDeclaration.cpp: Add background-size + * css/CSSPropertyNames.in: Same. + * css/css_valueimpl.h: Add a constructor for Pair that takes the + two halves of the pair. + * css/cssparser.cpp: Parse background-size. Still need to take care + of parsing the shorthand. + * css/cssparser.h: Same. + * css/cssstyleselector.cpp: Address background-size. + * css/cssstyleselector.h: Same. + * platform/GraphicsContext.h: drawTiledImage() now takes the + tileSize so that it can appropriately scale. + * platform/Image.h: Same as above, but for tileInRect() + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawTiledImage): + * platform/cairo/ImageCairo.cpp: + (WebCore::Image::tileInRect): Take care of scaling image in + necessary in Cairo. + * platform/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::drawTiledImage): + * platform/mac/ImageMac.mm: + (WebCore::Image::tileInRect): Take care of scaling image if + necessary in CG. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintBackgroundExtended): Compute appropriate + scale if background-size is set. If no-repeat is set, just call + drawImage() directly. + * rendering/render_style.cpp: Add background-size to the style. + (WebCore::m_next): + (WebCore::BackgroundLayer::BackgroundLayer): + (WebCore::BackgroundLayer::operator=): + (WebCore::BackgroundLayer::operator==): + (WebCore::BackgroundLayer::fillUnsetProperties): + (WebCore::BackgroundLayer::cullEmptyLayers): + * rendering/render_style.h: Same. + (WebCore::BackgroundLayer::backgroundSize): + (WebCore::BackgroundLayer::isBackgroundSizeSet): + (WebCore::BackgroundLayer::setBackgroundSize): + (WebCore::BackgroundLayer::clearBackgroundSize): + (WebCore::RenderStyle::backgroundSize): + (WebCore::RenderStyle::initialBackgroundSize): + +2006-04-17 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::moveParagraph): The placeholder that's inserted + to keep content from collapsing due to pruning was inserted at the position after + the moved paragraph. That's only appropriate when moving the paragraph backward + into the previous paragraph. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): The last paragraph of the incoming + fragment should be merged with the paragraph after the end of the selection being pasted + into even if the incoming fragment has only one block. This fixes a bug and gets + rid of a use of the info gathered during the test insertion. + +2006-04-17 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=8407 + REGRESSION (NativeTextField): Leading and trailing spaces trimmed from text field value attribute + + Test: fast/forms/input-spaces.html + + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle): + Use white-space:pre for the inner div to avoid collapsing spaces in the text field. + +2006-04-18 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8437 + iExploder(#293): Crash in StringImpl::hash() + + * manual-tests/applet-param-no-name.html: Added. + * rendering/RenderApplet.cpp: + (WebCore::RenderApplet::createWidgetIfNecessary): Skip param elements with + empty name. + +2006-04-18 Darin Adler <darin@apple.com> + + - try to fix the Windows build + + * platform/cairo/GraphicsContextCairo.cpp: (WebCore::setColor): + Update for changes to getRGBA. + +2006-04-17 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8440 + iExploder(#3327): Crash in StringImpl::initWithQChar() + + Test: fast/parser/number-sign-in-map-name.html + + * html/html_imageimpl.cpp: + (WebCore::HTMLMapElement::parseMappedAttribute): Fixed handling of names starting with a '#'. + +2006-04-17 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fix for: http://bugs.webkit.org/show_bug.cgi?id=8269 + REGRESSION: disabled text field does not display greyed-out text + + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle): + For disabled text fields, lighten or darken text color based on background color. + Tries to get as close as possible to logic in AppKit for old text fields. + * platform/Color.h: Removed hsv and setHsv since they were just used within Color.cpp. + * platform/Color.cpp: + (WebCore::parseHexColor): Cleanup. + (WebCore::differenceSquared): Added. Returns the difference squared of two colors. + (WebCore::convertRGBToHSV): Added static function. Replaces hsv and setHSV, and fixes bug in old implementation of the algorithm. + (WebCore::convertHSVToRGB): ditto. + (WebCore::Color::light): No longer takes in a factor, since all callers use the same factor. Uses new conversion functions. + (WebCore::Color::dark): ditto. + * rendering/InlineTextBox.cpp: Removed simpleDifferenceBetweenColors. + (WebCore::correctedTextColor): Uses differenceSquared instead of simpleDifferenceBetweenColors. + +2006-04-17 David Hyatt <hyatt@apple.com> + + Fix for bug 8270, text highlights outside of textfield when it shouldn't. + + Reviewed by darin + + Added fast/forms/input-double-click-selection-gap-bug.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::fillInlineSelectionGaps): + +2006-04-17 David Hyatt <hyatt@apple.com> + + Fix for bug 8848, caret off by 1 pixel on numerous pixel tests. + + Reviewed by darin + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::positionForOffset): + * rendering/RenderText.cpp: + (WebCore::RenderText::caretRect): + +2006-04-17 Timothy Hatcher <timothy@apple.com> + + Reviewed by Darin. + + <rdar://problem/4506601> TOT WebCore fails to build ppc64 + + Switch many CG calls to use CGFloat for colors and gradients + + * bindings/objc/DOMCSS.mm: + (-[DOMRGBColor dealloc]): cast _internal to uintptr_t + (-[DOMRGBColor finalize]): cast _internal to uintptr_t + (-[DOMRGBColor red]): cast _internal to uintptr_t + (-[DOMRGBColor green]): cast _internal to uintptr_t + (-[DOMRGBColor blue]): cast _internal to uintptr_t + (-[DOMRGBColor alpha]): cast _internal to uintptr_t + (-[DOMRGBColor _color]): cast _internal to uintptr_t + * bridge/mac/FrameMac.mm: + (WebCore::regExpForLabels): use CFIndex as the type returned from indexOfObject: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge baseWritingDirectionForSelectionStart]): workaround for <rdar://problem/4509035> + * config.h: define CGFloat if it isn't defined already + * html/CanvasGradient.cpp: + (WebCore::CanvasGradient::addColorStop): + (WebCore::gradientCallback): + (WebCore::CanvasGradient::platformShading): + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setShadow): + (WebCore::CanvasRenderingContext2D::applyShadow): + (WebCore::CanvasRenderingContext2D::applyStrokePattern): + (WebCore::CanvasRenderingContext2D::applyFillPattern): + * html/CanvasStyle.cpp: + (WebCore::CanvasStyle::applyStrokeColor): + (WebCore::CanvasStyle::applyFillColor): + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (WebCore::alphaImageForImage): + (WebCore::KCanvasFEColorMatrixQuartz::getCIFilter): + * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: + (WebCore::applyLuminanceToAlphaFilter): + (WebCore::applyExpandAlphatoGrayscaleFilter): + (WebCore::transformImageIntoGrayscaleMask): + * kcanvas/device/quartz/KCanvasPathQuartz.mm: + (WebCore::scratchContext): + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + (WebCore::cgGradientCallback): + (WebCore::CGShadingRefForLinearGradient): + (WebCore::CGShadingRefForRadialGradient): + (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientStopsCache): + * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: + (WebCore::): + * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: + (WebCore::KRenderingPaintServerPatternQuartz::setup): + * kcanvas/device/quartz/QuartzSupport.mm: + (WebCore::applyStrokeStyleToContext): + * kwq/WebCoreAXObject.mm: + (CreateCGColorIfDifferent): + * platform/Color.cpp: + (WebCore::Color::getRGBA): new name, was getRgbaF. getRGBA uses float and has a double overload + * platform/Color.h: + * platform/mac/ClipboardMac.h: no need to define NSDragOperation + * platform/mac/ColorMac.mm: + (+[WebCoreControlTintObserver WebCore]): + * platform/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::drawLine): + * platform/mac/ImageMac.mm: + (WebCore::Image::checkForSolidColor): + (WebCore::Image::tileInRect): + (WebCore::Image::scaleAndTileInRect): + * platform/mac/TextEncodingMac.cpp: + (WebCore::TextEncoding::fromUnicode): + +2006-04-17 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=8402> + Fix interchange newline handling and avoid use of test rendering info + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + Fixed bugs in handling of interchange newlines at the end of incoming + fragments. Removed the use of !fragment.isBlockFlow since it isn't + correct and relies on information gathered during the test insertion, which + we're trying to get rid of. + * editing/VisiblePosition.h: + (WebCore::VisiblePosition::rootEditableElement): Added for convenience. + +2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8408 + Paint the highlight behind selected list markers + + Test: fast/lists/markers-in-selection.html + + * rendering/RenderObject.h: Added selectionColorImageOverlayAlpha constant - + the maximum opacity of the selection color when painted over images. + * rendering/render_list.cpp: + (WebCore::RenderListMarker::RenderListMarker): + (WebCore::RenderListMarker::paint): Paint the selection highlight + if selected: over the marker for image markers, under the marker for all other + markers. + (WebCore::RenderListMarker::setSelectionState): Added. + (WebCore::RenderListMarker::selectionRect): Added. + (WebCore::RenderListMarker::selectionColor): Added. Ensures that the selection + color is transparent for image markers. + * rendering/render_list.h: + (WebCore::RenderListMarker::selectionState): + (WebCore::RenderListMarker::canBeSelectionLeaf): + * rendering/render_replaced.cpp + (WebCore::RenderReplaced::selectionColor): Changed to use the selectionColorImageOverlayAlpha + constant. + +2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8420 + iExploder(#12): Assertion failure in RenderContainer::removeChildNode + + Test: fast/forms/button-inner-block-reuse.html + + Buttons have a distinguished anonymous child that holds all their other + descendants. Descendants ended up in a sibling anonymous block as the + initial anonymous child was being reused to hold the initial part of an + inline that got split. + + * rendering/RenderInline.cpp: + (WebCore::RenderInline::splitFlow): Check if the anonymous block's parent + allows us to reuse it. + * rendering/RenderObject.h: + (WebCore::RenderObject::allowsReusingAnonymousChild): Added. Returns true. + * rendering/render_button.h: + (WebCore::RenderButton::allowsReusingAnonymousChild): Added. Returns false. + +2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Justin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8394 + Editable region does not accept dropped text if there is no selection + + Test: editing/pasteboard/drop-text-without-selection.html + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge documentFragmentWithText:]): Changed to allow + creating a fragment regardless of the selection. + +2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin. + + - WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=8324 + REGRESSION: textarea :focus not applied immediately + + * bridge/mac/WebCoreFrameBridge.h: + * kwq/KWQComboBox.mm: + (-[KWQPopUpButton becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder:. + (-[KWQPopUpButton resignFirstResponder]): Cleaned up. + * kwq/KWQListBox.mm: Ditto. + (-[KWQTableView becomeFirstResponder]): + (-[KWQTableView resignFirstResponder]): + * kwq/KWQSlider.mm: + (-[KWQSlider becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder: and + cleaned up. + (-[KWQSlider resignFirstResponder]): Cleaned up. + * platform/mac/WebCoreTextArea.mm: + (-[WebCoreTextView becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder:. + (-[WebCoreTextView resignFirstResponder]): Cleaned up. + * platform/mac/WebCoreTextField.mm: + (-[KWQTextFieldController setHasFocus:]): Added call to formControlIsBecomingFirstResponder:. + * manual-tests/textarea-focus.html: Added. + +2006-04-16 Darin Adler <darin@apple.com> + + Reviewed by Adele and Justin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8298 + REGRESSION: Crash occurs when attempting to drag selection into + Depart/Return input fields at http://www.travelocity.com/ + - remove the mutation event listener that's installed all the time, + since it slows things down a bit + + Calling SelectionController::nodeWillBeRemoved from Document::notifyBeforeNodeRemoval + fixes the crash, which was happening because the call that was removing the text + node, removeChildren, does not send a "node removed" mutation event (it sends a + "subtree modified" mutation event instead). So this change alone fixes the crash. + + But I also changed setInnerText to not blow away the text node each time the value + is changed, and that makes the test case behave even better -- you don't even lose + the selection; it works as it did with the NSTextField-based text field. + + * manual-tests/input-empty-on-focus.html: Added. + + * page/Frame.h: Tweaked a few comments and functions related to selection. + * page/Frame.cpp: (WebCore::Frame::dragCaret): Made non-const. + + * dom/Document.cpp: (WebCore::Document::notifyBeforeNodeRemoval): + Call nodeWillBeRemoved on the two selection controllers before removing + a node from the document. + + * editing/SelectionController.h: Tweak formatting. Remove MutationListener + class and m_mutationListener field. + * editing/SelectionController.cpp: + (WebCore::SelectionController::SelectionController): Remove code to set up + the mutation event listener. + (WebCore::SelectionController::setSelection): Remove code to maintain the + mutation event listener. + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::setInnerHTML): In cases where the container has only a + single child use replaceChild, and in cases where the HTML being inserted + also has only a single child and both are text nodes use setData. It's common + to use setInnerHTML to set something that's just text. + (WebCore::HTMLElement::setInnerText): Same as above, but simpler since the + thing we're replacing with is always text. + +2006-04-16 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8417 + make-css-file-arrays.pl hangs when run on Linux + + * css/make-css-file-arrays.pl: Remove the "-" parameter from the invocation of cpp, + which means "send output to stdout". It's optional on Mac OS X, and is causing a + hang on Linux. + * rendering/RenderArena.cpp: Added a missing include of <assert.h>. + +2006-04-15 Darin Adler <darin@apple.com> + + - removed references to a couple files that are obsolete + but were still in the Windows project file + + * WebCore.vcproj/WebCore/WebCore.vcproj: Remove kjs_views.h and .cpp. + +2006-04-15 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8405 + REGRESSION: Web Inspector's Style pane is blank + + * bindings/js/kjs_window.cpp: + (KJS::Window::isSafeScript): Use isEmpty() instead of isNull() for checking + the domain to determine if the document in a local file. + +2006-04-14 David Hyatt <hyatt@apple.com> + + CSS vendor-specific property/value cleanup. Properly qualify background-clip, + background-origin, border-image and the border-radius properties. Make sure + our overflow extensions of marquee and overlay are qualified as well. Rename + the -khtml- extension to -webkit. + + Reviewed by beth + + * bindings/js/kjs_css.cpp: + (KJS::cssPropertyName): + * bindings/objc/DOMCSS.mm: + (-[DOMCSSStyleDeclaration _fontSizeDelta]): + (-[DOMCSSStyleDeclaration _setFontSizeDelta:]): + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLInputElement _setAutofilled:]): + * bridge/mac/FrameMac.h: + * bridge/mac/FrameMac.mm: + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::): + (WebCore::valueForTextAlign): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSGrammar.y: + * css/CSSPropertyNames.in: + * css/CSSValueKeywords.in: + * css/css_base.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/css_valueimpl.cpp: + (WebCore::): + * css/css_valueimpl.h: + * css/cssparser.cpp: + (WebCore::CSSParser::parseRule): + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseColor): + (WebCore::CSSParser::parseDeclaration): + (WebCore::CSSParser::parseBackgroundShorthand): + (WebCore::CSSParser::parseBackgroundColor): + (WebCore::CSSParser::parseBackgroundProperty): + (WebCore::CSSParser::parseFontFamily): + (WebCore::CSSParser::parseShadow): + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::applyDeclarations): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): + * css/cssstyleselector.h: + * css/html4.css: + * css/quirks.css: + * css/tokenizer.flex: + * editing/ApplyStyleCommand.cpp: + (WebCore::StyleChange::init): + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): + (WebCore::ApplyStyleCommand::removeInlineStyle): + * editing/CompositeEditCommand.cpp: + (WebCore::blockPlaceholderClassString): + * editing/JSEditor.cpp: + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::fixupNodeStyles): + (WebCore::styleForNode): + * editing/htmlediting.cpp: + (WebCore::rebalanceWhitespaceInTextNode): + * html/HTMLElement.cpp: + (WebCore::HTMLElement::addHTMLAlignment): + (WebCore::HTMLElement::setContentEditable): + * html/html_blockimpl.cpp: + (WebCore::HTMLDivElement::parseMappedAttribute): + (WebCore::HTMLParagraphElement::parseMappedAttribute): + (WebCore::HTMLMarqueeElement::parseMappedAttribute): + * html/html_inlineimpl.cpp: + (WebCore::HTMLFontElement::parseMappedAttribute): + * html/html_tableimpl.cpp: + (WebCore::HTMLTablePartElement::parseMappedAttribute): + (WebCore::HTMLTableCellElement::parseMappedAttribute): + * page/Frame.cpp: + (WebCore::Frame::canMouseDownStartSelect): + * page/Frame.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::draggableNode): + +2006-04-14 Eric Seidel <eseidel@apple.com> + + Reviewed by beth. + + Fix win32 build. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * page/FramePrivate.h: + +2006-04-04 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Fix build-warnings in cairo code. + http://bugs.webkit.org/show_bug.cgi?id=8176 + + * platform/cairo/cairo/src/cairo-win32-surface.c: + (_cairo_win32_print_gdi_error): + (_cairo_win32_surface_create_for_dc): + (_composite_alpha_blend): + (cairo_win32_surface_create): + * platform/cairo/pixman/src/iccolor.c: + (pixman_pixel_to_color): + +2006-04-14 David Hyatt <hyatt@apple.com> + + Fix for 8333, make sure newlines in whitespace:pre (and friends) get + line boxes created for them. This resolves all the weird selection/navigation + issues that arise by not creating lines (and thus not having navigable positions + on those lines). + + This checkin is also removing all of the layout test hacks that have piled + up, so layout test results are being regenerated completely. + + Reviewed by eric + + * dom/Position.cpp: + (WebCore::Position::downstream): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::moveParagraph): + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::doApply): + * editing/visible_units.cpp: + (WebCore::startOfParagraph): + (WebCore::endOfParagraph): + * kwq/RenderTreeAsText.cpp: + (getTagName): + (operator<<): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::selectionState): + (WebCore::InlineTextBox::isLineBreak): + (WebCore::InlineTextBox::nodeAtPoint): + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::offsetForPosition): + (WebCore::InlineTextBox::positionForOffset): + * rendering/InlineTextBox.h: + * rendering/RenderBR.cpp: + * rendering/RenderBR.h: + * rendering/RenderText.cpp: + (WebCore::RenderText::atLineWrap): + (WebCore::RenderText::caretRect): + (WebCore::RenderText::height): + (WebCore::RenderText::inlineBox): + * rendering/bidi.cpp: + (WebCore::RenderBlock::computeHorizontalPositionsForLine): + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::findNextLineBreak): + * rendering/render_line.h: + (WebCore::InlineBox::isLineBreak): + +2006-04-13 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - moved a few things out of kwq and cleaned up the + Java-applet-related renderers + + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file location + and name changes. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * kwq/JavaAppletWidget.h: Moved. + * kwq/JavaAppletWidget.mm: Moved. + * kwq/RegularExpression.cpp: Moved. + * kwq/RegularExpression.h: Moved. + * kwq/RenderTreeAsText.cpp: Moved. + * kwq/RenderTreeAsText.h: Moved. + * rendering/render_applet.cpp: Moved. + * rendering/render_applet.h: Moved. + + * bridge/JavaAppletWidget.h: Moved here. + * bridge/mac/JavaAppletWidget.mm: Moved here. + * platform/RegularExpression.cpp: Moved here. + * platform/RegularExpression.h: Moved here. + * rendering/RenderTreeAsText.cpp: Moved here. + * rendering/RenderTreeAsText.h: Moved here. + + * rendering/RenderApplet.h: Moved here and made changes. + Removed unused element() function. + * rendering/RenderApplet.cpp: Moved here and made changes. + (WebCore::RenderApplet::RenderApplet): Changed parameter type to + be more precise (HTMLAppletElement). + (WebCore::RenderApplet::intrinsicWidth): Removed unnecessary type + cast and simplified. + (WebCore::RenderApplet::intrinsicHeight): Ditto. + (WebCore::RenderApplet::createWidgetIfNecessary): Straightened out + the if statements and changed to use node() instead of element(). + (WebCore::RenderApplet::layout): Removed unneeded check before + calling createWidgetIfNecessary. + + * rendering/RenderEmptyApplet.h: Moved here and made changes. + Removed unneeded overrides of intrinsicWidth and intrinsicHeight. + * rendering/RenderEmptyApplet.cpp: Moved here and made changes. + (WebCore::RenderEmptyApplet::RenderEmptyApplet): Added code to + set the intrinsic width and height. + + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::RenderWidget): Initialize m_widget + with contructor syntax. + (WebCore::RenderWidget::paint): Changed _tx and _ty to be just + tx and ty. Rearranged the code so the transparent wash will draw + even if m_widget is 0. + + * html/html_objectimpl.cpp: Update includes for new file names. + +2006-04-12 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin. + + - Fixed <rdar://problem/4478467> document.defaultView should return + the window object + + Also made part of the window object autogenerated by IDL file. + + * DerivedSources.make: Added /page to IDL file search path, added + JSDOMWindow.h, removed kjs_views.lut.h + * WebCore.xcodeproj/project.pbxproj: Added missing files, removed + obsolete files + * bindings/js/kjs_dom.cpp: + * bindings/js/kjs_events.cpp: + * bindings/js/kjs_proxy.cpp: + (WebCore::KJSProxy::initScriptIfNeeded): + * bindings/js/kjs_views.cpp: Removed. + * bindings/js/kjs_views.h: Removed. + * bindings/js/kjs_window.cpp: Removed document property -- it now + belongs to JSDOMWindow. Added toJS and toDOMWindow. + (KJS::Window::Window): + (KJS::Window::impl): + (KJS::Window::getValueProperty): + (KJS::Window::clear): Added call to setPrototype to ensure + that the prototype gets cleared during navigation. (Previously + this wasn't an issue because the window object had no real prototype.) + (WebCore::toJS): + (WebCore::toDOMWindow): + * bindings/js/kjs_window.h: + (KJS::Window::): + * bindings/objc/DOMCSS.mm: Added NULL checks for the AbstractView + (Presumably this is an issue after the window is closed.) Typedef-ed + AbstractView as DOMWindow. I could have just replaced AbstractView + with DOMWindow, but I think it's clearer to say, "There's this thing + called the AbstractView, but really it's just the window." + (-[DOMDocument getComputedStyle::]): + (-[DOMDocument getMatchedCSSRules::]): + * bindings/objc/DOMViews.mm: + * bindings/objc/DOMViewsInternal.h: + * bindings/scripts/CodeGeneratorJS.pm: Removed unused + GetLegacyImplementationIncludes. Added support for DOMWindow and new + "DoNotCache" attribute. Replaced C macros with text because (1) it + makes the generated source easier to read and debug and (2) it made + it much easier to implement the DoNotCache attribute. + * bindings/scripts/IDLParser.pm: Return a hash reference instead of + a hash, because otherwise an interface with more than one attribute + returns too many arguments to be processed. + * bridge/mac/FrameMac.mm: + * dom/AbstractView.cpp: Removed. + * dom/AbstractView.h: Removed. + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::defaultView): + * dom/Document.h: + * dom/Document.idl: + * dom/KeyboardEvent.idl: + * dom/MouseEvent.idl: + * dom/Position.cpp: + * dom/UIEvent.idl: + * dom/dom2_eventsimpl.h: + * page/DOMWindow.cpp: Added. + (WebCore::DOMWindow::DOMWindow): + (WebCore::DOMWindow::frame): + (WebCore::DOMWindow::disconnectFrame): + (WebCore::DOMWindow::document): + (WebCore::DOMWindow::getComputedStyle): + (WebCore::DOMWindow::getMatchedCSSRules): + * page/DOMWindow.h: Added. + * page/DOMWindow.idl: Added. + * page/Frame.cpp: + (WebCore::Frame::~Frame): Disconnect the new DOMWindow object in + addition to the Window object. Maybe we can unify this in the future. + (WebCore::Frame::tree): + (WebCore::Frame::domWindow): + * page/Frame.h: + * page/FramePrivate.h: + +2006-04-13 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7602 + Only use fixupChar for entities + + * html/HTMLTokenizer.cpp: Only use fixUpChar() when handling entities. + (WebCore::HTMLTokenizer::parseSpecial): + (WebCore::HTMLTokenizer::parseText): + (WebCore::HTMLTokenizer::parseTag): + (WebCore::HTMLTokenizer::write): + * platform/StreamingTextDecoder.cpp: + (WebCore::StreamingTextDecoder::convert): Remove the special case for Latin-1, because it is already handled + via effectiveEncoding(). + * platform/StreamingTextDecoder.h: Remove convertLatin1(). + +2006-04-13 Darin Adler <darin@apple.com> + + * platform/mac/GraphicsContextMac.mm: Fix one no-SVG compile problem by adding + a "using namespace std". + +2006-04-12 Darin Adler <darin@apple.com> + + Rubber-stamped by Anders. + + - fix Windows build + + * WebCore.vcproj/Image\ Viewer/Image\ Viewer.vcproj: Add loader directory. + + - use std::min/max exclusively intead of kMin/Max + - eliminate KWQDef.h since all it had left in it was kMin/Max + + * WebCore.vcproj/WebCore/WebCore.vcproj: Remove KWQDef.h. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * kwq/KWQDef.h: Removed. + + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::attributedString): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]): + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): + (WebCore::CSSStyleSelector::fontSizeForKeyword): + * dom/Document.cpp: + (WebCore::Document::minimumLayoutDelay): + (WebCore::Document::addMarker): + * dom/StyledElement.cpp: + (WebCore::StyledElement::addCSSColor): + * dom/xml_tokenizer.cpp: + (WebCore::OffsetBuffer::readOutBytes): + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::deleteInsignificantText): + * editing/TextIterator.cpp: + (WebCore::TextIterator::handleTextNode): + (WebCore::TextIterator::handleTextBox): + (WebCore::CharacterIterator::string): + (WebCore::findPlainText): + * editing/htmlediting.cpp: + (WebCore::rangeCompliantEquivalent): + * editing/markup.cpp: + (WebCore::renderedText): + * editing/visible_units.cpp: + (WebCore::startOfParagraph): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::parseMappedAttribute): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseComment): + (WebCore::HTMLTokenizer::parseEntity): + (WebCore::HTMLTokenizer::parseTag): + (WebCore::HTMLTokenizer::enlargeBuffer): + (WebCore::HTMLTokenizer::enlargeScriptBuffer): + * html/html_imageimpl.cpp: + (WebCore::HTMLAreaElement::getRegion): + * html/html_tableimpl.cpp: + (WebCore::HTMLTableElement::parseMappedAttribute): + * ksvg2/css/SVGCSSParser.cpp: + (WebCore::CSSParser::parseSVGPaint): + (WebCore::CSSParser::parseSVGColor): + * kwq/KWQComboBox.mm: + (QComboBox::sizeHint): + * kwq/KWQListBox.mm: + (QListBox::sizeForNumberOfLines): + * kwq/KWQSlider.mm: + (QSlider::setValue): + * loader/Cache.cpp: + (WebCore::Cache::setSize): + * page/Frame.cpp: + (WebCore::Frame::forceLayoutWithPageWidthRange): + * platform/DeprecatedPtrListImpl.h: + * platform/DeprecatedString.cpp: + (ucstrcmp): + * platform/DeprecatedString.h: + * platform/DeprecatedValueListImpl.h: + * platform/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::addRoundedRectClip): + * platform/mac/WebCoreTextArea.mm: + (-[WebCoreTextView _trackResizeFromMouseDown:]): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::isSelected): + (WebCore::InlineTextBox::selectionRect): + (WebCore::InlineTextBox::placeEllipsisBox): + (WebCore::InlineTextBox::selectionStartEnd): + (WebCore::InlineTextBox::paintMarkedTextBackground): + (WebCore::InlineTextBox::paintSpellingMarker): + (WebCore::InlineTextBox::paintTextMatchMarker): + (WebCore::InlineTextBox::paintMarkedTextUnderline): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::overflowRect): + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::collapseMargins): + (WebCore::RenderBlock::clearFloatsIfNeeded): + (WebCore::RenderBlock::estimateVerticalPosition): + (WebCore::RenderBlock::determineHorizontalPosition): + (WebCore::RenderBlock::setCollapsedBottomMargin): + (WebCore::RenderBlock::handleBottomOfBlock): + (WebCore::RenderBlock::layoutBlockChildren): + (WebCore::RenderBlock::fillVerticalSelectionGap): + (WebCore::RenderBlock::fillLeftSelectionGap): + (WebCore::RenderBlock::fillRightSelectionGap): + (WebCore::RenderBlock::positionNewFloats): + (WebCore::RenderBlock::nearestFloatBottom): + (WebCore::RenderBlock::lowestPosition): + (WebCore::RenderBlock::rightmostPosition): + (WebCore::RenderBlock::leftmostPosition): + (WebCore::RenderBlock::getClearDelta): + (WebCore::RenderBlock::calcMinMaxWidth): + (WebCore::RenderBlock::calcInlineMinMaxWidth): + (WebCore::RenderBlock::calcBlocminMaxWidth): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcBorderBoxWidth): + (WebCore::RenderBox::calcBorderBoxHeight): + (WebCore::RenderBox::calcContentBoxWidth): + (WebCore::RenderBox::calcContentBoxHeight): + (WebCore::RenderBox::paintRootBoxDecorations): + (WebCore::RenderBox::paintBoxDecorations): + (WebCore::RenderBox::calcWidth): + (WebCore::RenderBox::calcWidthUsing): + (WebCore::RenderBox::calcHeight): + (WebCore::RenderBox::calcPercentageHeight): + (WebCore::RenderBox::calcReplacedWidth): + (WebCore::RenderBox::calcReplacedHeight): + (WebCore::RenderBox::calcAbsoluteHorizontalValues): + (WebCore::RenderBox::calcAbsoluteVerticalValues): + * rendering/RenderCanvas.cpp: + (WebCore::RenderCanvas::layout): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::calcMinMaxWidth): + (WebCore::RenderFlexibleBox::layoutHorizontalBox): + (WebCore::RenderFlexibleBox::layoutVerticalBox): + (WebCore::RenderFlexibleBox::allowedChildFlex): + * rendering/RenderFlow.cpp: + (WebCore::RenderFlow::paintLines): + (WebCore::RenderFlow::lowestPosition): + (WebCore::RenderFlow::rightmostPosition): + (WebCore::RenderFlow::leftmostPosition): + (WebCore::RenderFlow::paintOutlineForLine): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::imageChanged): + (WebCore::RenderImage::calcReplacedWidth): + (WebCore::RenderImage::calcReplacedHeight): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollRectToVisible): + (WebCore::RenderLayer::computeScrollDimensions): + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + (WebCore::RenderLayer::absoluteBoundingBox): + (WebCore::Marquee::marqueeSpeed): + (WebCore::Marquee::computePosition): + (WebCore::Marquee::timerFired): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBorder): + (WebCore::RenderObject::paintBorderImage): + (WebCore::RenderObject::paintBorder): + (WebCore::RenderObject::repaintAfterLayoutIfNeeded): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::calcWidth): + (WebCore::RenderTable::layout): + (WebCore::RenderTable::paintBoxDecorations): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::paintBackgroundsBehindCell): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + (WebCore::RenderTableSection::lowestPosition): + (WebCore::RenderTableSection::rightmostPosition): + (WebCore::RenderTableSection::leftmostPosition): + * rendering/RenderText.cpp: + (WebCore::RenderText::caretRect): + (WebCore::RenderText::calcMinMaxWidth): + (WebCore::RenderText::minXPos): + (WebCore::RenderText::width): + (WebCore::RenderText::caretMinOffset): + (WebCore::RenderText::caretMaxOffset): + * rendering/bidi.cpp: + (WebCore::RenderBlock::computeHorizontalPositionsForLine): + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::checkLinesForOverflow): + * rendering/render_form.cpp: + (WebCore::RenderLineEdit::setSelectionStart): + (WebCore::RenderLineEdit::setSelectionEnd): + (WebCore::RenderLineEdit::setSelectionRange): + (WebCore::RenderFieldset::layoutLegend): + (WebCore::RenderFieldset::paintBoxDecorations): + (WebCore::RenderSelect::layout): + (WebCore::RenderTextArea::calcMinMaxWidth): + (WebCore::RenderSlider::updateFromElement): + * rendering/render_frames.cpp: + (WebCore::RenderFrameSet::layout): + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::placeBoxesHorizontally): + (WebCore::InlineFlowBox::verticallyAlignBoxes): + (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): + (WebCore::InlineFlowBox::placeBoxesVertically): + (WebCore::InlineFlowBox::paintBackgroundAndBorder): + * rendering/render_line.h: + (WebCore::RootInlineBox::selectionHeight): + * rendering/render_list.cpp: + (WebCore::RenderListItem::positionListMarker): + * rendering/render_replaced.cpp: + (WebCore::RenderReplaced::shouldPaint): + * rendering/table_layout.cpp: + (WebCore::FixedTableLayout::calcMinMaxWidth): + (WebCore::AutoTableLayout::recalcColumn): + (WebCore::AutoTableLayout::calcMinMaxWidth): + (WebCore::AutoTableLayout::calcEffectiveWidth): + (WebCore::AutoTableLayout::layout): + Use min/max instead of kMin/kMax. + +2006-04-12 Darin Adler <darin@apple.com> + + Rubber-stamped by Anders. + + - get ready for some more de-KWQ-ing done by the renaming script in two ways + 1) stop using forwarding headers for things within WebCore + 2) remove a bit of unused stuff + + * loader/CachedImage.h: + * loader/CachedImage.cpp: + * loader/DocLoader.cpp: + * loader/DocLoader.h: + * page/Frame.cpp: + * xml/XSLTProcessor.cpp: + Removed unused showAnimations functions and data. We can add back later if we need it. + And if we do, we won't use a typedef from KHTMLSettings. + + * ForwardingHeaders/java: Removed. + * ForwardingHeaders/java/kjavaappletwidget.h: Removed. + * ForwardingHeaders/khtml_settings.h: Removed. + * ForwardingHeaders/kio: Removed. + * ForwardingHeaders/kio/global.h: Removed. + * ForwardingHeaders/ksslkeygen.h: Removed. + * ForwardingHeaders/q3ptrlist.h: Removed. + * ForwardingHeaders/q3valuelist.h: Removed. + * ForwardingHeaders/qcombobox.h: Removed. + * ForwardingHeaders/qfontmetrics.h: Removed. + * ForwardingHeaders/qlineedit.h: Removed. + * ForwardingHeaders/qmatrix.h: Removed. + * ForwardingHeaders/qptrlist.h: Removed. + * ForwardingHeaders/qptrqueue.h: Removed. + * ForwardingHeaders/qregexp.h: Removed. + * ForwardingHeaders/qscrollbar.h: Removed. + * ForwardingHeaders/qtextedit.h: Removed. + * ForwardingHeaders/qtextstream.h: Removed. + * ForwardingHeaders/qvaluelist.h: Removed. + * ForwardingHeaders/qwmatrix.h: Removed. + + * WebCore+SVG/DOMList.h: + * bindings/js/kjs_dom.cpp: + * bindings/js/kjs_dom.h: + * bindings/js/kjs_window.cpp: + * css/css_stylesheetimpl.h: + * css/css_valueimpl.cpp: + * css/css_valueimpl.h: + * css/cssstyleselector.cpp: + * dom/CharacterData.cpp: + * dom/Document.cpp: + * dom/Document.h: + * dom/EventTargetNode.cpp: + * dom/Node.cpp: + * editing/BreakBlockquoteCommand.h: + * editing/htmlediting.cpp: + * html/FormDataList.h: + * html/HTMLKeygenElement.cpp: + * html/HTMLTokenizer.h: + * html/html_objectimpl.cpp: + * kcanvas/KCanvasFilters.cpp: + * kcanvas/KCanvasMatrix.cpp: + * kcanvas/KCanvasMatrix.h: + * kcanvas/KCanvasPath.cpp: + * kcanvas/KCanvasPath.h: + * kcanvas/KCanvasResources.cpp: + * kcanvas/KCanvasTreeDebug.h: + * kcanvas/RenderForeignObject.h: + * kcanvas/RenderPath.h: + * kcanvas/RenderSVGImage.h: + * kcanvas/RenderSVGText.h: + * kcanvas/device/KRenderingPaintServerGradient.cpp: + * kcanvas/device/KRenderingPaintServerPattern.cpp: + * kcanvas/device/KRenderingPaintServerSolid.cpp: + * kcanvas/device/quartz/KCanvasItemQuartz.h: + * kcanvas/device/quartz/KCanvasResourcesQuartz.h: + * ksvg2/svg/SVGColor.cpp: + * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: + * ksvg2/svg/SVGDocument.h: + * ksvg2/svg/SVGFEBlendElement.cpp: + * ksvg2/svg/SVGFEColorMatrixElement.cpp: + * ksvg2/svg/SVGFEComponentTransferElement.cpp: + * ksvg2/svg/SVGFECompositeElement.cpp: + * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: + * ksvg2/svg/SVGFEDisplacementMapElement.cpp: + * ksvg2/svg/SVGFEGaussianBlurElement.cpp: + * ksvg2/svg/SVGFELightElement.cpp: + * ksvg2/svg/SVGFEMergeElement.cpp: + * ksvg2/svg/SVGFEOffsetElement.cpp: + * ksvg2/svg/SVGFESpecularLightingElement.cpp: + * ksvg2/svg/SVGFETileElement.cpp: + * ksvg2/svg/SVGFETurbulenceElement.cpp: + * ksvg2/svg/SVGFitToViewBox.cpp: + * ksvg2/svg/SVGLengthList.cpp: + * ksvg2/svg/SVGMatrix.h: + * ksvg2/svg/SVGNumberList.cpp: + * ksvg2/svg/SVGPreserveAspectRatio.cpp: + * ksvg2/svg/SVGSVGElement.cpp: + * ksvg2/svg/SVGStringList.cpp: + * ksvg2/svg/SVGStyledElement.h: + * ksvg2/svg/SVGStyledTransformableElement.cpp: + * ksvg2/svg/SVGTransformable.cpp: + * ksvg2/svg/SVGURIReference.h: + * ksvg2/svg/svgpathparser.cpp: + * kwq/KWQKHTMLSettings.h: + * loader/Cache.h: + * loader/CachedObject.h: + * loader/Decoder.cpp: + * loader/FormData.h: + * loader/loader.h: + * page/Frame.h: + * page/FramePrivate.h: + * platform/Font.cpp: + * platform/SegmentedString.h: + * platform/mac/FontMac.mm: + * platform/mac/WebCoreTextField.mm: + * rendering/RenderBlock.cpp: + * rendering/RenderObject.cpp: + * rendering/RenderTable.cpp: + * rendering/RenderTableCell.cpp: + * rendering/RenderTableCol.cpp: + * rendering/RenderTableSection.cpp: + * rendering/bidi.h: + * rendering/break_lines.cpp: + * rendering/render_applet.cpp: + * rendering/render_form.cpp: + * rendering/render_form.h: + * rendering/render_frames.cpp: + * rendering/render_style.h: + * xml/xmlhttprequest.cpp: + Updated includes. + + * WebCore.xcodeproj/project.pbxproj: Resorted a couple things. + +2006-04-12 Adele Peterson <adele@apple.com> + + Reviewed by Darin and Tim O. + + WebCore part of fix for: + http://bugs.webkit.org/show_bug.cgi?id=8061 + REGRESSION: New text fields need to send callbacks used by autocomplete + + Fix for: + http://bugs.webkit.org/show_bug.cgi?id=8156 + FrameMac::submitForm is busted after Vector changes + + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLInputElement _rectOnScreen]): Use boundingBox method so this no longer relies on an NSTextField. + The old code is no longer needed because this method was used by autocomplete, and that was not enabled for password or search fields. + (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): New implementation that uses setValue and setSelectionRange + instead of NSTextField specific code. + (-[DOMHTMLInputElement _selectedRange]): Creates range by calling selectionStart and selectionEnd on the input element. + (-[DOMHTMLInputElement _setAutofilled:]): Provides a way for the autofill code to set a flag on the input element so + it knows when its value is set by autofill. This is how we change the background color. + * bindings/objc/DOMPrivate.h: Removed _displayedValue, _setDisplayedValue, _setBackgroundColor since these are no + longer needed for the new text field implementation, and aren't used for remaining NSView-style password and search fields. + Added _setAutofilled method. + * bridge/mac/FrameMac.h: Added virtual clearRecordedFormValues and recordFormValue. These were moved into Frame.cpp recently, which broke + how Safari asked to add form values to the keychain. + + * bridge/mac/FrameMac.mm: + (WebCore::createNSDictionary): Added. Converts a hashmap to an NSDictionary for m_formValuesAboutToBeSubmitted. This is needed to fix the submit form bug. + (WebCore::selectorForKeyEvent): Added. This helper function converts key events into selectors that the autocomplete code needs to know about. + (WebCore::FrameMac::FrameMac): + (WebCore::FrameMac::submitForm): Convert saved form and formValues into DOMElement and NSMutableDictionary. + (WebCore::FrameMac::textFieldDidBeginEditing): Added so the input element can send this notification over the bridge. + (WebCore::FrameMac::textFieldDidEndEditing): ditto. + (WebCore::FrameMac::textDidChangeInTextField): ditto. + (WebCore::FrameMac::doTextFieldCommandFromEvent): ditto. Also calls selectorForKeyEvent. + (WebCore::FrameMac::textWillBeDeletedInTextField): ditto. + * page/Frame.cpp: + (WebCore::Frame::textFieldDidBeginEditing): ditto. + (WebCore::Frame::textFieldDidEndEditing): ditto. + (WebCore::Frame::textDidChangeInTextField): ditto. + (WebCore::Frame::doTextFieldCommandFromEvent): ditto. + (WebCore::Frame::textWillBeDeletedInTextField): ditto. + * page/Frame.h: ditto. + * platform/PlatformString.h: (WebCore::String::replace): Added to use an existing version of StringImpl::replace. + + * rendering/RenderTextField.cpp: + (WebCore::RenderTextField::setSelectionRange): Setting the selection here should close the typing command. + (WebCore::RenderTextField::subtreeHasChanged): Calls textDidChangeInTextField. + + * dom/Document.cpp: (WebCore::Document::setFocusNode): Calls dispatchFocusEvent and dispatchBlurEvent instead of directly dispatching the events. This gives the node a chance to do other work before dispatching the event. + + * dom/EventTargetNode.cpp: + (WebCore:: EventTargetNode::dispatchFocusEvent): Added. + (WebCore:: EventTargetNode::dispatchBlurEvent): Added. + * dom/EventTargetNode.h: + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::init): initializes m_autofilled. + (WebCore::HTMLInputElement::dispatchFocusEvent): Calls textFieldDidBeginEditing and then calls up to the base class + (WebCore::HTMLInputElement::dispatchBlurEvent): Calls textFieldDidEndEditing and then calls up to the base class + (WebCore::HTMLInputElement::defaultEventHandler): For keypress events, calls doTextFieldCommandFromEvent so the form delegate will + have a chance to say whether or not it is going to handle the event. + (WebCore::HTMLInputElement::isKeyboardFocusable): Uses isNonWidgetTextField instead of checking the inputType. + (WebCore::HTMLInputElement::isMouseFocusable): ditto. + (WebCore::HTMLInputElement::focus): ditto. + (WebCore::HTMLInputElement::constrainValue): Uses isTextField instead of checking inputType. + * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): ditto. + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::isTextField): Added. Checks for TEXT, PASSWORD, and SEARCH + (WebCore::HTMLInputElement::isNonWidgetTextField): Added. Checks for all converted controls. + (WebCore::HTMLInputElement::autofilled): Added. + (WebCore::HTMLInputElement::setAutofilled): Added. + * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Uses isNonWidgetTextField instead of checking the inputType. + + * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::doApply): + If the deletion is occuring in a text field, call textWillBeDeletedInTextField so the frame can + call across the bridge to notify the form delegate. + + * css/css_base.cpp: (WebCore::CSSSelector::extractPseudoType): Added autofill string for "-khtml-autofill". + * css/css_base.h: (WebCore::CSSSelector::): Added PseudoAutofill to enum. + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::checkOneSelector): Added case for PseudoAutofill that checks the input element's autofilled flag. + (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Changed -webkit-focus-ring-color to -khtml-focus-ring-color for consistency. + * css/html4.css: Added background-color and background-image for input:-khtml-autofill style. + Changed -webkit-focus-ring-color to -khtml-focus-ring-color for consistency. + * css/CSSValueKeywords.in: ditto. + * css/cssparser.cpp: + (WebCore::CSSParser::parseValue): ditto. + (WebCore::CSSParser::parseShadow): ditto. + +2006-04-12 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by hyatt + + - fix http://bugs.webkit.org/show_bug.cgi?id=4855 + List item's bullets fail to redraw correctly after their style is set with JavaScript + + * manual-tests/list-marker-repaint.html: Added. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): Call positionListMarker() after laying out + the children. + (WebCore::RenderBlock::calcInlineMinMaxWidth): Call calcWidth() on the child + if we are going to use its marginLeft() or marginRight(), which is if they are + given as a percentage or if the child is a list marker. + * rendering/RenderBlock.h: + (WebCore::RenderBlock::positionListMarker): Added this virtual function which + RenderListItem implements and which is called from layoutBlock(). + * rendering/RenderFlow.cpp: + (WebCore::RenderFlow::addFocusRingRects): Avoid adding focus rings around outside list + markers. Previously it did not matter since the markers had zero width. + * rendering/bidi.cpp: + (WebCore::RenderBlock::findNextLineBreak): Outside list markers should not contribute + to the line width, even now that they have width. + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::placeBoxesHorizontally): Skip outside list markers. + * rendering/render_list.cpp: + (WebCore::RenderListItem::positionListMarker): Added. + (WebCore::RenderListMarker::paint): Removed code that was used to right-align outside + text markers, since that is achieved by margins now. + (WebCore::RenderListMarker::calcMinMaxWidth): Changed the marker height to be the font height. + Made the width of outside list markers non-zero and equal to the width of inside markers. + Changed the width to include only the marker and not any padding. Increased the width of bullets + by 2 to contain spillage due to antialiasing. + (WebCore::RenderListMarker::calcWidth): Calculate horizontal margins. Padding that was + previously included in the width is now part of the margins. + (WebCore::RenderListMarker::getRelativeMarkerRect): Adjusted for the changes to width and + margins. + * rendering/render_list.h: + +2006-04-12 Darin Adler <darin@apple.com> + + Rubber-stamped by Hyatt. + + - moved some more files out of KWQ to more-permanent homes + + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * kwq/BlockExceptions.h: Removed. + * kwq/BlockExceptions.mm: Removed. + * kwq/ClipboardMac.h: Removed. + * kwq/ClipboardMac.mm: Removed. + * kwq/DeprecatedPtrList.h: Removed. + * kwq/DeprecatedPtrListImpl.cpp: Removed. + * kwq/DeprecatedPtrListImpl.h: Removed. + * kwq/DeprecatedValueList.h: Removed. + * kwq/DeprecatedValueListImpl.cpp: Removed. + * kwq/DeprecatedValueListImpl.h: Removed. + * kwq/WebCoreTextArea.h: Removed. + * kwq/WebCoreTextArea.mm: Removed. + * kwq/WebCoreTextField.h: Removed. + * kwq/WebCoreTextField.mm: Removed. + * platform/DeprecatedPtrList.h: Added. + * platform/DeprecatedPtrListImpl.cpp: Added. + * platform/DeprecatedPtrListImpl.h: Added. + * platform/DeprecatedValueList.h: Added. + * platform/DeprecatedValueListImpl.cpp: Added. + * platform/DeprecatedValueListImpl.h: Added. + * platform/mac/BlockExceptions.h: Added. + * platform/mac/BlockExceptions.mm: Added. + * platform/mac/ClipboardMac.h: Added. + * platform/mac/ClipboardMac.mm: Added. + * platform/mac/WebCoreTextArea.h: Added. + * platform/mac/WebCoreTextArea.mm: Added. + * platform/mac/WebCoreTextField.h: Added. + * platform/mac/WebCoreTextField.mm: Added. + +2006-04-12 David Harrison <harrison@apple.com> + + Reviewed by Darin. + + <rdar://problem/4386640> AX: AXPreviousSentenceStartTextMarkerForTextMarker does not respect paragraph boundary + <rdar://problem/4414575> AX: Dictionary popup cannot find some words on Dictionary.app + + AXPreviousSentenceStartTextMarkerForTextMarker failed to stop at the beginning a block because + SimplifiedBackwardsTextIterator::handleNonTextNode() emitted a space when exiting the block. + Fixed by emitting a newline instead. + + Word boundary failed to stop at the beginning of a block because no character at all was emitted + when leaving the block, because the exitNode was checking specific html tags to decide whether the + node is block, but the node was xml. Fixed by using the node's renderer, if present. + + (see related changes in WebKit) + + Tests added: + * editing/selection/extend-by-sentence-001.html: Added. + * fast/dom/inner-text-001.html: Added. + + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]): + Add sentence navigation/selection. + + * editing/Selection.cpp: + (WebCore::Selection::validate): + Add sentence navigation/selection. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::modifyExtendingRightForward): + (WebCore::SelectionController::modifyMovingRightForward): + (WebCore::SelectionController::modifyExtendingLeftBackward): + (WebCore::SelectionController::modifyMovingLeftBackward): + (WebCore::SelectionController::modify): + Add sentence navigation/selection. + + * editing/TextGranularity.h: + (WebCore::): + Add SentenceGranularity and SentenceBoundary. + + * editing/TextIterator.cpp: + (WebCore::isTableCell): + (WebCore::shouldEmitTabBeforeNode): + (WebCore::shouldEmitNewlineForNode): + (WebCore::shouldEmitNewlinesBeforeAndAfterNode): + (WebCore::shouldEmitExtraNewlineForNode): + New utility functions that prefer renderers over html tag names. + + (WebCore::TextIterator::handleNonTextNode): + (WebCore::TextIterator::exitNode): + (WebCore::SimplifiedBackwardsTextIterator::advance): + Use new utility functions. + + (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): + Use new utility functions. Also emit linefeed instead of space, + so sentence parsing works across block boundaries. + + (WebCore::SimplifiedBackwardsTextIterator::exitNode): + Use new utility functions. + + (WebCore::SimplifiedBackwardsTextIterator::emitNewline): + Renamed from emitNewlineForBROrText because it is not always for BR or text. + + * editing/TextIterator.h: + Renamed emitNewlineForBROrText to emitNewline. + + * editing/visible_units.cpp: + * editing/visible_units.h: + (WebCore::previousBoundary): + (WebCore::nextBoundary): + (WebCore::previousSentencePosition): + (WebCore::nextSentencePosition): + Add sentence navigation/selection. + +2006-04-12 Darin Adler <darin@apple.com> + + Rubber-stamped by Hyatt. + + - moved Decoder and FormData classes into loader directory + (Decoder, because it's part of the loading process. + FormData, because it's used as a parameter when specifying + what to load. Arguably either could be in page instead.) + - moved Length.h from css to renderer, cause that's where Hyatt + says it belongs + + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * khtml: Removed. + * loader/Decoder.cpp: Added. + * loader/Decoder.h: Added. + * loader/FormData.cpp: Added. + * loader/FormData.h: Added. + + * css/Length.h: Removed. + * rendering/Length.h: Added. + + * bridge/mac/WebCoreEncodings.mm: + * dom/Document.h: + * kwq/KWQFormData.mm: + * loader/CachedXBLDocument.cpp: + * loader/CachedXSLStyleSheet.cpp: + * page/ResourceRequest.h: + * platform/TransferJobInternal.h: + * xml/xmlhttprequest.cpp: + Updated includes. + +2006-04-12 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by darin + + - fix http://bugs.webkit.org/show_bug.cgi?id=8337 + Incomplete repaint of inlines' outline during editing + + * manual-tests/inline-outline-repaint.html: Added. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): Add the maximal outline width to the + inlines' repaint rect. + +2006-04-12 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=8335> + Implement execCommand(InsertHorizontalRule) + + * editing/JSEditor.cpp: + +2006-04-12 Darin Adler <darin@apple.com> + + Rubber-stamped by Hyatt. + + - moved xsl files into xml directory, removed xbl files (for now) + + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * khtml/xbl: Removed. + * khtml/xsl: Removed. + * xml/XSLStyleSheet.cpp: Added. + * xml/XSLStyleSheet.h: Added. + * xml/XSLTProcessor.cpp: Added. + * xml/XSLTProcessor.h: Added. + +2006-04-12 David Hyatt <hyatt@apple.com> + + Fix for 5283, make sure overflow doesn't paint on top of positioned elements. + + Reviewed by beth + + * kwq/RenderTreeAsText.cpp: + (writeLayers): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::~RenderLayer): + (WebCore::RenderLayer::addChild): + (WebCore::RenderLayer::removeChild): + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::dirtyOverflowList): + (WebCore::RenderLayer::updateOverflowList): + (WebCore::RenderLayer::collectLayers): + (WebCore::RenderLayer::shouldBeOverflowOnly): + (WebCore::RenderLayer::styleChanged): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::isOverflowOnly): + (WebCore::RenderLayer::overflowList): + +2006-04-12 Darin Adler <darin@apple.com> + + * WebCore.xcodeproj/project.pbxproj: Turn SVG support back on. + I accidentally checked in this file with SVG off last night. + +2006-04-12 Darin Adler <darin@apple.com> + + - try to fix Windows build + + * platform/TransferJobInternal.h: Declare HANDLE. + * platform/image-decoders/gif/GIFImageReader.h: Include GIFImageDecoder.h. + * rendering/RenderThemeWin.h: Declare HANDLE and HMODULE. + +2006-04-12 Darin Adler <darin@apple.com> + + - another attempt to get things building + + * bindings/js/kjs_proxy.cpp: Add "kjs_events.h" include, needed when not + building SVG (so for Windows too). + * editing/TextIterator.h: Add back include of Vector.h. + +2006-04-11 Darin Adler <darin@apple.com> + + - try to fix Windows build + + * html/HTMLCollection.h: Add back include of Vector.h. + * page/Frame.h: Ditto. + * platform/Timer.h: Ditto. + + - more changes for no-SVG (not working yet though) + + * editing/CompositeEditCommand.h: Added css_valueimpl.h include. + +2006-04-11 Darin Adler <darin@apple.com> + + - try to fix no-SVG build + + * kwq/RenderTreeAsText.cpp: Added back an include only needed for non-SVG. + * rendering/RenderObject.h: Ditto. + +2006-04-11 Darin Adler <darin@apple.com> + + - try to fix Windows build + + * ForwardingHeaders/kxmlcore/HashForward.h: Removed. + * dom/xml_tokenizer.h: Include another header instead of HashForward.h. + * loader/Cache.h: Ditto. + * page/Page.h: Ditto. + * platform/TransferJob.h: Ditto. + +2006-04-11 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + Fixes more instances of: + <rdar://problem/3950559> + CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32 + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): Do paragraph merging using moveParagraphs. + +2006-04-11 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + Some setup for work on paste performance. + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::moveParagraph): + Moved code from mergeParagraphs so that it can be used in ReplaceSelectionCommand. + * editing/CompositeEditCommand.h: + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::mergeParagraphs): + (WebCore::DeleteSelectionCommand::doApply): + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::init): Put the code that chooses m_deepPosition into initDeepPosition. + (WebCore::VisiblePosition::initDeepPosition): + Fixed a bug: don't fall through to the code that's only for positions inside unrendered space between blocks when + downstream() is a candidate. Added a comment about why the fall through code is necessary. + * editing/VisiblePosition.h: + +2006-04-11 John Sullivan <sullivan@apple.com> + + Reviewed by Darin Adler. + + - fixed <rdar://problem/4509328> highlight all matches hangs when searching for tab character on www.google.com (and others) + + For reasons not yet completely understood, searching for a tab character on some pages (Google, Amazon) finds a match + with a non-collapsed range but then claims that the end visible position of the match is the original start visible + position of the search range. This was causing the highlightAllMatches code to loop forever. Fixed the loop by + checking for the non-advancing search range explicitly. I'm going to track down a reduction of the bogus + search-for-tab issue, and write that up as a separate bug (that bug is not a regression; you can "find" a tab on + google in Tiger also). + + * page/Frame.cpp: + (WebCore::Frame::highlightAllMatchesForString): + break the loop if the search range hasn't advanced + +2006-04-10 Darin Adler <darin@apple.com> + + Rubber-stamped by John Sullivan (except for pbxproj change). + + - updated to use the new Forward.h and HashForward.h headers + - moved the showTree debugging functions out of the WebCore + namespace so they are easier to call from gdb, and renamed + the showTree member functions so they don't get in the way; + now you can do "call showTree(x)" in gdb and it just works + - removed a lot of unneeded includes + + * WebCore.xcodeproj/project.pbxproj: Fixed a lot of paths that + were not relative to the enclosing group. + + * ForwardingHeaders/kxmlcore/Forward.h: Added. + * ForwardingHeaders/kxmlcore/HashForward.h: Added. + * bindings/js/JSCanvasRenderingContext2DBase.cpp: + * bindings/js/JSXMLHttpRequest.cpp: + * bindings/js/JSXMLHttpRequest.h: + * bindings/js/JSXSLTProcessor.h: + * bindings/js/kjs_binding.h: + * bindings/js/kjs_dom.cpp: + * bindings/js/kjs_dom.h: + * bindings/js/kjs_events.cpp: + * bindings/js/kjs_events.h: + * bindings/js/kjs_html.cpp: + * bindings/js/kjs_navigator.cpp: + * bindings/js/kjs_navigator.h: + * bindings/js/kjs_proxy.cpp: + * bindings/js/kjs_traversal.h: + * bindings/js/kjs_window.cpp: + * bindings/js/kjs_window.h: + * bindings/objc/DOM.mm: + * bindings/objc/DOMCSS.mm: + * bindings/objc/DOMCore.h: + * bindings/objc/DOMEvents.mm: + * bindings/objc/DOMHTML.mm: + * bindings/objc/DOMImplementationFront.h: + * bindings/objc/DOMInternal.mm: + * bindings/objc/DOMUtility.mm: + * bindings/objc/DOMViews.mm: + * bridge/BrowserExtension.h: + * bridge/mac/BrowserExtensionMac.mm: + * bridge/mac/FrameMac.h: + * bridge/mac/FrameMac.mm: + * bridge/mac/WebCoreFrameBridge.mm: + * bridge/mac/WebCoreFrameNamespaces.mm: + * bridge/mac/WebCoreJavaScript.mm: + * bridge/win/PageWin.cpp: + * css/CSSComputedStyleDeclaration.cpp: + * css/css_base.h: + * css/css_ruleimpl.h: + * css/css_valueimpl.cpp: + * css/cssparser.cpp: + * css/cssparser.h: + * css/cssstyleselector.cpp: + * css/cssstyleselector.h: + * dom/AbstractView.h: + * dom/AtomicStringList.h: + * dom/Attribute.cpp: + * dom/Attribute.h: + * dom/Comment.cpp: + * dom/ContainerNode.cpp: + * dom/DOMImplementation.cpp: + * dom/DOMImplementation.h: + * dom/Document.cpp: + * dom/Document.h: + * dom/Element.h: + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::dump): + (WebCore::forbidEventDispatch): + (WebCore::allowEventDispatch): + (WebCore::eventDispatchForbidden): + * dom/EventTargetNode.h: + (WebCore::EventTargetNode::postDispatchEventHandler): + * dom/NamedAttrMap.h: + * dom/Node.cpp: + (WebCore::Node::showNode): + (WebCore::Node::showTree): + (WebCore::Node::showTreeAndMark): + (showTree): + * dom/Node.h: + * dom/NodeList.cpp: + * dom/NodeList.h: + * dom/Position.cpp: + (showTree): + * dom/Position.h: + * dom/Range.cpp: + * dom/Range.h: + * dom/StyledElement.cpp: + * dom/StyledElement.h: + * dom/dom2_eventsimpl.cpp: + * dom/dom2_eventsimpl.h: + * dom/dom2_traversalimpl.h: + * dom/dom_xmlimpl.cpp: + * dom/xml_tokenizer.cpp: + * dom/xml_tokenizer.h: + * editing/AppendNodeCommand.cpp: + * editing/ApplyStyleCommand.cpp: + * editing/ApplyStyleCommand.h: + * editing/BreakBlockquoteCommand.cpp: + * editing/CompositeEditCommand.cpp: + * editing/CreateLinkCommand.cpp: + * editing/DeleteFromTextNodeCommand.cpp: + * editing/DeleteFromTextNodeCommand.h: + * editing/DeleteSelectionCommand.cpp: + * editing/EditCommand.cpp: + * editing/EditCommand.h: + * editing/HTMLInterchange.cpp: + * editing/InsertIntoTextNodeCommand.cpp: + * editing/InsertIntoTextNodeCommand.h: + * editing/InsertLineBreakCommand.cpp: + * editing/InsertNodeBeforeCommand.cpp: + * editing/InsertParagraphSeparatorCommand.cpp: + * editing/InsertTextCommand.cpp: + * editing/JSEditor.cpp: + * editing/JoinTextNodesCommand.cpp: + * editing/MergeIdenticalElementsCommand.cpp: + * editing/ModifySelectionListLevelCommand.cpp: + * editing/MoveSelectionCommand.cpp: + * editing/RebalanceWhitespaceCommand.h: + * editing/RemoveCSSPropertyCommand.h: + * editing/ReplaceSelectionCommand.cpp: + * editing/ReplaceSelectionCommand.h: + * editing/Selection.cpp: + (WebCore::Selection::formatForDebugger): + (WebCore::Selection::showTree): + (showTree): + * editing/Selection.h: + * editing/SelectionController.cpp: + (WebCore::SelectionController::formatForDebugger): + (WebCore::SelectionController::showTree): + (showTree): + * editing/SelectionController.h: + * editing/TextIterator.cpp: + * editing/TextIterator.h: + * editing/TypingCommand.cpp: + * editing/TypingCommand.h: + * editing/UnlinkCommand.cpp: + * editing/VisiblePosition.cpp: + (WebCore::isEqualIgnoringAffinity): + (WebCore::VisiblePosition::formatForDebugger): + (WebCore::VisiblePosition::showTree): + (showTree): + * editing/VisiblePosition.h: + (WebCore::VisiblePosition::VisiblePosition): + (WebCore::operator==): + * editing/WrapContentsInDummySpanCommand.cpp: + * editing/htmlediting.h: + * editing/markup.cpp: + * editing/markup.h: + (WebCore::): + * editing/visible_units.cpp: + * html/CanvasGradient.cpp: + * html/CanvasRenderingContext2D.h: + * html/CanvasStyle.cpp: + * html/CanvasStyle.h: + * html/FormDataList.cpp: + * html/FormDataList.h: + * html/HTMLCollection.cpp: + * html/HTMLCollection.h: + * html/HTMLDocument.cpp: + * html/HTMLDocument.h: + * html/HTMLElement.cpp: + * html/HTMLElementFactory.cpp: + * html/HTMLElementFactory.h: + * html/HTMLFormCollection.cpp: + * html/HTMLFormElement.cpp: + * html/HTMLFormElement.h: + * html/HTMLInputElement.cpp: + * html/HTMLParser.cpp: + * html/HTMLSelectElement.cpp: + * html/HTMLSelectElement.h: + * html/HTMLTokenizer.cpp: + * html/HTMLTokenizer.h: + * html/html_baseimpl.cpp: + * html/html_headimpl.h: + * kcanvas/KCanvasCreator.cpp: + * kcanvas/KCanvasFilters.h: + * kcanvas/KCanvasPath.h: + * kcanvas/KCanvasResources.h: + * kcanvas/KCanvasTreeDebug.cpp: + * kcanvas/RenderPath.cpp: + * kcanvas/RenderPath.h: + * kcanvas/device/KRenderingDevice.h: + * kcanvas/device/KRenderingPaintServerGradient.h: + * kcanvas/device/KRenderingPaintServerPattern.h: + * kcanvas/device/KRenderingPaintServerSolid.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + * kcanvas/device/quartz/KCanvasMaskerQuartz.h: + * kcanvas/device/quartz/KCanvasResourcesQuartz.h: + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: + * khtml/misc/decoder.cpp: + * khtml/misc/decoder.h: + * khtml/xsl/XSLStyleSheet.cpp: + * khtml/xsl/XSLTProcessor.cpp: + * khtml/xsl/XSLTProcessor.h: + * ksvg2/css/SVGRenderStyle.h: + * ksvg2/ecma/GlobalObject.cpp: + * ksvg2/misc/KCanvasRenderingStyle.h: + * ksvg2/misc/SVGDocumentExtensions.h: + * ksvg2/svg/SVGAngle.h: + * ksvg2/svg/SVGAnimateColorElement.h: + * ksvg2/svg/SVGAnimatedColor.h: + * ksvg2/svg/SVGAnimatedLengthList.h: + * ksvg2/svg/SVGAnimatedNumberList.h: + * ksvg2/svg/SVGAnimatedString.h: + * ksvg2/svg/SVGAnimatedTransformList.h: + * ksvg2/svg/SVGAnimationElement.h: + * ksvg2/svg/SVGColor.h: + * ksvg2/svg/SVGCursorElement.h: + * ksvg2/svg/SVGHelper.h: + * ksvg2/svg/SVGLength.h: + * ksvg2/svg/SVGList.h: + * ksvg2/svg/SVGPaint.h: + * ksvg2/svg/SVGPathSeg.h: + * ksvg2/svg/SVGPatternElement.h: + * ksvg2/svg/SVGSVGElement.cpp: + * ksvg2/svg/SVGSVGElement.h: + * ksvg2/svg/SVGStringList.h: + * ksvg2/svg/SVGTransform.h: + * kwq/AccessibilityObjectCache.mm: + * kwq/ClipboardMac.mm: + * kwq/JavaAppletWidget.mm: + * kwq/KWQComboBox.mm: + * kwq/KWQEditCommand.mm: + * kwq/KWQFileButton.mm: + * kwq/KWQKHTMLSettings.h: + * kwq/KWQKSSLKeyGen.mm: + * kwq/KWQLoader.mm: + * kwq/KWQPageState.mm: + * kwq/KWQTextEdit.mm: + * kwq/RegularExpression.h: + * kwq/RenderTreeAsText.cpp: + * kwq/RenderTreeAsText.h: + * kwq/WebCoreAXObject.mm: + * loader/Cache.cpp: + * loader/Cache.h: + * loader/CachedCSSStyleSheet.cpp: + * loader/CachedObject.h: + * loader/CachedScript.cpp: + * loader/CachedXBLDocument.cpp: + * loader/CachedXBLDocument.h: + * loader/CachedXSLStyleSheet.cpp: + * loader/CachedXSLStyleSheet.h: + * loader/DocLoader.cpp: + * page/Frame.cpp: + * page/Frame.h: + * page/FramePrivate.h: + * page/FrameTree.cpp: + * page/FrameTree.h: + * page/FrameView.cpp: + * page/FrameView.h: + * page/Page.cpp: + * page/Page.h: + * page/Plugin.h: + (WebCore::Plugin::Plugin): + (WebCore::Plugin::view): + * platform/Color.cpp: + * platform/FloatRect.h: + * platform/Font.cpp: + * platform/Font.h: + * platform/FontFamily.cpp: + * platform/GraphicsContext.cpp: + * platform/Image.cpp: + * platform/Image.h: + * platform/IntRect.h: + * platform/KURL.cpp: + * platform/KURL.h: + * platform/SegmentedString.h: + * platform/Shared.h: + * platform/StreamingTextDecoder.cpp: + * platform/StringImpl.cpp: + * platform/StringImpl.h: + * platform/TextEncoding.h: + * platform/Timer.cpp: + * platform/Timer.h: + * platform/TransferJob.cpp: + * platform/TransferJob.h: + * platform/TransferJobInternal.h: + * platform/cairo/GraphicsContextCairo.cpp: + * platform/cairo/ImageCairo.cpp: + * platform/cairo/ImageSourceCairo.cpp: + * platform/image-decoders/gif/GIFImageReader.cpp: + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + * platform/mac/FontFamilyMac.mm: + * platform/mac/FontMac.mm: + * platform/mac/ImageMac.mm: + * platform/mac/TextEncodingMac.cpp: + * platform/mac/TransferJobMac.mm: + * platform/win/FontPlatformDataWin.cpp: + * platform/win/TransferJobWin.cpp: + * rendering/RenderBlock.cpp: + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + * rendering/RenderBox.h: + * rendering/RenderCanvas.cpp: + * rendering/RenderCanvas.h: + * rendering/RenderContainer.cpp: + * rendering/RenderFlexibleBox.h: + * rendering/RenderFlow.cpp: + * rendering/RenderFlow.h: + * rendering/RenderImage.cpp: + * rendering/RenderImage.h: + * rendering/RenderLayer.cpp: + * rendering/RenderLayer.h: + * rendering/RenderObject.cpp: + (showTree): + * rendering/RenderObject.h: + * rendering/RenderTableCell.h: + * rendering/RenderTableSection.h: + * rendering/RenderText.cpp: + * rendering/RenderText.h: + * rendering/RenderTextField.cpp: + * rendering/RenderTextFragment.h: + * rendering/RenderTheme.h: + * rendering/RenderThemeMac.mm: + * rendering/RenderThemeWin.cpp: + * rendering/bidi.cpp: + * rendering/render_form.h: + * rendering/render_line.cpp: + (showTree): + * rendering/render_line.h: + * rendering/render_list.cpp: + * rendering/render_replaced.cpp: + * rendering/render_replaced.h: + * rendering/render_style.cpp: + * rendering/render_style.h: + * xml/xmlhttprequest.h: + +2006-04-10 Darin Adler <darin@apple.com> + + - try to fix the Windows build + + * WebCore.vcproj/WebCore/WebCore.vcproj: Fix mistaken bad editing of + AdditionalIncludeDirectories. + +2006-04-10 David Hyatt <hyatt@apple.com> + + Make focus ring painting respect clips set by WebCore (e.g., overflow). + + Reviewed by darin + + * platform/GraphicsContext.h: + * platform/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): + (WebCore::GraphicsContext::setFocusRingClip): + (WebCore::GraphicsContext::clearFocusRingClip): + (WebCore::GraphicsContext::drawFocusRing): + * platform/mac/WebCoreGraphicsBridge.h: + * platform/mac/WebCoreGraphicsBridge.m: + (-[WebCoreGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]): + * rendering/RenderLayer.cpp: + (WebCore::setClip): + (WebCore::restoreClip): + +2006-04-10 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - death to khtml/ecma, long live bindings/js + + * khtml/ecma: Removed. Moved all files to bindings/js. + + * bindings/js/JSDOMParser.cpp: Added. + * bindings/js/JSDOMParser.h: Added. + * bindings/js/JSXMLHttpRequest.cpp: Added. + * bindings/js/JSXMLHttpRequest.h: Added. + * bindings/js/JSXMLSerializer.cpp: Added. + * bindings/js/JSXMLSerializer.h: Added. + * bindings/js/JSXSLTProcessor.cpp: Added. + * bindings/js/JSXSLTProcessor.h: Added. + * bindings/js/kjs_binding.cpp: Added. + * bindings/js/kjs_binding.h: Added. + * bindings/js/kjs_css.cpp: Added. + * bindings/js/kjs_css.h: Added. + * bindings/js/kjs_dom.cpp: Added. + * bindings/js/kjs_dom.h: Added. + * bindings/js/kjs_events.cpp: Added. + * bindings/js/kjs_events.h: Added. + * bindings/js/kjs_html.cpp: Added. + * bindings/js/kjs_html.h: Added. + * bindings/js/kjs_navigator.cpp: Added. + * bindings/js/kjs_navigator.h: Added. + * bindings/js/kjs_proxy.cpp: Added. + * bindings/js/kjs_proxy.h: Added. + * bindings/js/kjs_traversal.cpp: Added. + * bindings/js/kjs_traversal.h: Added. + * bindings/js/kjs_views.cpp: Added. + * bindings/js/kjs_views.h: Added. + * bindings/js/kjs_window.cpp: Added. + * bindings/js/kjs_window.h: Added. + + * DerivedSources.make: Removed khtml/ecma from directory list. + * WebCore.vcproj/WebCore/WebCore.vcproj: Moved files from + khtml/ecma to bindings/js. + * WebCore.xcodeproj/project.pbxproj: Ditto. + +2006-04-10 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - try to fix the Windows build + + * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::reset): + Put code to release m_drawingContext into an __APPLE__ ifdef. + + * platform/win/TemporaryLinkStubs.cpp: + +2006-04-10 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Eric, landed by ap. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8295 + Dictionary pop-up panel targets the wrong word in a scrolled IFRAME + + * kwq/WebCoreAXObject.mm: + (-[WebCoreAXObject doAXTextMarkerForPosition:]): Removed the addition of scroll + offsets, which is redundant for scrolled views, then changed the first view + to be the document's scrolled view instead of its scroll view (all subsequent views were + already scrolled views). + * manual-tests/dictionary-scrolled-iframe.html: Added. + +2006-04-09 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7877 + XMLHttpRequest ignores username/password passed to open() + + Test: http/tests/xmlhttprequest/basic-auth.html + + * platform/KURL.cpp: + (KURL::setUser): Enable a code path that handles non-empty user name - + it was already present, but commented out and protected with an assertion. + (KURL::setPass): Ditto. + +2006-04-09 Darin Adler <darin@apple.com> + + Reviewed by Anders. + + - fix http://bugs.webkit.org/show_bug.cgi?id=4884 + Canvas element breaks when RenderObject creation is deferred by external CSS + + Test: fast/canvas/canvas-before-css.html + + This patch makes us match the canvas documentation in Hixie's Web Applications + draft as far as when the canvas is created and recreated and how it's sized. + It also gets rid of the compositeOperation attribute of the canvas element. + We can add that back if we need it. Anders points out that this specifically + changes behavior for canvas elements where the size is set in CSS and not with + width and height attributes. The CSS size now determines how big a box the canvas + is rendered into, but has no effect on the size of the canvas's buffer. + + * html/CanvasRenderingContext2D.h: Added overloads of drawImage that take + HTMLCanvasElement, which is no longer derived from HTMLImageElement. + * html/CanvasRenderingContext2D.cpp: + (WebCore::imageSize): Renamed from imageOrCanvasSize. Now used for images only, + because canvas is no longer derived from image. + (WebCore::CanvasRenderingContext2D::drawImage): Split the implementation of this + for image sources from the implementation for canvas sources. + (WebCore::CanvasRenderingContext2D::willDraw): Changed to call a new willDraw + function on the canvas element. + (WebCore::CanvasRenderingContext2D::drawingContext): Changed to call drawingContext + on the canvas element rather than the renderer. + + * html/HTMLCanvasElement.h: Changed HTMLCanvasElement to derive from HTMLElement + instead of HTMLImageElement. Added width, height, setWidth, setHeight, willDraw, + paint, drawingContext, createDrawingContext, and reset functions. Added m_size, + m_createdDrawingContext, m_data, and m_drawingContext data members. Removed + mapToEntry, attach, detach, and isURLAttribute functins. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::HTMLCanvasElement): Added initializers for new m_size, + m_createdDrawingContext, m_data, and m_drawingContext data members. + (WebCore::HTMLCanvasElement::~HTMLCanvasElement): Free m_data and m_drawingContext. + (WebCore::HTMLCanvasElement::parseMappedAttribute): Got rid of special case for + srcAttr, which is no longer needed since we aren't deriving from HTMLImageElement. + Added code that triggers a reset when either width or height is set. + (WebCore::HTMLCanvasElement::createRenderer): Added code to set the intrinsic + width and height of the renderer to the size of the element. + (WebCore::HTMLCanvasElement::setHeight): Added. Sets the height attribute. + (WebCore::HTMLCanvasElement::setWidth): Added. Sets the width attribute. + (WebCore::HTMLCanvasElement::willDraw): Added. Tells the renderer to repaint. + Also has FIXME mentioning we could dirty only the part that has changed in the future. + (WebCore::HTMLCanvasElement::reset): Added. Sets the size of the canvas and discards + the old buffer, which is an indirect way of resetting the buffer to transparent black. + (WebCore::HTMLCanvasElement::paint): Added. Draws the canvas image into the graphics + context that's passed in. + (WebCore::HTMLCanvasElement::createDrawingContext): Added. Allocates a buffer for + the bits, then creates a bitmap context for drawing into the buffer. + (WebCore::HTMLCanvasElement::drawingContext): Added. Calls createDrawingContext if + needed, then returns the current drawing context. + (WebCore::HTMLCanvasElement::createPlatformImage): Changed to always call CGContextFlush + and to create the image from the context in this class. + + * rendering/RenderHTMLCanvas.h: Remove almost all of the contents of this file. + Removed ~RenderHTMLCanvas, setNeedsImageUpdate, element, updateDrawnImage, drawingContext, + createDrawingContext, and drawnImage functions and _drawingContext, _drawingContextData, + _drawnImage, and _needsImageUpdate booleans. Changed RenderHTMLCanvas to derive from + RenderReplaced instead of RenderImage. + + * rendering/RenderHTMLCanvas.cpp: + (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): Changed to only initialize RenderReplaced. + (WebCore::RenderHTMLCanvas::renderName): Moved this in here, since there's no good reason + to have this virtual function inlined. + (WebCore::RenderHTMLCanvas::paint): Changed implementation to use HTMLCanvasElement::paint + instead ofcalling CGContextDrawImage directly. + (WebCore::RenderHTMLCanvas::layout): Removed the code that detects changes in width and + causes the drawing context to be recreated; instead, if the width and height changes we + scale when we paint the canvas. + + * bindings/js/JSCanvasRenderingContext2DBase.cpp: + (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction): + Separated out handling for <canvas> vs. <img> elements in drawRect, since + HTMLCanvasElement is no longer derived from HTMLImageElement. + +2006-04-09 Rob Buis <buis@kde.org> + + Reviewed by eseidel. Landed by eseidel. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=6027: + Dirty rect invalidation issues in mozilla sample + + Make sure the paths calculate the new bounding box and not + use the cached bbox. + + No automated test case possible. + + * kcanvas/RenderPath.cpp: + (WebCore::RenderPath::setPath): + +2006-04-09 Rob Buis <buis@kde.org> + + Reviewed by darin. Landed by eseidel. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=6930: + % width/height on nested <svg> tags do not work + + Set the context correctly for inner <svg>, so calculation of + width/height for inner <svg> elements is done against the + viewport element. + + Test: svg/custom/inner-percent.svg + + * ksvg2/svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::width): + (WebCore::SVGSVGElement::height): + +2006-04-08 Rob Buis <buis@kde.org> + + Reviewed by eseidel. Landed by eseidel. + + No automated test case possible. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=7531: + hang in SVGPolygonElementImpl::toPathData in polygon test case + + Make sure the points list is cleared, just like the path + list is cleared first before (re)parsing. + + * ksvg2/svg/SVGPolyElement.cpp: + (SVGPolyElement::parseMappedAttribute): + +2006-04-08 Darin Adler <darin@apple.com> + + Reviewed by Beth. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7622 + REGRESSION: New text fields should compute maxlength considering composed character sequences + + Test: fast/forms/input-text-maxlength.html + Test: fast/forms/input-text-paste-maxlength.html + + * html/HTMLInputElement.h: Removed all friend classes (not needed any more). Renamed + typeEnum to InputType. Made init() function private. Tweaked parameter names and formatting + in many function declarations. Made canHaveSelection, selectionStart, and selectionEnd + const. Made data members except for m_name private instead of protected. Added private + functions constrainValue and recheckValue. Removed unused isEditable function. + + * html/HTMLInputElement.cpp: + (WebCore::numGraphemeClusters): Added. + (WebCore::numCharactersInGraphemeClusters): Added. + (WebCore::HTMLInputElement::isKeyboardFocusable): Use inputType() instead of using m_type + directly. + (WebCore::HTMLInputElement::isMouseFocusable): Ditto. + (WebCore::HTMLInputElement::focus): Ditto. + (WebCore::HTMLInputElement::setInputType): Added code to call constrainValue or recheckValue + so we will enforce maxLen if changing from a type that doesn't have maxLen to one that does. + (WebCore::HTMLInputElement::type): More-standard formatting for switch statement. Put + cases into alphabetical order. + (WebCore::HTMLInputElement::state): Changed switch statement to include all case values and + not include a default case to take advantage of gcc's missing case warning. + (WebCore::HTMLInputElement::restoreState): Ditto. + (WebCore::HTMLInputElement::canHaveSelection): Ditto. + (WebCore::HTMLInputElement::selectionStart): Ditto. + (WebCore::HTMLInputElement::selectionEnd): Ditto. + (WebCore::HTMLInputElement::setSelectionStart): Ditto. + (WebCore::HTMLInputElement::setSelectionEnd): Ditto. + (WebCore::HTMLInputElement::select): Ditto. + (WebCore::HTMLInputElement::setSelectionRange): Ditto. + (WebCore::HTMLInputElement::click): Ditto. + (WebCore::HTMLInputElement::accessKeyAction): Ditto. + (WebCore::HTMLInputElement::parseMappedAttribute): Use inputType() instead of using m_type + directly. Added call to recheckValue when parsing a new value for the maxlength attribute. + (WebCore::HTMLInputElement::rendererIsNeeded): Changed switch statement to include all case + values and not include a default case to take advantage of gcc's missing case warning. + (WebCore::HTMLInputElement::createRenderer): Ditto. + (WebCore::HTMLInputElement::attach): Remove code to condition the value attribute when done + parsing. This is now all handled by constrainValue and recheckValue as needed. + (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use inputType() instead of using + m_type directly. + (WebCore::HTMLInputElement::appendFormData): Ditto. Rearranged code a little. + (WebCore::HTMLInputElement::setChecked): Ditto. + (WebCore::HTMLInputElement::setIndeterminate): Ditto. + (WebCore::HTMLInputElement::value): Ditto. Call constrainValue when reading the value out + of the value attribute. + (WebCore::HTMLInputElement::valueWithDefault): Use inputType() instead of using + m_type directly. Changed switch statement to include all case values and not include a + default case to take advantage of gcc's missing case warning. + (WebCore::HTMLInputElement::setValue): Ditto. Call constrainValue when storing a value. + (WebCore::HTMLInputElement::setValueFromRenderer): Added an assertion. + (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Use inputType() instead of + using m_type directly. + (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto. + (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto. + (WebCore::HTMLInputElement::defaultEventHandler): Ditto. Changed code to truncate inserted + text in a BeforeTextInsertedEvent to use the new constrainValue function and also the + numGraphemeClusters function, so it's based on grapheme clusters instead of characters and + shares code. + (WebCore::HTMLInputElement::constrainValue): Added. + (WebCore::HTMLInputElement::recheckValue): Added. + + * html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::HTMLIsIndexElement): + Removed unneeded code to set m_type to TEXT, which is already what it gets set to by + the base class's constructor. + + * html/HTMLGenericFormElement.h: Removed unused isEditable function. + * html/HTMLGenericFormElement.cpp: Ditto. + * html/HTMLTextAreaElement.h: Ditto. + * html/HTMLTextAreaElement.cpp: Ditto. + + * platform/StringImpl.cpp: (WebCore::StringImpl::truncate): Changed > to >= so that + truncating to the size of the string does nothing, efficiently. + + * rendering/RenderText.h: Added declaration of characterBreakIterator. + * rendering/RenderText.cpp: + (WebCore::characterBreakIterator): Made this public so it can be used in other files. + Maybe we should also move it to another source file later. Also renamed to remove the + "get" from the title. + (WebCore::RenderText::previousOffset): Updated for name change. + (WebCore::RenderText::nextOffset): Updated for name change. + + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::updateFromElement): + Removed code to implement maxlength checking. That's handled entirely in the DOM now. + Also moved down the code to get the value into a string so that it's done only in the + case where the string is used. + + * rendering/render_form.cpp: (WebCore::RenderFileButton::valueChanged): Use setValueFromRenderer + instead of setting the value directly in the input element. We changed this for all the other + types a while ago, and it works just as well for the input element. + + * dom/BeforeTextInsertedEvent.h: Added setText function. Previously, clients changed the text + by modifying the text object in place, but going forward we'd like to avoid that sort of thing. + + * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): + Changed code to assume clients will change the text in the event rather than mutating the + text object itself. This is compatible with possible future changes to String to be copy + on write. + * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Ditto. + +2006-04-07 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - test for http://bugs.webkit.org/show_bug.cgi?id=8134 + REGRESSION: dragging down from the middle of a text field does not select to end of field + + * editing/Selection.cpp: + (WebCore::comparePositions): Added. Takes shadow content into account. + (WebCore::Selection::validate): Changed to call comparePositions instead of calling + Range::compareBoundaryPoints directly. Also removed unneeded code to redundantly set + m_start and m_end to null and did a bit of reformatting. + + - some tiny efficiency improvements to the tokenizer -- no measurable speedup, but removes + a little bit of unneeded code + + * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Changed all the places + that do "unsigned short x = *c" to "unsigned short x = c->unicode()" when c is a QChar, + otherwise we do an unnecessary conversion to char (which requires a branch to see if + the c fits in a char). + +2006-04-07 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + Rolled the fix for 8250 back in and fixed a bug: + The local variables for the first and last nodes in the fragment + need to be reset when the fragment is changed for plaintext-only mode + or a change from the beforetextinserted event handler. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + +2006-04-07 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - fixed REGRESSION: offsetParent on element with no offset parent crashes + + * dom/Element.cpp: + (WebCore::Element::offsetParent): Add missing null check. + +2006-04-07 Justin Garcia <justin.garcia@apple.com> + + Reviewed by adele + + maxlength truncation in text fields didn't work if the fragment was a + single text node. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + +2006-04-07 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + <http://bugs.webkit.org/show_bug.cgi?id=8250> + REGRESSION: Interchange newlines aren't passed with the khtmlBeforeTextInsertedEvent + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + Interchange content removal happened before khtmlBeforeTextInsertedEvent was sent. + +2006-04-07 Justin Garcia <justin.garcia@apple.com> + + Reviewed by adele + + <http://bugs.webkit.org/show_bug.cgi?id=8219> + REGRESSION: Two extra newlines added when pasting a single styled line into a plaintext-only region + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + Converting the fragment to plaintext introduced an extraneous newline because + the range passed to plainText ended after the paragraph containing the fragment + built from the markup that TextEdit put on the paste board. TextIterator will + emit a newline when it exits a paragraph. + Two extra newlines were added because the '\n' in the plaintext string turns + into an interchange newline, which isn't removed because of 8250, and the + interchange newline looks like inline content that requires the insertion of + a paragraph separator during paste. + Fixed by creating a range using VisiblePositions at the start and the end of + the node that holds the fragment during paste's test rendering. + +2006-04-06 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + <http://bugs.webkit.org/show_bug.cgi?id=8145> + REGRESSION: Pasting text from TextEdit with a bold word into text field results in crash + + * editing/AppendNodeCommand.cpp: + (WebCore::AppendNodeCommand::doApply): + Assert that the node will be placed somewhere that's contenteditable. + * editing/InsertNodeBeforeCommand.cpp: + (WebCore::InsertNodeBeforeCommand::doApply): Ditto + * editing/JSEditor.cpp: + Enabled insertHTML for plaintext-only regions since it's useful for debugging rich + content pastes into the new text fields. + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + 1) After the first paragraph of the fragment has been merged with the first part of the + paragraph where the paste occured, if the next node to be inserted is inline, we put it + in a new paragraph because it was at the start of a paragraph in the fragment. The change + is to insert a paragraph separator if insertionPos.next() is null or outside of the current + editable region. + 2) Before the paste begins, a paragraph separator is inserted in order to avoid + nesting blocks from the fragment to be pasted inside the block where the paste will + occur. I made two fixes to the code that decides whether or not to insert the + paragraph separator and added testcases for each. Added a fixme because it appears that + this code is also used to ensure that the aforementioned insertionPos will be at the end of + a paragraph. This code should only be about preventing nesting. + +2006-04-06 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Anders. + + - Convert Element JS bindings to be almost completely autogenerated + http://bugs.webkit.org/show_bug.cgi?id=8227 + + * dom/Element.idl: Declare full interface in IDL. + * dom/Element.h: + (WebCore::Element::tagQName): Renamed from tagName, so the real DOM + method can be called tagName. + (WebCore::Element::tagName): inline alias for nodeName. + * dom/Element.cpp: + (WebCore::Element::scrollByUnits): Moved logic from JS bindings to + core DOM. + (WebCore::Element::scrollByLines): ditto + (WebCore::Element::scrollByPages): ditto + (WebCore::Element::offsetLeft): ditto, plus make unrendered elements return 0 not undefined + (WebCore::Element::offsetTop): ditto, plus make unrendered elements return 0 not undefined + (WebCore::Element::offsetWidth): ditto, plus make unrendered elements return 0 not undefined + (WebCore::Element::offsetHeight): ditto, plus make unrendered elements return 0 not undefined + (WebCore::Element::offsetParent): ditto + (WebCore::Element::clientWidth): ditto, plus make unrendered elements return 0 not undefined + (WebCore::Element::clientHeight): ditto, plus make unrendered elements return 0 not undefined + (WebCore::Element::scrollLeft): ditto + (WebCore::Element::scrollTop): ditto + (WebCore::Element::setScrollLeft): ditto + (WebCore::Element::setScrollTop): ditto + (WebCore::Element::scrollWidth): ditto, plus make unrendered elements return 0 not undefined + (WebCore::Element::scrollHeight): ditto, plus make unrendered elements return 0 not undefined + + * bindings/scripts/CodeGeneratorJS.pm: Added support for + ConvertUndefinedToTrue, for benefit of scroll methods where + omitted arguments should be treated as true. However, maybe + explicit overloading in the IDL would be a better long-term + approach for optional arguments. + + * khtml/ecma/kjs_binding.cpp: + (KJS::valueToStringWithNullCheck): fixed formatting + (KJS::valueToBooleanTreatUndefinedAsTrue): added for binding of scrollIntoView + (isn't this lame?) + * khtml/ecma/kjs_binding.h: + (KJS::toJS): fixed formatting, added new stuff + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMElement::getValueProperty): removed most of contents + (KJS::DOMElement::putValueProperty): ditto + (KJS::DOMElementProtoFunc::callAsFunction): ditto + + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): updated for rename + of tagName to tagQName + (WebCore::CSSStyleSelector::checkOneSelector): ditto + * dom/Document.cpp: + (WebCore::Document::importNode): ditto + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::removeInlineStyle): ditto + (WebCore::areIdenticalElements): ditto + * html/HTMLElement.cpp: + (WebCore::HTMLElement::inEitherTagList): ditto + (WebCore::HTMLElement::inInlineTagList): ditto + (WebCore::HTMLElement::inBlockTagList): ditto + +2006-04-06 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=8203 + REGRESSION: "Invite a friend" text field in GMail page spills out + of table + + RenderReplaced::calcMinMaxWidth() sets m_minWidth to 0 when the + width is a percent, so this patch copies that behavior into + RenderTextField::calcMinMaxWidth(). + + * rendering/RenderTextField.cpp: + (WebCore::RenderTextField::calcMinMaxWidth): + +2006-04-06 Darin Adler <darin@apple.com> + + - try to fix Windows build + + * WebCore.vcproj/WebCore/WebCore.vcproj: Add JSDocument.cpp. + +2006-04-05 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8111 + REGRESSION (NativeTextField): first click in form field on weather.com leaves focus + but no caret + + Test: fast/forms/input-text-self-emptying-click.html + + * page/MouseEventWithHitTestResults.h: Removed url, target, m_url and m_target, + replacing them with isOverLink and m_isOverLink. Replaced innerNode with targetNode, + and added logic to handle the case where the target node is removed from the document + but the element the target node was in is still inside the document. + * page/MouseEventWithHitTestResults.cpp: Added. + + * WebCore.xcodeproj/project.pbxproj: Added MouseEventWithHitTestResults.cpp. + * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto. + + * kwq/RenderTreeAsText.cpp: (nodePosition): Added a call to shadowParentNode so we + correctly dump positions within shadow trees. This was needed to give a good result + from my new test for this bug. + + * dom/Document.cpp: + (WebCore::Document::prepareMouseEvent): Update to pass fewer parameters to the + constructor for MouseEventWithHitTestResults. Now takes isOverLink boolean, and no + longer takes href and target parameters. + + * page/Frame.cpp: + (WebCore::Frame::handleMousePressEventDoubleClick): Use new name targetNode, instead + of old name innerNode. + (WebCore::Frame::handleMousePressEventTripleClick): Ditto. + (WebCore::Frame::handleMousePressEventSingleClick): Ditto. Also change code to check + if over a link to use !isOverLink instead of url.isNull. + (WebCore::Frame::handleMousePressEvent): Ditto. Also remove unused "url" local variable. + (WebCore::Frame::handleMouseMoveEvent): Ditto. + (WebCore::Frame::handleMouseReleaseEvent): Ditto. + (WebCore::Frame::passWidgetMouseDownEventToWidget): Ditto. + + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::handleMousePressEvent): Use new name targetNode, instead of old + name innerNode. + (WebCore::FrameMac::handleMouseMoveEvent): Ditto. + (WebCore::FrameMac::passSubframeEventToSubframe): Ditto. + (WebCore::FrameMac::sendContextMenuEvent): Ditto. + + * page/FrameView.cpp: + (WebCore::subframeForEvent): Use new name targetNode, instead of old name innerNode. + (WebCore::FrameView::handleMousePressEvent): Ditto. + (WebCore::FrameView::handleMouseDoubleClickEvent): Ditto. + (WebCore::selectCursor): Ditto. Also change code to check if over a link to use + isOverLink instead of !url.isNull. + (WebCore::FrameView::handleMouseMoveEvent): Ditto. + (WebCore::FrameView::handleMouseReleaseEvent): Ditto. + (WebCore::FrameView::updateDragAndDrop): Ditto. + +2006-04-05 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed and landed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8184 + REGRESSION (r13655): Layer outline not clipped where it should be + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::calculateRects): Reverted this part of the fix for bug 7943. + The outlineRect should not be inflated. + +2006-04-05 Rob Buis <buis@kde.org> + + Reviewed by Eric, landed by Maciej. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=7627: + SVG from the W3C SVG 1.1 test suite (cubic01.svg) renders as all black + + Fix this svg stylesheet to use strict-mode, as this makes sure + class selecting is done correctly. + + * ksvg2/svg/SVGStyleElement.cpp: + (SVGStyleElement::childrenChanged): + +2006-04-05 Justin Garcia <justin.garcia@apple.com> + + Reviewed by mjs + + I forgot to convert one of the implicit remove/inserts to an explicit remove/insert, + so we were hitting the assert I just added to InsertNodeBeforeCommand that checked for + implicit removes. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + +2006-04-05 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Anders. + + - autogenerate bindings for all of the methods and properties of Document + http://bugs.webkit.org/show_bug.cgi?id=8163 + + - also removed document.actualEncoding since it is not in any spec + or implemented by any other browser + + * DerivedSources.make: add JSDocument.h to results + * WebCore.xcodeproj/project.pbxproj: Added new files to project + * bindings/scripts/CodeGeneratorJS.pm: Support for new stuff needed by Document. + * dom/Document.cpp: + (WebCore::Document::readyState): moved impl here from JS bindings + (WebCore::Document::inputEncoding): ditto + (WebCore::Document::defaultCharset): ditto + (WebCore::Document::setCharset): ditto + * dom/Document.h: + (WebCore::Document::charset): added, synonym for inputEncoding. + (WebCore::Document::characterSet): ditto + * dom/Document.idl: Added. Full interface for the Document object. + * khtml/ecma/JSXMLHttpRequest.cpp: + (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): JSDocument, not DOMDocument + * khtml/ecma/JSXSLTProcessor.cpp: + (KJS::XSLTProcessorProtoFunc::callAsFunction): ditto + * khtml/ecma/kjs_binding.cpp: + (KJS::jsStringOrFalse): Added this convenience for the method on Document + that bizzarely returns false on failure and a string otherwise. + * khtml/ecma/kjs_binding.h: + * khtml/ecma/kjs_css.cpp: + (KJS::toJS): renamed for consistency + * khtml/ecma/kjs_css.h: + * khtml/ecma/kjs_dom.cpp: + - removed all traces of DOMDocument + (KJS::toJS): JSDocument, not DOMDocument + * khtml/ecma/kjs_dom.h: + * khtml/ecma/kjs_html.cpp: + (KJS::): + (KJS::JSHTMLDocument::JSHTMLDocument): inherit from JSDocument + (KJS::JSHTMLDocument::getOwnPropertySlot): ditto + (KJS::JSHTMLDocument::put): ditto + * khtml/ecma/kjs_html.h: + * khtml/ecma/kjs_traversal.cpp: + (KJS::toJS): added overloads + (KJS::toNodeFilter): handle JS functions as well as impl NodeFilter objects + * khtml/ecma/kjs_traversal.h: + * platform/AtomicString.h: + (WebCore::AtomicString::AtomicString): Allow implicit conversion from String. + +2006-04-05 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=8198> + Hitting an assert on undo paste + + ReplaceSelectionCommand was doing a combination of undoable and non-undoable + removes from the ReplacementFragment. On Undo Paste, the undoable removes + couldn't be undone because the tree was in a different state than it was + at the time of the remove. This patch makes all the removes from the fragment + non-undoable. We could make them all undoable, but I can't think of any reason + why we'd want the fragment to be reconstructed on an Undo Paste. + + * editing/AppendNodeCommand.cpp: + (WebCore::AppendNodeCommand::doApply): + Assert that the node to append isn't already in a tree, since if it is, it will + be removed in a non-undoable way. + * editing/InsertNodeBeforeCommand.cpp: + (WebCore::InsertNodeBeforeCommand::doApply): Ditto. + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + Nodes were being moved from the fragment to the document with undoable inserts. + Undoable inserts implicitly remove the node (in a non-undoable way) from its + old location if it is already in a tree. I now explicitly remove the nodes + from the fragment before inserting them into the document to make it clear that + they are being removed in a non-non-undoable way. I also changed the one undoable + remove from the fragment to a non-undoable remove. + * editing/ReplaceSelectionCommand.h: + Made ReplacementFragment's non-undoable removeNode public. + +2006-04-05 Darin Adler <darin@apple.com> + + - fixed the build + + * WebCore.xcodeproj/project.pbxproj: Oops! Resolved merge conflict. + +2006-04-05 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix for http://bugs.webkit.org/show_bug.cgi?id=8049 + StringImpl hash traits deleted value creates an init routine for WebCore + <rdar://problem/4442248> REGRESSION: WebCore has init routines (8049) + + * platform/StringHash.h: Added. Moved hash functions and such for + WebCore::String and friends into this file so we don't have to include + the hash traits header everywhere. Changed hashing for WebCore::StringImpl + and WebCore::String so that they use a raw pointer for the underlying + storage type, taking advantage of the new feature added in JavaScriptCore. + + * platform/AtomicString.h: Moved StrHash specialization to StringHash.h. + * platform/PlatformString.h: Moved StrHash specialization to StringHash.h. + * platform/StringImpl.h: Moved StrHash, CaseInsensitiveHash, and HashTraits + to StringHash.h. Left DefaultHash behind so that you can't get the wrong + hash function by accident if you forget to include "StringHash.h". + + * platform/StringImpl.cpp: Added include of StringHash.h and removed + RefPtr<StringImpl> HashTraits<RefPtr<StringImpl> >::_deleted, which is + the object with a global initializer causing all the trouble! + + * kwq/AccessibilityObjectCache.h: Changed hash function to be IntHash + instead of PtrHash. + + * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to inherit from + the generic traits in KXMLCore so we get a StorageType. Also cleaned up a + tiny bit by adding default values to the MappedAttributeKey constructor. + + * platform/CharsetNames.cpp: Changed hash traits here to be a new + TextEncodingIDHashTraits struct rather than defining new default traits + for the integer type since more integer types have default traits in + HashTraits.h now. Also added a specialization so this class will share + the underlying implementation (since InvalidEncoding happens to be -1). + + * bridge/mac/FrameMac.h: + * dom/Document.h: + * dom/xml_tokenizer.h: + * khtml/xsl/XSLTProcessor.h: + * kwq/JavaAppletWidget.h: + * page/FramePrivate.h: + * page/Page.cpp: + * platform/AtomicString.cpp: + * platform/TransferJob.h: + * rendering/render_applet.h: + Added include of StringHash.h. + + * WebCore.xcodeproj/project.pbxproj: Added StringHash.h. Remove unneeded + CREATE_HASH_TABLE variable in build settings. Re-sorted some file lists. + Added quotes to the CREATE_HASH_TABLE initialization in the rule that + builds generated files. Removed various unneeded build settings for that + target as well. + + * ForwardingHeaders/kxmlcore/HashTraits.h: Added. + + - other minor cleanup + + * bridge/mac/FrameMac.mm: Sorted includes. + * dom/Node.cpp: Removed bogus symbol after #endif. + + * khtml/xsl/XSLTProcessor.cpp: Sorted includes. Removed redundant using + namespace WebCore. + * loader/Cache.cpp: Ditto. + +2006-04-05 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin. + + Fix for <rdar://problem/4502311> text-transform:capitalize needs to + treat nbsp as a regular space when ICU changes + + There will be future changes in ICU to match the Unicode 4.1 + standard which no longer recognizes   as a word separator. We + need to work around this with text-transform:capitalize because + words after non-breaking spaces still need to be capitalized. + + No layout tests added because existing layout tests cover this. + + * platform/StringImpl.cpp: + (WebCore::StringImpl::capitalize): If the character is a non- + breaking space, add a regular space to our temporary buffer, + otherwise, just copy the character in. + +2006-04-05 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8110 + Define navigator.vendorSub (bcms.gov.uk doesn't allow access to login page) + + Test: fast/dom/navigator-vendorSub.html + + * khtml/ecma/kjs_navigator.cpp: + (KJS::Navigator::getValueProperty): Return an empty string for vendorSub property. + * khtml/ecma/kjs_navigator.h: + +2006-04-04 Darin Adler <darin@apple.com> + + Reviewed by Justin (editing parts) and Adele (the rest). + + - fix http://bugs.webkit.org/show_bug.cgi?id=8182 + some text-field-related layout tests are failing + + The smart paste code was getting confused and adding extra spaces. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): Use isStartOfParagraph instead of + isStartOfLine. + (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): Ditto. + + * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::enclosingEmptyListItem): + Change to call isStart/EndOfParagraph instead of Line. + + * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input): + Add a comment about how isStartOfLine is almost certainly wrong here. + + - clean up some loose ends in the Frame class from the recent renaming + + * page/Frame.h: Removed declarations of deleteMe1, deleteMe2, and + handleMouseMoveEventPart2. + * page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent): Removed + handleMouseMoveEventPart2 by renaming it to handleMouseMoveEvent and removing + handleMouseMoveEvent itself. + + - invoke the makefile directly, removing the generate-derived-sources script + + * WebCore.vcproj/WebCore/build-generated-files.sh: Call make directly. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * generate-derived-sources: Removed. + +2006-04-04 Adele Peterson <adele@apple.com> + + Reviewed by Justin. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=8158 + REGRESSION: Clicking past RTL text in a new text field puts the caret on the wrong side of the text + + Tests: + editing/selection/caret-rtl.html + editing/selection/caret-rtl-2.html + + * rendering/RenderText.cpp: (WebCore::RenderText::positionForCoordinates): + When calculating the position for the beginning or end of an InlineTextBox, + we now use offsetForPosition instead of just using m_start and m_len, because + offsetForPosition will take rtl text into account. I also made some formatting + changes. + +2006-04-04 David Hyatt <hyatt@apple.com> + + Fix for bug 8065, inline blocks incorrectly loses spaces between them. + + Reviewed by beth + + * dom/Text.cpp: + (WebCore::Text::rendererIsNeeded): + +2006-04-04 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + - Fix for: + http://bugs.webkit.org/show_bug.cgi?id=8092 + REGRESSION (NativeTextField): table contents misaligned in Netflix queue + + http://bugs.webkit.org/show_bug.cgi?id=8141 + REGRESSION: Native text field fails to wrap inside table + + http://bugs.webkit.org/show_bug.cgi?id=8072 + REGRESSION: text fields at connect.apple.com spill out of the containing box + + Test: fast/forms/input-table.html + + Rewrote calcMinMaxWidth for text fields so it considers width, + min-width, and max-width settings as well as the size attribute. + + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth): + +2006-04-04 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin. + + This is a followup to my fix for <rdar://problem/4493218> + + This patch re-names computeIntLength() and computeShortLength() to + be computeLengthInt() and computeLengthShort(), respectively, to + match the pre-existing computeLengthFloat(). This patch also adds + the slightly confusing-ly named computeLengthIntForLength() which + uses the max and min values of a 28-bit integer as bounds for + overflow. This function is necessary because Length objects expect + 28-bit integers. + + * css/css_valueimpl.cpp: + (WebCore::CSSPrimitiveValue::computeLengthInt): + (WebCore::CSSPrimitiveValue::computeLengthIntForLength): + (WebCore::CSSPrimitiveValue::computeLengthShort): + * css/css_valueimpl.h: + * css/cssstyleselector.cpp: + (WebCore::convertToLength): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::mapBackgroundXPosition): + (WebCore::CSSStyleSelector::mapBackgroundYPosition): + +2006-04-04 Timothy Hatcher <timothy@apple.com> + + Reviewed by Darin. + + The Debug and Release frameworks are now built with install paths relative to the build products directory. + This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. + + * WebCore.xcodeproj/project.pbxproj: + +2006-04-04 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=6608> + REGRESSION: Line disappears when deleting + + Rewrote moveNodesAfterNode to address these problems: + It moved nodes without preserving their style. + It traversed over siblings looking for a br to know when + to stop merging. If the br was burried inside a span, it + wouldn't find it. If the text is whitespace:pre, it wouldn't + stop. + In theory it would crash if the "enclosingInlineElements" of the start of the + selection to delete and the end of the selection to delete were the + same. We think that this will fix these: + <rdar://problems/3950559&4498113> + CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32 + CrashTracer: 1569 crashes in Mail at com.apple.WebCore: khtml::DeleteSelectionCommand::moveNodesAfterNode + 340 + But we haven't been able to construct a reproducible case. + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Moved from ReplaceSelectionCommand. + (WebCore::CompositeEditCommand::prune): Ditto. + * editing/CompositeEditCommand.h: + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::mergeParagraphs): + (WebCore::DeleteSelectionCommand::doApply): + * editing/DeleteSelectionCommand.h: + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + * editing/ReplaceSelectionCommand.h: + (WebCore::): + * editing/markup.cpp: + (WebCore::createMarkup): + Was crashing when passed a collapsed range. I early return an empty string instead. + +2006-04-04 John Sullivan <sullivan@apple.com> + + Reviewed by Adele Peterson. + + - WebCore part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing + + * bridge/mac/WebCoreSettings.h: + * bridge/mac/WebCoreSettings.mm: + (-[WebCoreSettings setPrivateBrowsingEnabled:]): + (-[WebCoreSettings privateBrowsingEnabled]): + Teach WebCoreSettings about private browsing (WebKit knew, but WebCore didn't) + + * kwq/KWQKHTMLSettings.h: + (KHTMLSettings::privateBrowsingEnabled): + (KHTMLSettings::setPrivateBrowsingEnabled): + Teach KHTMLSettings about private browsing + + * kwq/KWQLineEdit.mm: + Fix wrong class in a category method declaration; the compiler didn't seem to mind. + + * kwq/WebCoreTextField.mm: + (-[KWQSearchFieldCell _addStringToRecentSearches:]): + Override this method to bail out if private browsing is enabled. + +2006-04-04 Trey Matteson <trey@usa.net> + + Reviewed by Hyatt. + + http://bugs.webkit.org/show_bug.cgi?id=7951 + REGRESSION: Safari crashes when printing a google map w/directions + + Tests: none, because I believe it only happens when printing, due to the relayouts + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::recalcSectionsIfNeeded): Add new utility to let the cells + ensure the sections' grid data is up to date. + * rendering/RenderTable.h: + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::calcMinMaxWidth): Call above method. + +2006-04-03 Justin Haygood <jhaygood@spsu.edu> + + Reviewed by eseidel. Landed by eseidel. + + - WIN32: maximumScroll() is the maximum scroll delta, not the maximum scroll position. Update to use + the real maximum scroll position. + http://bugs.webkit.org/show_bug.cgi?id=8160 + + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::updateScrollBars): + +2006-04-04 Eric Seidel <eseidel@apple.com> + + Reviewed by andersca. + + Work-around spaces-in-pathnames issue in gnumake on win32. + http://bugs.webkit.org/show_bug.cgi?id=8173 + + * WebCore.vcproj/WebCore/build-generated-files.sh: + +2006-04-03 Darin Adler <darin@apple.com> + + - tried to fix build again + + * WebCore.xcodeproj/project.pbxproj: Removed JSStyleSheet files. + * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto. + +2006-04-03 Darin Adler <darin@apple.com> + + - fixed properties on a bunch of files + (removed allow-tabs and svn:executable from many) + + * css/css_base.cpp: + * html/html_headimpl.cpp: + * khtml/ecma/kjs_traversal.cpp: + * kwq/DeprecatedPtrListImpl.cpp: + * kwq/DeprecatedValueListImpl.cpp: + * loader/CachedScript.h: + * platform/ArrayImpl.cpp: + * platform/StringImpl.cpp: + * rendering/DataRef.h: + * rendering/RenderContainer.cpp: + * rendering/RenderTableCell.cpp: + * rendering/bidi.h: + * rendering/render_list.cpp: + * rendering/render_style.cpp: + * rendering/table_layout.h: + Converted tabs to spaces. + +2006-04-03 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7118 + Property values with extra items do not get treated as invalid (they should) + + Tests: fast/css/invalidation-errors.html + fast/css/invalidation-errors-2.html + fast/css/invalidation-errors-3.html + + * css/CSSGrammar.y: Rollback the properties added by parseValue() when it returns false. + * css/cssparser.h: Moved shorthand counting to ShorthandScope, a new class in cssparser.cpp. + * css/cssparser.cpp: + (WebCore::CSSParser::rollbackLastProperties): Added. + (WebCore::CSSParser::parseValue): Return false if there are too many properties in the list. + (WebCore::CSSParser::parseBackgroundShorthand): Use ShorthandScope. + (WebCore::CSSParser::parseShorthand): Ditto. + (WebCore::CSSParser::parse4Values): Ditto. + +2006-04-03 Darin Adler <darin@apple.com> + + - changed StyleSheet back to hand-generated since the generated toJS + function was not making the right type of wrapper for CSS style sheets + (fixes failing layout tests) + + * DerivedSources.make: Removed JSStyleSheet.h. + * css/StyleSheet.idl: Removed. + * khtml/ecma/kjs_css.cpp: Added DOMStyleSheet back in. + * khtml/ecma/kjs_css.h: Ditto. + +2006-04-03 Darin Adler <darin@apple.com> + + - fixed Macintosh build + + * WebCore.xcodeproj/project.pbxproj: Fixed paths of some files that were absolute + paths from my machine. + +2006-04-03 Darin Adler <darin@apple.com> + + - try to fix Windows build + + * WebCore.vcproj/WebCore/WebCore.vcproj: Add three new generated files as source files. + +2006-04-03 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - get RTL right for bug http://bugs.webkit.org/show_bug.cgi?id=8106 + REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus + + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): + Scroll to the right if RTL. + +2006-04-03 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=8147 + convert derived sources script to a Makefile + + * DerivedSources.make: Added. + * css/CSSPrimitiveValue.idl: Added. + * css/Counter.idl: Added. + * css/StyleSheet.idl: Added. + + * WebCore.xcodeproj/project.pbxproj: Added new generated files, IDLs, and the makefile. + * bindings/scripts/CodeGeneratorJS.pm: + + * generate-derived-sources: Added license header. Removed most of the script, except for + a single invocation of make. + + * khtml/ecma/kjs_css.h: Removed DOMStyleSheet, DOMCSSPrimitiveValue, + CSSPrimitiveValueConstructor, and DOMCounter. + * khtml/ecma/kjs_css.cpp: + (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet): Changed to use JSStyleSheet as the base class. + (KJS::DOMCSSStyleSheet::getOwnPropertySlot): Ditto. + (KJS::DOMCSSValueProtoFunc::callAsFunction): Added. + (KJS::toJS): Changed to use JSCSSPrimitiveValue. + (KJS::DOMRGBColor::getValueProperty): Changed to call toJS instead of making a + DOMCSSPrimitiveValue directly. + +2006-04-03 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + <http://bugs.webkit.org/show_bug.cgi?id=8117> + REGRESSION (NativeTextField): Drag and drop text within a text input field modifies page + + The frame's selection is only set after all sub-commands have been + performed. When we send the khtmlBeforeTextInsertedEvent to the root + editable element we were using frame->selection(), which may no longer + be in the document. + + Had to move the construction of the ReplacementFragment to when the + replace operation is applied, because endingSelection isn't the + endingSelection of the last operation when the replace operation + is constructed. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): + (WebCore::ReplaceSelectionCommand::doApply): + * editing/ReplaceSelectionCommand.h: + +2006-04-03 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt. + + Fix for <rdar://problem/4495644> crash when mousing over links at + nationalrealestateinvestors.com in + WebCore::RenderBlock::findNextLineBreak + + This is a fix for a repro crasher where a rootLineBox had a stale + pointer to a render object. + + * rendering/RenderFlow.cpp: + (WebCore::RenderFlow::dirtyLinesFromChangedChild): Only break from + the function because of selfNeedsLayout() if we are not an inline + flow, because if we are, we will not re-layout before bad things + can happen. + +2006-04-03 Timothy Hatcher <timothy@apple.com> + + Reviewed by Maciej. + + Removing idl files and some scripts from the WebCore target to prevent + them from being copied into the Resources. + + * WebCore.xcodeproj/project.pbxproj: + +2006-04-03 Dave Hyatt <hyatt@apple.com> + + Implement basic theme support on Win32. Still much to do, but + the backgrounds of buttons, textfields, checkboxes and radio + controls now draw correctly. Still work to do for the Classic look + and to get the foreground defaults of the controls correct. + + Reviewed by anders + + * dom/Node.h: + (WebCore::Node::isReadOnly): + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::isReadOnly): + * platform/win/IntRectWin.cpp: + (WebCore::IntRect::operator RECT): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::isControlStyled): + (WebCore::RenderTheme::stateChanged): + (WebCore::RenderTheme::isReadOnly): + (WebCore::RenderTheme::isHovered): + * rendering/RenderTheme.h: + (WebCore::RenderTheme::supportsHover): + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::isControlStyled): + * rendering/RenderThemeWin.cpp: + (WebCore::m_textFieldTheme): + (WebCore::RenderThemeWin::~RenderThemeWin): + (WebCore::RenderThemeWin::close): + (WebCore::RenderThemeWin::supportsFocus): + (WebCore::RenderThemeWin::determineState): + (WebCore::RenderThemeWin::getThemeData): + (WebCore::RenderThemeWin::paintButton): + (WebCore::RenderThemeWin::setCheckboxSize): + (WebCore::RenderThemeWin::setRadioSize): + (WebCore::RenderThemeWin::paintTextField): + * rendering/RenderThemeWin.h: + (WebCore::ThemeData::m_state): + (WebCore::RenderThemeWin::supportsHover): + (WebCore::RenderThemeWin::paintCheckbox): + (WebCore::RenderThemeWin::paintRadio): + +2006-04-03 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Beth. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8085 + REGRESSION: Main menu positioned incorrectly on eia.org and fedex.com/us + + Test: fast/dom/Element/offsetTop-table-cell.html + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::offsetTop): Skip table rows when adding up + the offsets, since a table cell's yPos() is relative to the table + section, not the row. + +2006-04-03 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/repaint/layer-outline.html fast/repaint/layer-outline-horizontal.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7943 + Layer outline does not repaint + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintLayer): Use the outlineRect for the + outline phase and do it only if the outlineRect isn't empty. + (WebCore::RenderLayer::calculateRects): Actually add the outline width to the + outline rect. + +2006-04-03 Adele Peterson <adele@apple.com> + + Reviewed by Justin. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=8104 + REGRESSION (NativeTextField): New text fields should not allow pasting newlines + + Test: fast/forms/input-truncate-newline.html + + * html/HTMLInputElement.cpp: + (WebCore::minPosition): Added helper function. + (WebCore::HTMLInputElement::defaultEventHandler): Searches for /r or /n and + truncates the text to be inserted to the earliest newline. + +2006-04-03 Alexey Proskuryakov <ap@nypop.com> + + Fixed a comment (forgot to save the file before the previous commit). + + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::open): + +2006-04-03 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8099 + REGRESSION: XMLHttpRequest lowercase post requests broken + + Test: http/tests/xmlhttprequest/methods-lower-case.html + + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::open): Uppercase some HTTP method names, to match a Firefox quirk. + (WebCore::XMLHttpRequest::send): Account for the above change. + +2006-04-02 Graham Dennis <Graham.Dennis@gmail.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8032 + REGRESSION: Focus ring not completely redrawn after a Delete changes its size + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::repaintAfterLayoutIfNeeded): When an element changes size, the + delta rectangles that need to be invalidated must be inflated by the outline size to ensure + that the previous outline is erased, and the space where the new outline is to be drawn is + also invalidated. This behaviour is identical to the behaviour of borders that was fixed in + bug 6301. + * manual-tests/outline-repaint-glitch.html: Added. Manual testcase. + This is just an outline version of border-repaint-glitch.html + +2006-04-02 Trey Matteson <trey@usa.net> + + Reviewed by Maciej. + + Support for fixing http://bugs.webkit.org/show_bug.cgi?id=8121 + REGRESSION: 404s are not displayed + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge currentForm]): Nuke redundant nil check. + (-[WebCoreFrameBridge frameElement]): Tweak to not rely on our document, which + gives a correct result even at the start of our loading process. + * bindings/objc/DOM.mm: + (-[DOMDocument _ownerElement]): Nuke redundant nil check. + +2006-04-02 David Kilzer <ddkilzer@kilzer.net> + + Reviewed by Maciej. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=8079 + REGRESSION: Redraw from page cache does not show visited links + + * page/Frame.cpp: (WebCore::Frame::reparseConfiguration): Added back + updateStyleSelector call that was removed as part of the patch for bug 7907. + +2006-04-02 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Hyatt. + + - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off + - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811) + (http://bugs.webkit.org/show_bug.cgi?id=6811) + - fixed tab and shift tab don't select the right things + http://bugs.webkit.org/show_bug.cgi?id=5685 + + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::nextKeyViewInFrame): + * bridge/mac/WebCoreFrameBridge.h: + +2006-04-02 Darin Adler <darin@apple.com> + + - add a few stubs to get Windows closer to building + + * platform/win/TemporaryLinkStubs.cpp: + (WebCore::focusRingColor): + (WebCore::setFocusRingColorChangeFunction): + (Frame::setNeedsReapplyStyles): + +2006-04-02 Darin Adler <darin@apple.com> + + - fix the build + + * WebCore.xcodeproj/project.pbxproj: Removed a bunch of files that should not have been + mentioned at all, and a bunch of others that should be in the project but not in the target. + +2006-04-02 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8123 + focus ring on new text field doesn't look like the old one + + - fix http://bugs.webkit.org/show_bug.cgi?id=7685 + Focus ring color should change to match graphite when system theme is graphite + + - some cleanup to how we parse user agent style sheets + + * css/CSSValueKeywords.in: Added -webkit-focus-ring-color. + + * css/cssstyleselector.cpp: + (WebCore::parseUASheet): Parse an array of chars instead of UTF-16. + Cuts the size of the style sheet in half. + (WebCore::CSSStyleSelector::applyProperty): Allow negative value for + outline-offset. Changed shadow parsing to use getColorFromPrimitiveValue + instead of repeating the same logic. + (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Added a case + for the focus ring color. + * rendering/render_style.h: (WebCore::RenderStyle::setOutlineOffset): + Changed to allow negative values. + + * css/html4.css: Removed a lot of excess spaces. Changed color of focus + to -webkit-focus-ring-color. Changed width of focus to 5px. + Added an outline-offset for <input type=text> of -2px. + + * css/cssparser.cpp: + (WebCore::CSSParser::parseValue): Added focus ring color as an outline color all + the time, and as any other color when not in strict mode. I'm confused about what's + best for this whole strict mode policy, and I may need advice on Hyatt to perfect + this one later. + (WebCore::CSSParser::parseColorFromValue): Removed code to pin r, g, and b because + the functions in platform already take care of that. Kept the pinning of a, though + because that's done in floating point before converting to an integer. + (WebCore::CSSParser::parseShadow): Allow focus ring color when not in strict mode. + + * bridge/mac/FrameMac.h: Eliminated the virtual detachFromView function. + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::FrameMac): Eliminated code to maintain the frame instances list. + (WebCore::FrameMac::~FrameMac): Ditto. + (WebCore::Frame::setNeedsReapplyStyles): Added. + + * bridge/mac/WebCoreSettings.mm: (-[WebCoreSettings _updateAllViews]): + * platform/mac/WebCoreTextRendererFactory.mm: + (-[WebCoreTextRendererFactory clearCaches]): + Changed to call the new Page::setNeedsReapplyStylesForSettingsChange instead of using the + obsolete Frame::instances. + + * page/Frame.h: Removed instances, mutableInstances, and detachFromView. + * page/Frame.cpp: Ditto. + + * page/FrameTree.cpp: + (WebCore::FrameTree::~FrameTree): Call setView(0) instead of detachFromView(). + (WebCore::FrameTree::removeChild): Ditto. + + * page/Page.h: + * page/Page.cpp: + (WebCore::Page::init): Added a set of pages instead of a page count. Also + register a function for when the focus ring color changes the first time this + is called. + (WebCore::Page::~Page): Call setView(0) instead of detachFromView. Also update + to manager the set of pages. + (WebCore::Page::setNeedsReapplyStyles): Call setNeedsReapplyStyles on all frames. + (WebCore::Page::setNeedsReapplyStylesForSettingsChange): Call setNeedsReapplyStyles + on all frames with the passed-in settings. + + * css/make-css-file-arrays.pl: Changed to run the C preprocessor on the + input files and to generate an array of char instead of unsigned short. + + * platform/PlatformString.h: Added a constructor that takes a char* and + a length. + * platform/String.cpp: (WebCore::String::String): Ditto. + + * WebCore.xcodeproj/project.pbxproj: Just some tweaks; adding in a few files like + the user agent style sheets. + + * platform/Color.h: Removed all use of DeprecatedString. Cleaned up a bit. + Added focusRingColor and setFocusRingColorChangeFunction. + * platform/Color.cpp: + (WebCore::makeRGB): Rewrote using max and min. + (WebCore::makeRGBA): Ditto. + (WebCore::parseHexColor): Cleaned up a bit; changed partway to String instead of + DeprecatedString. + (WebCore::Color::Color): Changed to use String and to call setNamedColor to save code. + (WebCore::Color::setNamedColor): Changed to use String in the interface. + + * platform/mac/ColorMac.mm: + (WebCore::observeTheme): Added. Function used to start up the observer. + (WebCore::setFocusRingColorChangeFunction): Added. Used to get a call back so we can + update all the views when the color changes (including recomputing style to get the + color change in). + (WebCore::setFocusRingColorChangeFunction): Added. Returns one of the two focus + ring colors. Both of these match what AppKit uses -- neither matches what we used + to have in the html4.css file. + (+[WebCoreControlTintObserver controlTintDidChange]): Added. Used to update when + the appearance is changed from blue to graphite and back. We keep a global so we + don't have to call over to AppKit every time; that's probably overkill but we need + the obsever for the color change function anyway. + +2006-04-02 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/inline-block/overflow-clip.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8118 + REGRESSION (r13595): Inline block's clipped overflow increases table row height + + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::placeBoxesVertically): Don't look at interior overflow + when calculating the contribution to the inline's vertical overflows. + +2006-04-02 Eric Seidel <eseidel@apple.com> + + Reviewed by andersca. + + Make WebCore safe against KJS::Node in JavaScriptCore private headers. + + * editing/ReplaceSelectionCommand.h: + * khtml/ecma/JSXMLSerializer.cpp: + (KJS::XMLSerializerProtoFunc::callAsFunction): + * khtml/ecma/JSXSLTProcessor.cpp: + (KJS::XSLTProcessorProtoFunc::callAsFunction): + * khtml/ecma/kjs_binding.cpp: + (KJS::ScriptInterpreter::forgetDOMNodeForDocument): + (KJS::ScriptInterpreter::putDOMNodeForDocument): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNode::DOMNode): + (KJS::DOMNode::mark): + (KJS::DOMNode::getValueProperty): + (KJS::DOMNode::putValueProperty): + (KJS::DOMNodeProtoFunc::callAsFunction): + (KJS::toNode): + (KJS::DOMEventTargetNode::DOMEventTargetNode): + (KJS::DOMDocumentProtoFunc::callAsFunction): + (KJS::DOMElement::putValueProperty): + (KJS::DOMElementProtoFunc::callAsFunction): + (KJS::checkNodeSecurity): + (KJS::toJS): + (KJS::getRuntimeObject): + (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection): + (KJS::DOMNamedNodesCollection::getOwnPropertySlot): + * khtml/ecma/kjs_events.cpp: + (KJS::JSLazyEventListener::JSLazyEventListener): + (KJS::ClipboardProtoFunc::callAsFunction): + * khtml/ecma/kjs_html.cpp: + (KJS::JSHTMLDocument::namedItemGetter): + (KJS::JSHTMLElement::framesetNameGetter): + (KJS::JSHTMLElement::getOwnPropertySlot): + (KJS::JSHTMLElement::pushEventHandlerScope): + (KJS::JSHTMLCollection::callAsFunction): + (KJS::JSHTMLCollection::getNamedItems): + (KJS::JSHTMLSelectCollection::put): + * khtml/ecma/kjs_traversal.cpp: + (KJS::JSNodeFilterCondition::acceptNode): + * khtml/ecma/kjs_window.cpp: + (KJS::Window::put): + * kwq/KWQPageState.mm: + (-[KWQPageState WebCore::]): + +2006-04-01 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - removed a bunch of unneeded ForwardingHeaders and WebCore+SVG headers + + * ForwardingHeaders/kcanvas: Removed. + * ForwardingHeaders/kcanvas/KCanvas.h: Removed. + * ForwardingHeaders/kdom: Removed. + * ForwardingHeaders/kdom/DOMString.h: Removed. + * ForwardingHeaders/kdom/Helper.h: Removed. + * ForwardingHeaders/kdom/KDOMSettings.h: Removed. + * ForwardingHeaders/kdom/Namespace.h: Removed. + * ForwardingHeaders/kdom/cache: Removed. + * ForwardingHeaders/kdom/cache/KDOMCachedImage.h: Removed. + * ForwardingHeaders/kdom/cache/KDOMCachedObject.h: Removed. + * ForwardingHeaders/kdom/cache/KDOMCachedObjectClient.h: Removed. + * ForwardingHeaders/kdom/cache/KDOMCachedScript.h: Removed. + * ForwardingHeaders/kdom/cache/KDOMLoader.h: Removed. + * ForwardingHeaders/kdom/core: Removed. + * ForwardingHeaders/kdom/core/DOMConfiguration.h: Removed. + * ForwardingHeaders/kdom/core/DOMException.h: Removed. + * ForwardingHeaders/kdom/core/DOMList.h: Removed. + * ForwardingHeaders/kdom/core/DOMString.h: Removed. + * ForwardingHeaders/kdom/core/NamedAttrMap.h: Removed. + * ForwardingHeaders/kdom/core/ProcessingInstruction.h: Removed. + * ForwardingHeaders/kdom/core/domattrs.h: Removed. + * ForwardingHeaders/kdom/ecma: Removed. + * ForwardingHeaders/kdom/ecma/GlobalObject.h: Removed. + * ForwardingHeaders/kdom/events: Removed. + * ForwardingHeaders/kdom/events/Event.h: Removed. + * ForwardingHeaders/kdom/events/EventListener.h: Removed. + * ForwardingHeaders/kdom/events/EventTarget.h: Removed. + * ForwardingHeaders/kdom/events/KeyboardEvent.h: Removed. + * ForwardingHeaders/kdom/events/MouseEvent.h: Removed. + * ForwardingHeaders/kdom/events/UIEvent.h: Removed. + * ForwardingHeaders/kdom/events/kdomevents.h: Removed. + * ForwardingHeaders/kdom/kdom.h: Removed. + * ForwardingHeaders/kdom/parser: Removed. + * ForwardingHeaders/kdom/parser/KDOMParser.h: Removed. + * ForwardingHeaders/ksvg2: Removed. + * ForwardingHeaders/ksvg2/KSVGPart.h: Removed. + * ForwardingHeaders/ksvg2/KSVGView.h: Removed. + * ForwardingHeaders/ksvg2/css: Removed. + * ForwardingHeaders/ksvg2/css/CSSPropertyNames.h: Removed. + * ForwardingHeaders/ksvg2/css/CSSValueKeywords.h: Removed. + * WebCore+SVG/KDOMHeaders.h: Removed. + * WebCore+SVG/Namespace.h: Removed. + * WebCore+SVG/kdom.h: Removed. + + * WebCore.xcodeproj/project.pbxproj: Removed headers. + + * kcanvas/KCanvasCreator.cpp: + * kcanvas/KCanvasResources.cpp: + * kcanvas/KCanvasTreeDebug.cpp: + * kcanvas/RenderPath.cpp: + * kcanvas/RenderSVGImage.cpp: + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + * ksvg2/css/SVGCSSStyleSelector.cpp: + * ksvg2/events/SVGZoomEvent.h: + * ksvg2/misc/KCanvasRenderingStyle.cpp: + * ksvg2/misc/KSVGTimeScheduler.cpp: + * ksvg2/misc/SVGImageLoader.cpp: + * ksvg2/svg/SVGAElement.cpp: + * ksvg2/svg/SVGAnimationElement.cpp: + * ksvg2/svg/SVGCircleElement.cpp: + * ksvg2/svg/SVGClipPathElement.cpp: + * ksvg2/svg/SVGCursorElement.cpp: + * ksvg2/svg/SVGCursorElement.h: + * ksvg2/svg/SVGDOMImplementation.cpp: + * ksvg2/svg/SVGDocument.cpp: + * ksvg2/svg/SVGDocument.h: + * ksvg2/svg/SVGElement.cpp: + * ksvg2/svg/SVGEllipseElement.cpp: + * ksvg2/svg/SVGExternalResourcesRequired.cpp: + * ksvg2/svg/SVGExternalResourcesRequired.h: + * ksvg2/svg/SVGFEBlendElement.cpp: + * ksvg2/svg/SVGFEColorMatrixElement.cpp: + * ksvg2/svg/SVGFEComponentTransferElement.cpp: + * ksvg2/svg/SVGFECompositeElement.cpp: + * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: + * ksvg2/svg/SVGFEDisplacementMapElement.cpp: + * ksvg2/svg/SVGFEFloodElement.cpp: + * ksvg2/svg/SVGFEGaussianBlurElement.cpp: + * ksvg2/svg/SVGFEImageElement.cpp: + * ksvg2/svg/SVGFEImageElement.h: + * ksvg2/svg/SVGFELightElement.cpp: + * ksvg2/svg/SVGFEMergeElement.cpp: + * ksvg2/svg/SVGFEOffsetElement.cpp: + * ksvg2/svg/SVGFESpecularLightingElement.cpp: + * ksvg2/svg/SVGFETileElement.cpp: + * ksvg2/svg/SVGFETurbulenceElement.cpp: + * ksvg2/svg/SVGFilterElement.cpp: + * ksvg2/svg/SVGGradientElement.cpp: + * ksvg2/svg/SVGHelper.cpp: + * ksvg2/svg/SVGImageElement.cpp: + * ksvg2/svg/SVGLangSpace.cpp: + * ksvg2/svg/SVGLength.cpp: + * ksvg2/svg/SVGLineElement.cpp: + * ksvg2/svg/SVGLinearGradientElement.cpp: + * ksvg2/svg/SVGList.h: + * ksvg2/svg/SVGLocatable.cpp: + * ksvg2/svg/SVGMarkerElement.cpp: + * ksvg2/svg/SVGMarkerElement.h: + * ksvg2/svg/SVGMaskElement.cpp: + * ksvg2/svg/SVGPathElement.cpp: + * ksvg2/svg/SVGPatternElement.cpp: + * ksvg2/svg/SVGPolyElement.cpp: + * ksvg2/svg/SVGPolygonElement.cpp: + * ksvg2/svg/SVGPolylineElement.cpp: + * ksvg2/svg/SVGRadialGradientElement.cpp: + * ksvg2/svg/SVGRectElement.cpp: + * ksvg2/svg/SVGSVGElement.cpp: + * ksvg2/svg/SVGStopElement.cpp: + * ksvg2/svg/SVGStyleElement.cpp: + * ksvg2/svg/SVGStyledElement.cpp: + * ksvg2/svg/SVGStyledLocatableElement.cpp: + * ksvg2/svg/SVGStyledTransformableElement.cpp: + * ksvg2/svg/SVGTextElement.cpp: + * ksvg2/svg/SVGTransformable.cpp: + * ksvg2/svg/SVGUseElement.cpp: + * ksvg2/svg/SVGViewElement.cpp: + Updated includes. + +2006-04-01 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8089 + REGRESSION: Caret position is off in native text field with text-align:right + + - fix http://bugs.webkit.org/show_bug.cgi?id=8082 + REGRESSION: Empty RTL text fields place the caret on the left side + + Need a way to make a test for this. No obvious way at the moment. + + * rendering/RenderFlow.cpp: (WebCore::RenderFlow::caretRect): + Consider border, padding, and the width of the caret properly in the + calculation of the caret's X position. + + * rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect): + Fixed some similar issues and rewrote this function for clarity. + However, I suspect this function was and remains broken and is almost + never called. + +2006-04-01 Darin Adler <darin@apple.com> + + Reviewed by Justin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8106 + REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus + + Test: fast/forms/input-text-scroll-left-on-blur.html + + * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Pass blur events + through to the RenderTextField, as well as mouse, drag, and wheel events. + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): Scroll all the way to + the left on a blur. + + - unrelated small changes + + * html/HTMLTextFieldInnerElement.cpp: Removed excess includes. + (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Tweaked comments a bit. + + * dom/Element.cpp: + (WebCore::Element::scrollIntoView): Removed unneeded this-> before function call. + (WebCore::Element::scrollIntoViewIfNeeded): Ditto. + + * page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent): Removed obsolete comment. + +2006-03-31 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Adele. + + <rdar://problem/4497684> REGRESSION(NativeTextField): After undoing pasted text in a field, the field changes to only a few pixels in height (8096) + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): merge into start block when pasting into + an empty editable subtree. + +2006-04-01 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8063 + REGRESSION: double clicking in new text fields won't select whole words + + Test: fast/forms/input-text-double-click.html + + * editing/visible_units.cpp: (WebCore::nextBoundary): Set the end of the range by + calling selectNodeContents rather than by calling setEndAfter. The problem with + setEndAfter is that it doesn't do anything when the parent of the node is 0, and + also it's not really what we want, since the boundary node is one with editable + contents -- we want to stay inside the boundary node. + + * editing/Selection.cpp: (WebCore::Selection::validate): Fix a tiny formatting glitch + I noticed at the same time. + +2006-03-31 John Sullivan <sullivan@apple.com> + + Reviewed by Tim Hatcher. + + - fixed <rdar://problem/4372842> 10.4.4 Regression: control-clicking on a misspelled word + doesn't select it or offer corrections (first click only) + + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::sendContextMenuEvent): + Rolled in this one-line change that Hyatt wrote ages ago. + +2006-03-31 Beth Dakin <bdakin@apple.com> + + Reviewed by John. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=8108 + REGRESSION (r13590-r13593): Floating table's cells don't paint + their background + + This is a regression from my painting patch yesterday. Just a silly + error I didn't catch. + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::paint): Change the phase of our new + PaintInfo, not our old one. + +2006-03-31 Tim Omernick <timo@apple.com> + + Reviewed by Adele. + + <http://bugs.webkit.org/show_bug.cgi?id=7858> + <rdar://problem/4483359> REGRESSION: New text field doesn't recognize the read only attribute + + * rendering/RenderTextField.cpp: + (WebCore::RenderTextField::createDivStyle): + Set user modify based on the form element's readOnly(). + (WebCore::RenderTextField::updateFromElement): + ditto + +2006-03-31 Adele Peterson <adele@apple.com> + + Reviewed by Tim Omernick. + + Updating shadowAncestorNode so it doesn't check for rootEditableElement. Now we just walk + up the tree to look for a shadowNode, and then we find the shadowParent. + + * dom/Node.cpp: (WebCore::Node::shadowAncestorNode): + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setSelectionRange): + Updated assertion to check for shadowAncestorNode instead of rootEditableElement. + +2006-03-31 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by John Sullivan. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8101 + REGSRESSION: Fix for bug 7031 causes 30 layout tests to fail + + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::placeBoxesVertically): Change top and bottom positions + only if childAffectsTopBottomPos is true. + * rendering/RenderFlow.cpp: + (WebCore::RenderFlow::paintLines): Redo a part of the patch for bug 7031 that + wasn't committed with the rest of the patch. + +2006-03-31 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin, landed by Beth. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=8081 + REGRESSION: Drop-down menu has gap at top + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcAbsoluteVerticalValues): When calculating + the hypothetical vertical position in normal flow, skip table rows + in the ancestor chain, since a table cell's Y position is relative + to the table section, not the row. + +2006-03-31 Dave Hyatt <hyatt@apple.com> + + Fix the border drawing for themes on Win32. + + Reviewed by adele + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintBoxDecorations): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::paintBorderOnly): + * rendering/RenderTheme.h: + +2006-03-31 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + * khtml/ecma/kjs_binding.cpp: Added names for VALIDATION_ERR and + TYPE_MISMATCH_ERR; new DOM Level 3 errors that need to be listed in + the mapping from error code to error name. + + * dom/Element.idl: Removed comment from bad old days where we had to + touch these files to make them rebuild. + +2006-03-30 Maciej Stachowiak <mjs@apple.com> + + - fixed Windows build breakage from previous change + + * platform/ScrollView.h: + * platform/win/FontWin.cpp: + (WebCore::Font::drawLineForText): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::scrollOffset): + (WebCore::ScrollView::scrollBy): + +2006-03-30 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - various Point / Size related cleanup + + First, I clarified the semantics of some operations to keep a + better distinction between IntPoint and IntSize: + + * platform/IntPoint.h: + (WebCore::IntPoint::move): new convenience to move a point by separate + x and y deltas. + (WebCore::operator+=): You can't add a point to a point, you can only add + a size to a point. + (WebCore::operator+): ditto + (WebCore::operator-): point - point = size; point - size = point + (WebCore::operator-=): only allow subtracting a size for the mutating version + * platform/IntRect.h: + (WebCore::IntRect::move): tweaked to use IntPoint::move, also, move by an IntSize, + not an IntPoint. + * platform/IntSize.h: + (WebCore::IntSize::shrunkTo): analog to expandedTo + (WebCore::IntSize::clampNegativeToZero): a handy helper + (WebCore::operator-): Added unary minus operator + + Made the same changes for FloatPoint: + + * platform/FloatPoint.h: + (WebCore::FloatPoint::move): + (WebCore::operator+=): + (WebCore::operator-=): + (WebCore::operator+): + (WebCore::operator-): + * platform/FloatRect.h: + (WebCore::FloatRect::move): + * platform/FloatSize.h: + (WebCore::operator-): + + Then I changed a bunch of stuff to pass around IntPoint instead of separate x and y + coordinates. The main one was: + + * platform/ScrollView.h: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::scrollOffset): new method, return an IntSize + (WebCore::ScrollView::contentsToViewport): take and return an IntPoint + (WebCore::ScrollView::viewportToContents): take and return an IntPoint + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::updateContents): handle things in terms of scrollOffset, + not scrollPoint + (WebCore::ScrollView::visibleContentRect): + (WebCore::ScrollView::contentsX): + (WebCore::ScrollView::contentsY): + (WebCore::ScrollView::viewportToContents): + (WebCore::ScrollView::contentsToViewport): + (WebCore::scrollOffset): + (WebCore::ScrollView::maximumScroll): + (WebCore::ScrollView::scrollBy): + (WebCore::ScrollView::updateScrollBars): + + The rest is mainly updates for these changes. + + * bridge/mac/FrameMac.h: + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::eventMayStartDrag): + (WebCore::FrameMac::dragHysteresisExceeded): + (WebCore::FrameMac::handleMouseMoveEvent): + (WebCore::FrameMac::mouseDown): + (WebCore::FrameMac::shouldDragAutoNode): + (WebCore::FrameMac::sendContextMenuEvent): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge isPointInsideSelection:]): + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::dispatchMouseEvent): + (WebCore::EventTargetNode::dispatchWheelEvent): + * khtml/ecma/kjs_window.cpp: + (KJS::WindowFunc::callAsFunction): + * page/Frame.cpp: + (WebCore::Frame::shouldDragAutoNode): + (WebCore::Frame::isPointInsideSelection): + (WebCore::Frame::selectClosestWordFromMouseEvent): + (WebCore::Frame::handleMousePressEventDoubleClick): + (WebCore::Frame::handleMousePressEventTripleClick): + (WebCore::Frame::handleMousePressEventSingleClick): + (WebCore::Frame::handleMouseMoveEventPart2): + (WebCore::Frame::handleMouseReleaseEvent): + * page/Frame.h: + * page/FrameView.cpp: + (WebCore::FrameView::dispatchDragEvent): + (WebCore::FrameView::prepareMouseEvent): + (WebCore::FrameView::handleWheelEvent): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollRectToVisible): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::draggableNode): + * rendering/RenderObject.h: + (WebCore::RenderObject::positionForPoint): + * rendering/render_list.cpp: + (WebCore::RenderListMarker::paint): + +2006-03-30 Maciej Stachowiak <mjs@apple.com> + + - fixed windows build + + * platform/win/TemporaryLinkStubs.cpp: + (Widget::unlockDrawingFocus): + +2006-03-31 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + A bit more code cleanup. + + * bridge/mac/WebCoreScriptDebugger.mm: + (-[WebCoreScriptCallFrame evaluateWebScript:]): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::submit): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setValue): + * kwq/WebCoreTextField.mm: + (-[KWQTextFieldController textView:shouldHandleEvent:]): + (-[KWQSecureTextField selectText:]): + * page/Frame.cpp: + (WebCore::Frame::submitForm): + * platform/Widget.h: + * platform/mac/WidgetMac.mm: + * rendering/render_frames.cpp: + (WebCore::RenderFrameSet::userResize): + +2006-03-30 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::wheelEvent): + (WebCore::FrameMac::eventMayStartDrag): + (WebCore::FrameMac::handleMouseMoveEvent): + (WebCore::FrameMac::sendContextMenuEvent): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]): + * dom/Document.cpp: + (WebCore::Document::elementFromPoint): + (WebCore::Document::prepareMouseEvent): + * dom/Document.h: + * kwq/WebCoreAXObject.mm: + (-[WebCoreAXObject doAXTextMarkerForPosition:]): + (-[WebCoreAXObject accessibilityHitTest:]): + * manual-tests/frame-hover.html: Added. + * manual-tests/resources/hover-subframe-1.html: Added. + * manual-tests/resources/hover-subframe-2.html: Added. + * page/Frame.cpp: + (WebCore::Frame::isPointInsideSelection): + * page/FrameView.cpp: + (WebCore::FrameView::prepareMouseEvent): + (WebCore::FrameView::handleWheelEvent): + * platform/IntRect.h: + (WebCore::IntRect::contains): + * rendering/RenderLayer.cpp: + (WebCore::isSubframeCanvas): + (WebCore::frameVisibleRect): + (WebCore::RenderLayer::hitTest): + (WebCore::shouldApplyImplicitCapture): + (WebCore::RenderLayer::hitTestLayer): + * rendering/RenderLayer.h: + +2006-03-30 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Tests: fast/repaint/flexible-box-overflow.html fast/repaint/flexible-box-overflow-horizontal.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8056 + Flexible boxes do not repaint their top, left and children's overflows + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlockChildren): + * rendering/RenderFlexibleBox.cpp: + (WebCore::FlexBoxIterator::next): + (WebCore::RenderFlexibleBox::layoutHorizontalBox): Update top overflow when + determining vertical positions. Update horizontal overflows after horizontal + positions are determined. + (WebCore::RenderFlexibleBox::layoutVerticalBox): Update left overflow when + determining horizontal positions. Update vertical overflows after vertical + positions are determined. + (WebCore::RenderFlexibleBox::allowedChildFlex): + +2006-03-30 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Tests: fast/repaint/text-shadow.html fast/repaint/text-shadow-horizontal.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7301 + Text shadow does not repaint correctly + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paint): Paint the text box if it is within the maximum + possible horizontal shadow overflow of the damage rect. + * rendering/InlineTextBox.h: Removed unused function checkVerticalPoint(). + * rendering/RenderFlow.cpp: + (WebCore::RenderFlow::paintLines): Use the vertical overflows instead of the + selection vertical bounds. + (WebCore::RenderFlow::hitTestLines): + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::placeBoxesHorizontally): Include overflow due to text shadow + in leftPosition and rightPosition and keep track of the maximum horizontal shadow + on the inline. + (WebCore::InlineFlowBox::verticallyAlignBoxes): + (WebCore::InlineFlowBox::placeBoxesVertically): Include overflow due to shadow and + inline-blocks' overflow in topPosition and bottomPosition but not in the selection + vertical bounds. + (WebCore::RootInlineBox::selectionTop): + * rendering/render_line.h: + (WebCore::InlineFlowBox:::InlineRunBox): + (WebCore::InlineFlowBox::setVerticalSelectionPositions): + (WebCore::InlineFlowBox::maxHorizontalShadow): + (WebCore::RootInlineBox::setVerticalSelectionPositions): + (WebCore::RootInlineBox::selectionBottom): + (WebCore::RootInlineBox::selectionHeight): + +2006-03-30 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt. + + Fix for <rdar://problem/4472371> REGRESSION(417.9-TOT): Focus ring + around link in overflow:auto div isn't clipped to div + + Focus rings around the children off overflow:auto divs were not + being appropriately clipped because they were being painted with + the div's outlineRect, when they should be painted separately. This + patch adds two new PaintPhases -- PaintPhaseSelfOutline and + PaintPhaseChildOutlines -- to address this problem. + + This patch also changes the name of PaintAction back to PaintPhase. + Because Hyatt said so. + + * kcanvas/KCanvasResources.cpp: + (WebCore::KCanvasMarker::draw): + * kcanvas/RenderPath.cpp: + (WebCore::RenderPath::paint): + * kcanvas/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::paint): + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + (WebCore::KCanvasContainerQuartz::paint): + * ksvg2/svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::drawMaskerContent): + * ksvg2/svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::drawPatternContentIntoTile): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paint): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paint): + (WebCore::RenderBlock::paintChildren): + (WebCore::RenderBlock::paintObject): + (WebCore::RenderBlock::paintFloats): + (WebCore::RenderBlock::paintEllipsisBoxes): + (WebCore::RenderBlock::paintSelection): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::setStyle): + * rendering/RenderCanvas.cpp: + (WebCore::RenderCanvas::paint): + * rendering/RenderFlow.cpp: + (WebCore::RenderFlow::paintLines): + * rendering/RenderHTMLCanvas.cpp: + (WebCore::RenderHTMLCanvas::paint): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paint): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintLayer): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::maximalOutlineSize): + * rendering/RenderObject.h: + (WebCore::): + (WebCore::RenderObject::PaintInfo::PaintInfo): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::paint): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::paint): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::paint): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::paint): + * rendering/render_button.cpp: + (WebCore::RenderButton::paintObject): + * rendering/render_line.cpp: + (WebCore::InlineBox::paint): + (WebCore::InlineFlowBox::paint): + (WebCore::InlineFlowBox::paintBackgroundAndBorder): + (WebCore::RootInlineBox::paintEllipsisBox): + * rendering/render_list.cpp: + (WebCore::RenderListMarker::paint): + * rendering/render_replaced.cpp: + (WebCore::RenderReplaced::shouldPaint): + (WebCore::RenderWidget::paint): + +2006-03-30 Tim Omernick <timo@apple.com> + + Manual test case for the Java aspect of <rdar://problem/4212626> REGRESSION: LIVECONNECT: + JavaScript type for Java Strings is function, not object + + * manual-tests/java-string-object-type.html: Added. + * manual-tests/resources/StringTypeTest.class: Added. + * manual-tests/resources/StringTypeTest.java: Added. + +2006-03-30 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Fix text form controls, and add basic submit support! + + * bridge/win/FrameWin.cpp: + (WebCore::FrameWin::submitForm): + * bridge/win/FrameWin.h: + * platform/win/KeyEventWin.cpp: + (WebCore::keyIdentifierForWindowsKeyCode): + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + * platform/win/TemporaryLinkStubs.cpp: + (FrameWin::incomingReferrer): + * platform/win/TransferJobWin.cpp: + (WebCore::TransferJob::start): + +2006-03-30 Adele Peterson <adele@apple.com> + + Reviewed by Justin. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=8083 + REGRESSION: Repro crash when dragging to select over a new text field + + * editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent): + When searching for non-editable content, if the end of the selection is in a + shadow tree, then we need to jump out of that first. + +2006-03-30 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + http://bugs.webkit.org/show_bug.cgi?id=6989 + REGRESSION: Plain-text mode needed for contenteditable area used in new text field + + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge isSelectionEditable]): + (-[WebCoreFrameBridge isSelectionRichlyEditable]): + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSValueKeywords.in: + * css/cssparser.cpp: + (WebCore::CSSParser::parseValue): + * dom/Node.cpp: + (WebCore::Node::isContentRichlyEditable): + * dom/Node.h: + * editing/EditCommand.cpp: + (WebCore::EditCommand::apply): + * editing/JSEditor.cpp: + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + (WebCore::ReplaceSelectionCommand::doApply): + * editing/Selection.h: + (WebCore::Selection::rootEditableElement): + (WebCore::Selection::isContentEditable): + (WebCore::Selection::isContentRichlyEditable): + * editing/SelectionController.h: + (WebCore::SelectionController::rootEditableElement): + (WebCore::SelectionController::isContentEditable): + (WebCore::SelectionController::isContentRichlyEditable): + * html/HTMLElement.cpp: + (WebCore::HTMLElement::isContentEditable): + (WebCore::HTMLElement::contentEditable): + (WebCore::HTMLElement::setContentEditable): + * rendering/RenderTextField.cpp: + (WebCore::RenderTextField::createDivStyle): + * rendering/render_style.h: + (WebCore::): + +2006-03-30 David Harrison <harrison@apple.com> + + Reviewed by Justin. + + <rdar://problem/4444693> REGRESSION: Deleting empty lines causes quoted text to mistakenly get "unquoted" + + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::handleGeneralDelete): + Formatting. + (WebCore::DeleteSelectionCommand::moveNodesAfterNode): + Generalize check that preserves nesting when deleting to the beginning of an ancestor block. + + * editing/deleting/delete-block-merge-contents-022.html: Added. + * editing/deleting/delete-block-merge-contents-023.html: Added. + * editing/deleting/delete-block-merge-contents-024.html: Added. + +2006-03-30 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin. + + - Test for http://bugs.webkit.org/show_bug.cgi?id=8076 + REGRESSION: native text fields are reversed on "visual Hebrew" pages + + * fast/forms/visual-hebrew-text-field-expected.checksum: Added. + * fast/forms/visual-hebrew-text-field-expected.png: Added. + * fast/forms/visual-hebrew-text-field-expected.txt: Added. + * fast/forms/visual-hebrew-text-field.html: Added. + +2006-03-30 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by John Sullivan. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8051 + Empty forms are submitted incorrectly + + Test: fast/forms/empty-get.html + + * platform/KURL.cpp: + (KURL::setQuery): Add a question mark for empty query strings, too. + +2006-03-30 Dave Hyatt <hyatt@apple.com> + + Roll out the fix to 7102 and reopen it to get Spinneret working + again. + + Reviewed by justin + + * page/Frame.cpp: + (WebCore::Frame::didOpenURL): + (WebCore::Frame::receivedFirstData): + (WebCore::Frame::begin): + +2006-03-30 Dave Hyatt <hyatt@apple.com> + + Land support for JPEG image decoding on Win32. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/cairo/ImageSourceCairo.cpp: + (WebCore::createDecoder): + (WebCore::ImageSource::frameHasAlphaAtIndex): + * platform/image-decoders/ImageDecoder.h: + (WebCore::RGBA32Buffer::setRGBA): + (WebCore::ImageDecoder::supportsAlpha): + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::haveDecodedRow): + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + (WebCore::JPEGImageReader::JPEGImageReader): + (WebCore::JPEGImageReader::close): + (WebCore::JPEGImageReader::skipBytes): + (WebCore::JPEGImageReader::decode): + (WebCore::JPEGImageReader::info): + (WebCore::JPEGImageReader::samples): + (WebCore::JPEGImageReader::decoder): + (WebCore::error_exit): + (WebCore::init_source): + (WebCore::skip_input_data): + (WebCore::fill_input_buffer): + (WebCore::term_source): + (WebCore::JPEGImageDecoder::decode): + (WebCore::JPEGImageDecoder::outputScanlines): + (WebCore::JPEGImageDecoder::jpegComplete): + * platform/image-decoders/jpeg/JPEGImageDecoder.h: + (WebCore::JPEGImageDecoder::supportsAlpha): + (WebCore::JPEGImageDecoder::setSize): + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::rowAvailable): + +2006-03-29 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=8067> + REGRESSION: selectionRect includes next/previous replaced elements + Also fixes: <rdar://problems/4402375&4474871&4492934> + + In the case where a selection starts at the end or ends at the start + of o, o->selectionState() != SelectionNone, but o isn't really selected. + Constraining the selection with upstream and downstream eliminates these + types of endpoints, but constraining endpoints that occur at the + start or end of a paragraph creates positions inside containers - some + of which the selection painting code isn't equipped to handle. + + * dom/Document.cpp: + (WebCore::Document::updateSelection): + * rendering/render_replaced.cpp: + (WebCore::RenderReplaced::shouldPaint): + (WebCore::RenderReplaced::selectionRect): + (WebCore::RenderReplaced::setSelectionState): + (WebCore::RenderWidget::setSelectionState): + +2006-03-29 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=6986 + Switch to use new text field implementation for <input type="text"> + + * css/html4.css: Added default style info for new text fields. + * rendering/RenderTextField.cpp: + (WebCore::RenderTextField::createDivStyle): Added an extra 1px of padding on the left & right to match Win IE & the latest Mozilla. + (WebCore::RenderTextField::updateFromElement): Removed some outdated comments. Cleaned up the way we add text nodes to the div. + (WebCore::RenderTextField::setSelectionStart): Tweaked selection code to better match Mozilla behavior. + (WebCore::RenderTextField::setSelectionEnd): ditto. + (WebCore::RenderTextField::select): Cleaned this up by having it call setSelectionRange. + (WebCore::RenderTextField::setSelectionRange): Calls updateLayout now in case this is called in an onload handler, and no other layout has occurred. + (WebCore::RenderTextField::calcMinMaxWidth): Use floatWidth to calculate the width of the "0" character. + * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlStyled): If the text field's specified border is different from + the default border, then treat the control as styled, so the engine knows to turn off the aqua appearance. + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintTextField): return false so the engine knows not to try to draw the border. + (WebCore::RenderThemeMac::adjustTextFieldStyle): text field style info has been moved to html4.css. + We also add intrinsic margins here if the font size is large enough. + * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): + No longer check for appearance. All text fields with m_type == TEXT will use the new implementation. + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::isKeyboardFocusable): ditto. + (WebCore::HTMLInputElement::focus): ditto. + (WebCore::HTMLInputElement::selectionStart): ditto. + (WebCore::HTMLInputElement::selectionEnd): ditto. + (WebCore::HTMLInputElement::setSelectionStart): ditto. + (WebCore::HTMLInputElement::setSelectionEnd): ditto. + (WebCore::HTMLInputElement::select): ditto. + (WebCore::HTMLInputElement::setSelectionRange): ditto. + (WebCore::HTMLInputElement::createRenderer): ditto. + (WebCore::HTMLInputElement::defaultEventHandler): ditto. + (WebCore::HTMLInputElement::isMouseFocusable): Added. Old text fields relied on the widget to provide a focus policy. + A text field that is focusable should be mouse focusable, and shouldn't need to ask the base class. + * html/HTMLInputElement.h: Added isMouseFocusable. + * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::isMouseFocusable): + Removed specific text field code since that is now done in HTMLInputElement::isMouseFocusable. + * dom/Document.cpp: (WebCore::Document::clearSelectionIfNeeded): Check that the new selection is does not have a shadowAncestorNode that is focused. + +2006-03-29 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8026 + A particular animated SVG crashes in filter code + <rdar://problem/4494775> A particular animated SVG crashes in filter code + + - fix some code that is not handling references correctly for GC + + Test: svg/custom/empty-merge.svg + + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (WebCore::KCanvasFilterQuartz::KCanvasFilterQuartz): Use KWQRetainNSRelease to + properly retain a reference to an Objective-C object in a C++ class. + (WebCore::KCanvasFilterQuartz::~KCanvasFilterQuartz): Use KWQRelease instead of + release. + (WebCore::KCanvasFilterQuartz::prepareFilter): Use KWQRetain instead of retain. + (WebCore::KCanvasFilterQuartz::applyFilter): Use KWQRelease instead of release. + (WebCore::KCanvasFilterQuartz::imageForName): Use objectForKey: instead of + valueForKey: on the dictionary to sidestep a bug in valueForKey: on empty strings + and because what we're doing with a dictionary here has nothing to do with + key value encoding. + + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz): + Use KWQRelease instead of release. + (WebCore::KRenderingDeviceContextQuartz::nsGraphicsContext): Use KWQRetain + instead of retain to properly retain a reference to an Objective-C object + in a C++ class. + + * platform/mac/ImageMac.mm: + (WebCore::Image::invalidateNativeData): Use CFRelease instead of release. + (WebCore::Image::getNSImage): Use KWQRetainNSRelease to properly retain + a reference to an Objective-C object in a C++ class. + +2006-03-29 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin. + + - WebCore side of fix for <rdar://problem/4308243> 8F36 Regression: + crash in malloc_consolidate if you use a .PAC file + + (1) To ensure thread-safe deallocation, set the "unsafe to destroy on + non-main threads" bit in the DOMObject constructor. + + (2) Made all binding objects inherit from DOMObject, because the + WebCore data structures they wrap are not thread-safe. "DOMObject" is + a slightly awkward name for things like the Window object, but the + DOM spec is considering adding a Window object, and creating a whole + new base class for this purpose seemed like overkill. + + * khtml/ecma/JSDOMParser.h: + * khtml/ecma/JSXMLHttpRequest.h: + * khtml/ecma/JSXMLSerializer.cpp: + (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp): + * khtml/ecma/JSXMLSerializer.h: + * khtml/ecma/JSXSLTProcessor.h: + * khtml/ecma/kjs_binding.h: + (KJS::DOMObject::DOMObject): Unset the "safe to collect on non-main + threads bit" to ensure thread-safe deallocation. + * khtml/ecma/kjs_html.h: + * khtml/ecma/kjs_navigator.cpp: + (KJS::Navigator::Navigator): + (KJS::PluginBase::PluginBase): + * khtml/ecma/kjs_navigator.h: + * khtml/ecma/kjs_proxy.cpp: + * khtml/ecma/kjs_window.cpp: + (KJS::History::History): + (KJS::FrameArray::FrameArray): + (KJS::Screen::Screen): + (KJS::Window::Window): + (KJS::BarInfo::BarInfo): + * khtml/ecma/kjs_window.h: + +2006-03-29 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin. + + - Fixed <rdar://problem/4477126> TOT REGRESSION: with release + build, maps.google.com zoom slider always zooms fully out + + There were 2 problems: (1) A syntax error in the UIEvent IDL file + prevented some things from showing up in the bindings; (2) + MouseEvent had a duplicate isSimulated property that shadowed + MouseRelatedEvent's isSimulated property, and MouseEvent failed to + initialize MouseRelatedEvent's isSimulated property. + + * dom/UIEvent.idl: + * dom/dom2_eventsimpl.cpp: + (WebCore::MouseRelatedEvent::MouseRelatedEvent): + (WebCore::MouseEvent::MouseEvent): + * dom/dom2_eventsimpl.h: + +2006-03-29 Tim Omernick <timo@apple.com> + + Reviewed by Darin. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setInputType): + If the input type is dynamically changed, reevaluate whether the element maintains its state + (this decision is based on the input's type). Fixes an assertion error when leaving a page + with a text field that had been dynamically changed to a password field. + +2006-03-29 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - http://bugs.webkit.org/show_bug.cgi?id=8055 + Fix most CSS grammar conflicts. + + Gets the number of shift/reduce and reduce/reduce conflicts down from 37+4 to 7+0. + + I have fixed the reduce/reduce conflicts, then noticed that two of the fixes + were already made in KDE tree (the other two are different because declaration + blocks are described in quite different ways). Shift/reduce fixes are just + merged from KDE, r332845 by Michael Matz. + + * css/CSSGrammar.y: + +2006-03-29 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7157 + An asterisk in a CSS property name breaks CSS handling + (Many layout problems at letras.terra.com.br) + + Test: fast/css/error-in-last-decl.html + + * css/CSSGrammar.y: Added a rule for the case when the last CSS rule + has a syntax error, and doesn't end with a semicolon. + +2006-03-29 Darin Adler <darin@apple.com> + + Reviewed by Anders. + + - another cut at fixing the buildbot + + * generate-derived-sources: Fix if statement that was always following + the Windows case. I believe this is the main problem. + + * WebCore.xcodeproj/project.pbxproj: Added CharsetData.h and added CharsetData.cpp + to the target. + * WebCore.vcproj/WebCore/WebCore.vcproj: Similar changes. + + * platform/CharsetData.h: Added. + * platform/CharsetNames.cpp: Moved the actual character set data out into a + separate source file instead of include a .cpp file. + + * platform/make-charset-table.pl: Changed to generate a file that can stand alone. + +2006-03-29 Darin Adler <darin@apple.com> + + - an attempt to fix the buildbot + + * platform/mac/mac-encodings.txt: Touched this file so the character encodings + files will be regenerated. + +2006-03-29 Darin Adler <darin@apple.com> + + - a quick cut at fixing the windows build + + * WebCore.vcproj/WebCore/WebCore.vcproj: Added a few recently-added files. + +2006-03-29 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Anders. + + - fixed <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating + + Also fixed other issues with contains. The problem that caused the bug was: + - contains should return true for the element itself, unlike isAncestor + + Other problems I fixed: + - contains shouldn't be present on non-Element nodes + - contains should return false when passed a non-Element node + - contains should return false when passed a non-Node + + * bindings/scripts/CodeGeneratorJS.pm: Handle Element as a parameter. + * dom/Element.cpp: + (WebCore::Element::contains): Added new implementation. + * dom/Element.h: Added prototype for contains. + * dom/Element.idl: Added IDL declaration for contains. + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNodeProtoFunc::callAsFunction): Added old wrong contains(). + +2006-03-28 Beth Dakin <bdakin@apple.com> + + Reviewed by Maciej + + Fix for <rdar://problem/4493218> repro crash in + khtml::RenderBlock::repaintFloatingDescendants with giant + cellspacing value + + Some callers of CSSPrimitiveValue::computeLength() expect an int, + and others a short. This patch splits computeLength() into + computeIntLength() and computeShortLength() so that the appropriate + bounds can be checked. + + * css/css_valueimpl.cpp: + (WebCore::CSSPrimitiveValue::computeIntLength): Return 0 if not + within int bounds. + (WebCore::CSSPrimitiveValue::computeShortLength): Return 0 if not + within short bounds. + * css/css_valueimpl.h: + * css/cssstyleselector.cpp: + (WebCore::convertToLength): Switch to appropriate computeLength() + call. + (WebCore::CSSStyleSelector::applyProperty): Same. + (WebCore::CSSStyleSelector::mapBackgroundXPosition): Same. + (WebCore::CSSStyleSelector::mapBackgroundYPosition): Same. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::repaintFloatingDescendants): Nil check + m_floatingObjects and add an assertion. This is not necessary for + the fix, it is just because we are not sure that it is safe not to + nil-check, and we want to prevent potential problems in release + builds, and catch them with the assertion in debug builds. + (WebCore::RenderBlock::addOverhangingFloats): Same as above. + +2006-03-28 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=4616 + Setting nodeValue on a textnode with collapsed whitespace only has no visual effect + + Test: fast/dom/space-to-text.html + + * dom/CharacterData.cpp: + (WebCore::CharacterData::setData): Create a renderer if it's needed, but missing. + (WebCore::CharacterData::appendData): Ditto. + (WebCore::CharacterData::insertData): Ditto. + (WebCore::CharacterData::replaceData): Ditto. + +2006-03-28 Tim Omernick <timo@apple.com> + + Reviewed by Maciej. + + <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating + to another page while selecting inside textarea inside iframe + + * kwq/WebCoreTextArea.mm: + (-[WebCoreTextArea mouseDown:]): + Guard super's -mouseDown: with calls to Widget::beforeMouseDown() and Widget::afterMouseDown(). + Other widgets do this to protect against being removed from the page and deallocated while handling + mouse down events. + (-[WebCoreTextView mouseDown:]): + ditto + + * manual-tests/textarea-iframe-navigation.html: Added. + * manual-tests/textarea-iframe-navigation2.html: Added. + Manual test case for this fix. + +2006-03-28 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + <rdar://problem/4402170> CrashTracer: 499 crashes in Safari at com.apple.WebCore: DOM::DocumentImpl::open + 16 + + * dom/Document.cpp: + (WebCore::Document::write): Fix unreproducible infinite recursion. + +2006-03-28 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Remove global initializers. + + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + * ksvg2/svg/SVGAngle.cpp: + * ksvg2/svg/SVGColor.cpp: + * ksvg2/svg/SVGLength.cpp: + +2006-03-28 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Switch UIEvent, MouseEvent and KeyboardEvent over to + be new auto-generated bindings. + http://bugs.webkit.org/show_bug.cgi?id=7928 + + Updated test: fast/dom/prototype-chain.html + + * WebCore.xcodeproj/project.pbxproj: + * bindings/objc/DOMEvents.mm: + (-[DOMEvent ::]): + (-[DOMMouseEvent initMouseEvent:::::::::::::::]): + * bindings/scripts/CodeGeneratorJS.pm: + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::dispatchMouseEvent): + * dom/KeyboardEvent.idl: Added. + * dom/MouseEvent.idl: Added. + * dom/UIEvent.idl: Added. + * dom/WheelEvent.idl: + * dom/dom2_eventsimpl.cpp: + (WebCore::MouseEvent::MouseEvent): + (WebCore::MouseEvent::initMouseEvent): + * dom/dom2_eventsimpl.h: + (WebCore::MouseEvent::relatedTarget): + (WebCore::MouseEvent::clipboard): + * generate-derived-sources: + * khtml/ecma/kjs_dom.cpp: + (KJS::toEventTargetNode): + * khtml/ecma/kjs_dom.h: + * khtml/ecma/kjs_events.cpp: + (KJS::toJS): + * khtml/ecma/kjs_events.h: + +2006-03-28 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - replace getDocument with document in a few places that Geoff missed + + * WebCore.xcodeproj/project.pbxproj: + * dom/Attr.cpp: + (WebCore::Attr::createTextChild): + (WebCore::Attr::setValue): + (WebCore::Attr::cloneNode): + * dom/Attribute.cpp: + (WebCore::Attribute::createAttrIfNeeded): + * dom/Element.cpp: + (WebCore::Element::cloneNode): + (WebCore::inHTMLDocument): + (WebCore::Element::setAttribute): + (WebCore::Element::setAttributeMap): + (WebCore::Element::createStyleForRenderer): + (WebCore::Element::createRenderer): + (WebCore::Element::recalcStyle): + (WebCore::Element::dispatchAttrRemovalEvent): + (WebCore::Element::dispatchAttrAdditionEvent): + (WebCore::Element::updateId): + (WebCore::Element::removeAttributeNode): + (WebCore::Element::focus): + (WebCore::Element::blur): + * dom/NamedAttrMap.cpp: + (WebCore::inHTMLDocument): + (WebCore::NamedAttrMap::setNamedItem): + * dom/NamedMappedAttrMap.cpp: + (WebCore::NamedMappedAttrMap::parseClassAttribute): + * dom/StyledElement.cpp: + (WebCore::StyledElement::createInlineStyleDecl): + (WebCore::StyledElement::parseMappedAttribute): + (WebCore::StyledElement::createMappedDecl): + + - added missing include that seems to be breaking the Windows build + + * platform/String.cpp: Include <stdarg.h>. + +2006-03-28 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Beth. + + - Global replace of getDocument() with document(). Darin suggested this + in his review of my EventTargetNode patch. It matches the style of + methods like ownerDocument(). + + - Changed getDocument() to document(); changed data member document to + m_document; changed stack variable document to doc. + + * bindings/objc/DOM.mm: + (-[DOMNode ownerDocument]): + (-[DOMNode KJS::Bindings::]): + (-[DOMElement _getURLAttribute:]): + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLElement titleDisplayString]): + (-[DOMHTMLInputElement altDisplayString]): + (-[DOMHTMLAnchorElement blur]): + (-[DOMHTMLAnchorElement focus]): + (-[DOMHTMLImageElement altDisplayString]): + (-[DOMHTMLAppletElement altDisplayString]): + (-[DOMHTMLAreaElement altDisplayString]): + * bindings/objc/DOMInternal.mm: + (-[WebScriptObject _initializeScriptDOMNodeImp]): + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::attributedString): + * bridge/mac/FrameViewMac.mm: + (WebCore::FrameView::updateDashboardRegions): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge initSubframeWithRenderer:]): + (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]): + (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/css_base.cpp: + (WebCore::StyleBase::baseURL): + * css/css_stylesheetimpl.cpp: + (WebCore::CSSStyleSheet::CSSStyleSheet): + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::initForStyleResolve): + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::CSSStyleSelector::locateSharedStyle): + (WebCore::CSSStyleSelector::createStyleForElement): + (WebCore::CSSStyleSelector::createPseudoStyleForElement): + (WebCore::CSSStyleSelector::adjustRenderStyle): + (WebCore::CSSStyleSelector::styleRulesForElement): + (WebCore::CSSStyleSelector::checkOneSelector): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::mapBackgroundImage): + (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): + * dom/AbstractView.cpp: + (WebCore::AbstractView::AbstractView): + * dom/CDATASection.cpp: + (WebCore::CDATASection::cloneNode): + (WebCore::CDATASection::createNew): + * dom/CharacterData.cpp: + (WebCore::CharacterData::setData): + (WebCore::CharacterData::insertData): + (WebCore::CharacterData::deleteData): + (WebCore::CharacterData::replaceData): + (WebCore::CharacterData::dispatchModifiedEvent): + * dom/Comment.cpp: + (WebCore::Comment::cloneNode): + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::insertBefore): + (WebCore::ContainerNode::replaceChild): + (WebCore::ContainerNode::removeChild): + (WebCore::ContainerNode::appendChild): + (WebCore::ContainerNode::addChild): + (WebCore::ContainerNode::getUpperLeftCorner): + (WebCore::dispatchChildInsertionEvents): + (WebCore::dispatchChildRemovalEvents): + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::createDocument): + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::~Document): + (WebCore::Document::createDocumentFragment): + (WebCore::Document::adoptNode): + (WebCore::Document::createElementNS): + (WebCore::Document::nodeAbsIndex): + (WebCore::Document::setFocusNode): + (WebCore::Document::topDocument): + * dom/DocumentFragment.cpp: + (WebCore::DocumentFragment::cloneNode): + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::~EventTargetNode): + (WebCore::EventTargetNode::insertedIntoDocument): + (WebCore::EventTargetNode::removedFromDocument): + (WebCore::EventTargetNode::addEventListener): + (WebCore::EventTargetNode::removeEventListener): + (WebCore::EventTargetNode::dispatchGenericEvent): + (WebCore::EventTargetNode::dispatchEvent): + (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): + (WebCore::EventTargetNode::dispatchWindowEvent): + (WebCore::EventTargetNode::dispatchUIEvent): + (WebCore::EventTargetNode::dispatchKeyEvent): + (WebCore::EventTargetNode::dispatchMouseEvent): + (WebCore::EventTargetNode::dispatchWheelEvent): + (WebCore::EventTargetNode::removeHTMLEventListener): + * dom/Node.cpp: + (WebCore::Node::Node): + (WebCore::Node::setDocument): + (WebCore::Node::setChanged): + (WebCore::Node::checkSetPrefix): + (WebCore::Node::checkAddChild): + (WebCore::Node::attach): + (WebCore::Node::detach): + (WebCore::Node::createRendererIfNeeded): + (WebCore::Node::rendererIsNeeded): + (WebCore::Node::getElementsByTagNameNS): + (WebCore::Node::ownerDocument): + (WebCore::Node::setTextContent): + * dom/Node.h: + (WebCore::Node::document): + (WebCore::Node::inDocument): + * dom/NodeList.cpp: + (WebCore::NodeList::itemById): + * dom/Position.cpp: + (WebCore::Position::documentElement): + * dom/Range.cpp: + (WebCore::Range::commonAncestorContainer): + (WebCore::Range::setStart): + (WebCore::Range::setEnd): + (WebCore::Range::compareBoundaryPoints): + (WebCore::Range::insertNode): + (WebCore::Range::text): + (WebCore::Range::setStartAfter): + (WebCore::Range::setEndBefore): + (WebCore::Range::setEndAfter): + (WebCore::Range::surroundContents): + (WebCore::Range::setStartBefore): + (WebCore::rangeOfContents): + * dom/Text.cpp: + (WebCore::Text::cloneNode): + (WebCore::Text::createNew): + * dom/dom2_eventsimpl.cpp: + (WebCore::MouseRelatedEvent::receivedTarget): + * dom/dom2_traversalimpl.cpp: + (WebCore::NodeIterator::NodeIterator): + * dom/dom_elementimpl.cpp: + (WebCore::Attribute::createAttrIfNeeded): + (WebCore::Attr::createTextChild): + (WebCore::Attr::setValue): + (WebCore::Attr::cloneNode): + (WebCore::Element::cloneNode): + (WebCore::inHTMLDocument): + (WebCore::Element::setAttribute): + (WebCore::Element::setAttributeMap): + (WebCore::Element::createStyleForRenderer): + (WebCore::Element::createRenderer): + (WebCore::Element::recalcStyle): + (WebCore::Element::dispatchAttrRemovalEvent): + (WebCore::Element::dispatchAttrAdditionEvent): + (WebCore::Element::updateId): + (WebCore::Element::removeAttributeNode): + (WebCore::Element::focus): + (WebCore::Element::blur): + (WebCore::NamedAttrMap::setNamedItem): + (WebCore::NamedMappedAttrMap::parseClassAttribute): + (WebCore::StyledElement::createInlineStyleDecl): + (WebCore::StyledElement::parseMappedAttribute): + (WebCore::StyledElement::createMappedDecl): + * dom/dom_xmlimpl.cpp: + (WebCore::EntityReference::cloneNode): + (WebCore::ProcessingInstruction::cloneNode): + (WebCore::ProcessingInstruction::checkStyleSheet): + (WebCore::ProcessingInstruction::sheetLoaded): + (WebCore::ProcessingInstruction::setStyleSheet): + * dom/xml_tokenizer.cpp: + (WebCore::XMLTokenizer::XMLTokenizer): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + (WebCore::ReplaceSelectionCommand::fixupNodeStyles): + (WebCore::styleForNode): + * editing/Selection.cpp: + (WebCore::Selection::toRange): + * editing/SelectionController.cpp: + (WebCore::SelectionController::~SelectionController): + (WebCore::SelectionController::setSelection): + (WebCore::SelectionController::xPosForVerticalArrowNavigation): + (WebCore::SelectionController::frame): + (WebCore::SelectionController::layout): + (WebCore::SelectionController::needsCaretRepaint): + * editing/TextIterator.cpp: + (WebCore::TextIterator::range): + (WebCore::SimplifiedBackwardsTextIterator::range): + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::init): + (WebCore::makeRange): + * editing/markup.cpp: + (WebCore::startMarkup): + (WebCore::shouldSelfClose): + (WebCore::markup): + (WebCore::createMarkup): + * editing/visible_units.cpp: + (WebCore::previousBoundary): + (WebCore::nextBoundary): + (WebCore::previousLinePosition): + (WebCore::nextLinePosition): + (WebCore::inSameDocument): + * html/HTMLCollection.cpp: + (WebCore::HTMLCollection::HTMLCollection): + (WebCore::HTMLCollection::resetCollectionInfo): + * html/HTMLElement.cpp: + (WebCore::HTMLElement::nodeName): + (WebCore::HTMLElement::cloneNode): + (WebCore::HTMLElement::innerText): + (WebCore::HTMLElement::createContextualFragment): + (WebCore::HTMLElement::setInnerText): + (WebCore::HTMLElement::setOuterText): + (WebCore::HTMLElement::isContentEditable): + (WebCore::HTMLElement::contentEditable): + (WebCore::HTMLElement::toString): + (WebCore::HTMLElement::childAllowed): + (WebCore::HTMLElement::setHTMLEventListener): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::formWouldHaveSecureSubmission): + (WebCore::HTMLFormElement::attach): + (WebCore::HTMLFormElement::insertedIntoDocument): + (WebCore::HTMLFormElement::removedFromDocument): + (WebCore::HTMLFormElement::formData): + (WebCore::HTMLFormElement::prepareSubmit): + (WebCore::HTMLFormElement::submit): + (WebCore::HTMLFormElement::reset): + (WebCore::HTMLFormElement::parseMappedAttribute): + (WebCore::HTMLFormElement::registerFormElement): + (WebCore::HTMLFormElement::removeFormElement): + * html/HTMLGenericFormElement.cpp: + (WebCore::HTMLGenericFormElement::attach): + (WebCore::HTMLGenericFormElement::insertedIntoTree): + (WebCore::HTMLGenericFormElement::isKeyboardFocusable): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::~HTMLInputElement): + (WebCore::HTMLInputElement::isKeyboardFocusable): + (WebCore::HTMLInputElement::focus): + (WebCore::HTMLInputElement::setInputType): + (WebCore::HTMLInputElement::parseMappedAttribute): + (WebCore::HTMLInputElement::attach): + (WebCore::HTMLInputElement::setChecked): + (WebCore::HTMLInputElement::preDispatchEventHandler): + (WebCore::HTMLInputElement::defaultEventHandler): + (WebCore::HTMLInputElement::src): + * html/HTMLKeygenElement.cpp: + (WebCore::HTMLKeygenElement::appendFormData): + * html/HTMLLabelElement.cpp: + (WebCore::HTMLLabelElement::formElement): + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::text): + (WebCore::HTMLOptionElement::setText): + * html/HTMLParser.cpp: + (WebCore::HTMLParser::HTMLParser): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::~HTMLSelectElement): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): + (WebCore::HTMLTextAreaElement::setDefaultValue): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::HTMLTokenizer): + * html/html_baseimpl.cpp: + (WebCore::HTMLBodyElement::createLinkDecl): + (WebCore::HTMLBodyElement::mapToEntry): + (WebCore::HTMLBodyElement::parseMappedAttribute): + (WebCore::HTMLBodyElement::insertedIntoDocument): + (WebCore::HTMLFrameElement::isURLAllowed): + (WebCore::HTMLFrameElement::openURL): + (WebCore::HTMLFrameElement::attach): + (WebCore::HTMLFrameElement::close): + (WebCore::HTMLFrameElement::contentFrame): + (WebCore::HTMLFrameElement::frameWidth): + (WebCore::HTMLFrameElement::frameHeight): + (WebCore::HTMLFrameSetElement::parseMappedAttribute): + (WebCore::HTMLIFrameElement::parseMappedAttribute): + (WebCore::HTMLIFrameElement::insertedIntoDocument): + (WebCore::HTMLIFrameElement::removedFromDocument): + (WebCore::HTMLIFrameElement::attach): + (WebCore::HTMLIFrameElement::src): + * html/html_blockimpl.cpp: + (WebCore::HTMLParagraphElement::checkDTD): + * html/html_headimpl.cpp: + (WebCore::HTMLBaseElement::removedFromDocument): + (WebCore::HTMLBaseElement::process): + (WebCore::HTMLLinkElement::setDisabledState): + (WebCore::HTMLLinkElement::parseMappedAttribute): + (WebCore::HTMLLinkElement::process): + (WebCore::HTMLLinkElement::setStyleSheet): + (WebCore::HTMLLinkElement::sheetLoaded): + (WebCore::HTMLLinkElement::href): + (WebCore::HTMLMetaElement::process): + (WebCore::HTMLScriptElement::childrenChanged): + (WebCore::HTMLScriptElement::parseMappedAttribute): + (WebCore::HTMLScriptElement::insertedIntoDocument): + (WebCore::HTMLScriptElement::evaluateScript): + (WebCore::HTMLScriptElement::setText): + (WebCore::HTMLScriptElement::src): + (WebCore::HTMLStyleElement::insertedIntoDocument): + (WebCore::HTMLStyleElement::removedFromDocument): + (WebCore::HTMLStyleElement::childrenChanged): + (WebCore::HTMLStyleElement::sheetLoaded): + (WebCore::HTMLTitleElement::insertedIntoDocument): + (WebCore::HTMLTitleElement::removedFromDocument): + (WebCore::HTMLTitleElement::childrenChanged): + (WebCore::HTMLTitleElement::setText): + * html/html_imageimpl.cpp: + (WebCore::HTMLImageLoader::~HTMLImageLoader): + (WebCore::HTMLImageLoader::updateFromElement): + (WebCore::HTMLImageLoader::notifyFinished): + (WebCore::HTMLImageElement::parseMappedAttribute): + (WebCore::HTMLImageElement::insertedIntoDocument): + (WebCore::HTMLImageElement::removedFromDocument): + (WebCore::HTMLImageElement::width): + (WebCore::HTMLImageElement::height): + (WebCore::HTMLImageElement::src): + (WebCore::HTMLMapElement::~HTMLMapElement): + (WebCore::HTMLMapElement::parseMappedAttribute): + (WebCore::HTMLAreaElement::href): + * html/html_inlineimpl.cpp: + (WebCore::HTMLAnchorElement::isKeyboardFocusable): + (WebCore::HTMLAnchorElement::defaultEventHandler): + (WebCore::HTMLAnchorElement::href): + (WebCore::HTMLAnchorElement::blur): + (WebCore::HTMLAnchorElement::focus): + * html/html_objectimpl.cpp: + (WebCore::HTMLAppletElement::parseMappedAttribute): + (WebCore::HTMLAppletElement::insertedIntoDocument): + (WebCore::HTMLAppletElement::removedFromDocument): + (WebCore::HTMLAppletElement::createRenderer): + (WebCore::HTMLAppletElement::getAppletInstance): + (WebCore::HTMLEmbedElement::getEmbedInstance): + (WebCore::HTMLEmbedElement::parseMappedAttribute): + (WebCore::HTMLEmbedElement::rendererIsNeeded): + (WebCore::HTMLEmbedElement::insertedIntoDocument): + (WebCore::HTMLEmbedElement::removedFromDocument): + (WebCore::HTMLObjectElement::getObjectInstance): + (WebCore::HTMLObjectElement::parseMappedAttribute): + (WebCore::HTMLObjectElement::rendererIsNeeded): + (WebCore::HTMLObjectElement::insertedIntoDocument): + (WebCore::HTMLObjectElement::removedFromDocument): + (WebCore::HTMLObjectElement::updateDocNamedItem): + (WebCore::HTMLParamElement::parseMappedAttribute): + * html/html_tableimpl.cpp: + (WebCore::HTMLTableElement::createTHead): + (WebCore::HTMLTableElement::createTFoot): + (WebCore::HTMLTableElement::createCaption): + (WebCore::HTMLTableElement::insertRow): + (WebCore::HTMLTableElement::addChild): + (WebCore::HTMLTableElement::mapToEntry): + (WebCore::HTMLTableElement::parseMappedAttribute): + (WebCore::HTMLTableElement::additionalAttributeStyleDecl): + (WebCore::HTMLTableElement::getSharedCellDecl): + (WebCore::HTMLTablePartElement::mapToEntry): + (WebCore::HTMLTablePartElement::parseMappedAttribute): + (WebCore::HTMLTableSectionElement::insertRow): + (WebCore::HTMLTableRowElement::insertCell): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNode::~DOMNode): + (KJS::DOMNode::mark): + (KJS::DOMElement::getValueProperty): + (KJS::DOMElementProtoFunc::callAsFunction): + (KJS::checkNodeSecurity): + (KJS::toJS): + * khtml/ecma/kjs_html.cpp: + (KJS::JSHTMLElement::implementsCall): + (KJS::JSHTMLElement::bodyGetter): + (KJS::JSHTMLElement::anchorGetter): + (KJS::JSHTMLElement::getValueProperty): + (KJS::JSHTMLElement::bodySetter): + * khtml/ecma/kjs_traversal.cpp: + (KJS::JSNodeFilterCondition::acceptNode): + * khtml/ecma/kjs_views.cpp: + (KJS::DOMAbstractViewProtoFunc::callAsFunction): + * khtml/xbl/xbl_binding.cpp: + (XBL::XBLBindingChain::failed): + (XBL::m_nextBinding): + (XBL::XBLBinding::setXBLDocument): + * khtml/xbl/xbl_protobinding.cpp: + (XBL::XBLPrototypeBinding::document): + * khtml/xsl/XSLStyleSheet.cpp: + (WebCore::XSLStyleSheet::XSLStyleSheet): + * khtml/xsl/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::createDocumentFromSource): + (WebCore::xmlDocPtrFromNode): + (WebCore::XSLTProcessor::transformToString): + * ksvg2/svg/SVGAElement.cpp: + (SVGAElement::defaultEventHandler): + * ksvg2/svg/SVGAnimateColorElement.cpp: + (SVGAnimateColorElement::handleTimerEvent): + * ksvg2/svg/SVGAnimateElement.cpp: + (SVGAnimateElement::handleTimerEvent): + * ksvg2/svg/SVGAnimateTransformElement.cpp: + (SVGAnimateTransformElement::handleTimerEvent): + * ksvg2/svg/SVGAnimationElement.cpp: + (SVGAnimationElement::closeRenderer): + * ksvg2/svg/SVGClipPathElement.cpp: + (SVGClipPathElement::canvasResource): + * ksvg2/svg/SVGElement.cpp: + (WebCore::SVGElement::addSVGEventListener): + * ksvg2/svg/SVGGradientElement.cpp: + (SVGGradientElement::rebuildStops): + * ksvg2/svg/SVGHelper.cpp: + (SVGHelper::PercentageOfViewport): + * ksvg2/svg/SVGLinearGradientElement.cpp: + (SVGLinearGradientElement::buildGradient): + * ksvg2/svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::fillAttributesFromReferencePattern): + * ksvg2/svg/SVGRadialGradientElement.cpp: + (WebCore::SVGRadialGradientElement::buildGradient): + * ksvg2/svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::setCurrentScale): + (WebCore::SVGSVGElement::addSVGWindowEventListner): + * ksvg2/svg/SVGSetElement.cpp: + (SVGSetElement::handleTimerEvent): + * ksvg2/svg/SVGStyleElement.cpp: + (SVGStyleElement::childrenChanged): + * ksvg2/svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::canvas): + * ksvg2/svg/SVGTitleElement.cpp: + (WebCore::SVGTitleElement::closeRenderer): + (WebCore::SVGTitleElement::insertedIntoDocument): + (WebCore::SVGTitleElement::removedFromDocument): + (WebCore::SVGTitleElement::childrenChanged): + * ksvg2/svg/SVGUseElement.cpp: + (SVGUseElement::closeRenderer): + * kwq/WebCoreAXObject.mm: + (-[WebCoreAXObject accessibilityPerformAction:]): + (-[WebCoreAXObject accessibilityAttributeValue:]): + * page/Frame.cpp: + (WebCore::parentFromOwnerRenderer): + (WebCore::Frame::frameForNode): + (WebCore::Frame::clearDocumentFocus): + * page/FrameView.cpp: + (WebCore::FrameView::dispatchMouseEvent): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::setStyle): + * rendering/RenderCanvas.cpp: + (WebCore::RenderCanvas::RenderCanvas): + (WebCore::RenderCanvas::paintBoxDecorations): + (WebCore::RenderCanvas::repaintViewRectangle): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::imageMap): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::setHasHorizontalScrollbar): + (WebCore::RenderLayer::setHasVerticalScrollbar): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::createObject): + (WebCore::RenderObject::RenderObject): + (WebCore::RenderObject::isRoot): + (WebCore::RenderObject::backslashAsCurrencySymbol): + * rendering/RenderObject.h: + (WebCore::RenderObject::document): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::isFocused): + * rendering/render_applet.cpp: + (WebCore::RenderApplet::createWidgetIfNecessary): + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::RenderWidget): + (WebCore::RenderWidget::focusIn): + (WebCore::RenderWidget::focusOut): + +2006-03-28 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - added a build step that checks for init routines + + * WebCore.xcodeproj/project.pbxproj: Deleted now-unused custom build rule that + was replaced by the generate-derived-sources script a while back. Added a custom + build phase that invokes the check-for-global-initializers script. + +2006-03-28 Timothy Hatcher <timothy@apple.com> + + Reviewed by Maciej. + + Moved the derived sources script to an agregate target. Fixes internal builds. + + * WebCore.xcodeproj/project.pbxproj: + * generate-derived-sources: was missing a use of $CREATE_HASH_TABLE + +2006-03-28 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Build fix. + + * dom/xml_tokenizer.cpp: + (WebCore::XMLTokenizer::error): + +2006-03-28 Michael Emmel <mike.emmel@gmail.com> + + Reviewed, tweaked, landed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8023 + Attribute.h missing class predeclaration + + * dom/Attribute.h: Add declarations for classes so that the friend + declaration is not the only one. There's an issue with either an earlier + or later version of gcc, which is why we see this only on certain platforms. + + * dom/Attr.cpp: + (WebCore::Attr::Attr): + (WebCore::Attr::~Attr): + * dom/NamedAttrMap.cpp: + (WebCore::NamedAttrMap::clearAttributes): + (WebCore::NamedAttrMap::addAttribute): + (WebCore::NamedAttrMap::removeAttribute): + Change places where practical to use attr() instead of m_impl in the vain + hope of removing the need for the friend declarations. + +2006-03-27 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Replace more DeprecatedString with String. + Add String::sprintf() and String::number() + http://bugs.webkit.org/show_bug.cgi?id=8009 + + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLTextAreaElement setCols:]): + (-[DOMHTMLTextAreaElement setRows:]): + (-[DOMHTMLOListElement setStart:]): + (-[DOMHTMLPreElement setWidth:]): + (-[DOMHTMLImageElement setHeight:]): + (-[DOMHTMLImageElement setHspace:]): + (-[DOMHTMLImageElement setVspace:]): + (-[DOMHTMLImageElement setWidth:]): + (-[DOMHTMLObjectElement setHspace:]): + (-[DOMHTMLObjectElement setTabIndex:]): + (-[DOMHTMLObjectElement setVspace:]): + (-[DOMHTMLAppletElement setHspace:]): + (-[DOMHTMLAppletElement setVspace:]): + (-[DOMHTMLAreaElement setTabIndex:]): + (-[DOMHTMLTableColElement setSpan:]): + (-[DOMHTMLTableCellElement setColSpan:]): + (-[DOMHTMLTableCellElement setRowSpan:]): + (-[DOMHTMLEmbedElement setHeight:]): + (-[DOMHTMLEmbedElement setWidth:]): + * bindings/objc/DOMInternal.mm: + (String::String): + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::numberAsString): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/css_valueimpl.cpp: + (WebCore::CSSMutableStyleDeclaration::getPropertyValue): + (WebCore::CSSPrimitiveValue::cssText): + * dom/Position.cpp: + (WebCore::Position::formatForDebugger): + * dom/Range.cpp: + (WebCore::Range::formatForDebugger): + * dom/StyledElement.cpp: + (WebCore::StyledElement::addCSSColor): + * dom/xml_tokenizer.cpp: + (WebCore::XMLTokenizer::error): + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): + * html/HTMLGenericFormElement.cpp: + (WebCore::HTMLGenericFormElement::findMatchingState): + (WebCore::HTMLGenericFormElement::setTabIndex): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setMaxLength): + (WebCore::HTMLInputElement::setSize): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::setSize): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::setCols): + (WebCore::HTMLTextAreaElement::setRows): + * html/html_baseimpl.cpp: + (WebCore::HTMLBodyElement::insertedIntoDocument): + * html/html_blockimpl.cpp: + (WebCore::HTMLHRElement::parseMappedAttribute): + (WebCore::HTMLPreElement::setWidth): + * html/html_imageimpl.cpp: + (WebCore::HTMLImageElement::width): + (WebCore::HTMLImageElement::height): + (WebCore::HTMLImageElement::setBorder): + (WebCore::HTMLImageElement::setHeight): + (WebCore::HTMLImageElement::setHspace): + (WebCore::HTMLImageElement::setVspace): + (WebCore::HTMLImageElement::setWidth): + (WebCore::HTMLAreaElement::setTabIndex): + * html/html_inlineimpl.cpp: + (WebCore::HTMLAnchorElement::setTabIndex): + * html/html_listimpl.cpp: + (WebCore::HTMLOListElement::setStart): + (WebCore::HTMLLIElement::setValue): + * html/html_objectimpl.cpp: + (WebCore::HTMLObjectElement::setTabIndex): + * html/html_tableimpl.cpp: + (WebCore::HTMLTableElement::parseMappedAttribute): + (WebCore::HTMLTableCellElement::setColSpan): + (WebCore::HTMLTableCellElement::setRowSpan): + (WebCore::HTMLTableColElement::setSpan): + * khtml/ecma/kjs_window.cpp: + (KJS::Window::isSafeScript): + (KJS::Location::getValueProperty): + * ksvg2/css/SVGCSSParser.cpp: + (WebCore::CSSParser::parseSVGPaint): + (WebCore::CSSParser::parseSVGColor): + * ksvg2/svg/SVGAngle.cpp: + (SVGAngle::setValueAsString): + (SVGAngle::valueAsString): + * ksvg2/svg/SVGAngle.h: + * ksvg2/svg/SVGLength.cpp: + (SVGLength::setValueAsString): + (SVGLength::valueAsString): + * ksvg2/svg/SVGLength.h: + * ksvg2/svg/SVGPathSeg.h: + (WebCore::SVGPathSeg::pathSegTypeAsLetter): + (WebCore::SVGPathSeg::toString): + * ksvg2/svg/SVGPathSegArc.h: + (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter): + (WebCore::SVGPathSegArcAbs::toString): + (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter): + (WebCore::SVGPathSegArcRel::toString): + * ksvg2/svg/SVGPathSegClosePath.h: + (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter): + (WebCore::SVGPathSegClosePath::toString): + * ksvg2/svg/SVGPathSegCurvetoCubic.h: + (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter): + (WebCore::SVGPathSegCurvetoCubicAbs::toString): + (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter): + (WebCore::SVGPathSegCurvetoCubicRel::toString): + * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: + (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter): + (WebCore::SVGPathSegCurvetoCubicSmoothAbs::toString): + (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter): + (WebCore::SVGPathSegCurvetoCubicSmoothRel::toString): + * ksvg2/svg/SVGPathSegCurvetoQuadratic.h: + (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter): + (WebCore::SVGPathSegCurvetoQuadraticAbs::toString): + (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter): + (WebCore::SVGPathSegCurvetoQuadraticRel::toString): + * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: + (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter): + (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::toString): + (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter): + (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::toString): + * ksvg2/svg/SVGPathSegLineto.h: + (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter): + (WebCore::SVGPathSegLinetoAbs::toString): + (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter): + (WebCore::SVGPathSegLinetoRel::toString): + * ksvg2/svg/SVGPathSegLinetoHorizontal.h: + (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter): + (WebCore::SVGPathSegLinetoHorizontalAbs::toString): + (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter): + (WebCore::SVGPathSegLinetoHorizontalRel::toString): + * ksvg2/svg/SVGPathSegLinetoVertical.h: + (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter): + (WebCore::SVGPathSegLinetoVerticalAbs::toString): + (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter): + (WebCore::SVGPathSegLinetoVerticalRel::toString): + * ksvg2/svg/SVGPathSegMoveto.h: + (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter): + (WebCore::SVGPathSegMovetoAbs::toString): + (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter): + (WebCore::SVGPathSegMovetoRel::toString): + * ksvg2/svg/SVGPolyElement.cpp: + (SVGPolyElement::notifyAttributeChange): + * ksvg2/svg/SVGStopElement.cpp: + (SVGStopElement::parseMappedAttribute): + * ksvg2/svg/SVGUseElement.cpp: + (SVGUseElement::closeRenderer): + * platform/AtomicString.h: + (WebCore::AtomicString::toInt): + * platform/Color.cpp: + (WebCore::Color::name): + * platform/Color.h: + * platform/PlatformString.h: + * platform/String.cpp: + (WebCore::String::sprintf): + (WebCore::String::number): + * platform/StringImpl.cpp: + (WebCore::StringImpl::StringImpl): + (WebCore::StringImpl::initWithChar): + (WebCore::StringImpl::initWithQChar): + (WebCore::StringImpl::containsOnlyWhitespace): + * platform/mac/KeyEventMac.mm: + (WebCore::keyIdentifierForKeyEvent): + * rendering/render_form.cpp: + (WebCore::RenderSlider::updateFromElement): + (WebCore::RenderSlider::valueChanged): + +2006-03-28 Justin Garcia <justin.garcia@apple.com> + + Reviewed by mjs + + <http://bugs.webkit.org/attachment.cgi?id=7322> + REGRESSION: Select All does not highlight table if it's last in the document + + * rendering/RenderCanvas.cpp: + (WebCore::rendererAfterPosition): + Added, returns the render object that a pre-order traversal over a range + of render objects ending at the input position should stop at. + (WebCore::RenderCanvas::selectionRect): + Stop at rendererAfterPosition(m_selectionEnd, m_selectionEndPos), moved code + for traversal to nextInPreOrder. Also, the travesal doesn't need to fetch the + next object before doing work, since the work it does will never change what + the next object in the traversal will be. + (WebCore::RenderCanvas::setSelection): Ditto. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::nextInPreOrder): Renamed from nextRenderer, cleaned up the logic a little. + (WebCore::RenderObject::nextInPreOrderAfterChildren): Added. + (WebCore::RenderObject::previousInPreOrder): Renamed from previousRenderer. + (WebCore::RenderObject::childAt): Added. + * rendering/RenderObject.h: + * rendering/RenderText.cpp: + (WebCore::RenderText::setText): + +2006-03-28 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Justin. + + - fixed <rdar://problem/4483851> REGRESSION: parse mode gets set to strict after going back from non-HTML content (7102) + + Reshuffled things to arrange for m_doc to be cleared somewhat earlier than before. + + * page/Frame.cpp: + (WebCore::Frame::didOpenURL): + (WebCore::Frame::receivedFirstData): + (WebCore::Frame::begin): + (WebCore::Frame::endIfNotLoading): + * manual-tests/accidental-strict-mode.html: Added. I don't think an + automated test is possible. + +2006-03-28 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Convert a couple DeprecatedPtrList<T> to Vector<T*> and HashSet<T*> + + * bridge/mac/FrameMac.h: + * bridge/mac/FrameMac.mm: + (WebCore::regExpForLabels): + (WebCore::FrameMac::addPluginRootObject): + (WebCore::FrameMac::cleanupPluginRootObjects): + * loader/Cache.cpp: + (WebCore::Cache::init): + (WebCore::Cache::clear): + (WebCore::Cache::remove): + * loader/Cache.h: + * loader/DocLoader.cpp: + (WebCore::DocLoader::DocLoader): + (WebCore::DocLoader::~DocLoader): + +2006-03-27 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Give StringImpl a little privacy. + http://bugs.webkit.org/show_bug.cgi?id=8022 + + * dom/CharacterData.cpp: + (WebCore::CharacterData::length): + (WebCore::CharacterData::appendData): + (WebCore::CharacterData::replaceData): + (WebCore::CharacterData::checkCharDataOperation): + (WebCore::CharacterData::rendererIsNeeded): + * dom/Range.cpp: + (WebCore::Range::compareBoundaryPoints): + * dom/Text.cpp: + (WebCore::Text::splitText): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::processToken): + * platform/AtomicString.cpp: + (WebCore::operator==): + * platform/String.cpp: + (WebCore::String::operator[]): + (WebCore::String::length): + (WebCore::String::percentage): + (WebCore::String::unicode): + (WebCore::String::deprecatedString): + (WebCore::String::isEmpty): + * platform/StringImpl.cpp: + (WebCore::equal): + (WebCore::equalIgnoringCase): + * platform/StringImpl.h: + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::selectionRect): + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::paintSelection): + (WebCore::InlineTextBox::paintMarkedTextBackground): + (WebCore::InlineTextBox::paintTextMatchMarker): + (WebCore::InlineTextBox::offsetForPosition): + (WebCore::InlineTextBox::positionForOffset): + * rendering/RenderText.cpp: + (WebCore::RenderText::widthFromCache): + (WebCore::RenderText::calcMinMaxWidth): + (WebCore::RenderText::width): + +2006-03-27 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Beth. + + - fixed <rdar://problem/4279765> REGRESSION: "More..." links on flickr groups pages have hover issues (flickr.com) + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::floatRect): Rewrote in terms of rects, and made it consider child floatRects + as well as their overflowRects. + * platform/IntRect.h: + (WebCore::unionRect): useful helper + * platform/FloatRect.h: + (WebCore::unionRect): added same for FloatRect just because + +2006-03-27 Darin Adler <darin@apple.com> + + Based on a patch by Michael Emmel <mike.emmel@gmail.com>. + + - fix http://bugs.webkit.org/show_bug.cgi?id=8012 + TransferJob.cpp includes non-existent "String.h" (capital S) + + * platform/TransferJob.cpp: Remove unneeded include of "String.h". + +2006-03-27 David Harrison <harrison@apple.com> + + Reviewed by Darin. + + <rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken) + + Better fix than previous checkin, since maxDeepOffset is really an editing hack. + + * editing/selection/selectNodeContents-textNode.html: Added. + + * dom/Range.cpp: + (WebCore::Range::selectNodeContents): + Use maxOffset if offsetInCharacters, otherwise use childNodeCount. + +2006-03-27 Darin Adler <darin@apple.com> + + Based on a patch by Michael Emmel <mike.emmel@gmail.com>. + + - fix compilation for Linux + http://bugs.webkit.org/show_bug.cgi?id=8013 + + * rendering/render_style.h: Add declaration of CSSStyleSelector. Also tweaked + formatting a bit and removed some extraneous WebCore:: prefixes. + +2006-03-27 John Sullivan <sullivan@apple.com> + + Reviewed by Darin Adler and Tim Omernick + + - fixed <rdar://problem/4406505> REGRESSION: (japanese text) Clauses is unexpectedly + confirmed while typing on Safari. + + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLInputElement _displayedValue]): + Avoid calling stringValue on the focused NSTextField. This will soon be obsolete, but + for now it fixes this regression. + +2006-03-27 Alexander Kellett <lypanov@kde.org> + + Reviewed by darin + + Implement the IE extension insertAdjacentElement + http://bugs.webkit.org/show_bug.cgi?id=6520 + + * bindings/scripts/CodeGeneratorJS.pm: + * dom/Element.cpp: + (WebCore::ElementImpl::insertAdjacentElement): + * dom/Element.h: + * dom/Element.idl: + +2006-03-27 David Harrison <harrison@apple.com> + + Reviewed by Tim Hatcher. + + <rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken) + + Range::selectNodeContents() was erroneously using childNodeCount, which is always 0 for text + nodes. Turns out that [WebCoreAXObject textUnderElement] is the only code that ends up calling + selectNodeContents on a text node. + + Test cases added: None. Manual AX testing is way too awkward, and automated testing + is not possible. See following bug... + <rdar://problem/4256882> Need automated testing support for accessibility APIs + + * dom/Range.cpp: + (WebCore::Range::selectNodeContents): + Use maxDeepOffset instead of childNodeCount, so that text node content is selected. + +2006-03-27 Graham Dennis <Graham.Dennis@gmail.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=7868> + REGRESSION: Extraneous focus ring drawn at the end of the page + + * platform/GraphicsContext.cpp: + (WebCore::GraphicsContext::addFocusRingRect): Don't add a focus ring for an empty rect. + +2006-03-27 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Anders. + + - fixed <rdar://problem/4489745> REGRESSION: Safari crashes at to display http://www.lgphilips-lcd.com/ + + * manual-tests/empty-script-crash.html: Added. + +2006-03-27 Maciej Stachowiak <mjs@apple.com> + + Build fix: + + - reverted fix for <rdar://problem/4362396> capturing listeners do not fire on the target node + It turns out that the behavior we had was standards-compliant and + Moz will be changing to match. + + Also added a note so this doesn't get reverted again. + + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::dispatchGenericEvent): + +2006-03-26 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darn + + <http://bugs.webkit.org/show_bug.cgi?id=7974> + Add EditActions and WebUndoActions for CreateLink and Unlink + + * bridge/mac/WebCoreFrameBridge.h: + * editing/CreateLinkCommand.h: + (WebCore::CreateLinkCommand::editingAction): + * editing/EditAction.h: + * editing/UnlinkCommand.h: + (WebCore::UnlinkCommand::editingAction): + +2006-03-26 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix win32 build. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * editing/CompositeEditCommand.cpp: + * editing/InsertTextCommand.cpp: + * generate-derived-sources: + +2006-03-26 Eric Seidel <eseidel@apple.com> + + * dom/Element.cpp: fix include case, fixing build. + +2006-03-25 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by darin. Landed by eseidel. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7916 + Box repaint rect does not include the left overflow + + * manual-tests/left-overflow-repaint.html: Added. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::overflowRect): Changed m_overflowWidth and m_overflowHeight + to overflowWidth() and overflowHeight() since RenderTable overrides the latter. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::getAbsoluteRepaintRect): Include top and left overflows. + * rendering/RenderFlow.cpp: + (WebCore::RenderFlow::getAbsoluteRepaintRect): Removed redundant code. + * rendering/RenderTableCell.cpp: Removed subclass implementation of + getAbsoluteRepaintRect(). + * rendering/RenderTableCell.h: + * rendering/bidi.cpp: + (WebCore::RenderBlock::layoutInlineChildren): Include left overflow in repaint rect. + +2006-03-25 Eric Seidel <eseidel@apple.com> + + Reviewed by andersca. + + Build fix. + + * bindings/scripts/CodeGeneratorJS.pm: include Element.h + +2006-03-25 Eric Seidel <eseidel@apple.com> + + Reviewed by andersca. + + Split dom_elementimpl.* into multiple files (one per class). + http://bugs.webkit.org/show_bug.cgi?id=7978 + + * ForwardingHeaders/kdom/core/Attr.h: Removed. + * ForwardingHeaders/kdom/core/Element.h: Removed. + * ForwardingHeaders/kdom/core/XMLElement.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * bindings/objc/DOM.mm: + * bindings/objc/DOMHTML.mm: + * bindings/scripts/CodeGeneratorJS.pm: + * dom/AbstractView.cpp: + * dom/Attr.cpp: Added. + * dom/Attr.h: Added. + * dom/Attribute.cpp: Added. + * dom/Attribute.h: Added. + * dom/CSSMappedAttributeDeclaration.cpp: Added. + * dom/CSSMappedAttributeDeclaration.h: Added. + * dom/DOMImplementation.cpp: + * dom/Document.h: + * dom/DocumentType.cpp: + * dom/Element.cpp: Added. + (WebCore::Element::Element): + (WebCore::Element::~Element): + * dom/Element.h: Added. + * dom/EventNames.cpp: + * dom/EventTargetNode.cpp: + * dom/MappedAttribute.cpp: Added. + * dom/MappedAttribute.h: Added. + * dom/MappedAttributeEntry.h: Added. + (WebCore::): + * dom/NameNodeList.cpp: + (WebCore::NameNodeList::NameNodeList): + (WebCore::NameNodeList::item): + (WebCore::NameNodeList::nodeMatches): + * dom/NamedAttrMap.cpp: Added. + * dom/NamedAttrMap.h: Added. + * dom/NamedMappedAttrMap.cpp: Added. + (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): + * dom/NamedMappedAttrMap.h: Added. + * dom/Node.cpp: + * dom/NodeList.cpp: + * dom/Position.cpp: + * dom/StyledElement.cpp: Added. + * dom/StyledElement.h: Added. + * dom/dom_elementimpl.cpp: Removed. + * dom/dom_elementimpl.h: Removed. + * editing/BreakBlockquoteCommand.cpp: + * editing/CompositeEditCommand.cpp: + * editing/DeleteFromTextNodeCommand.cpp: + * editing/DeleteSelectionCommand.cpp: + * editing/InsertLineBreakCommand.cpp: + * editing/InsertParagraphSeparatorCommand.cpp: + * editing/InsertTextCommand.cpp: + * editing/MergeIdenticalElementsCommand.cpp: + * editing/ModifySelectionListLevelCommand.cpp: + * editing/MoveSelectionCommand.cpp: + * editing/RemoveCSSPropertyCommand.cpp: + * editing/RemoveNodeAttributeCommand.cpp: + * editing/Selection.cpp: + * editing/SelectionController.cpp: + * editing/SetNodeAttributeCommand.cpp: + * editing/SplitElementCommand.cpp: + * editing/SplitTextNodeContainingElementCommand.cpp: + * editing/TextIterator.cpp: + * editing/TypingCommand.cpp: + * editing/VisiblePosition.cpp: + * editing/visible_units.cpp: + * html/HTMLElement.h: + * html/HTMLTokenizer.h: + * html/html_baseimpl.cpp: + * kcanvas/RenderSVGImage.cpp: + * khtml/ecma/kjs_views.cpp: + * khtml/ecma/kjs_window.cpp: + (KJS::Window::getValueProperty): + * khtml/xbl/xbl_binding_manager.cpp: + * khtml/xbl/xbl_tokenizer.cpp: + * ksvg2/misc/SVGImageLoader.cpp: + * ksvg2/svg/SVGAElement.cpp: + * ksvg2/svg/SVGAnimateTransformElement.cpp: + * ksvg2/svg/SVGAnimationElement.cpp: + * ksvg2/svg/SVGCircleElement.cpp: + * ksvg2/svg/SVGClipPathElement.cpp: + * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: + * ksvg2/svg/SVGCursorElement.cpp: + * ksvg2/svg/SVGElement.cpp: + (WebCore::SVGElement::SVGElement): + * ksvg2/svg/SVGElement.h: + * ksvg2/svg/SVGEllipseElement.cpp: + * ksvg2/svg/SVGExternalResourcesRequired.cpp: + * ksvg2/svg/SVGFEBlendElement.cpp: + * ksvg2/svg/SVGFEColorMatrixElement.cpp: + * ksvg2/svg/SVGFEComponentTransferElement.cpp: + * ksvg2/svg/SVGFECompositeElement.cpp: + * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: + * ksvg2/svg/SVGFEDisplacementMapElement.cpp: + * ksvg2/svg/SVGFEFloodElement.cpp: + * ksvg2/svg/SVGFEGaussianBlurElement.cpp: + * ksvg2/svg/SVGFEImageElement.cpp: + * ksvg2/svg/SVGFELightElement.cpp: + * ksvg2/svg/SVGFEMergeElement.cpp: + * ksvg2/svg/SVGFEMergeNodeElement.cpp: + * ksvg2/svg/SVGFEOffsetElement.cpp: + * ksvg2/svg/SVGFESpecularLightingElement.cpp: + * ksvg2/svg/SVGFETileElement.cpp: + * ksvg2/svg/SVGFETurbulenceElement.cpp: + * ksvg2/svg/SVGFilterElement.cpp: + * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: + * ksvg2/svg/SVGFitToViewBox.cpp: + * ksvg2/svg/SVGGradientElement.cpp: + * ksvg2/svg/SVGImageElement.cpp: + * ksvg2/svg/SVGLangSpace.cpp: + * ksvg2/svg/SVGLineElement.cpp: + * ksvg2/svg/SVGLinearGradientElement.cpp: + * ksvg2/svg/SVGMarkerElement.cpp: + * ksvg2/svg/SVGMaskElement.cpp: + * ksvg2/svg/SVGPathElement.cpp: + * ksvg2/svg/SVGPatternElement.cpp: + * ksvg2/svg/SVGPolyElement.cpp: + * ksvg2/svg/SVGRadialGradientElement.cpp: + * ksvg2/svg/SVGRectElement.cpp: + * ksvg2/svg/SVGSVGElement.cpp: + * ksvg2/svg/SVGScriptElement.cpp: + * ksvg2/svg/SVGStopElement.cpp: + * ksvg2/svg/SVGStyledElement.cpp: + * ksvg2/svg/SVGStyledTransformableElement.cpp: + * ksvg2/svg/SVGSwitchElement.cpp: + * ksvg2/svg/SVGTests.cpp: + * ksvg2/svg/SVGTextContentElement.cpp: + * ksvg2/svg/SVGTextPositioningElement.cpp: + * ksvg2/svg/SVGTransformable.cpp: + * ksvg2/svg/SVGURIReference.cpp: + * ksvg2/svg/SVGUseElement.cpp: + * ksvg2/svg/SVGViewElement.cpp: + * ksvg2/svg/SVGZoomAndPan.cpp: + * kwq/WebCoreTextArea.mm: + * platform/Widget.h: + * rendering/RenderBlock.cpp: + * rendering/RenderCanvas.cpp: + * rendering/RenderContainer.cpp: + * rendering/RenderObject.cpp: + * rendering/RenderTextField.cpp: + * rendering/RenderThemeMac.mm: + * rendering/bidi.cpp: + * rendering/render_replaced.cpp: + +2006-03-25 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix RenderStyle creation to avoid floating RenderStyle objects. + This also fixes a bug, were SVG to ever start sharing RenderStyles + between elements, code would have crashed as there were improperly + paired style->deref() statements in SVG code. + http://bugs.webkit.org/show_bug.cgi?id=7976 + + No test possible (no functionality change). + + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::createStyleForElement): + (WebCore::CSSStyleSelector::createPseudoStyleForElement): + * css/cssstyleselector.h: + * dom/Node.cpp: + (WebCore::Node::createRendererIfNeeded): + (WebCore::Node::createStyleForRenderer): + * dom/Node.h: + * dom/dom_elementimpl.cpp: + (WebCore::Element::createStyleForRenderer): + (WebCore::Element::recalcStyle): + * dom/dom_elementimpl.h: + * ksvg2/svg/SVGClipPathElement.cpp: + (SVGClipPathElement::canvasResource): + * ksvg2/svg/SVGFEFloodElement.cpp: + (SVGFEFloodElement::filterEffect): + * ksvg2/svg/SVGGradientElement.cpp: + (SVGGradientElement::rebuildStops): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::createObject): + (WebCore::RenderObject::RenderObject): + (WebCore::selectStartNode): + (WebCore::RenderObject::draggableNode): + (WebCore::RenderObject::getPseudoStyle): + +2006-03-23 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Shave .2% on PLT by removing bogus strcmp. + http://bugs.webkit.org/show_bug.cgi?id=7938 + + Test: fast/parser/tag-with-exclamation-point.html + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseTag): remove bogus strcmp + +2006-03-25 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + <http://bugs.webkit.org/show_bug.cgi?id=7683> + TinyMCE: execCommand("Unlink") unimplemented + + Added code to push partially selected anchor elements down before + creating or removing links to create fully selected chunks that can be removed. + Changed __create_link_command_h__ to CreateLinkCommand_h + Gave styled element application/removal its own ApplyStyleCommand constructor. + Still need to add new EditActions (7974). + + * WebCore.xcodeproj/project.pbxproj: + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::ApplyStyleCommand): + (WebCore::ApplyStyleCommand::applyBlockStyle): + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): + * editing/ApplyStyleCommand.h: + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::applyStyle): + (WebCore::CompositeEditCommand::applyStyledElement): + (WebCore::CompositeEditCommand::removeStyledElement): + (WebCore::enclosingAnchorElement): + (WebCore::CompositeEditCommand::pushAnchorElementDown): + (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown): + * editing/CompositeEditCommand.h: + * editing/CreateLinkCommand.cpp: + (WebCore::CreateLinkCommand::doApply): + * editing/CreateLinkCommand.h: + * editing/JSEditor.cpp: + * editing/Selection.cpp: + (WebCore::Selection::selectionFromContentsOfNode): + * editing/Selection.h: + * editing/UnlinkCommand.cpp: Added. + (WebCore::UnlinkCommand::UnlinkCommand): + (WebCore::UnlinkCommand::doApply): + * editing/UnlinkCommand.h: Added. + * page/Frame.cpp: + (WebCore::Frame::selectContentsOfNode): + (WebCore::Frame::computeAndSetTypingStyle): + (WebCore::Frame::applyStyle): + (WebCore::Frame::applyParagraphStyle): + +2006-03-24 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + <http://bugs.webkit.org/show_bug.cgi?id=7955> + REGRESSION: Content with an interchange newline lost when pasted at the end of the document + + There's no safe place in the document to keep the fragment while pasting, so I avoid + isProbablyBlock by saving whether or not something was blockFlow during the test + insertion. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + (WebCore::ReplacementFragment::~ReplacementFragment): + (WebCore::ReplacementFragment::firstChild): + (WebCore::ReplacementFragment::lastChild): + (WebCore::ReplacementFragment::mergeStartNode): + (WebCore::ReplacementFragment::enclosingBlock): + (WebCore::ReplacementFragment::insertFragmentForTestRendering): + (WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment): + (WebCore::ReplacementFragment::isBlockFlow): + (WebCore::ReplaceSelectionCommand::fixupNodeStyles): + (WebCore::styleForNode): + (WebCore::ReplacementFragment::saveRenderingInfo): + (WebCore::ReplacementFragment::removeUnrenderedNodes): + (WebCore::ReplacementFragment::renderedBlocks): + (WebCore::ReplacementFragment::removeStyleNodes): + (WebCore::RenderingInfo::RenderingInfo): + (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): + (WebCore::ReplaceSelectionCommand::doApply): + * editing/ReplaceSelectionCommand.h: + (WebCore::RenderingInfo::isBlockFlow): + (WebCore::ReplacementFragment::renderingInfo): + (WebCore::ReplacementFragment::nodes): + +2006-03-24 Eric Seidel <eseidel@apple.com> + + Reviewed by justing. + + * generate-derived-sources: fix clean builds on mac. + +2006-03-24 Darin Adler <darin@apple.com> + + Reviewed by Dave Harrison. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7942 + nightlies after r13387 break js createcontextualfragment + + Test: fast/dom/Range/create-contextual-fragment.html + + * dom/Range.idl: Add createContextualFragment. + +2006-03-24 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix win32 build. + Unify mac/win dependency handling. + Fix class vs. struct linker problem for win32. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Add DerivedSources + * WebCore.vcproj/WebCore/build-generated-files.sh: + * bridge/win/BrowserExtensionWin.h: + * bridge/win/FrameWin.h: + * generate-derived-sources: + * kwq/AccessibilityObjectCache.h: + * platform/GraphicsContext.cpp: + (WebCore::GraphicsContext::createGraphicsContextPrivate): + (WebCore::GraphicsContext::destroyGraphicsContextPrivate): + * platform/GraphicsContext.h: + * platform/cairo/GraphicsContextCairo.cpp: + * platform/mac/GraphicsContextMac.mm: + * platform/win/TemporaryLinkStubs.cpp: + (QLineEdit::selectedText): + (FrameWin::createPlugin): + (BrowserExtensionWin::setTypedIconURL): + +2006-03-23 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fix <rdar://problem/4484787> KWQAccObject dangles under GC + + * kwq/AccessibilityObjectCache.h: Moved AccessibilityObjectCache into the WebCore + namespace. Renamed accObject to get, removed setAccObject, renamed removeAccObject + to remove, removed getAccObjectID, renamed removeAXObjectID to removeAXID, change + from CF dictionaries to HashMap and HashSet. + * kwq/AccessibilityObjectCache.mm: + (WebCore::AccessibilityObjectCache::~AccessibilityObjectCache): Detach all objects + and call CFRelease on all of them. + (WebCore::AccessibilityObjectCache::get): Call CFRetain on objects before putting + them in the HashMap, rather than assuming that retain == CFRetain. This is what + fixes the GC issue. + (WebCore::AccessibilityObjectCache::remove): Detach and call CFRelease when removing. + (WebCore::AccessibilityObjectCache::getAXID): Change to use a single global variable + for the AXIDs, which makes it so we won't reuse the same AXID as much as we did before. + (WebCore::AccessibilityObjectCache::removeAXID): Updated to use HashSet. + (WebCore::AccessibilityObjectCache::textMarkerForVisiblePosition): Updated for other changes. + (WebCore::AccessibilityObjectCache::visiblePositionForTextMarker): Ditto. + (WebCore::AccessibilityObjectCache::childrenChanged): Ditto. + (WebCore::AccessibilityObjectCache::postNotificationToTopWebArea): Ditto. + (WebCore::AccessibilityObjectCache::postNotification): Ditto. + + * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge accessibilityTree]): + Change to use functions by new names. + + * dom/Document.h: AccessibilityObjectCache is now in the WebCore namespace. + getAccObjectCache and ownerElement are const member functions, and m_accCache + is a mutable data member. + * dom/Document.cpp: + (WebCore::Document::getAccObjectCache): Make const. + (WebCore::Document::ownerElement): Make const. + + * kwq/WebCoreAXObject.h: Changed WebCoreAXID to WebCore::AXID. + * kwq/WebCoreAXObject.mm: + (-[WebCoreAXObject anchorElement]): Update for function name change. + (-[WebCoreAXObject firstChild]): Ditto. + (-[WebCoreAXObject lastChild]): Ditto. + (-[WebCoreAXObject previousSibling]): Ditto. + (-[WebCoreAXObject nextSibling]): Ditto. + (-[WebCoreAXObject parentObject]): Ditto. + (-[WebCoreAXObject accessibilityAttributeValue:]): Ditto. + (-[WebCoreAXObject doAXUIElementForTextMarker:]): Ditto. + (AXLinkElementForNode): Ditto. + (AXAttributedStringAppendReplaced): Ditto. + (-[WebCoreAXObject accessibilityHitTest:]): Ditto. + (-[WebCoreAXObject _accessibilityParentForSubview:]): Ditto. + (-[WebCoreAXObject accessibilityFocusedUIElement]): Ditto. + (-[WebCoreAXObject axObjectID]): Change field name to m_id. + (-[WebCoreAXObject setAXObjectID:]): Ditto. + (-[WebCoreAXObject removeAXObjectID]): Ditto. + + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::removeChildNode): Remove ifdefs. + (WebCore::RenderContainer::appendChildNode): Ditto. + (WebCore::RenderContainer::insertChildNode): Ditto. + * rendering/RenderObject.cpp: (WebCore::RenderObject::remove): Ditto. + +2006-03-23 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7726 + REGRESSION: orbitz calendar fails (JavaScript function serialization/parsing) + + Test: fast/js/function-names.html + + * dom/Document.h: Add function name parameter to createHTMLEventListener. + * dom/Document.cpp: + (WebCore::Document::createHTMLEventListener): Pass function name when calling + createHTMLEventHandler. + (WebCore::Document::setHTMLWindowEventListener): Pass attribute name as function name + when calling createHTMLEventListener. + + * html/HTMLElement.cpp: (WebCore::HTMLElement::setHTMLEventListener): Pass attribute + name as function name when calling createHTMLEventListener. + + * khtml/ecma/kjs_events.h: Add a function name parameter to JSLazyEventListener. + * khtml/ecma/kjs_events.cpp: + (KJS::JSLazyEventListener::JSLazyEventListener): Take and store a function name. + (KJS::JSLazyEventListener::parseCode): Pass function name when constructing the function. + + * khtml/ecma/kjs_proxy.h: Add a function name parameter to createHTMLEventHandler and + createSVGEventHandler. + * khtml/ecma/kjs_proxy.cpp: + (WebCore::KJSProxy::createHTMLEventHandler): Pass function name when creating + a JSLazyEventListener. + (WebCore::KJSProxy::createSVGEventHandler): Ditto. + + * ksvg2/events/JSSVGLazyEventListener.h: Add a function name parameter to + JSSVGLazyEventListener. + * ksvg2/events/JSSVGLazyEventListener.cpp: + (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener): Pass the function name + on to the base class constructor. + + * ksvg2/misc/SVGDocumentExtensions.h: Add function name parameter to createSVGEventListener. + * ksvg2/misc/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::createSVGEventListener): Pass function name when + calling createSVGEventHandler. + + * ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::addSVGEventListener): + * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::addSVGWindowEventListner): + Pass attribute name as function name when calling createSVGEventListener. + + * WebCore.xcodeproj/project.pbxproj: Moved generation script to the top. + +2006-03-23 Tim Omernick <timo@apple.com> + + Reviewed by Darin. + + <http://bugs.webkit.org/show_bug.cgi?id=7691> + REGRESSION: imdb.com search button looks wrong because "Submit" is drawn + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::valueWithDefault): + Only use the default button title if no title was specified; previously we'd use the default + button title if the specified title was empty, which is not what Firefox does. + +2006-03-23 Darin Adler <darin@apple.com> + + Reviewed by Beth. + + - fix <rdar://problem/4335038> REGRESSION: when max-height is none, height value is ignored + + * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): + For max-height of none, set it to Length(undefinedLength, Fixed), which + is the correct value (same as the default). Also did some formatting fixes + to the height section. + +2006-03-23 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin + + Fix for http://bugs.webkit.org/show_bug.cgi?id=6431 + REGRESSION: style change where :hover changes only an :after style + doesn't work + + * dom/Node.cpp: + (WebCore::Node::diff): Need to call diff() on the before and after + styles if we have them. + +2006-03-23 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=7935 + <rdar://problem/4489010> + Infinite recursion in table code when button or new text fields get display:table-row + + Test: + fast/forms/button-table-styles.html + + * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): + The theme should disallow table display styles form elements. + +2006-03-23 Darin Adler <darin@apple.com> + + * generate-derived-sources: Tweaked formatting a tiny bit and removed a stray + touch that was left in here. + +2006-03-23 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + REGRESSION: Dashed borders paint with the wrong phase + http://bugs.webkit.org/show_bug.cgi?id=7879 + + Test: Already covered by css1/box_properties/border_style.html + + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawLine): + * platform/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::drawLine): + +2006-03-22 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + * generate-derived-sources: Suppress warning. + +2006-03-22 Maciej Stachowiak <mjs@apple.com> + + * generate-derived-sources: Added svn:executable property. + +2006-03-22 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + Handle dependencies for derived sources properly. + + - Made a new generate-derived-sources script that does all the dependency checking + and source generation. + - Put this script in a subtarget instead of a phase. + - Made derived sources go in the build root, not a source root. + - Added derived sources to the project. + - Removed files whose sole purpose was to include and compile derived sources, + just compile those directly now. + - Tweaked the IDL code generator so it can handle one IDL at a time, to make + it easier to get the dependencies right. + + * generate-derived-sources: Added. + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMCore.cpp: Removed. + * bindings/js/JSDOMEvents.cpp: Removed. + * bindings/js/JSDOMHTML.cpp: Removed. + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/generate-bindings.pl: + * css/UserAgentStyleSheets.cpp: Removed. + * dom/Range.cpp: + (WebCore::Range::~Range): + * dom/Range.h: + * khtml/ecma/kjs_css.cpp: + (KJS::DOMStyleSheet::DOMStyleSheet): + (KJS::DOMStyleSheetList::DOMStyleSheetList): + (KJS::DOMCSSRuleList::DOMCSSRuleList): + (KJS::DOMCSSRule::DOMCSSRule): + * khtml/ecma/kjs_css.h: + +2006-03-22 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + <http://bugs.webkit.org/show_bug.cgi?id=7904> + Avoid a layout after test insertion and remove isProbablyBlock + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + (WebCore::ReplacementFragment::~ReplacementFragment): + (WebCore::ReplacementFragment::firstChild): + (WebCore::ReplacementFragment::lastChild): + (WebCore::ReplacementFragment::mergeStartNode): + (WebCore::ReplacementFragment::enclosingBlock): + (WebCore::ReplacementFragment::insertFragmentForTestRendering): + (WebCore::ReplacementFragment::computeAndStoreNodeStyles): + (WebCore::ReplacementFragment::removeUnrenderedNodes): + (WebCore::ReplacementFragment::renderedBlocks): + (WebCore::ReplacementFragment::removeStyleNodes): + (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): + (WebCore::ReplaceSelectionCommand::doApply): + * editing/ReplaceSelectionCommand.h: + (WebCore::ReplacementFragment::root): + +2006-03-22 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Fix attribute mutation events to not fire for "style" attributes. + We lazily update style attributes, so sending mutation events for them makes no sense anymore. + <rdar://problem/4474910> repro assertion failure @ apple.com/store: !eventDispatchForbidden() + + Test: fast/events/delayed-style-mutation-event-crash.html + + * dom/dom_elementimpl.cpp: + (WebCore::Element::dispatchAttrRemovalEvent): add assert + (WebCore::Element::dispatchAttrAdditionEvent): add assert + (WebCore::NamedAttrMap::addAttribute): + +2006-03-22 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Remove more DeprecatedString usage. + http://bugs.webkit.org/show_bug.cgi?id=7882 + + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::attributedString): + (WebCore::FrameMac::fontForSelection): + (WebCore::FrameMac::tokenizerProcessedData): + (WebCore::FrameMac::registerCommandForUndoOrRedo): + (WebCore::FrameMac::markMisspellings): + (WebCore::FrameMac::respondToChangedSelection): + (WebCore::FrameMac::dashboardRegionsDictionary): + (WebCore::FrameMac::dragSourceMovedTo): + * css/CSSGrammar.y: + * css/css_valueimpl.h: + * css/cssparser.cpp: + (WebCore::CSSParser::CSSParser): + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseColor): + (WebCore::CSSParser::parseDeclaration): + (WebCore::CSSParser::validUnit): + (WebCore::CSSParser::parseShorthand): + (WebCore::CSSParser::parseContent): + (WebCore::skipCommaInDashboardRegion): + (WebCore::CSSParser::parseDashboardRegions): + (WebCore::CSSParser::parseShape): + (WebCore::CSSParser::parseFont): + (WebCore::CSSParser::parseFontFamily): + (WebCore::CSSParser::parseColorFromValue): + (WebCore::yyerror): + (WebCore::CSSParser::lex): + (WebCore::CSSParser::text): + * css/cssparser.h: + (WebCore::deprecatedString): + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMDocument::getValueProperty): + * ksvg2/css/SVGCSSParser.cpp: + (WebCore::CSSParser::parseSVGPaint): + (WebCore::CSSParser::parseSVGColor): + * ksvg2/svg/SVGAnimationElement.cpp: + (SVGAnimationElement::parseMappedAttribute): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutPositionedObjects): + (WebCore::RenderBlock::positionNewFloats): + (WebCore::RenderBlock::newLine): + * rendering/RenderCanvas.cpp: + (WebCore::RenderCanvas::absolutePosition): + (WebCore::RenderCanvas::paint): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + * rendering/RenderObject.h: + * rendering/bidi.cpp: + (WebCore::RenderBlock::bidiReorderLine): + (WebCore::RenderBlock::layoutInlineChildren): + * rendering/render_form.cpp: + (WebCore::RenderFieldset::paintBoxDecorations): + * rendering/render_style.h: + (WebCore::RenderStyle::setDashboardRegion): + * rendering/table_layout.cpp: + (WebCore::AutoTableLayout::calcEffectiveWidth): + (WebCore::AutoTableLayout::insertSpanCell): + (WebCore::AutoTableLayout::layout): + (WebCore::AutoTableLayout::calcPercentages): + +2006-03-22 Tim Omernick <timo@apple.com> + + Reviewed by Kevin Decker. + + Part of <rdar://problem/4351664> REGRESSION (420+): extra URL in b/f list - navigating back to previous page fails at apple.com/retail/) + This also fixes <rdar://problem/4477821> REGRESSION (10.4.5-TOT): meta tag specifying refresh is being added to history. + + * bridge/mac/FrameMac.h: + * bridge/mac/FrameMac.mm: + Removed redirectionTimerFired(). This was added as attempt to fix <http://bugs.webkit.org/show_bug.cgi?id=7058>. The + aim was to cause Safari and WebKit to update their loading status after a redirect. Unfortunately, the fix had a bad side + effect. Calling -reportClientRedirectCancelled: on a successful redirect causes WebKit to forget that the redirect was supposed + to lock history (i.e. reuse the current back/forward entry for the new page). The end result was that intermediate "quick" redirects + were creating back/forward entries when they should not have been. See 4351664. That fix was almost correct, in that we do need to + notify the frame load delegate when a redirect ends, either because it succeeded or because it was cancelled. However, this is the + wrong place to do it. WebCore's redirect notification logic did not need to change to fix 7058. The never-ending spinning indicators + problem was actually caused by a bug at the WebKit level. + + * manual-tests/redirectHistory: Added. + * manual-tests/redirectHistory/redir-1.html: Added. + * manual-tests/redirectHistory/redir-2.html: Added. + * manual-tests/redirectHistory/redir-3.html: Added. + Manual test case. I couldn't figure out how to create a layout test for this, because it involves navigation through history and + it was unclear how/when to tell DumpRenderTree to dump its output. + +2006-03-22 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Replace more DeprecatedString with String. + http://bugs.webkit.org/show_bug.cgi?id=7907 + + * WebCore+SVG/kdom.h: + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): + * bridge/BrowserExtension.h: + * bridge/mac/BrowserExtensionMac.h: + * bridge/mac/BrowserExtensionMac.mm: + (WebCore::BrowserExtensionMac::setTypedIconURL): + * bridge/mac/FrameMac.h: + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::searchForLabelsBeforeElement): + (WebCore::nsArray): + (WebCore::FrameMac::createPlugin): + (WebCore::FrameMac::bindingRootObject): + (WebCore::FrameMac::windowScriptObject): + (WebCore::FrameMac::windowScriptNPObject): + (WebCore::FrameMac::partClearedInBegin): + (WebCore::FrameMac::openURLFromPageCache): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): + (-[WebCoreFrameBridge scrollToAnchor:]): + (-[WebCoreFrameBridge URLWithAttributeString:]): + (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]): + * bridge/mac/WebCoreScriptDebugger.mm: + (-[WebCoreScriptCallFrame evaluateWebScript:]): + * bridge/mac/WebCoreSettings.mm: + (-[WebCoreSettings _updateAllViews]): + (-[WebCoreSettings setStandardFontFamily:]): + (-[WebCoreSettings setMinimumFontSize:]): + (-[WebCoreSettings setMinimumLogicalFontSize:]): + (-[WebCoreSettings setDefaultFontSize:]): + (-[WebCoreSettings setDefaultFixedFontSize:]): + (-[WebCoreSettings setUserStyleSheetLocation:]): + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSGrammar.y: + * css/css_stylesheetimpl.cpp: + (WebCore::MediaList::setMediaText): + * css/css_valueimpl.cpp: + (WebCore::quoteStringIfNeeded): + * css/cssparser.cpp: + (WebCore::CSSParser::parseColor): + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::CSSStyleSelector): + * css/cssstyleselector.h: + * dom/Document.cpp: + (WebCore::Document::resetActiveLinkColor): + (WebCore::Document::nextState): + (WebCore::Document::setUserStyleSheet): + (WebCore::Document::processHttpEquiv): + (WebCore::Document::recalcStyleSelector): + * dom/Document.h: + (WebCore::Document::userStyleSheet): + (WebCore::Document::setPrintStyleSheet): + (WebCore::Document::printStyleSheet): + * editing/markup.cpp: + (WebCore::createMarkup): + (WebCore::createFragmentFromMarkup): + (WebCore::createFragmentFromText): + * editing/markup.h: + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::scriptHandler): + * html/html_baseimpl.cpp: + (WebCore::HTMLFrameElement::openURL): + (WebCore::HTMLFrameElement::attach): + * html/html_headimpl.cpp: + (WebCore::HTMLLinkElement::process): + (WebCore::HTMLLinkElement::setStyleSheet): + * html/html_headimpl.h: + * html/html_imageimpl.cpp: + (WebCore::HTMLImageElement::parseMappedAttribute): + * html/html_imageimpl.h: + (WebCore::HTMLImageElement::compositeOperator): + * html/html_objectimpl.cpp: + (WebCore::HTMLAppletElement::createRenderer): + * ksvg2/svg/SVGStringList.cpp: + (SVGStringList::reset): + * kwq/AccessibilityObjectCache.h: + * kwq/AccessibilityObjectCache.mm: + (AccessibilityObjectCache::textMarkerForVisiblePosition): + (AccessibilityObjectCache::postNotificationToTopWebArea): + (AccessibilityObjectCache::postNotification): + * kwq/ClipboardMac.mm: + (WebCore::cocoaTypeFromMIMEType): + * kwq/KWQKHTMLSettings.h: + (KHTMLSettings::userStyleSheetLocation): + (KHTMLSettings::setUserStyleSheetLocation): + * kwq/KWQLineEdit.h: + * kwq/KWQLineEdit.mm: + (QLineEdit::selectedText): + * loader/CachedCSSStyleSheet.cpp: + (WebCore::CachedCSSStyleSheet::ref): + * page/Frame.cpp: + (WebCore::UserStyleSheetLoader::setStyleSheet): + (WebCore::Frame::jScriptEnabled): + (WebCore::Frame::javaEnabled): + (WebCore::Frame::pluginsEnabled): + (WebCore::Frame::receivedFirstData): + (WebCore::Frame::begin): + (WebCore::Frame::setUserStyleSheet): + (WebCore::Frame::requestObject): + (WebCore::Frame::loadPlugin): + (WebCore::Frame::referrer): + (WebCore::Frame::lastModified): + (WebCore::Frame::reparseConfiguration): + (WebCore::Frame::handleMousePressEventSingleClick): + (WebCore::Frame::appliedEditing): + (WebCore::Frame::unappliedEditing): + (WebCore::Frame::reappliedEditing): + * page/Frame.h: + * page/FramePrivate.h: + (WebCore::FramePrivate::FramePrivate): + * platform/AtomicString.h: + (WebCore::AtomicString::AtomicString): + * platform/DeprecatedString.cpp: + (DeprecatedString::replace): + * platform/GraphicsContext.h: + * platform/Image.h: + * platform/KURL.cpp: + * platform/KURL.h: + * platform/PlatformString.h: + (WebCore::String::String): + (WebCore::String::replace): + * platform/String.cpp: + (WebCore::operator+): + * platform/StringImpl.cpp: + (WebCore::StringImpl::remove): + (WebCore::parseLength): + (WebCore::StringImpl::replace): + * platform/StringImpl.h: + * platform/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::setCompositeOperation): + * rendering/RenderHTMLCanvas.cpp: + (WebCore::RenderHTMLCanvas::paint): + * rendering/render_form.cpp: + (WebCore::RenderSelect::updateFromElement): + * rendering/render_frames.cpp: + (WebCore::isURLAllowed): + (WebCore::mapClassIdToServiceType): + (WebCore::RenderPartObject::updateWidget): + * rendering/render_style.h: + (WebCore::RenderStyle::setDashboardRegion): + * xml/xmlhttprequest.cpp: + (WebCore::getCharset): + (WebCore::XMLHttpRequest::send): + (WebCore::XMLHttpRequest::overrideMIMEType): + +2006-03-22 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt + + Fix for <rdar://problem/4471984> repro crash CSS position for html/ + table=relative causes crash when hiding table + + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): If an object is + positioned, relatively positioned, or transparent, it should always + have auto indexing. Auto z-index for the root should always be 0. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::removeChild): This is not part of the bug + fix; just using a local variable that was created for the stacking + context instead of recalculating it. + +2006-03-22 David Hyatt <hyatt@apple.com> + + Fix for residual style problem where form elements lose their connection + to a degenerate table form because of a residual style fixup. This is + Radar bug #4330765. + + Reviewed by eric + + * khtml/html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::HTMLFormElement): + * khtml/html/HTMLFormElement.h: + (WebCore::HTMLFormElement::setPreserveFormConnectionAcrossRemove): + (WebCore::HTMLFormElement::preserveFormConnectionAcrossRemove): + * khtml/html/HTMLGenericFormElement.cpp: + (WebCore::HTMLGenericFormElement::removedFromTree): + * khtml/html/htmlparser.cpp: + (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): + +2006-03-22 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7747 + REGRESSION: Background tab/window auto-refresh in GMail will take focus. + + * manual-tests/named-window-blank-target.html: Added. + * manual-tests/resources/named-window-blank-target-step2.html: Added. + * manual-tests/resources/named-window-blank-target-step3.html: Added. + * manual-tests/resources/named-window-blank-target-step4.html: Added. + * page/FrameTree.cpp: + (WebCore::FrameTree::find): If the given name is empty, just return our frame, + even if it has a name. + +2006-03-22 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7143 + <rdar://problem/4483856> REGRESSION (417.8-TOT): onclick handler cannot call a function named OnClick (7143) + + Test: fast/dom/Element/onclick-case.html + + We discussed this with Maciej. In the long run we may need to remove the "all attributes + show up as properties in JavaScript" feature entirely. Gecko does not do it, and it's + not really the same thing IE does either. + + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMElement::attributeGetter): Use getAttributeNS so we're case sensitive. + (KJS::DOMElement::getOwnPropertySlot): Ditto. + +2006-03-22 Eric Seidel <eseidel@apple.com> + + Reviewed by beth. + + <rdar://problem/4486417> REGRESSION: Mail linked against TOT WebKit crashes when composing a message + + No test possible. + + * bridge/mac/WebCoreSettings.mm: + (-[WebCoreSettings init]): call AtomicString::init() + +2006-03-21 Darin Adler <darin@apple.com> + + - fix buildbot (and everyone else) + + * bindings/js/JSDOMCore.cpp: Touch, because Adele's change adds a virtual function, + and Xcode doesn't know this needs recompiling. + * bindings/js/JSDOMEvents.cpp: Ditto. + * bindings/js/JSDOMHTML.cpp: Ditto. + +2006-03-21 Justin Haygood and Bjoern Graf <jhaygood@spsu.edu> <bjoern.graf@gmail.com> + + Reviewed by Eric and Darin. + + - get Windows building again + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * bridge/win/FrameWin.cpp: + (WebCore::FrameWin::userAgent): + * bridge/win/FrameWin.h: + * platform/GraphicsContext.h: + * platform/cairo/ImageCairo.cpp: + (WebCore::Image::supportsType): + * platform/win/TemporaryLinkStubs.cpp: + (FrameWin::mimeTypeForFileName): + (FrameWin::objectContentType): + (FrameWin::createPlugin): + (FrameWin::overrideMediaType): + (FrameWin::passSubframeEventToSubframe): + (FrameWin::createFrame): + (FrameWin::incomingReferrer): + +2006-03-21 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7884 + REGRESSION: Selecting a custom style sheet crashes 20/3 nightly + + * page/Frame.cpp: + (WebCore::UserStyleSheetLoader::setStyleSheet): This was calling the function + that sets the stylesheet URL, passing it the actual stylesheet. + (WebCore::Frame::begin): + (WebCore::Frame::setUserStyleSheetLocation): Renamed the version of + setUserStyleSheet() that takes a URL to this. + (WebCore::Frame::reparseConfiguration): + * page/Frame.h: + +2006-03-21 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + - Fix for + http://bugs.webkit.org/show_bug.cgi?id=6813 + elementAtPoint needs to return input element when clicking on new text field + http://bugs.webkit.org/show_bug.cgi?id=7799 + New text fields don't respect the disabled attribute + + - Tests: + fast/forms/input-appearance-disabled.html + fast/forms/input-appearance-elementFromPoint.html + fast/forms/input-appearance-preventDefault.html + + * bridge/mac/WebCoreFrameBridge.h: Added allowShadowContent parameter to getInnerNonSharedNode so new elementAtPoint method in WebKit can call this. + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]): Passes allowShadowContent parameter to nodeInfoAtPoint. + (-[WebCoreFrameBridge _visiblePositionForPoint:]): Updated to call nodeInfoAtPoint allowing shadow content. + (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]): Added allowShadowContent parameter. + + * dom/Node.h: + (WebCore::Node::isShadowNode): Added. + (WebCore::Node::shadowParentNode): Added. + * dom/Node.cpp: (WebCore::Node::shadowAncestorNode): Added. If an ancestor is a shadow node, return its shadow parent node. + * html/HTMLTextFieldInnerElement.h: (WebCore::HTMLTextFieldInnerElement::isShadowNode): Added. + + * dom/Document.cpp: (WebCore::Document::elementFromPoint): Gets the shadowAncestorNode (so we get the input element, and not the inner div). + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::isKeyboardFocusable): If text fields are focusable, then they should be keyboard focusable. This works for the + old text fields because HTMLGenericFormElement::isKeyboardFocusable does the right thing for RenderWidgets. That's not needed for the new form + elements. + (WebCore::HTMLInputElement::defaultEventHandler): let the renderer forward drag, mouse, and wheel events. + + * page/FrameView.cpp: + (WebCore::FrameView::updateDragAndDrop): Send drag events to the shadowAncestorNode. + (WebCore::FrameView::dispatchMouseEvent): Send mouse events to the shadowAncestorNode. + (WebCore::FrameView::handleWheelEvent): Send wheel events to the shadowAncestorNode. + + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): forwards events to the inner div element. + * rendering/RenderTextField.h: Added forwardEvent method. + + * kwq/WebCoreAXObject.mm: + (-[WebCoreAXObject accessibilityHitTest:]): Gets the shadowAncestorNode (so we get the input element, and not the inner div). + (-[WebCoreAXObject role]): Gets the right role for text fields, since we no longer get that from AppKit. + (-[WebCoreAXObject roleDescription]): Gets the right description for text fields. + +2006-03-21 Darin Adler <darin@apple.com> + + Reviewed by Tim O. + + - fixed <rdar://problem/4251515> REGRESSION: listing tag broken in TOT + + Test: fast/html/listing.html + + * html/HTMLNames.h: Add listing tag. + + * bindings/objc/DOM.mm: (+[DOMNode _nodeWith:]): + * bridge/mac/FrameMac.mm: (WebCore::FrameMac::attributedString): + * css/html4.css: + * editing/ReplaceSelectionCommand.cpp: (WebCore::isProbablyBlock): + * editing/TextIterator.cpp: + (WebCore::TextIterator::handleNonTextNode): + (WebCore::TextIterator::exitNode): + (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): + * editing/markup.cpp: + (WebCore::startMarkup): + (WebCore::createMarkup): + * html/HTMLElement.cpp: (WebCore::blockTagList): + * html/HTMLElementFactory.cpp: + (WebCore::addTag): + (WebCore::createFunctionMap): + (WebCore::HTMLElementFactory::createHTMLElement): + * html/HTMLParser.cpp: (WebCore::HTMLParser::isAffectedByResidualStyle): + * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): + * khtml/ecma/kjs_html.cpp: + (KJS::JSHTMLElement::classInfo): + (KJS::JSHTMLElement::accessors): + Add listing tags everywhere pre tags are listed. + +2006-03-21 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - fix horrible build fallout from my attr fix + + * bindings/js/JSCanvasRenderingContext2DBase.cpp: + * bindings/js/JSDOMCore.cpp: + * bindings/js/JSDOMEvents.cpp: + * bindings/js/JSDOMHTML.cpp: + * bindings/scripts/CodeGeneratorJS.pm: + +2006-03-21 Beth Dakin <bdakin@apple.com> + + Reviewed by Maciej + + Fix for http://bugs.webkit.org/show_bug.cgi?id=7223 + Reproducible crash when tabbing to a frame that has not been loaded + + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::nextKeyViewInFrame): When a renderer doesn't + have a widget, skip it in the focus loop. + +2006-03-20 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix a unsafe static cast causing intermittent crashes. + <rdar://problem/4411663> crash at KXMLCore::RefPtr<WebCore::DOMStringImpl>::get() const + 20 (RefPtr.h:45) + + Test: fast/dom/NodeList/item-by-id-with-no-document.html + + * dom/NodeList.cpp: + (WebCore::NodeList::itemById): fix unsafe static cast. + +2006-03-20 Maciej Stachowiak <mjs@apple.com> + + - touch this file in hopes of fixing build + + * bindings/js/JSDOMCore.cpp: + +2006-03-20 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Anders. + + - fixed <rdar://problem/4446749> 10.4.4: safari crash in DOM::NamedAttrMapImpl::setNamedItem + + * bindings/scripts/CodeGeneratorJS.pm: Add a framework for typechecking method + arguments. For now only use it for parameters of type Attr. + * dom/Element.idl: Arbitrary change to make it regenerate. + * dom/dom_elementimpl.cpp: + (WebCore::Element::setAttributeNode): ASSERT that attr is not null + * khtml/ecma/kjs_dom.cpp: + (KJS::toAttr): add bool ok parameter + * khtml/ecma/kjs_dom.h: + +2006-03-20 Eric Seidel <eseidel@apple.com> + + * ksvg2/css/SVGCSSParser.h: Removed unused file. + +2006-03-20 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix tokenizer crash when document.open() is called from an external script: + <rdar://problem/4483882> REGRESSION (417.8-TOT): crash at yourmovies.com.au in WebCore::HTMLTokenizer::reset() + 92 (7818) + + * dom/Document.cpp: + (WebCore::Document::open): Check to make sure the current tokenizer isn't executing a script + * dom/xml_tokenizer.h: + (WebCore::Tokenizer::executingScript): Add a way for others to know if scripts are executing. + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::scriptExecution): Wire into existing m_executingScript member var. + * html/HTMLTokenizer.h: + (WebCore::HTMLTokenizer::executingScript): + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (WebCore::KCanvasFilterQuartz::prepareFilter): Unrelated code cleanup. + +2006-03-20 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <rdar://problem/3997958> + REGRESSION (Mail): Mail takes half of forever to paste >1500 lines - replaceSelectionWithNode + + * dom/Position.cpp: + (WebCore::Position::upstream): Avoid calling previous() when we know that + it will 1) end the search and 2) be expensive to compute. + (WebCore::Position::downstream): Removed some dead code. + (WebCore::Position::inRenderedText): Return false for offsets inside composed characters. + * dom/Position.h: + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::init): If there are two visually equivalent candidates, we choose + the one that occurs first in document order. Using upstream() to find the one that occurs first is + much faster than the old code. + +2006-03-20 Eric Seidel <eseidel@apple.com> + + Reviewed by adele & ggaren. + + Added new cachePluginDataIfNecessary function to update + plugins and mimes arrays. Made sure to call this in + constructor as well as refresh. The crash was caused by + a refresh rendering a "plugins" object invalid. + Changed existing test case to depend on this new correct behavior. + + <rdar://problem/4480571> Safari crashed at exit at KXMLCore::deleteAllValues + 24 + + * khtml/ecma/kjs_navigator.cpp: + (KJS::PluginBase::cachePluginDataIfNecessary): + (KJS::PluginBase::PluginBase): + (KJS::PluginBase::~PluginBase): + (KJS::PluginBase::refresh): + +2006-03-20 Adele Peterson <adele@apple.com> + + Reviewed by Justin. + + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex): + When calculating the VisiblePosition for the first position in the text field, it + makes more sense for the position to have a downstream affinity. + +2006-03-20 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Adele. + + <rdar://problem/4362396> REGRESSION: (417-420) stopPropagation is not working for click event listener (onclick works fine) + + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::dispatchGenericEvent): make sure to fire capturing listeners + as well as bubbling ones on the target. + +2006-03-20 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + <rdar://problem/4458568> WebCore should not disclose https referrers + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge canLoadURL:fromReferrer:hideReferrer:]): + Don't send https URLs as referrers to non-secure http sites. + +2006-03-20 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - http://bugs.webkit.org/show_bug.cgi?id=7867 + get rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString + + * config.h: Remove the defines for DOM, KDOM, KSVG, khtml, DOMString, QString, + and qstring(). + + * WebCore.xcodeproj/project.pbxproj: Pass in WebCore instead of KSVG as the + namespace for SVG names. + * ksvg2/scripts/make_names.pl: Made a couple changes to trick the SVG names into + recompiling, since they are in a different namespace now. + + * ForwardingHeaders/kjs/identifier.h: Added. + + * dom/PlatformWheelEvent.idl: Removed. + * dom/WheelEvent.idl: Added. This file was renamed by accident. + + * bindings/js/JSDOMCore.cpp: + * bindings/js/JSDOMEvents.cpp: + * bindings/js/JSDOMHTML.cpp: + * dom/Attr.idl: + * dom/CharacterData.idl: + * dom/DOMImplementation.idl: + * dom/DocumentType.idl: + * dom/Element.idl: + * dom/Entity.idl: + * dom/MutationEvent.idl: + * dom/Notation.idl: + * dom/ProcessingInstruction.idl: + * dom/Text.idl: + * html/CanvasGradient.idl: + * html/CanvasPattern.idl: + * html/CanvasRenderingContext2D.idl: + Touched, to get CodeGeneratorJS.pm changes to take effect. + + * css/CSSGrammar.y: + * css/css_valueimpl.cpp: (WebCore::propertyID): + Changed calls to get CSS property values to use an explicit SVG:: namespace, + to match what the script writes out. + + * khtml/ecma/kjs_binding.h: Added forward declaration of WebCore::String. + + * ksvg2/scripts/cssmakeget rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString + props: Made this compile with warnings and strict turned on. + Really just a trick to get properties to recompile, which turned out to be unneeded. + * ksvg2/scripts/cssmakevalues: Ditto. + + * ksvg2/svg/SVGAElement.cpp: + (SVGAElement::parseMappedAttribute): + (SVGAElement::defaultEventHandler): + * ksvg2/svg/SVGAnimateTransformElement.cpp: + (SVGAnimateTransformElement::parseMappedAttribute): + * ksvg2/svg/SVGAnimationElement.cpp: + (SVGAnimationElement::parseMappedAttribute): + * ksvg2/svg/SVGClipPathElement.cpp: + (SVGClipPathElement::parseMappedAttribute): + * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: + (SVGComponentTransferFunctionElement::parseMappedAttribute): + * ksvg2/svg/SVGExternalResourcesRequired.cpp: + (SVGExternalResourcesRequired::parseMappedAttribute): + * ksvg2/svg/SVGFEBlendElement.cpp: + (SVGFEBlendElement::parseMappedAttribute): + * ksvg2/svg/SVGFEColorMatrixElement.cpp: + (SVGFEColorMatrixElement::parseMappedAttribute): + * ksvg2/svg/SVGFEComponentTransferElement.cpp: + (SVGFEComponentTransferElement::parseMappedAttribute): + * ksvg2/svg/SVGFECompositeElement.cpp: + (SVGFECompositeElement::parseMappedAttribute): + * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute): + * ksvg2/svg/SVGFEDisplacementMapElement.cpp: + (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): + (SVGFEDisplacementMapElement::stringToChannel): + (SVGFEDisplacementMapElement::parseMappedAttribute): + (SVGFEDisplacementMapElement::filterEffect): + * ksvg2/svg/SVGFEDisplacementMapElement.h: + * ksvg2/svg/SVGFEFloodElement.cpp: + (SVGFEFloodElement::parseMappedAttribute): + * ksvg2/svg/SVGFEGaussianBlurElement.cpp: + (SVGFEGaussianBlurElement::parseMappedAttribute): + * ksvg2/svg/SVGFEImageElement.cpp: + (SVGFEImageElement::parseMappedAttribute): + * ksvg2/svg/SVGFELightElement.cpp: + (SVGFELightElement::parseMappedAttribute): + * ksvg2/svg/SVGFEMergeNodeElement.cpp: + (SVGFEMergeNodeElement::parseMappedAttribute): + * ksvg2/svg/SVGFEOffsetElement.cpp: + (SVGFEOffsetElement::parseMappedAttribute): + * ksvg2/svg/SVGFESpecularLightingElement.cpp: + (SVGFESpecularLightingElement::parseMappedAttribute): + * ksvg2/svg/SVGFETileElement.cpp: + (SVGFETileElement::parseMappedAttribute): + * ksvg2/svg/SVGFETurbulenceElement.cpp: + (SVGFETurbulenceElement::parseMappedAttribute): + * ksvg2/svg/SVGFilterElement.cpp: + (SVGFilterElement::parseMappedAttribute): + * ksvg2/svg/SVGGradientElement.cpp: + (SVGGradientElement::parseMappedAttribute): + * ksvg2/svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::parseMappedAttribute): + * ksvg2/svg/SVGPolyElement.cpp: + (SVGPolyElement::parseMappedAttribute): + * ksvg2/svg/SVGStopElement.cpp: + (SVGStopElement::parseMappedAttribute): + * ksvg2/svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::parseMappedAttribute): + * ksvg2/svg/SVGTests.cpp: + (WebCore::SVGTests::parseMappedAttribute): + * ksvg2/svg/SVGTextContentElement.cpp: + (SVGTextContentElement::parseMappedAttribute): + * ksvg2/svg/SVGTextPositioningElement.cpp: + (SVGTextPositioningElement::parseMappedAttribute): + * ksvg2/svg/SVGViewElement.cpp: + (SVGViewElement::parseMappedAttribute): + * ksvg2/svg/SVGZoomAndPan.cpp: + (SVGZoomAndPan::parseMappedAttribute): + Changed code that converts an AtomicString to a String to do it in a + more-efficient fashion that works even with all the new conversions. + + * page/Frame.cpp: + (WebCore::getString): Removed unneeded .deprecatedString(). + (WebCore::Frame::begin): Removed the only use of QSTRING_NULL. + + * platform/AtomicString.h: Added conversion to and from KJS::Identifier + and KJS::UString. + * platform/AtomicString.cpp: + (WebCore::AtomicString::add): Added overloads for Identifier and UString. + (WebCore::AtomicString::operator Identifier): Added. + (WebCore::AtomicString::operator UString): Added. + + * platform/DeprecatedString.h: Added conversion to and from KJS::Identifier + and KJS::UString. + * platform/DeprecatedString.cpp: + (DeprecatedString::DeprecatedString): Added overloads for Identifier and UString. + (DeprecatedString::operator Identifier): Added. + (DeprecatedString::operator UString): Added. + + * platform/PlatformString.h: Added conversion to and from KJS::Identifier + and KJS::UString. + * platform/String.cpp: + (WebCore::String::String): Added overloads for Identifier and UString. + (WebCore::String::operator Identifier): Added. + (WebCore::String::operator UString): Added. + + * platform/StringImpl.h: Added constructors that take KJS::Identifier + and KJS::UString + * platform/StringImpl.cpp: + (WebCore::getWordBreakIterator): Changed a use of UChar to say ::UChar + instead because of ambiguity with KJS::UChar. + (WebCore::StringImpl::StringImpl): Added overloads for Identifier and String. + + * bindings/js/JSCanvasRenderingContext2DBase.cpp: + (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction): + (WebCore::toHTMLCanvasStyle): + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/mac/WebCoreFrameBridge.mm: + (aeDescFromJSValue): + (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + * dom/QualifiedName.cpp: + (WebCore::QualifiedName::toString): + * khtml/ecma/JSDOMParser.cpp: + (KJS::DOMParserProtoFunc::callAsFunction): + * khtml/ecma/JSXMLHttpRequest.cpp: + (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): + * khtml/ecma/JSXSLTProcessor.cpp: + (KJS::XSLTProcessorProtoFunc::callAsFunction): + * khtml/ecma/kjs_binding.cpp: + (KJS::valueToStringWithNullCheck): + * khtml/ecma/kjs_css.cpp: + (KJS::cssPropertyName): + (KJS::DOMCSSStyleDeclaration::put): + (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction): + (KJS::DOMStyleSheetList::nameGetter): + (KJS::DOMStyleSheetList::getOwnPropertySlot): + (KJS::DOMMediaList::put): + (KJS::KJS::DOMMediaListProtoFunc::callAsFunction): + (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction): + (KJS::DOMCSSRule::putValueProperty): + (KJS::DOMCSSRuleFunc::callAsFunction): + (KJS::DOMCSSValue::put): + (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNode::putValueProperty): + (KJS::DOMNode::toString): + (KJS::DOMNodeProtoFunc::callAsFunction): + (KJS::DOMEventTargetNodeProtoFunc::callAsFunction): + (KJS::DOMNodeList::nameGetter): + (KJS::DOMNodeList::getOwnPropertySlot): + (KJS::DOMDocument::putValueProperty): + (KJS::DOMDocumentProtoFunc::callAsFunction): + (KJS::DOMElement::attributeGetter): + (KJS::DOMElement::getOwnPropertySlot): + (KJS::DOMNamedNodeMap::nameGetter): + (KJS::DOMNamedNodeMap::getOwnPropertySlot): + (KJS::DOMNamedNodeMapProtoFunc::callAsFunction): + (KJS::DOMNamedNodesCollection::getOwnPropertySlot): + * khtml/ecma/kjs_events.cpp: + (KJS::JSAbstractEventListener::handleEvent): + (KJS::DOMEvent::getValueProperty): + (KJS::DOMEventProtoFunc::callAsFunction): + (KJS::DOMUIEventProtoFunc::callAsFunction): + (KJS::DOMMouseEventProtoFunc::callAsFunction): + (KJS::DOMKeyboardEventProtoFunc::callAsFunction): + (KJS::Clipboard::putValueProperty): + (KJS::ClipboardProtoFunc::callAsFunction): + * khtml/ecma/kjs_html.cpp: + (KJS::HTMLDocFunction::callAsFunction): + (KJS::JSHTMLDocument::namedItemGetter): + (KJS::JSHTMLDocument::getOwnPropertySlot): + (KJS::JSHTMLDocument::putValueProperty): + (KJS::JSHTMLElement::framesetNameGetter): + (KJS::JSHTMLElement::getOwnPropertySlot): + (KJS::HTMLElementFunction::callAsFunction): + (KJS::JSHTMLElement::putValueProperty): + (KJS::JSHTMLCollection::callAsFunction): + (KJS::JSHTMLCollection::getNamedItems): + (KJS::HTMLCollectionProtoFunc::callAsFunction): + (KJS::OptionConstructorImp::construct): + * khtml/ecma/kjs_navigator.cpp: + (KJS::Plugins::nameGetter): + (KJS::Plugins::getOwnPropertySlot): + (KJS::MimeTypes::nameGetter): + (KJS::MimeTypes::getOwnPropertySlot): + (KJS::Plugin::nameGetter): + (KJS::Plugin::getOwnPropertySlot): + * khtml/ecma/kjs_proxy.cpp: + (WebCore::KJSProxy::evaluate): + * khtml/ecma/kjs_range.cpp: + (KJS::DOMRangeProtoFunc::callAsFunction): + * khtml/ecma/kjs_views.cpp: + (KJS::DOMAbstractViewProtoFunc::callAsFunction): + * khtml/ecma/kjs_window.cpp: + (KJS::parseModalDialogFeatures): + (KJS::showModalDialog): + (KJS::Window::childFrameGetter): + (KJS::Window::namedFrameGetter): + (KJS::Window::namedItemGetter): + (KJS::Window::getOwnPropertySlot): + (KJS::Window::put): + (KJS::WindowFunc::callAsFunction): + (KJS::ScheduledAction::execute): + (KJS::Window::installTimeout): + (KJS::FrameArray::nameGetter): + (KJS::FrameArray::getOwnPropertySlot): + (KJS::Location::put): + (KJS::LocationFunc::callAsFunction): + (KJS::SelectionFunc::callAsFunction): + Removed explicit calls to domString(), sometimes replacing with explicit calls to the + String() constructor. Other similar changes for AtomicString and DeprecatedString use. + +2006-03-20 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Remove many, many uses of DeprecatedString. + Fix various style issues throughout the touched code. + + * bindings/objc/DOM.mm: + (-[DOMRange _text]): + * bridge/mac/BrowserExtensionMac.mm: + (WebCore::BrowserExtensionMac::createNewWindow): + * bridge/mac/FrameMac.h: + (WebCore::FrameMac::bridge): + (WebCore::FrameMac::markedTextRange): + (WebCore::Mac): + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::openURLRequest): + (WebCore::FrameMac::searchForLabelsAboveCell): + (WebCore::FrameMac::searchForLabelsBeforeElement): + (WebCore::FrameMac::matchLabelsAgainstElement): + (WebCore::FrameMac::findString): + (WebCore::FrameMac::submitForm): + (WebCore::FrameMac::urlSelected): + (WebCore::FrameMac::objectContentType): + (WebCore::FrameMac::createPlugin): + (WebCore::FrameMac::createFrame): + (WebCore::FrameMac::setTitle): + (WebCore::FrameMac::setStatusBarText): + (WebCore::FrameMac::advanceToNextMisspelling): + (WebCore::FrameMac::userAgent): + (WebCore::FrameMac::mimeTypeForFileName): + (WebCore::FrameMac::openURLFromPageCache): + (WebCore::FrameMac::incomingReferrer): + (WebCore::FrameMac::attributedString): + (WebCore::FrameMac::overrideMediaType): + (WebCore::FrameMac::shouldClose): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge _documentTypeString]): + (-[WebCoreFrameBridge selectedString]): + (-[WebCoreFrameBridge stringForRange:]): + (-[WebCoreFrameBridge advanceToNextMisspelling]): + (-[WebCoreFrameBridge advanceToNextMisspellingStartingJustBeforeSelection]): + (-[WebCoreFrameBridge domain]): + * bridge/mac/WebCoreSettings.mm: + (-[WebCoreSettings setStandardFontFamily:]): + (-[WebCoreSettings setFixedFontFamily:]): + (-[WebCoreSettings setSerifFontFamily:]): + (-[WebCoreSettings setSansSerifFontFamily:]): + (-[WebCoreSettings setCursiveFontFamily:]): + (-[WebCoreSettings setFantasyFontFamily:]): + (-[WebCoreSettings setUserStyleSheetLocation:]): + (-[WebCoreSettings setDefaultTextEncoding:]): + * css/css_valueimpl.cpp: + (WebCore::quoteStringIfNeeded): + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::CSSStyleSelector::setEncodedURL): + (WebCore::cleanpath): + (WebCore::checkPseudoState): + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSStyleSelector::styleRulesForElement): + (WebCore::convertToLength): + (WebCore::colorForCSSValue): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): + * css/cssstyleselector.h: + * dom/CDATASection.cpp: + (WebCore::CDATASection::toString): + * dom/Document.cpp: + (WebCore::Document::recalcStyle): + * dom/Document.h: + (WebCore::Document::baseTarget): + (WebCore::Document::setBaseTarget): + * dom/dom_elementimpl.cpp: + (WebCore::Element::openTagStartToString): + * dom/xml_tokenizer.cpp: + (WebCore::handleElementAttributes): + (WebCore::XMLTokenizer::startElementNs): + * editing/SelectionController.cpp: + (WebCore::SelectionController::type): + * editing/TextIterator.cpp: + (WebCore::TextIterator::advance): + (WebCore::TextIterator::handleTextBox): + (WebCore::TextIterator::handleNonTextNode): + (WebCore::TextIterator::exitNode): + (WebCore::SimplifiedBackwardsTextIterator::advance): + (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): + (WebCore::CharacterIterator::advance): + (WebCore::WordAwareIterator::advance): + (WebCore::WordAwareIterator::length): + (WebCore::WordAwareIterator::characters): + (WebCore::CircularSearchBuffer::CircularSearchBuffer): + (WebCore::CircularSearchBuffer::append): + (WebCore::TextIterator::rangeFromLocationAndLength): + (WebCore::findPlainText): + * editing/TextIterator.h: + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::formData): + * khtml/ecma/kjs_navigator.cpp: + (KJS::Navigator::getValueProperty): + * khtml/ecma/kjs_proxy.cpp: + (WebCore::KJSProxy::initScriptIfNeeded): + * khtml/ecma/kjs_window.cpp: + (KJS::Location::getValueProperty): + * ksvg2/misc/KCanvasRenderingStyle.cpp: + (WebCore::KSVGPainterFactory::fillPaintServer): + (WebCore::KSVGPainterFactory::strokePaintServer): + * ksvg2/svg/SVGAngle.cpp: + (SVGAngle::calculate): + (SVGAngle::setValueAsString): + (SVGAngle::valueAsString): + (SVGAngle::convertToSpecifiedUnits): + (SVGAngle::shortestArcBisector): + * ksvg2/svg/SVGAngle.h: + * ksvg2/svg/SVGAnimationElement.cpp: + (SVGAnimationElement::targetElement): + (SVGAnimationElement::parseMappedAttribute): + (SVGAnimationElement::parseClockValue): + (SVGAnimationElement::targetAttribute): + (SVGAnimationElement::setTargetAttribute): + (SVGAnimationElement::detectAnimationMode): + (SVGAnimationElement::calculateCurrentValueItem): + (SVGAnimationElement::calculateRelativeTimePercentage): + * ksvg2/svg/SVGColor.cpp: + (SVGColor::setRGBColor): + * ksvg2/svg/SVGDOMImplementation.cpp: + (svgFeatureSet): + (SVGDOMImplementation::self): + (SVGDOMImplementation::hasFeature): + (SVGDOMImplementation::createDocumentType): + (SVGDOMImplementation::createDocument): + * ksvg2/svg/SVGDOMImplementation.h: + * ksvg2/svg/SVGPaint.cpp: + (SVGPaint::cssText): + * ksvg2/svg/SVGPathSegClosePath.h: + (WebCore::SVGPathSegClosePath::toString): + * ksvg2/svg/SVGPreserveAspectRatio.cpp: + (SVGPreserveAspectRatio::parsePreserveAspectRatio): + (SVGPreserveAspectRatio::getCTM): + * ksvg2/svg/SVGStopElement.cpp: + (SVGStopElement::parseMappedAttribute): + * ksvg2/svg/SVGStyleElement.cpp: + (SVGStyleElement::childrenChanged): + * ksvg2/svg/SVGURIReference.cpp: + (SVGURIReference::getTarget): + * kwq/ClipboardMac.mm: + (WebCore::ClipboardMac::setData): + (WebCore::ClipboardMac::types): + (WebCore::ClipboardMac::setEffectAllowed): + (WebCore::cocoaOpFromIEOp): + (WebCore::IEOpFromCocoaOp): + (WebCore::ClipboardMac::sourceOperation): + (WebCore::ClipboardMac::destinationOperation): + * kwq/KWQCString.cpp: + (DeprecatedCString::append): + * kwq/KWQKHTMLSettings.h: + (KHTMLSettings::stdFontName): + (KHTMLSettings::fixedFontName): + (KHTMLSettings::serifFontName): + (KHTMLSettings::sansSerifFontName): + (KHTMLSettings::cursiveFontName): + (KHTMLSettings::fantasyFontName): + (KHTMLSettings::minFontSize): + (KHTMLSettings::minLogicalFontSize): + (KHTMLSettings::mediumFontSize): + (KHTMLSettings::mediumFixedFontSize): + (KHTMLSettings::autoLoadImages): + (KHTMLSettings::isJavaScriptEnabled): + (KHTMLSettings::JavaScriptCanOpenWindowsAutomatically): + (KHTMLSettings::isJavaEnabled): + (KHTMLSettings::isPluginsEnabled): + (KHTMLSettings::encoding): + (KHTMLSettings::userStyleSheet): + (KHTMLSettings::shouldPrintBackgrounds): + (KHTMLSettings::textAreasAreResizable): + (KHTMLSettings::setStdFontName): + (KHTMLSettings::setFixedFontName): + (KHTMLSettings::setSerifFontName): + (KHTMLSettings::setSansSerifFontName): + (KHTMLSettings::setCursiveFontName): + (KHTMLSettings::setFantasyFontName): + (KHTMLSettings::setMinFontSize): + (KHTMLSettings::setMinLogicalFontSize): + (KHTMLSettings::setMediumFontSize): + (KHTMLSettings::setMediumFixedFontSize): + (KHTMLSettings::setAutoLoadImages): + (KHTMLSettings::setIsJavaScriptEnabled): + (KHTMLSettings::setIsJavaEnabled): + (KHTMLSettings::setArePluginsEnabled): + (KHTMLSettings::setJavaScriptCanOpenWindowsAutomatically): + (KHTMLSettings::setEncoding): + (KHTMLSettings::setUserStyleSheet): + (KHTMLSettings::setShouldPrintBackgrounds): + (KHTMLSettings::setTextAreasAreResizable): + * kwq/KWQLoader.mm: + (KWQServeSynchronousRequest): + * kwq/KWQTextStream.cpp: + (QTextStream::QTextStream): + (QTextStream::operator<<): + (QTextStream::precision): + * kwq/KWQTextStream.h: + * kwq/RenderTreeAsText.cpp: + (operator<<): + (quoteAndEscapeNonPrintables): + (writeTextRun): + (write): + (writeSelection): + * loader/Cache.cpp: + (WebCore::Cache::init): + (WebCore::Cache::requestImage): + (WebCore::Cache::requestStyleSheet): + (WebCore::Cache::preloadStyleSheet): + (WebCore::Cache::requestScript): + (WebCore::Cache::preloadScript): + (WebCore::Cache::requestXSLStyleSheet): + (WebCore::Cache::requestXBLDocument): + (WebCore::Cache::remove): + * loader/Cache.h: + * loader/CachedCSSStyleSheet.cpp: + (WebCore::CachedCSSStyleSheet::error): + * loader/CachedCSSStyleSheet.h: + * loader/CachedImage.cpp: + (WebCore::CachedImage::error): + * loader/CachedImage.h: + * loader/CachedObject.h: + * loader/CachedScript.cpp: + (WebCore::CachedScript::checkNotify): + (WebCore::CachedScript::error): + * loader/CachedScript.h: + * loader/CachedXBLDocument.cpp: + (WebCore::CachedXBLDocument::error): + * loader/CachedXBLDocument.h: + * loader/CachedXSLStyleSheet.cpp: + (WebCore::CachedXSLStyleSheet::error): + * loader/CachedXSLStyleSheet.h: + * loader/DocLoader.cpp: + (WebCore::DocLoader::DocLoader): + (WebCore::DocLoader::~DocLoader): + (WebCore::DocLoader::needReload): + (WebCore::DocLoader::requestImage): + (WebCore::DocLoader::requestStyleSheet): + (WebCore::DocLoader::requestScript): + (WebCore::DocLoader::requestXSLStyleSheet): + (WebCore::DocLoader::requestXBLDocument): + (WebCore::DocLoader::setAutoloadImages): + (WebCore::DocLoader::setShowAnimations): + (WebCore::DocLoader::removeCachedObject): + * loader/loader.cpp: + (WebCore::Loader::receivedAllData): + (WebCore::Loader::receivedResponse): + * page/Frame.cpp: + (WebCore::UserStyleSheetLoader::setStyleSheet): + (WebCore::Frame::didOpenURL): + (WebCore::Frame::setMetaRefreshEnabled): + (WebCore::Frame::setAutoloadImages): + (WebCore::Frame::autoloadImages): + (WebCore::Frame::clear): + (WebCore::Frame::receivedFirstData): + (WebCore::Frame::begin): + (WebCore::Frame::write): + (WebCore::Frame::baseTarget): + (WebCore::Frame::completeURL): + (WebCore::Frame::scheduleRedirection): + (WebCore::Frame::scheduleLocationChange): + (WebCore::Frame::scheduleHistoryNavigation): + (WebCore::Frame::changeLocation): + (WebCore::Frame::redirectionTimerFired): + (WebCore::Frame::encoding): + (WebCore::Frame::gotoAnchor): + (WebCore::Frame::setStandardFont): + (WebCore::Frame::setFixedFont): + (WebCore::Frame::selectedText): + (WebCore::Frame::selection): + (WebCore::Frame::dragCaret): + (WebCore::Frame::setSelection): + (WebCore::Frame::setDragCaret): + (WebCore::Frame::paintCaret): + (WebCore::Frame::paintDragCaret): + (WebCore::Frame::urlSelected): + (WebCore::Frame::requestFrame): + (WebCore::Frame::requestObject): + (WebCore::Frame::shouldUsePlugin): + (WebCore::Frame::loadPlugin): + (WebCore::Frame::loadSubframe): + (WebCore::Frame::submitForm): + (WebCore::Frame::lastModified): + (WebCore::Frame::reparseConfiguration): + (WebCore::Frame::shouldChangeSelection): + (WebCore::Frame::appliedEditing): + (WebCore::Frame::unappliedEditing): + (WebCore::Frame::reappliedEditing): + (WebCore::Frame::executeScript): + (WebCore::updateState): + (WebCore::Frame::isCharacterSmartReplaceExempt): + (WebCore::Frame::openURL): + (WebCore::Frame::didNotOpenURL): + (WebCore::Frame::setEncoding): + (WebCore::Frame::saveInterpreterBuiltins): + (WebCore::Frame::restoreInterpreterBuiltins): + (WebCore::Frame::mutableInstances): + (WebCore::Frame::setPolicyBaseURL): + (WebCore::Frame::addMetaData): + (WebCore::Frame::scrollToAnchor): + (WebCore::Frame::setMediaType): + (WebCore::Frame::highlightAllMatchesForString): + (WebCore::Frame::tree): + * page/Frame.h: + (WebCore::Frame::instances): + * page/FramePrivate.h: + * page/FrameView.cpp: + (WebCore::FrameViewPrivate::FrameViewPrivate): + (WebCore::FrameView::FrameView): + (WebCore::FrameView::~FrameView): + (WebCore::FrameView::init): + (WebCore::FrameView::setMarginWidth): + (WebCore::FrameView::setMarginHeight): + (WebCore::FrameView::adjustViewSize): + (WebCore::FrameView::layout): + (WebCore::FrameView::dispatchDragEvent): + (WebCore::FrameView::scrollTo): + (WebCore::FrameView::setMediaType): + (WebCore::FrameView::mediaType): + (WebCore::FrameView::setResizingFrameSet): + (WebCore::FrameView::setIgnoreWheelEvents): + * page/FrameView.h: + (WebCore::FrameView::frameWidth): + (WebCore::FrameView::marginWidth): + (WebCore::FrameView::marginHeight): + (WebCore::FrameView::ref): + (WebCore::FrameView::deref): + * page/ResourceRequest.h: + (WebCore::ResourceRequest::contentType): + (WebCore::ResourceRequest::setContentType): + * platform/FontFamily.h: + * platform/Image.h: + * platform/KURL.cpp: + (KURL::KURL): + (KURL::parse): + (urlcmp): + (KURL::encode_string): + (encodeHostname): + * platform/KURL.h: + * platform/PlatformString.h: + (WebCore::String::left): + (WebCore::String::right): + * platform/String.cpp: + (WebCore::String::toInt): + * platform/StringImpl.cpp: + (WebCore::StringImpl::toInt): + * platform/TransferJob.cpp: + (WebCore::TransferJob::queryMetaData): + (WebCore::TransferJob::addMetaData): + * platform/TransferJob.h: + * platform/mac/ImageMac.mm: + (WebCore::Image::supportsType): + * platform/mac/TransferJobMac.mm: + (WebCore::TransferJob::start): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::information): + * rendering/RenderTextField.cpp: + (WebCore::RenderTextField::updateFromElement): + * xml/xmlhttprequest.cpp: + (WebCore::getMIMEType): + (WebCore::getCharset): + (WebCore::XMLHttpRequest::getReadyState): + (WebCore::XMLHttpRequest::getResponseText): + (WebCore::XMLHttpRequest::getResponseXML): + (WebCore::XMLHttpRequest::XMLHttpRequest): + (WebCore::XMLHttpRequest::~XMLHttpRequest): + (WebCore::XMLHttpRequest::changeState): + (WebCore::XMLHttpRequest::callReadyStateChangeListener): + (WebCore::XMLHttpRequest::urlMatchesDocumentDomain): + (WebCore::XMLHttpRequest::open): + (WebCore::XMLHttpRequest::send): + (WebCore::XMLHttpRequest::abort): + (WebCore::XMLHttpRequest::overrideMIMEType): + (WebCore::XMLHttpRequest::setRequestHeader): + (WebCore::XMLHttpRequest::getRequestHeader): + (WebCore::XMLHttpRequest::getAllResponseHeaders): + (WebCore::XMLHttpRequest::getResponseHeader): + (WebCore::XMLHttpRequest::responseIsXML): + (WebCore::XMLHttpRequest::getStatus): + (WebCore::XMLHttpRequest::getStatusText): + (WebCore::XMLHttpRequest::processSyncLoadResults): + (WebCore::XMLHttpRequest::receivedAllData): + (WebCore::XMLHttpRequest::receivedRedirect): + (WebCore::XMLHttpRequest::receivedData): + (WebCore::XMLHttpRequest::cancelRequests): + (WebCore::XMLHttpRequest::detachRequests): + * xml/xmlhttprequest.h: + +2006-03-20 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - http://bugs.webkit.org/show_bug.cgi?id=3439 + mouseover effects can get stuck sometimes due to missing events + - http://bugs.webkit.org/show_bug.cgi?id=7701 + mouseout sent to the wrong element when layout changes simultaneously + + Implemented saving the previous node under the mouse, so that we don't need to + recalculate it, which is slow and even not really possible. This has fixed a number + of issues with mouse event dispatching when the content changes. + The code still needs refactoring and cleanup, see bug 3439 for comments. + + Tests (both files perform multiple checks): + - fast/events/mouseover-mouseout.html + - fast/events/mouseover-mouseout2.html + + * page/Frame.h: Added a Frame parameter to passSubframeEventToSubframe(), + used for mouseMoved events. + * bridge/mac/FrameMac.h: Ditto. + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::passSubframeEventToSubframe): Use the passed subframe to target + NSMouseMoved events. + * page/FrameView.h: Added a prepareMouseEvent() helper that does viewportToContents translation. + * page/FrameView.cpp: Added data members for storing the previous node and subframe + under the mouse to FrameViewPrivate. Removed the now unused prevMouseX/prevMouseY. + (WebCore::FrameViewPrivate::reset): Reset the new data members. + (WebCore::subframeForEvent): A temporary place for the code that extracts a subframe + pointer from MouseEventWithHitTestResults, moved from FrameMac::passSubframeEventToSubframe(). + (WebCore::FrameView::prepareMouseEvent): The new helper. + (WebCore::FrameView::handleMousePressEvent): Use the new helper. + (WebCore::FrameView::handleMouseDoubleClickEvent): Ditto. + (WebCore::FrameView::handleMouseReleaseEvent): Ditto. + (WebCore::FrameView::updateDragAndDrop): Ditto. + (WebCore::FrameView::hoverTimerFired): Ditto. + (WebCore::FrameView::dispatchMouseEvent): Store and use the oldUnder node, don't store + or use prevMouseX/Y. + (WebCore::FrameView::handleMouseMoveEvent): Rewrote dispatching events to subframes using + a stored oldSubframe reference. Protect "this" from being removed while in this function. + +2006-03-20 Darin Adler <darin@apple.com> + + Reviewed by Anders. + + - http://bugs.webkit.org/show_bug.cgi?id=7875 + autogenerate bindings for Range + + * dom/Range.idl: Added. + * khtml/ecma/kjs_range.cpp: Removed. + * khtml/ecma/kjs_range.h: Removed. + + * WebCore.vcproj/WebCore/build-generated-files.sh: Removed code to generate + kjs_range.lut.h. + + * WebCore.xcodeproj/project.pbxproj: Added Range.idl source file. + Removed kjs_range.h and kjs_range.cpp source files. Sorted the "dom" group. + Removed rule to generate kjs_range.lut.h. + + * bindings/js/JSDOMCore.cpp: Added include of JSRange.cpp. + + * bindings/scripts/CodeGeneratorJS.pm: Added DocumentFragment, Range, CompareHow, + and short to the types this script can handle. Added code to generate toRange + functions and the like. Added separate code to handle exceptions for getters + vs. setters for attributes. Changed return values for the "bad ID" case to 0 + -- there's no need to generate the extra code to return jsUndefined() in such + cases, which should be unreachable. Changed exception handling to use setDOMException + directly instead of DOMExceptionTranslator; DOMExceptionTranslator was a trick + to make it easier to convert existing bindings and shouldn't be used going + forward. Fixed names of constructors to use the JavaScript class name (the + interface name), not the name of the C++ implementation class. Fixed generation + of code for functions that have no parameters but do raise exceptions. + + * bindings/scripts/IDLParser.pm: Added parsing for separate getter and setter + exceptions in attributes. The syntax is not real IDL, but real IDL doesn't support + declaring exceptions on attributes at all. We'll probably want to revisit our + syntax for this some day. + + * bindings/scripts/IDLStructure.pm: Removed unused exceptionName field from + domAttribute, and replaced raisesExceptions field with getterExceptions and + setterExceptions. Added regular expressions for parsing getter/setter syntax. + We'll probably have to redo this whole thing parse in a better way at some + point -- the regular expressions allow any invalid syntax in between them. + + * dom/Attr.idl: Change exception declaration for setting the value attribute + to use setter-specific exception syntax. + * dom/CharacterData.idl: Change exception declaration for setting the data + attribute to use setter-specific exception syntax. + * dom/ProcessingInstruction.idl: Change exception declaration for setting the + data attribute to use setter-specific exception syntax. + + * khtml/ecma/kjs_dom.cpp: Include JSRange.h instead of kjs_range.h. + * khtml/ecma/kjs_window.cpp: Include JSRange.h instead of kjs_range.h. + (KJS::Window::getValueProperty): Use JSRange::getConstructor instead of + getRangeConstructor. + +2006-03-20 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Fix win32 compile. + + * Viewer/ImageView.cpp: + * platform/GraphicsContext.cpp: + (WebCore::WebCore::GraphicsContext::createGraphicsContextPrivate): + (WebCore::WebCore::GraphicsContext::destroyGraphicsContextPrivate): + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::fillRectSourceOver): + (WebCore::GraphicsContext::drawLine): + (WebCore::GraphicsContext::drawFocusRing): + * platform/win/FontWin.cpp: + (WebCore::Font::drawHighlightForText): + (WebCore::Font::drawLineForText): + +2006-03-19 Darin Adler <darin@apple.com> + + Rubber stamped by Eric. + + - moved khtml/html files all into html directory + + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new paths. + * WebCore.vcproj/WebCore/build-generated-files.sh: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * khtml/html: Removed. + + * html/DocTypeStrings.gperf: Moved. + * html/FormDataList.cpp: Ditto. + * html/FormDataList.h: Ditto. + * html/HTMLBaseFontElement.cpp: Ditto. + * html/HTMLBaseFontElement.h: Ditto. + * html/HTMLButtonElement.cpp: Ditto. + * html/HTMLButtonElement.h: Ditto. + * html/HTMLCanvasElement.cpp: Ditto. + * html/HTMLCanvasElement.h: Ditto. + * html/HTMLCollection.cpp: Ditto. + * html/HTMLCollection.h: Ditto. + * html/HTMLDocument.cpp: Ditto. + * html/HTMLDocument.h: Ditto. + * html/HTMLElement.cpp: Ditto. + * html/HTMLElement.h: Ditto. + * html/HTMLElementFactory.cpp: Ditto. + * html/HTMLElementFactory.h: Ditto. + * html/HTMLEntityNames.gperf: Ditto. + * html/HTMLFieldSetElement.cpp: Ditto. + * html/HTMLFieldSetElement.h: Ditto. + * html/HTMLFormCollection.cpp: Ditto. + * html/HTMLFormCollection.h: Ditto. + * html/HTMLFormElement.cpp: Ditto. + * html/HTMLFormElement.h: Ditto. + * html/HTMLGenericFormElement.cpp: Ditto. + * html/HTMLGenericFormElement.h: Ditto. + * html/HTMLInputElement.cpp: Ditto. + * html/HTMLInputElement.h: Ditto. + * html/HTMLIsIndexElement.cpp: Ditto. + * html/HTMLIsIndexElement.h: Ditto. + * html/HTMLKeygenElement.cpp: Ditto. + * html/HTMLKeygenElement.h: Ditto. + * html/HTMLLabelElement.cpp: Ditto. + * html/HTMLLabelElement.h: Ditto. + * html/HTMLLegendElement.cpp: Ditto. + * html/HTMLLegendElement.h: Ditto. + * html/HTMLNameCollection.cpp: Ditto. + * html/HTMLNameCollection.h: Ditto. + * html/HTMLNames.cpp: Ditto. + * html/HTMLNames.h: Ditto. + * html/HTMLOptGroupElement.cpp: Ditto. + * html/HTMLOptGroupElement.h: Ditto. + * html/HTMLOptionElement.cpp: Ditto. + * html/HTMLOptionElement.h: Ditto. + * html/HTMLOptionsCollection.cpp: Ditto. + * html/HTMLOptionsCollection.h: Ditto. + * html/HTMLParser.cpp: Ditto. + * html/HTMLParser.h: Ditto. + * html/HTMLSelectElement.cpp: Ditto. + * html/HTMLSelectElement.h: Ditto. + * html/HTMLTextAreaElement.cpp: Ditto. + * html/HTMLTextAreaElement.h: Ditto. + * html/HTMLTextFieldInnerElement.cpp: Ditto. + * html/HTMLTextFieldInnerElement.h: Ditto. + * html/HTMLTokenizer.cpp: Ditto. + * html/HTMLTokenizer.h: Ditto. + * html/html_baseimpl.cpp: Ditto. + * html/html_baseimpl.h: Ditto. + * html/html_blockimpl.cpp: Ditto. + * html/html_blockimpl.h: Ditto. + * html/html_headimpl.cpp: Ditto. + * html/html_headimpl.h: Ditto. + * html/html_imageimpl.cpp: Ditto. + * html/html_imageimpl.h: Ditto. + * html/html_inlineimpl.cpp: Ditto. + * html/html_inlineimpl.h: Ditto. + * html/html_listimpl.cpp: Ditto. + * html/html_listimpl.h: Ditto. + * html/html_objectimpl.cpp: Ditto. + * html/html_objectimpl.h: Ditto. + * html/html_tableimpl.cpp: Ditto. + * html/html_tableimpl.h: Ditto. + + * bindings/objc/DOM.mm: + * bridge/mac/WebCoreEncodings.mm: + * bridge/mac/WebCoreFrameBridge.mm: + * css/CSSGrammar.y: + * css/cssstyleselector.cpp: + * dom/Document.cpp: + * dom/EventTargetNode.cpp: + * dom/NameNodeList.cpp: + * dom/Node.cpp: + * dom/Position.cpp: + * dom/dom_elementimpl.cpp: + * dom/xml_tokenizer.cpp: + * editing/ApplyStyleCommand.cpp: + * editing/BreakBlockquoteCommand.cpp: + * editing/CompositeEditCommand.cpp: + * editing/DeleteSelectionCommand.cpp: + * editing/InsertLineBreakCommand.cpp: + * editing/InsertParagraphSeparatorCommand.cpp: + * editing/JSEditor.cpp: + * editing/ReplaceSelectionCommand.cpp: + * editing/TextIterator.cpp: + * editing/VisiblePosition.cpp: + * editing/htmlediting.cpp: + * editing/markup.cpp: + * editing/visible_units.cpp: + * html/CanvasRenderingContext2D.cpp: + * kcanvas/KCanvasTreeDebug.cpp: + * khtml/ecma/JSDOMParser.cpp: + * khtml/ecma/kjs_css.cpp: + * khtml/ecma/kjs_dom.cpp: + * khtml/ecma/kjs_events.cpp: + * khtml/misc/decoder.cpp: + * khtml/xsl/XSLStyleSheet.cpp: + * khtml/xsl/XSLTProcessor.cpp: + * ksvg2/misc/SVGImageLoader.h: + * ksvg2/svg/SVGElement.cpp: + * ksvg2/svg/SVGSVGElement.cpp: + * kwq/WebCoreAXObject.mm: + * page/Frame.cpp: + * page/FrameView.cpp: + * rendering/RenderBlock.cpp: + * rendering/RenderBox.cpp: + * rendering/RenderFlow.cpp: + * rendering/RenderHTMLCanvas.cpp: + * rendering/RenderImage.cpp: + * rendering/RenderLayer.cpp: + * rendering/RenderObject.cpp: + * rendering/RenderTable.cpp: + * rendering/RenderTableCell.cpp: + * rendering/RenderTableCol.cpp: + * rendering/RenderTableRow.cpp: + * rendering/RenderTableSection.cpp: + * rendering/RenderTextField.cpp: + * rendering/RenderTheme.cpp: + * rendering/render_applet.cpp: + * rendering/render_button.cpp: + * rendering/render_frames.cpp: + * rendering/render_list.cpp: + Updated includes. + +2006-03-17 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Move Form code from MacFrame to Frame. + Move GraphicsContext code from GraphicsContextMac to GraphicsContext. + Use IntRect, FloatRect in more places throughout the code. + http://bugs.webkit.org/show_bug.cgi?id=7824 + + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::MacFrame): + (WebCore::MacFrame::searchForLabelsAboveCell): + (WebCore::MacFrame::searchForLabelsBeforeElement): + (WebCore::dictionaryFromHashMap): + (WebCore::MacFrame::submitForm): + (WebCore::MacFrame::setView): + (WebCore::MacFrame::currentEventIsMouseDownInWidget): + (WebCore::MacFrame::currentEventIsKeyboardOptionTab): + (WebCore::MacFrame::handleKeyboardOptionTabInView): + (WebCore::MacFrame::tabsToAllControls): + (WebCore::MacFrame::shouldDragAutoNode): + (WebCore::MacFrame::selectionImage): + (WebCore::MacFrame::snapshotDragImage): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge nextKeyView]): + (-[WebCoreFrameBridge previousKeyView]): + (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]): + (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]): + * kcanvas/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::paint): + * page/Frame.cpp: + (WebCore::Frame::Frame): + (WebCore::Frame::clearRecordedFormValues): + (WebCore::Frame::recordFormValue): + (WebCore::Frame::didNotOpenURL): + (WebCore::scanForForm): + (WebCore::Frame::paint): + (WebCore::Frame::prepareForUserAction): + * page/Frame.h: + * platform/GraphicsContext.cpp: + (WebCore::GraphicsContextState::GraphicsContextState): + (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): + (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate): + (WebCore::GraphicsContext::save): + (WebCore::GraphicsContext::restore): + (WebCore::GraphicsContext::font): + (WebCore::GraphicsContext::setFont): + (WebCore::GraphicsContext::pen): + (WebCore::GraphicsContext::setPen): + (WebCore::GraphicsContext::setBrush): + (WebCore::GraphicsContext::brush): + (WebCore::GraphicsContext::setUsesInactiveTextBackgroundColor): + (WebCore::GraphicsContext::usesInactiveTextBackgroundColor): + (WebCore::GraphicsContext::updatingControlTints): + (WebCore::GraphicsContext::setUpdatingControlTints): + (WebCore::GraphicsContext::setPaintingDisabled): + (WebCore::GraphicsContext::paintingDisabled): + (WebCore::GraphicsContext::printing): + (WebCore::GraphicsContext::drawImageAtPoint): + (WebCore::GraphicsContext::drawImageInRect): + (WebCore::GraphicsContext::drawImage): + (WebCore::GraphicsContext::initFocusRing): + (WebCore::GraphicsContext::clearFocusRing): + (WebCore::GraphicsContext::addFocusRingRect): + (WebCore::GraphicsContext::focusRingWidth): + (WebCore::GraphicsContext::focusRingOffset): + (WebCore::GraphicsContext::focusRingRects): + * platform/GraphicsContext.h: + * platform/mac/GraphicsContextMac.mm: + (WebCore::fillRectSourceOver): + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::savePlatformState): + (WebCore::GraphicsContext::restorePlatformState): + (WebCore::GraphicsContext::drawRect): + (WebCore::GraphicsContext::setColorFromBrush): + (WebCore::GraphicsContext::setColorFromPen): + (WebCore::GraphicsContext::drawLine): + (WebCore::GraphicsContext::drawEllipse): + (WebCore::GraphicsContext::drawArc): + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::GraphicsContext::drawFloatImage): + (WebCore::GraphicsContext::drawTiledImage): + (WebCore::GraphicsContext::drawScaledAndTiledImage): + (WebCore::GraphicsContext::selectedTextBackgroundColor): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::addClip): + (WebCore::GraphicsContext::addRoundedRectClip): + (WebCore::GraphicsContext::beginTransparencyLayer): + (WebCore::GraphicsContext::endTransparencyLayer): + (WebCore::GraphicsContext::setShadow): + (WebCore::GraphicsContext::clearShadow): + (WebCore::GraphicsContext::drawFocusRing): + * rendering/render_box.cpp: + (WebCore::RenderBox::paintBackgroundExtended): + (WebCore::RenderBox::outlineBox): + * rendering/render_frames.cpp: + (WebCore::RenderFrameSet::userResize): + * rendering/render_image.cpp: + (WebCore::RenderImage::paint): + * rendering/render_list.cpp: + (WebCore::RenderListMarker::paint): + * rendering/render_object.cpp: + (WebCore::RenderObject::drawBorder): + (WebCore::RenderObject::paintBorderImage): + +2006-03-19 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7854 + CanvasGradient leaks + + * html/CanvasGradient.cpp: (WebCore::CanvasGradient::platformShading): + Don't make the CG shading object keep a reference to the DOM gradient object. + I got confused because in the case of a CanvasPattern, the pattern does need + to keep a reference to the DOM pattern object, but the object lifetime is + handled differently here. The CG shading object is used right away, not set + in a graphics context. + +2006-03-19 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - attempt to fix the buildbot by handling DOMImplementation another way + + * WebCore.xcodeproj/project.pbxproj: Added DOMImplementationFront.h/cpp. + + * bindings/objc/DOMImplementationFront.cpp: Added. + * bindings/objc/DOMImplementationFront.h: Added. + + * bindings/objc/DOMInternal.h: Use DOMImplementationFront, not DOMImplementation. + * bindings/objc/DOM.mm: + (-[DOMImplementation dealloc]): Ditto. + (-[DOMImplementation finalize]): Ditto. + (-[DOMImplementation _initWithDOMImplementation:]): Ditto. + (+[DOMImplementation _DOMImplementationWith:]): Ditto. + (-[DOMImplementation _DOMImplementation]): Ditto. + (-[DOMDocument implementation]): Call implementationFront from the + DOMImplementationFront header instead of using the real implementation + function on the Document. + +2006-03-19 Darin Adler <darin@apple.com> + + - global rename, done by script + + * <lots of files>: Renamed XXXImpl to XXX, and a number of other renames. + See WebKitTools/Scripts/do-webcore-rename version 13392 for details. + +2006-03-19 Darin Adler <darin@apple.com> + + - roll out fix for http://bugs.webkit.org/show_bug.cgi?id=6314 + Unclosed <style> element in <head> makes page completely blank + + This fix was breaking major sites -- details in the bug report. + + * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): + Removed the bug fix, added a FIXME about the <title> code that has + the same problem. + +2006-03-18 David Carson <dacarson@gmail.com> + + Test: fast/canvas/patternfill-repeat.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7830 + <canvas> createPattern 'repeat' options fail + + * CanvasPattern.cpp (CanvasPattern::createPattern) + Change stepping so that repeat-x, repeat-y, and no-repeat repeat + outside the view area by using large values for repeat interval. + +2006-03-18 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/dom/Element/class-attribute-whitespace.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7761 + Tabs in class attribute not treated as whitespace + + * dom/dom_elementimpl.cpp: + (WebCore::isClassWhitespace): Helper function to check if a character + in the class attribute should be treated as whitespace. Added \r and \t. + (WebCore::NamedMappedAttrMapImpl::parseClassAttribute): Instead of creating + a QStringList and iterating it, do everything in one pass over the string. + +2006-03-18 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/block/float/vertical-move-relayout.html + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6795 + Slow image load causes render problem + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlockChildren): Call markAllDescendantsWithFloatsForLayout + when the child's vertical position changes. + +2006-03-18 David Kilzer <ddkilzer@kilzer.net> + + Reviewed by Darin. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=6314 + Unclosed <style> element in <head> makes page completely blank + + Test: fast/js/exception-linenums-in-html-3.html + Test: fast/js/missing-style-end-tag-js.html + Test: fast/tokenizer/missing-style-end-tag-1.html + Test: fast/tokenizer/missing-style-end-tag-2.html + + * khtml/html/htmlparser.cpp: + (WebCore::HTMLParser::handleError): Add check for missing </style> tag and handle + this condition if identified. + * khtml/html/htmltokenizer.cpp: + (WebCore::HTMLTokenizer::parseTag): If parseSpecial() consumes the rest of the + document looking for a </style> tag, reset the state of the tokenizer and + retokenize with no special handling for <style>. The parser will handle the + missing </style> tag in HTMLParser::handleError(). + +2006-03-18 Rob Buis <buis@kde.org> + + Reviewed by Darin. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=5351: + SVG: Safari ignores <title> elements + + Make SVGTitleElementImpl act the same as HTMLTitleElementImpl, + in the process setting the title on the right triggers. + + * ksvg2/svg/SVGTitleElementImpl.cpp: + (SVGTitleElementImpl::SVGTitleElementImpl): + (SVGTitleElementImpl::title): + (SVGTitleElementImpl::closeRenderer): + (SVGTitleElementImpl::insertedIntoDocument): + (SVGTitleElementImpl::removedFromDocument): + (SVGTitleElementImpl::childrenChanged): + * ksvg2/svg/SVGTitleElementImpl.h: + +2006-03-18 Darin Adler <darin@apple.com> + + - another try at fixing Windows build + + * WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTargetNodeImpl.h and .cpp. + +2006-03-18 Darin Adler <darin@apple.com> + + - another try at fixing Windows build + + * bridge/win/FrameWin.cpp: (WebCore::FrameWin::keyPress): Added EventTargetNodeCast. + +2006-03-18 Darin Adler <darin@apple.com> + + - try to fix Windows build + + * bridge/win/FrameWin.h: Remove KURL parameter. + * bridge/win/FrameWin.cpp: (WebCore::FrameWin::urlSelected): Ditto. + * platform/win/TemporaryLinkStubs.cpp: (BrowserExtensionWin::canRunModal): Ditto. + +2006-03-18 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin. + + - fix leaks caused by the fix for Bugzilla bug 3560 + + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::destroyLeftoverChildren): Text renderers with + first-letter pseudo style are children of an existing first-letter inline + that has been updated, and should be destroyed. + +2006-03-18 David Hyatt <hyatt@apple.com> + + Fix for bug 7841, tables, table rows, and table row groups should + all support overflow:hidden. + + Reviewed by eric + + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::layout): + (WebCore::RenderTable::paint): + (WebCore::RenderTable::getOverflowClipRect): + * rendering/RenderTable.h: + * rendering/RenderTableCol.h: + (WebCore::RenderTableCol::requiresLayer): + * rendering/RenderTableRow.h: + (WebCore::RenderTableRow::requiresLayer): + * rendering/render_box.cpp: + (WebCore::RenderBox::setStyle): + * rendering/render_layer.cpp: + (WebCore::RenderLayer::paintLayer): + +2006-03-17 Alice Liu <alice.liu@apple.com> + + Reviewed by Hyatt. + + - fixed http://bugs.webkit.org/show_bug.cgi?id=6999 + "Dynamically added link-tag disables the use of change styles + dynamically" + + * khtml/html/html_headimpl.cpp: + (WebCore::HTMLLinkElementImpl::process): + - dynamically added link-tags for stylesheets were messing up the + counting of pending stylesheets. If a head link element + specifies a new stylesheet but the previously specified + stylesheet is still loading, tell the document that stylesheets + are loaded so that there are no remaining requests for it to be + loaded. + +2006-03-17 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin. + + - Fixed some crashes in event dispatch and settled the question of + when getDocument() can return NULL, removing superfluous NULL checks. + + I promise to check in a test case soon, but I need to land this before + the global rename happens, and I left the test file on my other machine. + + Here's what I did: + + (1) Removed NULL checks for getDocument() in cases where we know it + should not return NULL (which turned out to be all but one). Replaced + with ASSERT inside getDocument(). Tested to ensure there was no + regression @ albertsons.com. + + (2) Added the EventTargetNode class, which represents Nodes that + implement the DOM EventTarget interface. Discussed this design with + Maciej and Hyatt. The previous dsign -- assuming that all Nodes were + EventTargets -- made it possible to crash WebKit by, for example, + dispatching a mouse event to a documentType node that was not + associated with a document. + + (3) Reflected (2) into the JS bindings and touched JSDOMCore.cpp to + force a re-build. + + (4) Using classInfo checking, strengthened type constraints on + JavaScript method dispatch so that you can't finagle JavaScript into, + for example, invoking a document-dependent method belonging to a + node type that's guaranteed to have a document on a node type that may + not have one. + + (5) Pushed some IE-specific JS bindings that depend on a node having a + document down from DOMNode to DOMElement. (An element always has a + document.) Tested that Firefox's behavior matched. Confirmed with MSDN. + + (6) Updated Objc bindigns to throw an exception if you try to use + the event interface on a node that doesn't support it. Discussed this + design with Maciej and TimH. + + (7) Consolidated repeated documentElement-finding code in the Position + class into the Position::documentElement() method. Did the same for + repeated top-level document finding and DocumentImpl::topDocument(). + + * WebCore+SVG/KDOMHeaders.h: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMCore.cpp: + * bindings/objc/DOM.mm: + (-[DOMNode addEventListener:::]): + (-[DOMNode removeEventListener:::]): + (-[DOMNode dispatchEvent:]): + (-[DOMNode KJS::Bindings::]): + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::keyEvent): + (WebCore::MacFrame::dispatchCPPEvent): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]): + (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): + * css/css_base.cpp: + (WebCore::StyleBaseImpl::baseURL): + * css/css_computedstyle.cpp: + (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): + * css/css_valueimpl.cpp: + (WebCore::CSSMutableStyleDeclarationImpl::removeProperty): + (WebCore::CSSMutableStyleDeclarationImpl::setProperty): + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * dom/Attr.idl: + * dom/CharacterData.idl: + * dom/CharacterDataImpl.cpp: + (WebCore::CharacterDataImpl::CharacterDataImpl): + (WebCore::CharacterDataImpl::rendererIsNeeded): + (WebCore::CharacterDataImpl::dump): + * dom/CharacterDataImpl.h: + * dom/ContainerNodeImpl.cpp: + (WebCore::ContainerNodeImpl::ContainerNodeImpl): + (WebCore::ContainerNodeImpl::removeChild): + (WebCore::ContainerNodeImpl::attach): + (WebCore::ContainerNodeImpl::detach): + (WebCore::ContainerNodeImpl::insertedIntoDocument): + (WebCore::ContainerNodeImpl::removedFromDocument): + (WebCore::ContainerNodeImpl::insertedIntoTree): + (WebCore::ContainerNodeImpl::removedFromTree): + (WebCore::ContainerNodeImpl::setFocus): + (WebCore::ContainerNodeImpl::setActive): + (WebCore::ContainerNodeImpl::setHovered): + (WebCore::dispatchChildInsertionEvents): + (WebCore::dispatchChildRemovalEvents): + * dom/ContainerNodeImpl.h: + * dom/DOMImplementationImpl.cpp: + (WebCore::DOMImplementationImpl::createDocument): + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::removeAllEventListenersFromAllNodes): + (WebCore::DocumentImpl::removeAllDisconnectedNodeEventListeners): + (WebCore::DocumentImpl::getAccObjectCache): + (WebCore::DocumentImpl::setFocusNode): + (WebCore::DocumentImpl::topDocument): + * dom/Element.idl: + * dom/EventTargetNodeImpl.cpp: Added. + (WebCore::EventTargetNodeImpl::EventTargetNodeImpl): + (WebCore::EventTargetNodeImpl::~EventTargetNodeImpl): + (WebCore::EventTargetNodeImpl::insertedIntoDocument): + (WebCore::EventTargetNodeImpl::removedFromDocument): + (WebCore::EventTargetNodeImpl::addEventListener): + (WebCore::EventTargetNodeImpl::removeEventListener): + (WebCore::EventTargetNodeImpl::removeAllEventListeners): + (WebCore::EventTargetNodeImpl::handleLocalEvents): + (WebCore::EventTargetNodeImpl::dispatchGenericEvent): + (WebCore::EventTargetNodeImpl::dispatchEvent): + (WebCore::EventTargetNodeImpl::dispatchSubtreeModifiedEvent): + (WebCore::EventTargetNodeImpl::dispatchWindowEvent): + (WebCore::EventTargetNodeImpl::dispatchUIEvent): + (WebCore::EventTargetNodeImpl::dispatchKeyEvent): + (WebCore::EventTargetNodeImpl::dispatchMouseEvent): + (WebCore::EventTargetNodeImpl::dispatchSimulatedMouseEvent): + (WebCore::EventTargetNodeImpl::dispatchWheelEvent): + (WebCore::EventTargetNodeImpl::dispatchHTMLEvent): + (WebCore::EventTargetNodeImpl::removeHTMLEventListener): + (WebCore::EventTargetNodeImpl::setHTMLEventListener): + (WebCore::EventTargetNodeImpl::getHTMLEventListener): + (WebCore::EventTargetNodeImpl::disabled): + (WebCore::EventTargetNodeImpl::defaultEventHandler): + (WebCore::EventTargetNodeImpl::dump): + * dom/EventTargetNodeImpl.h: Added. + (WebCore::EventTargetNodeImpl::isEventTargetNode): + (WebCore::EventTargetNodeImpl::preDispatchEventHandler): + (WebCore::EventTargetNodeImpl::postDispatchEventHandler): + (WebCore::EventTarget): + (WebCore::forbidEventDispatch): + (WebCore::allowEventDispatch): + (WebCore::eventDispatchForbidden): + * dom/NodeImpl.cpp: + (WebCore::NodeImpl::NodeImpl): + (WebCore::NodeImpl::~NodeImpl): + (WebCore::NodeImpl::dump): + (WebCore::NodeImpl::detach): + (WebCore::NodeImpl::insertedIntoDocument): + (WebCore::NodeImpl::removedFromDocument): + * dom/NodeImpl.h: + (WebCore::NodeImpl::isEventTargetNode): + (WebCore::NodeImpl::isLink): + (WebCore::NodeImpl::getDocument): + (WebCore::NodeImpl::inDocument): + * dom/dom2_eventsimpl.cpp: + (WebCore::MouseRelatedEventImpl::receivedTarget): + * dom/dom2_rangeimpl.cpp: + (WebCore::RangeImpl::commonAncestorContainer): + * dom/dom_elementimpl.cpp: + (WebCore::inHTMLDocument): + (WebCore::ElementImpl::focus): + (WebCore::ElementImpl::blur): + (WebCore::StyledElementImpl::parseMappedAttribute): + * dom/dom_position.cpp: + (WebCore::Position::documentElement): + * dom/dom_position.h: + * editing/ReplaceSelectionCommand.cpp: + (WebCore::computeAndStoreNodeDesiredStyle): + * editing/SelectionController.cpp: + (WebCore::SelectionController::needsCaretRepaint): + * editing/visible_units.cpp: + (WebCore::previousBoundary): + (WebCore::nextBoundary): + (WebCore::previousLinePosition): + (WebCore::nextLinePosition): + (WebCore::startOfDocument): + (WebCore::endOfDocument): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNode::mark): + (KJS::DOMNode::getValueProperty): + (KJS::DOMNode::putValueProperty): + (KJS::DOMNodeProtoFunc::callAsFunction): + (KJS::DOMEventTargetNode::DOMEventTargetNode): + (KJS::DOMEventTargetNode::getOwnPropertySlot): + (KJS::DOMEventTargetNode::getValueProperty): + (KJS::DOMEventTargetNode::put): + (KJS::DOMEventTargetNode::putValueProperty): + (KJS::DOMEventTargetNode::setListener): + (KJS::DOMEventTargetNode::getListener): + (KJS::DOMEventTargetNode::pushEventHandlerScope): + (KJS::DOMEventTargetNodeProtoFunc::callAsFunction): + (KJS::): + (KJS::DOMDocument::DOMDocument): + (KJS::DOMDocument::getOwnPropertySlot): + (KJS::DOMDocument::put): + (KJS::DOMDocument::putValueProperty): + (KJS::DOMDocumentProtoFunc::callAsFunction): + (KJS::DOMElement::DOMElement): + (KJS::DOMElement::getValueProperty): + (KJS::DOMElement::put): + (KJS::DOMElement::putValueProperty): + (KJS::DOMElement::getOwnPropertySlot): + (KJS::DOMElementProtoFunc::callAsFunction): + (KJS::checkNodeSecurity): + * khtml/ecma/kjs_dom.h: + (KJS::DOMNode::): + (KJS::DOMEventTargetNode::): + (KJS::DOMElement::): + * khtml/ecma/kjs_events.cpp: + (KJS::JSLazyEventListener::parseCode): + (KJS::getNodeEventListener): + * khtml/ecma/kjs_html.cpp: + (KJS::HTMLElement::bodyGetter): + (KJS::HTMLElement::anchorGetter): + (KJS::HTMLElement::getValueProperty): + (KJS::HTMLElement::bodySetter): + * khtml/ecma/kjs_views.cpp: + (KJS::DOMAbstractViewProtoFunc::callAsFunction): + * khtml/html/HTMLFormElementImpl.cpp: + (WebCore::HTMLFormElementImpl::registerFormElement): + (WebCore::HTMLFormElementImpl::removeFormElement): + * khtml/html/HTMLGenericFormElementImpl.cpp: + (WebCore::HTMLGenericFormElementImpl::insertedIntoTree): + * khtml/html/HTMLInputElementImpl.cpp: + (WebCore::HTMLInputElementImpl::~HTMLInputElementImpl): + (WebCore::HTMLInputElementImpl::focus): + * khtml/html/HTMLOptionElementImpl.cpp: + (WebCore::HTMLOptionElementImpl::text): + * khtml/html/HTMLSelectElementImpl.cpp: + (WebCore::HTMLSelectElementImpl::~HTMLSelectElementImpl): + * khtml/html/HTMLTextAreaElementImpl.cpp: + (WebCore::HTMLTextAreaElementImpl::~HTMLTextAreaElementImpl): + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLBodyElementImpl::insertedIntoDocument): + (WebCore::HTMLFrameElementImpl::isURLAllowed): + (WebCore::HTMLFrameElementImpl::openURL): + (WebCore::HTMLFrameElementImpl::frameWidth): + (WebCore::HTMLFrameElementImpl::frameHeight): + * khtml/html/html_imageimpl.cpp: + (WebCore::HTMLImageLoader::~HTMLImageLoader): + (WebCore::HTMLImageLoader::updateFromElement): + (WebCore::HTMLImageLoader::notifyFinished): + (WebCore::HTMLImageElementImpl::width): + (WebCore::HTMLImageElementImpl::height): + (WebCore::HTMLMapElementImpl::~HTMLMapElementImpl): + * khtml/html/html_inlineimpl.cpp: + (WebCore::HTMLAnchorElementImpl::defaultEventHandler): + * khtml/html/htmltokenizer.cpp: + (WebCore::HTMLTokenizer::notifyFinished): + * ksvg2/svg/SVGAnimateColorElementImpl.cpp: + (SVGAnimateColorElementImpl::handleTimerEvent): + * ksvg2/svg/SVGAnimateElementImpl.cpp: + (SVGAnimateElementImpl::handleTimerEvent): + * ksvg2/svg/SVGAnimateTransformElementImpl.cpp: + (SVGAnimateTransformElementImpl::handleTimerEvent): + * ksvg2/svg/SVGAnimationElementImpl.cpp: + (SVGAnimationElementImpl::closeRenderer): + * ksvg2/svg/SVGDOMImplementationImpl.cpp: + * ksvg2/svg/SVGDocumentImpl.cpp: + (WebCore::SVGDocumentImpl::dispatchRecursiveEvent): + * ksvg2/svg/SVGDocumentImpl.h: + * ksvg2/svg/SVGImageElementImpl.cpp: + * ksvg2/svg/SVGSetElementImpl.cpp: + (SVGSetElementImpl::handleTimerEvent): + * kwq/KWQAccObject.mm: + (-[KWQAccObject mouseButtonListener]): + (-[KWQAccObject accessibilityPerformAction:]): + * kwq/KWQTextArea.mm: + (-[KWQTextAreaTextView dispatchHTMLEvent:]): + * page/Frame.cpp: + (WebCore::dispatchKHTMLEditableContentChanged): + * page/FrameView.cpp: + (WebCore::FrameView::dispatchDragEvent): + (WebCore::FrameView::dispatchMouseEvent): + (WebCore::FrameView::viewportWheelEvent): + * rendering/render_layer.cpp: + (WebCore::RenderLayer::scrollToOffset): + * rendering/render_object.cpp: + (WebCore::RenderObject::shouldSelect): + (WebCore::RenderObject::backslashAsCurrencySymbol): + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::sendConsumedMouseUp): + +2006-03-17 David Hyatt <hyatt@apple.com> + + Fix for 7837, make opacity work with table rows. Make transparent backgrounds + stack properly in cells (so that the layers behind can show through like they + should). + + Reviewed by beth + + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::requiresLayer): + (WebCore::RenderTableCell::paintBackgroundsBehindCell): + (WebCore::RenderTableCell::paintBoxDecorations): + * rendering/RenderTableCell.h: + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::paint): + * rendering/RenderTableRow.h: + (WebCore::RenderTableRow::requiresLayer): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::paint): + * rendering/render_layer.cpp: + (WebCore::RenderLayer::updateLayerPosition): + (WebCore::RenderLayer::isTransparent): + (WebCore::RenderLayer::transparentAncestor): + (WebCore::RenderLayer::beginTransparencyLayers): + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::absoluteBoundingBox): + * rendering/render_object.cpp: + (WebCore::RenderObject::requiresLayer): + * rendering/render_object.h: + (WebCore::RenderObject::isTransparent): + (WebCore::RenderObject::opacity): + +2006-03-17 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Adele. + + - clean up ResourceRequest to be closer to a proper request interface + + * page/ResourceRequest.h: folded URL into ResourceRequest, other cleanup + (WebCore::ResourceRequest::ResourceRequest): Add new explicit constructor + that takes a KURL. + (WebCore::ResourceRequest::url): getter for KURL + (WebCore::ResourceRequest::setURL): corresponding setter + (WebCore::ResourceRequest::referrer): new getter for referrer, instead + of storing it in m_metaData (it was the only remaining real use of it) + (WebCore::ResourceRequest::setReferrer): corresponding setter + * bridge/BrowserExtension.h: + - removed unused openURLRequest and openURLNotify methods + - folded KURL parameter into ResourceRequest + * bridge/mac/BrowserExtensionMac.h: remove KURL args from methods that + also take a ResourceRequest + * bridge/mac/BrowserExtensionMac.mm: + (WebCore::BrowserExtensionMac::createNewWindow): adjust for ResourceRequest + changes. + * bridge/mac/MacFrame.h: remove KURL args from methods that also take a + ResourceRequest + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::openURLRequest): adjust for ResourceRequest changes + (WebCore::MacFrame::submitForm): ditto + (WebCore::MacFrame::urlSelected): ditto + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): + adjust for ResourceRequest changes + * bridge/win/BrowserExtensionWin.h: + * khtml/ecma/kjs_window.cpp: + (KJS::createNewWindow): adjust for ResourceRequest changes + (KJS::WindowFunc::callAsFunction): ditto + * page/Frame.cpp: + (WebCore::Frame::didOpenURL): adjust for ResourceRequest changes + (WebCore::Frame::receivedFirstData): ditto + (WebCore::Frame::begin): ditto + (WebCore::Frame::completeURL): ditto + (WebCore::Frame::changeLocation): ditto + (WebCore::Frame::urlSelected): ditto + (WebCore::Frame::requestFrame): ditto + (WebCore::Frame::submitForm): ditto + * page/Frame.h: + * platform/win/TemporaryLinkStubs.cpp: + (BrowserExtensionWin::createNewWindow): ditto + +2006-03-17 Adele Peterson <adele@apple.com> + + Reviewed by Tim H. + + Make default backgrounds for new text fields white + instead of transparent. This will move to html4.css + when we flip the switch. + + Test added: + * fast/forms/input-appearance-default-bkcolor.html + + * rendering/render_theme_mac.mm: + (WebCore::RenderThemeMac::adjustTextFieldStyle): + +2006-03-17 David Hyatt <hyatt@apple.com> + + Make table sections and table captions support opacity. + + Reviewed by darin + + Covered by some of the new Mozilla table tests. + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::paint): + +2006-03-17 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Maciej, landed by Beth. + + fix http://bugs.webkit.org/show_bug.cgi?id=3560 + page with use of first-letter crashes reproducibly in + RenderObject::renderArena() + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::updateFirstLetter): Pass the first-leter + renderer to the remaining text fragment. + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::destroyLeftoverChildren): Do not destroy + first-letter renderers since they are destroyed by their remaining + text now. + * rendering/RenderTextFragment.cpp: + (khtml::RenderTextFragment::RenderTextFragment): + (khtml::RenderTextFragment::destroy): Destroy the first-letter + renderer. + * rendering/RenderTextFragment.h: + (khtml::RenderTextFragment::firstLetter): + +2006-03-17 Adele Peterson <adele@apple.com> + + Reviewed by Eric. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=7798 + New text fields are much wider than they should be for a specified size + + I changed the character we use to calculate the width from "w" back to "0", + which matches our old behavior. The original change was intentional, to try + to better match other browsers, but "w" is a little too wide. For now, lets + go back to the old behavior. + + I also set the minWidth = maxWidth. We were trying to match a WinIE quirk, + but that caused some odd behavior with growth of the text field in table cells. + + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth): + +2006-03-17 Eric Seidel <eseidel@apple.com> + + Reviewed by adele. + + Fix win32 build. + Add PageWin class. + Add previously forgotten KeyEventWin class. + Pass MouseEvent() instead of 0 in a couple places to make compiler happy. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * bridge/win/BrowserExtensionWin.h: + * bridge/win/FrameWin.cpp: + (WebCore::FrameWin::urlSelected): + (WebCore::FrameWin::keyPress): + * bridge/win/FrameWin.h: + * bridge/win/PageWin.cpp: Added. + (WebCore::rootWindowForFrame): + (WebCore::Page::windowRect): + (WebCore::Page::setWindowRect): + * page/FrameView.cpp: + (WebCore::FrameView::updateDragAndDrop): + (WebCore::FrameView::hoverTimerFired): + * page/Page.h: + (WebCore::Page::mainFrame): + * platform/win/KeyEventWin.cpp: Added. + (WebCore::KeyEvent::KeyEvent): + * platform/win/TemporaryLinkStubs.cpp: + (WebCore::findNextWordFromIndex): + (FrameWin::passMouseDownEventToWidget): + (FrameWin::scheduleClose): + (BrowserExtensionWin::createNewWindow): + (WebCore::findWordBoundary): + (FrameWin::registerCommandForUndo): + (FrameWin::markMisspellingsInAdjacentWords): + (FrameWin::respondToChangedContents): + +2006-03-17 David Hyatt <hyatt@apple.com> + + Fix pixel test regression in fast/table/overflowHidden.html. There was + a borderTopExtra error made in the new boundingBox code for layers that + caused the bottom half of cells with opacity set to be clipped out. + + Reviewed by andersca + + * rendering/render_layer.cpp: + (WebCore::RenderLayer::absoluteBoundingBox): + +2006-03-17 David Hyatt <hyatt@apple.com> + + Give table rows and sections accurate dimensions. Fix absolutePosition + to work for table cells properly. Add an absolutePositionForContent method + to make sure callers that want to deal with the content of a cell handle + the cell's extra space correctly. + + Reviewed by darin + + Existing layout tests cover this change. + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge copyRenderNode:copier:]): + * dom/ContainerNodeImpl.cpp: + (WebCore::ContainerNodeImpl::getUpperLeftCorner): + (WebCore::ContainerNodeImpl::getLowerRightCorner): + * dom/NodeImpl.cpp: + (WebCore::NodeImpl::getRect): + * editing/SelectionController.cpp: + (WebCore::SelectionController::layout): + (WebCore::SelectionController::caretRect): + * editing/visible_units.cpp: + (WebCore::previousLinePosition): + (WebCore::nextLinePosition): + * khtml/html/HTMLInputElementImpl.cpp: + (WebCore::HTMLInputElementImpl::defaultEventHandler): + * kwq/KWQRenderTreeDebug.cpp: + (operator<<): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::selectionGapRects): + (WebCore::RenderBlock::positionForCoordinates): + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::positionForCoordinates): + (WebCore::RenderContainer::lineBoxRects): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::computeAbsoluteRepaintRect): + (WebCore::RenderTableCell::absolutePosition): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::addChild): + (WebCore::RenderTableRow::getAbsoluteRepaintRect): + (WebCore::RenderTableRow::nodeAtPoint): + * rendering/RenderTableRow.h: + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::ensureRows): + (WebCore::RenderTableSection::addCell): + (WebCore::RenderTableSection::layoutRows): + (WebCore::RenderTableSection::recalcCells): + (WebCore::RenderTableSection::nodeAtPoint): + * rendering/RenderTableSection.h: + * rendering/RenderText.cpp: + (WebCore::RenderText::lineBoxRects): + (WebCore::RenderText::positionForCoordinates): + (WebCore::RenderText::caretRect): + (WebCore::RenderText::posOfChar): + (WebCore::RenderText::selectionRect): + * rendering/render_box.cpp: + (WebCore::RenderBox::absolutePosition): + (WebCore::RenderBox::caretRect): + * rendering/render_br.cpp: + (WebCore::RenderBR::caretRect): + * rendering/render_canvas.h: + * rendering/render_flow.cpp: + (WebCore::RenderFlow::caretRect): + * rendering/render_frames.cpp: + (WebCore::RenderPart::updateWidgetPosition): + * rendering/render_layer.cpp: + (WebCore::RenderLayer::updateLayerPosition): + * rendering/render_object.cpp: + (WebCore::RenderObject::absoluteRects): + (WebCore::RenderObject::absoluteBoundingBoxRect): + (WebCore::RenderObject::absolutePosition): + * rendering/render_object.h: + (WebCore::RenderObject::absolutePositionForContent): + (WebCore::RenderObject::offsetHeight): + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::updateWidgetPosition): + +2006-03-17 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + WebCore part of fix for: + http://bugs.webkit.org/show_bug.cgi?id=7797 + Can't set background color on new text fields + + Bezeled NSTextFieldCells always draw a background, so instead we'll use a new + WebKitSystemInterface function to just draw the border of the cell. + + Since the theme is drawing the border and the engine is drawing the background + (which is different from the other form controls), we have to make sure we let the + theme paint the border after the engine paints the background. + + * platform/mac/WebCoreGraphicsBridge.h: + * platform/mac/WebCoreGraphicsBridge.m: + (-[WebCoreGraphicsBridge drawBezeledTextFieldCell:enabled:]): + * rendering/render_box.cpp: (WebCore::RenderBox::paintBoxDecorations): + * rendering/render_theme.cpp: + (WebCore::RenderTheme::paint): + (WebCore::RenderTheme::paintBorder): + (WebCore::RenderTheme::shouldPaintBorder): + * rendering/render_theme.h: + * rendering/render_theme_mac.mm: + (WebCore::RenderThemeMac::paintTextField): + (WebCore::RenderThemeMac::setTextFieldCellState): + +2006-03-16 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - removed KWQWindowWidget + - changed most event handling to use references instead of pointers + - chagned PageMac to no longer be a subclass of Page + + Yes, I know there's no detail in this ChangeLog entry. + No, I don't plan to make a habit of doing things this way. + Yes, this will probably break the Windows build again. + + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/BrowserExtensionMac.mm: + (WebCore::BrowserExtensionMac::createNewWindow): + * bridge/mac/FrameViewMac.mm: + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::MacFrame): + (WebCore::MacFrame::~MacFrame): + (WebCore::MacFrame::wheelEvent): + (WebCore::MacFrame::keyEvent): + (WebCore::MacFrame::khtmlMousePressEvent): + (WebCore::MacFrame::khtmlMouseMoveEvent): + (WebCore::MacFrame::khtmlMouseReleaseEvent): + (WebCore::MacFrame::mouseDown): + (WebCore::MacFrame::mouseDragged): + (WebCore::MacFrame::mouseUp): + (WebCore::MacFrame::mouseMoved): + (WebCore::MacFrame::sendContextMenuEvent): + (WebCore::MacFrame::setBridge): + (WebCore::MacFrame::dragSourceMovedTo): + (WebCore::MacFrame::dragSourceEndedAt): + (WebCore::MacFrame::dispatchDragSrcEvent): + * bridge/mac/PageMac.h: Removed. + * bridge/mac/PageMac.mm: Added. + (WebCore::Page::Page): + (WebCore::Page::windowRect): + (WebCore::Page::setWindowRect): + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge page]): + (-[WebCoreFrameBridge initializeSettings:]): + (globalPoint): + (createMouseEventFromDraggingInfo): + (-[WebCoreFrameBridge dragOperationForDraggingInfo:]): + (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]): + (-[WebCoreFrameBridge concludeDragForDraggingInfo:]): + (-[WebCoreFrameBridge dragSourceMovedTo:]): + (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): + * bridge/mac/WebCoreFrameNamespaces.mm: + (WebCore::): + * bridge/mac/WebCorePageBridge.h: + * bridge/mac/WebCorePageBridge.mm: + (-[WebCorePageBridge init]): + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::prepareMouseEvent): + (WebCore::DocumentImpl::defaultEventHandler): + * dom/DocumentImpl.h: + * dom/NodeImpl.cpp: + (WebCore::NodeImpl::dispatchMouseEvent): + (WebCore::NodeImpl::dispatchKeyEvent): + (WebCore::NodeImpl::dispatchWheelEvent): + * dom/NodeImpl.h: + * dom/dom2_eventsimpl.cpp: + (WebCore::KeyboardEventImpl::KeyboardEventImpl): + * dom/dom2_eventsimpl.h: + (WebCore::KeyboardEventImpl::keyEvent): + * khtml/ecma/kjs_window.cpp: + (KJS::Window::getValueProperty): + (KJS::WindowFunc::callAsFunction): + * khtml/html/html_inlineimpl.cpp: + (WebCore::HTMLAnchorElementImpl::defaultEventHandler): + * ksvg2/svg/SVGDocumentImpl.cpp: + * ksvg2/svg/SVGDocumentImpl.h: + * kwq/KWQWindowWidget.h: + * kwq/KWQWindowWidget.mm: Removed. + * page/Frame.cpp: + (WebCore::Frame::selectClosestWordFromMouseEvent): + (WebCore::Frame::handleMousePressEventDoubleClick): + (WebCore::Frame::handleMousePressEventTripleClick): + (WebCore::Frame::handleMousePressEventSingleClick): + (WebCore::Frame::khtmlMousePressEvent): + (WebCore::Frame::handleMouseMoveEventSelection): + (WebCore::Frame::khtmlMouseMoveEvent): + (WebCore::Frame::khtmlMouseReleaseEvent): + (WebCore::Frame::khtmlMouseDoubleClickEvent): + (WebCore::Frame::passWidgetMouseDownEventToWidget): + * page/Frame.h: + * page/FrameView.cpp: + (WebCore::FrameView::viewportMousePressEvent): + (WebCore::FrameView::viewportMouseDoubleClickEvent): + (WebCore::FrameView::viewportMouseMoveEvent): + (WebCore::FrameView::viewportMouseReleaseEvent): + (WebCore::FrameView::dispatchDragEvent): + (WebCore::FrameView::updateDragAndDrop): + (WebCore::FrameView::cancelDragAndDrop): + (WebCore::FrameView::performDragAndDrop): + (WebCore::FrameView::dispatchMouseEvent): + (WebCore::FrameView::viewportWheelEvent): + * page/FrameView.h: + * page/MouseEventWithHitTestResults.h: + (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults): + (WebCore::MouseEventWithHitTestResults::event): + * page/Page.cpp: + (WebCore::Page::init): + * page/Page.h: + (WebCore::Page::bridge): + * platform/KeyEvent.h: + (WebCore::KeyEvent::isAutoRepeat): + * platform/MouseEvent.h: + (WebCore::MouseEvent::MouseEvent): + * platform/mac/KeyEventMac.mm: + (WebCore::KeyEvent::KeyEvent): + * platform/win/TemporaryLinkStubs.cpp: + (FrameView::isFrameView): + * rendering/render_form.cpp: + (WebCore::RenderFormElement::clicked): + +2006-03-16 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Add additional hackish Font, focusring and caret code. + http://bugs.webkit.org/show_bug.cgi?id=7803 + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.vcproj/WebCore/build-generated-files.sh: + * bindings/js/JSCanvasRenderingContext2DBase.cpp: + * bridge/win/FrameWin.cpp: + (WebCore::FrameWin::keyPress): + * bridge/win/FrameWin.h: + * html/CanvasRenderingContext2D.h: + * platform/IntSize.h: + * platform/KeyEvent.h: + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawArc): + (WebCore::GraphicsContext::drawFocusRing): + * platform/win/FontWin.cpp: + (WebCore::hackishExtentForString): + (WebCore::Font::floatWidth): + (WebCore::convertRange): + (WebCore::Font::drawText): + (WebCore::Font::drawHighlightForText): + (WebCore::Font::selectionRectForText): + (WebCore::Font::checkSelectionPoint): + (WebCore::Font::drawLineForText): + (WebCore::Font::misspellingLineThickness): + * platform/win/IntSizeWin.cpp: Added. + (WebCore::IntSize::IntSize): + (WebCore::IntSize::operator SIZE): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::visibleContentRect): + * platform/win/TemporaryLinkStubs.cpp: + (Widget::disableFlushDrawing): + (GraphicsContext::GraphicsContext): + (QListBox::setSelected): + (QListBox::sizeForNumberOfLines): + (QListBox::isSelected): + (QListBox::appendItem): + (QListBox::doneAppendingItems): + (FrameWin::locationbarVisible): + (FrameWin::canUndo): + (FrameWin::mimeTypeForFileName): + (FrameWin::issueTransposeCommand): + (RenderCanvasImage::setNeedsImageUpdate): + (FrameWin::shouldChangeSelection): + (FrameWin::respondToChangedSelection): + (FrameWin::clearRecordedFormValues): + (FrameWin::recordFormValue): + (BrowserExtensionWin::getHistoryLength): + (Widget::setIsSelected): + (GraphicsContext::selectedTextBackgroundColor): + (GraphicsContext::addRoundedRectClip): + (QScrollBar::QScrollBar): + (QScrollBar::~QScrollBar): + (QScrollBar::setSteps): + (QScrollBar::scroll): + (QScrollBar::setValue): + (QScrollBar::setKnobProportion): + (QListBox::QListBox): + (QListBox::~QListBox): + (QListBox::setSelectionMode): + (QListBox::setFont): + * rendering/render_canvasimage.h: + +2006-03-16 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - renamed URLArgs to ResourceRequest, split it into its own header + - moved methods to get and set ResourceRequest to Frame + + * WebCore.xcodeproj/project.pbxproj: + * bridge/BrowserExtension.h: + * bridge/mac/BrowserExtensionMac.h: + * bridge/mac/BrowserExtensionMac.mm: + (WebCore::BrowserExtensionMac::openURLRequest): + (WebCore::BrowserExtensionMac::createNewWindow): + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::openURLRequest): + (WebCore::MacFrame::submitForm): + (WebCore::MacFrame::urlSelected): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): + * khtml/ecma/kjs_window.cpp: + (KJS::createNewWindow): + (KJS::WindowFunc::callAsFunction): + * page/Frame.cpp: + (WebCore::Frame::didOpenURL): + (WebCore::Frame::receivedFirstData): + (WebCore::Frame::setResourceRequest): + (WebCore::Frame::resourceRequest): + (WebCore::Frame::begin): + (WebCore::Frame::changeLocation): + (WebCore::Frame::urlSelected): + (WebCore::Frame::requestFrame): + (WebCore::Frame::submitForm): + * page/Frame.h: + * page/FramePrivate.h: + * page/ResourceRequest.h: Added. + (WebCore::ResourceRequest::ResourceRequest): + (WebCore::ResourceRequest::contentType): + (WebCore::ResourceRequest::setContentType): + (WebCore::ResourceRequest::doPost): + (WebCore::ResourceRequest::setDoPost): + (WebCore::ResourceRequest::lockHistory): + (WebCore::ResourceRequest::setLockHistory): + (WebCore::ResourceRequest::metaData): + +2006-03-16 Darin Adler <darin@apple.com> + + - need to touch one more file to fix the build + (Darn the lack of dependencies for autogenerated bindings!) + + * dom/Element.idl: Touch. (Really this time.) + +2006-03-16 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Pushed focus ring handling down into GraphicsContext.cpp + + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::mouseDown): + * platform/GraphicsContext.cpp: + (WebCore::GraphicsContext::initFocusRing): + (WebCore::GraphicsContext::clearFocusRing): + (WebCore::GraphicsContext::addFocusRingRect): + * platform/GraphicsContext.h: + * platform/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): + (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate): + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::drawFocusRing): + * rendering/render_flow.cpp: + (WebCore::RenderFlow::addFocusRingRects): + * rendering/render_object.cpp: + (WebCore::RenderObject::addFocusRingRects): + +2006-03-15 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7749 + canvas should be in DOM, not implemented in the JS bindings + + * WebCore.xcodeproj/project.pbxproj: Added new files. + Changed bindings-generation code to work on the new html directory + as well as the dom one. + + * bindings/js/JSCanvasRenderingContext2DBase.cpp: Added. + * bindings/js/JSCanvasRenderingContext2DBase.h: Added. + * bindings/js/JSDOMHTML.cpp: Added. + * html: Added. + * html/CanvasGradient.cpp: Added. + * html/CanvasGradient.h: Added. + * html/CanvasGradient.idl: Added. + * html/CanvasPattern.cpp: Added. + * html/CanvasPattern.h: Added. + * html/CanvasPattern.idl: Added. + * html/CanvasRenderingContext2D.cpp: Added. + * html/CanvasRenderingContext2D.h: Added. + * html/CanvasRenderingContext2D.idl: Added. + * html/CanvasStyle.cpp: Added. + * html/CanvasStyle.h: Added. + + * bindings/js/JSDOMCore.cpp: Touched so that it will recompile. + * bindings/js/JSDOMEvents.cpp: Ditto. + * dom/Attr.idl: Ditto. + * dom/DOMImplementation.idl: Ditto. + * dom/DocumentType.idl: Ditto. + * dom/MutationEvent.idl: Ditto. + * dom/ProcessingInstruction.idl: Ditto. + * dom/Text.idl: Ditto. + + * khtml/ecma/kjs_binding.h: (KJS::toJS): Added. Template so that you can call + toJS on a PassRefPtr as well as on a raw pointer. + + * bindings/scripts/CodeGeneratorJS.pm: Fixed handling of a class that has only + a legacy parent, no conventional parents. Added JSCanvasRenderingContext2DBase + as a legacy parent, and html as a legacy module. Added CanvasRenderingContext2D, + CanvasGradient, and CanvasPattern to the "waht to include". Added a special + case for strings beginning with Canvas to not add an "Impl" suffix. Made the + generated impl() function be a const member function. Made m_mimpl be private + instead of protected. Generate a toJS function for each class. Added flaot as + a type. Generate String, not DOMString. Made the HashTable const. + + * bindings/scripts/IDLParser.pm: Fix a couple small things. I had started to + try to make a missing semicolon trigger an error, but ended up giving up on + that for now. + + * khtml/html/html_canvasimpl.h: + * khtml/html/html_canvasimpl.cpp: + (WebCore::HTMLCanvasElementImpl::HTMLCanvasElementImpl): Set m_2DContext to 0. + (WebCore::HTMLCanvasElementImpl::~HTMLCanvasElementImpl): Call detachCanvas + on m_2DContext, if any. + (WebCore::HTMLCanvasElementImpl::detach): Call reset on m_2DContext, if any. + (WebCore::HTMLCanvasElementImpl::getContext): Added. + (WebCore::HTMLCanvasElementImpl::size): Added. + (WebCore::HTMLCanvasElementImpl::createPlatformImage): Added. + + * platform/Image.h: + * platform/Image.cpp: (WebCore::Image::compositeOperatorFromString): + Changed to take a String instead of a const char*. + + * khtml/html/html_imageimpl.h: + * khtml/html/html_imageimpl.cpp: (WebCore::HTMLMapElementImpl::areas): + Tweaked formatting. Changed to use PassRefPtr. + + * bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): + * khtml/ecma/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::getValueProperty): + * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction): + * khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction): + * khtml/ecma/kjs_css.cpp: + (KJS::DOMCSSStyleDeclaration::getValueProperty): + (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction): + (KJS::toJS): + (KJS::DOMStyleSheet::getValueProperty): + (KJS::DOMStyleSheetList::indexGetter): + (KJS::DOMStyleSheetList::nameGetter): + (KJS::DOMStyleSheetListFunc::callAsFunction): + (KJS::DOMCSSStyleSheet::getValueProperty): + (KJS::DOMCSSRuleList::indexGetter): + (KJS::DOMCSSRuleListFunc::callAsFunction): + (KJS::DOMCSSRule::getValueProperty): + (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction): + (KJS::DOMCSSValueList::indexGetter): + (KJS::DOMCSSValueListFunc::callAsFunction): + (KJS::DOMRect::getValueProperty): + * khtml/ecma/kjs_css.h: + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNode::getValueProperty): + (KJS::DOMNodeProtoFunc::callAsFunction): + (KJS::DOMNodeList::indexGetter): + (KJS::DOMNodeList::nameGetter): + (KJS::DOMNodeList::callAsFunction): + (KJS::DOMNodeListFunc::callAsFunction): + (KJS::DOMDocument::getValueProperty): + (KJS::DOMDocumentProtoFunc::callAsFunction): + (KJS::DOMNamedNodeMap::indexGetter): + (KJS::DOMNamedNodeMap::nameGetter): + (KJS::DOMNamedNodeMapProtoFunc::callAsFunction): + (KJS::toJS): + (KJS::DOMNamedNodesCollection::indexGetter): + * khtml/ecma/kjs_dom.h: + * khtml/ecma/kjs_events.cpp: + (KJS::JSAbstractEventListener::handleEvent): + (KJS::JSLazyEventListener::parseCode): + (KJS::DOMEvent::getValueProperty): + (KJS::toJS): + (KJS::DOMUIEvent::getValueProperty): + (KJS::DOMMouseEvent::getValueProperty): + * khtml/ecma/kjs_events.h: + * khtml/ecma/kjs_html.cpp: + (KJS::HTMLDocFunction::callAsFunction): + (KJS::HTMLDocument::namedItemGetter): + (KJS::HTMLDocument::getValueProperty): + (KJS::HTMLDocument::put): + (KJS::HTMLDocument::putValueProperty): + (KJS::HTMLElement::classInfo): + (KJS::HTMLElement::formIndexGetter): + (KJS::HTMLElement::selectIndexGetter): + (KJS::HTMLElement::implementsCall): + (KJS::HTMLElement::callAsFunction): + (KJS::HTMLElement::linkGetter): + (KJS::HTMLElement::isIndexGetter): + (KJS::HTMLElement::styleGetter): + (KJS::HTMLElement::selectGetter): + (KJS::HTMLElement::optionGetter): + (KJS::HTMLElement::inputGetter): + (KJS::HTMLElement::textAreaGetter): + (KJS::HTMLElement::buttonGetter): + (KJS::HTMLElement::labelGetter): + (KJS::HTMLElement::fieldSetGetter): + (KJS::HTMLElement::legendGetter): + (KJS::HTMLElement::objectGetter): + (KJS::HTMLElement::tableGetter): + (KJS::HTMLElement::frameGetter): + (KJS::HTMLElement::iFrameGetter): + (KJS::HTMLElement::getValueProperty): + (KJS::HTMLElement::toString): + (KJS::HTMLElement::pushEventHandlerScope): + (KJS::toJS): + (KJS::HTMLElementFunction::callAsFunction): + (KJS::HTMLElement::put): + (KJS::HTMLCollection::indexGetter): + (KJS::HTMLCollection::callAsFunction): + (KJS::HTMLCollection::getNamedItems): + (KJS::HTMLCollectionProtoFunc::callAsFunction): + (KJS::HTMLSelectCollection::put): + (KJS::OptionConstructorImp::construct): + (KJS::ImageConstructorImp::construct): + * khtml/ecma/kjs_html.h: + * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate): + * khtml/ecma/kjs_range.cpp: + (KJS::DOMRange::getValueProperty): + (KJS::DOMRangeProtoFunc::callAsFunction): + (KJS::toJS): + * khtml/ecma/kjs_range.h: + * khtml/ecma/kjs_traversal.cpp: + (KJS::DOMNodeIterator::getValueProperty): + (KJS::DOMNodeIteratorProtoFunc::callAsFunction): + (KJS::toJS): + (KJS::DOMTreeWalker::getValueProperty): + (KJS::DOMTreeWalkerProtoFunc::callAsFunction): + (KJS::JSNodeFilterCondition::acceptNode): + * khtml/ecma/kjs_traversal.h: + * khtml/ecma/kjs_views.cpp: + (KJS::DOMAbstractView::getValueProperty): + (KJS::DOMAbstractViewProtoFunc::callAsFunction): + (KJS::toJS): + * khtml/ecma/kjs_views.h: + * khtml/ecma/kjs_window.cpp: + (KJS::Window::getValueProperty): + (KJS::Window::namedItemGetter): + (KJS::Selection::getValueProperty): + (KJS::SelectionFunc::callAsFunction): + Rename uses and definitions of all the various converstions to JavaScript + wrappers to the new common overloaded name: "toJS". + +2006-03-15 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Push more of MacFrame down into Frame. + Add visibleContentRect method to ScrollView. + + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::imageFromRect): + (WebCore::MacFrame::setDisplaysWithFocusAttributes): + (WebCore::MacFrame::bodyBackgroundColor): + * bridge/mac/WebCoreFrameBridge.mm: + * page/Frame.cpp: + (WebCore::Frame::visibleSelectionRect): + (WebCore::Frame::setDisplaysWithFocusAttributes): + * page/Frame.h: + * platform/ScrollView.h: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::visibleWidth): + (WebCore::ScrollView::visibleHeight): + (WebCore::ScrollView::visibleContentRect): + (WebCore::ScrollView::contentsWidth): + (WebCore::ScrollView::contentsHeight): + (WebCore::ScrollView::contentsX): + (WebCore::ScrollView::contentsY): + (WebCore::ScrollView::scrollXOffset): + (WebCore::ScrollView::scrollYOffset): + (WebCore::ScrollView::inWindow): + +2006-03-15 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Remove unused code and clean-up style. + + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::advanceToNextMisspelling): + (WebCore::MacFrame::wheelEvent): + (WebCore::MacFrame::nextKeyViewInFrame): + (WebCore::MacFrame::nextKeyViewInFrameHierarchy): + (WebCore::MacFrame::nextKeyView): + * page/Frame.cpp: + * page/Frame.h: + * page/FrameView.cpp: + (WebCore::FrameView::dispatchMouseEvent): + +2006-03-15 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + http://bugs.webkit.org/show_bug.cgi?id=7790 + addEventListener does not work with "dblclick" event. + Renamed khtmlDblclickEvent to dblclickEvent to fix. + + Test: fast/events/dblclick-addEventListener.html + + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::mouseUp): + (WebCore::MacFrame::mouseMoved): + (WebCore::MacFrame::shouldDragAutoNode): + (WebCore::MacFrame::sendContextMenuEvent): + * dom/EventNames.h: + * dom/NodeImpl.cpp: + (WebCore::NodeImpl::dispatchMouseEvent): + * dom/NodeImpl.h: + * khtml/ecma/kjs_binding.cpp: + (KJS::ScriptInterpreter::wasRunByUserGesture): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNode::getValueProperty): + (KJS::DOMNode::putValueProperty): + * khtml/ecma/kjs_window.cpp: + (KJS::Window::getValueProperty): + (KJS::Window::put): + * khtml/html/HTMLElementImpl.cpp: + (WebCore::HTMLElementImpl::parseMappedAttribute): + * page/FrameView.cpp: + (WebCore::FrameView::dispatchMouseEvent): + * page/FrameView.h: + +2006-03-16 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=4395 + REGRESSION: document.open doesn't clear the document + + Test: fast/dom/Document/document-reopen.html + Test: fast/dom/Document/doc-open-while-parsing.html + + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::open): Only ignore open() while the frame is still loading the main resource. + * page/Frame.cpp: + (WebCore::Frame::isComplete): Added const specifier. + (WebCore::Frame::isLoadingMainResource): New function. + * page/Frame.h: + +2006-03-15 Adele Peterson <adele@apple.com> + + Reviewed by Eric. + + - Fixes win32 build. + + * page/Frame.cpp: (WebCore::Frame::autoscrollTimerFired): Calls isMouseButtonDown instead of CG function. + * platform/MouseEvent.h: Added isMouseButtonDown + * platform/mac/MouseEventMac.mm: (WebCore::MouseEvent::isMouseButtonDown): Calls CG function to get state of mouse button. + * platform/win/TemporaryLinkStubs.cpp: (MouseEvent::isMouseButtonDown): Added stub. + +2006-03-15 Eric Seidel <eseidel@apple.com> + + Reviewed by geoff. + + * platform/KeyEvent.h: Fix #define from QEvent_H to KeyEvent_H + +2006-03-15 David Hyatt <hyatt@apple.com> + + Fix the box-sizing layout test by stopping integer overflowing from + occurring in the flexbox code. + + Reviewed by beth + + * rendering/render_flexbox.cpp: + (khtml::RenderFlexibleBox::allowedChildFlex): + +2006-03-15 Beth Dakin <bdakin@apple.com> + + Reviewed by Eric + + Fix for some leaks and intermittent broken pipes in the layout + tests after check-in for http://bugs.webkit.org/ + show_bug.cgi?id=4171. + + * platform/StringImpl.cpp: + (WebCore::StringImpl::capitalize): Call deleteQCharVector() for + stringWithPrevious and make sure we don't walk off the end of + stringWithPrevious when copying to capitalizedString. + +2006-03-15 Adele Peterson <adele@apple.com> + + Reviewed by Maciej. + + Followup fix for previous checkin. + http://bugs.webkit.org/show_bug.cgi?id=7114 + <rdar://problem/3695120> dragging to scroll doesn't work with overflow:auto/scroll/overlay areas + + Many of the bugs related to the Radar bug have to do with autoscrolling in the RSS View. + This fix walks the layer tree to find the first scrollable layer, so that autoscrolling will + also work with nested layers, like those in the RSS View. + + * bridge/mac/MacFrame.mm: (WebCore::MacFrame::khtmlMouseMoveEvent): + +2006-03-15 Adele Peterson <adele@apple.com> + + Reviewed by Maciej. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=7114 + Dragging to scroll doesn't work for overflow areas + + No test case. There doesn't appear to be a way to trigger the autoscroll with the EventSender. + + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::khtmlMouseMoveEvent): If we have a layer that can scroll, let the layer handle its autoscroll. + Otherwise, call over the bridge to let AppKit scroll the view. + (WebCore::MacFrame::khtmlMouseReleaseEvent): Stops the autoscroll timer. + * page/Frame.cpp: + (WebCore::Frame::khtmlMouseReleaseEvent): Stops the autoscroll timer. + (WebCore::Frame::handleAutoscroll): Added. Saves the layer, and starts the timer. + (WebCore::Frame::autoscrollTimerFired): Added. Calls autoscroll() on the layer. + (WebCore::Frame::startAutoscrollTimer): Added. + (WebCore::Frame::stopAutoscrollTimer): Added. + * page/Frame.h: Added new autoscroll methods. + * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Initialize m_autoscrollTimer and m_autoscrollLayer. + * rendering/render_layer.cpp: + (WebCore::RenderLayer::autoscroll): Calculates how much the layer should scroll, and actually scrolls. + (WebCore::RenderLayer::shouldAutoscroll): If the layer has overflow then it should be able to scroll. + Except for overflow:hidden areas that aren't editable. + In the future, we may want to have a css property that indicates an overflow:hidden style that should also scroll. + * rendering/render_layer.h: Added new autoscroll methods. + +2006-03-14 Justin Garcia <justin.garcia@apple.com> + + Reviewed by mjs + + <http://bugs.webkit.org/show_bug.cgi?id=7578> + TinyMCE: Implement execCommand CreateLink + + Used ApplyStyleCommand so that creating a link from + a selection doesn't change document structure. + + * WebCore.xcodeproj/project.pbxproj: + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::ApplyStyleCommand): + (WebCore::ApplyStyleCommand::doApply): + (WebCore::ApplyStyleCommand::removeInlineStyle): + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): + * editing/ApplyStyleCommand.h: + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::applyStyle): + * editing/CreateLinkCommand.cpp: Added. + (WebCore::CreateLinkCommand::CreateLinkCommand): + (WebCore::CreateLinkCommand::doApply): + * editing/CreateLinkCommand.h: Added. + * editing/jsediting.cpp: + * page/Frame.cpp: + (WebCore::Frame::computeAndSetTypingStyle): + (WebCore::Frame::applyStyle): + (WebCore::Frame::applyParagraphStyle): + +2006-03-14 Beth Dakin <bdakin@apple.com> + + Reviewed by Maciej + + Fix for http://bugs.webkit.org/show_bug.cgi?id=4171 + This patch changes the word-break algorithm used to apply text- + transform:capitalize to use a UBreakIterator. This fixes some + existing edge cases we have in our text-transform:capitalize + support and generally makes our results more consistent. + + * platform/StringImpl.cpp: + (WebCore::getWordBreakIterator): Returns a UBreakIterator for a + given string of a given length. + (WebCore::StringImpl::capitalize): Now uses the UBreakIterator to + step between words and requires the previous character as input. + * platform/StringImpl.h: Change the declaration of capitalize() to + take the previous character as a parameter. + * rendering/RenderText.cpp: + (WebCore::RenderText::setText): Find the previous character and + send it to StringImpl::capitalize() + +2006-03-14 Justin Garcia <justin.garcia@apple.com> + + Reviewed by adele + + <http://bugs.webkit.org/show_bug.cgi?id=7770> + Should only dispatch the khtmlTextInsertedEvent for high level editing operations + + Dispatching this event for low level editing operations + isn't necessary and causes a big performance regression. + Also renamed the event because it's dispatched for changes + other than just text insertion. + + * dom/EventNames.h: + * editing/EditCommand.cpp: + (WebCore::EditCommand::apply): + (WebCore::EditCommand::unapply): + (WebCore::EditCommand::reapply): + * khtml/html/HTMLTextFieldInnerElementImpl.cpp: + (WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler): + * page/Frame.cpp: + (WebCore::dispatchKHTMLEditableContentChanged): + (WebCore::Frame::appliedEditing): + (WebCore::Frame::unappliedEditing): + (WebCore::Frame::reappliedEditing): + +2006-03-14 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - fix <rdar://problem/4478121> -[WebCoreFrameBridge finalize] crashes under GC + + * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge finalize]): + Don't call setBridge(nil). + +2006-03-14 Darin Adler <darin@apple.com> + + - oops, didn't mean to check this in + + * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::parseMappedAttribute): + Reverted nil-document check that I didn't mean to remove. + +2006-03-14 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt + + Fix for http://bugs.webkit.org/show_bug.cgi?id=6796 + This fix prevents infinite recursion when a block with overflow: + auto can't decide if it needs scrollbars or not. This fix puts a + guard in place in updateScrollInforAfterLayout that only allows you + to re-layout if you are not currently laying out. + + * rendering/render_layer.cpp: + (WebCore::RenderLayer::RenderLayer): Initialize + m_inOverflowRelayout to false. Fixed spacing too. + (WebCore::RenderLayer::updateScrollInfoAfterLayout): Place guard + around layout calls in overflow:auto case. + * rendering/render_layer.h: Add m_inOverflowRelayout. + +2006-03-14 Darin Adler <darin@apple.com> + + Reviewed by Geoff and Eric. + + - fix <http://bugs.webkit.org/show_bug.cgi?id=7765>, <rdar://problem/4474884> + hasAttribute always returns false for uppercase attribute names like "STYLE" + - re-add missing JavaScript binding for getAttributeNS + - fixed handling of null namespace parameters in getAttributeNS and friends + + Test: fast/dom/Element/attribute-uppercase.html + + To match Gecko's behavior, the magic "lowercasing" of all attribute names + is only done when calling DOM Level 1 functions that lack an NS suffix. + The functions with an NS suffix are case sensitive, even in HTML documents. + + * dom/NamedNodeMapImpl.h: Changed getNamedItem and removeNamedItem to be pure virtual + functions instead of calling through to getNamedItemNS and removeNamedItemNS. + + * dom/dom_elementimpl.h: Eliminated inline versions of non-NS functions that called + the NS functions. They can't work that way any more since the lowercasing behavior + is different. + * dom/dom_elementimpl.cpp: + (WebCore::ElementImpl::getAttribute): Added. Lowercases the name if the document + is an HTML document, and then calls through to the qualified name version. Removed + the null check since getDocument is guaranteed to never return 0 now that nodes + hold a reference to their document. + (WebCore::ElementImpl::getAttributeNS): Removed the lowercasing code. + (WebCore::ElementImpl::setAttribute): More of the same. + (WebCore::ElementImpl::setAttributeNS): Ditto. + (WebCore::ElementImpl::removeAttribute): Ditto. + (WebCore::ElementImpl::removeAttributeNS): Ditto. + (WebCore::ElementImpl::getAttributeNode): Ditto. + (WebCore::ElementImpl::getAttributeNodeNS): Ditto. + (WebCore::ElementImpl::hasAttribute): Ditto. + (WebCore::ElementImpl::hasAttributeNS): Ditto. + (WebCore::NamedAttrMapImpl::getNamedItem): Ditto. + (WebCore::NamedAttrMapImpl::getNamedItemNS): Ditto. + (WebCore::NamedAttrMapImpl::removeNamedItem): Ditto. + (WebCore::NamedAttrMapImpl::removeNamedItemNS): Ditto. + (WebCore::StyledElementImpl::parseMappedAttribute): Removed another unneeded null + check like the one mentioned above. + + * dom/Element.idl: Set ConvertNullToNullString for all the namespaceURI + parameters, since we don't want null to turn into "null". Added a semicolon + to the end of the hasAttributeNS line -- was causing the next declaration to + be eaten up (so getAttributeNS was completely broken). + + * khtml/ecma/kjs_dom.cpp: (KJS::DOMNamedNodeMapProtoFunc::callAsFunction): + Call valueToStringWithNullCheck to do the equivalent of ConvertNullToNullString + for both getNamedItemNS and removeNamedItemNS. + + * bindings/js/JSDOMCore.cpp: Touched so that the changes above will take effect. + +2006-03-14 David Hyatt <hyatt@apple.com> + + Fix for bug 7259, opacity performs badly. + + Reviewed by mjs + + Adding some tests in fast/opacity. + + * rendering/RenderTableRow.h: + (WebCore::RenderTableRow::requiresLayer): + * rendering/render_layer.cpp: + (WebCore::transparencyClipBox): + (WebCore::RenderLayer::beginTransparencyLayers): + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::intersectsDamageRect): + (WebCore::RenderLayer::absoluteBoundingBox): + * rendering/render_layer.h: + (WebCore::RenderLayer::root): + +2006-03-14 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix Gif crasher. + + * platform/image-decoders/gif/GIFImageReader.cpp: + (GIFImageReader::do_lzw): Initialize array after new. + +2006-03-14 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Make MouseEvents aware of current scroll position. + + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::viewportToContents): + (WebCore::ScrollView::contentsToViewport): + +2006-03-13 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix mouse events to be window-relative. + + * platform/win/MouseEventWin.cpp: + (WebCore::positionForEvent): + (WebCore::globalPositionForEvent): + (WebCore::MouseEvent::MouseEvent): + +2006-03-13 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Close DeviceContext leaks in Font code. + Also add moveCursor stub to make maps.google.com not crash. + + * platform/win/FontWin.cpp: + (WebCore::getFontData): + (WebCore::Font::floatWidth): + (WebCore::Font::drawText): + * platform/win/TemporaryLinkStubs.cpp: + (Cursor::Cursor): + (WebCore::moveCursor): + +2006-03-13 Eric Seidel <eseidel@apple.com> + + Reviewed by ggaren & TimH. + + <rdar://problem/4473288> XSL file containing <xsl:include href="../Styles/EscapeString.xsl" /> fails to load file + XML_DTD_NODE objects in the tree were causing loadChildSheets to + fail to preload child stylesheets, this patch causes us to + correctly ignore all nodes besides the first XML_ELEMENT_NODE at + the root level when searching the tree for xsl:include statements + to pre-load. + + Test: fast/xsl/xslt-second-level-import.xml + + * khtml/xsl/xsl_stylesheetimpl.cpp: + (WebCore::XSLStyleSheetImpl::loadChildSheets): + +2006-03-10 Rob Buis <buis@kde.org> + + Reviewed by darin. Landed by eseidel. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=7666: + dasharray on rounded rectangles is broken + + Make sure the rounded rectangle is drawn clockwise, as outlined + in the specification. + + Test: svg/custom/dashArrayOrigin.svg + + * kcanvas/KCanvasCreator.cpp: + (WebCore::KCanvasCreator::createRoundedRectangle): + +2006-03-12 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Maciej, landed by ap. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5923 + REGRESSION: scrolling on Google maps continues after the mouse is + released outside the window + + Test: fast/events/drag-outside-window.html + + * rendering/render_layer.cpp: + (WebCore::RenderLayer::containsPoint): Always return true for the root + object to ensure that mouse events occurring outside the window target + the document. + +2006-03-12 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Maciej. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=7735 + REGRESSION: crash on importing bookmarks + + No test - only reproducible when Safari imports the bookmarks. + + * dom/EventNames.cpp: + (WebCore::EventNames::init): Initialize AtomicString before using it. + * dom/QualifiedName.cpp: + (WebCore::QualifiedName::init): Ditto. + * khtml/html/htmlnames.cpp: + (WebCore::HTMLNames::init): Ditto. + * ksvg2/scripts/make_names.pl: Ditto. + +2006-03-12 David Kilzer <ddkilzer@kilzer.net> + + Reviewed by Darin, landed by ap. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=7724 + Minor refactoring to HTMLParser::handleError() to remove duplicate code + + Test: fast/invalid/missing-address-end-tag.html + Test: fast/invalid/missing-dl-end-tag.html + Test: fast/invalid/missing-dt-end-tag.html + Test: fast/invalid/missing-font-end-tag.html + + * khtml/html/htmlparser.cpp: + (WebCore::HTMLParser::handleError): Refactored code. + +2006-03-10 Darin Adler <darin@apple.com> + + - fix Windows build + + * bridge/win/FrameWin.h: Removed declaration of generateFrameName. + +2006-03-10 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - removed some unused stuff from Frame and MacFrame + + * page/Frame.h: Removed autoloadImages (the setter), enableMetaRefresh, + setCharset, backgroundURL, findTextBegin, findTextNext, preloadStyleSheet, + preloadScript, restored, onURL, selectionChanged, htmlError, openFile, + updateActions, openURLInFrame, overURL, checkLinkSecurity, and cacheId. + * page/FramePrivate.h: Removed m_restored, m_frameNameId, m_strSelectedURL, + m_strSelectedURLTarget, m_bDnd, m_bClearing, m_bSecurityInQuestion, + m_focusNodeRestored, m_focusNodeNumber, and m_newJSInterpreterExists. + * page/Frame.cpp: + (WebCore::Frame::didOpenURL): Removed use of m_restored, code to set + m_bClearing. + (WebCore::Frame::clear): Removed code to set m_bClearing and m_frameNameId. + (WebCore::Frame::khtmlMousePressEvent): Removed code to set m_strSelectedURL + and m_strSelectedURLTarget. + + * bridge/mac/MacFrame.h: Removed scheduleHistoryNavigation and + requestedURLString. + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::openURLFromPageCache): Removed use of m_restored. + Removed unused requestedURLString. + + * bridge/mac/WebCoreFrameBridge.h: Removed requestedURLString. + +2006-03-10 Darin Adler <darin@apple.com> + + - fix Windows build + + * page/FrameTree.cpp: Add include of <stdarg.h>. + +2006-03-10 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - fix http://bugs.webkit.org/show_bug.cgi?id=3308 + Pop-up blocking blocks window.open for already open windows + + - fix http://bugs.webkit.org/show_bug.cgi?id=7422 + Setting a frame name to the same value resets it to a generated one + + - refactor frame-name-related functions into the FrameTree object + + * WebCore.xcodeproj/project.pbxproj: Update for rename. + * bridge/mac/MacFrame.h: Remove generateFrameName. + * bridge/mac/MacFrame.mm: Ditto. + * bridge/mac/PageMac.h: Added a declaration for WebCorePageBridge. + + * bridge/mac/WebCoreFrameBridge.h: Remove _frameNamespace, generateFrameName, + setFrameNamespace, frameNamespace. + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge childFrameNamed:]): Change to call the new child + function on the FrameTree. + (-[WebCoreFrameBridge findFrameNamed:]): Change to call the new find + function on the FrameTree. + (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]): Change since the + contentPart function has been renamed to contentFrame. + + * bridge/mac/WebCoreFrameNamespaces.h: Removed everything except for the + one method still used on the WebKit side, framesInNamespace:. + * bridge/mac/WebCoreFrameNamespaces.m: Renamed. + * bridge/mac/WebCoreFrameNamespaces.mm: Added. Reimplemented the + framesInNamespace method to use the namespace in WebCore::Page. + + * bridge/mac/WebCorePageBridge.h: Added setGroupName and groupName. + * bridge/mac/WebCorePageBridge.mm: + (-[WebCorePageBridge setGroupName:]): Added. Calls through to Page. + (-[WebCorePageBridge groupName]): Ditto. + + * khtml/ecma/kjs_html.cpp: + (KJS::HTMLDocument::namedItemGetter): Changed to call contentFrame by its new name. + (KJS::HTMLElement::frameGetter): Ditto. + (KJS::HTMLElement::iFrameGetter): Ditto. + + * khtml/ecma/kjs_window.cpp: + (KJS::Window::getValueProperty): Changed to call FrameTree::childCount + instead of Frame::frames. + (KJS::Window::childFrameGetter): Changed to call FrameTree::child + instead of Frame::childFrameNamed. + (KJS::Window::namedFrameGetter): Changed to call FrameTree::find + instead of Frame::findFrame. + (KJS::Window::indexGetter): Changed to call FrameTree::child + instead of Frame::frames. + (KJS::Window::getOwnPropertySlot): Changed to call FrameTree::child, + FrameTree::find, and FrameTree::childCount instead of Frame::childFrameNamed, + and Frame::findFrame, and Frame::frames. + (KJS::WindowFunc::callAsFunction): Call FrameTree::find to check if the window + is already open when considering whether to block a pop-up. + (KJS::FrameArray::getValueProperty): Changed to call FrameTree::childCount + instead of Frame::frames. + (KJS::FrameArray::indexGetter): Changed to call FrameTree::child + instead of Frame::frames. + (KJS::FrameArray::nameGetter): Changed to call FrameTree::child + instead of Frame::findFrame. + (KJS::FrameArray::getOwnPropertySlot): Changed to call FrameTree::child, + and FrameTree::childCount instead of Frame::findFrame and Frame::frames. + + * khtml/html/html_baseimpl.h: + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLFrameElementImpl::isURLAllowed): Changed to call Page::frameCount + instead of Frame::topLevelFrameCount. + (WebCore::HTMLFrameElementImpl::openURL): Changed to call FrameTree::child + instead of Frame::findFrame. + (WebCore::HTMLFrameElementImpl::attach): Changed to call Page::incrementFrameCount + instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName + instead of Frame::requestFrameName. + (WebCore::HTMLFrameElementImpl::close): Changed to call Page::decrementFrameCount + instead of Frame::decrementFrameCount. Changed to call FrameTree::child + instead of Frame::findFrame. + (WebCore::HTMLFrameElementImpl::contentFrame): Renamed from contentPart. Also + changed to call FrameTree::child instead of Frame::findFrame. + (WebCore::HTMLFrameElementImpl::contentDocument): Updated for name change of + contentFrame from contentPart. + (WebCore::HTMLIFrameElementImpl::attach): Changed to call Page::incrementFrameCount + instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName + instead of Frame::requestFrameName. + + * rendering/render_frames.cpp: (WebCore::isURLAllowed): Changed to call Page::frameCount + instead of Frame::topLevelFrameCount. + + * page/Frame.h: Removed frameNames, frames, childFrameNamed, findFrame, currentFrame, + frameExists, incrementFrameCount, decrementFrameCount, topLevelFrameCount, + generateFrameName, and requestFrameName functions. + * page/Frame.cpp: (WebCore::Frame::requestFrame): Changed to use FrameTree::child + instead of Frame::childFrameNamed. + + * page/FrameTree.h: Changed name to an atomic string. Changed childCount to unsigned. + Added isDescendantOf, traverseNext, child, find, uniqueChildName. + * page/FrameTree.cpp: + (WebCore::FrameTree::setName): Changed to call uniqueChildName to handle name + duplication logic. + (WebCore::FrameTree::uniqueChildName): Added. Checks for duplication and generates + an appropriate frame name if there is a duplicate. + (WebCore::FrameTree::child): Added. + (WebCore::FrameTree::find): Added. + (WebCore::FrameTree::isDescendantOf): Added. + (WebCore::FrameTree::traverseNext): Added. + + * page/Page.h: Added setGroupName, groupName, frameNamespace, incrementFrameCount, + decrementFrameCount, and frameCount. + * page/Page.cpp: + (WebCore::Page::Page): Initialize m_frameCount to 0. + (WebCore::Page::~Page): Call setGroupName to remove the page from any group it's in. + (WebCore::Page::setGroupName): Added. + (WebCore::Page::frameNamespace): Added. + + * platform/win/TemporaryLinkStubs.cpp: Removed FrameWin::generateFrameName. + +2006-03-10 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin, harrison + + ~3x speedup pasting plain text from the console + + * dom/dom_position.cpp: + (WebCore::Position::next): + (WebCore::Position::atEnd): + +2006-03-10 David Hyatt <hyatt@apple.com> + + More refactoring. Split the FontData into cross-platform and + platform-specific components. + + Reviewed by eric + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/FontData.h: Added. + (WebCore::FontData:::m_platformData): + (WebCore::FontData::platformData): + (WebCore::FontData::setMetrics): + (WebCore::FontData::ascent): + (WebCore::FontData::descent): + (WebCore::FontData::xHeight): + (WebCore::FontData::lineSpacing): + * platform/FontPlatformData.h: Added. + (WebCore::FontPlatformData::hfont): + (WebCore::FontPlatformData::scaledFont): + * platform/win/FontPlatformDataWin.cpp: Added. + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::~FontPlatformData): + * platform/win/FontWin.cpp: + (WebCore::Font::floatWidth): + (WebCore::Font::drawText): + +2006-03-10 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - fix win32 networking to properly use async load API + + * platform/win/TransferJobWin.cpp: + (WebCore::TransferJobWndProc): + (WebCore::TransferJob::start): + +2006-03-10 Eric Seidel <eseidel@apple.com> + + Fix build. + + * platform/win/FontWin.cpp: + (WebCore::getFontData): + * platform/win/TemporaryLinkStubs.cpp: + +2006-03-10 Adele Peterson <adele@apple.com> + + Reviewed by Tim Hatcher. + + - fix for <rdar://problem/4469419> + REGRESSION: RadioButtons are not checked in Safari when name attribute comes after checked attribute + + Test: fast/forms/radio-attr-order.html + + * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::parseMappedAttribute): + When the name attribute gets parsed for radio buttons, if its supposed to be checked by default, call setChecked. + Also, when the name changes on a checked button, we don't need to check that + there's a form before removing it as the checked button for that group. + That was an old check from when we required a form to keep track of checked buttons. + +2006-03-10 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Add real ScrollViewWin implementation (fixes redraw bugs, adds ScrollBar support.) + + * platform/ScrollView.h: + * platform/Widget.h: + * platform/win/FontWin.cpp: + (WebCore::getCairoFont): Fix crasher. + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::~ScrollView): + (WebCore::ScrollView::updateContents): + (WebCore::ScrollView::visibleWidth): + (WebCore::ScrollView::visibleHeight): + (WebCore::ScrollView::setContentsPos): + (WebCore::ScrollView::resizeContents): + (WebCore::ScrollView::contentsX): + (WebCore::ScrollView::contentsY): + (WebCore::ScrollView::contentsWidth): + (WebCore::ScrollView::contentsHeight): + (WebCore::ScrollView::viewportToContents): + (WebCore::ScrollView::contentsToViewport): + (WebCore::ScrollView::scrollXOffset): + (WebCore::ScrollView::scrollYOffset): + (WebCore::ScrollView::scrollBy): + (WebCore::ScrollView::hScrollBarMode): + (WebCore::ScrollView::vScrollBarMode): + (WebCore::ScrollView::suppressScrollBars): + (WebCore::ScrollView::setHScrollBarMode): + (WebCore::ScrollView::setVScrollBarMode): + (WebCore::ScrollView::setScrollBarsMode): + (WebCore::ScrollView::setStaticBackground): + (WebCore::ScrollView::updateScrollInfo): + (WebCore::ScrollView::updateScrollBars): + * platform/win/TemporaryLinkStubs.cpp: + (BrowserExtensionWin::goBackOrForward): + (BrowserExtensionWin::setIconURL): + (ScrollView::scrollPointRecursively): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::windowHandle): mark as const + +2006-03-10 David Hyatt <hyatt@apple.com> + + Rename the m_renderer variable to m_dataSet now that the class name + has changed. + + Reviewed by adele + + * platform/Font.cpp: + (WebCore::m_wordSpacing): + (WebCore::Font::Font): + (WebCore::Font::operator=): + (WebCore::Font::update): + * platform/Font.h: + * platform/FontDataSet.h: + * platform/mac/FontMac.mm: + (WebCore::Font::getWebCoreFont): + (WebCore::Font::ascent): + (WebCore::Font::descent): + (WebCore::Font::lineSpacing): + (WebCore::Font::xHeight): + (WebCore::Font::isFixedPitch): + (WebCore::Font::selectionRectForText): + (WebCore::Font::drawText): + (WebCore::Font::drawHighlightForText): + (WebCore::Font::drawLineForText): + (WebCore::Font::drawLineForMisspelling): + (WebCore::Font::misspellingLineThickness): + (WebCore::Font::floatWidth): + (WebCore::Font::checkSelectionPoint): + * platform/win/FontWin.cpp: + (WebCore::FontData::FontData): + (WebCore::FontData::~FontData): + (WebCore::getFontData): + (WebCore::FontDataSet::primaryFont): + (WebCore::Font::floatWidth): + (WebCore::Font::ascent): + (WebCore::Font::descent): + (WebCore::Font::xHeight): + (WebCore::Font::lineSpacing): + (WebCore::Font::isFixedPitch): + (WebCore::Font::drawText): + +2006-03-10 David Hyatt <hyatt@apple.com> + + Rename FontRenderer to FontDataSet. + + Reviewed by adele + + * WebCore.xcodeproj/project.pbxproj: + * platform/Font.cpp: + (WebCore::Font::update): + * platform/Font.h: + * platform/FontDataSet.h: Added. + * platform/FontRenderer.h: Removed. + * platform/mac/FontMac.mm: + (WebCore::FontDataSet::~FontDataSet): + (WebCore::FontDataSet::getWebCoreFont): + (WebCore::FontDataSet::getRenderer): + (WebCore::FontDataSet::determinePitch): + (WebCore::FontDataSet::invalidate): + * platform/win/FontWin.cpp: + (WebCore::getCairoFont): + (WebCore::FontDataSet::~FontDataSet): + (WebCore::FontDataSet::determinePitch): + (WebCore::FontDataSet::invalidate): + (WebCore::FontDataSet::primaryCairoFont): + +2006-03-09 Justin Garcia <justin.garcia@apple.com> + + Reviewed by adele + + <http://bugs.webkit.org/show_bug.cgi?id=7692> + Should use an iterator in CompositeEditCommand::doUnapply() + + ~30% speedup of a big undo + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::doUnapply): + (WebCore::CompositeEditCommand::doReapply): + +2006-03-09 Adele Peterson <adele@apple.com> + + Reviewed by Tim O. + + Removed unnecessary alerts in TextIterator advance methods. + We want to be able to use advance() even if the iterator is already at the end. + + * editing/visible_text.cpp: + (khtml::TextIterator::advance): remove assert since TextIterator will just do nothing if its already at the end. + (khtml::CharacterIterator::advance): ditto. + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex): + Since the asserts in the iterator are removed, we don't have to check for it.atEnd() before calling advance. + +2006-03-09 David Hyatt <hyatt@apple.com> + + Make text paint with the correct foreground color on Windows. + Make the face validation check case insensitive. + Force ClearType to be on for font rendering. + + Reviewed by Tim Hatcher + + * platform/win/FontWin.cpp: + (WebCore::getCairoFont): + (WebCore::Font::drawText): + +2006-03-09 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=7675 + When new text fields change from visibility:hidden to visibility:visible, value doesn't display + + Test: fast/forms/input-appearance-visibility.html + + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setStyle): + Sets the style directly on the children of the inner div. + +2006-03-09 David Hyatt <hyatt@apple.com> + + Make basic text rendering work on Win32. + + Reviewed by eric + + * WebCore.vcproj/WebCore/WebCore.vcproj: + Add FontDescription.h to the Visual Studio project. + + * bridge/win/FrameWin.cpp: + (WebCore::FrameWin::FrameWin): + Add some good default font settings to KHTMLSettings. + + * platform/Font.cpp: + (WebCore::Font::update): + Renamed the FontRenderer method to invalidate, so that's what + update calls now. + + * platform/FontRenderer.h: + * platform/mac/FontMac.mm: + (WebCore::FontRenderer::~FontRenderer): + (WebCore::FontRenderer::invalidate): + Rename the update method to invalidate. Make sure the Mac + font renderer releases its resources when it gets destroyed. + + * platform/win/FontWin.cpp: + (WebCore::CairoFont::CairoFont): + (WebCore::CairoFont::~CairoFont): + (WebCore::CairoFont::hfont): + (WebCore::CairoFont::scaledFont): + (WebCore::CairoFont::setMetrics): + (WebCore::CairoFont::ascent): + (WebCore::CairoFont::descent): + (WebCore::CairoFont::xHeight): + (WebCore::CairoFont::lineSpacing): + Implement a new class called CairoFont that encapsulates + the windows HFONT, the cairo font face, and the cairo scaled + font. + + (WebCore::getCairoFont): + The method to look up a Cairo font. This will eventually use + a hash, but for now it just always makes the fonts over and + over again. + + (WebCore:::m_pitch): + (WebCore::FontRenderer::~FontRenderer): + (WebCore::FontRenderer::determinePitch): + (WebCore::FontRenderer::invalidate): + More of the FontRenderer plumbing. + + (WebCore::FontRenderer::primaryCairoFont): + Returns the primary Cairo font for a family list. This is basically + the first family that is present on the system. + + (WebCore::Font::floatWidth): + The width method uses GetTextExtentPoint32W for now. This + is totally wrong and will eventually be replaced by Cairo + code. + + (WebCore::Font::ascent): + (WebCore::Font::descent): + (WebCore::Font::xHeight): + (WebCore::Font::lineSpacing): + (WebCore::Font::isFixedPitch): + Accessors for the metrics and pitch info. + + (WebCore::Font::drawText): + Drawing of text. Uses TextOut and is also basically throwaway + code. + + * platform/win/TemporaryLinkStubs.cpp: + (Font::checkSelectionPoint): + Move the checkSelectionPoint method back to the link stubs. + +2006-03-09 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + Fixed formatting and changed functions to take in + a const Selection& instead of a Selection. + + * editing/ModifySelectionListLevelCommand.cpp: + (WebCore::ModifySelectionListLevelCommand::canIncreaseSelectionListLevel): + (WebCore::ModifySelectionListLevelCommand::canDecreaseSelectionListLevel): + (WebCore::ModifySelectionListLevelCommand::increaseSelectionListLevel): + (WebCore::ModifySelectionListLevelCommand::decreaseSelectionListLevel): + (WebCore::modifySelectionListLevel): + (WebCore::getStartEndListChildren): + (WebCore::canIncreaseListLevel): + (WebCore::canDecreaseListLevel): + (WebCore::ModifySelectionListLevelCommand::increaseListLevel): + (WebCore::ModifySelectionListLevelCommand::decreaseListLevel): + * editing/ModifySelectionListLevelCommand.h: + +2006-03-09 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=6814 + Implement selection methods for RenderTextField + + Test: fast/forms/input-appearance-selection.html + + * rendering/RenderTextField.cpp: + (WebCore::RenderTextField::createDivStyle): removed extra space. + (WebCore::RenderTextField::select): Removed checks for document and m_div since there should always be a document and + m_div will be initialized as the renderer gets attached. + (WebCore::RenderTextField::selectionStart): Calls indexForVisiblePosition. + (WebCore::RenderTextField::selectionEnd): ditto. + (WebCore::RenderTextField::setSelectionStart): calls setSelectionRange. + (WebCore::RenderTextField::setSelectionEnd): ditto. + (WebCore::RenderTextField::setSelectionRange): gets VisiblePositions for both indices, and sets the selection. + (WebCore::RenderTextField::visiblePositionForIndex): Added helper method. + (WebCore::RenderTextField::indexForVisiblePosition): Added helper method. + * rendering/RenderTextField.h: Added new helper methods for selection. + +2006-03-09 David Carson <dacarson@gmail.com> + + Test: fast/canvas/fillrect_gradient.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6103 + Rectangles are not filled according to the Web Applications Working Draft + + * khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::callAsFunction): + Modified fillrect function to check and use a gradient if set. + Builds a path to fill rects with a gradient. + +2006-03-09 Mitz Pettel <opendarwin.org@mitzpettel.com> + + No test because this fixes an existing pixel test (and does not affect + the render tree). + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7664 + REGRESSION: tests that include numeric list markers fail in pixel mode + + * platform/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawText): Restored AlignRight behavior. + +2006-03-09 Mitz Pettel <opendarwin.org@mitzpettel.com> + + No test because we couldn't figure out how to write one. + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7680 + REGRESSION: Ellipsis painted over the chrome and in invalid contexts + + * rendering/render_line.cpp: + (WebCore::EllipsisBox::paint): Replaced call to Font::drawText with + GraphicsContext::drawText, which checks the paintingDisabled flag. + +2006-03-09 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - make link clicks work by propagating them up to a client + + * Viewer/ImageView.cpp: + * bridge/win/FrameWin.cpp: + * bridge/win/FrameWin.h: + * platform/win/TemporaryLinkStubs.cpp: + (FrameWin::incomingReferrer): + +2006-03-09 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Add support for Timers under 10ms. + Fix random crashers due to multi-threaded loading. + + * platform/TransferJob.h: + * platform/TransferJobInternal.h: + (WebCore::TransferJobInternal::TransferJobInternal): + * platform/Widget.h: + * platform/win/SharedTimerWin.cpp: + (WebCore::TimerWindowWndProc): + (WebCore::initializeOffScreenTimerWindow): + (WebCore::setSharedTimerFireTime): + * platform/win/TemporaryLinkStubs.cpp: + (WebCore::TransferJob::assembleResponseHeaders): + (WebCore::TransferJob::retrieveCharset): + * platform/win/TransferJobWin.cpp: + (WebCore::addToOutstandingJobs): + (WebCore::removeFromOutstandingJobs): + (WebCore::lookupTransferJob): + (WebCore::TransferJobWndProc): + (WebCore::initializeOffScreenTransferJobWindow): + (WebCore::TransferJob::~TransferJob): + (WebCore::transferJobStatusCallback): + (WebCore::TransferJob::start): + (WebCore::TransferJob::cancel): + * platform/win/WidgetWin.cpp: + +2006-03-08 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=7579> + TinyMCE: Implement execCommand(insertImage, ...) + + Implemented InsertImage and also changed paste to use a single + rule for when to remove junk that remains after node removal. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::removeNodeAndPruneAncestors): + (WebCore::ReplaceSelectionCommand::doApply): + (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): + * editing/ReplaceSelectionCommand.h: + * editing/htmlediting.cpp: + * editing/jsediting.cpp: + +2006-03-08 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Fix build script to properly copy dll files. + + * WebCore.vcproj/WebCore/build-generated-files.sh: + +2006-03-08 Rob Buis <buis@kde.org> + + Reviewed by eseidel. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=6899 SVG <rect> does not respect display: none + + For svg elements that can render, call StyledElementImpl::rendererIsNeeded + to decide whether the element should render. In particular this way + any setting of display="none" is handled. + + * ksvg2/svg/SVGAElementImpl.h: + (WebCore::SVGAElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGCircleElementImpl.h: + (WebCore::SVGCircleElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGEllipseElementImpl.h: + (WebCore::SVGEllipseElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGForeignObjectElementImpl.h: + (WebCore::SVGForeignObjectElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGGElementImpl.h: + (WebCore::SVGGElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGImageElementImpl.h: + (WebCore::SVGImageElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGLineElementImpl.h: + (WebCore::SVGLineElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGMarkerElementImpl.h: + (WebCore::SVGMarkerElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGMaskElementImpl.h: + (WebCore::SVGMaskElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGPathElementImpl.h: + (WebCore::SVGPathElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGPatternElementImpl.h: + (WebCore::SVGPatternElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGPolyElementImpl.h: + (WebCore::SVGPolyElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGRectElementImpl.h: + (WebCore::SVGRectElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGSVGElementImpl.h: + (WebCore::SVGSVGElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGSwitchElementImpl.h: + (WebCore::SVGSwitchElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGTSpanElementImpl.h: + (WebCore::SVGTSpanElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGTextElementImpl.h: + (WebCore::SVGTextElementImpl::rendererIsNeeded): + * ksvg2/svg/SVGUseElementImpl.h: + (WebCore::SVGUseElementImpl::rendererIsNeeded): + +2006-03-08 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Add stubs to allow JavaScript-enabled WebCore to not crash. + Add ScreenWin implementation. + Add alert() support. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * bridge/win/FrameWin.cpp: + (WebCore::FrameWin::runJavaScriptAlert): + (WebCore::FrameWin::runJavaScriptConfirm): + * platform/win/ScreenWin.cpp: Added. + (WebCore::monitorInfoForWidget): + (WebCore::WebCore::screenRect): + (WebCore::WebCore::screenDepth): + (WebCore::WebCore::usableScreenRect): + * platform/win/TemporaryLinkStubs.cpp: + (FrameWin::canUndo): + (FrameWin::runJavaScriptPrompt): + (FrameWin::canPaste): + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookiesEnabled): + (PlugInInfoStore::createPluginInfoForPluginAtIndex): + (PlugInInfoStore::pluginCount): + (WebCore::refreshPlugins): + (FrameWin::clearUndoRedoOperations): + (FrameWin::incomingReferrer): + +2006-03-08 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix another instance of the bug I just fixed in the Macintosh-specific code path + + * platform/image-decoders/gif/GIFImageReader.h: Remove not-so-useful 100ms constant. + * platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::read): + Use the correct rule for minimum frame durations. + +2006-03-08 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - very rough implementation of networking in TransferJob for windows + + * platform/TransferJob.h: + * platform/TransferJobInternal.h: + (WebCore::TransferJobInternal::TransferJobInternal): + * platform/win/TransferJobWin.cpp: + (WebCore::transferJobStatusCallback): + (WebCore::TransferJob::start): + +2006-03-08 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - fix win32 build + + * platform/win/FontWin.cpp: + (WebCore::Font::drawText): + (WebCore::Font::drawHighlightForText): + * platform/win/TemporaryLinkStubs.cpp: + (GraphicsContext::clearFocusRing): + (GraphicsContext::selectedTextBackgroundColor): + (Font::selectionRectForText): + +2006-03-08 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix one more thing from http://bugs.webkit.org/show_bug.cgi?id=7528 + REGRESSION: GIF animation speeds are wrong on a page with many animated GIFs + + No layout test because I don't know how to test animated GIF speed. + + * platform/mac/ImageSourceMac.cpp: (WebCore::ImageSource::frameDurationAtIndex): + Use the correct rule for minimum frame durations. It's a bit non-intuitive, so + I made the comment more explicit. The old code in WebKit had this rule. + +2006-03-08 David Hyatt <hyatt@apple.com> + + Make GraphicsContext call into Font to draw all text and eliminate + all knowledge of WebTextRenderers from it. + + Reviewed by darin + + * platform/Font.h: + * platform/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawText): + (WebCore::GraphicsContext::drawHighlightForText): + (WebCore::GraphicsContext::drawLineForText): + (WebCore::GraphicsContext::drawLineForMisspelling): + (WebCore::GraphicsContext::misspellingLineThickness): + * platform/GraphicsContext.h: + (WebCore::GraphicsContext::platformContext): + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::platformContext): + * platform/mac/FontMac.mm: + (WebCore::Font::drawText): + (WebCore::Font::drawHighlightForText): + (WebCore::Font::drawLineForText): + (WebCore::Font::drawLineForMisspelling): + (WebCore::Font::misspellingLineThickness): + * platform/mac/GraphicsContextMac.mm: + * platform/win/FontWin.cpp: + (WebCore::Font::drawText): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::paintSelection): + (WebCore::InlineTextBox::paintMarkedTextBackground): + (WebCore::InlineTextBox::paintTextMatchMarker): + +2006-03-08 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - fixed super-fast animation of many animated GIFs + + No layout test because I don't know how to test animated GIF speed. + + * platform/mac/ImageSourceMac.cpp: (WebCore::ImageSource::frameDurationAtIndex): + Always take the minimum duration into account, even if there's some kind of failure + getting the duration from the GIF. + +2006-03-07 Darin Adler <darin@apple.com> + + Reviewed by Anders. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7655 + unwanted output while running layout tests + + * khtml/xsl/xsl_stylesheetimpl.cpp: (WebCore::XSLStyleSheetImpl::parseString): + Pass XML_PARSE_NOERROR and XML_PARSE_NOWARNING. We don't want errors and warnings + to be logged to stdout or stderr. If we later decide we want the error messages, + then we should do the additional work to put them into the web page or the + console (along with the JavaScript errors). + + * platform/ArrayImpl.cpp: (WebCore::ArrayImpl::resize): Add a preflight to protect + against integer overflow due to large array size. Noticed this while looking into + the malloc error message. + +2006-03-07 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7647 + Crash when typing into text contols + + I missed a couple places that were still saying KWQWidgetHolder + in the change I landed late last night. + + * kwq/KWQTextArea.h: + * kwq/KWQTextArea.mm: + * kwq/KWQTextField.h: + Changed them all to say WebCoreWidgetHolder. + +2006-03-07 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Fix cursor support on win32. + + * platform/win/WidgetWin.cpp: + (WebCore::Widget::setCursor): + +2006-03-07 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Fix basic text support. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawText): + +2006-03-07 Dave Hyatt <hyatt@apple.com> + + Eliminate the unused parameters of the QString version of drawText. + + Reviewed by eric + + * platform/GraphicsContext.h: + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawText): + * platform/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::drawText): + * rendering/render_image.cpp: + (WebCore::RenderImage::paint): + * rendering/render_list.cpp: + (WebCore::RenderListMarker::paint): + +2006-03-07 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Add very basic text support. + Sort a few more stubs. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::font): + (WebCore::GraphicsContext::setFont): + (WebCore::GraphicsContext::drawText): + * platform/win/FontWin.cpp: Added. + (WebCore::Font::drawText): + * platform/win/TemporaryLinkStubs.cpp: + (QComboBox::focusPolicy): + (ScrollView::scrollXOffset): + (Font::isFixedPitch): + (Path::boundingRect): + +2006-03-07 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=7319 + Can't see caret at the end of a contenteditable div with overflow:hidden + + No tests added since I don't think the blinking caret will show up in our tests. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::rightmostPosition): When calculating the rightmostPosition for editable blocks, + we need to account for the caret that can be drawn 1 px past the last child inline box. + +2006-03-07 David Kilzer <ddkilzer@kilzer.net> + + Reviewed by Darin. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=3905 + Missing </title> makes page blank + + Test: fast/js/exception-linenums-in-html-1.html + Test: fast/js/exception-linenums-in-html-2.html + Test: fast/js/missing-title-end-tag-js.html + Test: fast/tokenizer/missing-title-end-tag-1.html + Test: fast/tokenizer/missing-title-end-tag-2.html + + * khtml/html/htmlparser.cpp: + (WebCore::HTMLParser::handleError): Add check for missing </title> tag and handle + this condition if identified. + * khtml/html/htmltokenizer.cpp: + (WebCore::HTMLTokenizer::parseTag): If parseSpecial() consumes the rest of the + document looking for a </title> tag, reset the state of the tokenizer and + retokenize with no special handling for <title>. The parser will handle the + missing </title> tag in HTMLParser::handleError(). + * platform/SegmentedString.cpp: + (WebCore::SegmentedString::SegmentedString): Added copy constructor. + (WebCore::SegmentedString::operator=): Added assignment operator. Previously the + compiler was generating a default method for the assignment operator, but it did + not handle m_currentChar properly. + * platform/SegmentedString.h: Added prototypes for copy constructor and + assignment operator. + +2006-03-07 Eric Seidel <eseidel@apple.com> + + Fix win32 link stubs. + + * platform/win/TemporaryLinkStubs.cpp: + (WebCore::searchableIndexIntroduction): + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookiesEnabled): + (WebCore::findNextSentenceFromIndex): + (WebCore::findSentenceBoundary): + (WebCore::findNextWordFromIndex): + (WebCore::findWordBoundary): + (WebCore::submitButtonDefaultLabel): + (WebCore::inputElementAltText): + (WebCore::resetButtonDefaultLabel): + (WebCore::defaultLanguage): + +2006-03-07 Darin Adler <darin@apple.com> + + Reviewed by Adele, except for the first change listed. + + - fix recently-introduced bug that GuardMalloc found while I was debugging my other change + + * rendering/render_frames.cpp: (WebCore::RenderPart::~RenderPart): + Set m_widget to 0 before calling deref so we don't end up trying to do unwanted work. + + - removed 10 more files from KWQ + + * ForwardingHeaders/klocale.h: Removed. + + * khtml/misc/helper.cpp: Removed. + * khtml/misc/helper.h: Removed. + + * kwq/KWQCollection.h: Removed. + * kwq/KWQKCookieJar.h: Removed. + * kwq/KWQKCookieJar.mm: Removed. + * kwq/KWQKLocale.h: Removed. + * kwq/KWQKLocale.mm: Removed. + * kwq/KWQKURL.h: Removed. + * kwq/KWQKURL.mm: Removed. + * kwq/KWQTextUtilities.h: Removed. + * kwq/KWQTextUtilities.mm: Removed. + * kwq/KWQView.h: Removed. + + * platform/CookieJar.h: Added. + * platform/Language.h: Added. + * platform/LocalizedStrings.h: Added. + * platform/TextBoundaries.h: Added. + * platform/mac/CookieJar.mm: Added. + * platform/mac/Language.mm: Added. + * platform/mac/LocalizedStringsMac.mm: Added. + * platform/mac/TextBoundaries.mm: Added. + * platform/mac/WebCoreWidgetHolder.h: Added. + + * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files. + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removed and added files. + + * bridge/mac/WebCoreFrameBridge.mm: Updated includes. + (-[WebCoreFrameBridge elementForView:]): Changed KWQWidgetHolder to WebCoreWidgetHolder. + + * editing/visible_units.cpp: + (WebCore::previousWordPositionBoundary): + (WebCore::nextWordPositionBoundary): + (WebCore::previousSentencePositionBoundary): + (WebCore::nextSentencePositionBoundary): + Call TextBoundaries.h functions instead of helper.h ones. + + * khtml/ecma/kjs_navigator.cpp: (KJS::Navigator::getValueProperty): + * ksvg2/svg/SVGTestsImpl.cpp: (WebCore::SVGTestsImpl::isValid): + Changed to call defaultLanguage; cleaned up formatting. + + * khtml/html/HTMLFormElementImpl.cpp: Removed stray comment. + + * khtml/html/html_documentimpl.cpp: + (WebCore::HTMLDocumentImpl::cookie): + (WebCore::HTMLDocumentImpl::setCookie): + Call CookieJar.h functions. + + * css/css_valueimpl.cpp: + * css/cssparser.cpp: + * css/cssstyleselector.cpp: + * dom/DocumentImpl.cpp: + * dom/dom_position.cpp: + * khtml/ecma/kjs_window.cpp: + * khtml/html/HTMLInputElementImpl.cpp: + * khtml/html/html_headimpl.cpp: + * khtml/html/htmlparser.cpp: + * khtml/misc/decoder.cpp: + * ksvg2/svg/SVGDocumentImpl.cpp: + * kwq/KWQComboBox.mm: + * kwq/KWQKSSLKeyGen.mm: + * kwq/KWQListBox.mm: + * kwq/KWQListImpl.cpp: + * kwq/KWQListImpl.h: + * kwq/KWQScrollBar.mm: + * kwq/KWQSlider.mm: + * kwq/KWQTextField.mm: + * kwq/KWQValueList.h: + * loader/DocLoader.cpp: + * page/Frame.cpp: + * page/FrameView.cpp: + * platform/mac/WidgetMac.mm: + (WebCore::Widget::beforeMouseDown): + (WebCore::Widget::afterMouseDown): + * rendering/render_applet.cpp: + * rendering/render_form.cpp: + * rendering/render_image.cpp: + * rendering/render_list.cpp: + Updated includes and protocol names. + + * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::write): Remove + QT_VERSION code. + * platform/QString.h: Remove QT_VERSION. + + * kwq/KWQPtrList.h: Change to no longer use QPtrCollection. + + * kwq/KWQRenderTreeDebug.h: + * kwq/KWQRenderTreeDebug.cpp: (externalRepresentation): + Remove unused debuggingRenderTree boolean. + +2006-03-07 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + * platform/mac/GraphicsContextMac.mm: Add Widget.h to fix no-svg build. + +2006-03-06 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Make spinneret run again, fix webview to support dynamic resize. + + * platform/win/TemporaryLinkStubs.cpp: + (Widget::setDrawingAlpha): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::setClient): + (WebCore::Widget::client): + (WebCore::Widget::frameGeometry): + +2006-03-06 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Fix win32 build. + + * platform/win/TemporaryLinkStubs.cpp: + (QScrollBar::QScrollBar): + (QTextEdit::setAlignment): + (Widget::client): + (Widget::setClient): + (QLineEdit::setAlignment): + +2006-03-06 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=7566 (also + <rdar://problem/4467128> ). Must call update() on a Font before + attempting to use it because the FontRenderer is not created until + update() is called. + + * kwq/KWQListBox.mm: + (QListBox::sizeForNumberOfLines): Call update() + (-[KWQTableView drawRow:clipRect:]): Call update() + +2006-03-06 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - http://bugs.webkit.org/show_bug.cgi?id=7564 + remove QObject, QGuardedPtr, slots, and signals + + I had written a detailed change log entry, but I lost it! + I'm too annoyed to write one all over again. + + * ForwardingHeaders/qguardedptr.h: Removed. + * ForwardingHeaders/qobject.h: Removed. + + * kwq/KWQGuardedPtr.cpp: Removed. + * kwq/KWQGuardedPtr.h: Removed. + * kwq/KWQNamespace.h: Removed. + * kwq/KWQObject.cpp: Removed. + * kwq/KWQObject.h: Removed. + * kwq/KWQSignal.cpp: Removed. + * kwq/KWQSignal.h: Removed. + * kwq/KWQSlot.cpp: Removed. + * kwq/KWQSlot.h: Removed. + + * platform/WidgetClient.h: Added. + + * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files. + * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto. + + * bindings/js/JSDOMCore.cpp: Touched. + * bindings/js/JSDOMEvents.cpp: Ditto. + + * bridge/BrowserExtension.h: + (WebCore::BrowserExtension::~BrowserExtension): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge elementForView:]): + * dom/CDATASectionImpl.cpp: + (WebCore::CDATASectionImpl::cloneNode): + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::~DocumentImpl): + * dom/DocumentImpl.h: + * kcanvas/device/KRenderingDevice.h: + * khtml/ecma/kjs_css.cpp: + (KJS::DOMCSSStyleDeclaration::put): + * khtml/ecma/kjs_window.cpp: + (KJS::FrameArray::indexGetter): + (KJS::FrameArray::nameGetter): + * khtml/html/html_documentimpl.cpp: + (WebCore::HTMLDocumentImpl::createTokenizer): + * khtml/html/htmlparser.cpp: + (WebCore::HTMLParser::HTMLParser): + (WebCore::HTMLParser::insertNode): + (WebCore::HTMLParser::handleError): + (WebCore::HTMLParser::commentCreateErrorCheck): + (WebCore::HTMLParser::noscriptCreateErrorCheck): + (WebCore::HTMLParser::isInline): + (WebCore::HTMLParser::finished): + * khtml/html/htmlparser.h: + * khtml/html/htmltokenizer.cpp: + (WebCore::HTMLTokenizer::HTMLTokenizer): + (WebCore::HTMLTokenizer::scriptHandler): + (WebCore::HTMLTokenizer::scriptExecution): + (WebCore::HTMLTokenizer::parseComment): + (WebCore::HTMLTokenizer::parseTag): + (WebCore::HTMLTokenizer::stopParsing): + (WebCore::HTMLTokenizer::timerFired): + (WebCore::HTMLTokenizer::processToken): + (WebCore::parseHTMLDocumentFragment): + * khtml/html/htmltokenizer.h: + * kwq/KWQComboBox.h: + * kwq/KWQComboBox.mm: + (-[KWQPopUpButton setPopulatingMenu:QComboBox:::]): + (QComboBox::itemSelected): + (-[KWQPopUpButton becomeFirstResponder]): + (-[KWQPopUpButton resignFirstResponder]): + * kwq/KWQFileButton.h: + (KWQFileButton::filename): + * kwq/KWQFileButton.mm: + (KWQFileButton::KWQFileButton): + (KWQFileButton::filenameChanged): + (-[KWQFileButtonAdapter filenameChanged:]): + (-[KWQFileButtonAdapter focusChanged:]): + (-[KWQFileButtonAdapter clicked]): + * kwq/KWQLineEdit.h: + * kwq/KWQLineEdit.mm: + (QLineEdit::QLineEdit): + (QLineEdit::setAlignment): + (KWQNSTextAlignment): + * kwq/KWQListBox.h: + (QListBox::changingSelection): + * kwq/KWQListBox.mm: + (QListBox::QListBox): + (-[KWQTableView becomeFirstResponder]): + (-[KWQTableView resignFirstResponder]): + (-[KWQTableView tableViewSelectionDidChange:]): + * kwq/KWQScrollBar.h: + (WebCore::): + (QScrollBar::orientation): + * kwq/KWQScrollBar.mm: + (-[KWQScrollBar initWithQScrollBar:]): + (QScrollBar::QScrollBar): + (QScrollBar::valueChanged): + (QScrollBar::scroll): + * kwq/KWQSlider.h: + * kwq/KWQSlider.mm: + (-[KWQSlider mouseDown:]): + (-[KWQSlider slide:]): + (-[KWQSlider becomeFirstResponder]): + (-[KWQSlider resignFirstResponder]): + (QSlider::QSlider): + (QSlider::sliderValueChanged): + (QSlider::dimensions): + * kwq/KWQTextArea.mm: + (-[KWQTextAreaTextView textViewDidChangeSelection:]): + (-[KWQTextAreaTextView textDidChange:]): + (-[KWQTextAreaTextView becomeFirstResponder]): + (-[KWQTextAreaTextView resignFirstResponder]): + (-[KWQTextAreaTextView mouseDown:]): + (-[KWQTextAreaTextView dispatchHTMLEvent:]): + * kwq/KWQTextEdit.h: + * kwq/KWQTextEdit.mm: + (QTextEdit::QTextEdit): + (QTextEdit::setAlignment): + * kwq/KWQTextField.mm: + (-[KWQTextFieldController action:]): + (-[KWQTextFieldController controlTextDidEndEditing:]): + (-[KWQTextFieldController controlTextDidChange:]): + (-[KWQTextFieldController textChanged]): + (-[KWQTextFieldController textView:didHandleEvent:]): + (-[KWQTextFieldController setHasFocus:]): + (-[KWQTextFieldController textViewDidChangeSelection:]): + * loader/CachedObject.h: + * page/Frame.cpp: + (WebCore::Frame::Frame): + (WebCore::Frame::~Frame): + (WebCore::Frame::setOpener): + (WebCore::Frame::nodeForWidget): + (WebCore::Frame::disconnectOwnerRenderer): + * page/Frame.h: + * page/FramePrivate.h: + (WebCore::FramePrivate::FramePrivate): + * page/FrameView.cpp: + (WebCore::FrameView::~FrameView): + * platform/Brush.h: + * platform/Pen.h: + * platform/Widget.cpp: + (WebCore::Widget::isFrameView): + * platform/Widget.h: + (WebCore::): + * platform/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::drawText): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::Widget): + (WebCore::Widget::focusPolicy): + (WebCore::Widget::sendConsumedMouseUp): + (WebCore::Widget::setClient): + (WebCore::Widget::client): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::operator delete): + * rendering/render_applet.cpp: + (WebCore::RenderApplet::createWidgetIfNecessary): + * rendering/render_form.cpp: + (WebCore::RenderFormElement::clicked): + (WebCore::RenderFormElement::textAlignment): + (WebCore::RenderLineEdit::RenderLineEdit): + (WebCore::RenderLineEdit::selectionChanged): + (WebCore::RenderLineEdit::returnPressed): + (WebCore::RenderLineEdit::performSearch): + (WebCore::RenderLineEdit::valueChanged): + (WebCore::RenderFileButton::RenderFileButton): + (WebCore::RenderFileButton::returnPressed): + (WebCore::RenderFileButton::valueChanged): + (WebCore::RenderLegend::RenderLegend): + (WebCore::RenderSelect::RenderSelect): + (WebCore::RenderSelect::updateFromElement): + (WebCore::RenderSelect::valueChanged): + (WebCore::RenderSelect::selectionChanged): + (WebCore::RenderSelect::createListBox): + (WebCore::RenderTextArea::RenderTextArea): + (WebCore::RenderTextArea::valueChanged): + (WebCore::RenderTextArea::selectionChanged): + (WebCore::RenderSlider::RenderSlider): + (WebCore::RenderSlider::valueChanged): + * rendering/render_form.h: + (WebCore::RenderFormElement::element): + (WebCore::RenderLineEdit::element): + (WebCore::RenderFileButton::element): + (WebCore::RenderFileButton::isEditable): + (WebCore::RenderSelect::element): + (WebCore::RenderTextArea::element): + (WebCore::RenderSlider::element): + * rendering/render_frames.cpp: + (WebCore::RenderPart::RenderPart): + (WebCore::RenderPart::~RenderPart): + (WebCore::RenderPart::setFrame): + (WebCore::RenderPart::setWidget): + (WebCore::RenderPart::deleteWidget): + (WebCore::RenderFrame::RenderFrame): + (WebCore::RenderPartObject::RenderPartObject): + (WebCore::RenderPartObject::layout): + * rendering/render_frames.h: + * rendering/render_layer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::~RenderLayer): + (WebCore::RenderLayer::valueChanged): + (WebCore::RenderLayer::setHasHorizontalScrollbar): + (WebCore::RenderLayer::setHasVerticalScrollbar): + (WebCore::RenderLayer::hitTest): + * rendering/render_layer.h: + (WebCore::RenderLayer::parent): + (WebCore::RenderLayer::previousSibling): + (WebCore::RenderLayer::nextSibling): + (WebCore::RenderLayer::firstChild): + (WebCore::RenderLayer::lastChild): + * rendering/render_list.cpp: + (WebCore::RenderListMarker::paint): + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::RenderWidget): + (WebCore::RenderWidget::destroy): + (WebCore::RenderWidget::~RenderWidget): + (WebCore::RenderWidget::setWidget): + (WebCore::RenderWidget::layout): + (WebCore::RenderWidget::sendConsumedMouseUp): + (WebCore::RenderWidget::focusIn): + (WebCore::RenderWidget::focusOut): + (WebCore::RenderWidget::scrollToVisible): + (WebCore::RenderWidget::isVisible): + (WebCore::RenderWidget::element): + (WebCore::RenderWidget::deleteWidget): + * rendering/render_replaced.h: + * xml/xmlhttprequest.cpp: + (WebCore::requestsByDocument): + (WebCore::addToRequestsByDocument): + (WebCore::removeFromRequestsByDocument): + (WebCore::XMLHttpRequest::getResponseText): + (WebCore::XMLHttpRequest::getResponseXML): + (WebCore::XMLHttpRequest::XMLHttpRequest): + (WebCore::XMLHttpRequest::~XMLHttpRequest): + (WebCore::XMLHttpRequest::callReadyStateChangeListener): + (WebCore::XMLHttpRequest::urlMatchesDocumentDomain): + (WebCore::XMLHttpRequest::open): + (WebCore::XMLHttpRequest::send): + (WebCore::XMLHttpRequest::abort): + (WebCore::XMLHttpRequest::overrideMIMEType): + (WebCore::XMLHttpRequest::setRequestHeader): + (WebCore::XMLHttpRequest::getRequestHeader): + (WebCore::XMLHttpRequest::getAllResponseHeaders): + (WebCore::XMLHttpRequest::getResponseHeader): + (WebCore::XMLHttpRequest::getSpecificHeader): + (WebCore::XMLHttpRequest::responseIsXML): + (WebCore::XMLHttpRequest::getStatus): + (WebCore::XMLHttpRequest::getStatusText): + (WebCore::XMLHttpRequest::receivedAllData): + (WebCore::XMLHttpRequest::receivedRedirect): + (WebCore::XMLHttpRequest::receivedData): + (WebCore::XMLHttpRequest::cancelRequests): + (WebCore::XMLHttpRequest::detachRequests): + * xml/xmlhttprequest.h: + +2006-03-06 Eric Seidel <eseidel@apple.com> + + Reviewed by beth. + + Reorganize link stubs (alphabetically). + Stub out Path methods to make cnn.com work. + + * platform/win/TemporaryLinkStubs.cpp: + (FrameView::viewportToGlobal): + (FrameView::updateBorder): + (FrameView::isFrameView): + (FrameView::topLevelWidget): + (QScrollBar::~QScrollBar): + (QScrollBar::setSteps): + (QScrollBar::scroll): + (QScrollBar::QScrollBar): + (QScrollBar::setValue): + (QScrollBar::setKnobProportion): + (QListBox::QListBox): + (QListBox::setSelected): + (QListBox::sizeForNumberOfLines): + (QListBox::isSelected): + (QListBox::appendItem): + (QListBox::doneAppendingItems): + (ScrollView::scrollXOffset): + (QComboBox::focusPolicy): + (QTextEdit::QTextEdit): + (QTextEdit::~QTextEdit): + (QTextEdit::textWithHardLineBreaks): + (QTextEdit::sizeWithColumnsAndRows): + (QTextEdit::setColors): + (QTextEdit::setFont): + (QTextEdit::setWritingDirection): + (QTextEdit::checksDescendantsForFocus): + (QTextEdit::selectionStart): + (QTextEdit::hasSelectedText): + (QTextEdit::setReadOnly): + (QTextEdit::setDisabled): + (QTextEdit::setLineHeight): + (QTextEdit::setSelectionStart): + (QTextEdit::text): + (QTextEdit::setWordWrap): + (QTextEdit::setAlignment): + (QTextEdit::getCursorPosition): + (QTextEdit::setSelectionRange): + (Widget::enableFlushDrawing): + (Widget::isEnabled): + (Widget::focusPolicy): + (Widget::disableFlushDrawing): + (Widget::setIsSelected): + (Widget::unlockDrawingFocus): + (KJavaAppletWidget::KJavaAppletWidget): + (ScrollView::scrollPointRecursively): + (ScrollView::scrollBy): + (QLineEdit::selectAll): + (QLineEdit::addSearchResult): + (QLineEdit::selectionStart): + (QLineEdit::hasSelectedText): + (QLineEdit::selectedText): + (QLineEdit::setAutoSaveName): + (QLineEdit::checksDescendantsForFocus): + (QLineEdit::setMaxResults): + (GraphicsContext::GraphicsContext): + (GraphicsContext::addFocusRingRect): + (GraphicsContext::drawLineForMisspelling): + (GraphicsContext::drawFocusRing): + (GraphicsContext::selectedTextBackgroundColor): + (GraphicsContext::drawHighlightForText): + (GraphicsContext::misspellingLineThickness): + (GraphicsContext::addRoundedRectClip): + (QSlider::QSlider): + (QSlider::sizeHint): + (QSlider::setValue): + (QSlider::setMaxValue): + (QSlider::~QSlider): + (QSlider::setFont): + (QListBox::setFont): + (QListBox::~QListBox): + (QListBox::setSelectionMode): + (QListBox::setEnabled): + (QListBox::clear): + (QListBox::checksDescendantsForFocus): + (KWQFileButton::KWQFileButton): + (KWQFileButton::click): + (KWQFileButton::sizeForCharacterWidth): + (KWQFileButton::frameGeometry): + (KWQFileButton::setFilename): + (KWQFileButton::baselinePosition): + (KWQFileButton::setFrameGeometry): + (QSlider::focusPolicy): + (QListBox::focusPolicy): + (Cursor::Cursor): + (MouseEvent::MouseEvent): + (KWQKCookieJar::cookieEnabled): + (WebCore::screenDepth): + (WebCore::usableScreenRect): + (FrameWin::createPlugin): + (ScrollView::resizeContents): + (ScrollView::visibleHeight): + (ScrollView::visibleWidth): + (ScrollView::setContentsPos): + (ScrollView::contentsHeight): + (ScrollView::contentsWidth): + (ScrollView::inWindow): + (Path::~Path): + (Path::Path): + (Path::contains): + (Path::translate): + (Path::boundingRect): + (Path::operator=): + +2006-03-03 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=6844> + elementAtPoint returns the list when the point is over a list marker + + Call RenderObject::setInnerNode(), which sets both the + innerNode and the innerNonSharedNode. + + * rendering/render_list.cpp: + (WebCore::RenderListItem::nodeAtPoint): + * rendering/render_list.h: + +2006-03-05 Darin Adler <darin@apple.com> + + * WebCore.vcproj/WebCore/WebCore.vcproj: Removed a lot of long-ago-deleted files + from the kwq directory. + +2006-03-05 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - moved all the remnants of the public C++ DOM API out of khtml/dom + - changed from "int" to "ExceptionCode" for DOM exceptions + - removed unused CSS_HTML_RELATIVE + - changed offsetInCharacters to be a member function of NodeImpl + - changed DOM functions that take a NodeType to use NodeType instead of + unsigned short for clarity (will still be unsigned short in bindings) + - changed exception constants so they can be used directly in the + implementation code (added in the offsets for different types of exceptions) + - replaced the eventListenerType function with an isHTMLEventListener function + - got rid of EventListenerEvent, which is a synonym for EventImpl* + - eliminated handleEventImpl, whish is now the same as handleEvent + + - did other preparation for the "remove Impl suffix" renaming + (tested by using a script that does the renaming) + + * khtml/dom/css_rule.h: Removed. + * khtml/dom/css_stylesheet.h: Removed. + * khtml/dom/css_value.h: Removed. + * khtml/dom/dom2_events.cpp: Removed. + * khtml/dom/dom2_events.h: Removed. + * khtml/dom/dom2_range.h: Removed. + * khtml/dom/dom2_traversal.cpp: Removed. + * khtml/dom/dom2_traversal.h: Removed. + * khtml/dom/dom_exception.h: Removed. + * khtml/dom/dom_node.h: Removed. + + * dom/EventListener.h: Added. + * dom/ExceptionCode.h: Added. + + * WebCore+SVG/kdom.h: Removed NodeType and ExceptionCodes + * WebCore+SVG/kdomevents.h: Removed. + + * WebCore.xcodeproj/project.pbxproj: Updated for file changes. + * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto. + + * bindings/scripts/CodeGeneratorJS.pm: Removed unneeded DOM:: prefix. Updated file + names and exception prefix for changes in DOM exceptions. + + * bindings/js/JSDOMCore.cpp: Touched to cause auto-generated code to be + recompiled. We need to get this fixed! + * bindings/js/JSDOMEvents.cpp: Ditto. + + * dom/Attr.idl: + * dom/CharacterData.idl: + * dom/DOMImplementation.idl: + * dom/DocumentType.idl: + * dom/Element.idl: + * dom/Entity.idl: + * dom/MutationEvent.idl: + * dom/Notation.idl: + * dom/ProcessingInstruction.idl: + * dom/Text.idl: + * dom/WheelEvent.idl: + Touched all IDL files so that changes in CodeGeneratorJS.pm would take effect. + Added license headers. + + * bindings/objc/DOM.mm: Fixed garbled license agreement. Updated includes. + Changed from a single "using namespace WebCore" to individual using statements + because of the imminent conflict between DOMImplementation in Objective C + and WebCore::DOMImplementation (currently has an Impl suffix). Added a typedef + for WebCore::DOMImplementationImpl. Changed to use ExceptionCode instead of int. + + * bindings/objc/DOMCSS.h: Removed DOMCSSException and the special CSS exception + codes. This is a feature of DOM Level 1 only. In DOM Level 2 these were eliminated + and use basic DOM exception codes instead. We might have to do something for binary + compatibility eventually, but perhaps not. + + * bindings/objc/DOMCSS.mm: + * bindings/objc/DOMEvents.mm: + * bindings/objc/DOMEventsInternal.h: + * bindings/objc/DOMHTML.mm: + * bindings/objc/DOMHTMLInternal.h: + * bindings/objc/DOMViews.mm: + * bindings/objc/DOMViewsInternal.h: + Fixed garbled license agreements. + Changed to use ExceptionCode instead of int and name the variable "ec". + + * bindings/objc/DOMInternal.h: Changed addDOMWrapperImpl to take NSObject* instead + of id. This helps with overload resolution when addDOMWrapperImpl is renamed to be + addDOMWrapper. Changed ALLOW_DOM_CAST to always use "class" in from of the type name + of the WebCore class. This helps work around what seems like a bug in namespace support + in Objective-C mode, although the bug only happens after the "remove Impl" renaming. + * bindings/objc/DOMInternal.mm: + (getDOMWrapperImpl): Changed to use HashMap. + (addDOMWrapperImpl): Ditto. + (removeDOMWrapper): Ditto. + (raiseDOMException): Update to use new names for exception number ranges. + + * bridge/mac/WebCoreFrameBridge.mm: + * khtml/ecma/xmlserializer.cpp: + * kwq/KWQAccObject.mm: + Removed unneeded includes. + + * css/css_ruleimpl.h: Moved "rule type" into this header. + + * dom/CommentImpl.h: + * dom/CommentImpl.cpp: (WebCore::CommentImpl::offsetInCharacters): Added. Returns true. + + * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction): + Changed this around so we don't have a local variable named docImpl. + + * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Updated for new form of exception + constants. + + * khtml/ecma/kjs_events.h: + * khtml/ecma/kjs_events.cpp: + (KJS::JSAbstractEventListener::handleEvent): Changed to no longer use EventListenerEvent. + (KJS::JSAbstractEventListener::isHTMLEventListener): Added. + + * rendering/RenderTextField.h: Updated includes. Tweaked the code formatting of + InputMutationListener. (Might be unnecessary since this class might be deleted soon.) + + * bridge/mac/MacFrame.mm: + * css/css_computedstyle.cpp: + * css/css_computedstyle.h: + * css/css_ruleimpl.cpp: + * css/css_stylesheetimpl.cpp: + * css/css_stylesheetimpl.h: + * css/css_valueimpl.cpp: + * css/css_valueimpl.cpp: + * css/css_valueimpl.h: + * css/css_valueimpl.h: + * css/cssparser.cpp: + * css/cssstyleselector.cpp: + * dom/CDATASectionImpl.cpp: + * dom/CDATASectionImpl.h: + * dom/CharacterDataImpl.cpp: + * dom/CharacterDataImpl.h: + * dom/ContainerNodeImpl.cpp: + * dom/DOMImplementationImpl.cpp: + * dom/DocumentFragmentImpl.cpp: + * dom/DocumentFragmentImpl.h: + * dom/DocumentImpl.cpp: + * dom/DocumentImpl.h: + * dom/DocumentTypeImpl.cpp: + * dom/DocumentTypeImpl.h: + * dom/NamedNodeMapImpl.h: + * dom/NodeImpl.cpp: + * dom/NodeImpl.h: + * dom/NodeListImpl.cpp: + * dom/TextImpl.cpp: + * dom/TextImpl.h: + * dom/dom2_eventsimpl.cpp: + * dom/dom2_eventsimpl.h: + * dom/dom2_rangeimpl.cpp: + * dom/dom2_rangeimpl.h: + * dom/dom2_traversalimpl.cpp: + * dom/dom2_traversalimpl.h: + * dom/dom_elementimpl.cpp: + * dom/dom_elementimpl.h: + * dom/dom_position.cpp: + * dom/dom_xmlimpl.cpp: + * dom/dom_xmlimpl.h: + * dom/xml_tokenizer.cpp: + * editing/AppendNodeCommand.cpp: + * editing/ApplyStyleCommand.cpp: + * editing/CompositeEditCommand.cpp: + * editing/DeleteFromTextNodeCommand.cpp: + * editing/InsertIntoTextNodeCommand.cpp: + * editing/InsertLineBreakCommand.cpp: + * editing/InsertNodeBeforeCommand.cpp: + * editing/InsertParagraphSeparatorCommand.cpp: + * editing/JoinTextNodesCommand.cpp: + * editing/MergeIdenticalElementsCommand.cpp: + * editing/RemoveNodeAttributeCommand.cpp: + * editing/RemoveNodeCommand.cpp: + * editing/ReplaceSelectionCommand.cpp: + * editing/Selection.cpp: + * editing/SelectionController.cpp: + * editing/SelectionController.h: + * editing/SetNodeAttributeCommand.cpp: + * editing/SplitElementCommand.cpp: + * editing/SplitTextNodeCommand.cpp: + * editing/VisiblePosition.cpp: + * editing/WrapContentsInDummySpanCommand.cpp: + * editing/htmlediting.cpp: + * editing/markup.cpp: + * editing/visible_text.cpp: + * khtml/ecma/kjs_binding.h: + * khtml/ecma/kjs_css.cpp: + * khtml/ecma/kjs_dom.cpp: + * khtml/ecma/kjs_html.cpp: + * khtml/ecma/kjs_range.cpp: + * khtml/ecma/kjs_traversal.cpp: + * khtml/ecma/kjs_traversal.h: + * khtml/ecma/kjs_window.cpp: + * khtml/html/HTMLElementImpl.cpp: + * khtml/html/HTMLOptionElementImpl.cpp: + * khtml/html/HTMLOptionElementImpl.h: + * khtml/html/HTMLOptionsCollectionImpl.cpp: + * khtml/html/HTMLSelectElementImpl.cpp: + * khtml/html/HTMLTextAreaElementImpl.cpp: + * khtml/html/html_documentimpl.cpp: + * khtml/html/html_documentimpl.h: + * khtml/html/html_headimpl.cpp: + * khtml/html/html_tableimpl.cpp: + * khtml/html/html_tableimpl.h: + * khtml/html/htmlparser.cpp: + * khtml/xbl/xbl_tokenizer.cpp: + * khtml/xsl/xsl_stylesheetimpl.cpp: + * ksvg2/misc/SVGDocumentExtensions.cpp: + * ksvg2/svg/SVGAnimationElementImpl.cpp: + * ksvg2/svg/SVGDOMImplementationImpl.cpp: + * ksvg2/svg/SVGDOMImplementationImpl.h: + * ksvg2/svg/SVGDocumentImpl.cpp: + * ksvg2/svg/SVGDocumentImpl.h: + * ksvg2/svg/SVGElementImpl.cpp: + * ksvg2/svg/SVGLengthImpl.cpp: + * ksvg2/svg/SVGLocatableImpl.cpp: + * ksvg2/svg/SVGPolyElementImpl.cpp: + * ksvg2/svg/SVGSVGElementImpl.cpp: + * ksvg2/svg/SVGStyleElementImpl.cpp: + * ksvg2/svg/SVGStyleElementImpl.h: + * ksvg2/svg/SVGUseElementImpl.cpp: + * page/Frame.cpp: + * page/FrameView.cpp: + * rendering/render_object.cpp: + * xml/xmlhttprequest.cpp: + Changed to use ExceptionCode instead of int and name the variable "ec". + Also updated use of exception codes and other constants to get them from + their new locations. + +2006-03-06 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix more pages (apple.com, yahoo.com) by returning empty error image. + Empty a couple more stubs and clean up stub style a little. + + * platform/cairo/ImageCairo.cpp: + (WebCore::Image::loadResource): + * platform/win/TemporaryLinkStubs.cpp: + (QListBox::isSelected): + (QSlider::sizeHint): + (QScrollBar::~QScrollBar): + (FrameWin::getObjectInstanceForWidget): + (FrameWin::getEmbedInstanceForWidget): + (FrameWin::recordFormValue): + (FrameWin::getAppletInstanceForWidget): + (FrameWin::passMouseDownEventToWidget): + (FrameWin::passWheelEventToChildWidget): + (FrameWin::createPlugin): + (BrowserExtensionWin::createNewWindow): + (Path::Path): + (QLineEdit::~QLineEdit): + (QLineEdit::setLiveSearch): + (QComboBox::~QComboBox): + +2006-03-06 Eric Seidel <eseidel@apple.com> + + Reviewed by andersca. + + Empty enough stubs to make apple.com load. + + * platform/win/TemporaryLinkStubs.cpp: + (QTextEdit::sizeWithColumnsAndRows): + (GraphicsContext::misspellingLineThickness): + (QTextEdit::selectAll): + (QTextEdit::setSelectionStart): + (Widget::unlockDrawingFocus): + (QLineEdit::setAutoSaveName): + (ScrollView::scrollYOffset): + (KWQFileButton::setFilename): + (QListBox::setFont): + (GraphicsContext::beginTransparencyLayer): + (GraphicsContext::endTransparencyLayer): + (QComboBox::QComboBox): + (QComboBox::setFont): + (QComboBox::baselinePosition): + (QComboBox::setWritingDirection): + (QComboBox::clear): + (QComboBox::appendItem): + (QComboBox::setCurrentItem): + (QComboBox::sizeHint): + (QComboBox::frameGeometry): + (QComboBox::setFrameGeometry): + (QLineEdit::setLiveSearch): + +2006-03-06 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Fix external resource loading. + Make a bunch of stubs not abort (to fix slashdot). + + * platform/win/TemporaryLinkStubs.cpp: + (QTextEdit::textWithHardLineBreaks): + (KWQFileButton::click): + (QComboBox::setFrameGeometry): + (QTextEdit::setText): + (QListBox::appendItem): + (GraphicsContext::endTransparencyLayer): + (QLineEdit::selectionStart): + (QTextEdit::QTextEdit): + (QListBox::isSelected): + (QComboBox::focusPolicy): + (QTextEdit::setCursorPosition): + (QTextEdit::setAlignment): + (QLineEdit::selectedText): + (ScrollView::scrollPointRecursively): + (QScrollBar::setSteps): + (QComboBox::appendItem): + (GraphicsContext::drawLineForMisspelling): + (KWQFileButton::setFilename): + (QListBox::setWritingDirection): + (QListBox::focusPolicy): + (MouseEvent::MouseEvent): + (QSlider::setFont): + (Widget::setEnabled): + (Widget::paint): + (ScrollView::addChild): + (ScrollView::inWindow): + (GraphicsContext::setShadow): + (GraphicsContext::clearShadow): + (RenderThemeWin::paintCheckbox): + (RenderThemeWin::paintRadio): + (RenderThemeWin::paintButton): + (RenderThemeWin::paintTextField): + (QLineEdit::QLineEdit): + (QLineEdit::setFont): + (QLineEdit::setAlignment): + (QLineEdit::setWritingDirection): + (QLineEdit::maxLength): + (QLineEdit::setMaxLength): + (QLineEdit::text): + (QLineEdit::setText): + (QLineEdit::cursorPosition): + (QLineEdit::setCursorPosition): + (QLineEdit::setEdited): + (QLineEdit::setReadOnly): + (QLineEdit::setPlaceholderString): + (QLineEdit::setColors): + (QLineEdit::sizeForCharacterWidth): + (QLineEdit::baselinePosition): + * platform/win/TransferJobWin.cpp: + (WebCore::TransferJob::fileLoadTimer): + (WebCore::TransferJob::cancel): + +2006-03-05 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix failure seen running editing layout tests + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + Use selectNodeContents instead of rolling our own. + It handles the "nothing at all" edge case properly. + +2006-03-05 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Make updateContents invalidate entire window for now. + Fix indentation in fileLoadTimer. + + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::updateContents): + * platform/win/TransferJobWin.cpp: + (WebCore::TransferJob::fileLoadTimer): + +2006-03-05 Eric Seidel <eseidel@apple.com> + + Reviewed by adele. + + Add missing files to vcproj (fix win32 build). + Also add svn:eol-style=native to new files. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + +2006-03-05 Darin Adler <mjs@apple.com> + + - fix build + + * rendering/render_style.h: (compareEqual): Made it inline, fixed variable name. + +2006-03-05 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + - Fixed http://bugs.webkit.org/show_bug.cgi?id=6987 + Implement maxlength for new text fields + + Test added: + * fast/forms/input-appearance-maxlength.html + + * WebCore.xcodeproj/project.pbxproj: + Added BeforeTextInsertedEventImpl.h, BeforeTextInsertedEventImpl.cpp, HTMLTextFieldInnerElementImpl.h, and HTMLTextFieldInnerElementImpl.cpp + + * khtml/html/HTMLInputElementImpl.cpp: + (WebCore::HTMLInputElementImpl::init): initialize max length to 1024. + (WebCore::HTMLInputElementImpl::defaultEventHandler): Added case to use the khtmlBeforeTextInsertedEvent to check for maxlength. + (WebCore::HTMLInputElementImpl::parseMappedAttribute): Makes sure that maxlength is between 0 and 1024. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): After doing a test insert of the fragment, + Send khtmlBeforeTextInsertedEvent to the root editable element so the event handler can update the text, and we can update the fragment. + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::insertText): Send khtmlBeforeTextInsertedEvent to the root editable element so the event handler can update the text if necessary. + * editing/EditCommand.cpp: + (WebCore::EditCommand::apply): If we've just applied a command, send the khtmlTextInsertedEvent to the root editable element. + (WebCore::EditCommand::unapply): ditto. + (WebCore::EditCommand::reapply): ditto. + + * khtml/html/HTMLTextFieldInnerElementImpl.h: Added this class to store a pointer to the input element for the text field and to handle default events. + (DOM::HTMLTextFieldInnerElementImpl::shadowParentNode): Added. + (DOM::HTMLTextFieldInnerElementImpl::setShadowParentNode): Added. + * khtml/html/HTMLTextFieldInnerElementImpl.cpp: Added. + (WebCore::HTMLTextFieldInnerElementImpl::HTMLTextFieldInnerElementImpl): + (WebCore::HTMLTextFieldInnerElementImpl::~HTMLTextFieldInnerElementImpl): + (WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler): + Sends khtmlBeforeTextInsertedEvents to the shadowParentNode, + and handles khtmlTextInsertedEvents by telling the renderer that the subtree has changed. + + * rendering/RenderTextField.cpp: Removed InputMutationListener since subtreeHasChanged is now called from the editing code. + (WebCore::RenderTextField::~RenderTextField): removed event listener code. + (WebCore::RenderTextField::updateFromElement): ditto. And creates HTMLTextFieldInnerElementImpl. + (WebCore::RenderTextField::subtreeHasChanged): calls new text() method. + (WebCore::RenderTextField::text): created to get a String of all text in the RenderTextField. + * rendering/RenderTextField.h: Removed InputMutationListener class. + + * dom/EventNames.h: Added khtmlTextInserted and khtmlBeforeTextInserted. + * dom/BeforeTextInsertedEventImpl.cpp: Added. + (WebCore::BeforeTextInsertedEventImpl::BeforeTextInsertedEventImpl): + * dom/BeforeTextInsertedEventImpl.h: Added. + (WebCore::BeforeTextInsertedEventImpl::isBeforeTextInsertedEvent): + (WebCore::BeforeTextInsertedEventImpl::text): + * dom/dom2_eventsimpl.cpp: (WebCore::EventImpl::isBeforeTextInsertedEvent): Added. + * dom/dom2_eventsimpl.h: Added isBeforeTextInsertedEvent. + +2006-03-05 Maciej Stachowiak <mjs@apple.com> + + - fix build, give this a return type. + + * rendering/render_style.h: + (compareEqual): + +2006-03-05 Eric Seidel <eseidel@apple.com> + + Add "Font.h" to (try to) fix the no-svg build. + + * platform/mac/GraphicsContextMac.mm: + +2006-03-05 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Darin. + + - fix win32 build by avoiding use of typeof + + * rendering/render_style.h: + (compareEqual): + +2006-03-05 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Maciej. + + - Second cut at fixing <rdar://problem/4467143> JavaScript enumeration + of HTML element properties skips DOM node properties + + The approach here is for prototypes, in their constructor methods, + to set their own prototypes, preserving the prototype + chain in cases of multiple levels of inheritance. (Previously, our + code assumed that a prototype never had a prototype of its own, + and always used an empty object as a prototype's prototype). + + * bindings/scripts/CodeGeneratorJS.pm: Use the new + DEFINE_PROTOTYPE_WITH_PROTOTYPE macro in place of the + KJS_IMPLEMENT_PROTOTYPE_WITH_PARENT macro. + * khtml/ecma/kjs_dom.cpp: Ditto. + * khtml/ecma/kjs_dom.h: Ditto. + * khtml/ecma/kjs_events.cpp: Ditto. + + Touched these files to force a rebuild: + + * bindings/js/JSDOMCore.cpp: + * bindings/js/JSDOMEvents.cpp: + * dom/Attr.idl: + * dom/CharacterData.idl: + * dom/DOMImplementation.idl: + * dom/DocumentType.idl: + * dom/Element.idl: + * dom/Entity.idl: + * dom/MutationEvent.idl: + * dom/Notation.idl: + * dom/ProcessingInstruction.idl: + * dom/Text.idl: + * dom/WheelEvent.idl: + +2006-03-05 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - use unsigned bitfields when storing enums in them, to avoid mangling on win32 (was causing all layout to be RTL) + http://bugs.webkit.org/show_bug.cgi?id=7618 + + * css/css_base.cpp: + (WebCore::CSSSelector::operator == ): + (WebCore::CSSSelector::selectorText): + * css/css_base.h: + (WebCore::CSSSelector::CSSSelector): + (WebCore::CSSSelector::pseudoType): + (WebCore::CSSSelector::relation): + * css/css_grammar.y: + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::checkSelector): + (WebCore::CSSStyleSelector::checkOneSelector): + * kcanvas/KCanvasPath.cpp: + (WebCore::operator<<): + * kcanvas/KCanvasPath.h: + (WebCore::KCClipData::windRule): + (WebCore::KCClipDataList::addPath): + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + (WebCore::KCanvasClipperQuartz::applyClip): + * khtml/ecma/kjs_html.h: + * khtml/html/HTMLButtonElementImpl.h: + * khtml/html/HTMLInputElementImpl.cpp: + (WebCore::HTMLInputElementImpl::setInputType): + * khtml/html/HTMLInputElementImpl.h: + (DOM::HTMLInputElementImpl::inputType): + * khtml/html/html_tableimpl.h: + * khtml/xbl/xbl_protohandler.cpp: + (XBL::m_button): + * khtml/xbl/xbl_protohandler.h: + * ksvg2/css/SVGRenderStyle.h: + (WebCore::SVGRenderStyle::InheritedFlags::): + (WebCore::SVGRenderStyle::NonInheritedFlags::): + (WebCore::SVGRenderStyle::setBitDefaults): + * ksvg2/svg/SVGAnimateTransformElementImpl.h: + * ksvg2/svg/SVGAnimationElementImpl.cpp: + (SVGAnimationElementImpl::targetAttribute): + (SVGAnimationElementImpl::setTargetAttribute): + * ksvg2/svg/SVGAnimationElementImpl.h: + * ksvg2/svg/SVGLengthImpl.cpp: + (SVGLengthImpl::value): + * ksvg2/svg/SVGLengthImpl.h: + * kwq/KWQKHTMLSettings.h: + * loader/CachedImage.h: + * loader/DocLoader.cpp: + (WebCore::DocLoader::setCachePolicy): + (WebCore::DocLoader::setShowAnimations): + * loader/DocLoader.h: + (WebCore::DocLoader::showAnimations): + * platform/FontDescription.h: + (WebCore::FontDescription::genericFamily): + * platform/QString.cpp: + (HandleNode::): + * platform/QString.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::setSelectionState): + (WebCore::RenderBlock::leftRelOffset): + (WebCore::RenderBlock::rightRelOffset): + (WebCore::RenderBlock::leftBottom): + (WebCore::RenderBlock::rightBottom): + (WebCore::RenderBlock::addOverhangingFloats): + (WebCore::RenderBlock::addIntrudingFloats): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::selectionState): + (WebCore::RenderBlock::FloatingObject::FloatingObject): + (WebCore::RenderBlock::FloatingObject::type): + * rendering/RenderTable.h: + (WebCore::RenderTable::getRules): + * rendering/bidi.cpp: + (khtml::BidiContext::BidiContext): + (khtml::operator==): + (khtml::embed): + (khtml::RenderBlock::computeHorizontalPositionsForLine): + (khtml::RenderBlock::bidiReorderLine): + (khtml::RenderBlock::layoutInlineChildren): + * rendering/bidi.h: + (khtml::BidiContext::dir): + (khtml::BidiContext::basicDir): + (khtml::BidiRun::BidiRun): + * rendering/render_canvasimage.h: + * rendering/render_layer.h: + (WebCore::Marquee::whiteSpace): + * rendering/render_object.cpp: + (WebCore::RenderObject::paintBorderImage): + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::setSelectionState): + * rendering/render_replaced.h: + (WebCore::RenderReplaced::selectionState): + * rendering/render_style.cpp: + (WebCore::RenderStyle::getPseudoStyle): + * rendering/render_style.h: + (khtml::BorderValue::BorderValue): + (khtml::BorderValue::style): + (khtml::BorderValue::nonZero): + (khtml::BorderValue::operator==): + (khtml::OutlineValue::operator==): + (khtml::CollapsedBorderValue::style): + (khtml::BorderImage::horizontalRule): + (khtml::BorderImage::verticalRule): + (khtml::BorderData::borderLeftWidth): + (khtml::BorderData::borderRightWidth): + (khtml::BorderData::borderTopWidth): + (khtml::BorderData::borderBottomWidth): + (khtml::BackgroundLayer::backgroundClip): + (khtml::BackgroundLayer::backgroundOrigin): + (khtml::BackgroundLayer::backgroundRepeat): + (khtml::RenderStyle::styleType): + (khtml::RenderStyle::display): + (khtml::RenderStyle::originalDisplay): + (khtml::RenderStyle::position): + (khtml::RenderStyle::floating): + (khtml::RenderStyle::borderLeftStyle): + (khtml::RenderStyle::borderLeftColor): + (khtml::RenderStyle::borderRightStyle): + (khtml::RenderStyle::borderRightColor): + (khtml::RenderStyle::borderTopStyle): + (khtml::RenderStyle::borderTopColor): + (khtml::RenderStyle::borderBottomStyle): + (khtml::RenderStyle::borderBottomColor): + (khtml::RenderStyle::outlineWidth): + (khtml::RenderStyle::outlineStyle): + (khtml::RenderStyle::overflow): + (khtml::RenderStyle::visibility): + (khtml::RenderStyle::verticalAlign): + (khtml::RenderStyle::unicodeBidi): + (khtml::RenderStyle::clear): + (khtml::RenderStyle::tableLayout): + (khtml::RenderStyle::textAlign): + (khtml::RenderStyle::textTransform): + (khtml::RenderStyle::direction): + (khtml::RenderStyle::whiteSpace): + (khtml::RenderStyle::backgroundRepeat): + (khtml::RenderStyle::backgroundClip): + (khtml::RenderStyle::backgroundOrigin): + (khtml::RenderStyle::emptyCells): + (khtml::RenderStyle::captionSide): + (khtml::RenderStyle::listStyleType): + (khtml::RenderStyle::listStylePosition): + (khtml::RenderStyle::cursor): + (khtml::RenderStyle::pageBreakInside): + (khtml::RenderStyle::pageBreakBefore): + (khtml::RenderStyle::pageBreakAfter): + (khtml::RenderStyle::outlineOffset): + (khtml::RenderStyle::appearance): + (khtml::RenderStyle::boxAlign): + (khtml::RenderStyle::boxDirection): + (khtml::RenderStyle::boxLines): + (khtml::RenderStyle::boxOrient): + (khtml::RenderStyle::boxPack): + (khtml::RenderStyle::boxSizing): + (khtml::RenderStyle::marqueeBehavior): + (khtml::RenderStyle::marqueeDirection): + (khtml::RenderStyle::userModify): + (khtml::RenderStyle::userDrag): + (khtml::RenderStyle::userSelect): + (khtml::RenderStyle::marginTopCollapse): + (khtml::RenderStyle::marginBottomCollapse): + (khtml::RenderStyle::wordWrap): + (khtml::RenderStyle::nbspMode): + (khtml::RenderStyle::khtmlLineBreak): + (khtml::RenderStyle::matchNearestMailBlockquoteColor): + (khtml::RenderStyle::setBorderLeftWidth): + (khtml::RenderStyle::setBorderLeftStyle): + (khtml::RenderStyle::setBorderLeftColor): + (khtml::RenderStyle::setBorderRightWidth): + (khtml::RenderStyle::setBorderRightStyle): + (khtml::RenderStyle::setBorderRightColor): + (khtml::RenderStyle::setBorderTopWidth): + (khtml::RenderStyle::setBorderTopStyle): + (khtml::RenderStyle::setBorderTopColor): + (khtml::RenderStyle::setBorderBottomWidth): + (khtml::RenderStyle::setBorderBottomStyle): + (khtml::RenderStyle::setBorderBottomColor): + (khtml::RenderStyle::setOutlineWidth): + (khtml::RenderStyle::setOutlineStyle): + (khtml::RenderStyle::pseudoState): + +2006-03-05 Geoffrey Garen <ggaren@apple.com> + + - Rolled out the fix for <rdar://problem/4467143> because it's the + wrong approach. Maciej and I discussed this on IRC. + + * khtml/ecma/kjs_dom.cpp: + (KJS::): Don't use classInfo to express prototype inheritance. + classInfo is only for representing a c++ superclass relationship. + +2006-03-05 Eric Seidel <eseidel@apple.com> + + Move improperly placed #endif causing no-svg build to fail. + + * kcanvas/device/quartz/KRenderingDeviceQuartz.h: + +2006-03-05 Alexander Kellett <lypanov@kde.org> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6890 + and http://bugs.webkit.org/show_bug.cgi?id=6951 + by being more tolerant towards invalid points data + + - new tests: + svg/custom/polyline-setattribute-points-null.svg + svg/custom/polyline-invalid-points.svg + + * ksvg2/svg/svgpathparser.cpp: + (SVGPolyParser::parsePoints): + +2006-03-05 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Eric. + + - remove no longer used KDOMSettings and KSVGSettings + + * WebCore+SVG/KDOMSettings.cpp: Removed. + * WebCore+SVG/KDOMSettings.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * ksvg2/KSVGSettings.h: Removed. + * ksvg2/svg/SVGStyledElementImpl.cpp: + +2006-03-05 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + * platform/Font.cpp: + (WebCore::Font::update): remove extra ref causing large leak. + +2006-03-04 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Re-work ImageViewer to use GraphicsContext. + Add GraphicsContext(cairo_t*) constructor to make double-buffering easier. + Add one more stub to prevent slashdot from crashing. + Also fixed win32 build after Font change. + + * Viewer.vcproj: + * Viewer/ImageView.cpp: + * platform/Color.h: + * platform/GraphicsContext.h: + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::GraphicsContext): + * platform/win/TemporaryLinkStubs.cpp: + (FrameWin::createPlugin): + (BrowserExtensionWin::setTypedIconURL): + +2006-03-05 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin, landed by ap. + + - fix http://bugs.webkit.org/show_bug.cgi?id=4840 + Frames only resize wider, can't make them narrower + + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLFrameSetElementImpl::HTMLFrameSetElementImpl): Removed unused m_resizing flag. + * khtml/html/html_baseimpl.h: + * manual-tests/bugzilla-4840.html: Added. + * page/FrameView.cpp: + (WebCore::FrameViewPrivate::reset): + (WebCore::FrameView::viewportMouseMoveEvent): + (WebCore::FrameView::viewportMouseReleaseEvent): + (WebCore::FrameView::setResizingFrameSet): New method. When a resizing frameset is set, + mouse move and mouse release events target it instead of hit-testing. + * page/FrameView.h: + * rendering/render_frames.cpp: + (WebCore::RenderFrameSet::setResizing): Inform the FrameView that we are resizing (or not). + +2006-03-04 David Hyatt <hyatt@apple.com> + + Fix for bug 7586, eliminate QFontMetrics. + + Reviewed by eric + + * WebCore.xcodeproj/project.pbxproj: + * css/css_valueimpl.cpp: + (WebCore::CSSPrimitiveValueImpl::computeLengthFloat): + * ksvg2/svg/SVGLengthImpl.cpp: + (SVGLengthImpl::updateValue): + * kwq/KWQFontMetrics.h: Removed. + * kwq/KWQFontMetrics.mm: Removed. + * platform/Font.cpp: + (WebCore::m_wordSpacing): + (WebCore::Font::Font): + (WebCore::Font::operator=): + (WebCore::Font::~Font): + (WebCore::Font::update): + (WebCore::Font::width): + * platform/Font.h: + (WebCore::Font::operator==): + (WebCore::Font::width): + (WebCore::Font::height): + * platform/FontRenderer.h: Added. + (WebCore::FontRenderer::isFixedPitch): + * platform/GraphicsContext.h: + * platform/mac/FontMac.mm: Added. + (WebCore::m_renderer): + (WebCore::FontRenderer::getWebCoreFont): + (WebCore::FontRenderer::getRenderer): + (WebCore::FontRenderer::determinePitch): + (WebCore::FontRenderer::update): + (WebCore::Font::getWebCoreFont): + (WebCore::Font::ascent): + (WebCore::Font::descent): + (WebCore::Font::lineSpacing): + (WebCore::Font::xHeight): + (WebCore::Font::isFixedPitch): + (WebCore::Font::selectionRectForText): + (WebCore::Font::drawHighlightForText): + (WebCore::Font::drawText): + (WebCore::Font::floatWidth): + (WebCore::Font::checkSelectionPoint): + * platform/mac/GraphicsContextMac.mm: + * rendering/InlineTextBox.h: + * rendering/RenderBlock.cpp: + (WebCore::stripTrailingSpace): + * rendering/RenderText.cpp: + (WebCore::RenderText::trimmedMinMaxWidth): + * rendering/RenderText.h: + * rendering/RenderTextField.cpp: + (WebCore::RenderTextField::calcMinMaxWidth): + * rendering/bidi.cpp: + (khtml::RenderBlock::tabWidth): + (khtml::RenderBlock::checkLinesForTextOverflow): + * rendering/render_box.cpp: + (WebCore::RenderBox::caretRect): + * rendering/render_br.cpp: + (WebCore::RenderBR::lineHeight): + * rendering/render_flow.cpp: + (WebCore::RenderFlow::lineHeight): + (WebCore::RenderFlow::caretRect): + * rendering/render_image.cpp: + (WebCore::RenderImage::imageChanged): + (WebCore::RenderImage::paint): + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::placeBoxesVertically): + * rendering/render_list.cpp: + (WebCore::toHebrew): + (WebCore::RenderListMarker::paint): + (WebCore::RenderListMarker::calcMinMaxWidth): + (WebCore::RenderListMarker::baselinePosition): + (WebCore::RenderListMarker::getRelativeMarkerRect): + * rendering/render_object.cpp: + (WebCore::RenderObject::getVerticalPosition): + (WebCore::RenderObject::lineHeight): + (WebCore::RenderObject::baselinePosition): + * rendering/render_object.h: + * rendering/render_style.h: + +2006-03-04 Eric Seidel <eseidel@apple.com> + + Reviewed by ggaren. + + Add urlSelected stub, adjust font metrics, and fix view size/move bug. + + * platform/win/TemporaryLinkStubs.cpp: + (MouseEvent::MouseEvent): + (FrameWin::urlSelected): + (QFontMetrics::height): + (QFontMetrics::xHeight): + (QFontMetrics::ascent): + (QFontMetrics::descent): + (ScrollView::resizeContents): + (ScrollView::setContentsPos): + +2006-03-04 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - stop background image loads from crashing + + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawTiledImage): + (WebCore::GraphicsContext::drawScaledAndTiledImage): + + - fix termination condition on file load loop + + * platform/win/TransferJobWin.cpp: + (WebCore::TransferJob::fileLoadTimer): + +2006-03-04 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin. + + - Fixed <rdar://problem/4467143> JavaScript enumeration of HTML + element properties skips DOM node properties + + No test case yet because this is a preliminary step toward enabling my + uber test case for DOM support, which will cover this. + + * khtml/ecma/kjs_dom.cpp: + (KJS::): Make DOMNode's classinfo reflect inheritance from + DOMNodeProto, so a for in enumeration can properly walk the + inheritance chain. + * khtml/ecma/kjs_html.cpp: + (KJS::): Used a script to sort classInfo data alphbetically. + (KJS::KJS::HTMLElement::classInfo): Ditto. + +2006-03-04 Maciej Stachowiak <mjs@apple.com + + Reviewed by Eric. + + - fix mistake in TransferJob::start that made it cause a crash + on non-file URLs + + * platform/win/TransferJobWin.cpp: + (WebCore::TransferJob::start): + +2006-03-04 Maciej Stachowiak <mjs@apple.com + + Reviewed by Eric. + + - make TransferJobWin handle file: URLs, and fix other bugs + as needed to make local file image loads work + http://bugs.webkit.org/show_bug.cgi?id=7587 + + * WebCore.vcproj/WebCore/WebCore.vcproj: add TransferJobWin + to build. + * bridge/win/FrameWin.cpp: + (WebCore::FrameWin::FrameWin): Set autoLoadImages to true. + * platform/TransferJob.cpp: + (WebCore::TransferJob::TransferJob): Pass this to internal + constructor, so windows version can initialize timer + * platform/TransferJob.h: + * platform/TransferJobInternal.h: + (WebCore::TransferJobInternal::TransferJobInternal): On windows, + prepare a timer for file loads. + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawFloatImage): If passed-in context + is null, use our built-in context (this is probably not the best, + but should work for now). + * platform/win/TemporaryLinkStubs.cpp: + (FrameWin::issueRedoCommand): Don't break. + (WebCore::TransferJob::assembleResponseHeaders): ditto + (FrameWin::saveDocumentState): ditto + (FrameWin::clearUndoRedoOperations): ditto + * platform/win/TransferJobWin.cpp: + (WebCore::TransferJobInternal::~TransferJobInternal): Close file + handle if we have one. + (WebCore::TransferJob::~TransferJob): Empty. + (WebCore::TransferJob::start): Open a windows file handle. + (WebCore::TransferJob::fileLoadTimer): Load from windows file + handle. + (WebCore::TransferJob::cancel): Stop timer and close windows file + handle if present. + +2006-03-03 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Fix QString crasher on Win32, also remove c-style casts from file. + Add a few more stubs to allow more layout tests to not crash. + Make dlls only copy when changed. + Add RenderThemeWin stubs. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.vcproj/WebCore/build-generated-files.sh: + * platform/QString.cpp: + (QString::stripWhiteSpace): + (QString::simplifyWhiteSpace): + (QString::setLatin1): + (QString::sprintf): + (QString::insert): + (QString::fill): + * platform/win/TemporaryLinkStubs.cpp: + (WebCore::usableScreenRect): + (FrameWin::respondToChangedContents): + (FrameWin::unfocusWindow): + (FrameWin::locationbarVisible): + (FrameWin::clearUndoRedoOperations): + (FrameWin::issueRedoCommand): + (FrameWin::canRedo): + (FrameWin::canUndo): + (FrameWin::saveDocumentState): + (FrameWin::print): + (FrameWin::issueCutCommand): + (FrameWin::issueCopyCommand): + (FrameWin::issueUndoCommand): + (FrameWin::mimeTypeForFileName): + (FrameWin::clearRecordedFormValues): + (FrameWin::issuePasteCommand): + (FrameWin::scheduleClose): + (FrameWin::menubarVisible): + (FrameWin::personalbarVisible): + (FrameWin::statusbarVisible): + (FrameWin::toolbarVisible): + (FrameWin::issueTransposeCommand): + (FrameWin::canPaste): + (FrameWin::incomingReferrer): + (FrameWin::canGoBackOrForward): + (FrameWin::issuePasteAndMatchStyleCommand): + (FrameWin::createPlugin): + (BrowserExtensionWin::getHistoryLength): + (BrowserExtensionWin::canRunModal): + (BrowserExtensionWin::openURLNotify): + (BrowserExtensionWin::canRunModalNow): + (BrowserExtensionWin::runModal): + (QListBox::setFont): + (WebCore::TransferJob::assembleResponseHeaders): + (WebCore::TransferJob::~TransferJob): + (QFontMetrics::QFontMetrics): + (QFontMetrics::lineSpacing): + (QFontMetrics::xHeight): + (QFontMetrics::ascent): + (FrameWin::shouldChangeSelection): + (FrameWin::generateFrameName): + (FrameWin::createFrame): + (RenderThemeWin::paintCheckbox): + (RenderThemeWin::paintRadio): + (RenderThemeWin::paintButton): + (RenderThemeWin::paintTextField): + * rendering/RenderThemeWin.cpp: Added. + (WebCore::theme): + * rendering/RenderThemeWin.h: Added. + +2006-03-03 Geoffrey Garen <ggaren@apple.com> + + Test case for <rdar://problem/4465598> REGRESSION (TOT): Crash occurs at + http://maps.google.com/?output=html ( KJS::Identifier::add(KJS::UString::Rep*) + + * manual-tests/property-map-save-crash.html: Added. + +2006-03-03 Eric Seidel <eseidel@apple.com> + + Reviewed by adele. + + Fix clearly bogus cairo elipse drawing code. + Make QFontMetrics stubs slightly more sane. + + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawEllipse): + * platform/win/TemporaryLinkStubs.cpp: + (QFontMetrics::floatWidth): + (QFontMetrics::height): + (QFontMetrics::width): + (QFontMetrics::isFixedPitch): + +2006-03-03 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7480 + non-HTML elems w/o children in HTML docs get serialized self-closing + - fix problem where the HTML tokenizer would discard the first newline after </pre> + + Test: fast/innerHTML/innerHTML-custom-tag.html + + * editing/markup.cpp: (WebCore::shouldSelfClose): Refined rule so that it doesn't + try to do any self-closing tags in HTML documents at all; updated comment. + + * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Added a check + of beginTag in the <pre> tag case. We were accidentally discarding a newline after + a </pre> tag. + +2006-03-03 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Eric. + + - add new files to build, fix link stubs. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/win/TemporaryLinkStubs.cpp: + (KWQKCookieJar::cookieEnabled): + (WebCore::TransferJob::retrieveCharset): + (WebCore::TransferJob::assembleResponseHeaders): + (WebCore::TransferJob::~TransferJob): + * platform/win/TransferJobWin.cpp: Added. + +2006-03-03 Maciej Stachowiak <mjs@apple.com> + + - add file I forgot in my last commit. + + * platform/TransferJobInternal.h: Added. + (WebCore::TransferJobInternal::TransferJobInternal): + +2006-03-03 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Wire up WidgetWin, CursorWin, ScrollViewWin. + Stub out methods for selection and cursors. + + * Viewer/ImageDocument.h: + * WebCore.vcproj/WebCore/WebCore.vcproj: + * bridge/win/FrameWin.cpp: + * khtml/ecma/kjs_proxy.cpp: + (WebCore::KJSProxyImpl::initScriptIfNeeded): + * platform/IntRect.h: + (WebCore::IntRect::IntRect): + * platform/Widget.h: + * platform/win/CursorWin.cpp: + (WebCore::eastResizeCursor): + (WebCore::northResizeCursor): + (WebCore::northEastResizeCursor): + (WebCore::northWestResizeCursor): + (WebCore::southResizeCursor): + (WebCore::southEastResizeCursor): + (WebCore::southWestResizeCursor): + (WebCore::westResizeCursor): + * platform/win/IntRectWin.cpp: + (WebCore::IntRect::IntRect): + (WebCore::IntRect::operator RECT): + * platform/win/MouseEventWin.cpp: + * platform/win/ScrollViewWin.cpp: Added. + (WebCore::ScrollView::updateContents): + * platform/win/TemporaryLinkStubs.cpp: + (QTextEdit::textWithHardLineBreaks): + (QLineEdit::setPlaceholderString): + (QScrollBar::scroll): + (GraphicsContext::beginTransparencyLayer): + (Widget::setIsSelected): + (QLineEdit::selectedText): + (QComboBox::sizeHint): + (KWQFileButton::focusPolicy): + (QTextEdit::focusPolicy): + (QSlider::focusPolicy): + (QListBox::focusPolicy): + (QLineEdit::focusPolicy): + (WebCore::moveCursor): + (ScrollView::scrollBy): + (KWQKCookieJar::cookieEnabled): + (WebCore::TransferJob::TransferJob): + (WebCore::screenDepth): + (WebCore::usableScreenRect): + (FrameWin::getObjectInstanceForWidget): + (FrameWin::getEmbedInstanceForWidget): + (FrameWin::getAppletInstanceForWidget): + (FrameWin::passMouseDownEventToWidget): + (FrameWin::issuePasteCommand): + (FrameWin::issueTransposeCommand): + (QSlider::setFont): + (QLineEdit::setFont): + (QListBox::setFont): + (QFontMetrics::QFontMetrics): + (QComboBox::setFont): + (QTextEdit::setFont): + (QTextEdit::setWritingDirection): + (QFontMetrics::setFontDescription): + (QFontMetrics::checkSelectionPoint): + (FrameWin::addMessageToConsole): + (FrameWin::shouldChangeSelection): + (ScrollView::resizeContents): + (ScrollView::visibleHeight): + (ScrollView::visibleWidth): + (ScrollView::setContentsPos): + (ScrollView::contentsX): + (ScrollView::contentsY): + (ScrollView::contentsHeight): + (ScrollView::contentsWidth): + (ScrollView::viewportToContents): + * platform/win/WidgetWin.cpp: Added. + (WebCore::Widget::Widget): + (WebCore::Widget::~Widget): + (WebCore::Widget::windowHandle): + (WebCore::Widget::setWindowHandle): + (WebCore::Widget::setActiveWindow): + (WebCore::Widget::frameGeometry): + (WebCore::Widget::hasFocus): + (WebCore::Widget::setFocus): + (WebCore::Widget::clearFocus): + (WebCore::Widget::font): + (WebCore::Widget::setFont): + (WebCore::Widget::setCursor): + (WebCore::Widget::show): + (WebCore::Widget::hide): + (WebCore::Widget::setFrameGeometry): + (WebCore::Widget::mapFromGlobal): + +2006-03-03 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - move TransferJob from kwq to platform, separate platform from non-platform bits + + * ForwardingHeaders/kio/job.h: Removed. + * ForwardingHeaders/kio/jobclasses.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/MacFrame.mm: + * dom/xml_tokenizer.cpp: + * khtml/xsl/xslt_processorimpl.cpp: + * kwq/KWQKJobClasses.h: Removed. + * kwq/KWQKJobClasses.mm: Removed. + * kwq/KWQLoader.mm: + * kwq/KWQResourceLoader.mm: + * kwq/TransferJobClient.h: Removed. + * loader/Cache.cpp: + * loader/loader.cpp: + * page/Frame.cpp: + * platform/TransferJob.cpp: Added. + (WebCore::TransferJob::TransferJob): + (WebCore::TransferJob::queryMetaData): + (WebCore::TransferJob::addMetaData): + * platform/TransferJob.h: Added. + * platform/TransferJobClient.h: Added. + * platform/mac/TransferJobMac.mm: Added. + (WebCore::TransferJobInternal::~TransferJobInternal): + (WebCore::TransferJob::retrieveCharset): + (WebCore::TransferJob::cancel): + * xml/xmlhttprequest.cpp: + +2006-03-03 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - enough link stubs to "display" local copy of WebKit site w/o hitting breakpoint + + * platform/win/TemporaryLinkStubs.cpp: + (QLineEdit::setReadOnly): + (QTextEdit::setCursorPosition): + (QLineEdit::setCursorPosition): + (QFontMetrics::width): + (GraphicsContext::drawText): + (GraphicsContext::drawLineForText): + +2006-03-02 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Eric. + + - remove function that is now gone + + * platform/win/TemporaryLinkStubs.cpp: + +2006-03-02 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - move logic to kick off load from KWQLoader function to a TransferJob method + + * kwq/KWQKJobClasses.h: + * kwq/KWQKJobClasses.mm: + (WebCore::TransferJob::start): + * kwq/KWQLoader.h: + * kwq/KWQLoader.mm: + * loader/loader.cpp: + (WebCore::Loader::servePendingRequests): + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::send): + +2006-03-02 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Eric. + + - remove unused loader parameter to KWQServeRequest. + + * kwq/KWQLoader.h: + * kwq/KWQLoader.mm: + (KWQServeRequest): + * loader/loader.cpp: + (WebCore::Loader::servePendingRequests): + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::send): + +2006-03-02 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - remove one of the versions of KWQServeRequest. + + * kwq/KWQLoader.h: + * kwq/KWQLoader.mm: + * loader/loader.cpp: + (WebCore::Loader::servePendingRequests): + * platform/win/TemporaryLinkStubs.cpp: + (Widget::isEnabled): + (KWQServeRequest): + +2006-03-02 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Eric. + + - win32 build fix. + + * platform/win/MouseEventWin.cpp: + +2006-03-02 Justin Garcia <justin.garcia@apple.com> + + Reviewed by eric + + <http://bugs.webkit.org/show_bug.cgi?id=3894> + uses of <cmath> should change to <math> + + * ksvg2/svg/SVGAnimateTransformElementImpl.cpp: + * ksvg2/svg/SVGAnimationElementImpl.cpp: + * ksvg2/svg/SVGHelper.cpp: + * ksvg2/svg/SVGLengthImpl.cpp: + +2006-03-02 Andrew Wellington <proton@wiretapped.net> + + Reviewed by Darin, landed by Beth + + Fix for http://bugs.webkit.org/show_bug.cgi?id=3230 + CSS1: Words with inline elements get extra capital letters + + Does not use UBreakIterator (yet?) for this, but a relatively + simple change that fixes our failure in the CSS1 test suite + (5.4.5). + + * platform/StringImpl.cpp: + (WebCore::StringImpl::capitalize): Specify if this is a run-on + * platform/StringImpl.h: + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::addChild): Change to re-run + capitalisation when added into tree as previous text node changes + * rendering/RenderText.cpp: + (WebCore::RenderText::setText): Check if previous node is text that + doesn't end in a space + +2006-03-02 Justin Garcia <justin.garcia@apple.com> + + Reviewed by sullivan + + <http://bugs.webkit.org/show_bug.cgi?id=7542> + REGRESSION: (r13028) Scrolling causes incomplete drawing of <ul> bullets + + * rendering/render_list.cpp: + (WebCore::RenderListMarker::paint): + +2006-03-02 Eric Seidel <eseidel@apple.com> + + Reviewed by ggaren. + + Add (partially stubbed out) mouse event handling for Win32. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/IntPoint.h: + * platform/MouseEvent.h: + * platform/win/IntPointWin.cpp: Added. + (WebCore::IntPoint::IntPoint): + (WebCore::IntPoint::operator POINT): + * platform/win/MouseEventWin.cpp: Added. + (WebCore::MouseEvent::MouseEvent): + * platform/win/TemporaryLinkStubs.cpp: + (QLineEdit::setMaxLength): + (ScrollView::scrollBy): + (WebCore::Widget::setFocus): + (FrameWin::respondToChangedSelection): + (FrameWin::runJavaScriptPrompt): + (FrameWin::recordFormValue): + (FrameWin::registerCommandForRedo): + (FrameWin::runJavaScriptAlert): + (FrameWin::runJavaScriptConfirm): + (FrameWin::openURL): + (FrameWin::registerCommandForUndo): + (FrameWin::addMessageToConsole): + (FrameWin::mimeTypeForFileName): + (FrameWin::shouldChangeSelection): + (FrameWin::markMisspellingsInAdjacentWords): + (FrameWin::markMisspellings): + (FrameWin::personalbarVisible): + (FrameWin::objectContentType): + (FrameWin::createFrame): + (FrameWin::createPlugin): + (BrowserExtensionWin::setTypedIconURL): + (BrowserExtensionWin::getHistoryLength): + (BrowserExtensionWin::canRunModal): + (BrowserExtensionWin::openURLNotify): + (BrowserExtensionWin::createNewWindow): + (BrowserExtensionWin::canRunModalNow): + (BrowserExtensionWin::runModal): + (BrowserExtensionWin::goBackOrForward): + (BrowserExtensionWin::setIconURL): + (FrameWin::passSubframeEventToSubframe): + (FrameWin::lastEventIsMouseUp): + (BrowserExtensionWin::BrowserExtensionWin): + (Widget::setCursor): + (ScrollView::visibleHeight): + (ScrollView::visibleWidth): + (ScrollView::setContentsPos): + (ScrollView::contentsX): + (ScrollView::contentsY): + (ScrollView::contentsHeight): + (ScrollView::contentsWidth): + (ScrollView::viewportToContents): + (TransferJob::TransferJob): + (TransferJob::addMetaData): + +2006-03-02 Justin Garcia <justin.garcia@apple.com> + + Reviewed by mjs + + https://bugs.webkit.org/show_bug.cgi?id=7150 + <rdar://4433765> TinyMCE: Undo still enabled after a location change, crashes if performed + + Can't clear undo/redo operations registered by subframes in didOpenURL, + because subframes have already been detached. + + * page/Frame.cpp: + (WebCore::Frame::didOpenURL): + (WebCore::Frame::closeURL): + +2006-03-01 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - WebCore updates for "Set up new prototype macros and avoid using #if without defined() in JSC" + http://bugs.webkit.org/show_bug.cgi?id=7387 + + Add Platform.h + + * ForwardingHeaders/kxmlcore/Platform.h: Added. + * bridge/mac/WebCoreFrameNamespaces.m: + * bridge/mac/WebCoreViewFactory.m: + * bridge/mac/WebDashboardRegion.m: + * config.h: + * platform/Logging.cpp: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::addChild): + * platform/mac/WebCoreCookieAdapter.m: + * platform/mac/WebCoreGraphicsBridge.m: + * platform/mac/WebCoreHistory.m: + * platform/mac/WebCoreImageRendererFactory.m: + * platform/mac/WebCoreKeyGenerator.m: + * platform/mac/WebCoreView.m: + +2006-03-02 Eric Seidel <eseidel@apple.com> + + * WebCore.xcodeproj/project.pbxproj: update GraphicsContext.cpp path to fix build + +2006-03-01 Eric Seidel <eseidel@apple.com> + + Reviewed by andersca. + + Add first-stab GraphicsContextCairo. + Shuffle a few more link stubs around, remove uncessary WebCore:: + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/GraphicsContext.cpp: Added. + * platform/GraphicsContext.h: + * platform/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContextState::GraphicsContextState): + (WebCore::setColor): + (WebCore::fillRectSourceOver): + (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): + (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate): + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::pen): + (WebCore::GraphicsContext::setPen): + (WebCore::GraphicsContext::setBrush): + (WebCore::GraphicsContext::brush): + (WebCore::GraphicsContext::save): + (WebCore::GraphicsContext::restore): + (WebCore::GraphicsContext::drawRect): + (WebCore::GraphicsContext::setColorFromBrush): + (WebCore::GraphicsContext::setColorFromPen): + (WebCore::adjustLineToPixelBounderies): + (WebCore::GraphicsContext::drawLine): + (WebCore::GraphicsContext::drawEllipse): + (WebCore::GraphicsContext::drawArc): + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::GraphicsContext::drawFloatImage): + (WebCore::GraphicsContext::drawTiledImage): + (WebCore::GraphicsContext::drawScaledAndTiledImage): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::addClip): + (WebCore::GraphicsContext::setPaintingDisabled): + (WebCore::GraphicsContext::paintingDisabled): + * platform/cairo/ImageCairo.cpp: + * platform/cg/GraphicsContextCG.cpp: Removed. + * platform/win/TemporaryLinkStubs.cpp: + (QLineEdit::selectAll): + (Widget::mapFromGlobal): + (QLineEdit::cursorPosition): + (QTextEdit::setScrollBarModes): + (QTextEdit::selectAll): + (QComboBox::focusPolicy): + (GraphicsContext::clearShadow): + (QTextEdit::setCursorPosition): + (GraphicsContext::drawText): + (QLineEdit::setLiveSearch): + (QComboBox::QComboBox): + (Widget::lockDrawingFocus): + (QTextEdit::setSelectionRange): + (QSlider::QSlider): + (ScrollView::scrollYOffset): + (QComboBox::sizeHint): + (QLineEdit::edited): + (QTextEdit::text): + (QSlider::value): + (WebCore::Widget::setFocus): + (WebCore::TransferJob::addMetaData): + (FrameWin::respondToChangedContents): + (FrameWin::unfocusWindow): + (FrameWin::locationbarVisible): + (FrameWin::respondToChangedSelection): + (FrameWin::clearUndoRedoOperations): + (FrameWin::issueRedoCommand): + (FrameWin::getObjectInstanceForWidget): + (FrameWin::getEmbedInstanceForWidget): + (FrameWin::canRedo): + (FrameWin::canUndo): + (FrameWin::runJavaScriptPrompt): + (FrameWin::recordFormValue): + (FrameWin::registerCommandForRedo): + (FrameWin::runJavaScriptAlert): + (FrameWin::runJavaScriptConfirm): + (FrameWin::openURL): + (FrameWin::saveDocumentState): + (FrameWin::print): + (FrameWin::getAppletInstanceForWidget): + (FrameWin::passMouseDownEventToWidget): + (FrameWin::registerCommandForUndo): + (FrameWin::issueCutCommand): + (FrameWin::issueCopyCommand): + (FrameWin::addMessageToConsole): + (FrameWin::passWheelEventToChildWidget): + (FrameWin::issueUndoCommand): + (FrameWin::mimeTypeForFileName): + (FrameWin::clearRecordedFormValues): + (FrameWin::issuePasteCommand): + (FrameWin::shouldChangeSelection): + (FrameWin::scheduleClose): + (FrameWin::markMisspellingsInAdjacentWords): + (FrameWin::markMisspellings): + (FrameWin::menubarVisible): + (FrameWin::personalbarVisible): + (FrameWin::lastEventIsMouseUp): + (FrameWin::statusbarVisible): + (FrameWin::toolbarVisible): + (FrameWin::issueTransposeCommand): + (FrameWin::userAgent): + (FrameWin::canPaste): + (FrameWin::incomingReferrer): + (FrameWin::objectContentType): + (FrameWin::passSubframeEventToSubframe): + (FrameWin::createFrame): + (FrameWin::canGoBackOrForward): + (FrameWin::issuePasteAndMatchStyleCommand): + (FrameWin::createPlugin): + (FrameWin::generateFrameName): + (QTextEdit::setWritingDirection): + (QFontMetrics::checkSelectionPoint): + (GraphicsContext::GraphicsContext): + (QFontMetrics::isFixedPitch): + (FrameWin::restoreDocumentState): + (FrameWin::partClearedInBegin): + (FrameWin::createEmptyDocument): + (FrameWin::overrideMediaType): + (FrameWin::setTitle): + (FrameWin::handledOnloadEvents): + (FrameWin::markedTextRange): + (GraphicsContext::font): + (GraphicsContext::setFont): + +2006-03-02 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + Changed an Objective-C forward declaration from "class" to "@class". + This doesn't appear to fix any problems, though. + + * platform/StringImpl.h: + +2006-03-01 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=7059> + TinyMCE: Select All + delete sends you Back intsead of deleting + + * page/Frame.cpp: + (WebCore::Frame::selectFrameElementInParentIfFullySelected): + +2006-03-01 David Harrison <harrison@apple.com> + + Reviewed by Justin. + (missed these in my earlier commit for <rdar://problem/4359736>) + + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge canIncreaseSelectionListLevel]): + (-[WebCoreFrameBridge canDecreaseSelectionListLevel]): + (-[WebCoreFrameBridge increaseSelectionListLevel]): + (-[WebCoreFrameBridge decreaseSelectionListLevel]): + +2006-03-01 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix win32 build, add IntRectWin and GraphicsContextCairo stub. + + * Viewer/ImageDocument.cpp: + * Viewer/ImageMainFrame.cpp: + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/IntRect.h: + * platform/cairo/GraphicsContextCairo.cpp: Added. + * platform/win/TemporaryLinkStubs.cpp: + (GraphicsContext::drawLineForText): + (WebCore::GraphicsContext::fillRect): + (WebCore::TransferJob::TransferJob): + (GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + +2006-02-23 David Harrison <harrison@apple.com> + + Reviewed by Justin. + + <rdar://problem/4359736> Support outlining ability with lists + + Added Mail SPI for list level changes. It is SPI because it is not complete support + for outlining. See <rdar://problem/4457070> "API for html lists as note outlines". + Additional support is to end a list when return is typed on empty list item. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + Added ModifySelectionListLevelCommand.cpp and ModifySelectionListLevelCommand.h + + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge canIncreaseSelectionListLevel]): + (-[WebCoreFrameBridge canDecreaseSelectionListLevel]): + (-[WebCoreFrameBridge increaseSelectionListLevel]): + (-[WebCoreFrameBridge decreaseSelectionListLevel]): + Supply list level calls in the bridge. + + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::createListItemElement): + New. Creates an li. + + (WebCore::InsertParagraphSeparatorCommand::doApply): + - slight logic cleanup + - on empty list item, end the list + + * editing/ModifySelectionListLevelCommand.cpp: Added. + (WebCore::ModifySelectionListLevelCommand::ModifySelectionListLevelCommand): + (WebCore::ModifySelectionListLevelCommand::preservesTypingStyle): + (WebCore::ModifySelectionListLevelCommand::doApply): + (WebCore::ModifySelectionListLevelCommand::canIncreaseSelectionListLevel): + (WebCore::ModifySelectionListLevelCommand::canDecreaseSelectionListLevel): + (WebCore::ModifySelectionListLevelCommand::increaseSelectionListLevel): + (WebCore::ModifySelectionListLevelCommand::decreaseSelectionListLevel): + (WebCore::modifySelectionListLevel): + (WebCore::getStartEndListChildren): + (WebCore::canIncreaseListLevel): + (WebCore::canDecreaseListLevel): + (WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeBefore): + (WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeAfter): + (WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange): + (WebCore::ModifySelectionListLevelCommand::increaseListLevel): + (WebCore::ModifySelectionListLevelCommand::decreaseListLevel): + * editing/ModifySelectionListLevelCommand.h: Added. + New editing command for adjusting the list level. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + Slight logic cleanup + + * editing/htmlediting.cpp: + (WebCore::isListElement): + (WebCore::enclosingListChild): + New helpers. + + (WebCore::isTableElement): + Allow caller to pass 0... return false in that case. + + * editing/htmlediting.h: + New helpers. + + * rendering/RenderContainer.cpp: + (WebCore::updateListMarkerNumbers): + Allow for list children that are not li nodes. Ignore and continue rather than stopping. + + (WebCore::RenderContainer::addChild): + Allow for nil beforeChild, meaning "add at end". + +2006-03-01 Eric Seidel <eseidel@apple.com> + + Reviewed by justing. + + Update ESelectionGranulartiy enum to use newer CamelCase styling. + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]): + * editing/Selection.cpp: + (WebCore::Selection::Selection): + (WebCore::Selection::validate): + * editing/SelectionController.cpp: + (WebCore::SelectionController::modifyExtendingRightForward): + (WebCore::SelectionController::modifyMovingRightForward): + (WebCore::SelectionController::modifyExtendingLeftBackward): + (WebCore::SelectionController::modifyMovingLeftBackward): + (WebCore::SelectionController::modify): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::deleteKeyPressed): + (WebCore::TypingCommand::forwardDeleteKeyPressed): + * editing/jsediting.cpp: + * editing/text_granularity.h: + (WebCore::): + * page/Frame.cpp: + (WebCore::Frame::selectClosestWordFromMouseEvent): + (WebCore::Frame::handleMousePressEventTripleClick): + (WebCore::Frame::handleMousePressEventSingleClick): + (WebCore::Frame::handleMouseMoveEventSelection): + +2006-03-01 Alexander Kellett <lypanov@kde.org> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5966 + + Fixes already existing test: + svg/W3C-SVG-1.1/coords-viewattr-02-b.svg + + * kcanvas/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::adjustRectsForAspectRatio): + (WebCore::RenderSVGImage::paint): + * kcanvas/RenderSVGImage.h: + +2006-03-01 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - http://bugs.webkit.org/show_bug.cgi?id=3812 + XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET. + + HEAD is currently unimplemented because of what seems to be a bug in NSURLConnection, + and does a GET instead. + + * kwq/KWQKJobClasses.h: Add a method parameter to TransferJob. + * kwq/KWQKJobClasses.mm: + (WebCore::TransferJobPrivate::TransferJobPrivate): + (WebCore::TransferJob::TransferJob): + (WebCore::TransferJob::method): + * bridge/mac/WebCoreFrameBridge.h: URL loading functions now take a method parameter. + * dom/xml_tokenizer.cpp: + (WebCore::openFunc): + * khtml/xsl/xslt_processorimpl.cpp: + (DOM::docLoaderFunc): + * kwq/KWQLoader.mm: + (KWQServeRequest): + (KWQServeSynchronousRequest): + * loader/loader.cpp: + (WebCore::Loader::servePendingRequests): + * page/Frame.cpp: + (WebCore::Frame::didOpenURL): + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::send): Honor the method passed in open(). + * khtml/ecma/JSXMLHttpRequest.cpp: + (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): Don't serialize null as "null". + +2006-03-01 Timothy Hatcher <timothy@apple.com> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=7450 + elementAtPoint is expensive and should return a smart dictionary + + <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450) + + Support for WebKit. This removes the old elementAtPoint: on the bridge. + WebKit now uses the bridge method getInnerNonSharedNode:innerNode:URLElement:atPoint: + + * WebCore.exp: removes the WebCore* dictionary keys + * bindings/objc/DOM.mm: + (-[DOMElement image]): new method to get an NSImage if the element has an image renderer + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLElement titleDisplayString]): new method that returns the title after doing the backslash as currency symbol conversion + (-[DOMHTMLInputElement altDisplayString]): ditto for alt + (-[DOMHTMLImageElement altDisplayString]): ditto + (-[DOMHTMLAppletElement altDisplayString]): ditto + (-[DOMHTMLAreaElement altDisplayString]): ditto + (-[DOMHTMLAnchorElement absoluteLinkURL]): new method to get the absolute NSURL + (-[DOMHTMLAreaElement absoluteLinkURL]): ditto + (-[DOMHTMLLinkElement absoluteLinkURL]): ditto + (-[DOMHTMLInputElement absoluteImageURL]): new method to get the absolute image location as an NSURL + (-[DOMHTMLImageElement absoluteImageURL]): ditto + (-[DOMHTMLObjectElement absoluteImageURL]): ditto + * bindings/objc/DOMPrivate.h: + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:]): + (-[WebCoreFrameBridge isPointInsideSelection:]): + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::prepareMouseEvent): + (WebCore::DocumentImpl::backslashAsCurrencySymbol): + * dom/DocumentImpl.h: + * rendering/render_layer.cpp: + (WebCore::RenderLayer::hitTest): + * rendering/render_object.h: + (WebCore::RenderObject::NodeInfo::URLElement): + (WebCore::RenderObject::NodeInfo::setURLElement): + +2006-03-01 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/css/hover-subselector.html + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7327 + REGRESSION (r12869): :hover subselector does not work in quirks mode + + * css/cssstyleselector.h: + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::checkSelector): Pass flag to indicate sub-selector. + (WebCore::CSSStyleSelector::checkOneSelector): Apply the *:hover and *:active quirks only + when there are no sub-selectors. + +2006-03-01 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Hyatt. + + - fix win32 build (and make dumprendertree run) + + * kwq/KWQComboBox.h: + * platform/win/TemporaryLinkStubs.cpp: + (QTextEdit::selectionEnd): + (Widget::~Widget): + (GraphicsContext::beginTransparencyLayer): + (QComboBox::populate): + (GraphicsContext::drawConvexPolygon): + (QFontMetrics::selectionRectForText): + (GraphicsContext::setShadow): + (GraphicsContext::clearFocusRing): + (GraphicsContext::drawImageInRect): + (KWQFileButton::setFilename): + (KWQFileButton::focusPolicy): + (KWQFileButton::frameGeometry): + (QSlider::focusPolicy): + (WebCore::GraphicsContext::font): + (QTextEdit::setWritingDirection): + (QFontMetrics::checkSelectionPoint): + (QFontMetrics::isFixedPitch): + (WebCore::TransferJob::addMetaData): + +2006-02-28 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - http://bugs.webkit.org/show_bug.cgi?id=7444 + move QPainter to platform directory and name it GraphicsContext + + * platform/GraphicsContext.h: Added. + * platform/TextDirection.h: Added. + * platform/cg/GraphicsContextCG.cpp: Added. + * platform/mac/GraphicsContextMac.mm: Added. + + * kwq/KWQPainter.h: Removed. + * kwq/KWQPainter.mm: Removed. + * ForwardingHeaders/qpainter.h: Removed. + + * WebCore.xcodeproj/project.pbxproj: Updated for moved files. + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for moved files. + * platform/win/TemporaryLinkStubs.cpp: Updated. + + * bridge/mac/MacFrame.mm: (WebCore::MacFrame::setDisplaysWithFocusAttributes): + * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]): + * editing/SelectionController.h: + * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret): + * kcanvas/KCanvasResources.cpp: (WebCore::KCanvasMarker::draw): + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::Context2DFunction::callAsFunction): + (KJS::Context2D::putValueProperty): + (KJS::drawPattern): + * page/Frame.h: + * page/Frame.cpp: + (WebCore::Frame::paintCaret): + (WebCore::Frame::paintDragCaret): + (WebCore::Frame::paint): + (WebCore::Frame::adjustPageHeight): + * page/FrameView.h: + * platform/Font.h: + * platform/Font.cpp: + (WebCore::Font::selectionRectForText): + (WebCore::Font::drawHighlightForText): + (WebCore::Font::drawText): + * platform/Widget.h: + * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): + * rendering/InlineTextBox.h: + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::paintSelection): + (WebCore::InlineTextBox::paintMarkedTextBackground): + (WebCore::InlineTextBox::paintDecoration): + (WebCore::InlineTextBox::paintSpellingMarker): + (WebCore::InlineTextBox::paintTextMatchMarker): + (WebCore::InlineTextBox::paintAllMarkersOfType): + (WebCore::InlineTextBox::paintMarkedTextUnderline): + (WebCore::InlineTextBox::offsetForPosition): + * rendering/RenderTableCell.cpp: + (WebCore::outlineBox): + (WebCore::RenderTableCell::paintCollapsedBorder): + (WebCore::RenderTableCell::paintBoxDecorations): + * rendering/RenderTableCell.h: + * rendering/render_box.cpp: + (WebCore::RenderBox::paintBackgrounds): + (WebCore::RenderBox::paintBackground): + (WebCore::RenderBox::paintBackgroundExtended): + (WebCore::RenderBox::outlineBox): + * rendering/render_box.h: + * rendering/render_button.cpp: + (WebCore::RenderButton::RenderButton): + (WebCore::RenderButton::paintObject): + * rendering/render_button.h: + (WebCore::RenderButton::removeLeftoverAnonymousBoxes): + * rendering/render_canvas.cpp: + * rendering/render_canvasimage.cpp: + (WebCore::RenderCanvasImage::paint): + * rendering/render_flow.cpp: + (WebCore::RenderFlow::addFocusRingRects): + (WebCore::RenderFlow::paintFocusRing): + (WebCore::RenderFlow::paintOutlines): + (WebCore::RenderFlow::paintOutlineForLine): + * rendering/render_flow.h: + * rendering/render_form.cpp: + (WebCore::RenderLineEdit::setStyle): + (WebCore::RenderFieldset::paintBorderMinusLegend): + (WebCore::RenderSelect::setWidgetWritingDirection): + (WebCore::RenderTextArea::setStyle): + * rendering/render_form.h: + (WebCore::RenderFieldset::renderName): + * rendering/render_frames.cpp: + (WebCore::RenderFrameSet::userResize): + * rendering/render_image.cpp: + (WebCore::RenderImage::paint): + * rendering/render_layer.cpp: + (WebCore::RenderLayer::beginTransparencyLayers): + (WebCore::RenderLayer::paintScrollbars): + (WebCore::RenderLayer::paint): + (WebCore::setClip): + (WebCore::restoreClip): + (WebCore::RenderLayer::paintLayer): + (WebCore::Marquee::direction): + * rendering/render_layer.h: + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::paintBackgrounds): + (WebCore::InlineFlowBox::paintBackground): + (WebCore::InlineFlowBox::paintBackgroundAndBorder): + (WebCore::InlineFlowBox::paintDecorations): + (WebCore::EllipsisBox::paint): + * rendering/render_line.h: + * rendering/render_list.cpp: + (WebCore::RenderListMarker::paint): + * rendering/render_object.cpp: + (WebCore::RenderObject::drawBorder): + (WebCore::RenderObject::paintBorderImage): + (WebCore::RenderObject::paintBorder): + (WebCore::RenderObject::addFocusRingRects): + (WebCore::RenderObject::paintOutline): + (WebCore::RenderObject::selectionColor): + * rendering/render_object.h: + (WebCore::RenderObject::element): + (WebCore::RenderObject::document): + (WebCore::RenderObject::setNode): + (WebCore::RenderObject::node): + (WebCore::RenderObject::PaintInfo::PaintInfo): + (WebCore::RenderObject::paintBoxDecorations): + (WebCore::RenderObject::paintBackgroundExtended): + (WebCore::RenderObject::printBoxDecorations): + * rendering/render_replaced.cpp: (WebCore::RenderReplaced::selectionColor): + * rendering/render_replaced.h: + Updated to use GraphicsContext instead of QPainter. + + * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): + * kwq/KWQComboBox.h: + * kwq/KWQComboBox.mm: (QComboBox::setWritingDirection): + * kwq/KWQLineEdit.h: + * kwq/KWQLineEdit.mm: (QLineEdit::setWritingDirection): + * kwq/KWQListBox.h: + * kwq/KWQListBox.mm: (QListBox::setWritingDirection): + * kwq/KWQTextEdit.h: + * kwq/KWQTextEdit.mm: (QTextEdit::setWritingDirection): + * rendering/bidi.cpp: + (khtml::bidiNext): + (khtml::bidiFirst): + Updated to use TextDirection instead of QPainter::TextDirection and EDirection. + + * kcanvas/device/KRenderingDevice.h: Added renderingDevice here to + replace QPainter::renderingDevice for now. + + * khtml/ecma/kjs_html.h: Fixed comments to mention GraphicsContext. + + * khtml/html/html_imageimpl.h: + * page/FrameView.cpp: + * rendering/RenderBlock.cpp: + Added include needed since I reduced includes elsewhere. + + * kwq/KWQFontMetrics.h: + * kwq/KWQFontMetrics.mm: (QFontMetrics::checkSelectionPoint): + Changed QChar* to be const QChar*. + + * platform/FontDescription.h: Added include that was missing. + * rendering/render_theme.cpp: Ditto. + + * platform/Image.h: Removed unnecessary forward declaration of QPainter. + + * rendering/RenderText.h: Clean up types, use const. + + * rendering/render_style.h: Removed EDirection and replaced it with TextDirection. + + * kcanvas/KCanvasCreator.cpp: + (WebCore::KCanvasCreator::createRoundedRectangle): + (WebCore::KCanvasCreator::createRectangle): + (WebCore::KCanvasCreator::createEllipse): + (WebCore::KCanvasCreator::createLine): + * kcanvas/KCanvasPath.cpp: (WebCore::operator<<): + * kcanvas/KCanvasTreeDebug.cpp: (WebCore::operator<<): + * kcanvas/RenderForeignObject.cpp: (WebCore::RenderForeignObject::paint): + * kcanvas/RenderPath.cpp: (WebCore::RenderPath::paint): + * kcanvas/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::paint): + (WebCore::RenderSVGImage::translateForAttributes): + * kcanvas/RenderSVGText.cpp: + (WebCore::RenderSVGText::paint): + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (WebCore::KCanvasFilterQuartz::prepareFilter): + (WebCore::KCanvasFilterQuartz::applyFilter): + * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: + (WebCore::KCanvasMaskerQuartz::applyMask): + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + (WebCore::KCanvasContainerQuartz::paint): + (WebCore::KCanvasClipperQuartz::applyClip): + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (WebCore::KRenderingDeviceQuartz::pushContext): + (WebCore::KRenderingDeviceQuartz::popContext): + (WebCore::renderingDevice): + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + (WebCore::KRenderingPaintServerGradientQuartz::setup): + (WebCore::KRenderingPaintServerGradientQuartz::renderPath): + (WebCore::KRenderingPaintServerGradientQuartz::teardown): + * ksvg2/misc/KCanvasRenderingStyle.cpp: (WebCore::sharedSolidPaintServer): + * ksvg2/svg/SVGAElementImpl.cpp: (SVGAElementImpl::createRenderer): + * ksvg2/svg/SVGClipPathElementImpl.cpp: (SVGClipPathElementImpl::canvasResource): + * ksvg2/svg/SVGFEBlendElementImpl.cpp: (SVGFEBlendElementImpl::filterEffect): + * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp: (SVGFEColorMatrixElementImpl::filterEffect): + * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp: (SVGFEComponentTransferElementImpl::filterEffect): + * ksvg2/svg/SVGFECompositeElementImpl.cpp: (SVGFECompositeElementImpl::filterEffect): + * ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp: (WebCore::SVGFEDiffuseLightingElementImpl::filterEffect): + * ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp: (SVGFEDisplacementMapElementImpl::filterEffect): + * ksvg2/svg/SVGFEFloodElementImpl.cpp: (SVGFEFloodElementImpl::filterEffect): + * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp: (SVGFEGaussianBlurElementImpl::filterEffect): + * ksvg2/svg/SVGFEImageElementImpl.cpp: (SVGFEImageElementImpl::filterEffect): + * ksvg2/svg/SVGFEMergeElementImpl.cpp: (SVGFEMergeElementImpl::filterEffect): + * ksvg2/svg/SVGFEOffsetElementImpl.cpp: (SVGFEOffsetElementImpl::filterEffect): + * ksvg2/svg/SVGFESpecularLightingElementImpl.cpp: (SVGFESpecularLightingElementImpl::filterEffect): + * ksvg2/svg/SVGFETileElementImpl.cpp: (SVGFETileElementImpl::filterEffect): + * ksvg2/svg/SVGFETurbulenceElementImpl.cpp: (SVGFETurbulenceElementImpl::filterEffect): + * ksvg2/svg/SVGFilterElementImpl.cpp: (SVGFilterElementImpl::canvasResource): + * ksvg2/svg/SVGGElementImpl.cpp: (SVGGElementImpl::createRenderer): + * ksvg2/svg/SVGGradientElementImpl.cpp: (SVGGradientElementImpl::canvasResource): + * ksvg2/svg/SVGMarkerElementImpl.cpp: + (WebCore::SVGMarkerElementImpl::canvasResource): + (WebCore::SVGMarkerElementImpl::createRenderer): + * ksvg2/svg/SVGMaskElementImpl.cpp: + (WebCore::SVGMaskElementImpl::drawMaskerContent): + (WebCore::SVGMaskElementImpl::createRenderer): + (WebCore::SVGMaskElementImpl::canvasResource): + * ksvg2/svg/SVGPathElementImpl.cpp: (WebCore::SVGPathElementImpl::toPathData): + * ksvg2/svg/SVGPatternElementImpl.cpp: + (WebCore::SVGPatternElementImpl::drawPatternContentIntoTile): + (WebCore::SVGPatternElementImpl::createRenderer): + (WebCore::SVGPatternElementImpl::canvasResource): + * ksvg2/svg/SVGPolygonElementImpl.cpp: (SVGPolygonElementImpl::toPathData): + * ksvg2/svg/SVGPolylineElementImpl.cpp: (SVGPolylineElementImpl::toPathData): + * ksvg2/svg/SVGSVGElementImpl.cpp: (WebCore::SVGSVGElementImpl::createRenderer): + * ksvg2/svg/SVGStyledElementImpl.cpp: (WebCore::SVGStyledElementImpl::createRenderer): + * ksvg2/svg/SVGSwitchElementImpl.cpp: (SVGSwitchElementImpl::createRenderer): + * ksvg2/svg/SVGUseElementImpl.cpp: (SVGUseElementImpl::createRenderer): + Updated to use renderingDevice instead of QPainter::renderingDevice. + +2006-02-28 Darin Adler <darin@apple.com> + + - fixed part of the reason the build is broken + + * WebCore.xcodeproj/project.pbxproj: Updated project file. + +2006-02-28 Darin Adler <darin@apple.com> + + Rubber-stamped by Hyatt. + + - moved the WebCoreXXX files from kwq to appropriate directories + + No changes to the contents of the files. + + * WebCore.xcodeproj/project.pbxproj: Updated project file. + * bridge/mac/WebCoreCache.h: Added. + * bridge/mac/WebCoreCache.mm: Added. + * bridge/mac/WebCoreEncodings.h: Added. + * bridge/mac/WebCoreEncodings.mm: Added. + * bridge/mac/WebCoreFrameNamespaces.h: Added. + * bridge/mac/WebCoreFrameNamespaces.m: Added. + * bridge/mac/WebCoreFrameView.h: Added. + * bridge/mac/WebCoreJavaScript.h: Added. + * bridge/mac/WebCoreJavaScript.mm: Added. + * bridge/mac/WebCoreKeyboardAccess.h: Added. + * bridge/mac/WebCoreResourceLoader.h: Added. + * bridge/mac/WebCoreScriptDebugger.h: Added. + * bridge/mac/WebCoreScriptDebugger.mm: Added. + * bridge/mac/WebCoreSettings.h: Added. + * bridge/mac/WebCoreSettings.mm: Added. + * bridge/mac/WebCoreTextDecoder.h: Added. + * bridge/mac/WebCoreTextDecoder.mm: Added. + * bridge/mac/WebCoreViewFactory.h: Added. + * bridge/mac/WebCoreViewFactory.m: Added. + * bridge/mac/WebDashboardRegion.h: Added. + * bridge/mac/WebDashboardRegion.m: Added. + * kwq/WebCoreCache.h: Removed. + * kwq/WebCoreCache.mm: Removed. + * kwq/WebCoreCookieAdapter.h: Removed. + * kwq/WebCoreCookieAdapter.m: Removed. + * kwq/WebCoreEncodings.h: Removed. + * kwq/WebCoreEncodings.mm: Removed. + * kwq/WebCoreFrameNamespaces.h: Removed. + * kwq/WebCoreFrameNamespaces.m: Removed. + * kwq/WebCoreFrameView.h: Removed. + * kwq/WebCoreGraphicsBridge.h: Removed. + * kwq/WebCoreGraphicsBridge.m: Removed. + * kwq/WebCoreHistory.h: Removed. + * kwq/WebCoreHistory.m: Removed. + * kwq/WebCoreImageRenderer.h: Removed. + * kwq/WebCoreImageRendererFactory.h: Removed. + * kwq/WebCoreImageRendererFactory.m: Removed. + * kwq/WebCoreJavaScript.h: Removed. + * kwq/WebCoreJavaScript.mm: Removed. + * kwq/WebCoreKeyGenerator.h: Removed. + * kwq/WebCoreKeyGenerator.m: Removed. + * kwq/WebCoreKeyboardAccess.h: Removed. + * kwq/WebCoreResourceLoader.h: Removed. + * kwq/WebCoreScriptDebugger.h: Removed. + * kwq/WebCoreScriptDebugger.mm: Removed. + * kwq/WebCoreSettings.h: Removed. + * kwq/WebCoreSettings.mm: Removed. + * kwq/WebCoreTextDecoder.h: Removed. + * kwq/WebCoreTextDecoder.mm: Removed. + * kwq/WebCoreTextRenderer.h: Removed. + * kwq/WebCoreTextRendererFactory.h: Removed. + * kwq/WebCoreTextRendererFactory.mm: Removed. + * kwq/WebCoreView.h: Removed. + * kwq/WebCoreView.m: Removed. + * kwq/WebCoreViewFactory.h: Removed. + * kwq/WebCoreViewFactory.m: Removed. + * kwq/WebDashboardRegion.h: Removed. + * kwq/WebDashboardRegion.m: Removed. + * platform/mac/WebCoreCookieAdapter.h: Added. + * platform/mac/WebCoreCookieAdapter.m: Added. + * platform/mac/WebCoreGraphicsBridge.h: Added. + * platform/mac/WebCoreGraphicsBridge.m: Added. + * platform/mac/WebCoreHistory.h: Added. + * platform/mac/WebCoreHistory.m: Added. + * platform/mac/WebCoreImageRenderer.h: Added. + * platform/mac/WebCoreImageRendererFactory.h: Added. + * platform/mac/WebCoreImageRendererFactory.m: Added. + * platform/mac/WebCoreKeyGenerator.h: Added. + * platform/mac/WebCoreKeyGenerator.m: Added. + * platform/mac/WebCoreTextRenderer.h: Added. + * platform/mac/WebCoreTextRendererFactory.h: Added. + * platform/mac/WebCoreTextRendererFactory.mm: Added. + * platform/mac/WebCoreView.h: Added. + * platform/mac/WebCoreView.m: Added. + +2006-02-28 David Hyatt <hyatt@apple.com> + + Fold QFont into Font and eliminate QFont completely. + + Reviewed by eric + + * ForwardingHeaders/qfont.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * bindings/objc/DOM.mm: + (-[DOMElement _font]): + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::attributedString): + (WebCore::MacFrame::fontForSelection): + (WebCore::MacFrame::fontAttributesForSelectionStart): + * bridge/mac/WebCoreFrameBridge.mm: + * css/css_computedstyle.cpp: + (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::recalcStyle): + * ksvg2/svg/SVGLengthImpl.cpp: + (SVGLengthImpl::updateValue): + * kwq/KWQAccObject.mm: + (AXAttributeStringSetStyle): + * kwq/KWQComboBox.h: + * kwq/KWQComboBox.mm: + (QComboBox::setFont): + * kwq/KWQFont.h: Removed. + * kwq/KWQFont.mm: Removed. + * kwq/KWQFontMetrics.h: + * kwq/KWQFontMetrics.mm: + (QFontMetricsPrivate::QFontMetricsPrivate): + (QFontMetricsPrivate::~QFontMetricsPrivate): + (QFontMetricsPrivate::getRenderer): + (QFontMetricsPrivate::fontDescription): + (QFontMetricsPrivate::setFontDescription): + (QFontMetricsPrivate::getWebCoreFont): + (QFontMetricsPrivate::isFixedPitch): + (QFontMetricsPrivate::determinePitch): + (QFontMetrics::QFontMetrics): + (QFontMetrics::setFontDescription): + (QFontMetrics::width): + (QFontMetrics::floatWidth): + (QFontMetrics::selectionRectForText): + (QFontMetrics::checkSelectionPoint): + (QFontMetrics::getWebCoreFont): + (QFontMetrics::isFixedPitch): + * kwq/KWQKHTMLSettings.h: + * kwq/KWQLineEdit.h: + * kwq/KWQLineEdit.mm: + (-[NSSearchField _addStringToRecentSearches:]): + (QLineEdit::setFont): + * kwq/KWQListBox.h: + * kwq/KWQListBox.mm: + (QListBox::sizeForNumberOfLines): + (QListBox::setFont): + (-[KWQTableView drawRow:clipRect:]): + * kwq/KWQPainter.h: + * kwq/KWQPainter.mm: + (WebCore::QPainter::font): + (WebCore::QPainter::setFont): + (WebCore::QPainter::fontMetrics): + (WebCore::QPainter::_updateRenderer): + (WebCore::QPainter::drawText): + (WebCore::QPainter::drawHighlightForText): + * kwq/KWQSlider.h: + * kwq/KWQSlider.mm: + (QSlider::setFont): + * kwq/KWQTextEdit.h: + * kwq/KWQTextEdit.mm: + (QTextEdit::setFont): + * platform/Font.cpp: + (khtml::Font::update): + * platform/Font.h: + (WebCore::): + (WebCore::Font::m_wordSpacing): + (WebCore::Font::Font): + (WebCore::Font::operator==): + (WebCore::Font::operator!=): + (WebCore::Font::fontMetrics): + (WebCore::Font::pixelSize): + (WebCore::Font::size): + (WebCore::Font::letterSpacing): + (WebCore::Font::setWordSpacing): + (WebCore::Font::setLetterSpacing): + (WebCore::Font::isFixedPitch): + (WebCore::Font::isPrinterFont): + (WebCore::Font::firstFamily): + (WebCore::Font::family): + (WebCore::Font::italic): + (WebCore::Font::weight): + (WebCore::Font::getNSFamily): + (WebCore::Font::getNSFont): + (WebCore::Font::getWebCoreFont): + * platform/FontDescription.h: + (WebCore::FontDescription::FontDescription): + * platform/FontFamily.h: + * platform/Widget.h: + * platform/mac/WidgetMac.mm: + (WebCore::Widget::font): + (WebCore::Widget::setFont): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::selectionRect): + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::positionForOffset): + * rendering/RenderBlock.cpp: + (WebCore::stripTrailingSpace): + * rendering/RenderText.cpp: + (WebCore::RenderText::cacheWidths): + (WebCore::RenderText::trimmedMinMaxWidth): + (WebCore::RenderText::calcMinMaxWidth): + (WebCore::RenderText::font): + (WebCore::RenderText::width): + * rendering/RenderText.h: + * rendering/bidi.cpp: + (khtml::RenderBlock::computeHorizontalPositionsForLine): + (khtml::RenderBlock::findNextLineBreak): + * rendering/render_br.cpp: + (WebCore::RenderBR::lineHeight): + * rendering/render_flow.cpp: + (WebCore::RenderFlow::lineHeight): + * rendering/render_form.cpp: + (WebCore::RenderFormElement::setStyle): + (WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed): + * rendering/render_image.cpp: + (WebCore::RenderImage::paint): + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::placeBoxesHorizontally): + (WebCore::InlineFlowBox::paintDecorations): + (WebCore::EllipsisBox::paint): + * rendering/render_list.cpp: + (RenderListMarker::paint): + * rendering/render_object.cpp: + (WebCore::RenderObject::getVerticalPosition): + (WebCore::RenderObject::lineHeight): + * rendering/render_object.h: + (WebCore::RenderObject::font): + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::setStyle): + * rendering/render_style.h: + (khtml::RenderStyle::fontSize): + (khtml::RenderStyle::fontMetrics): + (khtml::RenderStyle::wordSpacing): + (khtml::RenderStyle::letterSpacing): + (khtml::RenderStyle::setFontDescription): + (khtml::RenderStyle::setWordSpacing): + (khtml::RenderStyle::setLetterSpacing): + +2006-02-28 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - remove obsolete WebCoreScrollView class + + * WebCore.exp: Remove WebCoreScrollView class name. + + * kwq/WebCoreScrollView.h: Removed. + * kwq/WebCoreScrollView.m: Removed. + * WebCore.xcodeproj/project.pbxproj: Remove WebCoreScrollView source files. + + * kwq/KWQListBox.mm: (-[KWQListBoxScrollView autoforwardsScrollWheelEvents]): Added. + * kwq/KWQTextArea.h: Change base class to NSScrollView instead of WebCoreScrollView. + * kwq/KWQTextArea.mm: (-[KWQTextAreaTextView autoforwardsScrollWheelEvents]): Ditto. + +2006-02-28 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix spacing/style on several of the stubs. + Reorganize stubs, separating empty stubs. + Remove the abort from certain stubs blocking DRT. + Add a virtual setView call to Frame baseclass. + + * bridge/mac/MacFrame.h: mark setView virtual + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::attach): remove no-renderer hack + * page/Frame.cpp: + (WebCore::Frame::view): fix spacing + (WebCore::Frame::setView): added. + * page/Frame.h: + * platform/win/TemporaryLinkStubs.cpp: + (notImplemented): make break directly into debugger. + Moved, modified several other stubs not mentioned here. + +2006-02-28 Justin Garcia <justin.garcia@apple.com> + + Reviewed by mjs + + <http://bugs.webkit.org/show_bug.cgi?id=6647> + TinyMCE: document.execCommand("insertHTML", ...) unimplemented + + * editing/jsediting.cpp: + +2006-02-28 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - make win32 DumpRenderTree run without crashing + http://bugs.webkit.org/show_bug.cgi?id=7511 + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * bridge/win/BrowserExtensionWin.h: Added. + * bridge/win/FrameWin.cpp: + (WebCore::FrameWin::FrameWin): Initialize browser + extension and settings. + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::attach): Don't create renderers + for now. + * dom/EventNames.cpp: + (WebCore::EventNames::init): use placement new even when + not avoiding static constructors. + * khtml/html/htmlnames.cpp: + (WebCore::HTMLNames::init): ditto + * dom/QualifiedName.cpp: + (WebCore::QualifiedName::init): ditto + * dom/QualifiedName.h: + (WebCore::QualifiedName::QualifiedName): Added default + constructor but only in ifdef. + * page/Frame.h: + * platform/AtomicString.cpp: + (WebCore::AtomicString::init): use placement new even when + not avoiding static constructors + * platform/StaticConstructors.h: don't initialize when + not avoiding static constructors, just default construct + and let initialization happen normally + * platform/win/TemporaryLinkStubs.cpp: Stub out some more things + (Cursor::~Cursor): + (QFont::~QFont): + (QFontMetrics::~QFontMetrics): + (WebCore::FrameWin::restoreDocumentState): + (WebCore::FrameWin::partClearedInBegin): + (WebCore::FrameWin::createEmptyDocument): + (WebCore::BrowserExtensionWin::getHistoryLength): + (WebCore::BrowserExtensionWin::canRunModal): + (WebCore::BrowserExtensionWin::openURLNotify): + (WebCore::BrowserExtensionWin::canRunModalNow): + (WebCore::BrowserExtensionWin::runModal): + (WebCore::BrowserExtensionWin::goBackOrForward): + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Remove abort() from constructors to allow DRT to run. + + * platform/win/TemporaryLinkStubs.cpp: + (QFont::QFont): + (QFontMetrics::QFontMetrics): + +2006-02-27 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=6893> + REGRESSION: Major bug with TinyMCE, no value submitted from textarea + <rdar://problem/3465857> value from textarea form field inside of hidden div isn't submitted + <rdar://problem/3968059> Textarea with hard-wrap: pre-filled text doesn't get hard-wrapped + + Canonicalize line endings in textareas to avoid the workarounds that were a source of bugs, + Also call textWithHardLineWraps inside appendFormData (and nowhere else) if wrap="hard". + + * khtml/html/HTMLTextAreaElementImpl.cpp: + (WebCore::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl): + (WebCore::HTMLTextAreaElementImpl::select): + (WebCore::HTMLTextAreaElementImpl::appendFormData): + (WebCore::HTMLTextAreaElementImpl::rendererWillBeDestroyed): + (WebCore::HTMLTextAreaElementImpl::updateValue): + (WebCore::HTMLTextAreaElementImpl::value): + (WebCore::HTMLTextAreaElementImpl::setValue): + (WebCore::HTMLTextAreaElementImpl::defaultValue): + * khtml/html/HTMLTextAreaElementImpl.h: + (DOM::HTMLTextAreaElementImpl::invalidateValue): + * kwq/KWQTextArea.h: + * kwq/KWQTextArea.mm: + (-[KWQTextAreaTextView textDidChange:]): + (-[KWQTextAreaTextView text]): + (-[KWQTextAreaTextView textWithHardLineBreaks]): + (-[KWQTextAreaTextView setSelectedRange:]): + (-[KWQTextAreaTextView selectedRange]): + (-[KWQTextAreaTextView getCursorPositionAsIndex:inParagraph:]): + (RangeOfParagraph): + (-[KWQTextAreaTextView textView:shouldChangeTextInRange:replacementString:]): + * rendering/render_form.cpp: + (WebCore::RenderTextArea::destroy): + (WebCore::RenderTextArea::updateFromElement): + (WebCore::RenderTextArea::text): + (WebCore::RenderTextArea::textWithHardLineBreaks): + * rendering/render_form.h: + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Copy missing dlls to build directory. + + * Viewer.cpp: fix line endings + * Viewer/ImageView.cpp: fix line endings + * Viewer/stdafx.cpp: fix line endings + * WebCore.vcproj/WebCore/build-generated-files.sh: + +2006-02-27 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: added to fast/dom/css-selectorText.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7338 + Incorrect selectorText for multiple subselectors. + + * css/css_base.cpp: + (CSSSelector::selectorText): Iterate over subselectors + +2006-02-27 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - write a portable ICU version of TextEncoding::fromUnicode for use on win32 + + * platform/StreamingTextDecoder.h: + * platform/TextEncoding.cpp: + (WebCore::TextEncoding::fromUnicode): added + (WebCore::getConverter): helper + (WebCore::cacheConverter): ditto + (WebCore::effectiveEncoding): ditto + * platform/mac/TextEncodingMac.cpp: Add comment + * platform/win/TemporaryLinkStubs.cpp: + (WebCore::TextEncoding::fromUnicode): remove + +2006-02-27 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/text/in-rendered-text-rtl.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7433 + REGRESSION (r12789): Second RTL text run on a line cannot be selected + + * dom/dom_position.cpp: + (WebCore::Position::inRenderedText): If the RenderText contains + reversed text, the text boxes are not necessarily ordered by start + position, so iterate through all of them. + (WebCore::Position::isRenderedCharacter): Ditto. + +2006-02-27 David Kilzer <ddkilzer@kilzer.net> + + Reviewed by Darin. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=7321 + REGRESSION: style tag in body causes two head elements to appear in the DOM + + * khtml/html/htmlparser.cpp: Handle the head node like form and map nodes. + (WebCore::HTMLParser::parseToken): + (WebCore::HTMLParser::headCreateErrorCheck): + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Add stub to make DRT link. + Make WebCore copy libxml.dll into build directory when building. + + * WebCore.vcproj/WebCore/build-generated-files.sh: + * platform/win/TemporaryLinkStubs.cpp: + (WebCore::TextEncoding::fromUnicode): + +2006-02-27 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - fix regression in layout tests + + * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::addCSSLength): + Fix some code that was not properly truncating. I broke it in my + string change this morning. + +2006-02-27 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Eric. + + - add stubs for FrameWin overrides of pure virtual Frame methods + + * platform/win/TemporaryLinkStubs.cpp: + (WebCore::FrameWin::respondToChangedContents): + (WebCore::FrameWin::unfocusWindow): + (WebCore::FrameWin::locationbarVisible): + (WebCore::FrameWin::respondToChangedSelection): + (WebCore::FrameWin::clearUndoRedoOperations): + (WebCore::FrameWin::issueRedoCommand): + (WebCore::FrameWin::canRedo): + (WebCore::FrameWin::restoreDocumentState): + (WebCore::FrameWin::canUndo): + (WebCore::FrameWin::overrideMediaType): + (WebCore::FrameWin::saveDocumentState): + (WebCore::FrameWin::print): + (WebCore::FrameWin::issueCutCommand): + (WebCore::FrameWin::issueCopyCommand): + (WebCore::FrameWin::partClearedInBegin): + (WebCore::FrameWin::issueUndoCommand): + (WebCore::FrameWin::clearRecordedFormValues): + (WebCore::FrameWin::issuePasteCommand): + (WebCore::FrameWin::markedTextRange): + (WebCore::FrameWin::shouldChangeSelection): + (WebCore::FrameWin::scheduleClose): + (WebCore::FrameWin::menubarVisible): + (WebCore::FrameWin::personalbarVisible): + (WebCore::FrameWin::createEmptyDocument): + (WebCore::FrameWin::lastEventIsMouseUp): + (WebCore::FrameWin::statusbarVisible): + (WebCore::FrameWin::toolbarVisible): + (WebCore::FrameWin::issueTransposeCommand): + (WebCore::FrameWin::userAgent): + (WebCore::FrameWin::canPaste): + (WebCore::FrameWin::incomingReferrer): + (WebCore::FrameWin::canGoBackOrForward): + (WebCore::FrameWin::issuePasteAndMatchStyleCommand): + (WebCore::FrameWin::handledOnloadEvents): + (WebCore::FrameWin::generateFrameName): + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Add constructor and destructor. + + * bridge/win/FrameWin.cpp: + (WebCore::FrameWin::FrameWin): + (WebCore::FrameWin::~FrameWin): + +2006-02-27 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Eric (sorta). + + - add return values where needed + + * platform/win/TemporaryLinkStubs.cpp: + (KWQServeRequest): + (KWQServeSynchronousRequest): + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Add a couple more stubs to make Win32 link. + + * platform/win/TemporaryLinkStubs.cpp: + (KWQServeSynchronousRequest): + (WebCore::FrameView::topLevelWidget): + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Move mac-specific logging logic up into WebCore (from JavaScriptCore). + Remove KWQ prefixes from default log channels. + http://bugs.webkit.org/show_bug.cgi?id=7503 + + * bridge/mac/WebCorePageBridge.mm: + (initializeLogChannel): + (initializeLoggingChannelsIfNecessary): + (-[WebCorePageBridge init]): + * page/Frame.h: + * platform/Logging.cpp: + * platform/Logging.h: + +2006-02-27 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix <rdar://problem/4104575> hang due to slow saveDocumentState method + + * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge saveDocumentState]): + Change code that iterates a QStringList with indices to use iterator instead. + +2006-02-27 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - portable version of QString::utf8 + + * platform/QString.cpp: + (QString::utf8): moved here, rewritten to use TextCodec + * platform/mac/QStringMac.mm: + (QString::utf8): removed from here + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Rubber-stamped by mjs. + + Fix FrameWin.h to use consistant line endings. + Fix TemporaryLinkStubs to better match style guidelines. + + * bridge/win/FrameWin.h: + (WebCore::Win): + * platform/win/TemporaryLinkStubs.cpp: + (QLineEdit::selectAll): + (QPainter::save): + (Widget::enableFlushDrawing): + (QPainter::drawHighlightForText): + (QFont::setPrinterFont): + (QTextEdit::textWithHardLineBreaks): + (Widget::mapFromGlobal): + (QPainter::addClip): + (QLineEdit::cursorPosition): + (QPainter::setPen): + (QPainter::selectedTextBackgroundColor): + (QPainter::fontMetrics): + (Widget::show): + (QFont::setItalic): + (QSlider::setValue): + (QLineEdit::addSearchResult): + (KWQFileButton::click): + (QLineEdit::setWritingDirection): + (QPainter::drawFocusRing): + (KWQFileButton::sizeForCharacterWidth): + (QTextEdit::sizeWithColumnsAndRows): + (QComboBox::clear): + (QPainter::misspellingLineThickness): + (QComboBox::setFrameGeometry): + (QLineEdit::maxLength): + (Widget::isEnabled): + (KWQServeRequest): + (QTextEdit::setText): + (Widget::paint): + (QPainter::addRoundedRectClip): + (FrameView::viewportToGlobal): + (QTextEdit::selectionEnd): + (QFont::determinePitch): + (QTextEdit::setScrollBarModes): + (QPainter::drawEllipse): + (QTextEdit::setReadOnly): + (QListBox::appendItem): + (QLineEdit::setPlaceholderString): + (Cursor::Cursor): + (Widget::focusPolicy): + (ScrollView::removeChild): + (QTextEdit::selectAll): + (QPainter::fillRect): + (QPainter::endTransparencyLayer): + (QFont::QFont): + (ScrollView::addChild): + (QTextEdit::setDisabled): + (QScrollBar::scroll): + (Widget::~Widget): + (QPainter::xForm): + (QListBox::sizeForNumberOfLines): + (ScrollView::resizeContents): + (QLineEdit::selectionStart): + (QLineEdit::QLineEdit): + (FrameView::updateBorder): + (QLineEdit::hasSelectedText): + (QScrollBar::QScrollBar): + (QListBox::doneAppendingItems): + (QTextEdit::QTextEdit): + (ScrollView::inWindow): + (QScrollBar::setValue): + (QFont::setFirstFamily): + (QTextEdit::hasSelectedText): + (QTextEdit::selectionStart): + (QFont::setWeight): + (ScrollView::scrollXOffset): + (QListBox::isSelected): + (QLineEdit::setReadOnly): + (QPainter::drawLineForText): + (QPainter::QPainter): + (QComboBox::~QComboBox): + (QComboBox::focusPolicy): + (QPainter::drawImageAtPoint): + (QPainter::clearShadow): + (QTextEdit::setLineHeight): + (QScrollBar::setKnobProportion): + (KWQFileButton::KWQFileButton): + (QFontMetrics::boundingRect): + (QTextEdit::setSelectionStart): + (QPainter::beginTransparencyLayer): + (QFontMetrics::setFont): + (QComboBox::setFont): + (Widget::frameGeometry): + (QListBox::setSelected): + (QPainter::addFocusRingRect): + (QTextEdit::setCursorPosition): + (QPainter::restore): + (QFontMetrics::width): + (Widget::setEnabled): + (QTextEdit::setSelectionEnd): + (QComboBox::populate): + (ScrollView::setStaticBackground): + (QPainter::font): + (QTextEdit::setAlignment): + (QLineEdit::setCursorPosition): + (QPainter::drawText): + (QPainter::pen): + (KJavaAppletWidget::KJavaAppletWidget): + (QFontMetrics::descent): + (QListBox::QListBox): + (QFontMetrics::ascent): + (QLineEdit::selectedText): + (Widget::setIsSelected): + (QLineEdit::text): + (Widget::unlockDrawingFocus): + (QLineEdit::setLiveSearch): + (QPainter::paintingDisabled): + (QComboBox::QComboBox): + (QPainter::drawConvexPolygon): + (Widget::setFont): + (QSlider::setMaxValue): + (Widget::lockDrawingFocus): + (QPainter::drawLine): + (QPainter::setBrush): + (QTextEdit::setSelectionRange): + (ScrollView::scrollPointRecursively): + (QLineEdit::sizeForCharacterWidth): + (Cursor::~Cursor): + (QFontMetrics::selectionRectForText): + (ScrollView::suppressScrollBars): + (QFontMetrics::checkSelectionPoint): + (QTextEdit::getCursorPosition): + (FrameView::isFrameView): + (QScrollBar::setSteps): + (QLineEdit::setMaxLength): + (Widget::setCursor): + (QLineEdit::setAutoSaveName): + (QComboBox::baselinePosition): + (QComboBox::appendItem): + (QPainter::setShadow): + (QTextEdit::setWritingDirection): + (Widget::setDrawingAlpha): + (QSlider::QSlider): + (ScrollView::setVScrollBarMode): + (QPainter::drawScaledAndTiledImage): + (ScrollView::scrollYOffset): + (QPainter::drawImage): + (QComboBox::setCurrentItem): + (QFontMetrics::height): + (QComboBox::setWritingDirection): + (ScrollView::setScrollBarsMode): + (QComboBox::sizeHint): + (QPainter::drawRect): + (QFont::setPixelSize): + (Widget::setFrameGeometry): + (QLineEdit::setSelection): + (QLineEdit::setMaxResults): + (QListBox::clear): + (QLineEdit::edited): + (QPainter::drawTiledImage): + (QPainter::clearFocusRing): + (QFont::operator==): + (Widget::Widget): + (QTextEdit::text): + (QPainter::drawImageInRect): + (QPainter::setFont): + (Widget::disableFlushDrawing): + (QPainter::initFocusRing): + (QSlider::setMinValue): + (QTextEdit::setWordWrap): + (QPainter::drawLineForMisspelling): + (QLineEdit::setText): + (QSlider::value): + (QListBox::setSelectionMode): + (KWQFileButton::setFilename): + (QFontMetrics::QFontMetrics): + (QFontMetrics::lineSpacing): + (QLineEdit::setEdited): + (QComboBox::frameGeometry): + (QListBox::setWritingDirection): + (QLineEdit::setAlignment): + (ScrollView::updateContents): + (QFontMetrics::floatWidth): + (ScrollView::setHScrollBarMode): + (KWQFileButton::focusPolicy): + (QListBox::setFont): + (QLineEdit::checksDescendantsForFocus): + (KWQFileButton::baselinePosition): + (QSlider::~QSlider): + (KWQFileButton::setFrameGeometry): + (QListBox::~QListBox): + (KWQFileButton::frameGeometry): + (QTextEdit::setFont): + (QLineEdit::setFont): + (KWQFileButton::~KWQFileButton): + (QTextEdit::focusPolicy): + (QSlider::focusPolicy): + (QSlider::setFont): + (QListBox::setEnabled): + (QListBox::checksDescendantsForFocus): + (QListBox::focusPolicy): + (QLineEdit::baselinePosition): + (QSlider::sizeHint): + (QLineEdit::~QLineEdit): + (QTextEdit::~QTextEdit): + (QTextEdit::checksDescendantsForFocus): + (QLineEdit::focusPolicy): + (QScrollBar::~QScrollBar): + (Path::operator=): + (QLineEdit::setColors): + (QTextEdit::setColors): + (searchableIndexIntroduction): + (KWQKCookieJar::setCookie): + (KWQKCookieJar::cookie): + (WebCore::screenRect): + (WebCore::Widget::clearFocus): + (WebCore::historyContains): + (KWQFindNextSentenceFromIndex): + (KWQFindSentenceBoundary): + (KWQFindNextWordFromIndex): + (KWQFindWordBoundary): + (submitButtonDefaultLabel): + (inputElementAltText): + (resetButtonDefaultLabel): + (KWQKCookieJar::cookieEnabled): + (WebCore::Widget::setFocus): + (WebCore::QPainter::fillRect): + (WebCore::QPainter::~QPainter): + (WebCore::ScrollView::viewportToContents): + (WebCore::TransferJob::kill): + (WebCore::TransferJob::addMetaData): + (WebCore::TransferJob::queryMetaData): + (WebCore::TransferJob::error): + (WebCore::TransferJob::errorText): + (WebCore::TransferJob::isErrorPage): + (WebCore::TransferJob::TransferJob): + (WebCore::Widget::hide): + (KLocale::language): + (PlugInInfoStore::createPluginInfoForPluginAtIndex): + (WebCore::screenDepth): + (QFont::italic): + (QFontMetrics::operator=): + (QFontMetrics::xHeight): + (WebCore::usableScreenRect): + (QFont::operator=): + (Widget::setActiveWindow): + (KWQCheckIfReloading): + (WebCore::ScrollView::contentsX): + (WebCore::ScrollView::contentsY): + (WebCore::ScrollView::contentsHeight): + (WebCore::ScrollView::contentsWidth): + (WebCore::ScrollView::visibleHeight): + (WebCore::ScrollView::visibleWidth): + (WebCore::ScrollView::hScrollBarMode): + (WebCore::ScrollView::vScrollBarMode): + (KWQCheckCacheObjectStatus): + +2006-02-27 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=6844> + elementAtPoint returns the list when the point is over a list marker + + Consider the case of outside list markers in nodeAtPoint. Had to pull + the code out of RenderListMarker::paint that computed the position/size + of the list marker. + + Added: + * fast/events/onclick-list-marker.html + + * rendering/render_list.cpp: + (RenderListItem::nodeAtPoint): + (RenderListItem::getAbsoluteRepaintRect): + (RenderListMarker::paint): + (RenderListMarker::nodeAtPoint): + (RenderListMarker::getRelativeMarkerRect): + * rendering/render_list.h: + * rendering/render_object.h: + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by timo. + + Fix xcode project after previous KWQLogging move. + + * WebCore.xcodeproj/project.pbxproj: + * platform/Logging.h: + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by timo. + + Move KWQLogging to platform and rename as Logging.*, fix headers. + This will break the mac build, which I will fix on my next commit. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * dom/DocumentImpl.cpp: + * dom/dom_position.cpp: + * editing/DeleteSelectionCommand.cpp: + * editing/InsertLineBreakCommand.cpp: + * editing/InsertParagraphSeparatorCommand.cpp: + * editing/InsertTextCommand.cpp: + * editing/VisiblePosition.cpp: + * editing/markup.cpp: + * khtml/ecma/kjs_window.cpp: + * kwq/KWQLogging.h: Removed. + * kwq/KWQLogging.m: Removed. + * kwq/KWQRegExp.cpp: + * kwq/KWQTextStream.cpp: + * platform/Logging.cpp: Added. + * platform/Logging.h: Added. + * platform/QString.cpp: + * platform/win/TemporaryLinkStubs.cpp: + (WebCore::ScrollView::vScrollBarMode): + (WebCore::theme): + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Fix a bunch more link errors in the win32 build, mostly by adding stubs. + + * WebCore.vcproj/WebCore/WebCore.vcproj: add JSXMLHttpRequest and PlugInInfoStore + * WebCore.vcproj/WebCore/build-generated-files.sh: update for JSXMLHttpRequest + * khtml/ecma/JSXMLHttpRequest.cpp: + (KJS::JSXMLHttpRequest::getValueProperty): fix switch to compile + * platform/PlugInInfoStore.h: + * platform/mac/PlugInInfoStoreMac.mm: + * platform/win/TemporaryLinkStubs.cpp: add a bunch of stubs. + (WebCore::TransferJob::errorText): + (WebCore::TransferJob::isErrorPage): + (WebCore::Widget::hide): + (PlugInInfoStore::createPluginInfoForPluginAtIndex): + (PlugInInfoStore::pluginCount): + (WebCore::refreshPlugins): + (QFont::QFont): + (QFont::~QFont): + (QFont::italic): + (QFont::weight): + (QFontMetrics::QFontMetrics): + (QFontMetrics::~QFontMetrics): + (QFontMetrics::xHeight): + (Widget::setActiveWindow): + (WebCore::ScrollView::contentsX): + (WebCore::ScrollView::contentsY): + (WebCore::ScrollView::contentsHeight): + (WebCore::ScrollView::contentsWidth): + (WebCore::ScrollView::visibleHeight): + (WebCore::ScrollView::visibleWidth): + (WebCore::ScrollView::hScrollBarMode): + (WebCore::ScrollView::vScrollBarMode): + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by timo. + + Add missing include to fix build. + + * platform/win/TemporaryLinkStubs.cpp: + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by ggaren. + + Move KConfig to platform/PlugInInfoStore and add test. + http://bugs.webkit.org/show_bug.cgi?id=7498 + + Test: plugins/plugin-javascript-access.html + + * ForwardingHeaders/kconfig.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * khtml/ecma/kjs_navigator.cpp: + (KJS::PluginBase::PluginBase): + * khtml/ecma/kjs_window.cpp: + * kwq/KWQKConfigBase.h: Removed. + * kwq/KWQKConfigBase.mm: Removed. + * platform/PlugInInfoStore.h: Added. + * platform/mac/PlugInInfoStoreMac.mm: Added. + (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex): + (WebCore::PlugInInfoStore::pluginCount): + (WebCore::refreshPlugins): + +2006-02-27 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + * platform/win/TemporaryLinkStubs.cpp: Added more stubs. + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Reworked KConfig and plugin architecture to be much more sane. + This is part one. Once this lands, I'll move it under platform with a better name. + + Darin had several great suggested further improvements as part of: + http://bugs.webkit.org/show_bug.cgi?id=7451 + I'll make some of those when I move this to platform. + + No layout test possible (no way to control which plugins DRT sees). + + * khtml/ecma/kjs_navigator.cpp: + (KJS::PluginBase::PluginBase): + (KJS::PluginBase::~PluginBase): + (KJS::PluginBase::refresh): + (KJS::Plugins::getValueProperty): + (KJS::Plugins::nameGetter): + (KJS::Plugins::getOwnPropertySlot): + (KJS::MimeTypes::getValueProperty): + (KJS::MimeTypes::nameGetter): + (KJS::MimeTypes::getOwnPropertySlot): + (KJS::Plugin::getValueProperty): + (KJS::Plugin::nameGetter): + (KJS::Plugin::getOwnPropertySlot): + * khtml/ecma/kjs_navigator.h: + * khtml/ecma/kjs_window.cpp: + * kwq/KWQKConfigBase.h: + (WebCore::PluginInfoStore::PluginInfoStore): + * kwq/KWQKConfigBase.mm: + (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex): + (WebCore::PluginInfoStore::pluginCount): + (WebCore::refreshPlugins): + +2006-02-27 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Build fix: cast to unsigned from size_t. + + * platform/StreamingTextDecoder.cpp: + +2006-02-27 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - add Selection.cpp to win32 build + http://bugs.webkit.org/show_bug.cgi?id=7490 + + * WebCore.vcproj/WebCore/WebCore.vcproj: + +2006-02-27 Maciej Stachowiak <mjs@apple.com> + + - use proper header for std::min. + + * platform/StreamingTextDecoder.cpp: + +2006-02-27 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - add new TextEncoding stuff to win32 build + http://bugs.webkit.org/show_bug.cgi?id=7491 + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.vcproj/WebCore/build-generated-files.sh: + * platform/StreamingTextDecoder.cpp: + (WebCore::StreamingTextDecoder::convertUTF16): + * platform/TextEncoding.cpp: + +2006-02-27 Darin Adler <darin@apple.com> + + - try to fix Windows build + + * WebCore.vcproj/WebCore/WebCore.vcproj: Removed rendering/font.* and added platform/Font.*. + +2006-02-27 Darin Adler <darin@apple.com> + + * css/csshelper.cpp: (WebCore::parseURL): Actually, the second version was fine. Rolling + back to that; apologies for the churn. + +2006-02-27 Darin Adler <darin@apple.com> + + * css/csshelper.cpp: (WebCore::parseURL): Third time's the charm. + +2006-02-27 Darin Adler <darin@apple.com> + + * css/csshelper.cpp: (WebCore::parseURL): Oops! Checked in fixed version of this file. + +2006-02-27 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=7486 + a first step in improving String/StringImpl API -- use "s" and "l" less + + * css/csshelper.cpp: (WebCore::parseURL): Use a local buffer rather than + manipulating the characters directly inside a StringImpl buffer. + + * css/cssstyleselector.cpp: (WebCore::parseUASheet): Copy the data to parse + it rather than going out of our way to hack StringImpl to not copy the data. + It would be better not to copy, but this is one-time work. + + * dom/DOMImplementationImpl.cpp: (WebCore::DOMImplementationImpl::createDocument): + * dom/dom2_viewsimpl.cpp: (DOM::AbstractViewImpl::getMatchedCSSRules): + * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::addCSSLength): + * dom/dom_xmlimpl.cpp: (WebCore::EntityImpl::toString): + * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteInsignificantText): + * khtml/html/htmlparser.cpp: (WebCore::HTMLParser::handleError): + * platform/AtomicString.cpp: + (WebCore::CStringTranslator::equal): + (WebCore::QCharBufferTranslator::equal): + (WebCore::AtomicString::add): + * platform/StringImpl.h: + (WebCore::StringImpl::unicode): Added. + (KXMLCore::CaseInsensitiveHash::hash): + (KXMLCore::CaseInsensitiveHash::equal): + * rendering/InlineTextBox.cpp: (khtml::InlineTextBox::selectionStartEnd): + * rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter): + * rendering/RenderText.cpp: + (WebCore::getCharacterBreakIterator): + (WebCore::RenderText::RenderText): + (WebCore::RenderText::atLineWrap): + (WebCore::RenderText::allAscii): + (WebCore::RenderText::widthFromCache): + (WebCore::RenderText::trimmedMinMaxWidth): + (WebCore::RenderText::containsOnlyWhitespace): + (WebCore::RenderText::setSelectionState): + (WebCore::RenderText::setTextWithOffset): + (WebCore::RenderText::setText): + (WebCore::RenderText::width): + (WebCore::RenderText::selectionRect): + (WebCore::RenderText::caretMaxOffset): + * rendering/RenderTextFragment.cpp: + (khtml::RenderTextFragment::RenderTextFragment): + (khtml::RenderTextFragment::originalString): + Use length() instead of l, unicode() instead of s, and (*x)[] instead of x->s[]. + + * editing/visible_units.cpp: + (WebCore::startOfParagraph): Use const. + (WebCore::endOfParagraph): Ditto. + +2006-02-27 Maciej Stachowiak <mjs@apple.com> + + - fix problem with a prototype that broke win32 build + + * platform/StreamingTextDecoder.h: + (WebCore::StreamingTextDecoder::convert): + +2006-02-27 Maciej Stachowiak <mjs@apple.com> + + - fix debug build (broken by my last commit) + + * platform/StreamingTextDecoder.cpp: + (WebCore::StreamingTextDecoder::createICUConverter): + (WebCore::StreamingTextDecoder::convertUsingICU): + +2006-02-26 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - platformize KWQTextCodec + http://bugs.webkit.org/show_bug.cgi?id=7487 + + I renamed QTextCodec to TextEncoding and QTextDecoder to + StreamingTextDecoder. I also made a bunch of other changes to make + the API more sensible. + + * ForwardingHeaders/qtextcodec.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/MacFrame.mm: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge URLWithAttributeString:]): + (-[WebCoreFrameBridge textEncoding]): + (+[WebCoreFrameBridge stringWithData:textEncoding:]): + (+[WebCoreFrameBridge stringWithData:textEncodingName:]): + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::completeURL): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMDocument::getValueProperty): + (KJS::DOMDocument::putValueProperty): + * khtml/html/FormDataList.cpp: + (DOM::FormDataList::FormDataList): + (DOM::FormDataList::appendString): + * khtml/html/FormDataList.h: + * khtml/html/HTMLFormElementImpl.cpp: + (WebCore::HTMLFormElementImpl::HTMLFormElementImpl): + (WebCore::HTMLFormElementImpl::formData): + * khtml/html/htmltokenizer.cpp: + * khtml/misc/decoder.cpp: + (Decoder::Decoder): + (Decoder::setEncodingName): + (Decoder::encodingName): + (Decoder::decode): + * khtml/misc/decoder.h: + (khtml::Decoder::): + (khtml::Decoder::visuallyOrdered): + (khtml::Decoder::encoding): + * khtml/xsl/xslt_processorimpl.cpp: + (DOM::XSLTProcessorImpl::createDocumentFromSource): + * kwq/KWQCharsets.cpp: Removed. + * kwq/KWQCharsets.h: Removed. + * kwq/KWQTextCodec.cpp: Removed. + * kwq/KWQTextCodec.h: Removed. + * kwq/WebCoreTextDecoder.h: + * kwq/WebCoreTextDecoder.mm: + * kwq/can-convert.mm: Removed. + * kwq/character-sets.txt: Removed. + * kwq/mac-encodings.txt: Removed. + * kwq/make-charset-table.pl: Removed. + * loader/CachedCSSStyleSheet.cpp: + (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): + (WebCore::CachedCSSStyleSheet::setCharset): + (WebCore::CachedCSSStyleSheet::data): + * loader/CachedCSSStyleSheet.h: + * loader/CachedScript.cpp: + (WebCore::CachedScript::CachedScript): + (WebCore::CachedScript::setCharset): + (WebCore::CachedScript::data): + * loader/CachedScript.h: + * loader/CachedXSLStyleSheet.cpp: + (WebCore::CachedXSLStyleSheet::setCharset): + * page/Frame.cpp: + (WebCore::Frame::write): + (WebCore::Frame::gotoAnchor): + (WebCore::Frame::encoding): + (WebCore::Frame::backslashAsCurrencySymbol): + * platform/CharsetNames.cpp: Added. + (KXMLCore::): + (WebCore::EncodingHash::equal): + (WebCore::EncodingHash::hash): + (WebCore::buildDictionaries): + (WebCore::textEncodingIDFromCharsetName): + (WebCore::charsetNameFromTextEncodingID): + * platform/CharsetNames.h: Added. + * platform/KURL.cpp: + (KURL::KURL): + (KURL::decode_string): + (encodeRelativeString): + * platform/KURL.h: + * platform/QString.cpp: + (QString::fromUtf8): + * platform/StreamingTextDecoder.cpp: Added. + (WebCore::StreamingTextDecoder::StreamingTextDecoder): + (WebCore::StreamingTextDecoder::convertLatin1): + (WebCore::StreamingTextDecoder::~StreamingTextDecoder): + (WebCore::StreamingTextDecoder::convertUTF16): + (WebCore::effectiveEncoding): + (WebCore::StreamingTextDecoder::createICUConverter): + (WebCore::unwanted): + (WebCore::StreamingTextDecoder::appendOmittingUnwanted): + (WebCore::StreamingTextDecoder::convertUsingICU): + (WebCore::StreamingTextDecoder::convert): + (WebCore::StreamingTextDecoder::toUnicode): + * platform/StreamingTextDecoder.h: Added. + (WebCore::StreamingTextDecoder::convert): + * platform/TextEncoding.cpp: Added. + (WebCore::TextEncoding::TextEncoding): + (WebCore::TextEncoding::name): + (WebCore::effectiveEncoding): + (WebCore::TextEncoding::backslashAsCurrencySymbol): + (WebCore::TextEncoding::toUnicode): + * platform/TextEncoding.h: Added. + (WebCore::): + (WebCore::TextEncoding::): + (WebCore::TextEncoding::TextEncoding): + (WebCore::TextEncoding::isValid): + (WebCore::TextEncoding::usesVisualOrdering): + (WebCore::TextEncoding::isJapanese): + (WebCore::TextEncoding::encodingID): + (WebCore::TextEncoding::flags): + (WebCore::operator==): + (WebCore::operator!=): + * platform/character-sets.txt: Added. + * platform/mac/ExtraCFEncodings.h: Added. + * platform/mac/QStringMac.mm: + * platform/mac/TextEncodingMac.cpp: Added. + (WebCore::effectiveEncoding): + (WebCore::TextEncoding::fromUnicode): + * platform/mac/can-convert.mm: Added. + * platform/mac/mac-encodings.txt: Added. + * platform/make-charset-table.pl: Added. + * platform/win/win-encodings.txt: Added. + * rendering/render_object.cpp: + (WebCore::RenderObject::backslashAsCurrencySymbol): + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::send): + (WebCore::XMLHttpRequest::slotData): + +2006-02-27 Darin Adler <darin@apple.com> + + - fix Windows build + + * platform/win/TemporaryLinkStubs.cpp: Change KIO::TransferJob to WebCore::TransferJob. + +2006-02-26 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - merged Job and TransferJob into TransferJob and moved it to WebCore namespace + - changed TransferJob to use a TransferJobClient object instead of signals + + * ForwardingHeaders/kio/job.h: Changed to point to "KWQKJobClasses.h". + * kwq/KWQKJob.h: Removed. + * kwq/TransferJobClient.h: Added. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file changes. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * dom/xml_tokenizer.cpp: (WebCore::openFunc): + * khtml/xsl/xslt_processorimpl.cpp: (DOM::docLoaderFunc): + Use "new TransferJob" instead of "KIO::get" and "KIO::http_post". + + * kwq/KWQKJobClasses.h: Eliminate Job. Add a TransferJobClient* parameter to + TransferJob. Eliminate the deliverAllData parameter to TransferJob constructor. + Remove the signals from TransferJob. + * kwq/KWQKJobClasses.mm: + (WebCore::TransferJobPrivate::TransferJobPrivate): Store a client pointer. + (WebCore::TransferJob::TransferJob): Store a client pointer, remove the + deliverAllData boolean. + (WebCore::TransferJob::receivedResponse): Added. Replaces the old emitReceivedResponse + function; uses client instead of a signal. + (WebCore::TransferJob::client): Added. + + * kwq/KWQLoader.h: Switched things to mention the WebCore namespace. + Changed KIO::TransferJob to WebCore::TransferJob. + * kwq/KWQLoader.mm: Ditto. + + * kwq/KWQObject.h: + * kwq/KWQObject.cpp: Removed isKHTMLLoader. + + * kwq/KWQResourceLoader.h: Changed KIO::TransferJob to WebCore::TransferJob. + * kwq/KWQResourceLoader.mm: + (-[KWQResourceLoader receivedResponse:]): Call receivedResponse function on + the job instead of emitReceivedResponse. + (-[KWQResourceLoader redirectedToURL:]): Call receivedRedirect function on the + client directly instead of emitRedirection on the job. + (-[KWQResourceLoader addData:]): Call receivedData function on the + client directly instead of emitData on the job. + (-[KWQResourceLoader finishJobAndHandle:]): Call receivedAllData function on the + client directly instead of emitResult on the job. Also fixed a potential memory leak + where the handle was not released if the job was 0. + + * kwq/KWQSignal.h: + * kwq/KWQSignal.cpp: + * kwq/KWQSlot.h: + * kwq/KWQSlot.cpp: + Removed the job-related signals and slots. + + * loader/CachedObject.h: Removed unneeded declaration of TransferJob. + + * loader/loader.h: + * loader/loader.cpp: + (WebCore::Loader::servePendingRequests): Use "new TransferJob" instead of "KIO::get". + Also don't connect signals. + (WebCore::Loader::receivedAllData): New name for slotFinished. + (WebCore::Loader::receivedResponse): New name for slotReceivedResponse. + (WebCore::Loader::receivedData): New name for slotData. + (WebCore::Loader::cancelRequests): Changed KIO::Job to TransferJob. + (WebCore::Loader::jobForRequest): Ditto. + + * page/Frame.h: + * page/Frame.cpp: + (WebCore::Frame::didOpenURL): Use "new TransferJob" instead of "KIO::get" and + "KIO::http_post". Also don't connect signals. + (WebCore::Frame::receivedAllData): Renamed from slotFinished. Also slightly + cleaned up the logic. + (WebCore::Frame::receivedRedirect): Renamed from slotRedirection. + * page/FramePrivate.h: Changed KIO::TransferJob to WebCore::TransferJob. + + * xml/xmlhttprequest.h: + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::XMLHttpRequest): Eliminate XMLHttpRequestQObject. + (WebCore::XMLHttpRequest::send): Use "new TransferJob" instead of + "KIO::get" and "KIO::http_post". Also don't connect signals. + (WebCore::XMLHttpRequest::processSyncLoadResults): Change to call the functions + by their new names (names changed to use with TransferJobClient). + (WebCore::XMLHttpRequest::receivedAllData): Renamed from slotFinished. + (WebCore::XMLHttpRequest::receivedRedirect): Renamed from slotRedirection. + (WebCore::XMLHttpRequest::receivedData): Renamed from slotData. + +2006-02-26 Darin Adler <darin@apple.com> + + - try again after seeing errors from buildbot + + * loader/CachedCSSStyleSheet.cpp: + (WebCore::CachedCSSStyleSheet::checkNotify): + * loader/CachedImage.cpp: + (WebCore::CachedImage::data): + Add __APPLE__ ifdefs to two more uses of response. + +2006-02-26 Darin Adler <darin@apple.com> + + - try again after seeing errors from buildbot + + * loader/CachedObject.cpp: (WebCore::CachedObject::~CachedObject): + * loader/CachedObject.h: (WebCore::CachedObject::CachedObject): + * loader/loader.cpp: + Add __APPLE__ ifdefs to calls to setResponse and setAllData. + + * platform/win/TemporaryLinkStubs.cpp: Add missing includes. + +2006-02-26 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - more Win32 link fixes + + * loader/CachedObject.h: Put some Mac-specific stuff inside + __APPLE__ ifdefs. + * platform/win/TemporaryLinkStubs.cpp: Added more stubs. + +2006-02-26 Darin Adler <darin@apple.com> + + - try again after seeing errors from buildbot + + * platform/win/TemporaryLinkStubs.cpp: Added more includes. + +2006-02-26 Darin Adler <darin@apple.com> + + - try again after seeing errors from buildbot + + * platform/win/TemporaryLinkStubs.cpp: Added more includes. + +2006-02-26 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - work toward getting the Win32 build to link + + * WebCore.vcproj/WebCore/WebCore.vcproj: Added KWQObject.cpp. + * platform/win/TemporaryLinkStubs.cpp: Added more stubs. + +2006-02-24 Antti Koivisto <koivisto@iki.fi> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7440 + Floats not positioned correctly + + Test: fast/block/float/multiple-float-positioning.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::positionNewFloats): Correct iteration of the float list + +2006-02-24 Graham Dennis <Graham.Dennis@gmail.com> + + <http://bugs.webkit.org/show_bug.cgi?id=6933> + Selection extends beyond focus ring for some contentEditable divs + + Reviewed by justin + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::isSelectionRoot): Have root editable elements paint their + own selection gaps. + +2006-02-24 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix <rdar://problem/4456287> REGRESSION: assertion failure at mypage.apple.com + in WebCore::TimerBase::nextFireInterval() const + 100 (Timer.cpp:188) + + Test: fast/dom/Window/redirect-with-timer.html + + * platform/Timer.h: Made isActive no longer inline. Added inHeap function. + * platform/Timer.cpp: Changed assertions to use inHeap function for clarity. + (WebCore::TimerBase::isActive): Return true for timers that are ready to fire. + They have a next fire time of 0, but they should still be considered active. + (WebCore::TimerBase::checkConsistency): Correct the consistency check. The new + rule is that timers with a next fire time of 0 are not in the heap, and all other + timers are. + +2006-02-24 Graham Dennis <Graham.Dennis@gmail.com> + + <http://bugs.webkit.org/show_bug.cgi?id=7245> + caret does not display at the end of some lines in contenteditable divs + + Reviewed by justin + + * khtml/html/HTMLElementImpl.cpp: + (WebCore::HTMLElementImpl::setContentEditable): + * page/Frame.cpp: + (WebCore::Frame::applyEditingStyleToElement): + (WebCore::Frame::removeEditingStyleFromElement): + +2006-02-24 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Move dom_qname to QualifiedName and dom_atomicstringlist to AtomicStringList. + + * WebCore+SVG/KDOMHeaders.h: + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/css_base.h: + * dom/AtomicStringList.h: Added. + (WebCore::AtomicStringList::AtomicStringList): + * dom/QualifiedName.cpp: Added. + * dom/QualifiedName.h: Added. + * dom/dom_atomicstringlist.h: Removed. + * dom/dom_elementimpl.h: + * dom/dom_qname.cpp: Removed. + * dom/dom_qname.h: Removed. + * editing/RemoveNodeAttributeCommand.h: + * editing/SetNodeAttributeCommand.h: + * khtml/html/htmlnames.h: + * khtml/html/htmltokenizer.h: + * ksvg2/scripts/make_names.pl: update for new headers + +2006-02-24 Eric Seidel <eseidel@apple.com> + + Reviewed by beth. + + Made a few methods on frame pure virtual. + Added a bunch of stub functions for win32 linking. + + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::print): + (WebCore::MacFrame::canUndo): + (WebCore::MacFrame::canRedo): + (WebCore::MacFrame::canPaste): + * bridge/win/FrameWin.h: + * page/Frame.h: + * platform/win/TemporaryLinkStubs.cpp: + (QTextEdit::sizeWithColumnsAndRows): + (QLineEdit::maxLength): + (QPainter::drawEllipse): + (QTextEdit::setLineHeight): + (QPainter::beginTransparencyLayer): + (QLineEdit::selectedText): + (Widget::setIsSelected): + (QPainter::paintingDisabled): + (QFontMetrics::selectionRectForText): + (QTextEdit::getCursorPosition): + (QSlider::QSlider): + (WebCore::crossCursor): + (WebCore::handCursor): + (WebCore::moveCursor): + (WebCore::iBeamCursor): + (WebCore::waitCursor): + (WebCore::helpCursor): + (WebCore::eastResizeCursor): + (WebCore::northResizeCursor): + (WebCore::northEastResizeCursor): + (WebCore::northWestResizeCursor): + (WebCore::southResizeCursor): + (WebCore::southEastResizeCursor): + (WebCore::southWestResizeCursor): + (WebCore::westResizeCursor): + +2006-02-24 Sam Weinig <sam.weinig@gmail.com> + + Reviewed by Hyatt, tweaked and landed by ggaren. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5146 + max-height/max-width not resizing images with correct aspect ratio + + This patch is a port and adaptation of Allan Sandfeld Jensen's (carewolf) + patch of http://bugs.kde.org/show_bug.cgi?id=120107 with the needed + modifications to suit the Webcore tree. Makes images respect min/max + sizes and their intrinsic aspect ratios at the same time according to + CSS 2.1 (http://www.w3.org/TR/CSS21/visudet.html#min-max-widths). + + Test: fast/replaced/maxheight-percent.html + Test: fast/replaced/maxheight-pxs.html + Test: fast/replaced/maxwidth-percent.html + Test: fast/replaced/maxwidth-pxs.html + Test: fast/replaced/minheight-percent.html + Test: fast/replaced/minheight-pxs.html + Test: fast/replaced/minwidth-percent.html + Test: fast/replaced/minwidth-pxs.html + + * rendering/render_box.cpp: + (WebCore::RenderBox::calcReplacedWidth): + (WebCore::RenderBox::calcReplacedWidthUsing): + (WebCore::RenderBox::calcReplacedHeight): + (WebCore::RenderBox::calcReplacedHeightUsing): Calculate percent heights correctly + * rendering/render_image.cpp: Respect aspect ratios and calculate max/min + (WebCore::RenderImage::calcReplacedWidth): + (WebCore::RenderImage::calcReplacedHeight): + (WebCore::RenderImage::calcAspectRatioWidth): Added + (WebCore::RenderImage::calcAspectRatioHeight): Added + (WebCore::RenderImage::calcMinMaxWidth): Added + * rendering/render_image.h: + +2006-02-24 Vicki Murley <vicki@apple.com> + + - add missing resources for manual-tests/scrolling-nestedframesets.html + + * manual-tests/resources/testframe-link_text.html: Added. + * manual-tests/resources/testframeset.html: Added. + +2006-02-24 Vicki Murley <vicki@apple.com> + + - test case for <rdar://problem/4394910> calling Javascript window.close() does not trigger onbeforeunload event + + * manual-tests/onbeforeunload-close_with_javascript.html: Added. + +2006-02-24 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Add Path stubs for Win32 build. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/win/TemporaryLinkStubs.cpp: + (Path::Path): + (Path::~Path): + (Path::operator=): + (Path::contains): + (Path::translate): + (Path::boundingRect): + +2006-02-24 David Hyatt <hyatt@apple.com> + + In preparation for the elimination of QFont and QFontMetrics, rename methods on RenderStyle. htmlFont() becomes simply + font(). The old font() method turns into qfont(). Also added a helper for obtaining the fontDescription() directly from + the RenderStyle (without first obtaining the htmlFont()). + + Reviewed by darin + + * WebCore.xcodeproj/project.pbxproj: + * bindings/objc/DOM.mm: + (-[DOMElement _font]): + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::attributedString): + (WebCore::MacFrame::fontForSelection): + (WebCore::MacFrame::fontAttributesForSelectionStart): + * css/css_computedstyle.cpp: + (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): + * css/css_valueimpl.cpp: + (WebCore::CSSPrimitiveValueImpl::computeLengthFloat): + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSStyleSelector::pseudoStyleForElement): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::checkForTextSizeAdjust): + (WebCore::CSSStyleSelector::checkForGenericFamilyChange): + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::recalcStyle): + * editing/visible_text.cpp: + (khtml::TextIterator::exitNode): + * ksvg2/svg/SVGLengthImpl.cpp: + (SVGLengthImpl::updateValue): + * kwq/KWQAccObject.mm: + (AXAttributeStringSetStyle): + * rendering/InlineTextBox.cpp: + (khtml::InlineTextBox::paint): + (khtml::InlineTextBox::offsetForPosition): + * rendering/RenderText.cpp: + (WebCore::RenderText::shouldUseMonospaceCache): + (WebCore::RenderText::font): + (WebCore::RenderText::width): + (WebCore::RenderText::htmlFont): + * rendering/bidi.cpp: + (khtml::RenderBlock::tabWidth): + (khtml::RenderBlock::checkLinesForTextOverflow): + * rendering/render_br.cpp: + (WebCore::RenderBR::lineHeight): + * rendering/render_flexbox.cpp: + (khtml::RenderFlexibleBox::layoutVerticalBox): + * rendering/render_flow.cpp: + (WebCore::RenderFlow::lineHeight): + * rendering/render_form.cpp: + (WebCore::RenderFormElement::setStyle): + (WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed): + * rendering/render_image.cpp: + (WebCore::RenderImage::paint): + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::paintDecorations): + (WebCore::EllipsisBox::paint): + * rendering/render_list.cpp: + (RenderListItem::getAbsoluteRepaintRect): + (RenderListMarker::paint): + * rendering/render_object.cpp: + (WebCore::RenderObject::lineHeight): + * rendering/render_object.h: + (WebCore::RenderObject::font): + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::setStyle): + * rendering/render_style.h: + (khtml::RenderStyle::font): + (khtml::RenderStyle::fontDescription): + (khtml::RenderStyle::qfont): + * rendering/render_theme_mac.mm: + (WebCore::RenderThemeMac::setFontFromControlSize): + +2006-02-24 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - add link stubs for symbols only referenced from the link stubs file + + * platform/win/TemporaryLinkStubs.cpp: + (KWQFileButton::focusPolicy): + (QLineEdit::checksDescendantsForFocus): + (KWQFileButton::baselinePosition): + (QSlider::~QSlider): + (QListBox::~QListBox): + (KWQFileButton::frameGeometry): + (KWQFileButton::~KWQFileButton): + (QTextEdit::focusPolicy): + (QSlider::focusPolicy): + (QListBox::setEnabled): + (QListBox::checksDescendantsForFocus): + (QListBox::focusPolicy): + (QLineEdit::baselinePosition): + (QSlider::sizeHint): + (QLineEdit::~QLineEdit): + (QTextEdit::~QTextEdit): + (QTextEdit::checksDescendantsForFocus): + (QLineEdit::focusPolicy): + (QScrollBar::~QScrollBar): + +2006-02-24 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Eric. + + - fix up font.h inclues to be Font.h to fix build. + + * css/css_computedstyle.cpp: + * css/css_valueimpl.cpp: + * platform/Font.cpp: + * rendering/render_style.h: + +2006-02-24 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix mac build by changing constants to an enum. + + * khtml/dom/dom2_events.h: + (DOM::KeyboardEvent::): + +2006-02-24 David Hyatt <hyatt@apple.com> + + Move rendering/font to platform/Font. + + Reviewed by mjs + + * WebCore.xcodeproj/project.pbxproj: + * css/cssstyleselector.cpp: + * platform/Font.cpp: Added. + * platform/Font.h: Added. + * rendering/font.cpp: Removed. + * rendering/font.h: Removed. + * rendering/render_theme_mac.mm: + +2006-02-24 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Remove delcarations causing duplicate symbols on win32. + + * khtml/dom/dom2_events.cpp: + +2006-02-24 Eric Seidel <eseidel@apple.com> + + * bridge/win/FrameWin.cpp: fix line endings + +2006-02-24 Eric Seidel <eseidel@apple.com> + + Reviewed by beth. + + Removed WebCore:: prefixes added using namespace WebCore, fixes win32 build. + + * platform/win/TemporaryLinkStubs.cpp: + (QPainter::save): + (Widget::enableFlushDrawing): + (QPainter::drawHighlightForText): + (QTextEdit::textWithHardLineBreaks): + (QPainter::setPen): + (QPainter::selectedTextBackgroundColor): + (QPainter::fontMetrics): + (Widget::show): + (QLineEdit::setWritingDirection): + (KWQFileButton::sizeForCharacterWidth): + (QTextEdit::sizeWithColumnsAndRows): + (iBeamCursor): + (QPainter::misspellingLineThickness): + (westResizeCursor): + (Widget::isEnabled): + (northWestResizeCursor): + (QPainter::drawEllipse): + (southWestResizeCursor): + (Widget::focusPolicy): + (waitCursor): + (QPainter::endTransparencyLayer): + (ScrollView::addChild): + (Widget::~Widget): + (QListBox::sizeForNumberOfLines): + (FrameView::updateBorder): + (QPainter::drawLineForText): + (QPainter::QPainter): + (QComboBox::focusPolicy): + (QPainter::drawImageAtPoint): + (QPainter::clearShadow): + (eastResizeCursor): + (QFontMetrics::boundingRect): + (QPainter::beginTransparencyLayer): + (northEastResizeCursor): + (Widget::frameGeometry): + (QPainter::addFocusRingRect): + (QPainter::restore): + (Widget::setEnabled): + (QPainter::font): + (QPainter::pen): + (crossCursor): + (Widget::setIsSelected): + (handCursor): + (QLineEdit::text): + (Widget::unlockDrawingFocus): + (QPainter::paintingDisabled): + (northResizeCursor): + (Widget::lockDrawingFocus): + (QPainter::drawLine): + (QPainter::setBrush): + (QPainter::drawText): + (QLineEdit::sizeForCharacterWidth): + (Cursor::~Cursor): + (QFontMetrics::selectionRectForText): + (southResizeCursor): + (moveCursor): + (FrameView::isFrameView): + (helpCursor): + (QTextEdit::setWritingDirection): + (Widget::setDrawingAlpha): + (southEastResizeCursor): + (QPainter::drawScaledAndTiledImage): + (QPainter::drawImage): + (QComboBox::setWritingDirection): + (QComboBox::sizeHint): + (QPainter::drawRect): + (QPainter::drawTiledImage): + (QPainter::clearFocusRing): + (Widget::Widget): + (QTextEdit::text): + (QPainter::drawImageInRect): + (Widget::disableFlushDrawing): + (QPainter::initFocusRing): + (QPainter::drawLineForMisspelling): + (QComboBox::frameGeometry): + (QListBox::setWritingDirection): + (ScrollView::updateContents): + +2006-02-24 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - moved QScrollView from kwq to platform directory + + * kwq/KWQScrollView.h: Removed. + * kwq/KWQScrollView.mm: Removed. + + * platform/ScrollBarMode.h: Added. Just the enum for scroll bar mode. + * platform/ScrollView.h: Added. The rest of the former QScrollView. + * platform/mac/ScrollViewMac.mm: Added. + + * WebCore.xcodeproj/project.pbxproj: Updated. + * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto. + * platform/win/TemporaryLinkStubs.cpp: Updated. + + * bridge/mac/MacFrame.mm: (WebCore::MacFrame::createFrame): + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLFrameElementImpl::init): + (WebCore::HTMLFrameElementImpl::parseMappedAttribute): + * page/Frame.cpp: (WebCore::Frame::scrollbarsVisible): + Changed scrolling constants to use new names. + + * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::bodySetter): + Use FrameView instead of QScrollView for a local variable. + + * khtml/html/html_baseimpl.h: Use ScrollBarMode instead of + QScrollView::ScrollBarMode. + + * kwq/KWQListBox.h: Use WebCore::ScrollView instead of + QScrollView and WebCore::ScrollBarMode instead of QScrollView::ScrollBarMode. + * kwq/KWQTextEdit.h: Ditto. + * kwq/KWQTextEdit.mm: + (QTextEdit::setScrollBarModes): Ditto. + (QTextEdit::focusPolicy): Ditto. + + * page/FrameView.h: + * page/FrameView.cpp: + (WebCore::FrameViewPrivate::FrameViewPrivate): Use ScrollBarMode + instead of QScrollView::ScrollBarMode. + (WebCore::FrameView::FrameView): Remove mention of QScrollView. + (WebCore::FrameView::resetScrollBars): Rename QScrollView to ScrollView. + (WebCore::FrameView::applyOverflowToViewport): Use newly-named constants. + (WebCore::FrameView::layout): Ditto. + (WebCore::FrameView::setScrollBarsMode): Rename QScrollView to ScrollView. + (WebCore::FrameView::setVScrollBarMode): Ditto. + (WebCore::FrameView::setHScrollBarMode): Ditto. + (WebCore::FrameView::restoreScrollBar): Ditto. + + * platform/mac/MouseEventMac.mm: (WebCore::positionForEvent): Fixed comment. + * platform/mac/WheelEventMac.mm: (WebCore::positionForEvent): Ditto. + * platform/mac/WidgetMac.mm: (WebCore::Widget::getOuterView): Ditto. + + * rendering/render_form.cpp: (WebCore::RenderTextArea::setStyle): + Use ScrollBarMode instead of QScrollView::ScrollBarMode, and new constants. + * rendering/render_frames.cpp: + (WebCore::RenderFrameSet::userResize): Changed to use an IntRect to pass to + updateContents so we can remove the overload. + (WebCore::RenderPart::updateWidgetPosition): Remove unnecessary of QScrollView. + + * rendering/render_layer.cpp: + (WebCore::RenderLayer::scrollRectToVisible): Use FrameView instead of QScrollView. + (WebCore::RenderLayer::setHasHorizontalScrollbar): Ditto. + (WebCore::RenderLayer::setHasVerticalScrollbar): Ditto. + +2006-02-24 Eric Seidel <eseidel@apple.com> + + Reviewed by anders. + + Fix the win32 build. + + * page/Frame.cpp: + (WebCore::Frame::adjustPageHeight): + (WebCore::Frame::forceLayoutWithPageWidthRange): + +2006-02-23 David Hyatt <hyatt@apple.com> + + Rename FontDef to FontDescription and move it into the platform directory. + + Reviewed by darin + + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::attributedString): + * css/css_computedstyle.cpp: + (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): + * css/css_valueimpl.cpp: + (WebCore::CSSPrimitiveValueImpl::computeLengthFloat): + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::checkForTextSizeAdjust): + (WebCore::CSSStyleSelector::checkForGenericFamilyChange): + (WebCore::CSSStyleSelector::setFontSize): + * css/cssstyleselector.h: + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::recalcStyle): + * editing/visible_text.cpp: + (khtml::TextIterator::exitNode): + * platform/FontDescription.h: Added. + (WebCore::FontDescription::): + (WebCore::FontDescription::FontDescription): + (WebCore::FontDescription::operator!=): + (WebCore::FontDescription::family): + (WebCore::FontDescription::firstFamily): + (WebCore::FontDescription::specifiedSize): + (WebCore::FontDescription::computedSize): + (WebCore::FontDescription::italic): + (WebCore::FontDescription::computedPixelSize): + (WebCore::FontDescription::smallCaps): + (WebCore::FontDescription::isAbsoluteSize): + (WebCore::FontDescription::weight): + (WebCore::FontDescription::genericFamily): + (WebCore::FontDescription::usePrinterFont): + (WebCore::FontDescription::setFamily): + (WebCore::FontDescription::setComputedSize): + (WebCore::FontDescription::setSpecifiedSize): + (WebCore::FontDescription::setItalic): + (WebCore::FontDescription::setSmallCaps): + (WebCore::FontDescription::setIsAbsoluteSize): + (WebCore::FontDescription::setWeight): + (WebCore::FontDescription::setGenericFamily): + (WebCore::FontDescription::setUsePrinterFont): + (WebCore::FontDescription::operator==): + * rendering/RenderText.cpp: + (WebCore::RenderText::widthFromCache): + (WebCore::RenderText::trimmedMinMaxWidth): + * rendering/bidi.cpp: + (khtml::RenderBlock::computeHorizontalPositionsForLine): + * rendering/font.cpp: + (khtml::Font::selectionRectForText): + (khtml::Font::drawHighlightForText): + (khtml::Font::drawText): + (khtml::Font::update): + * rendering/font.h: + (WebCore::Font::Font): + (WebCore::Font::operator==): + (WebCore::Font::fontDescription): + (WebCore::Font::isSmallCaps): + (WebCore::Font::wordSpacing): + (WebCore::Font::floatWidth): + (WebCore::Font::checkSelectionPoint): + (WebCore::Font::width): + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::placeBoxesHorizontally): + * rendering/render_list.cpp: + (RenderListItem::getAbsoluteRepaintRect): + * rendering/render_style.h: + (khtml::RenderStyle::wordSpacing): + (khtml::RenderStyle::letterSpacing): + (khtml::RenderStyle::setFontDescription): + (khtml::RenderStyle::setWordSpacing): + (khtml::RenderStyle::setLetterSpacing): + * rendering/render_theme_mac.mm: + (WebCore::RenderThemeMac::setFontFromControlSize): + +2006-02-23 Maciej Stachowiak <mjs@apple.com> + + - fix build by making some pointless changes to files that Xcode doesn't + rebuild otherwise + + * bindings/js/JSDOMCore.cpp: + * bindings/js/JSDOMEvents.cpp: + * dom/Element.idl: + * dom/WheelEvent.idl: + + - add -Y 3 flag to linking; this makes the linker say what files reference + unresolved symbols + + * WebCore.xcodeproj/project.pbxproj: + +2006-02-23 Darin Adler <darin@apple.com> + + - try to fix Windows build + + * platform/win/TemporaryLinkStubs.cpp: Removed childX/Y stubs. + +2006-02-23 Darin Adler <darin@apple.com> + + - try to fix Windows build + + * platform/win/TemporaryLinkStubs.cpp: Removed QPalette-related stubs. + + - remove unused forwarding headers + + * ForwardingHeaders/kurl.h: Removed. + * ForwardingHeaders/qlist.h: Removed. + * ForwardingHeaders/qregion.h: Removed. + * ForwardingHeaders/qsortedlist.h: Removed. + +2006-02-23 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - removed QPalette, QRegion, QPrinter + - added Path to replace QRegion + - removed unused QScrollView functions + + * ForwardingHeaders/qpalette.h: Removed. + * kwq/KWQPalette.h: Removed. + * kwq/KWQPalette.mm: Removed. + * kwq/KWQPrinter.h: Removed. + * kwq/KWQRegion.cpp: Removed. + * kwq/KWQRegion.h: Removed. + + * platform/Path.h: Added. Replaces QRegion. + * platform/cg: Added. + * platform/cg/PathCG.cpp: Added. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file changes. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * bridge/mac/MacFrame.mm: Removed use of KWQPrinter.h. + (WebCore::MacFrame::khtmlMouseMoveEvent): Removed use of viewport(). + * bridge/mac/WebCoreFrameBridge.mm: Removed use of KWQPrinter.h. + * khtml/html/html_imageimpl.cpp: + (WebCore::HTMLAreaElementImpl::getRect): Replaced QRegion with Path. + (WebCore::HTMLAreaElementImpl::getRegion): Ditto. + * khtml/html/html_imageimpl.h: Ditto. + * kwq/KWQPainter.mm: Removed use of QRegion. + * page/Frame.cpp: (WebCore::Frame::~Frame): Removed use of viewport(). + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): Ditto. + (WebCore::FrameView::viewportMouseMoveEvent): Ditto. + * rendering/render_frames.cpp: (WebCore::RenderFrameSet::userResize): Ditto. + * rendering/render_layer.cpp: (WebCore::RenderLayer::scrollRectToVisible): Ditto. + + * kwq/KWQScrollView.h: Removed viewport(), hasVerticalScrollBar(), + hasHorizontalScrollBar(), childX(), childY(). + * kwq/KWQScrollView.mm: Ditto. + + * rendering/render_box.cpp: (WebCore::RenderBox::paintBackgroundExtended): + Removed use of QPalette that always yields white. + * rendering/render_canvas.cpp: (WebCore::RenderCanvas::paintBoxDecorations): + Ditto. + + * platform/Widget.h: + * platform/mac/WidgetMac.mm: Removed palette() and setPalette(). + + * kwq/KWQLineEdit.h: Replaced setPalette with setColors. + * kwq/KWQLineEdit.mm: (QLineEdit::setColors): Replaced setPalette. + * kwq/KWQTextEdit.h: Ditto. + * kwq/KWQTextEdit.mm: (QTextEdit::setColors): Ditto. + + * rendering/render_form.cpp: + (WebCore::RenderFormElement::updateFromElement): Removed call to setPalette. + (WebCore::RenderLineEdit::updateFromElement): Added call to setColors. + (WebCore::RenderTextArea::updateFromElement): Ditto. + + * rendering/render_replaced.cpp: (WebCore::RenderWidget::paint): + Removed use of childX and childY functions. + +2006-02-23 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - add KURL to windows build and fix its compile issues + http://bugs.webkit.org/show_bug.cgi?id=7439 + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/KURL.cpp: + +2006-02-23 Maciej Stachowiak <mjs@apple.com> + + - fix build (header name changed) + + * platform/mac/KURLMac.mm: + +2006-02-23 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - add temporary stubs that call abort() for functions only called from render and editing code + http://bugs.webkit.org/show_bug.cgi?id=7429 + + This gets rid of a couple hundred link errors. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * kwq/KWQFontMetrics.h: + * kwq/KWQSignal.h: + (KWQSignal::KWQSignal): + * platform/win/TemporaryLinkStubs.cpp: Added. + (notImplemented): + (QLineEdit::selectAll): + (WebCore::QPainter::save): + (WebCore::Widget::enableFlushDrawing): + (WebCore::QPainter::drawHighlightForText): + (QFont::setPrinterFont): + (QTextEdit::textWithHardLineBreaks): + (QLineEdit::cursorPosition): + (WebCore::QPainter::setPen): + (WebCore::QPainter::selectedTextBackgroundColor): + (WebCore::QPainter::fontMetrics): + (WebCore::Widget::show): + (QFont::setItalic): + (QSlider::setValue): + (QLineEdit::addSearchResult): + (KWQFileButton::click): + (QLineEdit::setWritingDirection): + (KWQFileButton::sizeForCharacterWidth): + (QTextEdit::sizeWithColumnsAndRows): + (WebCore::iBeamCursor): + (QComboBox::clear): + (WebCore::QPainter::misspellingLineThickness): + (QLineEdit::maxLength): + (WebCore::westResizeCursor): + (WebCore::Widget::isEnabled): + (WebCore::northWestResizeCursor): + (QTextEdit::selectionEnd): + (QFont::determinePitch): + (QTextEdit::setScrollBarModes): + (WebCore::QPainter::drawEllipse): + (WebCore::southWestResizeCursor): + (QTextEdit::setReadOnly): + (QListBox::appendItem): + (WebCore::Widget::focusPolicy): + (QTextEdit::selectAll): + (WebCore::waitCursor): + (WebCore::QPainter::endTransparencyLayer): + (QScrollView::addChild): + (QTextEdit::setDisabled): + (QScrollBar::scroll): + (WebCore::Widget::~Widget): + (QListBox::sizeForNumberOfLines): + (QScrollView::resizeContents): + (QLineEdit::selectionStart): + (QLineEdit::QLineEdit): + (WebCore::FrameView::updateBorder): + (QLineEdit::hasSelectedText): + (QListBox::doneAppendingItems): + (QScrollView::inWindow): + (QScrollBar::setValue): + (QTextEdit::hasSelectedText): + (QTextEdit::selectionStart): + (QFont::setWeight): + (QScrollView::scrollXOffset): + (QListBox::isSelected): + (QLineEdit::setReadOnly): + (WebCore::QPainter::drawLineForText): + (QObject::disconnect): + (WebCore::QPainter::QPainter): + (QComboBox::~QComboBox): + (QComboBox::focusPolicy): + (WebCore::QPainter::drawImageAtPoint): + (WebCore::QPainter::clearShadow): + (QTextEdit::setLineHeight): + (QMouseEvent::QMouseEvent): + (WebCore::eastResizeCursor): + (QScrollBar::setKnobProportion): + (QFontMetrics::boundingRect): + (QTextEdit::setSelectionStart): + (WebCore::QPainter::beginTransparencyLayer): + (WebCore::northEastResizeCursor): + (WebCore::Widget::frameGeometry): + (QListBox::setSelected): + (WebCore::QPainter::addFocusRingRect): + (QTextEdit::setCursorPosition): + (WebCore::QPainter::restore): + (QFontMetrics::width): + (WebCore::Widget::setEnabled): + (QTextEdit::setSelectionEnd): + (QComboBox::populate): + (QScrollView::setStaticBackground): + (WebCore::QPainter::font): + (QTextEdit::setAlignment): + (QLineEdit::setCursorPosition): + (WebCore::Widget::palette): + (WebCore::QPainter::pen): + (QFontMetrics::descent): + (QListBox::QListBox): + (QFontMetrics::ascent): + (QLineEdit::selectedText): + (WebCore::crossCursor): + (WebCore::Widget::setIsSelected): + (WebCore::handCursor): + (QLineEdit::text): + (WebCore::Widget::unlockDrawingFocus): + (QLineEdit::setLiveSearch): + (WebCore::QPainter::paintingDisabled): + (WebCore::northResizeCursor): + (QComboBox::QComboBox): + (QSlider::setMaxValue): + (WebCore::Widget::lockDrawingFocus): + (WebCore::QPainter::drawLine): + (WebCore::QPainter::setBrush): + (QTextEdit::setSelectionRange): + (WebCore::QPainter::drawText): + (QScrollView::scrollPointRecursively): + (QLineEdit::sizeForCharacterWidth): + (WebCore::Cursor::~Cursor): + (QFontMetrics::selectionRectForText): + (WebCore::southResizeCursor): + (QScrollView::suppressScrollBars): + (QFontMetrics::checkSelectionPoint): + (QTextEdit::getCursorPosition): + (WebCore::moveCursor): + (WebCore::FrameView::isFrameView): + (QScrollBar::setSteps): + (QLineEdit::setMaxLength): + (QComboBox::baselinePosition): + (QComboBox::appendItem): + (WebCore::helpCursor): + (QTextEdit::setWritingDirection): + (WebCore::Widget::setDrawingAlpha): + (QSlider::QSlider): + (WebCore::southEastResizeCursor): + (QScrollView::setVScrollBarMode): + (WebCore::QPainter::drawScaledAndTiledImage): + (QScrollView::scrollYOffset): + (WebCore::QPainter::drawImage): + (QComboBox::setCurrentItem): + (QFontMetrics::height): + (QComboBox::setWritingDirection): + (QScrollView::setScrollBarsMode): + (QComboBox::sizeHint): + (WebCore::QPainter::drawRect): + (QFont::setPixelSize): + (QLineEdit::setSelection): + (QLineEdit::setMaxResults): + (QListBox::clear): + (QLineEdit::edited): + (WebCore::QPainter::drawTiledImage): + (WebCore::QPainter::clearFocusRing): + (WebCore::Widget::Widget): + (QTextEdit::text): + (WebCore::QPainter::drawImageInRect): + (WebCore::Widget::disableFlushDrawing): + (WebCore::QPainter::initFocusRing): + (QSlider::setMinValue): + (QTextEdit::setWordWrap): + (WebCore::QPainter::drawLineForMisspelling): + (QSlider::value): + (QListBox::setSelectionMode): + (QFontMetrics::lineSpacing): + (QLineEdit::setEdited): + (QComboBox::frameGeometry): + (QListBox::setWritingDirection): + (QLineEdit::setAlignment): + (QScrollView::updateContents): + (QFontMetrics::floatWidth): + (QScrollView::setHScrollBarMode): + +2006-02-23 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - Move KURL from kwq to platform, make portable + http://bugs.webkit.org/show_bug.cgi?id=7437 + + * WebCore.xcodeproj/project.pbxproj: + * css/css_ruleimpl.cpp: + * css/cssparser.cpp: + * css/cssstyleselector.cpp: + * dom/DocumentImpl.h: + * khtml/html/html_baseimpl.cpp: + * khtml/html/html_documentimpl.cpp: + * khtml/html/html_headimpl.cpp: + * khtml/xbl/xbl_binding.cpp: + * ksvg2/svg/SVGDocumentImpl.cpp: + * kwq/KWQTextCodec.cpp: + (QTextCodec::codecForName): + (QTextCodec::utf8Codec): + (QTextCodec::codecForNameEightBitOnly): + (QTextCodec::codecForLocale): + (QTextCodec::name): + (QTextCodec::makeDecoder): + * kwq/KWQTextCodec.h: + * loader/CachedObject.cpp: + * loader/DocLoader.cpp: + * page/Frame.h: + * platform/KURL.cpp: Added. + (KURL::decode_string): + (encodeRelativeString): + * platform/KURL.h: Added. + * platform/mac/KURLMac.mm: Added. + (KURL::getNSURL): + * xml/xmlhttprequest.h: + +2006-02-23 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + - moved QMouseEvent, QKeyEvent, QWheelEvent, and "Foundation extras" + from kwq to platform directory + - moved history function from kwq to bridge directory + - eliminated QEvent, MousePressEvent, MouseDoubleClickEvent, MouseMoveEvent, + MoveReleaseEvent, and DrawContents classes + - merged NodeImpl::MouseEvent and the MouseEvent from khtml_events.h into + a single class in the page directory + - broke khtmllayout.h out into a file for the Length structure in the css + directory and a file for the GapRects structure in the rendering directory + - redid the Length structure to work more portably by not relying on bitfield + layout and improve the names to no longer explicitly mention "width" + - reduced use of QGuardedPtr and other uses of the QObject "destroyed" signal + + * ForwardingHeaders/kparts: Removed. + * ForwardingHeaders/qevent.h: Removed. + * khtml/khtml_events.cpp: Removed. + * khtml/khtml_events.h: Removed. + * khtml/misc/khtmllayout.h: Removed. + * kwq/KWQEvent.h: Removed. + * kwq/KWQEvent.mm: Removed. + * kwq/KWQFoundationExtras.h: Removed. + * kwq/KWQKHistoryProvider.mm: Removed. + * kwq/KWQKPartsHistoryProvider.h: Removed. + + * bridge/History.h: Added. + * bridge/mac/HistoryMac.mm: Added. + * css/Length.h: Added. + * page/MouseEventWithHitTestResults.h: Added. + * platform/KeyEvent.h: Added. + * platform/MouseEvent.h: Added. + * platform/WheelEvent.h: Added. + * platform/mac/FoundationExtras.h: Added. + * platform/mac/KeyEventMac.mm: Added. + * platform/mac/MouseEventMac.mm: Added. + * platform/mac/WheelEventMac.mm: Added. + * rendering/GapRects.h: Added. + + * WebCore.xcodeproj/project.pbxproj: Updated for above changes. + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for above changes. + + * bridge/mac/MacFrame.h: Removed unused parameters from urlSelected functions. + Replaced MouseEvent, MousePressEvent, MouseMoveEvent, and MouseReleaseEvent + with MouseEventWithHitTestResults. + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::urlSelected): Removed unused parameters. + (WebCore::MacFrame::wheelEvent): Changed to use WheelEvent. + (WebCore::MacFrame::keyEvent): Changed to use KeyEvent. + (WebCore::MacFrame::khtmlMousePressEvent): Changed parameter type. + (WebCore::MacFrame::khtmlMouseMoveEvent): Ditto. + (WebCore::MacFrame::khtmlMouseReleaseEvent): Ditto. + (WebCore::MacFrame::passSubframeEventToSubframe): Ditto. + (WebCore::MacFrame::mouseDown): Changed to use MouseEvent. + (WebCore::MacFrame::mouseDragged): Ditto. + (WebCore::MacFrame::mouseUp): Ditto. + (WebCore::MacFrame::mouseMoved): Ditto. + (WebCore::MacFrame::sendContextMenuEvent): Ditto. + + * css/csshelper.h: Removed a bunch of unused declarations. + + * dom/DocumentImpl.h: + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::prepareMouseEvent): Changed to take a MouseEvent + and return a MouseEventWithHitTestResults. + (WebCore::DocumentImpl::defaultEventHandler): Changed to use KeyEvent. + + * dom/NodeImpl.h: Removed NodeImpl::MouseEvent and NodeImpl::MouseEventType. + * dom/NodeImpl.cpp: + (WebCore::NodeImpl::dispatchMouseEvent): Changed to always get the type and + detail values from the caller, never from the event. Changed to use MouseEvent. + (WebCore::NodeImpl::dispatchKeyEvent): Changed to use KeyEvent. + (WebCore::NodeImpl::dispatchWheelEvent): Changed to use WheelEvent. + + * dom/dom2_eventsimpl.h: + * dom/dom2_eventsimpl.cpp: + (WebCore::KeyboardEventImpl::KeyboardEventImpl): Changed to use KeyEvent. + (WebCore::KeyboardEventImpl::charCode): Ditto. + + * dom/dom_elementimpl.h: Removed unused mouseEventHandler function. + + * khtml/ecma/domparser.h: Use RefPtr instead of QGuardedPtr to hold the reference + to the document. + + * khtml/ecma/kjs_proxy.h: (WebCore::KJSProxyImpl::haveInterpreter): Added. For + use in the Frame destructor so we can get an existing KJS::Window object without + creating a new interpreter and window object. + + * khtml/ecma/kjs_window.h: Merged WindowQObject into Window. Changed all the + guarded pointers to Frame to use plain old pointers that are cleared by the + Frame explicitly (by the function disconnectFrame). Made the pointers to all + the sub-objects of KJS::Window be mutable so we don't have to const_cast in + the functions to get (and lazily create) them. + * khtml/ecma/kjs_window.cpp: + (KJS::DOMWindowTimer::DOMWindowTimer): Use Window* instead of WindowQObject*. + (KJS::History::disconnectFrame): Added. Clears m_frame. + (KJS::FrameArray::disconnectFrame): Added. Clears m_frame. + (KJS::Window::Window): Removed code to create a WindowQObject. + (KJS::Window::~Window): Removed code to delete a WindowQObject. + (KJS::Window::location): Remove now-unneeded const_cast. + (KJS::Window::selection): Ditto. + (KJS::Window::locationbar): Ditto. + (KJS::Window::menubar): Ditto. + (KJS::Window::personalbar): Ditto. + (KJS::Window::statusbar): Ditto. + (KJS::Window::toolbar): Ditto. + (KJS::Window::scrollbars): Ditto. + (KJS::Window::getValueProperty): Update since m_frame is now a raw pointer. + (KJS::Window::getOwnPropertySlot): Ditto. + (KJS::Window::toBoolean): Ditto. + (KJS::Window::scheduleClose): Remove assert that WindowQObject* is not null. + (KJS::Window::isSafeScript): Update since m_frame is now a raw pointer. + (KJS::Window::clear): Remove code to delete a WindowQObject. Added a call + to clearAllTimeouts instead. + (KJS::Window::clearAllTimeouts): Added. Does equivalent of the WindowQObject + destructor. + (KJS::Window::installTimeout): Moved to Window from WindowQObject. + (KJS::Window::pauseTimeouts): Ditto. + (KJS::Window::resumeTimeouts): Ditto. + (KJS::Window::clearTimeout): Ditto. + (KJS::Window::timerFired): Ditto. + (KJS::Window::disconnectFrame): Added. Sets all the frame pointers to 0. + (KJS::FrameArray::getOwnPropertySlot): Update since m_frame is now a raw pointer. + (KJS::Location::getOwnPropertySlot): Ditto. + (KJS::Location::put): Ditto. + (KJS::Selection::getOwnPropertySlot): Ditto. + (KJS::BarInfo::getOwnPropertySlot): Ditto. + + * khtml/html/html_baseimpl.h: Forward-declare Length instead of including khtmllayout.h. + * khtml/html/html_imageimpl.h: Ditto. + + * khtml/html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElementImpl::defaultEventHandler): + Changed to use KeyEvent and removed the code to extract the button and state from the + DOM even to pass to urlSelected. + * ksvg2/svg/SVGAElementImpl.cpp: (SVGAElementImpl::defaultEventHandler): Ditto. + + * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::timerFired): Change to use + a RefPtr instead of a QGuardedPtr. + + * khtml/misc/helper.h: + * khtml/misc/helper.cpp: Removed printpainter and setPrintPainter. + + * ksvg2/svg/SVGDocumentImpl.h: + * ksvg2/svg/SVGDocumentImpl.cpp: (WebCore::SVGDocumentImpl::dispatchKeyEvent): + Change to use KeyEvent. + + * kwq/KWQComboBox.mm: + (-[KWQPopUpButton becomeFirstResponder]): + (-[KWQPopUpButton resignFirstResponder]): + * kwq/KWQFileButton.mm: + (KWQFileButton::focusChanged): + * kwq/KWQListBox.mm: + (-[KWQTableView becomeFirstResponder]): + (-[KWQTableView resignFirstResponder]): + * kwq/KWQSlider.mm: + (-[KWQSlider becomeFirstResponder]): + (-[KWQSlider resignFirstResponder]): + * kwq/KWQTextArea.mm: + (-[KWQTextAreaTextView becomeFirstResponder]): + (-[KWQTextAreaTextView resignFirstResponder]): + * kwq/KWQTextField.mm: + (-[KWQTextFieldController setHasFocus:]): + Updated to use new eventFilterFocusIn/Out instead of the general purpose + eventFilter function. This allows us to remove QEvent and the focus events. + + * kwq/KWQNamespace.h: Removed ButtonState. + + * kwq/KWQObject.h: + * kwq/KWQObject.cpp: Replaced eventFilter function with eventFilterFocusIn and + eventFilterFocusOut, allowing us to remove QEvent. Removed event function. + + * kwq/KWQSlot.cpp: + (KWQSlot::KWQSlot): Removed the parentDestroyed slot. + (KWQSlot::call): Ditto. + + * page/Frame.h: + * page/Frame.cpp: + (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): Renamed from + PartStyleSheetLoader. Removed a lot of unneeded null checks. Use a + raw Frame pointer instead of a QGuardedPtr, and count on the Frame + to delete us when it's being deleted. + (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader): No longer + a virtual function. This is not a polymorphic class. + (WebCore::UserStyleSheetLoader::setStyleSheet): Remove code to delete + ourselves -- that's now the frame's responsibility. + (WebCore::Frame::~Frame): Call disconnectFrame on the KJS::Window and + delete m_userStyleSheetLoader. + (WebCore::Frame::changeLocation): Update since urlSelected no longer takes + button and state parameters. + (WebCore::Frame::setUserStyleSheet): Delete existing loader to stop a load + in progress before starting a new load. Store reference to loader. + (WebCore::Frame::urlSelected): Remove button and state parameters and unused + local variable hasTarget. + (WebCore::Frame::selectClosestWordFromMouseEvent): Change from QMouseEvent + to MouseEvent. + (WebCore::Frame::handleMousePressEventDoubleClick): Change from MousePressEvent + to MouseEventWithHitTestResults. + (WebCore::Frame::handleMousePressEventTripleClick): Ditto. + (WebCore::Frame::handleMousePressEventSingleClick): Ditto. + (WebCore::Frame::khtmlMousePressEvent): Ditto. + (WebCore::Frame::handleMouseMoveEventSelection): Change from MouseMoveEvent + to MouseEventWithHitTestResults. + (WebCore::Frame::khtmlMouseMoveEvent): Ditto. + (WebCore::Frame::khtmlMouseReleaseEvent): Change from MouseReleaseEvent + to MouseEventWithHitTestResults. + (WebCore::Frame::khtmlMouseDoubleClickEvent): Change from + MouseReleaseDoubleClickEvent to MouseEventWithHitTestResults. + (WebCore::Frame::passWidgetMouseDownEventToWidget): Change from + NodeImpl::MouseEvent to MouseEventWithHitTestResults. + + * page/FramePrivate.h: Added m_userStyleSheetLoader. + + * page/FrameView.h: + * page/FrameView.cpp: + (WebCore::FrameView::viewportMousePressEvent): Change from QMouseEvent to + MouseEvent and from NodeImpl::MouseEvent to MouseEventWithHitTestResults. + (WebCore::FrameView::viewportMouseDoubleClickEvent): Ditto. + (WebCore::selectCursor): Ditto. + (WebCore::FrameView::viewportMouseMoveEvent): Ditto. + (WebCore::FrameView::viewportMouseReleaseEvent): Ditto. + (WebCore::FrameView::keyPressEvent): Change from QKeyEvent to KeyEvent. + (WebCore::FrameView::dispatchMouseEvent): Change from QMouseEvent to + MouseEvent and from NodeImpl::MouseEvent to MouseEventWithHitTestResults. + (WebCore::FrameView::viewportWheelEvent): Change from QWheelEvent to + WheelEvent. + (WebCore::FrameView::hoverTimerFired): Update for change to prepareMouseEvent + parameters. + + * platform/Widget.h: + * platform/Widget.cpp: Removed event function. + + * rendering/render_form.h: Removed LineEditWidget, ComboBoxWidget, TextAreaWidget. + * rendering/render_form.cpp: + (WebCore::RenderFormElement::slotClicked): Changed from QMouseEvent to MouseEvent. + (WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed): Updated for changes + to the Length class. + (WebCore::RenderSelect::setWidgetWritingDirection): Updated for removal of + ComboBoxWidget. + (WebCore::RenderSelect::slotSelected): Ditto. + (WebCore::RenderSelect::createComboBox): Ditto. + + * rendering/render_replaced.h: + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::destroy): Updated since removeEventFilter no longer takes + a parameter. + (WebCore::RenderWidget::setQWidget): Ditto. + (WebCore::RenderWidget::eventFilterFocusIn): Added. Replaces eventFilter. + (WebCore::RenderWidget::eventFilterFocusOut): Ditto. + + * css/css_computedstyle.cpp: + (WebCore::valueForLength): + (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): + * css/cssstyleselector.cpp: + (WebCore::checkPseudoState): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): + * khtml/html/html_imageimpl.cpp: + (WebCore::HTMLAreaElementImpl::getRegion): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::MarginInfo::MarginInfo): + (WebCore::RenderBlock::isSelfCollapsingBlock): + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::determineHorizontalPosition): + (WebCore::RenderBlock::leftRelOffset): + (WebCore::RenderBlock::rightRelOffset): + (WebCore::RenderBlock::calcMinMaxWidth): + (WebCore::getBPMWidth): + (WebCore::RenderBlock::calcInlineMinMaxWidth): + (WebCore::RenderBlock::calcBlockMinMaxWidth): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::calcWidth): + (WebCore::RenderTable::layout): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::calcMinMaxWidth): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::addChild): + (WebCore::RenderTableSection::addCell): + (WebCore::RenderTableSection::calcRowHeight): + (WebCore::RenderTableSection::layoutRows): + * rendering/RenderText.h: + (khtml::RenderText::marginLeft): + (khtml::RenderText::marginRight): + * rendering/bidi.cpp: + (khtml::getBPMWidth): + * rendering/render_applet.cpp: + (WebCore::RenderApplet::createWidgetIfNecessary): + * rendering/render_box.cpp: + (WebCore::RenderBox::paintBackgroundExtended): + (WebCore::RenderBox::getClipRect): + (WebCore::RenderBox::relativePositionOffset): + (WebCore::RenderBox::calcWidth): + (WebCore::RenderBox::calcWidthUsing): + (WebCore::RenderBox::sizesToIntrinsicWidth): + (WebCore::RenderBox::calcHorizontalMargins): + (WebCore::RenderBox::calcHeight): + (WebCore::RenderBox::calcHeightUsing): + (WebCore::RenderBox::calcPercentageHeight): + (WebCore::RenderBox::calcReplacedWidth): + (WebCore::RenderBox::calcReplacedWidthUsing): + (WebCore::RenderBox::calcReplacedHeight): + (WebCore::RenderBox::calcReplacedHeightUsing): + (WebCore::RenderBox::availableHeightUsing): + (WebCore::RenderBox::calcVerticalMargins): + (WebCore::RenderBox::calcAbsoluteHorizontal): + (WebCore::RenderBox::calcAbsoluteHorizontalValues): + (WebCore::RenderBox::calcAbsoluteVertical): + (WebCore::RenderBox::calcAbsoluteVerticalValues): + * rendering/render_br.cpp: + (WebCore::RenderBR::lineHeight): + * rendering/render_flexbox.cpp: + (khtml::RenderFlexibleBox::calcHorizontalMinMaxWidth): + (khtml::RenderFlexibleBox::calcVerticalMinMaxWidth): + (khtml::RenderFlexibleBox::calcMinMaxWidth): + (khtml::RenderFlexibleBox::allowedChildFlex): + * rendering/render_flow.cpp: + (WebCore::RenderFlow::lineHeight): + * rendering/render_frames.cpp: + (WebCore::RenderFrameSet::layout): + * rendering/render_image.cpp: + (WebCore::RenderImage::isWidthSpecified): + (WebCore::RenderImage::isHeightSpecified): + * rendering/render_layer.cpp: + (WebCore::Marquee::direction): + (WebCore::Marquee::start): + (WebCore::Marquee::updateMarqueeStyle): + (WebCore::Marquee::timerFired): + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::marginLeft): + (WebCore::InlineFlowBox::marginRight): + * rendering/render_object.cpp: + (WebCore::RenderObject::mustRepaintBackgroundOrBorder): + (WebCore::RenderObject::paintBorderImage): + (WebCore::RenderObject::paddingTop): + (WebCore::RenderObject::paddingBottom): + (WebCore::RenderObject::paddingLeft): + (WebCore::RenderObject::paddingRight): + (WebCore::RenderObject::getVerticalPosition): + (WebCore::RenderObject::lineHeight): + (WebCore::RenderObject::addDashboardRegions): + * rendering/render_style.h: + * rendering/render_theme_mac.mm: + (WebCore::RenderThemeMac::addIntrinsicMargins): + * rendering/table_layout.cpp: + (WebCore::FixedTableLayout::calcWidthArray): + (WebCore::FixedTableLayout::calcMinMaxWidth): + (WebCore::FixedTableLayout::layout): + (WebCore::AutoTableLayout::recalcColumn): + (WebCore::AutoTableLayout::fullRecalc): + (WebCore::AutoTableLayout::calcMinMaxWidth): + (WebCore::AutoTableLayout::calcEffectiveWidth): + (WebCore::AutoTableLayout::layout): + (WebCore::AutoTableLayout::calcPercentages): + Updated for changes to the Length class. + Also removed a check of the printpainter global, never used in WebCore. + + * bindings/objc/DOM.mm: + * bindings/objc/DOMCSS.mm: + * bindings/objc/DOMHTML.mm: + * bridge/mac/WebCoreFrameBridge.mm: + * css/csshelper.cpp: + * editing/SelectionController.cpp: + * khtml/ecma/kjs_html.h: + * kwq/KWQAccObject.mm: + * kwq/KWQAccObjectCache.mm: + * kwq/KWQClipboard.mm: + * kwq/KWQFont.mm: + * kwq/KWQFontMetrics.mm: + * kwq/KWQKJobClasses.mm: + * kwq/KWQKURL.mm: + * kwq/KWQLoader.mm: + * kwq/KWQPageState.mm: + * kwq/KWQPainter.mm: + * kwq/WebCoreSettings.mm: + * platform/StringImpl.cpp: + * platform/mac/CursorMac.mm: + * platform/mac/WidgetMac.mm: + * rendering/RenderBlock.h: + * rendering/render_canvas.cpp: + * rendering/render_line.h: + * rendering/render_style.cpp: + * rendering/table_layout.h: + Updated includes. + + * bindings/js/JSDOMCore.cpp: Touched, because I got strange failures if this + didn't rebuild. + * bindings/js/JSDOMEvents.cpp: Ditto. + +2006-02-23 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Fix linking of static constructed globals on win32. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * config.h: + * dom/EventNames.cpp: + (WebCore::EventNames::init): + * dom/EventNames.h: + * dom/dom_qname.cpp: + (WebCore::QualifiedName::init): + * dom/dom_qname.h: + * khtml/html/htmlnames.cpp: + (WebCore::HTMLNames::init): + * khtml/html/htmlnames.h: + * platform/AtomicString.cpp: + (WebCore::AtomicString::init): + * platform/StaticConstructors.h: Added. + +2006-02-23 Vicki Murley <vicki@apple.com> + + Reviewed by Tim Omernick. + + - fix <rdar://problem/4394910> calling Javascript window.close() does not trigger onbeforeunload event + + Check shouldClose() before actually scheduling a close. + + shouldClose() checks for the onbeforeunload handler, displays the onbeforeunload dialog, and returns a + result based on whether the user clicks "OK" or "Cancel". In cases where the window is closed with cmd-w + or by clicking the red globe, shouldClose() is checked in the windowShouldClose delegate method. Since + windowShouldClose isn't invoked when a window is closed with Javascript, it makes sense to add a check + for shouldClose() in scheduleClose(), returning early when appropriate before the chain of events that + closes a window even gets started. + + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::scheduleClose): add a check for shouldClose() + +2006-02-23 Vicki Murley <vicki@apple.com> + + Reviewed by Hyatt. + + - fix <rdar://problem/4456004> onbeforeunload should cancel, and + <rdar://problem/4453579> REGRESSION (TOT): onbeforeunload is broken (7421) + + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::shouldClose): Onbeforeunload is a non-bubbling window + event, so we should be using handleWindowEvent rather than dispatching a + generic event on the body. It seems this only worked before because of incorrect + code in other parts of the tree. + * dom/dom2_eventsimpl.cpp: + (WebCore::BeforeUnloadEventImpl::BeforeUnloadEventImpl): for this constructor, + pass true for the cancel parameter + +2006-02-22 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Adding stub FrameWin class to expose link errors. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * bridge/win/FrameWin.cpp: Added. + * bridge/win/FrameWin.h: Added. + (WebCore::Win): + +2006-02-22 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Geoff. + + - move QStringList to platform, make it portable + + * ForwardingHeaders/qstringlist.h: Removed. + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/DocumentImpl.h: + * kcanvas/KCanvasFilters.h: + * khtml/xbl/xbl_protohandler.cpp: + * ksvg2/svg/SVGColorImpl.cpp: + * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp: + * ksvg2/svg/SVGDOMImplementationImpl.h: + * ksvg2/svg/SVGFEBlendElementImpl.cpp: + * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp: + * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp: + * ksvg2/svg/SVGFECompositeElementImpl.cpp: + * ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp: + * ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp: + * ksvg2/svg/SVGFEFloodElementImpl.cpp: + * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp: + * ksvg2/svg/SVGFELightElementImpl.cpp: + * ksvg2/svg/SVGFEMergeElementImpl.cpp: + * ksvg2/svg/SVGFEOffsetElementImpl.cpp: + * ksvg2/svg/SVGFESpecularLightingElementImpl.cpp: + * ksvg2/svg/SVGFETileElementImpl.cpp: + * ksvg2/svg/SVGFETurbulenceElementImpl.cpp: + * ksvg2/svg/SVGFitToViewBoxImpl.cpp: + * ksvg2/svg/SVGLengthListImpl.cpp: + * ksvg2/svg/SVGNumberListImpl.cpp: + * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp: + * ksvg2/svg/SVGStringListImpl.cpp: + * ksvg2/svg/SVGStyledTransformableElementImpl.cpp: + * ksvg2/svg/SVGTransformableImpl.cpp: + * kwq/KWQClipboard.mm: + * kwq/KWQKConfigBase.mm: + * kwq/KWQKHTMLSettings.h: + * kwq/KWQKLocale.h: + * kwq/KWQKSSLKeyGen.h: + * kwq/KWQStringList.h: Removed. + * kwq/KWQStringList.mm: Removed. + * loader/DocLoader.h: + * page/Frame.h: + * platform/QStringList.cpp: Added. + (QStringList::split): + (QStringList::pop_front): + * platform/QStringList.h: Added. + * platform/mac/QStringListMac.mm: Added. + (QStringList::getNSArray): + +2006-02-21 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + Tests: + * fast/forms/input-baseline.html + * fast/inline-block/contenteditable-baseline.html + + - Fixed http://bugs.webkit.org/show_bug.cgi?id=7330 + baselinePosition is wrong for new text field when empty + + * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): + If we're dealing with an empty contenteditable block, then we've added height to the block to make room for the caret, + and there are no children to give us the baseline. Instead, compute the baseline for the block itself, and factor in the border and the padding. + +2006-02-21 Vicki Murley <vicki@apple.com> + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7363 + REGRESSION (r12872): Repro crash when clicking the Quick Reply box in Gmail + + Add a nil check for the renderer, and refetch the renderer for the old focus node + after dispatching the event. + + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::setFocusNode): + +2006-02-21 Maciej Stachowiak <mjs@apple.com> + + Rubber Stamped by Hyatt. + + - renamed STATIC, FIXED, RELATIVE, ABSOLUTE to StaticPosition, FixedPosition, etc + + This avoids conflicting with win32 headers. + + * css/css_computedstyle.cpp: + (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + (WebCore::CSSStyleSelector::applyProperty): + * editing/htmlediting.cpp: + (WebCore::isSpecialElement): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::updateFirstLetter): + * rendering/render_box.cpp: + (WebCore::RenderBox::setStyle): + (WebCore::RenderBox::absolutePosition): + (WebCore::RenderBox::computeAbsoluteRepaintRect): + * rendering/render_flow.cpp: + (WebCore::RenderFlow::getAbsoluteRepaintRect): + * rendering/render_layer.cpp: + (WebCore::RenderLayer::convertToLayerCoords): + (WebCore::RenderLayer::calculateClipRects): + (WebCore::RenderLayer::calculateRects): + * rendering/render_object.cpp: + (WebCore::RenderObject::markContainingBlocksForLayout): + (WebCore::RenderObject::containingBlock): + (WebCore::RenderObject::setStyle): + (WebCore::RenderObject::container): + * rendering/render_style.cpp: + (WebCore::RenderStyle::diff): + * rendering/render_style.h: + (khtml::): + (khtml::RenderStyle::initialPosition): + +2006-02-21 Maciej Stachowiak <mjs@apple.com> + + Rubber Stamped by Hyatt. + + - remove KWQSignalStubs.cpp from project. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + +2006-02-21 Maciej Stachowiak <mjs@apple.com> + + Platform build fix, not reviewed. + + - undef min and max, and include <algorithm> so std::min works + + * rendering/font.h: + +2006-02-20 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Geoff and Darin. + + Patch from Maks Orlovich, based on work by David Faure, hand-applied and + significantly reworked by me. + + - Patch: give internal function names (KJS merge) + http://bugs.webkit.org/show_bug.cgi?id=6279 + + * khtml/ecma/kjs_binding.h: + * khtml/ecma/kjs_html.cpp: + (KJS::HTMLElementFunction::HTMLElementFunction): + * kwq/WebCoreScriptDebugger.mm: + (-[WebCoreScriptCallFrame functionName]): + +2006-02-20 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7331 + CSS parser leaks when parsing incorrect CSS + + * css/css_base.h: + (WebCore::CSSSelector::append): Replaced recursive implementation + with an iterative one. + (WebCore::StyleBaseImpl::StyleBaseImpl): Changed to be a Shared, not + a TreeShared; parents now ref children as needed. This change was + vital to fix the storage leaks. Also removed unused multiLength bool. + (WebCore::StyleBaseImpl::parent): Added. Needed now that there's no + TreeShared base class. + (WebCore::StyleBaseImpl::setParent): Ditto. + (WebCore::StyleBaseImpl::insertedIntoParent): Added. Hook for + notification when added to a parent -- used by import style rules. + (WebCore::StyleListImpl::StyleListImpl): Changed to use a Vector instead + of a QPtrList for children. Slower for dynamic insert and remove for the + DOM API, faster and more efficient for everything else. + * css/css_base.cpp: + (WebCore::StyleListImpl::append): Now calls insertedIntoParent + and uses Vector. + (WebCore::StyleListImpl::insert): Added. Calls insertedIntoParent. + (WebCore::StyleListImpl::remove): Added. + + * css/css_grammar.y: Removed obsolete "don't inline" stuff. Changed all + code that creates new objects to use new functions on CSSParser. For + CSSSelector, ValueList, Function, and Value, this means using new + functions with a "floating" concept, but for reference-counted classes + this just means asking the CSSParser to create the object instead of + calling new. Remove all explicit "delete", which is now handled by the + parser instead, which works when the Bison-generated parser fails too, + not just when it hits error rules in the grammar. + + * css/css_ruleimpl.h: + * css/css_ruleimpl.cpp: + (WebCore::CSSImportRuleImpl::CSSImportRuleImpl): Remove call to init() + which kicks off style sheet loading. We now do that when we are added to + our parent instead of construction time. Also removed unused constructor. + (WebCore::CSSImportRuleImpl::insertedIntoParent): Replaced init() with this + function that does much the same thing at a different time. Changed code + that sets m_loading to do it in a simple way that doesn't need a big comment. + (WebCore::CSSMediaRuleImpl::insertRule): Use RefPtr. + + * css/css_stylesheetimpl.cpp: + (StyleSheetImpl::StyleSheetImpl): Pass 0 for parent explicitly since the + empty constructor was removed in the other patch. + (CSSStyleSheetImpl::CSSStyleSheetImpl): Remove code to set up m_lstChildren; + that's now handled by the base class. + (CSSStyleSheetImpl::insertRule): Use length() instead of m_listChildren->count() + and insert instead of m_lstChildren->insert. Also use RefPtr for the result of + parseRule. + (CSSStyleSheetImpl::addRule): Use length() instead of m_lstChildren->count(). + (CSSStyleSheetImpl::deleteRule): Use length() instead of checking the result of + take() for 0. Use remove() instead of m_lstChildren->take(). + (CSSStyleSheetImpl::parseString): Use setStrictParsing instead of going at the + strictParsing data member directly. + (CSSStyleSheetImpl::isLoading): Use length() and item() instead of + m_lstChildren->first() and m_lstChildren->next(). + + * css/css_valueimpl.h: Add an include of QPtrList now that it's not used in + any included file. Also added a constructor for CSSValueImpl, now that StyleBaseImpl + has no empty constructor. + * css/css_valueimpl.cpp: + (WebCore::CSSMutableStyleDeclarationImpl::setProperty): Use useStrictParsing() + instead of looking at the strictParsing data member directly. + (WebCore::CSSMutableStyleDeclarationImpl::parseDeclaration): Ditto. + (WebCore::CSSMutableStyleDeclarationImpl::setLengthProperty): Ditto. + (WebCore::CSSMutableStyleDeclarationImpl::setCssText): Ditto. + + * css/cssparser.h: + (WebCore::ValueList): Changed to use a Vector and an index rather + than using a QPtrList. + (WebCore::CSSParser): Changed parseRule to return a PassRefPtr, removed the + createStyleDeclaration function since that's now handled by createStyleRule, + made clearProperties be private, and added a suite of functions to create the + objects formerly made with "new" in the Bison grammar. Also put the Units enum + here in the header, and added an operator so they can be or'ed together while + staying with the enum type so we can use Units instead of int for a function arg. + * css/cssparser.cpp: + (WebCore::ValueList::~ValueList): Changed to use Vector. + (WebCore::CSSParser::CSSParser): Removed initializer for rule now that it's a RefPtr. + (WebCore::CSSParser::~CSSParser): Added code to delete all the items in the sets that + track floating objects. Also removed an unneeded check before callling clearProperties. + (WebCore::CSSParser::parseSheet): Removed "delete rule" since rule is now a RefPtr. + (WebCore::CSSParser::parseRule): Changed code to use rule.release() since rule is now + a RefPtr and this function now returns a PassRefPtr. + (WebCore::CSSParser::parseValue): Removed "delete rule" since rule is now a RefPtr. + (WebCore::CSSParser::parseColor): Ditto. + (WebCore::CSSParser::parseDeclaration): Ditto. + (WebCore::CSSParser::validUnit): Made this a static class member instead of a local + function so it can be used by the SVG parser code. Also updated to use the new ValueList + class that uses Vector. + (WebCore::CSSParser::parse4Values): Updated to new ValueList. + (WebCore::CSSParser::parseContent): Ditto. + (WebCore::skipCommaInDashboardRegion): Ditto. + (WebCore::CSSParser::parseDashboardRegions): Ditto. + (WebCore::CSSParser::parseShape): Ditto. + (WebCore::CSSParser::parseColorFromValue): Ditto. + (WebCore::BorderImageParseContext::commitBorderImage): Ditto. + (WebCore::CSSParser::createFloatingSelector): Added. Puts selector into floating set. + (WebCore::CSSParser::sinkFloatingSelector): Added. Removes from floating set. + (WebCore::CSSParser::createFloatingValueList): Added. Puts list into floating set. + (WebCore::CSSParser::sinkFloatingValueList): Added. Removes from floating set. + (WebCore::CSSParser::createFloatingFunction): Added. Puts function into floating set. + (WebCore::CSSParser::sinkFloatingFunction): Added. Removes from floating set. + (WebCore::CSSParser::sinkFloatingValue): Added. Removes function from floating set if + value contains a function pointer. + (WebCore::CSSParser::createMediaList): Added. Puts list in a vector of RefPtrs kept + by the parser, so the object won't end up floating. + (WebCore::CSSParser::createImportRule): Ditto. + (WebCore::CSSParser::createMediaRule): Ditto. + (WebCore::CSSParser::createRuleList): Ditto. + (WebCore::CSSParser::createStyleRule): Ditto. The properties come from the parser's + global state instead of from a parameter. + + * khtml/xsl/xsl_stylesheetimpl.h: + * khtml/xsl/xsl_stylesheetimpl.cpp: + (WebCore::XSLStyleSheetImpl::XSLStyleSheetImpl): Initialize the new m_stylesheetDocTaken + bool to false. Also remove code to set up m_lstChildren since the base class takes care + of that now. + (WebCore::XSLStyleSheetImpl::~XSLStyleSheetImpl): Only call xmlFreeDoc if the document + was not taken by libxslt. We used to leak XSLStyleSheetImpl objects, which is why we + didn't notice this before; we'll try to double free without this change. + (WebCore::XSLStyleSheetImpl::isLoading): Use length() and item() instead of + m_lstChildren->first() and m_lstChildren->next(). + (WebCore::XSLStyleSheetImpl::clearDocuments): Ditto. + (WebCore::XSLStyleSheetImpl::parseString): Only call xmlFreeDoc if the document was not + taken by libxslt. Also set m_stylesheetDocTaken for the new document. + (WebCore::XSLStyleSheetImpl::loadChildSheet): Use RefPtr and append instead of + m_lstChildren->append. + (WebCore::XSLStyleSheetImpl::compileStyleSheet): Set m_stylesheetDocTaken to true if + xsltParseStylesheetDoc is successful, since the stylesheet then owns the document. + (WebCore::XSLStyleSheetImpl::locateStylesheetSubResource): Use length() and item() + instead of m_lstChildren->first() and m_lstChildren->next(). + (WebCore::XSLStyleSheetImpl::markAsProcessed): Set m_stylesheetDocTaken, since when + this is called, the document is returned to libxslt which then attaches it to a + stylesheet or parent document. + + * ksvg2/css/KSVGCSSParser.cpp: Changed to compile as separate + file instead of being included in cssparser.cpp. + (WebCore::CSSParser::parseSVGPaint): Take out unnecessary check + of number of args. Everything works fine without that check, and + otherwise I'd have to change it for the change in data structure. + (WebCore::CSSParser::parseSVGColor): Ditto. + * WebCore.xcodeproj/project.pbxproj: Added KSVGCSSParser.cpp. + + - fixed another leak found by run-webkit-leaks --leaks + + * kwq/KWQLoader.mm: (KWQServeRequest): Delete the job if we can't do the I/O, because + the caller is passing ownership to us. + + - updated other code to use new Vector insert and remove + + * khtml/html/HTMLFormElementImpl.cpp: + (WebCore::removeFromVector): Changed to use Vector's remove. + (WebCore::HTMLFormElementImpl::registerFormElement): Changed to use Vector's insert. + +2006-02-20 Darin Adler <darin@apple.com> + + Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6831 + contentEditable outline darkens as caret moves + + Test: editing/selection/move-by-character-6.html + + The trick was to draw the focus ring clipped to a list of rectangles instead + of clipped to exactly one. + + * kwq/KWQPainter.h: Move Color parameter from initFocusRing to drawFocusRing. + * kwq/KWQPainter.mm: + (WebCore::QPainterPrivate::QPainterPrivate): Change focusRingPath from + an NSBezierPath to a CGMutablePathRef. + (WebCore::QPainterPrivate::~QPainterPrivate): Ditto. + (WebCore::QPainter::initFocusRing): Removed color parameter, and made a + CGPath instead of an NSBezierPath. + (WebCore::QPainter::addFocusRingRect): CGPath instead of NSBezierPath. + (WebCore::QPainter::drawFocusRing): Added color parameter, and changed to + use new bridge method to draw the focus ring. + (WebCore::QPainter::clearFocusRing): CGPath instead of NSBezierPath. + + * kwq/WebCoreGraphicsBridge.h: + * kwq/WebCoreGraphicsBridge.m: + (-[WebCoreGraphicsBridge drawFocusRingWithPath:radius:color:]): + Replaced setFocusRingStyle: method with this one. + + * rendering/render_flow.cpp: (WebCore::RenderFlow::paintFocusRing): + * rendering/render_object.cpp: (WebCore::RenderObject::paintOutline): + Pass color to drawFocusRing instead of initFocusRing. + + - fixed message on exit from the other patch I just landed + + * platform/mac/CursorMac.mm: + (WebCore::leakNamedCursor): Renamed and made this leak intentionally. + +2006-02-20 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - moved Cursor into the platform directory from KWQ + - removed a lot of other unneeded stuff from KWQ + + * platform/Cursor.h: Added. + * platform/mac/CursorMac.mm: Added. + * platform/mac/CursorWin.cpp: Added. + + * kwq/KWQBuffer.cpp: Removed. + * kwq/KWQBuffer.h: Removed. + * kwq/KWQCursor.h: Removed. + * kwq/KWQCursor.mm: Removed. + * kwq/KWQIODevice.h: Removed. + * kwq/KWQKCursor.h: Removed. + * kwq/KWQKCursor.mm: Removed. + * kwq/KWQKDebug.h: Removed. + * kwq/KWQSignalStubs.cpp: Removed. + + * ForwardingHeaders/kcursor.h: Removed. + * ForwardingHeaders/kdebug.h: Removed. + * ForwardingHeaders/qbuffer.h: Removed. + + * kwq/KWQEvent.h: Removed unused constants and types QCustomEvent, + QFocusEvent, QHideEvent, QShowEvent, QContextMenuEvent, and QResizeEvent. + + * kwq/KWQLoader.h: Removed KWQLoader class since signals are no longer needed. + * kwq/KWQLoader.mm: Ditto. + + * kwq/KWQNamespace.h: Removed DontClip, ShowPrefix, WordBreak, LayoutDirection, + LeftToRight, RightToLeft, RasterOp, CopyROP, OrROP, and XorROP. + + * kwq/KWQObject.h: Removed blockSignals, sender, _signalsBlocked, _sender, + and KWQObjectSenderScope. + * kwq/KWQObject.cpp: + (QObject::QObject): Removed _signalsBlocked. + (QObject::connect): Removed special-case signals to not complain about. + All of them were either unused, converted to non-signal functions, or in one + case (slotScrollBarMoved) turned into a FIXME. + + * kwq/KWQPainter.h: Removed rasterOp and setRasterOp. + * kwq/KWQPainter.mm: Ditto. + + * kwq/KWQSignal.h: + * kwq/KWQSignal.cpp: (KWQSignal::disconnect): Removed special cases for + various signals; all are now using plain function calls instead. + + * kwq/KWQSlot.h: + * kwq/KWQSlot.cpp: Removed slots that are no longer needed because they + are using plain function calls instead of signals. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + Updated for changed files. + + * bridge/mac/FrameViewMac.mm: Moved the contents of KWQKHTMLView.cpp in here. + * bridge/mac/KWQKHTMLView.cpp: Removed. + + * bridge/mac/MacFrame.h: Removed signals, changed setStatusBarText to take + String instead of QString. + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::MacFrame): Removed signals. + (WebCore::MacFrame::setStatusBarText): Changed parameter type. + (WebCore::MacFrame::openURLFromPageCache): Removed parameter from started function. + (WebCore::MacFrame::khtmlMouseMoveEvent): Changed from QCursor() to pointerCursor(). + + * dom/DocumentImpl.h: + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::DocumentImpl): Removed signals. + (WebCore::DocumentImpl::implicitOpen): Ditto. + (WebCore::DocumentImpl::determineParseMode): Removed a use of kdDebug. + (WebCore::DocumentImpl::finishedParsing): Added. Does a setParsing(false) and then + calls finishedParsing on the frame. Replaces the old finishedParsing signal. + + * dom/xml_tokenizer.h: + * dom/xml_tokenizer.cpp: Removed the finishedParsing signal since it's not just + a function on the document. + (WebCore::XMLTokenizer::finish): Call the function instead of emitting the signal. + + * khtml/html/htmlparser.h: + * khtml/html/htmlparser.cpp: Moved the parser inside the WebCore namespace. + + * khtml/html/htmltokenizer.h: + * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::end): Updated + to call finishedParsing function on document rather than emitting a signal. + + * kwq/KWQComboBox.mm: + (-[KWQPopUpButton becomeFirstResponder]): Use QEvent instead of QFocusEvent. + (-[KWQPopUpButton resignFirstResponder]): Ditto. + * kwq/KWQFileButton.mm: (KWQFileButton::focusChanged): Ditto. + * kwq/KWQListBox.mm: + (-[KWQTableView becomeFirstResponder]): Ditto. + (-[KWQTableView resignFirstResponder]): Ditto. + * kwq/KWQSlider.mm: + (-[KWQSlider becomeFirstResponder]): Ditto. + (-[KWQSlider resignFirstResponder]): Ditto. + * kwq/KWQTextArea.mm: + (-[KWQTextAreaTextView becomeFirstResponder]): Ditto. + (-[KWQTextAreaTextView resignFirstResponder]): Ditto. + * kwq/KWQTextField.mm: + (-[KWQTextFieldController setHasFocus:]): Ditto. + + * kwq/KWQTextStream.h: Removed the mode parameter from the QTextStream constructor. + Removed the QTextIStream and QTextOStream classes. + * kwq/KWQTextStream.cpp: (QTextStream::QTextStream): Removed the mode parameter. + + * loader/CachedCSSStyleSheet.h: Changed to take a ByteArray instead of a QBuffer. + * loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::data): Ditto. + * loader/CachedImage.h: Ditto. + * loader/CachedImage.cpp: (WebCore::CachedImage::data): Ditto. + * loader/CachedObject.h: Ditto. + * loader/CachedScript.h: Ditto. + * loader/CachedScript.cpp: (WebCore::CachedScript::data): Ditto. + * loader/CachedXBLDocument.h: Ditto. + * loader/CachedXBLDocument.cpp: (WebCore::CachedXBLDocument::data): Ditto. + * loader/CachedXSLStyleSheet.h: + * loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::data): Ditto. + + * loader/DocLoader.cpp: (WebCore::DocLoader::setLoadInProgress): Added a call + to loadDone on the frame. Replaces the requestFailed and requestDone signals. + + * loader/DocLoader.h: Removed include of <qbuffer.h>. + + * loader/Request.h: + * loader/Request.cpp: Updated to use ByteArray instead of QBuffer. + + * loader/loader.h: Removed unused signals. + * loader/loader.cpp: + (WebCore::Loader::Loader): Removed use of KWQLoader. + (WebCore::Loader::~Loader): Ditto. + (WebCore::Loader::load): Removed code to emit unused requestStarted signal. + (WebCore::Loader::slotFinished): Removed code to emit requestFailed and + requestDone signals, now handled by DocLoader::setLoadInProgress(false). + (WebCore::Loader::slotReceivedResponse): Use ByteArray instead of QBuffer. + (WebCore::Loader::slotData): Ditto. + + * page/Frame.h: Removed setURLCursor, urlCursor, slotRestoreData, slotIncZoom, + slotDecZoom, slotLoadImages, slotPartRemoved, slotActiveFrameChanged, + slotChildURLRequest, slotShowDocument, slotAutoScroll, slotPrintFrame, slotSelectAll, + slotProgressUpdate, slotJobPercent, slotJobSpeed.connectChild, disconnectChild, + and changed a number of others from slots to plain old functions. + * page/Frame.cpp: + (WebCore::Frame::Frame): Don't connect to loader signals. + (WebCore::Frame::~Frame): Don't disconnect from loader signals. + (WebCore::Frame::didOpenURL): Call started function instead of emitting + started signal. Don't connect to speed and percent signals (which never + existed in WebCore anyway). + (WebCore::Frame::stopLoading): Call finishedParsing function instead of + calling slotFinishedParsing. + (WebCore::Frame::executeScript): Removed redundant checks and let + submitFormAgain do the checking. + (WebCore::Frame::clear): Removed code to disconnect from finishedParsing + signal; we now use a function. Also removed loop that calls disconnectChild, + becase again we use functions now instead of signals. + (WebCore::Frame::setDocument): Remove code to disconnect and connect to the + finishedParsing signal. + (WebCore::Frame::begin): Remove code to connect to the finishedParsing signal. + (WebCore::Frame::finishedParsing): Moved code that does setParsing(false) into + the document class. Also renamed from slotFinishedParsing. + (WebCore::Frame::loadDone): Renamed from slotLoaderRequestDone. + (WebCore::Frame::checkCompleted): Changed to call the completed function instead + of emitting one of the two completed signals. + (WebCore::Frame::loadSubframe): Removed call to connectChild because we now use + functions instead of signals. Also change the call to completed to pass false + instead of true. + (WebCore::Frame::submitFormAgain): Change function around so we are less likely + to leak if something strange happens inside submitForm. + (WebCore::Frame::submitForm): Remove code to connect signal. We now call + submitFormAgain from inside the completed function. + (WebCore::Frame::parentCompleted): Renamed from slotParentCompleted. No longer + a slot, now called from completed. + (WebCore::Frame::childCompleted): Renamed from slotChildCompleted. + (WebCore::Frame::setJSStatusBarText): Removed "emit" from function call. Changed + to use String instead of QString. + (WebCore::Frame::setJSDefaultStatusBarText): Ditto. + (WebCore::Frame::sendResizeEvent): Changed to send DOM event directly instead of + creating a QResizeEvent to send along to the FrameView. + (WebCore::Frame::scrollToAnchor): Changed to not pass a parameter to the started + function, which no longer takes one. + (WebCore::Frame::frameDetached): Removed code that calls disconnectChild, since + we no longer use signals. + (WebCore::Frame::completed): Added. Calls childCompleted, parentCompleted, and + submitFormAgain. + (WebCore::Frame::setStatusBarText): Added. + (WebCore::Frame::started): Added. Sets the complete flag to false for the frame + and all its ancestors, which is what slotChildStarted did recursively. + + * page/FramePrivate.h: Removed m_activeFrame and changed m_kjsStatusBarText and + m_kjsDefaultStatusBarText to String from QString. + + * page/FrameView.h: Removed resizeEvent, focusInEvent, focusOutEvent, and + slotPaletteChanged. Changed cleared from a signal to a private function and + slotScrollBarMoved to a private function named scrollBarMoved. + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): Removed connect call here that was connecting + a signal that's nonexistent in WebCore; we'll want to rig it up later. + (WebCore::FrameView::~FrameView): Added a call to setQWidget(0) here to replace + something that was done with a signal before. + (WebCore::FrameView::clear): Call cleared as a function rather than a signal. + (WebCore::selectCursor): Changed to use Cursor instead of QCursor. + (WebCore::FrameView::scrollBarMoved): Renamed this function, which is never called. + Added a FIXME about calling it. + (WebCore::FrameView::cleared): Added. Calls viewCleared on the owner part, which + used to be done with a signal. + + * platform/Widget.h: Changed to Cursor from QCursor. + * platform/mac/WidgetMac.mm: (WebCore::Widget::setCursor): Ditto. + + * rendering/render_frames.h: + * rendering/render_frames.cpp: + (WebCore::RenderFrameSet::userResize): Removed cursor-setting code here. We might + want to use resize cursors for frames again, but it was mostly disabled anyway and + it's not clear which cursors to use. + (WebCore::RenderPart::setWidget): Removed code to connect to the cleared signal. + Instead, FrameView takes care of it directly. + (WebCore::RenderPart::viewCleared): Renamed from slotViewCleared. + (WebCore::RenderFrame::viewCleared): Ditto. + (WebCore::RenderPartObject::viewCleared): Ditto. + + * rendering/render_image.cpp: + (WebCore::RenderImage::imageChanged): Removed use of WordBreak, which doesn't exist + in WebCore text rendering. + (WebCore::RenderImage::paint): Ditto. + + * rendering/render_list.cpp: (RenderListMarker::paint): Removed use of DontClip, which + doesn't exist in WebCore text rendering. Also removed incorrect use of references to + temporaries for the ". " and " ." strings. + + * rendering/render_object.cpp: + (WebCore::RenderObject::drawBorder): Removed call to setRasterOp since it is a no-op + in WebCore's painter. Added a FIXME. + (WebCore::RenderObject::information): Remove mode parameter to QTextStream. + + * rendering/render_replaced.h: Removed slotWidgetDestructed, made setQWidget public, + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::setQWidget): Removed code to connect slotWidgetDestructed to + the destroyed signal. Instead FrameView calls setQWidget(0) on us. + (WebCore::RenderWidget::eventFilter): Removed use of QFocusEvent::reason, which is + never "popup" in WebCore. + + * WebCore+SVG/kdom.h: + * css/css_stylesheetimpl.cpp: + * css/css_valueimpl.cpp: + * css/cssparser.cpp: + * kcanvas/KCanvasCreator.cpp: + * kcanvas/KCanvasResources.cpp: + * kcanvas/RenderPath.cpp: + * khtml/ecma/xmlserializer.cpp: + * khtml/html/html_baseimpl.cpp: + * khtml/xsl/xsl_stylesheetimpl.cpp: + * ksvg2/svg/SVGPathSegLinetoImpl.cpp: + * ksvg2/svg/SVGStyledTransformableElementImpl.cpp: + * ksvg2/svg/SVGTransformImpl.cpp: + * platform/StringImpl.cpp: + * rendering/RenderBlock.cpp: + * rendering/render_box.cpp: + * rendering/render_canvas.cpp: + * rendering/render_flow.cpp: + * rendering/render_form.cpp: + * rendering/render_layer.cpp: + * rendering/render_style.cpp: + Removed includes of <kdebug.h>. + + * css/css_base.cpp: (CSSSelector::selectorText): + * khtml/ecma/kjs_binding.cpp: + (KJS::ScriptInterpreter::wasRunByUserGesture): + * khtml/ecma/kjs_css.cpp: + (KJS::DOMCSSRule::putValueProperty): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNode::getValueProperty): + (KJS::DOMNode::putValueProperty): + (KJS::DOMDocument::getValueProperty): + * khtml/ecma/kjs_events.cpp: + (KJS::DOMEvent::getValueProperty): + (KJS::DOMUIEvent::getValueProperty): + (KJS::DOMMouseEvent::getValueProperty): + (KJS::DOMKeyboardEvent::getValueProperty): + (KJS::Clipboard::getValueProperty): + (KJS::Clipboard::putValueProperty): + * khtml/ecma/kjs_html.cpp: + (KJS::HTMLDocument::getValueProperty): + (KJS::KJS::HTMLDocument::putValueProperty): + (KJS::HTMLElement::anchorGetter): + (KJS::HTMLElement::areaGetter): + (KJS::KJS::HTMLElementFunction::callAsFunction): + * khtml/ecma/kjs_navigator.cpp: + (KJS::Navigator::getValueProperty): + * khtml/ecma/kjs_traversal.cpp: + (KJS::DOMNodeIterator::getValueProperty): + (KJS::DOMTreeWalker::getValueProperty): + * khtml/ecma/kjs_window.cpp: + (KJS::Screen::getValueProperty): + (KJS::Window::scheduleClose): + (KJS::Window::isSafeScript): + (KJS::Window::clear): + (KJS::LocationFunc::callAsFunction): + (KJS::History::getValueProperty): + * ksvg2/svg/SVGAnimateColorElementImpl.cpp: + (SVGAnimateColorElementImpl::handleTimerEvent): + * ksvg2/svg/SVGAnimateElementImpl.cpp: + (SVGAnimateElementImpl::handleTimerEvent): + * ksvg2/svg/SVGAnimateTransformElementImpl.cpp: + (SVGAnimateTransformElementImpl::handleTimerEvent): + * ksvg2/svg/SVGAnimationElementImpl.cpp: + (SVGAnimationElementImpl::parseMappedAttribute): + * ksvg2/svg/SVGCursorElementImpl.cpp: + * ksvg2/svg/SVGDocumentImpl.cpp: + (WebCore::SVGDocumentImpl::finishedParsing): + * ksvg2/svg/SVGLengthImpl.cpp: + (SVGLengthImpl::updateValueInSpecifiedUnits): + Removed use of kdWarning, kdDebug, etc. + +2006-02-20 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - port QString to win32 + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/QString.cpp: + (strncasecmp): + (QString::mid): + (freeHandle): + +2006-02-20 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + <rdar://problem/4449442> GMAIL: XMLHttpRequest does not correctly report "Interactive" state on receipt of load data + Also cleaned up spacing a little. + + No layout test possible (local loads are non incremental). + + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::changeState): + (WebCore::XMLHttpRequest::slotData): + +2006-02-20 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7318 + REGRESSION: Timer bug causes gif animation and (html and JS) page forwarding to fail + + Timers were stopping firing after a while. + + My testing makes this look like a CFRunLoopTimer bug, and it would be nice to reproduce + this with a standalone test and report it to the CF team, but in the mean time, change + to create a new timer each time instead of reusing the existing timer. + + * platform/mac/SharedTimerMac.cpp: + (WebCore::setSharedTimerFiredFunction): Added an assertion. + (WebCore::setSharedTimerFireTime): Destroy the existing timer and create a new one every time. + Also create a non-repeating timer rather than a repeating timer. + (WebCore::stopSharedTimer): Destroy the existing timer rather than setting its fire date + far into the future. + +2006-02-19 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - cut out a little unneeded bridge code + + * bridge/mac/WebCoreFrameBridge.h: Removed frame name from createWindowWithURL: method + and changed it to return a page bridge. Also made createModalDialogWithURL: method + return a page bridge. Removed the mainFrame and webView methods. + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge nextFrameWithWrap:]): Use page to get to main frame. + (-[WebCoreFrameBridge setFrameNamespace:]): Ditto. + (-[WebCoreFrameBridge frameNamespace]): Ditto. + (-[WebCoreFrameBridge _shouldAllowAccessFrom:]): Ditto. + (-[WebCoreFrameBridge _frameInAnyWindowNamed:sourceFrame:]): Ditto. + (-[WebCoreFrameBridge findFrameNamed:]): Ditto. + (-[WebCoreFrameBridge installInFrame:]): Ditto. + + * bridge/mac/WebCorePageBridge.h: Added outerView method to replace webView method + on the frame bridge. + + * bridge/mac/BrowserExtensionMac.mm: (WebCore::BrowserExtensionMac::createNewWindow): + Update to use a page bridge instead of frame bridge. + +2006-02-19 Maciej Stachowiak <mjs@apple.com> + + Rubber-stamped by Anders. + + - renamed ERROR to LOG_ERROR because some operating systems define ERROR in a system header + + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::passMouseDownEventToWidget): + * bridge/mac/WebCoreFrameBridge.mm: + (aeDescFromJSValue): + (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]): + * css/css_computedstyle.cpp: + (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): + * editing/Selection.cpp: + (WebCore::Selection::toRange): + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (WebCore::KCanvasFEBlendQuartz::getCIFilter): + (WebCore::KCanvasFEColorMatrixQuartz::getCIFilter): + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (WebCore::KRenderingDeviceQuartz::createResource): + * khtml/xsl/xslt_processorimpl.cpp: + (DOM::parseErrorFunc): + * kwq/KWQFontMetrics.mm: + (QFontMetrics::ascent): + (QFontMetrics::descent): + (QFontMetrics::lineSpacing): + (QFontMetrics::xHeight): + (QFontMetrics::width): + (QFontMetrics::floatWidth): + (QFontMetrics::checkSelectionPoint): + * kwq/KWQKConfigBase.mm: + (KConfig::readEntry): + (KConfig::readNumEntry): + (KConfig::readUnsignedNumEntry): + * kwq/KWQLineEdit.mm: + (KWQNSTextAlignmentForAlignmentFlags): + * kwq/KWQObject.cpp: + (QObject::connect): + * kwq/KWQPainter.mm: + (WebCore::QPainter::restore): + (WebCore::QPainter::drawFocusRing): + * kwq/KWQRegExp.cpp: + (QRegExp::KWQRegExpPrivate::compile): + (QRegExp::match): + * kwq/KWQSignal.cpp: + (KWQSignal::connect): + (KWQSignal::disconnect): + * kwq/KWQSlot.cpp: + (KWQSlot::KWQSlot): + * kwq/KWQTextCodec.cpp: + (KWQTextDecoder::createICUConverter): + (KWQTextDecoder::convertUsingICU): + * kwq/WebCoreTextRendererFactory.mm: + (-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]): + (-[WebCoreTextRendererFactory isFontFixedPitch:]): + (-[WebCoreTextRendererFactory rendererWithFont:]): + * page/Frame.cpp: + (WebCore::Frame::paint): + +2006-02-17 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dave Hyatt. + + - fix win32 build + + * css/css_grammar.y: + * khtml/html/html_objectimpl.cpp: #ifdef out all bindings code + (WebCore::HTMLAppletElementImpl::~HTMLAppletElementImpl): + (WebCore::HTMLAppletElementImpl::detach): + (WebCore::HTMLEmbedElementImpl::~HTMLEmbedElementImpl): + (WebCore::HTMLEmbedElementImpl::detach): + (WebCore::HTMLObjectElementImpl::~HTMLObjectElementImpl): + (WebCore::HTMLObjectElementImpl::detach): + * khtml/html/html_objectimpl.h: + +2006-02-18 Alexander Kellett <lypanov@kde.org> + + Reviewed by Maciej. + + - Fix http://bugs.webkit.org/show_bug.cgi?id=7199. + + Testcase: + svg/custom/text-gradient-no-content.svg + + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + (WebCore::KRenderingPaintServerGradientQuartz::teardown): + +2006-02-18 David Harrison <harrison@apple.com> + + Reviewed by John. + + <rdar://problem/4448212> _accessibilityTableCell please remove this. + + Remove override of a defamed AX method. + + * kwq/KWQListBox.mm: + Dump _accessibilityTableCell. + +2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/css/ex-after-font-variant.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=4227 + The ex unit doesn't work for font-variant: small-caps + + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::applyDeclarations): Added CSS_PROP_FONT_VARIANT to the properties + that need to be applied first, since it dirties the font. + +2006-02-17 Adele Peterson <adele@apple.com> + + Reviewed by Beth. + + Adding isEdited/setEdited hooks so onChange will fire for the new text fields. + + * rendering/RenderTextField.cpp: + (WebCore::m_dirty): + (WebCore::RenderTextField::updateFromElement): setEdited to false when value attribute has changed. + (WebCore::RenderTextField::subtreeHasChanged): setEdited to true when anonymous editable div has changed. + * rendering/RenderTextField.h: + (WebCore::RenderTextField::isEdited): + (WebCore::RenderTextField::setEdited): + (WebCore::RenderTextField::isTextField): + +2006-02-17 Vicki Murley <vicki@apple.com> + + Reviewed by Justin. + + Get rid of handleFocusOut on text fields and textareas - move this functionality to the place + where we resign focus on the previous node in setFocusNode. Add isTextField on RenderObject + as one way to distinguish from contenteditable elements - Win IE does not fire onChange for + contenteditable elements, so we won't either. Also, expose the dirty bit variables previously + checked in handleFocusOut methods in isEdited() and setEdited(). + + Fixes the following bugs: + <rdar://problem/4315673> REGRESSION (1.2.2 - 1.3): onChange and onFocus events firing order differs for mouse click and tab (7227) + <rdar://problem/4447009> for text fields, onChange should fire before onBlur to match Win IE + + Test case is on the way. + + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::setFocusNode): For textareas and text fields, fire a change event + on the node that is resigning focus. Make sure the blur event fires after the change event - 4447009. + * rendering/render_form.cpp: + (WebCore::RenderLineEdit::slotReturnPressed): Replace call to handleFocusOut with equivalent code. + (WebCore::RenderLineEdit::isEdited): Added. + (WebCore::RenderLineEdit::setEdited): Added. + (WebCore::RenderTextArea::setEdited): Added. + * rendering/render_form.h: + (WebCore::RenderLineEdit::isTextField): Added. + (WebCore::RenderTextArea::isTextArea): Make this non-virtual. + (WebCore::RenderTextArea::isEdited): Added. + * rendering/render_object.h: + (WebCore::RenderObject::isEdited): Added. + (WebCore::RenderObject::setEdited): Added. + (WebCore::RenderObject::isTextField): Added. + * rendering/render_replaced.h: Remove handleFocusOut(). + * rendering/render_replaced.cpp: Ditto. + (WebCore::RenderWidget::eventFilter): Remove call to handleFocusOut(). Safe to do here, + since we call setFocusNode immediately beforehand. + +2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/parser/nofoo-tags-inside-paragraph.html + + Reviewed by Anders Carlsson. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7265 + REGRESSION: noscript, noframes, nolayer, noembed tags insert break inside paragraph tag + + * khtml/html/htmlparser.cpp: + (HTMLParser::isInline): Treat noframes, nolayer, noembed and skipped noscript + as inline elements. + +2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7235 + Pure CSS Tooltips method renders wrong and creates artifacts + + * manual-tests/bugzilla-7235.html: Added. + * rendering/render_box.cpp: + (WebCore::RenderBox::absolutePosition): Copied in here the logic for positioning + relative to a relpositioned inline from RenderLayer::updateLayerPosition. + (WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto. + +2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/css/universal-hover-quirk.html + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7218 + Text underlined on mouse over + + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::checkOneSelector): Prevent *:hover and *:active + from matching anything in quirks mode. + +2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/text/whitespace/pre-wrap-spaces-after-newline.html + + Reviewed by Dave Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7216 + white-space: pre-wrap collapses leading whitespace following a newline + + * rendering/bidi.cpp: + (khtml::RenderBlock::bidiReorderLine): Use previousLineBrokeCleanly instead of + resetBidiAtEnd now that the former is always correct. + (khtml::RenderBlock::layoutInlineChildren): Use new skipTrailingNewline flag. + (khtml::RenderBlock::findNextLineBreak): Set previousLineBrokeCleanly for line breaks + caused by newlines as well. Added skipTrailingNewline flag. + +2006-02-16 Tim Omernick <timo@apple.com> + + Reviewed by Adele. + + <rdar://problem/4193286> enabledPlugin returns a non-NULL object even when plugins are + disabled (4140) + + * khtml/ecma/kjs_navigator.cpp: + (KJS::MimeType::getValueProperty): + Only return a Plugin object for the "enabledPlugin" property if plugins are enabled. This + matches what other browsers do. + +2006-02-16 Darin Adler <darin@apple.com> + + Reviewed by Eric and Justin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7310 + fix leaks by using RefPtr more + + * bindings/objc/DOM.mm: + (-[DOMDocument adoptNode:]): + (-[DOMDocument createElement:]): + (-[DOMDocument createDocumentFragment]): + (-[DOMDocument createTextNode:]): + (-[DOMDocument createComment:]): + (-[DOMDocument createCDATASection:]): + (-[DOMDocument createProcessingInstruction::]): + (-[DOMDocument createEntityReference:]): + (-[DOMDocument importNode::]): + (-[DOMDocument createElementNS::]): + (-[DOMDocument createRange]): + (-[DOMDocument createCSSStyleDeclaration]): + (-[DOMDocument createNodeIterator::::]): + (-[DOMDocument createTreeWalker::::]): + * bindings/objc/DOMCSS.mm: + (-[DOMCSSStyleDeclaration getPropertyCSSValue:]): + * bindings/objc/DOMEvents.mm: + (-[DOMDocument createEvent:]): + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::MacFrame): + (WebCore::MacFrame::freeClipboard): + (WebCore::MacFrame::setView): + (WebCore::MacFrame::wheelEvent): + (WebCore::MacFrame::openURLFromPageCache): + (WebCore::MacFrame::mouseDownViewIfStillGood): + (WebCore::MacFrame::khtmlMouseMoveEvent): + (WebCore::MacFrame::dispatchCPPEvent): + (WebCore::MacFrame::mouseDown): + (WebCore::MacFrame::mouseDragged): + (WebCore::MacFrame::mouseUp): + (WebCore::MacFrame::mouseMoved): + (WebCore::MacFrame::sendContextMenuEvent): + (WebCore::MacFrame::dispatchDragSrcEvent): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge convertToDOMRange:]): + (-[WebCoreFrameBridge convertNSRangeToDOMRange:]): + (-[WebCoreFrameBridge selectNSRange:]): + (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): + (-[WebCoreFrameBridge typingStyle]): + (-[WebCoreFrameBridge dragOperationForDraggingInfo:]): + (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]): + (-[WebCoreFrameBridge concludeDragForDraggingInfo:]): + * css/css_computedstyle.cpp: + (WebCore::CSSComputedStyleDeclarationImpl::CSSComputedStyleDeclarationImpl): + (WebCore::CSSComputedStyleDeclarationImpl::cssText): + (WebCore::CSSComputedStyleDeclarationImpl::setCssText): + (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): + (WebCore::CSSComputedStyleDeclarationImpl::getPropertyValue): + (WebCore::CSSComputedStyleDeclarationImpl::removeProperty): + (WebCore::CSSComputedStyleDeclarationImpl::setProperty): + (WebCore::CSSComputedStyleDeclarationImpl::item): + (WebCore::CSSComputedStyleDeclarationImpl::copyInheritableProperties): + (WebCore::CSSComputedStyleDeclarationImpl::copy): + (WebCore::CSSComputedStyleDeclarationImpl::makeMutable): + * css/css_computedstyle.h: + * css/css_grammar.y: + * css/css_ruleimpl.cpp: + (WebCore::CSSStyleRuleImpl::~CSSStyleRuleImpl): + (WebCore::CSSStyleRuleImpl::setDeclaration): + * css/css_ruleimpl.h: + (DOM::CSSStyleRuleImpl::style): + (DOM::CSSStyleRuleImpl::declaration): + * css/css_valueimpl.cpp: + (WebCore::propertyID): + (WebCore::quoteStringIfNeeded): + (WebCore::CSSStyleDeclarationImpl::getPropertyCSSValue): + (WebCore::CSSStyleDeclarationImpl::getPropertyValue): + (WebCore::CSSStyleDeclarationImpl::getPropertyPriority): + (WebCore::CSSStyleDeclarationImpl::getPropertyShorthand): + (WebCore::CSSStyleDeclarationImpl::isPropertyImplicit): + (WebCore::CSSStyleDeclarationImpl::setProperty): + (WebCore::CSSStyleDeclarationImpl::removeProperty): + (WebCore::CSSStyleDeclarationImpl::isPropertyName): + (WebCore::CSSMutableStyleDeclarationImpl::getPropertyValue): + (WebCore::CSSMutableStyleDeclarationImpl::get4Values): + (WebCore::CSSMutableStyleDeclarationImpl::getShortHandValue): + (WebCore::CSSMutableStyleDeclarationImpl::getPropertyCSSValue): + (WebCore::CSSMutableStyleDeclarationImpl::removeProperty): + (WebCore::CSSMutableStyleDeclarationImpl::setProperty): + (WebCore::CSSMutableStyleDeclarationImpl::setStringProperty): + (WebCore::CSSMutableStyleDeclarationImpl::setImageProperty): + (WebCore::CSSMutableStyleDeclarationImpl::parseDeclaration): + (WebCore::CSSMutableStyleDeclarationImpl::setLengthProperty): + (WebCore::CSSMutableStyleDeclarationImpl::item): + (WebCore::CSSMutableStyleDeclarationImpl::cssText): + (WebCore::CSSMutableStyleDeclarationImpl::setCssText): + (WebCore::CSSMutableStyleDeclarationImpl::copyBlockProperties): + (WebCore::CSSStyleDeclarationImpl::copyPropertiesInSet): + (WebCore::CSSMutableStyleDeclarationImpl::removePropertiesInSet): + (WebCore::CSSMutableStyleDeclarationImpl::makeMutable): + (WebCore::CSSMutableStyleDeclarationImpl::copy): + (WebCore::CSSInheritedValueImpl::cssText): + (WebCore::CSSInitialValueImpl::cssText): + (WebCore::CSSValueListImpl::append): + (WebCore::CSSValueListImpl::cssText): + (WebCore::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl): + (WebCore::CSSPrimitiveValueImpl::cleanup): + (WebCore::CSSPrimitiveValueImpl::setStringValue): + (WebCore::CSSPrimitiveValueImpl::getStringValue): + (WebCore::CSSPrimitiveValueImpl::parseString): + (WebCore::CSSPrimitiveValueImpl::cssText): + (WebCore::CSSImageValueImpl::CSSImageValueImpl): + (WebCore::CSSBorderImageValueImpl::CSSBorderImageValueImpl): + (WebCore::CSSBorderImageValueImpl::cssText): + (WebCore::FontFamilyValueImpl::FontFamilyValueImpl): + (WebCore::FontFamilyValueImpl::cssText): + (WebCore::FontValueImpl::cssText): + (WebCore::ShadowValueImpl::ShadowValueImpl): + (WebCore::ShadowValueImpl::cssText): + (WebCore::CSSProperty::cssText): + * css/css_valueimpl.h: + (WebCore::CSSValueImpl::setCssText): + (WebCore::CSSValueListImpl::item): + (WebCore::CSSPrimitiveValueImpl::getFloatValue): + (WebCore::CSSPrimitiveValueImpl::getCounterValue): + (WebCore::CSSPrimitiveValueImpl::getRectValue): + (WebCore::CSSPrimitiveValueImpl::getRGBColorValue): + (WebCore::CSSPrimitiveValueImpl::getPairValue): + (WebCore::CSSPrimitiveValueImpl::getDashboardRegionValue): + (WebCore::CSSPrimitiveValueImpl::): + (WebCore::CSSQuirkPrimitiveValueImpl::CSSQuirkPrimitiveValueImpl): + (WebCore::CounterImpl::identifier): + (WebCore::CounterImpl::listStyle): + (WebCore::CounterImpl::separator): + (WebCore::RectImpl::top): + (WebCore::RectImpl::right): + (WebCore::RectImpl::bottom): + (WebCore::RectImpl::left): + (WebCore::RectImpl::setTop): + (WebCore::RectImpl::setRight): + (WebCore::RectImpl::setBottom): + (WebCore::RectImpl::setLeft): + (WebCore::PairImpl::first): + (WebCore::PairImpl::second): + (WebCore::PairImpl::setFirst): + (WebCore::PairImpl::setSecond): + (WebCore::DashboardRegionImpl::DashboardRegionImpl): + (WebCore::FontFamilyValueImpl::fontName): + (WebCore::CSSProperty::CSSProperty): + (WebCore::CSSProperty::value): + (WebCore::CSSMutableStyleDeclarationImpl::setNode): + (WebCore::CSSMutableStyleDeclarationImpl::setProperty): + (WebCore::CSSMutableStyleDeclarationImpl::removeProperty): + * css/cssparser.cpp: + (CSSParser::createStyleDeclaration): + (CSSParser::parseDashboardRegions): + * css/cssparser.h: + (WebCore::Value::): + (WebCore::qString): + (WebCore::domString): + (WebCore::atomicString): + (WebCore::ValueList::current): + (WebCore::ValueList::next): + (WebCore::CSSParser::current): + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * dom/DOMImplementationImpl.cpp: + (DOM::DOMImplementationImpl::createDocument): + (DOM::DOMImplementationImpl::instance): + * dom/DOMImplementationImpl.h: + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::DocumentImpl): + (WebCore::DocumentImpl::~DocumentImpl): + (WebCore::DocumentImpl::setDocType): + (WebCore::DocumentImpl::createElement): + (WebCore::DocumentImpl::createDocumentFragment): + (WebCore::DocumentImpl::createTextNode): + (WebCore::DocumentImpl::createComment): + (WebCore::DocumentImpl::createCDATASection): + (WebCore::DocumentImpl::createProcessingInstruction): + (WebCore::DocumentImpl::createEntityReference): + (WebCore::DocumentImpl::createEditingTextNode): + (WebCore::DocumentImpl::createCSSStyleDeclaration): + (WebCore::DocumentImpl::importNode): + (WebCore::DocumentImpl::adoptNode): + (WebCore::DocumentImpl::createElementNS): + (WebCore::DocumentImpl::setTitle): + (WebCore::DocumentImpl::createRange): + (WebCore::DocumentImpl::createNodeIterator): + (WebCore::DocumentImpl::createTreeWalker): + (WebCore::DocumentImpl::setStyleSheet): + (WebCore::DocumentImpl::setHoverNode): + (WebCore::DocumentImpl::setActiveNode): + (WebCore::DocumentImpl::setFocusNode): + (WebCore::DocumentImpl::defaultView): + (WebCore::DocumentImpl::createEvent): + (WebCore::DocumentImpl::setHTMLWindowEventListener): + (WebCore::DocumentImpl::addWindowEventListener): + (WebCore::DocumentImpl::createHTMLEventListener): + (WebCore::DocumentImpl::images): + (WebCore::DocumentImpl::applets): + (WebCore::DocumentImpl::embeds): + (WebCore::DocumentImpl::objects): + (WebCore::DocumentImpl::links): + (WebCore::DocumentImpl::forms): + (WebCore::DocumentImpl::anchors): + (WebCore::DocumentImpl::all): + (WebCore::DocumentImpl::windowNamedItems): + (WebCore::DocumentImpl::documentNamedItems): + (WebCore::DocumentImpl::getElementsByName): + * dom/DocumentImpl.h: + (WebCore::DocumentImpl::realDocType): + (WebCore::DocumentImpl::createAttribute): + (WebCore::DocumentImpl::title): + (WebCore::DocumentImpl::styleSelector): + (WebCore::DocumentImpl::setRestoreState): + (WebCore::DocumentImpl::restoreState): + (WebCore::DocumentImpl::view): + (WebCore::DocumentImpl::docLoader): + (WebCore::DocumentImpl::tokenizer): + (WebCore::DocumentImpl::focusNode): + (WebCore::DocumentImpl::hoverNode): + (WebCore::DocumentImpl::activeNode): + (WebCore::DocumentImpl::policyBaseURL): + (WebCore::DocumentImpl::setPolicyBaseURL): + (WebCore::DocumentImpl::): + (WebCore::DocumentImpl::transformSourceDocument): + (WebCore::DocumentImpl::domTreeVersion): + (WebCore::DocumentImpl::decoder): + * dom/NodeListImpl.cpp: + (DOM::NodeListImpl::NodeListImpl): + (DOM::NodeListImpl::~NodeListImpl): + (DOM::NodeListImpl::recursiveLength): + (DOM::NodeListImpl::recursiveItem): + (DOM::NodeListImpl::itemById): + * dom/NodeListImpl.h: + * dom/dom2_eventsimpl.cpp: + (WebCore::RegisteredEventListener::RegisteredEventListener): + * dom/dom2_eventsimpl.h: + (WebCore::operator!=): + * dom/dom2_traversalimpl.cpp: + (DOM::TraversalImpl::TraversalImpl): + (DOM::NodeIteratorImpl::NodeIteratorImpl): + (DOM::TreeWalkerImpl::TreeWalkerImpl): + * dom/dom2_traversalimpl.h: + (WebCore::TraversalImpl::root): + (WebCore::TraversalImpl::filter): + (WebCore::NodeIteratorImpl::referenceNode): + (WebCore::NodeIteratorImpl::setPointerBeforeReferenceNode): + (WebCore::NodeIteratorImpl::setDetached): + (WebCore::NodeIteratorImpl::document): + (WebCore::TreeWalkerImpl::currentNode): + * dom/dom_position.cpp: + (WebCore::Position::computedStyle): + * dom/dom_position.h: + * dom/xml_tokenizer.cpp: + (WebCore::XMLTokenizer::insertErrorMessageBlock): + * editing/ApplyStyleCommand.cpp: + (WebCore::createFontElement): + (WebCore::createStyleSpanElement): + (WebCore::ApplyStyleCommand::ApplyStyleCommand): + (WebCore::ApplyStyleCommand::updateStartEnd): + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): + (WebCore::ApplyStyleCommand::extractTextDecorationStyle): + (WebCore::ApplyStyleCommand::extractAndNegateTextDecorationStyle): + (WebCore::ApplyStyleCommand::applyTextDecorationStyle): + (WebCore::ApplyStyleCommand::removeInlineStyle): + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): + (WebCore::ApplyStyleCommand::computedFontSize): + * editing/ApplyStyleCommand.h: + (WebCore::ApplyStyleCommand::style): + * editing/EditCommand.cpp: + (WebCore::EditCommandPtr::setTypingStyle): + (WebCore::EditCommand::setTypingStyle): + (WebCore::EditCommand::styleAtPosition): + * editing/EditCommand.h: + (WebCore::EditCommand::document): + (WebCore::EditCommand::typingStyle): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::InsertLineBreakCommand): + (WebCore::InsertLineBreakCommand::doApply): + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::prepareForTextInsertion): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::computeAndStoreNodeDesiredStyle): + (WebCore::NodeDesiredStyle::NodeDesiredStyle): + (WebCore::ReplaceSelectionCommand::doApply): + * editing/ReplaceSelectionCommand.h: + (WebCore::NodeDesiredStyle::node): + (WebCore::NodeDesiredStyle::style): + (WebCore::ReplacementFragment::root): + * editing/WrapContentsInDummySpanCommand.cpp: + (WebCore::WrapContentsInDummySpanCommand::doApply): + * editing/htmlediting.cpp: + (WebCore::createDefaultParagraphElement): + (WebCore::createBreakElement): + * editing/markup.cpp: + (WebCore::createFragmentFromMarkup): + (WebCore::createParagraphContentsFromString): + * editing/visible_text.cpp: + (khtml::TextIterator::rangeFromLocationAndLength): + * editing/visible_text.h: + (WebCore::isCollapsibleWhitespace): + (WebCore::WordAwareIterator::range): + * khtml/ecma/kjs_css.cpp: + (KJS::DOMCSSStyleDeclaration::cssPropertyGetter): + (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMDocumentProtoFunc::callAsFunction): + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::HTMLSelectCollection::put): + (KJS::OptionConstructorImp::construct): + * khtml/html/HTMLElementImpl.cpp: + (WebCore::HTMLElementImpl::createContextualFragment): + (WebCore::HTMLElementImpl::setInnerHTML): + (WebCore::HTMLElementImpl::setOuterHTML): + (WebCore::HTMLElementImpl::setOuterText): + * khtml/html/HTMLElementImpl.h: + * khtml/html/HTMLNameCollectionImpl.cpp: + (WebCore::HTMLNameCollectionImpl::HTMLNameCollectionImpl): + (WebCore::HTMLNameCollectionImpl::traverseNextItem): + * khtml/html/HTMLNameCollectionImpl.h: + * khtml/html/html_documentimpl.cpp: + (WebCore::HTMLDocumentImpl::createElement): + * khtml/html/html_documentimpl.h: + (WebCore::HTMLDocumentImpl::collectionInfo): + * khtml/html/htmlfactory.cpp: + (DOM::htmlConstructor): + (DOM::headConstructor): + (DOM::bodyConstructor): + (DOM::baseConstructor): + (DOM::linkConstructor): + (DOM::metaConstructor): + (DOM::styleConstructor): + (DOM::titleConstructor): + (DOM::frameConstructor): + (DOM::framesetConstructor): + (DOM::iframeConstructor): + (DOM::formConstructor): + (DOM::buttonConstructor): + (DOM::inputConstructor): + (DOM::isindexConstructor): + (DOM::fieldsetConstructor): + (DOM::labelConstructor): + (DOM::legendConstructor): + (DOM::optgroupConstructor): + (DOM::optionConstructor): + (DOM::selectConstructor): + (DOM::textareaConstructor): + (DOM::dlConstructor): + (DOM::ulConstructor): + (DOM::olConstructor): + (DOM::dirConstructor): + (DOM::menuConstructor): + (DOM::liConstructor): + (DOM::blockquoteConstructor): + (DOM::divConstructor): + (DOM::headingConstructor): + (DOM::hrConstructor): + (DOM::paragraphConstructor): + (DOM::preConstructor): + (DOM::basefontConstructor): + (DOM::fontConstructor): + (DOM::modConstructor): + (DOM::anchorConstructor): + (DOM::imageConstructor): + (DOM::mapConstructor): + (DOM::areaConstructor): + (DOM::canvasConstructor): + (DOM::appletConstructor): + (DOM::embedConstructor): + (DOM::objectConstructor): + (DOM::paramConstructor): + (DOM::scriptConstructor): + (DOM::tableConstructor): + (DOM::tableCaptionConstructor): + (DOM::tableColConstructor): + (DOM::tableRowConstructor): + (DOM::tableCellConstructor): + (DOM::tableSectionConstructor): + (DOM::brConstructor): + (DOM::quoteConstructor): + (DOM::marqueeConstructor): + (DOM::HTMLElementFactory::createHTMLElement): + * khtml/html/htmlfactory.h: + * khtml/html/htmlparser.cpp: + (HTMLParser::parseToken): + (HTMLParser::textCreateErrorCheck): + (HTMLParser::commentCreateErrorCheck): + (HTMLParser::headCreateErrorCheck): + (HTMLParser::bodyCreateErrorCheck): + (HTMLParser::framesetCreateErrorCheck): + (HTMLParser::iframeCreateErrorCheck): + (HTMLParser::formCreateErrorCheck): + (HTMLParser::isindexCreateErrorCheck): + (HTMLParser::selectCreateErrorCheck): + (HTMLParser::ddCreateErrorCheck): + (HTMLParser::dtCreateErrorCheck): + (HTMLParser::nestedCreateErrorCheck): + (HTMLParser::nestedStyleCreateErrorCheck): + (HTMLParser::tableCellCreateErrorCheck): + (HTMLParser::tableSectionCreateErrorCheck): + (HTMLParser::noembedCreateErrorCheck): + (HTMLParser::noframesCreateErrorCheck): + (HTMLParser::noscriptCreateErrorCheck): + (HTMLParser::mapCreateErrorCheck): + (HTMLParser::getNode): + * khtml/html/htmlparser.h: + * khtml/html/htmltokenizer.cpp: + (WebCore::HTMLTokenizer::parseTag): + (WebCore::HTMLTokenizer::processToken): + * khtml/html/htmltokenizer.h: + * ksvg2/misc/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::createSVGEventListener): + * ksvg2/misc/SVGDocumentExtensions.h: + * ksvg2/svg/SVGDOMImplementationImpl.cpp: + (SVGDOMImplementationImpl::createDocumentType): + (SVGDOMImplementationImpl::createDocument): + (SVGDOMImplementationImpl::createCSSStyleSheet): + * ksvg2/svg/SVGDOMImplementationImpl.h: + * ksvg2/svg/SVGDocumentImpl.cpp: + (WebCore::SVGDocumentImpl::createElement): + (WebCore::SVGDocumentImpl::dispatchZoomEvent): + (WebCore::SVGDocumentImpl::dispatchKeyEvent): + (WebCore::SVGDocumentImpl::dispatchUIEvent): + (WebCore::SVGDocumentImpl::dispatchMouseEvent): + * ksvg2/svg/SVGDocumentImpl.h: + * ksvg2/svg/SVGElementImpl.cpp: + (WebCore::SVGElementImpl::addSVGEventListener): + * ksvg2/svg/SVGSVGElementImpl.cpp: + (WebCore::SVGSVGElementImpl::addSVGWindowEventListner): + * page/Frame.cpp: + (WebCore::Frame::view): + (WebCore::Frame::begin): + (WebCore::Frame::computeAndSetTypingStyle): + (WebCore::Frame::selectionHasStyle): + (WebCore::Frame::selectionStartHasStyle): + (WebCore::Frame::selectionStartStylePropertyValue): + (WebCore::Frame::selectionComputedStyle): + (WebCore::Frame::forceLayout): + (WebCore::Frame::sendResizeEvent): + (WebCore::Frame::sendScrollEvent): + (WebCore::Frame::clearTimers): + (WebCore::Frame::styleForSelectionStart): + * page/FramePrivate.h: + * page/FrameTree.h: + (WebCore::FrameTree::name): + +2006-02-16 David Harrison <harrison@apple.com> + + Reviewed by Darin. + + Test: + * manual-tests/mail-attachments.html: Added. + Automated test not currently possible because widgets do not actually draw when not in a window. + Geoff and Justin are fixing that and will add this test. + + * rendering/render_frames.cpp: + (WebCore::RenderPartObject::updateWidget): + Fix unique param check when processing object tag attributes. + +2006-02-16 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + - Fixed http://bugs.webkit.org/show_bug.cgi?id=7113 + Typing in editable overflow:hidden div doesn't scroll + + * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge ensureSelectionVisible]): + Changed scrollRectToVisible call so that it will align to the edge instead of trying to center the selection. + Centering looks funny when it happens after typing, deleting, moving the cursor, etc. + * rendering/render_layer.cpp: (WebCore::RenderLayer::scrollRectToVisible): + Use scrollWidth() and scrollHeight() functions instead of m_scrollWidth and m_scrollHeight. + These functions will cause the correct scroll dimensions to be calculated for overflow:hidden layers. + Also subtracted scrollbar width and height when calculating the layer bounds. This was causing scroll problems in overflow:scroll. + I also did some cleanup to use xPos() and yPos() instead of m_x and m_y, and to use scrollYOffset() instead of m_scrollY. + +2006-02-16 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + - Fixed http://bugs.webkit.org/show_bug.cgi?id=6812 + Missing focus ring on new text fields + + Tests: + * fast/forms/input-appearance-focus.html: Updated. + + * rendering/render_object.cpp: (WebCore::RenderObject::paintOutline): + call supportsFocusRing instead of checking the appearance. + * rendering/render_theme.cpp: (khtml::RenderTheme::supportsFocusRing): Added. + Checks appearance. Theme will draw focus ring if there's an appearance, but not for the new text fields. + * rendering/render_theme.h: + +2006-02-16 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - eliminate QFrame and QObject::inherits, fix some strange stuff + in RenderCanvas that showed up when I tested that change + + * kwq/KWQFrame.h: Removed. + * kwq/KWQFrame.mm: Removed. + + * bridge/mac/FrameViewMac.mm: Added. + + * WebCore.xcodeproj/project.pbxproj: Updated for adds and removes. + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removes. + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]): + * khtml/ecma/kjs_window.cpp: + (KJS::FrameArray::indexGetter): + (KJS::FrameArray::nameGetter): + * kwq/KWQAccObject.mm: + (-[KWQAccObject doAXTextMarkerForPosition:]): + * kwq/KWQRenderTreeDebug.cpp: + (write): + * page/Frame.cpp: + (WebCore::isFrameElement): + * page/FramePrivate.h: + (WebCore::FramePrivate::FramePrivate): + Change QObject::inherits callers to call the "is" functions directly. + + * kwq/KWQObject.h: + * kwq/KWQObject.cpp: Removed QObject::inherits, QObject::isQFrame, + and QObject::isQScrollView. + + * kwq/KWQScrollView.h: Inherit from Widget instead of QFrame. + Remove isQScrollView. + * kwq/KWQScrollView.mm: Remove isQScrollView. + + * page/FrameView.h: + * page/FrameView.cpp: Changed underMouse and clickNode to be RefPtr. + Added m_hasBorder. + (WebCore::FrameViewPrivate::FrameViewPrivate): + (WebCore::FrameViewPrivate::~FrameViewPrivate): + (WebCore::FrameViewPrivate::reset): + (WebCore::FrameView::layout): + (WebCore::FrameView::viewportMousePressEvent): + (WebCore::FrameView::invalidateClick): + (WebCore::FrameView::viewportMouseReleaseEvent): + (WebCore::FrameView::keyPressEvent): + (WebCore::FrameView::dispatchDragEvent): Use RefPtr for MouseEventImpl. + (WebCore::FrameView::nodeUnderMouse): + (WebCore::FrameView::dispatchMouseEvent): + (WebCore::FrameView::setHasBorder): Added. + (WebCore::FrameView::hasBorder): Added. + (WebCore::FrameView::borderWidth): Added. + + * rendering/render_canvas.h: Eliminated unneeded setWidth/Height overrides. + Eliminated viewportWidth(), viewportHeight(), m_rootWidth, m_rootHeight, + m_viewportWidth, and m_viewportHeight. + * rendering/render_canvas.cpp: + (RenderCanvas::calcHeight): Remove unneeded code to set height when there's + no view. + (RenderCanvas::calcWidth): Fix code to set width to visibleWidth(). Removed + incorrect old width setting, and removed unneeded code to set width when + there's no view. Also removed incorrect margin-setting code. + (RenderCanvas::layout): Removed incorrect code to set width and height. + Instead letting calcWidth and calcHeight do the job. + (RenderCanvas::repaintViewRectangle): Use new FrameView::hasBorder instead + of QFrame::frameStyle. + (RenderCanvas::viewRect): Removed unneeded "root width" feature for a canvas + without a view. + + * rendering/render_frames.cpp: + (WebCore::RenderFrame::slotViewCleared): Use new setHasBorder. + (WebCore::RenderPartObject::slotViewCleared): Ditto. + +2006-02-17 Eric Seidel <eseidel@apple.com> + + Reviewed by justing. + + Close several age-old leaks in xslt code. + Tests already were catching these. + + * khtml/xsl/xsl_stylesheetimpl.cpp: + (WebCore::XSLStyleSheetImpl::loadChildSheets): + (WebCore::XSLStyleSheetImpl::locateStylesheetSubResource): + * khtml/xsl/xslt_processorimpl.cpp: + (WebCore::docLoaderFunc): + +2006-02-16 Tim Omernick <timo@apple.com> + + Reviewed by Geoff. + + <rdar://problem/4428609> Flash Player 8.0.22 can crash Safari (and WebKit apps) + with javascript disabled (7015) + + Added a test case, manual-tests/NPN_Invoke. This is a skeleton of a Netscape + plugin which uses NPN_Invoke() to call the window.alert() JavaScript function. + + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::windowScriptNPObject): + Removed the check Darin added to return 0 when JavaScript is disabled. + This method cannot return 0, because plugins are not guaranteed to check + for that. + Removed my old fix for Radar 4428609 (7015) in favor of a better solution. + Instead of creating a "dummy" JSObject to represent the window script object + when JavaScript is disabled, we use the new JavaScriptCore bindings API to + create a "no script" NPObject. This solution is better because it does not + cause entry into any JavaScript interpreter code. + + * manual-tests/NPN_Invoke: Added. + * manual-tests/NPN_Invoke/English.lproj: Added. + * manual-tests/NPN_Invoke/English.lproj/Localized.r: Added. + * manual-tests/NPN_Invoke/Info.plist: Added. + * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Added. + * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Added. + * manual-tests/NPN_Invoke/main.c: Added. + * manual-tests/NPN_Invoke/test.html: Added. + +2006-02-16 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin, landed by ap. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7274 + Assertion failure in TimerBase::checkHeapIndex() (Timer.cpp:199) !timerHeap->isEmpty() + + * platform/Timer.cpp: + (WebCore::TimerBase::stop): Call setNextFireTime(0) unconditionally to make sure the timer + is removed from timersReadyToFire so that fireTimers doesn't try to fire a deleted timer. + +2006-02-15 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Maciej, Eric. + + - WebCore half of fix for <rdar://problem/4176077> CrashTracer: 6569 + crashes in DashboardClient at com.apple.JavaScriptCore: + KJS::Bindings::ObjcFallbackObjectImp::type() + + WebCore and JavaScriptCore weren't sharing Instance objects very + nicely. I made them use RefPtrs, and sent them to bed without dessert. + + * khtml/html/html_objectimpl.cpp: + (WebCore::HTMLAppletElementImpl::HTMLAppletElementImpl): Made + appletInstance a RefPtr + (WebCore::HTMLAppletElementImpl::getAppletInstance): + (WebCore::HTMLAppletElementImpl::detach): + (WebCore::HTMLEmbedElementImpl::HTMLEmbedElementImpl): Made + embedInstance a RefPtr + (WebCore::HTMLEmbedElementImpl::getEmbedInstance): + (WebCore::HTMLEmbedElementImpl::detach): + (WebCore::HTMLObjectElementImpl::HTMLObjectElementImpl): Made + objectInstance a RefPtr + (WebCore::HTMLObjectElementImpl::getObjectInstance): + (WebCore::HTMLObjectElementImpl::detach): + * bindings/js/JSDOMCore.cpp: + * khtml/ecma/kjs_dom.cpp: + (KJS::getRuntimeObject): + * khtml/html/html_objectimpl.h: + +2006-02-15 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Eric. + + - Fixed http://bugs.webkit.org/show_bug.cgi?id=4674 + LEAK: WheelEventImpl leaked when mousewheel used + + No test case because it requires manual mouse wheeling. + + * dom/NodeImpl.cpp: + (WebCore::NodeImpl::dispatchWheelEvent): Use a RefPtr instead of just + leaking the WheelEventImpl. + +2006-02-15 Dave Hyatt <hyatt@apple.com> + + Make FontFamily compile on Win32 (just needed a few more + __APPLE__ ifdefs). + + Clean up the frameBufferAtIndex method of the image decoders + on Win32. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * kwq/KWQFont.h: + * platform/FontFamily.cpp: + (WebCore::FontFamily::FontFamily): + * platform/cairo/ImageSourceCairo.cpp: + (WebCore::ImageSource::createFrameAtIndex): + (WebCore::ImageSource::frameDurationAtIndex): + (WebCore::ImageSource::frameHasAlphaAtIndex): + * platform/image-decoders/ImageDecoder.h: + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::frameBufferAtIndex): + * platform/image-decoders/gif/GIFImageDecoder.h: + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + (WebCore::JPEGImageDecoder::frameBufferAtIndex): + * platform/image-decoders/jpeg/JPEGImageDecoder.h: + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::frameBufferAtIndex): + * platform/image-decoders/png/PNGImageDecoder.h: + +2006-02-15 David Hyatt <hyatt@apple.com> + + Make KWQFontFamily portable. Split it out into a cross-platform core and the Mac-specific version. + Move it to platform and rename it to FontFamily (and FontFamilyMac). + + Reviewed by eric + + * WebCore.xcodeproj/project.pbxproj: + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * kwq/KWQFont.h: + (QFont::firstFamily): + * kwq/KWQFont.mm: + (QFont::setFirstFamily): + * kwq/KWQFontFamily.h: Removed. + * kwq/KWQFontFamily.mm: Removed. + * platform/FontFamily.cpp: Added. + (WebCore::FontFamily::FontFamily): + (WebCore::FontFamily::~FontFamily): + (WebCore::FontFamily::operator=): + (WebCore::FontFamily::setFamily): + (WebCore::FontFamily::operator==): + * platform/FontFamily.h: Added. + (WebCore::FontFamily::family): + (WebCore::FontFamily::familyIsEmpty): + (WebCore::FontFamily::next): + (WebCore::FontFamily::appendFamily): + (WebCore::FontFamily::operator!=): + (WebCore::FontFamily::ref): + (WebCore::FontFamily::deref): + * platform/mac/FontFamilyMac.mm: Added. + (WebCore::retainDOMStringImpl): + (WebCore::releaseDOMStringImpl): + (WebCore::): + (WebCore::FontFamily::getNSFamily): + * rendering/font.h: + (khtml::FontDef::firstFamily): + +2006-02-15 Oliver Hunt <ojh16@student.canterbury.ac.nz> + + Reviewed by eseidel. Landed by eseidel. + + Implemented feDisplacementMap. + http://bugs.webkit.org/show_bug.cgi?id=5862 + + Test: svg/custom/feDisplacementMap-01.svg + + * WebCore.xcodeproj/project.pbxproj: added files. + * kcanvas/KCanvasFilters.cpp: + (WebCore::KCanvasFEDisplacementMap::externalRepresentation): + * kcanvas/KCanvasFilters.h: + (WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap): + (WebCore::KCanvasFEDisplacementMap::xChannelSelector): + (WebCore::KCanvasFEDisplacementMap::setXChannelSelector): + (WebCore::KCanvasFEDisplacementMap::yChannelSelector): + (WebCore::KCanvasFEDisplacementMap::setYChannelSelector): + (WebCore::KCanvasFEDisplacementMap::scale): + (WebCore::KCanvasFEDisplacementMap::setScale): + * kcanvas/device/quartz/KCanvasFilterQuartz.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (WebCore::getVectorForChannel): + (WebCore::KCanvasFEDisplacementMapQuartz::getCIFilter): + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (WebCore::KRenderingDeviceQuartz::createFilterEffect): + * kcanvas/device/quartz/filters/WKDisplacementMapFilter.cikernel: Added. + * kcanvas/device/quartz/filters/WKDisplacementMapFilter.h: Added. + * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m: Added. + (+[WKDisplacementMapFilter initialize]): + (+[WKDisplacementMapFilter filterWithName:]): + (-[WKDisplacementMapFilter init]): + (-[WKDisplacementMapFilter outputImage]): + * ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp: Added. + (SVGFEDisplacementMapElementImpl::SVGFEDisplacementMapElementImpl): + (SVGFEDisplacementMapElementImpl::~SVGFEDisplacementMapElementImpl): + (SVGFEDisplacementMapElementImpl::in1): + (SVGFEDisplacementMapElementImpl::in2): + (SVGFEDisplacementMapElementImpl::xChannelSelector): + (SVGFEDisplacementMapElementImpl::yChannelSelector): + (SVGFEDisplacementMapElementImpl::scale): + (SVGFEDisplacementMapElementImpl::stringToChannel): + (SVGFEDisplacementMapElementImpl::parseMappedAttribute): + (SVGFEDisplacementMapElementImpl::filterEffect): + * ksvg2/svg/SVGFEDisplacementMapElementImpl.h: Added. + * ksvg2/svg/svgtags.in: + +2006-02-15 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Commit change forgotten after editing directory move. + + * editing/markup.cpp: + (khtml::startMarkup): add support for serializing DOCTYPEs in xml + +2006-02-15 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6452 + KURL::appendEscapingBadChars() doesn't know about %u-escaping. + + Test case: fast/encoding/percent-escaping.html + + * kwq/KWQKURL.mm: (appendEscapingBadChars): + Rather than adding support for %u, remove the existing + "do what I mean" escaping of percent characters that do not + look like a result of prior escaping. + +2006-02-14 Eric Seidel <eseidel@apple.com> + + Fix build failure from last minute edit. + + * khtml/xsl/xsl_stylesheetimpl.cpp: + (WebCore::XSLStyleSheetImpl::parseString): + +2006-02-14 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Add incremental parsing support to XMLTokenizer. + This patch also does a few other little things: + - removes (unused) onHold support from Tokenizer + - adds serialization of DOCTYPEs for xml documents + - fixes xslt support to no longer depend on synchronous parsing + - fixes css styling for pages where xsl recursion is blocked + http://bugs.webkit.org/show_bug.cgi?id=6057 + + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::DocumentImpl): + (WebCore::DocumentImpl::createProcessingInstruction): + (WebCore::DocumentImpl::open): + (WebCore::DocumentImpl::recalcStyleSelector): + * dom/dom_xmlimpl.cpp: + (WebCore::ProcessingInstructionImpl::checkStyleSheet): + * dom/xml_tokenizer.cpp: + (WebCore::XMLTokenizer::XMLTokenizer): + (WebCore::XMLTokenizer::write): + (WebCore::XMLTokenizer::startElementNs): + (WebCore::XMLTokenizer::error): + (WebCore::XMLTokenizer::initializeParserContext): + (WebCore::XMLTokenizer::finish): + (WebCore::xmlDocPtrForString): + (WebCore::parseAttributes): + * dom/xml_tokenizer.h: + * khtml/editing/markup.cpp: + (khtml::startMarkup): DOCTYPE serialization + * khtml/html/htmltokenizer.cpp: + (WebCore::HTMLTokenizer::HTMLTokenizer): removed onHold + (WebCore::HTMLTokenizer::reset): removed onHold + (WebCore::HTMLTokenizer::begin): removed onHold + (WebCore::HTMLTokenizer::write): removed onHold + (WebCore::HTMLTokenizer::finish): removed onHold + * khtml/html/htmltokenizer.h: removed onHold support + * khtml/xsl/xsl_stylesheetimpl.cpp: + (WebCore::XSLStyleSheetImpl::XSLStyleSheetImpl): + (WebCore::XSLStyleSheetImpl::~XSLStyleSheetImpl): + (WebCore::XSLStyleSheetImpl::document): + (WebCore::XSLStyleSheetImpl::setDocument): + (WebCore::XSLStyleSheetImpl::parseString): + (WebCore::XSLStyleSheetImpl::loadChildSheets): + (WebCore::XSLStyleSheetImpl::compileStyleSheet): + (WebCore::XSLStyleSheetImpl::locateStylesheetSubResource): + * khtml/xsl/xsl_stylesheetimpl.h: moved functions to .cpp file + +2006-02-14 Adele Peterson <adele@apple.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=6815 + Calculate correct width for new text fields + + Tests: + fast/forms/input-appearance-width.html + fast/forms/input-appearance-minWidth.html + + * rendering/RenderTextField.cpp: + (WebCore::RenderTextField::createDivStyle): Remove fixed width for text field. + (WebCore::RenderTextField::calcMinMaxWidth): Added. This calls RenderBlock::calcMinMaxWidth and + then uses the size attribute to determine what the maxWidth should be. + * rendering/RenderTextField.h: Added calcMinMaxWidth. + * rendering/render_theme_mac.h: Added adjustTextFieldStyle. + * rendering/render_theme_mac.mm: + (WebCore::RenderThemeMac::adjustRepaintRect): Remove inflation of rect. This is no longer necessary. + (WebCore::RenderThemeMac::paintTextField): ditto. + (WebCore::RenderThemeMac::setTextFieldCellState): change true to YES. + (WebCore::RenderThemeMac::adjustTextFieldStyle): Added. This is the temporary home of the code to set the + right padding and margins. When we flip the switch, this will go in html4.css. + +2006-02-14 John Sullivan <sullivan@apple.com> + + Reviewed by Tim Hatcher. + + removed -[DOMHTMLSelectElement _optionLabels], formerly used only by Safari, now unused. + + * bindings/objc/DOMHTML.mm: + * bindings/objc/DOMPrivate.h: + +2006-02-14 Timothy Hatcher <timothy@apple.com> + + Reviewed by Justin. + + Fixed <rdar://problem/4415050> STD: WebCore build steps use echo -n, which will change + behavior due to POSIX version of sh + + * WebCore.xcodeproj/project.pbxproj: removed the use of echo -n, replaced with printf "" + +2006-02-14 Darin Adler <darin@apple.com> + + Rubber-stamped by Eric. + + - moved editing sources from khtml/editing to editing, and renamed files with single classes + + * WebCore.xcodeproj/project.pbxproj: Added new, removed old. + * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto. + + * bridge/mac/MacFrame.mm: + * bridge/mac/WebCoreFrameBridge.mm: + * dom/DocumentImpl.cpp: + * dom/dom2_rangeimpl.cpp: + * dom/dom_position.cpp: + * khtml/khtml_events.cpp: + * kwq/KWQAccObject.mm: + * kwq/KWQAccObjectCache.h: + * kwq/KWQEditCommand.mm: + * page/Frame.cpp: + * page/FramePrivate.h: + * rendering/RenderBlock.cpp: + * rendering/RenderContainer.cpp: + * rendering/RenderText.cpp: + * rendering/render_br.cpp: + * rendering/render_inline.cpp: + * rendering/render_object.cpp: + * rendering/render_replaced.cpp: + Fixed up includes. + + * editing: Added. + * editing/AppendNodeCommand.cpp: Added. + * editing/AppendNodeCommand.h: Added. + * editing/ApplyStyleCommand.cpp: Added. + * editing/ApplyStyleCommand.h: Added. + * editing/BreakBlockquoteCommand.cpp: Added. + * editing/BreakBlockquoteCommand.h: Added. + * editing/CompositeEditCommand.cpp: Added. + * editing/CompositeEditCommand.h: Added. + * editing/DeleteFromTextNodeCommand.cpp: Added. + * editing/DeleteFromTextNodeCommand.h: Added. + * editing/DeleteSelectionCommand.cpp: Added. + * editing/DeleteSelectionCommand.h: Added. + * editing/EditCommand.cpp: Added. + * editing/EditCommand.h: Added. + * editing/InsertIntoTextNodeCommand.cpp: Added. + * editing/InsertIntoTextNodeCommand.h: Added. + * editing/InsertLineBreakCommand.cpp: Added. + * editing/InsertLineBreakCommand.h: Added. + * editing/InsertNodeBeforeCommand.cpp: Added. + * editing/InsertNodeBeforeCommand.h: Added. + * editing/InsertParagraphSeparatorCommand.cpp: Added. + * editing/InsertParagraphSeparatorCommand.h: Added. + * editing/InsertTextCommand.cpp: Added. + * editing/InsertTextCommand.h: Added. + * editing/JoinTextNodesCommand.cpp: Added. + * editing/JoinTextNodesCommand.h: Added. + * editing/MergeIdenticalElementsCommand.cpp: Added. + * editing/MergeIdenticalElementsCommand.h: Added. + * editing/MoveSelectionCommand.cpp: Added. + * editing/MoveSelectionCommand.h: Added. + * editing/RebalanceWhitespaceCommand.cpp: Added. + * editing/RebalanceWhitespaceCommand.h: Added. + * editing/RemoveCSSPropertyCommand.cpp: Added. + * editing/RemoveCSSPropertyCommand.h: Added. + * editing/RemoveNodeAttributeCommand.cpp: Added. + * editing/RemoveNodeAttributeCommand.h: Added. + * editing/RemoveNodeCommand.cpp: Added. + * editing/RemoveNodeCommand.h: Added. + * editing/RemoveNodePreservingChildrenCommand.cpp: Added. + * editing/RemoveNodePreservingChildrenCommand.h: Added. + * editing/ReplaceSelectionCommand.cpp: Added. + * editing/ReplaceSelectionCommand.h: Added. + * editing/Selection.cpp: + * editing/SelectionController.cpp: + * editing/SetNodeAttributeCommand.cpp: Added. + * editing/SetNodeAttributeCommand.h: Added. + * editing/SplitElementCommand.cpp: Added. + * editing/SplitElementCommand.h: Added. + * editing/SplitTextNodeCommand.cpp: Added. + * editing/SplitTextNodeCommand.h: Added. + * editing/SplitTextNodeContainingElementCommand.cpp: Added. + * editing/SplitTextNodeContainingElementCommand.h: Added. + * editing/TypingCommand.cpp: Added. + * editing/TypingCommand.h: Added. + * editing/VisiblePosition.cpp: Added. + * editing/VisiblePosition.h: Added. + * editing/VisibleRange.cpp: Added. + * editing/VisibleRange.h: Added. + * editing/WrapContentsInDummySpanCommand.cpp: Added. + * editing/WrapContentsInDummySpanCommand.h: Added. + * editing/append_node_command.cpp: Removed. + * editing/append_node_command.h: Removed. + * editing/apply_style_command.cpp: Removed. + * editing/apply_style_command.h: Removed. + * editing/break_blockquote_command.cpp: Removed. + * editing/break_blockquote_command.h: Removed. + * editing/composite_edit_command.cpp: Removed. + * editing/composite_edit_command.h: Removed. + * editing/delete_from_text_node_command.cpp: Removed. + * editing/delete_from_text_node_command.h: Removed. + * editing/delete_selection_command.cpp: Removed. + * editing/delete_selection_command.h: Removed. + * editing/edit_command.cpp: Removed. + * editing/edit_command.h: Removed. + * editing/htmlediting.cpp: + * editing/insert_into_text_node_command.cpp: Removed. + * editing/insert_into_text_node_command.h: Removed. + * editing/insert_line_break_command.cpp: Removed. + * editing/insert_line_break_command.h: Removed. + * editing/insert_node_before_command.cpp: Removed. + * editing/insert_node_before_command.h: Removed. + * editing/insert_paragraph_separator_command.cpp: Removed. + * editing/insert_paragraph_separator_command.h: Removed. + * editing/insert_text_command.cpp: Removed. + * editing/insert_text_command.h: Removed. + * editing/join_text_nodes_command.cpp: Removed. + * editing/join_text_nodes_command.h: Removed. + * editing/jsediting.cpp: + * editing/markup.cpp: + * editing/merge_identical_elements_command.cpp: Removed. + * editing/merge_identical_elements_command.h: Removed. + * editing/move_selection_command.cpp: Removed. + * editing/move_selection_command.h: Removed. + * editing/rebalance_whitespace_command.cpp: Removed. + * editing/rebalance_whitespace_command.h: Removed. + * editing/remove_css_property_command.cpp: Removed. + * editing/remove_css_property_command.h: Removed. + * editing/remove_node_attribute_command.cpp: Removed. + * editing/remove_node_attribute_command.h: Removed. + * editing/remove_node_command.cpp: Removed. + * editing/remove_node_command.h: Removed. + * editing/remove_node_preserving_children_command.cpp: Removed. + * editing/remove_node_preserving_children_command.h: Removed. + * editing/replace_selection_command.cpp: Removed. + * editing/replace_selection_command.h: Removed. + * editing/set_node_attribute_command.cpp: Removed. + * editing/set_node_attribute_command.h: Removed. + * editing/split_element_command.cpp: Removed. + * editing/split_element_command.h: Removed. + * editing/split_text_node_command.cpp: Removed. + * editing/split_text_node_command.h: Removed. + * editing/split_text_node_containing_element.cpp: Removed. + * editing/split_text_node_containing_element_command.h: Removed. + * editing/typing_command.cpp: Removed. + * editing/typing_command.h: Removed. + * editing/visible_position.cpp: Removed. + * editing/visible_position.h: Removed. + * editing/visible_range.cpp: Removed. + * editing/visible_range.h: Removed. + * editing/visible_units.cpp: + * editing/wrap_contents_in_dummy_span_command.cpp: Removed. + * editing/wrap_contents_in_dummy_span_command.h: Removed. + + * khtml/editing: Removed. + * khtml/editing/Selection.cpp: Removed. + * khtml/editing/Selection.h: Removed. + * khtml/editing/SelectionController.cpp: Removed. + * khtml/editing/SelectionController.h: Removed. + * khtml/editing/append_node_command.cpp: Removed. + * khtml/editing/append_node_command.h: Removed. + * khtml/editing/apply_style_command.cpp: Removed. + * khtml/editing/apply_style_command.h: Removed. + * khtml/editing/break_blockquote_command.cpp: Removed. + * khtml/editing/break_blockquote_command.h: Removed. + * khtml/editing/composite_edit_command.cpp: Removed. + * khtml/editing/composite_edit_command.h: Removed. + * khtml/editing/delete_from_text_node_command.cpp: Removed. + * khtml/editing/delete_from_text_node_command.h: Removed. + * khtml/editing/delete_selection_command.cpp: Removed. + * khtml/editing/delete_selection_command.h: Removed. + * khtml/editing/edit_actions.h: Removed. + * khtml/editing/edit_command.cpp: Removed. + * khtml/editing/edit_command.h: Removed. + * khtml/editing/html_interchange.cpp: Removed. + * khtml/editing/html_interchange.h: Removed. + * khtml/editing/htmlediting.cpp: Removed. + * khtml/editing/htmlediting.h: Removed. + * khtml/editing/insert_into_text_node_command.cpp: Removed. + * khtml/editing/insert_into_text_node_command.h: Removed. + * khtml/editing/insert_line_break_command.cpp: Removed. + * khtml/editing/insert_line_break_command.h: Removed. + * khtml/editing/insert_node_before_command.cpp: Removed. + * khtml/editing/insert_node_before_command.h: Removed. + * khtml/editing/insert_paragraph_separator_command.cpp: Removed. + * khtml/editing/insert_paragraph_separator_command.h: Removed. + * khtml/editing/insert_text_command.cpp: Removed. + * khtml/editing/insert_text_command.h: Removed. + * khtml/editing/join_text_nodes_command.cpp: Removed. + * khtml/editing/join_text_nodes_command.h: Removed. + * khtml/editing/jsediting.cpp: Removed. + * khtml/editing/jsediting.h: Removed. + * khtml/editing/markup.cpp: Removed. + * khtml/editing/markup.h: Removed. + * khtml/editing/merge_identical_elements_command.cpp: Removed. + * khtml/editing/merge_identical_elements_command.h: Removed. + * khtml/editing/move_selection_command.cpp: Removed. + * khtml/editing/move_selection_command.h: Removed. + * khtml/editing/rebalance_whitespace_command.cpp: Removed. + * khtml/editing/rebalance_whitespace_command.h: Removed. + * khtml/editing/remove_css_property_command.cpp: Removed. + * khtml/editing/remove_css_property_command.h: Removed. + * khtml/editing/remove_node_attribute_command.cpp: Removed. + * khtml/editing/remove_node_attribute_command.h: Removed. + * khtml/editing/remove_node_command.cpp: Removed. + * khtml/editing/remove_node_command.h: Removed. + * khtml/editing/remove_node_preserving_children_command.cpp: Removed. + * khtml/editing/remove_node_preserving_children_command.h: Removed. + * khtml/editing/replace_selection_command.cpp: Removed. + * khtml/editing/replace_selection_command.h: Removed. + * khtml/editing/set_node_attribute_command.cpp: Removed. + * khtml/editing/set_node_attribute_command.h: Removed. + * khtml/editing/split_element_command.cpp: Removed. + * khtml/editing/split_element_command.h: Removed. + * khtml/editing/split_text_node_command.cpp: Removed. + * khtml/editing/split_text_node_command.h: Removed. + * khtml/editing/split_text_node_containing_element.cpp: Removed. + * khtml/editing/split_text_node_containing_element_command.h: Removed. + * khtml/editing/text_affinity.h: Removed. + * khtml/editing/text_granularity.h: Removed. + * khtml/editing/typing_command.cpp: Removed. + * khtml/editing/typing_command.h: Removed. + * khtml/editing/visible_position.cpp: Removed. + * khtml/editing/visible_position.h: Removed. + * khtml/editing/visible_range.cpp: Removed. + * khtml/editing/visible_range.h: Removed. + * khtml/editing/visible_text.cpp: Removed. + * khtml/editing/visible_text.h: Removed. + * khtml/editing/visible_units.cpp: Removed. + * khtml/editing/visible_units.h: Removed. + * khtml/editing/wrap_contents_in_dummy_span_command.cpp: Removed. + * khtml/editing/wrap_contents_in_dummy_span_command.h: Removed. + +2006-02-14 John Sullivan <sullivan@apple.com> + + Reviewed by Adele Peterson. + + - fixed http://bugs.webkit.org/show_bug.cgi?id=7255 + label attribute in option elements is ignored + + Test cases: + * dom/html/level2/html/HTMLOptionElement_label01.html + * dom/html/level2/html/HTMLOptionElement_label02.html + * dom/html/level2/html/HTMLOptionElement_label03.html + + * rendering/render_form.cpp: + (WebCore::RenderSelect::updateFromElement): + use label attribute, if present, when setting text on the widget. + +2006-02-14 Vicki Murley <vicki@apple.com> + + Reviewed by Maciej. + + Change formatting in this file to match the style guidelines. No spaces after + opening parentheses or before closing parentheses. + + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::createDocumentFragment): + (WebCore::DocumentImpl::recalcStyle): + (WebCore::DocumentImpl::attach): + (WebCore::DocumentImpl::detach): + (WebCore::DocumentImpl::open): + (WebCore::DocumentImpl::write): + (WebCore::DocumentImpl::writeln): + (WebCore::DocumentImpl::setUserStyleSheet): + (WebCore::DocumentImpl::determineParseMode): + (WebCore::DocumentImpl::processHttpEquiv): + (WebCore::DocumentImpl::childAllowed): + (WebCore::DocumentImpl::childTypeAllowed): + (WebCore::DocumentImpl::recalcStyleSelector): + (WebCore::DocumentImpl::dispatchImageLoadEventsNow): + (WebCore::DocumentImpl::domain): + (WebCore::DocumentImpl::setDomain): + (WebCore::DocumentImpl::parseQualifiedName): + (WebCore::DocumentImpl::addMarker): + (WebCore::DocumentImpl::removeMarkers): + +2006-02-14 John Sullivan <sullivan@apple.com> + + Reviewed by Tim Hatcher. + + Some cleanup from the previous checkin, inspired by Darin's comments + + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + moved highlightAllMatchesForString out of here + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]): + now converts NSString to QString here, rather than in Frame/MacFrame + + * dom/DocumentMarker.h: Added. + (WebCore::DocumentMarker::): + (WebCore::DocumentMarker::operator == ): + (WebCore::DocumentMarker::operator != ): + moved this struct to its own header file + + * dom/DocumentImpl.h: + moved DocumentMarker out; now includes DocumentMarker.h + + * page/Frame.h: + * page/Frame.cpp: + (WebCore::Frame::highlightAllMatchesForString): + moved here from MacFrame.[h,mm]. I thought this used other code from + MacFrame.mm but it doesn't. + + * rendering/InlineTextBox.h: + removed unnecesssary variable names; use DocumentMarker::MarkerType in signature + of paintAllMarkersOfType + * rendering/InlineTextBox.cpp: + (khtml::InlineTextBox::paintTextMatchMarker): + better name for a variable, fixed bad indent + (khtml::InlineTextBox::paintAllMarkersOfType): + rewrote loop to bail out early if past end, for clarity; + use DocumentMarker::MarkerType in signature + + * WebCore.xcodeproj/project.pbxproj: + updated for new file + +2006-02-13 John Sullivan <sullivan@apple.com> + + Reviewed by Tim Omernick. + + Support for highlighting multiple text matches. + + * dom/DocumentImpl.h: + (WebCore::DocumentMarker::): + Added new marker type TextMatch + + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]): + new method, calls through to MacFrame implementation + (-[WebCoreFrameBridge clearHighlightedMatches]): + new method, removes all markers of type TextMatch + + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::highlightAllMatchesForString): + new method, adds a document marker for each range that matches the given string + + * rendering/InlineTextBox.h: + * rendering/InlineTextBox.cpp: + (khtml::InlineTextBox::paint): + Moved DocumentMarker loop into separate method paintAllMarkersOfType. We now call + that method twice, once for spelling markers (after drawing text) and once for + text match markers (before drawing text) + (khtml::InlineTextBox::paintTextMatchMarker): + new method, paints a color behind a text match marker + (khtml::InlineTextBox::paintSpellingMarker): + renamed from paintMarker + (khtml::InlineTextBox::paintAllMarkersOfType): + new method, loops through all DocumentMarkers of a particular type and calls the + appropriate painting method for each one + +2006-02-13 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - move pointer from frame to page here from WebKit + + * WebCore.xcodeproj/project.pbxproj: Added PageMac.h. + + * bridge/mac/PageMac.h: Added. + + * bridge/mac/MacFrame.h: Added a page parameter to the constructor. + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::MacFrame): Pass the page and renderer to the Frame constructor. + Moved the call to Cache::init up into Frame, and got rid of the call to Frame::init + since that's now handled by the constructor. Also put the code to create the + browser extension object here. + (WebCore::MacFrame::submitForm): Update for new method name. + (WebCore::MacFrame::createFrame): Ditto. + (WebCore::MacFrame::sendContextMenuEvent): Update since m_doc is a RefPtr. + + * bridge/mac/WebCoreFrameBridge.h: Changed parameters on init methods. Renamed + the part method to impl. Added a page method. + * bridge/mac/WebCoreFrameBridge.mm: + (frameHasSelection): Change use of part method to impl. + (-[WebCoreFrameBridge appendChild:]): Use m_frame directly instead of calling part method. + (-[WebCoreFrameBridge removeChild:]): Ditto. + (-[WebCoreFrameBridge initMainFrameWithPage:]): Added. Now does the first-time initialization + only here and create a frame for a main frame. + (-[WebCoreFrameBridge initSubframeWithRenderer:]): Added. Doesn't do the first-time initialization + and creates a frame for a subframe. + (-[WebCoreFrameBridge page]): Added. + (-[WebCoreFrameBridge setOpener:]): Change to use impl method instead of part. + (-[WebCoreFrameBridge executionContextForView:]): Ditto. + (-[WebCoreFrameBridge impl]): Added. + + * bridge/mac/WebCorePageBridge.h: Removed init method and added setMainFrame: method and impl method. + * bridge/mac/WebCorePageBridge.mm: + (-[WebCorePageBridge init]): Changed to create a PageMac. + (-[WebCorePageBridge setMainFrame:]): Added. + (-[WebCorePageBridge impl]): Added. + + * bridge/mac/BrowserExtensionMac.mm: + (WebCore::BrowserExtensionMac::createNewWindow): + * kwq/KWQAccObject.mm: + (-[KWQAccObject rendererForView:]): + * kwq/KWQComboBox.mm: + (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]): + * kwq/KWQFileButton.mm: + (KWQFileButton::focusPolicy): + * kwq/KWQSlider.mm: + (QSlider::focusPolicy): + * kwq/KWQTextArea.mm: + (-[KWQTextAreaTextView _isResizableByUser]): + (-[KWQTextAreaTextView _trackResizeFromMouseDown:]): + Change methods to get from bridge back to objects to be named "impl". + The old one was named "part". + + * page/Frame.h: Added Page and RenderPart parameter to constructor. + Added a page function. Removed the createBrowserExtension function. + * page/Frame.cpp: + (WebCore::parentFromOwnerRenderer): Added. Helper for constructor. + (WebCore::Frame::Frame): Moved all the code from init into here. Also change + to set the parent right from the start. + (WebCore::Frame::stopLoading): Change since m_doc is now a RefPtr. + (WebCore::Frame::clear): Ditto. + (WebCore::Frame::document): Ditto. + (WebCore::Frame::setDocument): Ditto. + (WebCore::Frame::begin): Ditto. + (WebCore::Frame::gotoAnchor): Ditto. + (WebCore::Frame::typingStyle): Change since m_typingStyle is now a RefPtr. + (WebCore::Frame::setTypingStyle): Ditto. + (WebCore::Frame::clearTypingStyle): Ditto. + (WebCore::Frame::isFrameSet): Change since m_doc is now a RefPtr. + (WebCore::Frame::page): Added. + + * page/FramePrivate.h: Changed initialization to use member-initialization + syntax. Removed unused m_frames. Changed m_doc and m_typingStyle to use + RefPtr. Added an m_frame. + + * page/Page.h: Made destructor virtual so we could have a Mac derived class. + Added a setMainFrame function and removed the mainFrame parameter from the constructor. + * page/Page.cpp: + (WebCore::Page::Page): Removed the mainFrame parameter. + (WebCore::Page::setMainFrame): Added. + +2006-02-13 David Harrison <harrison@apple.com> + + Reviewed by Justin. + + - merge VisiblePosition:isCandidate() into Position::inRenderedContent() + These functions were answering the same question in different ways! We + only need one implementation. + + * khtml/editing/visible_position.cpp: + (khtml::VisiblePosition::init): + (khtml::VisiblePosition::previousVisiblePosition): + (khtml::VisiblePosition::nextVisiblePosition): + (khtml::VisiblePosition::deepEquivalent): + * khtml/editing/visible_position.h: + * dom/dom_position.cpp: + (DOM::hasRenderedChildrenWithHeight): + (DOM::Position::inRenderedContent): + + + - improved table deletion. + Fixes: delete back by word from just after table did not delete the table + delete forward by char or word did not delete the table + deleting back to a table and again did not delete the table + + * khtml/editing/htmlediting.cpp: + (WebCore::isFirstVisiblePositionAfterTableElement): + simpler implementation + (WebCore::positionBeforePrecedingTableElement): + simpler implementation + (WebCore::isFirstVisiblePositionBeforeTableElement): + new + (WebCore::positionAfterFollowingTableElement): + new + * khtml/editing/htmlediting.h: + * khtml/editing/SelectionController.cpp: + (WebCore::SelectionController::modifyExtendingRightForward): + select following table if granularity is char or word + (WebCore::SelectionController::modifyExtendingLeftBackward): + select preceding table if granularity is char or word + * khtml/editing/typing_command.cpp: + (khtml::TypingCommand::deleteKeyPressed): + simpler implementation, and let other deleteKeyPressed do boundary checking + (khtml::TypingCommand::forwardDeleteKeyPressed): + simpler implementation, and let other forwardDeleteKeyPressed do boundary checking + (khtml::TypingCommand::insertText): + standard formatting + (khtml::TypingCommand::insertLineBreak): + standard formatting + (khtml::TypingCommand::insertParagraphSeparatorInQuotedContent): + standard formatting + (khtml::TypingCommand::insertParagraphSeparator): + standard formatting + (khtml::TypingCommand::insertTextRunWithoutNewlines): + standard formatting + (khtml::TypingCommand::deleteKeyPressed): + use SelectionController to extend selection, to get all the selection + logic incl. table selection and editable/noneditable boundary checks + (khtml::TypingCommand::forwardDeleteKeyPressed): + use SelectionController to extend selection, to get all the selection + logic incl. table selection and editable/noneditable boundary checks + +2006-02-13 David Hyatt <hyatt@apple.com> + + Fix for bug 5605, XSLT fails to import to arbitrary depth. Make sure m_embedded is initialized to false + in the XSLTStyleSheetImpl constructor. + + Reviewed by timo + + Adding xslt-import-depth.xml to fast/xsl + + * khtml/xsl/xsl_stylesheetimpl.cpp: + (DOM::XSLStyleSheetImpl::XSLStyleSheetImpl): + +2006-02-13 Dave Hyatt <hyatt@apple.com> + + Fix Win32 bustage in WebCore. + + Reviewed by darin + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/Timer.cpp: + (WebCore::operator==): + (WebCore::operator!=): + (WebCore::TimerBase::heapPop): + + HUGE_VAL can be used on both Windows and Mac, so replace 1e500 with + that. + + Add == and != operators for the TimerHeapIterator. + + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::rowAvailable): + + Fix my bustage in the PNG decoder where I left off a stray + parenthesis. + + * platform/win/SharedTimerWin.cpp: + (WebCore::timerFired): + (WebCore::setSharedTimerFireTime): + (WebCore::stopSharedTimer): + + KillTimer should take 2 arguments. Add some missing includes. + +2006-02-12 Alexander Kellett <lypanov@kde.org> + + Reviewed by eseidel. + + Fix http://bugs.webkit.org/show_bug.cgi?id=7207. + + No testcases as this is not possible to reproduce via anything + other than manual interaction. + + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (WebCore::KCanvasFilterQuartz::getCIFilterStack): + +2006-02-13 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - moved QWidget to platform directory, renamed to Widget, + split into cross-platform and platform-specific parts, + removed some of the unused bits + + * ForwardingHeaders/qwidget.h: Removed. + * kwq/KWQWidget.h: Removed. + * kwq/KWQWidget.mm: Removed. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Update for file removals and adds. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * platform/Widget.h: Moved code here, fixed it up. + * platform/Widget.cpp: Ditto. + * platform/mac/WidgetMac.mm: Added. + + * bindings/objc/DOMHTML.mm: + (viewForElement): + * bridge/mac/KWQKHTMLView.cpp: + (WebCore::FrameView::topLevelWidget): + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::createPlugin): + (WebCore::MacFrame::nextKeyViewInFrame): + (WebCore::MacFrame::nextKeyViewForWidget): + (WebCore::MacFrame::currentEventIsMouseDownInWidget): + (WebCore::MacFrame::bridgeForWidget): + (WebCore::MacFrame::passMouseDownEventToWidget): + (WebCore::MacFrame::passSubframeEventToSubframe): + (WebCore::MacFrame::passWheelEventToChildWidget): + (WebCore::MacFrame::getAppletInstanceForWidget): + (WebCore::MacFrame::getEmbedInstanceForWidget): + (WebCore::MacFrame::getObjectInstanceForWidget): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge createFrameViewWithNSView:marginWidth:marginHeight:]): + (-[WebCoreFrameBridge copyRenderNode:copier:]): + (-[WebCoreFrameBridge elementForView:]): + (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]): + * dom/DocumentImpl.cpp: + (WebCore::widgetForNode): + (WebCore::DocumentImpl::setFocusNode): + * khtml/ecma/kjs_window.cpp: + (KJS::Screen::getValueProperty): + (KJS::WindowFunc::callAsFunction): + * khtml/html/HTMLGenericFormElementImpl.cpp: + (WebCore::HTMLGenericFormElementImpl::isKeyboardFocusable): + (WebCore::HTMLGenericFormElementImpl::isMouseFocusable): + * khtml/html/html_objectimpl.cpp: + (WebCore::HTMLEmbedElementImpl::getEmbedInstance): + (WebCore::HTMLObjectElementImpl::getObjectInstance): + * kwq/KWQAccObject.mm: + (-[KWQAccObject addChildrenToArray:]): + (-[KWQAccObject attachmentView]): + (-[KWQAccObject doAXTextMarkerForPosition:]): + * kwq/KWQComboBox.h: + * kwq/KWQComboBox.mm: + (QComboBox::frameGeometry): + (QComboBox::setFrameGeometry): + (QComboBox::setFont): + (QComboBox::focusPolicy): + (-[KWQPopUpButtonCell widget]): + (-[KWQPopUpButton widget]): + (-[KWQPopUpButton mouseDown:]): + (-[KWQPopUpButton becomeFirstResponder]): + (-[KWQPopUpButton resignFirstResponder]): + (-[KWQPopUpButton nextKeyView]): + (-[KWQPopUpButton previousKeyView]): + * kwq/KWQFileButton.h: + * kwq/KWQFileButton.mm: + (KWQFileButton::focusPolicy): + * kwq/KWQFrame.h: + * kwq/KWQKCursor.h: + * kwq/KWQKJavaAppletWidget.h: + * kwq/KWQKJavaAppletWidget.mm: + (KJavaAppletWidget::KJavaAppletWidget): + * kwq/KWQLineEdit.h: + * kwq/KWQLineEdit.mm: + (QLineEdit::setFont): + (QLineEdit::setPalette): + (QLineEdit::focusPolicy): + * kwq/KWQListBox.h: + * kwq/KWQListBox.mm: + (QListBox::QListBox): + (QListBox::focusPolicy): + (QListBox::setFont): + (-[KWQListBoxScrollView widget]): + (-[KWQListBoxScrollView becomeFirstResponder]): + (-[KWQTableView mouseDown:]): + (-[KWQTableView widget]): + * kwq/KWQPainter.h: + * kwq/KWQRenderTreeDebug.cpp: + (write): + * kwq/KWQScrollBar.h: + * kwq/KWQScrollBar.mm: + (-[KWQScrollBar widget]): + (-[KWQScrollBar mouseDown:]): + (QScrollBar::QScrollBar): + (QScrollBar::~QScrollBar): + * kwq/KWQScrollView.h: + (QScrollView::QScrollView): + * kwq/KWQScrollView.mm: + (QScrollView::viewport): + (QScrollView::childX): + (QScrollView::childY): + (QScrollView::addChild): + (QScrollView::removeChild): + * kwq/KWQSlider.h: + * kwq/KWQSlider.mm: + (-[KWQSlider mouseDown:]): + (-[KWQSlider widget]): + (QSlider::setFont): + (QSlider::focusPolicy): + * kwq/KWQTextArea.mm: + (-[KWQTextAreaTextView widget]): + * kwq/KWQTextEdit.h: + * kwq/KWQTextEdit.mm: + (QTextEdit::QTextEdit): + (QTextEdit::setFont): + (QTextEdit::focusPolicy): + (QTextEdit::setPalette): + * kwq/KWQTextField.mm: + (-[KWQTextFieldController widget]): + (-[KWQTextFieldController textView:shouldHandleEvent:]): + (-[KWQTextFieldController textView:didHandleEvent:]): + (-[KWQTextField widget]): + (-[KWQTextField nextKeyView]): + (-[KWQTextField previousKeyView]): + (-[KWQSecureTextField widget]): + (-[KWQSecureTextField nextKeyView]): + (-[KWQSecureTextField previousKeyView]): + (-[KWQSearchField widget]): + (-[KWQSearchField nextKeyView]): + (-[KWQSearchField previousKeyView]): + * kwq/KWQView.h: + * kwq/KWQWindowWidget.h: + * kwq/KWQWindowWidget.mm: + (KWQWindowWidget::topLevelWidget): + * page/Frame.cpp: + (WebCore::isFrameElement): + (WebCore::Frame::frameForWidget): + (WebCore::Frame::nodeForWidget): + (WebCore::Frame::setDocumentFocus): + (WebCore::Frame::clearDocumentFocus): + (WebCore::Frame::passWidgetMouseDownEventToWidget): + * page/Frame.h: + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): + (WebCore::FrameView::init): + * page/FrameView.h: + * page/Plugin.h: + (WebCore::Plugin::Plugin): + (WebCore::Plugin::view): + * platform/Screen.h: + * platform/mac/ScreenMac.mm: + (WebCore::screen): + (WebCore::screenDepth): + (WebCore::screenRect): + (WebCore::usableScreenRect): + * rendering/render_applet.cpp: + (WebCore::RenderApplet::layout): + * rendering/render_form.cpp: + (WebCore::ComboBoxWidget::ComboBoxWidget): + (WebCore::RenderSelect::createListBox): + * rendering/render_form.h: + * rendering/render_frames.cpp: + (WebCore::RenderPart::setWidget): + * rendering/render_frames.h: + * rendering/render_object.cpp: + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::resizeWidget): + (WebCore::RenderWidget::setQWidget): + * rendering/render_replaced.h: + (WebCore::RenderWidget::widget): + Change name from QWidget to Widget, a few other changes to get compiling. + +=== WebCore-521.7 === + +2006-02-12 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7206 + REGRESSION: PDF "images" no longer render within HTML pages + + Test: fast/replaced/page-as-image.html + + * platform/Image.cpp: (WebCore::Image::setNativeData): + Return false in the case where the PDF document has not been created yet. + +2006-02-12 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=7209 + reimplement Timer so it uses only a single timer from the underlying OS + + * WebCore.vcproj/WebCore/WebCore.vcproj: Removed old files, added new. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * platform/Timer.h: Updated for new timer implementation. + * platform/Timer.cpp: Added. Platform-independent implementation of timers + in terms of a single shared timer. Uses a heap to implement a priority queue + so we know which timer to fire first. + + * platform/SharedTimer.h: Added. + * platform/mac/SharedTimerMac.cpp: Added. + * platform/win/SharedTimerWin.cpp: Added. + + * platform/mac/TimerMac.cpp: Removed. + * platform/win/TimerWin.cpp: Removed. + +2006-02-12 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + * loader/CachedXSLStyleSheet.cpp: removed duplicate copy of xbl code. + +2006-02-12 Maciej Stachowiak <mjs@apple.com> + + Unreviewed build fix. + + - fix build + + * bindings/scripts/CodeGeneratorJS.pm: Update for splitting of the + dom_textimpl.h header. + +2006-02-11 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - rename FrameTreeNode to FrameTree and treeNode() to tree() + http://bugs.webkit.org/show_bug.cgi?id=7210 + + This may be slightly less accurate, but reads better. + + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/BrowserExtensionMac.mm: + (WebCore::BrowserExtensionMac::createNewWindow): + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::submitForm): + (WebCore::MacFrame::nextKeyViewInFrameHierarchy): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge firstChild]): + (-[WebCoreFrameBridge lastChild]): + (-[WebCoreFrameBridge childCount]): + (-[WebCoreFrameBridge previousSibling]): + (-[WebCoreFrameBridge nextSibling]): + (-[WebCoreFrameBridge appendChild:]): + (-[WebCoreFrameBridge removeChild:]): + (-[WebCoreFrameBridge setParent:]): + (-[WebCoreFrameBridge parent]): + (-[WebCoreFrameBridge setName:]): + (-[WebCoreFrameBridge name]): + * dom/DocumentImpl.cpp: + (WebCore::DocumentImpl::parentDocument): + * khtml/ecma/kjs_window.cpp: + (KJS::Window::getValueProperty): + (KJS::Window::put): + (KJS::Window::isSafeScript): + (KJS::WindowFunc::callAsFunction): + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLFrameElementImpl::isURLAllowed): + * khtml/html/html_headimpl.cpp: + (WebCore::HTMLLinkElementImpl::process): + * page/Frame.cpp: + (WebCore::Frame::stopLoading): + (WebCore::Frame::clear): + (WebCore::Frame::stopAnimations): + (WebCore::Frame::checkCompleted): + (WebCore::Frame::checkEmitLoadEvent): + (WebCore::Frame::slotChildCompleted): + (WebCore::Frame::findFrame): + (WebCore::Frame::setZoomFactor): + (WebCore::Frame::frameNames): + (WebCore::Frame::frames): + (WebCore::Frame::childFrameNamed): + (WebCore::Frame::incrementFrameCount): + (WebCore::Frame::decrementFrameCount): + (WebCore::Frame::topLevelFrameCount): + (WebCore::Frame::selectFrameElementInParentIfFullySelected): + (WebCore::Frame::userGestureHint): + (WebCore::Frame::canCachePage): + (WebCore::Frame::updatePolicyBaseURL): + (WebCore::Frame::setPolicyBaseURL): + (WebCore::Frame::tree): + (WebCore::Frame::frameDetached): + (WebCore::Frame::updateBaseURLForEmptyDocument): + * page/Frame.h: + * page/FramePrivate.h: + * page/FrameTree.cpp: Added. + (WebCore::FrameTree::~FrameTree): + (WebCore::FrameTree::setName): + (WebCore::FrameTree::appendChild): + (WebCore::FrameTree::removeChild): + * page/FrameTree.h: Added. + (WebCore::FrameTree::FrameTree): + * page/FrameTreeNode.cpp: Removed. + * page/FrameTreeNode.h: Removed. + * rendering/render_frames.cpp: + (WebCore::isURLAllowed): + +2006-02-12 Dave Hyatt <hyatt@apple.com> + + Fix for bug 7182, animated GIFs don't clear previous animation + frames. This checkin fixes the decoders in our tree (used on + Win32 only). It does not address the problem with ImageIO + on Mac (which has the same bug). This has been filed separately + as Radar bug #4442031. + + Reviewed by mjs + + * platform/image-decoders/ImageDecoder.h: + (WebCore::RGBA32Buffer::rect): + (WebCore::RGBA32Buffer::setRect): + (WebCore::RGBA32Buffer::ensureHeight): + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::initFrameBuffer): + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::rowAvailable): + +2006-02-11 Geoffrey Garen <ggaren@apple.com> + + - Fixed bad free resulting from 0 legnth StringImpl + + No test case because currently this bug only has the effect of a bad + free on exit(). + + * platform/StringImpl.cpp: + (WebCore::StringImpl::StringImpl): Factored varied approaches to + initialization into two common routines: initWithChar and + initWithQChar. The common rule is: if we're not going to allocate + a string, make sure to set s to 0 so fastFree doesn't try to free it + later. For speed, initWithQChar uses memcpy() -- that's the only + difference between the two. + (WebCore::StringImpl::initWithChar): + (WebCore::StringImpl::initWithQChar): + * platform/StringImpl.h: + +2006-02-11 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Eric. + + - split dom_textimpl.{h,cpp} by class. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/objc/DOM.mm: + * bridge/mac/MacFrame.mm: + * dom/CDATASectionImpl.cpp: Added. + * dom/CDATASectionImpl.h: Added. + * dom/CharacterDataImpl.cpp: Added. + * dom/CharacterDataImpl.h: Added. + * dom/CommentImpl.cpp: Added. + * dom/CommentImpl.h: Added. + * dom/DocumentImpl.cpp: + * dom/EditingTextImpl.cpp: Added. + * dom/EditingTextImpl.h: Added. + * dom/NodeImpl.cpp: + * dom/TextImpl.cpp: Added. + * dom/TextImpl.h: Added. + * dom/dom2_rangeimpl.cpp: + * dom/dom_elementimpl.cpp: + * dom/dom_textimpl.cpp: Removed. + * dom/dom_textimpl.h: Removed. + * dom/xml_tokenizer.cpp: + * khtml/ecma/kjs_dom.cpp: + * khtml/ecma/kjs_html.cpp: + * khtml/editing/SelectionController.cpp: + * khtml/editing/apply_style_command.cpp: + * khtml/editing/break_blockquote_command.cpp: + * khtml/editing/composite_edit_command.cpp: + * khtml/editing/delete_from_text_node_command.cpp: + * khtml/editing/delete_selection_command.cpp: + * khtml/editing/htmlediting.cpp: + * khtml/editing/insert_into_text_node_command.cpp: + * khtml/editing/insert_line_break_command.cpp: + * khtml/editing/insert_paragraph_separator_command.cpp: + * khtml/editing/insert_text_command.cpp: + * khtml/editing/join_text_nodes_command.cpp: + * khtml/editing/markup.cpp: + * khtml/editing/rebalance_whitespace_command.cpp: + * khtml/editing/replace_selection_command.cpp: + * khtml/editing/split_text_node_command.cpp: + * khtml/editing/split_text_node_containing_element.cpp: + * khtml/editing/visible_position.cpp: + * khtml/html/HTMLElementImpl.cpp: + * khtml/html/HTMLKeygenElementImpl.cpp: + * khtml/html/HTMLOptionElementImpl.cpp: + * khtml/html/HTMLTextAreaElementImpl.cpp: + * khtml/html/html_headimpl.cpp: + * khtml/html/html_objectimpl.cpp: + * khtml/html/htmlparser.cpp: + * khtml/xsl/xslt_processorimpl.cpp: + * page/Frame.cpp: + * rendering/RenderText.h: + * rendering/render_frames.cpp: + +2006-02-11 Alexander Kellett <lypanov@kde.org> + + Reviewed by eseidel. + + - Fixing http://bugs.webkit.org/show_bug.cgi?id=6942 + Implement support for "em" and "ex" relative lengths. + + - Layout tests changes: + Fixed: svg/W3C-SVG-1.1/coords-units-03-b.svg + New: svg/custom/coords-relative-units-transforms.svg + + * ksvg2/svg/SVGLengthImpl.cpp: + (SVGLengthImpl::SVGLengthImpl): + (SVGLengthImpl::value): + (SVGLengthImpl::updateValue): + (SVGLengthImpl::updateValueInSpecifiedUnits): + * ksvg2/svg/SVGLengthImpl.h: + +2006-02-11 Darin Adler <darin@apple.com> + + Rubber-stamped by Eric. + + - renamed all the platform/mac files to have a Mac suffix + (Hyatt and I discussed this change recently) + + * WebCore.xcodeproj/project.pbxproj: + * platform/mac/Color.mm: Removed. + * platform/mac/ColorMac.mm: Added. + * platform/mac/FloatPoint.mm: Removed. + * platform/mac/FloatPointMac.mm: Added. + * platform/mac/FloatRect.mm: Removed. + * platform/mac/FloatRectMac.mm: Added. + * platform/mac/FloatSize.mm: Removed. + * platform/mac/FloatSizeMac.mm: Added. + * platform/mac/Image.mm: Removed. + * platform/mac/ImageMac.mm: Added. + * platform/mac/ImageSource.cpp: Removed. + * platform/mac/ImageSourceMac.cpp: Added. + * platform/mac/IntPoint.mm: Removed. + * platform/mac/IntPointMac.mm: Added. + * platform/mac/IntRect.mm: Removed. + * platform/mac/IntRectMac.mm: Added. + * platform/mac/IntSize.mm: Removed. + * platform/mac/IntSizeMac.mm: Added. + * platform/mac/QString.mm: Removed. + * platform/mac/QStringMac.mm: Added. + * platform/mac/Screen.mm: Removed. + * platform/mac/ScreenMac.mm: Added. + * platform/mac/SystemTime.cpp: Removed. + * platform/mac/SystemTimeMac.cpp: Added. + * platform/mac/Timer.cpp: Removed. + * platform/mac/TimerMac.cpp: Added. + +2006-02-11 Eric Seidel <eseidel@apple.com> + + Rubber-stamped by darin. + + Push kcanvas into WebCore namespace. + Fix KSVG2 to use WebCore namespace. + Remove all uses of khtml:: and KDOM:: from SVG code. + + Too many files changed to bother showing here. + +2006-02-11 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/table/edge-offsets.html + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7054 + Vertical scroll bars do not appear or do not scroll completely + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::lowestPosition): Override the superclass implementation + to return the lowest of all the cells' lowest positions and the section's. + (WebCore::RenderTableSection::rightmostPosition): Ditto for rightmost. + (WebCore::RenderTableSection::leftmostPosition): Ditto for leftmost. + * rendering/RenderTableSection.h: + +2006-02-11 Mitz Pettel <opendarwin.org@mitzpettel.com> + + No test until we figure out how to make one. + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7189 + XSLT result parsing stops prematurely + + * khtml/xsl/xslt_processorimpl.cpp: + (DOM::XSLTProcessorImpl::createDocumentFromSource): Removed the call to setParsing(false) from here + since it stopped parsing prematurely. Now the frame will call it when the tokenizer is finished. + * page/Frame.cpp: + (WebCore::Frame::clear): Disconnect the finishedParsing signal handler from the document. + (WebCore::Frame::setDocument): Disconnect the signal handler from the old document and + connect it to the new document. + +2006-02-11 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6821 + Fix for 5983 will not always update hover correctly. + + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::hoveredNodeDetached): Added this method. Moved the hover logic from + NodeImpl::detach here, modified to use the DOM tree instead of hoverAncestor, + to handle the case that the hover node is a text node, and to schedule an update + of hover state. + (WebCore::DocumentImpl::activeChainNodeDetached): Added this method to trim the + active chain above the node being detached. + * khtml/xml/DocumentImpl.h: + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::detach): Moved most of the hover logic out of here into + DocumentImpl. Reset m_active and m_inActiveChain and call activeChainNodeDetached + when detaching an active node. + * manual-tests/bugzilla-6821.html: Added. + * page/FrameView.cpp: + (WebCore::FrameViewPrivate::FrameViewPrivate): Added hover-state update timer. + (WebCore::FrameViewPrivate::reset): + (WebCore::FrameView::~FrameView): + (WebCore::FrameView::viewportMouseMoveEvent): + (WebCore::FrameView::hoverTimerFired): Call DocumentImpl::prepareMouseEvent + when the timer fires to cause hover state to update. + (WebCore::FrameView::scheduleHoverStateUpdate): Added. + * page/FrameView.h: + +2006-02-11 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=3400 + setting the .src of an iframe to the same value does not reload page + + Test cases: + * fast/frames/frame-set-same-location.html + * fast/frames/frame-set-same-src.html + * fast/frames/iframe-set-same-location.html + * fast/frames/iframe-set-same-src.html + + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLFrameElementImpl::setLocation): + Remove the check for the new URL being different from the current one. + Moved updateForNewURL() code into setLocation(). + * khtml/html/html_baseimpl.h: + +2006-02-10 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Adding support for external entity declarations in XSLT. + http://bugs.webkit.org/show_bug.cgi?id=7184 + <rdar://problem/4271696> support external DTD references in XSLT + + * dom/xml_tokenizer.cpp: + (WebCore::OffsetBuffer::OffsetBuffer): new support class + (WebCore::OffsetBuffer::readOutBytes): read method + (WebCore::shouldAllowExternalLoad): for preventing common urls + (WebCore::openFunc): now does a synchronous data load + (WebCore::readFunc): returns data from the offset buffer + (WebCore::closeFunc): deletes offset buffer + (WebCore::setLoaderForLibXMLCallbacks): helper function + (WebCore::createQStringParser): cleanup + (WebCore::XMLTokenizer::finish): + * dom/xml_tokenizer.h: + * khtml/xsl/xsl_stylesheetimpl.cpp: + (WebCore::XSLStyleSheetImpl::parseString): + * khtml/xsl/xsl_stylesheetimpl.h: + +2006-02-10 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt + + Fix for <rdar://problem/4149655> Frequently reported crash, repro + at lastminute.se in khtml::RenderBlock::createLineBoxes + + Some crazy combination of an anonymous table, an inline form, and + generated content caused table objects to be added to a flow and + then split. This is very bad. Once the crash was fixed, there were + still some rendering issues that this patch also fixes. We needed + to make sure we only special case forms for non-CSS tables so that + the form and generated content render as expected. + + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::appendChildNode): Assert that if we are + a block flow, our child cannot be a table object. + (WebCore::RenderContainer::insertChildNode): Same. + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): Only special-case forms if we are + not a CSS table. + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::addChild): Same. + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::addChild): Same. + * rendering/render_inline.cpp: + (WebCore::RenderInline::addChildToFlow): Here is the crash fix. Check to make sure our containing block is a block flow. + +2006-02-10 Darin Adler <darin@apple.com> + + - fixed the build, this time for sure + + * bindings/js/JSDOMCore.cpp: Touch this file, since the project doesn't get + the dependencies right. + * bindings/js/JSDOMEvents.cpp: Ditto. + + * bridge/mac/WebCoreFrameBridge.mm: (aeDescFromJSValue): Fix an uninitialized + variable warning and also tightened the code for Boolean, String, and Number + up a bit. + +2006-02-10 Geoffrey Garen <ggaren@apple.com> + + Reviewed by eric. + + - Fixed build. + + * bridge/mac/WebCoreFrameBridge.mm: + * khtml/ecma/kjs_binding.h: + (KJS::DOMFunction::toPrimitive): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNode::toPrimitive): + (KJS::DOMNodeList::toPrimitive): + * khtml/ecma/kjs_dom.h: + * khtml/ecma/kjs_window.cpp: + (KJS::Location::toPrimitive): + (KJS::Selection::toPrimitive): + * khtml/ecma/kjs_window.h: + +2006-02-09 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - <rdar://problem/4430614> RenderThemeMac crashes under GC + + * rendering/render_theme_mac.mm: + (WebCore::RenderThemeMac::RenderThemeMac): Initialize all the pointers. + (WebCore::RenderThemeMac::setCheckboxCellState): Use KWQRetainNSRelease so + we can retain a pointer to an ObjC object in a C++ class. + (WebCore::RenderThemeMac::setRadioCellState): Ditto. + (WebCore::RenderThemeMac::setButtonCellState): Ditto. + (WebCore::RenderThemeMac::setTextFieldCellState): Ditto. + + * kwq/KWQResourceLoader.h: Remove unneeded forward declaration. + +2006-02-09 Darin Adler <darin@apple.com> + + Reviewed by Eric and Geoff. + + - changed basic DOM mutation calls to assert that "this" + is not floating, then added more uses of RefPtr to prevent the + assertion from firing (at least during my testing and layout tests) + + - removed use of PassRefPtr as the type of a local variable; after talking + with Maciej and Eric, this type of use is now "deprecated" + + * bindings/js/JSDOMCore.cpp: Touched this file to get things to build. + + * bindings/objc/DOM.mm: + (-[DOMRange extractContents]): + (-[DOMRange cloneContents]): + (-[DOMRange cloneRange]): + * khtml/ecma/kjs_range.cpp: + (KJS::DOMRange::getValueProperty): + (KJS::DOMRangeProtoFunc::callAsFunction): + * khtml/editing/Selection.cpp: + (WebCore::Selection::toRange): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]): + * dom/ContainerNodeImpl.cpp: + (WebCore::ContainerNodeImpl::insertBefore): + (WebCore::ContainerNodeImpl::replaceChild): + (WebCore::ContainerNodeImpl::removeChild): + (WebCore::ContainerNodeImpl::appendChild): + * dom/DocPtr.h: Removed uses of NULL and unused deprecated functions. + * dom/dom2_rangeimpl.h: + * dom/dom2_rangeimpl.cpp: + (WebCore::RangeImpl::RangeImpl): + (WebCore::RangeImpl::startContainer): + (WebCore::RangeImpl::endContainer): + (WebCore::RangeImpl::commonAncestorContainer): + (WebCore::RangeImpl::setStart): + (WebCore::RangeImpl::setEnd): + (WebCore::RangeImpl::collapse): + (WebCore::RangeImpl::compareBoundaryPoints): + (WebCore::RangeImpl::boundaryPointsValid): + (WebCore::RangeImpl::processContents): + (WebCore::RangeImpl::extractContents): + (WebCore::RangeImpl::cloneContents): + (WebCore::RangeImpl::insertNode): + (WebCore::RangeImpl::createContextualFragment): + (WebCore::RangeImpl::detach): + (WebCore::RangeImpl::cloneRange): + (WebCore::RangeImpl::selectNodeContents): + (WebCore::RangeImpl::surroundContents): + (WebCore::RangeImpl::containedByReadOnly): + (WebCore::RangeImpl::startPosition): + (WebCore::RangeImpl::endPosition): + (WebCore::RangeImpl::startNode): + (WebCore::RangeImpl::editingStartPosition): + (WebCore::rangeOfContents): + * dom/dom_elementimpl.h: + * dom/dom_elementimpl.cpp: + (WebCore::AttrImpl::AttrImpl): + (WebCore::AttrImpl::~AttrImpl): + (WebCore::AttrImpl::setValue): + (WebCore::AttrImpl::childTypeAllowed): + (WebCore::AttrImpl::childrenChanged): + (WebCore::ElementImpl::removeAttributeNode): + (WebCore::NamedAttrMapImpl::clearAttributes): + (WebCore::CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl): + (WebCore::MappedAttributeImpl::clone): + * dom/DocumentFragmentImpl.cpp: + (DOM::DocumentFragmentImpl::cloneNode): + * dom/dom_xmlimpl.cpp: + (WebCore::EntityReferenceImpl::cloneNode): + (WebCore::ProcessingInstructionImpl::ProcessingInstructionImpl): + (WebCore::ProcessingInstructionImpl::checkStyleSheet): + (WebCore::ProcessingInstructionImpl::setStyleSheet): + * dom/dom_position.cpp: + * khtml/editing/break_blockquote_command.cpp: + (WebCore::BreakBlockquoteCommand::doApply): + * khtml/editing/composite_edit_command.cpp: + (WebCore::CompositeEditCommand::appendBlockPlaceholder): + (WebCore::CompositeEditCommand::insertBlockPlaceholder): + (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): + (WebCore::createBlockPlaceholderElement): + * khtml/editing/delete_selection_command.cpp: + (WebCore::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent): + (WebCore::DeleteSelectionCommand::moveNodesAfterNode): + * khtml/editing/html_interchange.cpp: + * khtml/editing/htmlediting.cpp: + (WebCore::rebalanceWhitespaceInTextNode): + (WebCore::nonBreakingSpaceString): + (WebCore::createDefaultParagraphElement): + (WebCore::createBreakElement): + (WebCore::createTabSpanElement): + * khtml/editing/insert_line_break_command.cpp: + (khtml::InsertLineBreakCommand::doApply): + * khtml/editing/insert_paragraph_separator_command.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + * khtml/editing/insert_paragraph_separator_command.h: + * khtml/editing/insert_text_command.cpp: + (khtml::InsertTextCommand::insertTab): + * khtml/editing/markup.cpp: + (khtml::createFragmentFromMarkup): + (khtml::createParagraphContentsFromString): + (khtml::createFragmentFromText): + (khtml::createFragmentFromNodeList): + * khtml/editing/rebalance_whitespace_command.cpp: + * khtml/editing/replace_selection_command.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + (WebCore::ReplacementFragment::insertFragmentForTestRendering): + (WebCore::ReplaceSelectionCommand::doApply): + * khtml/editing/visible_text.cpp: + (khtml::CharacterIterator::range): + (khtml::findPlainText): + * khtml/html/HTMLElementImpl.cpp: + (WebCore::HTMLElementImpl::cloneNode): + * khtml/html/htmlparser.cpp: + (HTMLParser::handleResidualStyleCloseTagAcrossBlocks): + * ksvg2/svg/SVGTransformableImpl.cpp: + (SVGTransformableImpl::parseTransformAttribute): + * ksvg2/svg/SVGUseElementImpl.cpp: + (SVGUseElementImpl::closeRenderer): + +2006-02-09 Alexander Kellett <lypanov@kde.org> + + Reviewed and landed by Maciej. + + Factor out common parts of Linear/Radial GradientQuartz + up into KRenderingPaintServerGradientQuartz. + + Cleanup only, no layout tests needed or affected. + + * kcanvas/device/KRenderingPaintServer.h: + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + (KRenderingPaintServerGradientQuartz::updateQuartzGradientCache): + (KRenderingPaintServerGradientQuartz::draw): + (KRenderingPaintServerGradientQuartz::setup): + (KRenderingPaintServerGradientQuartz::renderPath): + (KRenderingPaintServerGradientQuartz::teardown): + * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: + (KRenderingPaintServerLinearGradientQuartz::draw): + (KRenderingPaintServerLinearGradientQuartz::setup): + (KRenderingPaintServerLinearGradientQuartz::teardown): + (KRenderingPaintServerLinearGradientQuartz::renderPath): + (KRenderingPaintServerRadialGradientQuartz::draw): + (KRenderingPaintServerRadialGradientQuartz::setup): + (KRenderingPaintServerRadialGradientQuartz::teardown): + (KRenderingPaintServerRadialGradientQuartz::renderPath): + +2006-02-09 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Hyatt. + + - various Frame cleanup: + + Make Frame-related classes Noncopyable. + Remove nearly all of Frame's friends. + Remove some unused stuff. + Remove unneeded class forward declarations from Frame.h + + * page/Frame.cpp: + * page/Frame.h: + * page/FrameTreeNode.h: + (WebCore::FrameTreeNode::FrameTreeNode): + (WebCore::FrameTreeNode::name): + (WebCore::FrameTreeNode::parent): + (WebCore::FrameTreeNode::setParent): + (WebCore::FrameTreeNode::nextSibling): + (WebCore::FrameTreeNode::previousSibling): + (WebCore::FrameTreeNode::firstChild): + (WebCore::FrameTreeNode::lastChild): + (WebCore::FrameTreeNode::childCount): + * page/FrameView.cpp: + (WebCore::FrameView::viewportMouseMoveEvent): + * page/Page.h: + (WebCore::Page::mainFrame): + * page/Plugin.h: + (WebCore::Plugin::Plugin): + (WebCore::Plugin::view): + +2006-02-09 Dave Hyatt <hyatt@apple.com + + Minor image cleanup. Move some variables that all the + image decoders have in common up into the base class. + + Stub out the boring parts of the JPEG decoder also, so that + the patch that does the decoding will be all meat. :) + + Reviewed by mjs + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/image-decoders/ImageDecoder.h: + (WebCore::ImageDecoder::m_failed): + (WebCore::ImageDecoder::size): + (WebCore::ImageDecoder::failed): + (WebCore::ImageDecoder::setFailed): + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::GIFImageDecoder): + (WebCore::GIFImageDecoder::~GIFImageDecoder): + (WebCore::GIFImageDecoder::setData): + (WebCore::GIFImageDecoder::isSizeAvailable): + (WebCore::GIFImageDecoder::repetitionCount): + (WebCore::GIFImageDecoder::frameBufferAtIndex): + (WebCore::GIFImageDecoder::decode): + (WebCore::GIFImageDecoder::decodingHalted): + (WebCore::GIFImageDecoder::haveDecodedRow): + (WebCore::GIFImageDecoder::gifComplete): + * platform/image-decoders/gif/GIFImageDecoder.h: + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Added. + (WebCore::JPEGImageReader::JPEGImageReader): + (WebCore::JPEGImageReader::~JPEGImageReader): + (WebCore::JPEGImageReader::close): + (WebCore::JPEGImageReader::decode): + (WebCore::JPEGImageDecoder::JPEGImageDecoder): + (WebCore::JPEGImageDecoder::~JPEGImageDecoder): + (WebCore::JPEGImageDecoder::setData): + (WebCore::JPEGImageDecoder::isSizeAvailable): + (WebCore::JPEGImageDecoder::frameBufferAtIndex): + (WebCore::JPEGImageDecoder::decode): + * platform/image-decoders/jpeg/JPEGImageDecoder.h: + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::PNGImageDecoder): + * platform/image-decoders/png/PNGImageDecoder.h: + +2006-02-09 Maciej Stachowiak <mjs@apple.com> + + Rubber-stamped by Hyatt. + + - moved khtml/xml to dom + + * dom: moved from khtml/xml + * WebCore.xcodeproj/project.pbxproj: Updated for new file locations. + * WebCore+SVG/KDOMHeaders.h: Updated for new header locations. + * dom/dom2_rangeimpl.cpp: ditto + * dom/dom2_traversalimpl.cpp: ditto + * dom/dom_textimpl.cpp: ditto + * dom/dom_xmlimpl.cpp: ditto + * khtml/dom/dom2_events.cpp: ditto + * khtml/ecma/kjs_binding.cpp: ditto + * khtml/ecma/kjs_dom.cpp: ditto + * khtml/ecma/kjs_events.cpp: ditto + * khtml/ecma/kjs_html.cpp: ditto + * khtml/ecma/kjs_range.cpp: ditto + * khtml/ecma/kjs_views.cpp: ditto + * khtml/editing/Selection.cpp: ditto + * khtml/editing/SelectionController.cpp: ditto + * khtml/editing/delete_from_text_node_command.cpp: ditto + * khtml/editing/edit_command.cpp: ditto + * khtml/editing/insert_into_text_node_command.cpp: ditto + * khtml/editing/insert_line_break_command.cpp: ditto + * khtml/editing/insert_paragraph_separator_command.cpp: ditto + * khtml/editing/insert_text_command.cpp: ditto + * khtml/editing/join_text_nodes_command.cpp: ditto + * khtml/editing/markup.cpp: ditto + * khtml/editing/merge_identical_elements_command.cpp: ditto + * khtml/editing/rebalance_whitespace_command.cpp: ditto + * khtml/editing/remove_node_attribute_command.cpp: ditto + * khtml/editing/set_node_attribute_command.cpp: ditto + * khtml/editing/split_element_command.cpp: ditto + * khtml/editing/split_text_node_command.cpp: ditto + * khtml/editing/split_text_node_containing_element.cpp: ditto + * khtml/editing/visible_position.cpp: ditto + * khtml/editing/visible_position.h: ditto + * khtml/editing/visible_text.cpp: ditto + * khtml/editing/visible_text.h: ditto + * khtml/editing/visible_units.cpp: ditto + * khtml/editing/wrap_contents_in_dummy_span_command.cpp: ditto + * khtml/html/HTMLElementImpl.h: ditto + * khtml/html/html_documentimpl.cpp: ditto + * khtml/html/html_headimpl.cpp: ditto + * khtml/xbl/xbl_binding_manager.cpp: ditto + * khtml/xbl/xbl_tokenizer.cpp: ditto + * khtml/xbl/xbl_tokenizer.h: ditto + * ksvg2/svg/SVGAElementImpl.cpp: ditto + * rendering/InlineTextBox.cpp: ditto + * rendering/RenderContainer.cpp: ditto + * rendering/RenderText.h: ditto + * rendering/RenderTextField.cpp: ditto + * rendering/render_frames.cpp: ditto + * rendering/render_layer.cpp: ditto + +2006-02-08 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/block/positioning/window-height-change.html + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5813 + positioned blocks don't update when resizing the window vertically + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): Always relayout positioned children of + the root, since their positions may depend on the viewport's height which + may have changed. + * rendering/render_flexbox.cpp: + (khtml::RenderFlexibleBox::layoutBlock): Ditto. + +2006-02-08 Dave Hyatt <hyatt@apple.com> + + Add support for tiling of backgrounds using Cairo. + + Reviewed by darin + + * Image Viewer/ImageView.cpp: + * platform/cairo/ImageCairo.cpp: + (WebCore::Image::tileInRect): + +2006-02-08 Boris Daljevic <boris@backbase.com> + + Reviewed and tweaked by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6648 + Safari strips namespace prefix when using setAttribute(), but should treat it as part of name + + Test: fast/dom/Element/setAttribute-with-colon.html + + * khtml/xml/dom_elementimpl.h: (ElementImpl::setAttribute): Removed body + * khtml/xml/dom_elementimpl.cpp: (ElementImpl::setAttribute): Changed code so that + attribute is not parsed into prefix and local name. + +2006-02-08 Justin Garcia <justin.garcia@apple.com> + + Original patch by Graham Dennis, reviewed by me + Changes made by me, reviewed by thatcher + + <http://bugs.webkit.org/show_bug.cgi?id=3982> + webViewDidBeginEditing, webViewDidEndEditing notification methods not called on delegate + + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::didBeginEditing): + (WebCore::MacFrame::didEndEditing): + * bridge/mac/WebCoreFrameBridge.h: + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::didBeginEditing): + (WebCore::DocumentImpl::didEndEditing): + (WebCore::DocumentImpl::setFocusNode): + * khtml/xml/DocumentImpl.h: + * khtml/xml/dom_elementimpl.cpp: + (WebCore::ElementImpl::focus): + * page/Frame.h: + (WebCore::Frame::didBeginEditing): + (WebCore::Frame::didEndEditing): + +2006-02-08 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/block/positioning/relayout-on-position-change.html + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7095 + Removing positioning from an element does not relayout properly + + * rendering/render_object.cpp: + (WebCore::RenderObject::setStyle): The second call to setNeedsLayoutAndMinMaxRecalc + did not mark containing blocks for relayout based on the new position value since + the object itself was already marked as needing layout. Changed the first call to + only mark the containing blocks (based on the old position value) and not the + object itself. + +2006-02-08 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + RenderPath refactoring: + + - Rename the files to RenderPath + - Push the portable code from KCanvasItemQuartz down to RenderPath + - Move most of the unportable code from KCanvasItemQuartz to KCanvasPathQuartz + + The only thing left in KCanvasItemQuartz is marker support. That should be factored to separate + iterating the path elements (KCanvasPathQuartz needs to provide that) and drawing the markers + (which should be done in portable code). + + * ForwardingHeaders/kcanvas/RenderPath.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * kcanvas/KCanvasItem.cpp: Removed. + * kcanvas/KCanvasItem.h: Removed. + * kcanvas/KCanvasPath.h: + * kcanvas/RenderPath.cpp: Added. + (RenderPath::mapAbsolutePointToLocal): + (RenderPath::fillContains): + (RenderPath::strokeContains): + (RenderPath::strokeBBox): + (RenderPath::relativeBBox): + (RenderPath::setPath): + (RenderPath::layout): + (RenderPath::getAbsoluteRepaintRect): + (RenderPath::requiresLayer): + (RenderPath::lineHeight): + (RenderPath::baselinePosition): + (RenderPath::paint): + (RenderPath::nodeAtPoint): + * kcanvas/RenderPath.h: Added. + * kcanvas/device/quartz/KCanvasItemQuartz.h: + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + * kcanvas/device/quartz/KCanvasPathQuartz.h: + * kcanvas/device/quartz/KCanvasPathQuartz.mm: + (KCanvasPathQuartz::boundingBox): + (scratchContext): + (KCanvasPathQuartz::strokeBoundingBox): + (pathContainsPoint): + (KCanvasPathQuartz::containsPoint): + (KCanvasPathQuartz::strokeContainsPoint): + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (KRenderingDeviceQuartz::createItem): + * kcanvas/device/quartz/QuartzSupport.h: + * kcanvas/device/quartz/QuartzSupport.mm: + (applyStrokeStyleToContext): + * ksvg2/svg/SVGStyledElementImpl.cpp: + (SVGStyledElementImpl::updateCanvasItem): + (SVGStyledElementImpl::pushAttributeContext): + * ksvg2/svg/SVGStyledLocatableElementImpl.cpp: + * ksvg2/svg/SVGStyledTransformableElementImpl.cpp: + * kwq/KWQRenderTreeDebug.cpp: + +2006-02-08 Adele Peterson <adele@apple.com> + + Fix broken layout tests. + + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::dispatchGenericEvent): iterator is null, so we have to reset it to the first node in the chain. + +2006-02-08 Adele Peterson <adele@apple.com> + + Reviewed by Maciej. + + - Fixed <rdar://problem/4325160> + REGRESSION(416.12-420+): window events not stopped by stopPropagation (affects macnn forums) + + Tests: + * fast/events/window-events-bubble.html + * fast/events/window-events-bubble2.html + * fast/events/window-events-capture.html + + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::handleWindowEvent): Added to send events directly to the window. This code used to be in defaultEventHandler, but that wasn't sending them at the right time. + (WebCore::DocumentImpl::defaultEventHandler): Moved code to send window events to handleWindowEvent. + * khtml/xml/DocumentImpl.h: Added handleWindowEvent. + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::dispatchGenericEvent): fire window events in capture and bubble phases. + (WebCore::NodeImpl::dispatchWindowEvent): call handleWindowEvent. + +2006-02-08 Anders Carlsson <andersca@mac.com> + + Rubber stamped by Maciej. + + Move JSCore.cpp to bindings/js/JSDOMCore.cpp and + rename JSEvents.cpp to JSDOMEvents.cpp + + * JSCore.cpp: Removed. + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMCore.cpp: Added. + * bindings/js/JSDOMEvents.cpp: Added. + * bindings/js/JSEvents.cpp: Removed. + +2006-02-08 Anders Carlsson <andersca@mac.com> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=7108 + Autogenerate most of Element + + * JSCore.cpp: + Add JSElement.cpp. + + * bindings/scripts/CodeGeneratorJS.pm: + Handle a bunch of new types. + + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMElement::getValueProperty): + (KJS::DOMElementProtoFunc::callAsFunction): + Remove code that is autogenerated now. + + (KJS::getDOMNode): + Create a JSElement instead of a DOMElement. + + (KJS::getDOMNodeList): + Take a PassRefPtr like some of the other get methods. + + * khtml/ecma/kjs_dom.h: + (KJS::DOMElement::): + Remove the now unused enums. + + * khtml/ecma/kjs_html.cpp: + (KJS::): + (KJS::HTMLElement::HTMLElement): + (KJS::HTMLElement::getOwnPropertySlot): + (KJS::KJS::HTMLElement::toString): + (KJS::KJS::HTMLElement::put): + * khtml/ecma/kjs_html.h: + Have HTMLElement inherit from JSElement. + + * khtml/xml/Element.idl: Added. + +2006-02-08 Dave Hyatt <hyatt@apple.com> + + Make the Cairo image surface only reflect the portion of + the image that has been decoded so far. That way we don't + have to zero fill our RGBA32 buffers, and we avoid painting + the empty portion. + + Reviewed by timo + + * Viewer/ImageView.cpp: + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/cairo/ImageSourceCairo.cpp: + (WebCore::createDecoder): + (WebCore::ImageSource::createFrameAtIndex): + * platform/image-decoders/ImageDecoder.h: + (WebCore::RGBA32Buffer::RGBA32Buffer): + (WebCore::RGBA32Buffer::height): + (WebCore::RGBA32Buffer::ensureHeight): + (WebCore::RGBA32Buffer::setStatus): + (WebCore::RGBA32Buffer::setDuration): + (WebCore::RGBA32Buffer::setIncludeInNextFrame): + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::haveDecodedRow): + (WebCore::GIFImageDecoder::frameComplete): + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::rowAvailable): + (WebCore::PNGImageDecoder::pngComplete): + +2006-02-08 Dave Hyatt <hyatt@apple.com> + + Implement support for PNGs on Win32. Includes support for + interlacing and transparency. + + Also optimized the GIF loop that sets the RGBA values to + increment the pointer through the loop instead of doing multiplies + and adds from the base every time. + + Reviewed by mjs + + * platform/image-decoders/ImageDecoder.h: + (WebCore::RGBA32Buffer::setRGBA): + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::haveDecodedRow): + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageReader::PNGImageReader): + (WebCore::PNGImageReader::~PNGImageReader): + (WebCore::PNGImageReader::close): + (WebCore::PNGImageReader::decode): + (WebCore::PNGImageReader::decodingSizeOnly): + (WebCore::PNGImageReader::pngPtr): + (WebCore::PNGImageReader::infoPtr): + (WebCore::PNGImageReader::interlaceBuffer): + (WebCore::PNGImageReader::hasAlpha): + (WebCore::PNGImageReader::setReadOffset): + (WebCore::PNGImageReader::setHasAlpha): + (WebCore::PNGImageReader::createInterlaceBuffer): + (WebCore::PNGImageDecoder::PNGImageDecoder): + (WebCore::PNGImageDecoder::~PNGImageDecoder): + (WebCore::PNGImageDecoder::setData): + (WebCore::PNGImageDecoder::isSizeAvailable): + (WebCore::PNGImageDecoder::frameBufferAtIndex): + (WebCore::PNGImageDecoder::decode): + (WebCore::decodingFailed): + (WebCore::decodingWarning): + (WebCore::headerAvailable): + (WebCore::PNGImageDecoder::headerAvailable): + (WebCore::rowAvailable): + (WebCore::PNGImageDecoder::rowAvailable): + (WebCore::pngComplete): + (WebCore::PNGImageDecoder::pngComplete): + * platform/image-decoders/png/PNGImageDecoder.h: + (WebCore::PNGImageDecoder::setFailed): + (WebCore::PNGImageDecoder::reader): + (WebCore::PNGImageDecoder::decodingFailed): + * platform/image-decoders/png/mozpngconf.h: + +2006-02-07 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Hyatt. + + - move kwq/KWQString.mm to platform/QString.cpp, split out nonportable parts, speculative + port of one remaining nonportable bit to windows. + + * ForwardingHeaders/qstring.h: + * WebCore+SVG/KDOMSettings.h: + * WebCore+SVG/kdom.h: + * WebCore.xcodeproj/project.pbxproj: + * css/cssparser.h: + * css/cssstyleselector.cpp: + * kcanvas/KCanvasResources.h: + * kcanvas/KCanvasTreeDebug.h: + * khtml/ecma/kjs_window.h: + * khtml/editing/html_interchange.cpp: + * khtml/editing/visible_position.h: + * khtml/editing/visible_text.h: + * khtml/editing/visible_units.cpp: + * khtml/html/FormDataList.h: + * khtml/html/html_objectimpl.cpp: + * khtml/html/htmltokenizer.h: + * khtml/misc/decoder.h: + * khtml/misc/formdata.h: + * khtml/xbl/xbl_protohandler.cpp: + * khtml/xml/dom_position.cpp: + * khtml/xsl/xslt_processorimpl.h: + * ksvg2/svg/SVGHelper.h: + * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp: + * ksvg2/svg/SVGStyleElementImpl.cpp: + * ksvg2/svg/SVGURIReferenceImpl.h: + * ksvg2/svg/svgpathparser.cpp: + * kwq/KWQAccObjectCache.mm: + * kwq/KWQBuffer.h: + * kwq/KWQEvent.h: + * kwq/KWQFont.mm: + * kwq/KWQFontFamily.h: + * kwq/KWQFontMetrics.h: + * kwq/KWQKConfigBase.h: + * kwq/KWQKDebug.h: + * kwq/KWQKHTMLSettings.h: + * kwq/KWQKJobClasses.h: + * kwq/KWQKJobClasses.mm: + * kwq/KWQKLocale.mm: + * kwq/KWQKSSLKeyGen.mm: + * kwq/KWQKURL.h: + * kwq/KWQLineEdit.h: + * kwq/KWQRegExp.h: + * kwq/KWQRenderTreeDebug.h: + * kwq/KWQString.h: Removed. + * kwq/KWQString.mm: Removed. + * kwq/KWQStringList.h: + * kwq/KWQTextCodec.h: + * kwq/KWQTextStream.h: + * kwq/KWQTextUtilities.mm: + * kwq/WebCoreScriptDebugger.mm: + * loader/Cache.h: + * platform/Color.cpp: + * platform/Color.h: + * platform/QString.cpp: Added. + (allocateHandle): + (KWQStringData::KWQStringData): + (QString::QString): + (QString::insert): + (QString::detach): + (QString::remove): + (QString::setLength): + (QString::fill): + (initializeHandleNodeBlock): + (allocateNode): + (freeHandle): + * platform/QString.h: Added. + * platform/SegmentedString.h: + * platform/StringImpl.h: + * platform/mac/Image.mm: + * platform/mac/QString.mm: Added. + (QString::setBufferFromCFString): + (QString::fromCFString): + (QString::fromNSString): + (QString::getNSString): + (QString::utf8): + (QString::fromUtf8): + * rendering/bidi.h: + * rendering/break_lines.cpp: + +2006-02-07 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Adele. + + - remove all remains of old-style frame tree, ChildFrame, ObjectContents and FrameList are all gone + + * WebCore.xcodeproj/project.pbxproj: + * bridge/BrowserExtension.h: + * bridge/mac/BrowserExtensionMac.h: + * bridge/mac/BrowserExtensionMac.mm: + (WebCore::BrowserExtensionMac::createNewWindow): + * khtml/ecma/kjs_window.cpp: + (KJS::createNewWindow): + (KJS::Window::indexGetter): + (KJS::Window::getOwnPropertySlot): + (KJS::WindowFunc::callAsFunction): + (KJS::FrameArray::getValueProperty): + (KJS::FrameArray::indexGetter): + (KJS::FrameArray::nameGetter): + (KJS::FrameArray::getOwnPropertySlot): + * kwq/KWQFrame.mm: + (QFrame::setFrameStyle): + * page/Frame.cpp: + (WebCore::Frame::Frame): + (WebCore::Frame::stopLoading): + (WebCore::Frame::clear): + (WebCore::Frame::stopAnimations): + (WebCore::Frame::checkCompleted): + (WebCore::Frame::checkEmitLoadEvent): + (WebCore::Frame::requestFrame): + (WebCore::Frame::requestObject): + (WebCore::Frame::loadSubframe): + (WebCore::Frame::findFrame): + (WebCore::Frame::frameExists): + (WebCore::Frame::setZoomFactor): + (WebCore::Frame::frameNames): + (WebCore::Frame::frames): + (WebCore::Frame::childFrameNamed): + (WebCore::Frame::slotPartRemoved): + (WebCore::Frame::connectChild): + (WebCore::Frame::disconnectChild): + (WebCore::Frame::canCachePage): + (WebCore::Frame::setPolicyBaseURL): + (WebCore::Frame::treeNode): + (WebCore::Frame::frameDetached): + * page/Frame.h: + * page/FramePrivate.h: + * page/FrameTreeNode.h: + (WebCore::FrameTreeNode::name): + (WebCore::FrameTreeNode::parent): + (WebCore::FrameTreeNode::nextSibling): + (WebCore::FrameTreeNode::previousSibling): + (WebCore::FrameTreeNode::firstChild): + (WebCore::FrameTreeNode::lastChild): + (WebCore::FrameTreeNode::childCount): + * page/ObjectContents.h: Removed. + * page/Plugin.h: + (WebCore::Plugin::view): + +2006-02-07 Adele Peterson <adele@apple.com> + + Reviewed by Maciej. + + - Fixed <rdar://problem/3727939> Safari strips \0 characters from HTML tags making them valid + + Test: fast/encoding/decoder-allow-null-chars.html + + * kwq/KWQTextCodec.cpp: + (KWQTextDecoder::convertLatin1): Removed stripping of null characters + (unwanted): ditto. + +2006-02-07 David Hyatt <hyatt@apple.com> + + Land the skeleton of a PNG decoder for Win32. + + Reviewed by Eric + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/cairo/ImageSourceCairo.cpp: + (WebCore::createDecoder): + * platform/image-decoders/png/PNGImageDecoder.cpp: Added. + (WebCore::PNGImageDecoderPrivate::PNGImageDecoderPrivate): + (WebCore::PNGImageDecoderPrivate::~PNGImageDecoderPrivate): + (WebCore::PNGImageDecoderPrivate::decode): + (WebCore::PNGImageDecoder::PNGImageDecoder): + (WebCore::PNGImageDecoder::~PNGImageDecoder): + (WebCore::PNGImageDecoder::setData): + (WebCore::PNGImageDecoder::isSizeAvailable): + (WebCore::PNGImageDecoder::size): + (WebCore::PNGImageDecoder::frameBufferAtIndex): + (WebCore::PNGImageDecoder::decode): + * platform/image-decoders/png/PNGImageDecoder.h: Added. + +2006-02-07 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Removed ImageSubset, making ImageViewer link directly to WebCore. + + * Viewer.vcproj: + * WebCore.vcproj/ImageSubset: Removed. + * WebCore.vcproj/ImageSubset/ImageSubset.vcproj: Removed. + * WebCore.vcproj/WebCore.sln: + * WebCore.vcproj/WebCore/WebCore.vcproj: + +2006-02-07 Geoffrey Garen <ggaren@apple.com> + + Reviewed by darin. + + - Fixed <rdar://problem/4425269> REGRESSION: wrong size pop-up when + downloading attachment at webmail.mac.com (6882) + + The bug was that the feature string parser didn't always initialize the + *Set variables, so WebCore assumed a height was set when it wasn't, + and used a garbage height variable. + + While there, I fixed two other bugs: (1) The parser wasn't chewing up + as many characters as I thought it was. (Chewing up extra characters + is necessary to match Win IE.) (2) We considered \t and \f to be + whitespace, but Win IE doesn't. + + * manual-tests/window-open-features-parsing.html: Added these cases, + fixed up comments. + + * bridge/BrowserExtension.h: Cleaned up declaration order a bit. + * khtml/ecma/kjs_window.cpp: + (KJS::isSeparator): New function, tells you if a character is a + separator + (KJS::parseWindowFeatures): Always initialize *Set to false. Drive + parsing based on invalid characters ('separators') rather than valid + ones, to match Win IE. + +2006-02-07 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Timothy. + + Convert JavaScript objects to appropriate AppleScript types, instead of only strings + http://bugs.webkit.org/show_bug.cgi?id=7012 + + Tests: fast/AppleScript/* + + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (aeDescFromJSValue): + (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): + +2006-02-07 Dave Hyatt <hyatt@apple.com> + + Rename ImageDecoderPlugin to ImageDecoder. Rename + GIFReader to GIFImageReder. Rename GIFDecoderPlugin to + GIFImageDecoder. + + Reviewed by mjs + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * platform/cairo/ImageSourceCairo.cpp: + (WebCore::createDecoder): + (WebCore::ImageSource::setData): + * platform/image-decoders/ImageDecoder.h: Added. + (WebCore::ImageDecoder::~ImageDecoder): + * platform/image-decoders/ImageDecoderPlugin.h: Removed. + * platform/image-decoders/gif/GIFDecoderPlugin.cpp: Removed. + * platform/image-decoders/gif/GIFDecoderPlugin.h: Removed. + * platform/image-decoders/gif/GIFImageDecoder.cpp: Added. + (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate): + (WebCore::GIFImageDecoderPrivate::~GIFImageDecoderPrivate): + (WebCore::GIFImageDecoderPrivate::decode): + (WebCore::GIFImageDecoder::GIFImageDecoder): + (WebCore::GIFImageDecoder::~GIFImageDecoder): + (WebCore::GIFImageDecoder::setData): + (WebCore::GIFImageDecoder::isSizeAvailable): + (WebCore::GIFImageDecoder::size): + (WebCore::GIFImageDecoder::frameCount): + (WebCore::GIFImageDecoder::repetitionCount): + (WebCore::GIFImageDecoder::frameBufferAtIndex): + (WebCore::GIFImageDecoder::decode): + (WebCore::GIFImageDecoder::sizeNowAvailable): + (WebCore::GIFImageDecoder::decodingHalted): + (WebCore::GIFImageDecoder::haveDecodedRow): + (WebCore::GIFImageDecoder::frameComplete): + (WebCore::GIFImageDecoder::gifComplete): + * platform/image-decoders/gif/GIFImageDecoder.h: Added. + * platform/image-decoders/gif/GIFImageReader.cpp: Added. + (GIFImageReader::output_row): + (GIFImageReader::do_lzw): + (GIFImageReader::read): + * platform/image-decoders/gif/GIFImageReader.h: Added. + (GIFImageReader::GIFImageReader): + (GIFImageReader::~GIFImageReader): + * platform/image-decoders/gif/GIFReader.cpp: Removed. + * platform/image-decoders/gif/GIFReader.h: Removed. + +2006-02-07 David Hyatt <hyatt@apple.com> + + Rename ImageDecoder to ImageSource. + + Reviewed by mjs + + * WebCore.xcodeproj/project.pbxproj: + * platform/Image.cpp: + (WebCore::Image::cacheFrame): + (WebCore::Image::size): + (WebCore::Image::setNativeData): + (WebCore::Image::frameCount): + (WebCore::Image::isSizeAvailable): + * platform/Image.h: + * platform/ImageDecoder.h: Removed. + * platform/ImageSource.h: Added. + * platform/cairo/ImageCairo.cpp: + (WebCore::Image::drawInRect): + * platform/cairo/ImageDecoderCairo.cpp: Removed. + * platform/cairo/ImageSourceCairo.cpp: Added. + (WebCore::createDecoderPlugin): + (WebCore::ImageSource::ImageSource): + (WebCore::ImageSource::~ImageSource): + (WebCore::ImageSource::initialized): + (WebCore::ImageSource::setData): + (WebCore::ImageSource::isSizeAvailable): + (WebCore::ImageSource::size): + (WebCore::ImageSource::repetitionCount): + (WebCore::ImageSource::frameCount): + (WebCore::ImageSource::createFrameAtIndex): + (WebCore::ImageSource::frameDurationAtIndex): + * platform/mac/Image.mm: + (WebCore::Image::drawInRect): + * platform/mac/ImageData.mm: Removed. + * platform/mac/ImageDecoder.cpp: Removed. + * platform/mac/ImageSource.cpp: Added. + (WebCore::ImageSource::ImageSource): + (WebCore::ImageSource::~ImageSource): + (WebCore::ImageSource::initialized): + (WebCore::ImageSource::setData): + (WebCore::ImageSource::isSizeAvailable): + (WebCore::ImageSource::size): + (WebCore::ImageSource::repetitionCount): + (WebCore::ImageSource::frameCount): + (WebCore::ImageSource::createFrameAtIndex): + (WebCore::ImageSource::frameDurationAtIndex): + +2006-02-07 David Hyatt <hyatt@apple.com> + + Combine ImageData and Image (the result ends up in Image). + + Reviewed by mjs + + * WebCore.xcodeproj/project.pbxproj: + * bindings/objc/DOM.mm: + (-[DOMElement _image]): + (-[DOMElement _imageTIFFRepresentation]): + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::fileWrapperForElement): + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (KCanvasFEImageQuartz::getCIFilter): + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::Context2DFunction::callAsFunction): + (KJS::drawPattern): + (KJS::_rh): + (KJS::ImagePattern::createPattern): + * kwq/KWQClipboard.mm: + (WebCore::KWQClipboard::dragNSImage): + * kwq/KWQCursor.h: + * kwq/KWQCursor.mm: + (WebCore::createCustomCursor): + (WebCore::QCursor::QCursor): + * kwq/KWQPainter.h: + * kwq/KWQPainter.mm: + (WebCore::QPainter::drawImageAtPoint): + (WebCore::QPainter::drawImageInRect): + (WebCore::QPainter::drawImage): + (WebCore::QPainter::drawFloatImage): + (WebCore::QPainter::drawTiledImage): + (WebCore::QPainter::drawScaledAndTiledImage): + * loader/CachedImage.cpp: + (WebCore::CachedImage::image): + * loader/CachedImage.h: + * page/FrameView.cpp: + (WebCore::selectCursor): + * platform/Image.cpp: + (WebCore::Image::Image): + (WebCore::Image::~Image): + (WebCore::Image::invalidateData): + (WebCore::Image::cacheFrame): + (WebCore::Image::isNull): + (WebCore::Image::size): + (WebCore::Image::setData): + (WebCore::Image::setNativeData): + (WebCore::Image::frameCount): + (WebCore::Image::isSizeAvailable): + (WebCore::Image::frameAtIndex): + (WebCore::Image::frameDurationAtIndex): + (WebCore::Image::shouldAnimate): + (WebCore::Image::startAnimation): + (WebCore::Image::stopAnimation): + (WebCore::Image::resetAnimation): + (WebCore::Image::advanceAnimation): + (WebCore::Image::rect): + * platform/Image.h: + (KXMLCore::): + (WebCore::FrameData::m_duration): + (WebCore::FrameData::~FrameData): + (WebCore::Image::currentFrame): + (WebCore::Image::animationObserver): + (WebCore::Image::setIsPDF): + * platform/ImageData.cpp: Removed. + * platform/ImageData.h: Removed. + * platform/cairo/ImageCairo.cpp: + (WebCore::FrameData::clear): + (WebCore::Image::initNativeData): + (WebCore::Image::destroyNativeData): + (WebCore::Image::invalidateNativeData): + (WebCore::Image::drawInRect): + (WebCore::Image::tileInRect): + (WebCore::Image::scaleAndTileInRect): + * platform/mac/Image.mm: + (WebCore::FrameData::clear): + (WebCore::Image::initNativeData): + (WebCore::Image::destroyNativeData): + (WebCore::Image::invalidateNativeData): + (WebCore::Image::loadResource): + (WebCore::Image::supportsType): + (WebCore::Image::checkForSolidColor): + (WebCore::Image::getTIFFRepresentation): + (WebCore::Image::getNSImage): + (WebCore::Image::getCGImageRef): + (WebCore::Image::drawInRect): + (WebCore::drawPattern): + (WebCore::Image::tileInRect): + (WebCore::Image::scaleAndTileInRect): + * rendering/render_image.cpp: + (WebCore::RenderImage::imageChanged): + (WebCore::RenderImage::resetAnimation): + (WebCore::RenderImage::paint): + (WebCore::RenderImage::nullImage): + * rendering/render_image.h: + (WebCore::RenderImage::image): + * rendering/render_list.cpp: + (RenderListItem::getAbsoluteRepaintRect): + (RenderListMarker::paint): + (RenderListMarker::calcMinMaxWidth): + * rendering/render_object.cpp: + (WebCore::RenderObject::paintBorderImage): + +2006-02-06 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - fixed "remove frame, renderer and completed flag from ChildFrame, make Frame track these" + http://bugs.webkit.org/show_bug.cgi?id=7125 + + - fixed "onload event never called for iframe element with emtpy or about:blank src" + http://bugs.webkit.org/show_bug.cgi?id=3609 + + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::MacFrame): pass along renderer + (WebCore::MacFrame::nextKeyViewInFrameHierarchy): get owner element in newfangled way + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge removeChild:]): don't mess with renderer + (-[WebCoreFrameBridge init]): call new designated initializer + (-[WebCoreFrameBridge initWithRenderer:]): new designated initializer + (-[WebCoreFrameBridge dealloc]): don't mess with renderer + (-[WebCoreFrameBridge finalize]): ditto + (-[WebCoreFrameBridge installInFrame:]): ditto + * page/Frame.cpp: + (WebCore::FrameList::find): get name from frame not ChildFrame + (WebCore::Frame::init): take renderer parameter + (WebCore::Frame::clear): clear m_plugins, not m_objects + (WebCore::Frame::childBegin): updated comment + (WebCore::Frame::stop): add check-completed for documentless case here + (WebCore::Frame::checkCompleted): don't track separate completed flag + in ChildFrame, use the sub Frame object's own + (WebCore::Frame::checkEmitLoadEvent): ditto + (WebCore::Frame::requestFrame): don't store renderer and name in ChildFrame, + instead pass them along + (WebCore::Frame::requestObject): ditto above + (WebCore::Frame::loadPlugin): expect renderer parameter + (WebCore::Frame::loadSubframe): expect renderer and name parameters + (WebCore::Frame::slotChildStarted): don't mess with ChildFrame + (WebCore::Frame::slotChildCompleted): ditto + (WebCore::Frame::childFrame): don't check m_objects + (WebCore::Frame::frameExists): fix spacing, remove obsolete check and comment + (WebCore::Frame::frameNames): get name from frame + (WebCore::Frame::ownerElement): simplify a lot since the Frame knows its owner + renderer now + (WebCore::Frame::ownerRenderer): added + (WebCore::Frame::canCachePage): check m_plugins not m_objects + * page/Frame.h: + * page/FramePrivate.h: + (WebCore::ChildFrame): Remove constructor, most fields. + (WebCore::FramePrivate::FramePrivate): Pass ownerRenderer + * rendering/render_frames.cpp: + (WebCore::RenderPartObject::updateWidget): Make sure to pass name attr + to requestObject. + +2006-02-06 Adele Peterson <adele@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6944 + REGRESSION: crash when loading page w/ <link> that has a DOMSubtreeModified event listener + + Test: fast/events/event-listener-on-link.html + + * khtml/xml/dom_elementimpl.h: Added createAttrImplIfNeeded, removed allocateImpl, + changed AttrImpl contructor to remove createTextChild bool, added createTextChild method, + changed getAttributeNode, getAttributeNodeNS, getNamedItem, getNamedItemNS, and item to return PassRefPtrs. + (DOM::ElementImpl::getAttributeNode): + * khtml/xml/dom_elementimpl.cpp: + (WebCore::AttributeImpl::createAttrImplIfNeeded): New method to replace allocateImpl. + This will use a RefPtr for the AttrImpl, check for an existing AttrImpl, create one if there isn't one, + and will call the new createTextChild. + (WebCore::AttrImpl::AttrImpl): Moved creation of text child to new createTextChild method. + If done in the constructor, the ref count is still 0, and the act of appending the text node + could cause the AttrImpl to be destroyed. + (WebCore::AttrImpl::createTextChild): Moved code from AttrImpl contructor. + Also, I've added an assert to make sure that any callers of this have ref'd the AttrImpl. + (WebCore::AttrImpl::cloneNode): Used RefPtr instead of PassRefPtr, and then called release() on it before returning. + (WebCore::ElementImpl::cloneNode): ditto. + (WebCore::ElementImpl::getAttributeNodeNS): Changed return type to PassRefPtr. + (WebCore::NamedAttrMapImpl::getNamedItemNS): ditto. + (WebCore::NamedAttrMapImpl::getNamedItem): ditto. Changed use of allocateImpl to createAttrImplIfNeeded + (WebCore::NamedAttrMapImpl::setNamedItem): ditto. + (WebCore::NamedAttrMapImpl::removeNamedItem): ditto. + (WebCore::NamedAttrMapImpl::item): ditto. + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::createAttributeNS): Changed return type to PassRefPtr and removed bool from AttrImpl contructor call. + * khtml/xml/DocumentImpl.h: Now returns a PassRefPtr for createAttribute and createAttributeNS. + (WebCore::DocumentImpl::createAttribute): + * khtml/xml/NamedNodeMapImpl.h: Now returns a PassRefPtr for getNamedItem, getNamedItemNS, and item. + (WebCore::NamedNodeMapImpl::getNamedItem): + * bindings/objc/DOM.mm: + (-[DOMNamedNodeMap getNamedItem:]): Call get() since the methods discussed above now return PassRefPtrs. + (-[DOMNamedNodeMap item:]): ditto. + (-[DOMNamedNodeMap getNamedItemNS::]): ditto. + (-[DOMDocument createAttribute:]): ditto. + (-[DOMDocument createAttributeNS::]): ditto. + (-[DOMElement getAttributeNode:]): ditto. + (-[DOMElement getAttributeNodeNS::]): ditto. + +2006-02-06 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - fixed 7094: onfocus/onblur on non-form-controls bubble + http://bugs.webkit.org/show_bug.cgi?id=7094 + + * khtml/html/HTMLElementImpl.cpp: + (WebCore::HTMLElementImpl::parseMappedAttribute): connect onfocus/onblur to + focus/blur, not DOMFocusIn/DOMFocusOut + +2006-02-06 Eric Seidel <eseidel@apple.com> + + Add svn:ignore properties for visual studio internals. + +2006-02-06 Dave Hyatt <hyatt@apple.com> + + Commit the image viewer test app, and all the Win32 project + changes to build both it and Cairo. + + Reviewed by eric + + * Viewer: Added. + * Viewer.aps: Added. + * Viewer.cpp: Added. + * Viewer.h: Added. + * Viewer.ico: Added. + * Viewer.rc: Added. + * Viewer.reg: Added. + * Viewer.vcproj: Added. + * Viewer/ImageDocument.cpp: Added. + * Viewer/ImageDocument.h: Added. + * Viewer/ImageMainFrame.cpp: Added. + * Viewer/ImageMainFrame.h: Added. + * Viewer/ImageView.cpp: Added. + * Viewer/ImageView.h: Added. + * Viewer/Resource.h: Added. + * Viewer/res: Added. + * Viewer/res/ImageViewer.rc2: Added. + * Viewer/res/Toolbar.bmp: Added. + * Viewer/stdafx.cpp: Added. + * Viewer/stdafx.h: Added. + * ViewerDoc.ico: Added. + * WebCore.vcproj/WebCore.sln: + * WebCore.vcproj/WebCore/WebCore.vcproj: + +2006-02-06 Dave Hyatt <hyatt@apple.com> + + Reviewed by darin + + * khtml/html/html_imageimpl.h: + (WebCore::HTMLImageElementImpl::compositeOperator): + * loader/CachedImage.cpp: + * platform/Array.h: + * platform/FloatSize.h: + * platform/Image.cpp: + (WebCore::Image::Image): + (WebCore::Image::compositeOperatorFromString): + * platform/Image.h: + * platform/ImageData.cpp: + (WebCore::FrameData::clear): + (WebCore::ImageData::ImageData): + (WebCore::ImageData::frameAtIndex): + * platform/ImageData.h: + * platform/ImageDecoder.h: + * platform/Timer.h: + * platform/cairo/.cvsignore: Added. + * platform/cairo/ImageCairo.cpp: Added. + (WebCore::Image::loadResource): + (WebCore::Image::supportsType): + (WebCore::graphicsContext): + (WebCore::setCompositingOperation): + (WebCore::Image::drawInRect): + (WebCore::Image::tileInRect): + (WebCore::Image::scaleAndTileInRect): + * platform/cairo/ImageDecoderCairo.cpp: Added. + (WebCore::createDecoderPlugin): + (WebCore::ImageDecoder::ImageDecoder): + (WebCore::ImageDecoder::~ImageDecoder): + (WebCore::ImageDecoder::initialized): + (WebCore::ImageDecoder::setData): + (WebCore::ImageDecoder::isSizeAvailable): + (WebCore::ImageDecoder::size): + (WebCore::ImageDecoder::repetitionCount): + (WebCore::ImageDecoder::frameCount): + (WebCore::ImageDecoder::createFrameAtIndex): + (WebCore::ImageDecoder::frameDurationAtIndex): + (WebCore::RGBA32Buffer::setDuration): + (WebCore::RGBA32Buffer::setIncludeInNextFrame): + (WebCore::RGBA32Buffer::bytes): + (WebCore::RGBA32Buffer::status): + (WebCore::RGBA32Buffer::duration): + (WebCore::RGBA32Buffer::includeInNextFrame): + (WebCore::RGBA32Buffer::setRGBA): + (WebCore::ImageDecoderPlugin::~ImageDecoderPlugin): + (WebCore::ImageDecoderPlugin::setData): + (WebCore::ImageDecoderPlugin::frameCount): + (WebCore::ImageDecoderPlugin::repetitionCount): + * platform/image-decoders/gif: Added. + * platform/image-decoders/gif/GIFDecoderPlugin.cpp: Added. + (WebCore::GIFDecoderPluginPrivate::GIFDecoderPluginPrivate): + (WebCore::GIFDecoderPluginPrivate::~GIFDecoderPluginPrivate): + (WebCore::GIFDecoderPluginPrivate::decode): + (WebCore::GIFDecoderPluginPrivate::frameCount): + (WebCore::GIFDecoderPluginPrivate::repetitionCount): + (WebCore::GIFDecoderPluginPrivate::setReadOffset): + (WebCore::GIFDecoderPluginPrivate::isTransparent): + (WebCore::GIFDecoderPluginPrivate::getColorMap): + (WebCore::GIFDecoderPluginPrivate::frameXOffset): + (WebCore::GIFDecoderPluginPrivate::frameYOffset): + (WebCore::GIFDecoderPluginPrivate::transparentPixel): + (WebCore::GIFDecoderPluginPrivate::duration): + (WebCore::GIFDecoderPlugin::GIFDecoderPlugin): + (WebCore::GIFDecoderPlugin::~GIFDecoderPlugin): + (WebCore::GIFDecoderPlugin::setData): + (WebCore::GIFDecoderPlugin::isSizeAvailable): + (WebCore::GIFDecoderPlugin::size): + (WebCore::GIFDecoderPlugin::frameCount): + (WebCore::GIFDecoderPlugin::repetitionCount): + (WebCore::GIFDecoderPlugin::frameBufferAtIndex): + (WebCore::GIFDecoderPlugin::decode): + (WebCore::GIFDecoderPlugin::sizeNowAvailable): + (WebCore::GIFDecoderPlugin::decodingHalted): + (WebCore::GIFDecoderPlugin::haveDecodedRow): + (WebCore::GIFDecoderPlugin::frameComplete): + (WebCore::GIFDecoderPlugin::gifComplete): + * platform/image-decoders/gif/GIFDecoderPlugin.h: Added. + (WebCore::GIFDecoderPlugin::frameDurationAtIndex): + (WebCore::GIFDecoderPlugin::): + * platform/image-decoders/gif/GIFReader.cpp: Added. + (GIFReader::output_row): + (GIFReader::do_lzw): + (GIFReader::read): + * platform/image-decoders/gif/GIFReader.h: Added. + (GIFFrameReader::GIFFrameReader): + (GIFFrameReader::~GIFFrameReader): + (GIFReader::GIFReader): + (GIFReader::~GIFReader): + (GIFReader::close): + * platform/win/ImageDecoderPlugin.h: Added. + (WebCore::RGBA32Buffer::): + (WebCore::RGBA32Buffer::RGBA32Buffer): + (WebCore::RGBA32Buffer::setStatus): + (WebCore::RGBA32Buffer::setDuration): + (WebCore::RGBA32Buffer::setIncludeInNextFrame): + (WebCore::RGBA32Buffer::bytes): + (WebCore::RGBA32Buffer::status): + (WebCore::RGBA32Buffer::duration): + (WebCore::RGBA32Buffer::includeInNextFrame): + (WebCore::RGBA32Buffer::setRGBA): + (WebCore::ImageDecoderPlugin::ImageDecoderPlugin): + (WebCore::ImageDecoderPlugin::~ImageDecoderPlugin): + (WebCore::ImageDecoderPlugin::setData): + (WebCore::ImageDecoderPlugin::isSizeAvailable): + (WebCore::ImageDecoderPlugin::size): + (WebCore::ImageDecoderPlugin::frameCount): + (WebCore::ImageDecoderPlugin::repetitionCount): + (WebCore::ImageDecoderPlugin::frameBufferAtIndex): + * platform/win/TimerWin.cpp: Added. + (WebCore::timerFired): + (WebCore::TimerBase::TimerBase): + (WebCore::TimerBase::~TimerBase): + (WebCore::TimerBase::start): + (WebCore::TimerBase::startRepeating): + (WebCore::TimerBase::startOneShot): + (WebCore::TimerBase::stop): + (WebCore::TimerBase::isActive): + (WebCore::TimerBase::nextFireInterval): + (WebCore::TimerBase::repeatInterval): + (WebCore::TimerBase::fire): + (WebCore::isDeferringTimers): + (WebCore::setDeferringTimers): + +2006-02-06 Vicki Murley <vicki@apple.com> + + Reviewed by Darin and Eric. + + - fix <rdar://problem/4414918> REGRESSION: images dragged into contenteditable area + end up outside of editable area (6525) + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]): Moved code from + elementAtPoint to this new method. This method takes a point and returns a NodeInfo + for the deepest node at that point. + (-[WebCoreFrameBridge elementAtPoint:]): Use new nodeInfoAtPoint method. + (-[WebCoreFrameBridge _visiblePositionForPoint:]): Ditto. + +2006-02-04 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7071 + REGRESSION: Jumping to an anchor identifier makes page scroll horizontally + + Test: fast/overflow/scroll-vertical-not-horizontal.html + + * rendering/render_layer.cpp: (WebCore::RenderLayer::getRectToExpose): + Fixed rectangle intersections so that the X and Y dimensions are independent, + to fix the bug. Also restructured the function a bit so it's even easier to + read and understand. + +2006-02-06 David Harrison <harrison@apple.com> + + Suggested by Darin. + + * khtml/html/HTMLElementImpl.cpp: + (WebCore::HTMLElementImpl::createContextualFragment): + - make nextChild a RefPtr to survive possible DOM changes + +2006-02-06 Beth Dakin <bdakin@apple.com> + + Reviewed by John and Adele + + Fix for <rdar://problem/4323167> REGRESSION (TOT): Crash in + RenderTable::colToEffCol entering text into text input field + + Some of the autofill code assumes that the form's label is in a + table cell, but this is not necessarily the case. This fix checks + that the renderer is actually a table cell before treating it as + such. + + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::searchForLabelsAboveCell): Check if the + renderer is a table cell. + +2006-02-06 Darin Adler <darin@apple.com> + + Reviewed by John. + + - fix <rdar://problem/4432562> REGRESSION (TOT): + Safari's "stop loading" active, "view source" inactive after page load [7058] + http://bugs.webkit.org/show_bug.cgi?id=7058 + + * page/Frame.h: Make redirectionTimerFired virtual. + * bridge/mac/MacFrame.h: Override redirectionTimerFired. + * bridge/mac/MacFrame.mm: (WebCore::MacFrame::redirectionTimerFired): + Send the redirectionTimerCancelled callback here, even though it has + fired rather than being cancelled. + + * manual-tests/redirect.html: Added. + * manual-tests/redirection-target.html: Added. + +2006-02-06 David Harrison <harrison@apple.com> + + Reviewed by John. + + Fix TOT regression where Mail.app replies were getting truncated. + Was caused by 1/26/2006 checkin for http://bugs.webkit.org/show_bug.cgi?id=6754 + + No layout test because this code cannot be reached via JS operations. + + * khtml/html/HTMLElementImpl.cpp: + (WebCore::HTMLElementImpl::createContextualFragment): + - restore code that sampled nextSibling() before node is removed + - also, add asserts that the DOM mutation methods yield a 0 exception code, so problems + can be caught closer to the cause. + +2006-02-05 Anders Carlsson <andersca@mac.com> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=7091 + Autogenerate even more. + + * JSCore.cpp: + Add new generated files. + + * bindings/scripts/CodeGeneratorJS.pm: + Add "IsIndex" extended attribute for parameters. Any parameter that is "unsigned long" + and has this attribute will be checked to make sure that it's not < 0. If it is, an index size error + exception will be thrown. + + * khtml/ecma/kjs_dom.cpp: + (KJS::toAttr): + Use JSAttr::info. + + (KJS::getDOMNode): + Use new constructors. + + * khtml/ecma/kjs_dom.h: + Remove classes that are generated now. + + * khtml/xml/Attr.idl: Added. + * khtml/xml/CharacterData.idl: Added. + * khtml/xml/Entity.idl: Added. + * khtml/xml/Notation.idl: Added. + * khtml/xml/ProcessingInstruction.idl: Added. + * khtml/xml/Text.idl: Added. + +2006-02-05 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + Re-landed the following with more fixes so it does not break tests: + + - various event cleanup, including fixing of the load event for iframes + http://bugs.webkit.org/show_bug.cgi?id=7079 + + Specific changes: + + - don't bother to nil-check the document, a node can never have a null document now + - move temp event forgetting from dispatchEvent to dispatchGenericEvent + - pass event down using RefPtr::release() to avoid ref thrashing + - support default handlers even for non-bubbling events (only on + target node) and skip calling default event handler explicitly in + callers + - dispatch a whole separate load event to a frame document's containing frame + - don't let propagationStopped prevent this new event + - remove bogus security check for iframe onload + - dispatch window events on the document, not the body, and also for non-html + - set onload, onunload, onbeforeunload from frameset tags on the window object + - don't restrict load/unload events to HTML + - send default handler to the dispatch object as previously + + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::shouldClose): + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLFrameElementImpl::parseMappedAttribute): + (WebCore::HTMLFrameSetElementImpl::parseMappedAttribute): + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::implicitClose): + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::dispatchEvent): + (WebCore::NodeImpl::dispatchGenericEvent): + (WebCore::NodeImpl::dispatchWindowEvent): + * khtml/xml/NodeImpl.h: + * page/Frame.cpp: + (WebCore::Frame::stopLoading): + (WebCore::Frame::setWindowHasFocus): + +2006-02-05 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - fix <rdar://problem/4197997> -[DOMHTMLSelectElement options] always returns an empty list + + * khtml/html/HTMLOptionsCollectionImpl.h: Changed to be a subclass of HTMLCollectionImpl. + * khtml/html/HTMLOptionsCollectionImpl.cpp: Added. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Added new source file. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLOptionsCollection setLength:]): Handle possible exception. + (-[DOMHTMLSelectElement options]): Add get() since this is now a PassRefPtr. + + * khtml/ecma/kjs_html.cpp: + (KJS::HTMLElement::selectIndexGetter): Call options() instead of optionsHTMLCollection(). + (KJS::HTMLElement::selectGetter): Ditto. + (KJS::KJS::HTMLElement::put): Ditto. + (KJS::HTMLElement::selectSetter): Ditto. + (KJS::KJS::HTMLSelectCollection::put): Ditto. + + * khtml/html/HTMLSelectElementImpl.h: Tweaked formatting. Eliminated m_options. + Changed m_minwidth and m_size to int instead of short. Removed optionsHTMLCollection(). + Changed options() to return a PassRefPtr. + * khtml/html/HTMLSelectElementImpl.cpp: + (WebCore::HTMLSelectElementImpl::~HTMLSelectElementImpl): Get rid of code to drop m_options. + (WebCore::HTMLSelectElementImpl::remove): Remove unnecesssary RefPtr use, since that's + handled fine by removeChild. + (WebCore::HTMLSelectElementImpl::options): Change to create a new HTMLOptionsCollectionImpl + each time, like other collection calls. Maybe we should change this eventually to use a + HashMap so we can pass out the same collection over and over again, or could have a pointer + stored in the select element that's managed by the collection itself. + +2006-02-05 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6908 + REGRESSION: Replacing existing <option> shuffles it to the end of the list + + Test: fast/forms/select-replace-option.html + + * khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLSelectCollection::put): + Use optionsHTMLCollection, because options isn't really implemented yet. + +2006-02-05 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6941 + Assertion failure in MacFrame::bridgeForWidget() on manual-tests/textfield-onblur.html + + * kwq/KWQTextField.mm: (-[KWQTextFieldController setHasFocus:]): + Add check for nil in case the blur event causes the KWQLineEdit to be + destroyed. + +2006-02-05 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6962 + REGRESSION: www.usa.phillips.com crashes due to <param> with no name + + Test: fast/replaced/object-param-no-name.html + + * rendering/render_frames.cpp: (WebCore::RenderPartObject::updateWidget): + Check for empty name, and skip processing the name/value of that <param> element. + +2006-02-05 Darin Adler <darin@apple.com> + + - rolled out Maciej's event cleanup patch, which is causing problems + + I believe he has a fix, and he'll re-land the patch with the fix later. + + Original fix was <http://bugs.webkit.org/show_bug.cgi?id=7079>. + Problems described in <http://bugs.webkit.org/show_bug.cgi?id=7084>. + +2006-02-05 Darin Adler <darin@apple.com> + + * ksvg2/css/KSVGCSSParser.cpp: Remove config.h, since this is included by another + .cpp file -- oops! + +2006-02-05 Darin Adler <darin@apple.com> + + Discussed with Anders (didn't get real review). + + - fix build + + * WebCore+SVG/SVGNamesWrapper.cpp: Touch file, not getting rebuilt even though + it includes config.h which changed. + * WebCore+SVG/XLinkNamesWrapper.cpp: Ditto. + + * ksvg2/css/KSVGCSSParser.cpp: Added include of config.h. + * platform/mac/ImageDecoder.cpp: Ditto. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Removed IntPoint.cpp and IntSize.cpp. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * platform/IntPoint.cpp: Removed. Was empty. + * platform/IntSize.cpp: Removed. Was empty. + +2006-02-05 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7048 + Reproducible crash when onscroll handler deletes the layer or its object + + Test: onscroll-layer-self-destruct.html + + * rendering/render_layer.cpp: (WebCore::RenderLayer::scrollToOffset): + Don't send the scroll event until after we've done everything else we + need to do. + +2006-02-05 Darin Adler <darin@apple.com> + + Rubber stamped by Maciej. + + - renamed DOMString and DOMStringImpl to String and StringImpl, and moved into platform + + * config.h: Put in transitional defines so old code can still refer to the classes + as DOMString and DOMStringImpl. + + * platform/AtomicString.cpp: Added. + * platform/AtomicString.h: Added. + * platform/AtomicStringImpl.h: Added. + * platform/PlatformString.h: Added. + * platform/String.cpp: Added. + * platform/StringImpl.cpp: Added. + * platform/StringImpl.h: Added. + Moved files here and renamed them. PlatformString.h would be named String.h except + that conflicts with <string.h> on non-case-sensitive file systems. + + * khtml/xml/dom_atomicstring.cpp: Removed. + * khtml/xml/dom_atomicstring.h: Removed. + * khtml/xml/dom_stringimpl.cpp: Removed. + * khtml/xml/dom_stringimpl.h: Removed. + * khtml/dom/dom_string.cpp: Removed. + * khtml/dom/dom_string.h: Removed. + + * WebCore.xcodeproj/project.pbxproj: Updated for file adds and removes. + * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto. + + * WebCore+SVG/KDOMHeaders.h: + * WebCore+SVG/Namespace.h: + * WebCore+SVG/kdom.h: + * bindings/objc/DOM.mm: + * bindings/objc/DOMCSS.mm: + * bindings/objc/DOMHTML.mm: + * bindings/objc/DOMInternal.mm: + * bridge/BrowserExtension.h: + * css/css_base.h: + * css/css_computedstyle.cpp: + * css/css_grammar.y: + * css/css_ruleimpl.h: + * css/css_stylesheetimpl.cpp: + * css/css_stylesheetimpl.h: + * css/css_valueimpl.cpp: + * css/csshelper.cpp: + * css/csshelper.h: + * css/cssparser.h: + * css/cssstyleselector.h: + * kcanvas/KCanvasTreeDebug.cpp: + * khtml/dom/dom2_events.h: + * khtml/ecma/JSXMLHttpRequest.cpp: + * khtml/ecma/kjs_html.cpp: + * khtml/ecma/kjs_window.cpp: + * khtml/editing/SelectionController.cpp: + * khtml/editing/apply_style_command.cpp: + * khtml/editing/delete_from_text_node_command.h: + * khtml/editing/insert_into_text_node_command.h: + * khtml/editing/jsediting.h: + * khtml/editing/rebalance_whitespace_command.h: + * khtml/editing/remove_css_property_command.h: + * khtml/editing/typing_command.h: + * khtml/html/FormDataList.h: + * khtml/html/HTMLNameCollectionImpl.h: + * khtml/html/html_baseimpl.cpp: + * khtml/html/html_objectimpl.cpp: + * khtml/khtml_events.h: + * khtml/xbl/xbl_binding.h: + * khtml/xbl/xbl_protobinding.h: + * khtml/xbl/xbl_protohandler.h: + * khtml/xbl/xbl_protoimplementation.h: + * khtml/xml/DOMImplementationImpl.cpp: + * khtml/xml/EventNames.h: + * khtml/xml/NameNodeListImpl.h: + * khtml/xml/NamedNodeMapImpl.h: + * khtml/xml/NodeImpl.cpp: + * khtml/xml/NodeImpl.h: + * khtml/xml/dom2_eventsimpl.h: + * khtml/xml/dom_atomicstringlist.h: + * khtml/xml/dom_elementimpl.h: + * khtml/xml/dom_qname.h: + * khtml/xml/dom_xmlimpl.cpp: + * khtml/xml/xml_tokenizer.h: + * khtml/xsl/xsl_stylesheetimpl.cpp: + * khtml/xsl/xslt_processorimpl.h: + * ksvg2/misc/KCanvasRenderingStyle.cpp: + * ksvg2/svg/SVGAngleImpl.h: + * ksvg2/svg/SVGAnimateColorElementImpl.cpp: + * ksvg2/svg/SVGAnimatedStringImpl.h: + * ksvg2/svg/SVGAnimationElementImpl.cpp: + * ksvg2/svg/SVGColorImpl.h: + * ksvg2/svg/SVGDOMImplementationImpl.cpp: + * ksvg2/svg/SVGElementImpl.cpp: + * ksvg2/svg/SVGFitToViewBoxImpl.cpp: + * ksvg2/svg/SVGLangSpaceImpl.cpp: + * ksvg2/svg/SVGLangSpaceImpl.h: + * ksvg2/svg/SVGLengthImpl.h: + * ksvg2/svg/SVGMarkerElementImpl.cpp: + * ksvg2/svg/SVGPaintImpl.h: + * ksvg2/svg/SVGPathSegImpl.h: + * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp: + * ksvg2/svg/SVGSVGElementImpl.cpp: + * ksvg2/svg/SVGScriptElementImpl.cpp: + * ksvg2/svg/SVGStringListImpl.h: + * ksvg2/svg/SVGStylableImpl.h: + * ksvg2/svg/SVGStyleElementImpl.cpp: + * ksvg2/svg/SVGStyledElementImpl.cpp: + * ksvg2/svg/SVGSymbolElementImpl.cpp: + * ksvg2/svg/SVGViewElementImpl.cpp: + * kwq/KWQAccObject.mm: + * kwq/KWQFontFamily.h: + * kwq/KWQFontFamily.mm: + * kwq/KWQKJobClasses.h: + * kwq/KWQKJobClasses.mm: + * loader/Cache.h: + * loader/CachedObject.h: + * loader/CachedXBLDocument.h: + * loader/CachedXSLStyleSheet.h: + * loader/DocLoader.h: + * page/Frame.cpp: + * page/FrameTreeNode.h: + * platform/SegmentedString.h: + * rendering/render_image.h: + * rendering/render_style.cpp: + * xml/xmlhttprequest.cpp: + Updated all includes to use new filenames. + +2006-02-05 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - various event cleanup, including fixing of the load event for iframes + http://bugs.webkit.org/show_bug.cgi?id=7079 + + Specific changes: + + - don't bother to nil-check the document, a node can never have a null document now + - move temp event forgetting from dispatchEvent to dispatchGenericEvent + - pass event down using RefPtr::release() to avoid ref thrashing + - support default handlers even for non-bubbling events (only on + target node) and skip calling default event handler explicitly in + callers + - dispatch a whole separate load event to a frame document's containing frame + - don't let propagationStopped prevent this new event + - remove bogus security check for iframe onload + + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::shouldClose): + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::dispatchEvent): + (WebCore::NodeImpl::dispatchGenericEvent): + (WebCore::NodeImpl::dispatchWindowEvent): + * khtml/xml/NodeImpl.h: + +2006-02-05 Maciej Stachowiak <mjs@apple.com> + + Reviewed and landed by Anders. + + * bindings/objc/DOM.mm: + (-[DOMNode replaceChild::]): + (KJS::DOMNodeProtoFunc::callAsFunction): + Return correct child. Fixes test case failures introduced by the fix to + http://bugs.webkit.org/show_bug.cgi?id=7076 + +2006-02-05 David Kilzer <ddkilzer@kilzer.net> + + Reviewed by Darin, landed by ap (with a tweak suggested by Darin). + + - Fixed --no-svg build on http://build.webkit.org/. + + * kwq/KWQPainter.mm: Include "FloatRect.h". + +2006-02-04 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - Just return bool from DOM child mutation methods instead of the node + http://bugs.webkit.org/show_bug.cgi?id=7076 + + * bindings/objc/DOM.mm: + (-[DOMNode insertBefore::]): + (-[DOMNode replaceChild::]): + (-[DOMNode removeChild:]): + (-[DOMNode appendChild:]): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNodeProtoFunc::callAsFunction): + * khtml/html/HTMLOptGroupElementImpl.cpp: + (WebCore::HTMLOptGroupElementImpl::insertBefore): + (WebCore::HTMLOptGroupElementImpl::replaceChild): + (WebCore::HTMLOptGroupElementImpl::removeChild): + (WebCore::HTMLOptGroupElementImpl::appendChild): + * khtml/html/HTMLOptGroupElementImpl.h: + * khtml/html/HTMLSelectElementImpl.cpp: + (WebCore::HTMLSelectElementImpl::insertBefore): + (WebCore::HTMLSelectElementImpl::replaceChild): + (WebCore::HTMLSelectElementImpl::removeChild): + (WebCore::HTMLSelectElementImpl::appendChild): + * khtml/html/HTMLSelectElementImpl.h: + * khtml/html/HTMLTextAreaElementImpl.cpp: + (WebCore::HTMLTextAreaElementImpl::setDefaultValue): + * khtml/html/html_tableimpl.cpp: + (WebCore::HTMLTableElementImpl::createTFoot): + * khtml/xml/ContainerNodeImpl.cpp: + (WebCore::ContainerNodeImpl::insertBefore): + (WebCore::ContainerNodeImpl::replaceChild): + (WebCore::ContainerNodeImpl::removeChild): + (WebCore::ContainerNodeImpl::appendChild): + * khtml/xml/ContainerNodeImpl.h: + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::insertBefore): + (WebCore::NodeImpl::replaceChild): + (WebCore::NodeImpl::removeChild): + (WebCore::NodeImpl::appendChild): + * khtml/xml/NodeImpl.h: + * khtml/xml/xml_tokenizer.cpp: + (WebCore::XMLTokenizer::insertErrorMessageBlock): + +2006-02-04 Maciej Stachowiak <mjs@apple.com> + + - reverted CSS media queries patch, as it causes random crashes on the + layout tests with a debug build. + + * WebCore.xcodeproj/project.pbxproj: + * css/css_grammar.y: + * css/css_mediaqueryeval.cpp: Removed. + * css/css_mediaqueryeval.h: Removed. + * css/css_mediaqueryimpl.cpp: Removed. + * css/css_mediaqueryimpl.h: Removed. + * css/css_stylesheetimpl.cpp: + (MediaListImpl::MediaListImpl): + (MediaListImpl::contains): + (MediaListImpl::deleteMedium): + (MediaListImpl::mediaText): + (MediaListImpl::setMediaText): + * css/css_stylesheetimpl.h: + (DOM::MediaListImpl::length): + (DOM::MediaListImpl::item): + (DOM::MediaListImpl::appendMedium): + * css/css_valueimpl.h: + * css/csshelper.h: + * css/cssmediafeatures.in: Removed. + * css/cssparser.cpp: + * css/cssparser.h: + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::CSSStyleSelector::init): + (WebCore::CSSStyleSelector::~CSSStyleSelector): + (WebCore::CSSStyleSelector::loadDefaultStyle): + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSStyleSelector::styleRulesForElement): + (WebCore::CSSRuleSet::addRulesFromSheet): + (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): + * css/cssstyleselector.h: + * css/makemediafeatures: Removed. + * css/maketokenizer: + * css/tokenizer.flex: + * khtml/html/html_headimpl.cpp: + (WebCore::HTMLLinkElementImpl::process): + (WebCore::HTMLLinkElementImpl::setStyleSheet): + (WebCore::HTMLStyleElementImpl::childrenChanged): + * platform/Screen.h: + * platform/mac/Screen.mm: + +2006-02-04 Andrew Wellington <proton@wiretapped.net> + + Reviewed and tweaked by Darin. + + - fixed regressions caused by fix for bug 5776 earlier today + + * rendering/render_list.h: Remove m_value from RenderListMarker, add it to RenderListItem. + A few other tweaks, including getting rid of "friend" relationship. + * rendering/render_list.cpp: + (RenderListItem::RenderListItem): Initialize m_value. + (RenderListItem::setStyle): Restore old behavior of making no marker for LNONE case. + (RenderListItem::calcValue): Work on m_value, not m_marker->m_value. + (RenderListItem::resetValue): Reset m_value, even if there's no marker. + (RenderListMarker::RenderListMarker): Remove code to set up m_value. + (RenderListMarker::calcMinMaxWidth): Get marker value from list item. + + * rendering/RenderContainer.cpp: (updateListMarkerNumbers): Call resetValue by its new name. + +2006-02-04 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Hyatt. + + - change JavaScript collector statistics calls to use HashCountedSet instead + of CFSet; other misc cleanup + http://bugs.webkit.org/show_bug.cgi?id=7072 + + * kwq/WebCoreJavaScript.h: + * kwq/WebCoreJavaScript.mm: + (+[WebCoreJavaScript protectedObjectCount]): Renamed from referencedObjectCounts + (+[WebCoreJavaScript rootObjectTypeCounts]): Renamed from rootObjectClasses, + changed from NSSet to NSCountedSet. + +2006-02-04 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - refactor and simplify code using ChildFrame in preparation for removing it + http://bugs.webkit.org/show_bug.cgi?id=7065 + + * WebCore.xcodeproj/project.pbxproj: reordered slightly. + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::createFrame): Don't take isObject parameter, just check tag name + * khtml/html/HTMLFormElementImpl.cpp: + (WebCore::HTMLFormElementImpl::prepareSubmit): remove obsolete hasOnlyLocalReferences check + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLFrameElementImpl::isURLAllowed): remove obsolete hasOnlyLocalReferences check + * loader/DocLoader.cpp: + (khtml::DocLoader::requestImage): remove obsolete hasOnlyLocalReferences check + (khtml::DocLoader::requestStyleSheet): remove obsolete hasOnlyLocalReferences check + (khtml::DocLoader::requestScript): remove obsolete hasOnlyLocalReferences check + (khtml::DocLoader::requestXSLStyleSheet): remove obsolete hasOnlyLocalReferences check + * page/Frame.cpp: + (WebCore::Frame::requestFrame): refactored and simplified + (WebCore::Frame::requestObject): ditto + (WebCore::Frame::shouldUsePlugin): ditto + (WebCore::Frame::loadPlugin): ditto + (WebCore::Frame::loadSubframe): ditto + (WebCore::Frame::frameNames): remove obsolete m_bPreloaded check + (WebCore::Frame::frames): ditto + (WebCore::Frame::connectChild): check isFrame, not child type + (WebCore::Frame::disconnectChild): ditto + (WebCore::Frame::handleFallbackContent): greatly simplify using onwerElement + (WebCore::Frame::updateBaseURLForEmptyDocument): use ownerElement, notChildFrame + (WebCore::Frame::onlyLocalReferences): removed + (WebCore::Frame::setOnlyLocalReferences): removed + * page/Frame.h: + * page/FramePrivate.h: + (WebCore::ChildFrame::ChildFrame): remove most fields. + * rendering/render_frames.cpp: + (WebCore::RenderPartObject::updateWidget): Remove redundant setting of base URL for child document + of iframe, Frame itself takes care of this already + +2006-02-03 Andrew Wellington <proton@wiretapped.net> + + Reviewed and tweaked by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5776 + Generated numbers of ordered lists (OL) are not calculated right + + Uses the DOM tree to calculate previous nodes and nest correctly + + Tests: + * fast/lists/olstart.html + * fast/lists/ol-display-types.html + + * khtml/html/html_listimpl.cpp: + (DOM::HTMLLIElementImpl::attach): remove calculation of start node value + * rendering/render_list.cpp: + (RenderListItem::setStyle): set up an m_marker even if the style is to + not display the marker, to get the numbering right + (enclosingList): gets the list enclosing the given node + (previousListItemElement): gets the previous element in the list + (RenderListItem::calcListValue): calculate the value correctly + +2006-02-03 Geoffrey Garen <ggaren@apple.com> + + Reviewed by beth. + + - Fixed <rdar://problem/4394868> window.open fails to parse + "width=200px" + + Cause: QString::toInt() is too aggressive; it parses letters as numbers. + The fix is to switch to DOMString. It's all the rage these days, + and its toInt() behavior matches what we want. + + * manual-tests/window-open-features-parsing.html: Added "px" case to + giant evil string. + + * khtml/ecma/kjs_window.cpp: + (KJS::setWindowFeature): + (KJS::parseWindowFeatures): + (KJS::WindowFunc::callAsFunction): + +2006-02-03 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com> + + Reviewed by Dave Hyatt and Tim H. + + Bug 4127: WebCore doesn't support Media Queries (CSS3 module) + http://bugs.webkit.org/show_bug.cgi?id=4127 + + http://www.w3.org/TR/css3-mediaqueries/ + + * WebCore.xcodeproj/project.pbxproj: + * css/css_grammar.y: + * css/css_mediaqueryeval.cpp: Added. + (MediaQueryEvaluator): + (MediaQueryEvaluator::~MediaQueryEvaluator): + (MediaQueryEvaluator::mediaTypeMatch): + (applyRestrictor): + (MediaQueryEvaluator::eval): + (parseAspectRatio): + * css/css_mediaqueryeval.h: Added. + * css/css_mediaqueryimpl.cpp: Added. + (MediaQueryExpImpl::MediaQueryExpImpl): + (MediaQueryExpImpl::~MediaQueryExpImpl): + (MediaQueryExpImpl::mediaFeature): + (MediaQueryExpImpl::value): + (MediaQueryImpl::MediaQueryImpl): + (MediaQueryImpl::~MediaQueryImpl): + (MediaQueryImpl::restrictor): + (MediaQueryImpl::expressions): + (MediaQueryImpl::mediaType): + (MediaQueryImpl::operator==): + * css/css_mediaqueryimpl.h: Added. + (DOM::MediaQueryExpImpl::operator==): + (DOM::MediaQueryExpListImpl::MediaQueryExpListImpl): + (DOM::MediaQueryExpListImpl::append): + (DOM::MediaQueryExpListImpl::list): + (DOM::MediaQueryImpl::): + * css/css_stylesheetimpl.cpp: + (MediaListImpl::MediaListImpl): + (MediaListImpl::deleteMedium): + (mediaQueryAsDOMString): + (MediaListImpl::mediaText): + (MediaListImpl::setMediaText): + (MediaListImpl::item): + (MediaListImpl::appendMedium): + (MediaListImpl::appendMediaQuery): + * css/css_stylesheetimpl.h: + (DOM::MediaListImpl::length): + (DOM::MediaListImpl::mediaQueries): + * css/css_valueimpl.h: + * css/csshelper.h: + * css/cssmediafeatures.in: Added. + * css/cssparser.cpp: + (CSSParser::parseMediaQuery): + * css/cssparser.h: + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::CSSStyleSelector::init): + (WebCore::CSSStyleSelector::~CSSStyleSelector): + (WebCore::CSSStyleSelector::loadDefaultStyle): + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSStyleSelector::styleRulesForElement): + (WebCore::CSSRuleSet::addRulesFromSheet): + (WebCore::CSSStyleSelector::defaultStyleForRoot): + * css/cssstyleselector.h: + * css/makemediafeatures: Added. + * css/maketokenizer: + * css/tokenizer.flex: + * khtml/html/html_headimpl.cpp: + (WebCore::HTMLLinkElementImpl::process): + (WebCore::HTMLLinkElementImpl::setStyleSheet): + (WebCore::HTMLStyleElementImpl::childrenChanged): + * platform/Screen.h: + * platform/mac/Screen.mm: + (WebCore::screenDepthPerComponent): + (WebCore::screenIsMonochrome): + +2006-02-03 Timothy Hatcher <timothy@apple.com> + + Reviewed by Justin. + + Renamed configuration names to Debug, Release and Production. + + * WebCore.xcodeproj/project.pbxproj: + +2006-02-03 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt. + + No test cases added because this is an unreproducible crash. + + This is a speculative fix for <rdar://problem/4048026> + CrashTracer: [BOUNCE BACK] 1219 crashes in Safari at + com.apple.WebCore: KHTMLParser::popOneBlock + 36 + + It seems possible that current could be nil when this function is + called, so the speculative fix is to add a nil check. + + * khtml/html/htmlparser.cpp: + (HTMLParser::popOneBlock): Added nil check. + +2006-02-03 David Hyatt <hyatt@apple.com> + + Refactoring of the image classes to make them even more + portable. + + Reviewed by mjs + + * WebCore.xcodeproj/project.pbxproj: + * platform/Image.cpp: + (WebCore::m_animationObserver): + (WebCore::Image::Image): + (WebCore::Image::~Image): + (WebCore::Image::resetAnimation): + (WebCore::Image::setData): + (WebCore::Image::isNull): + (WebCore::Image::size): + (WebCore::Image::rect): + (WebCore::Image::width): + (WebCore::Image::height): + (WebCore::): + (WebCore::Image::compositeOperatorFromString): + * platform/ImageData.cpp: Added. + (WebCore::FrameData::clear): + (WebCore::ImageData::ImageData): + (WebCore::ImageData::~ImageData): + (WebCore::ImageData::invalidateData): + (WebCore::ImageData::cacheFrame): + (WebCore::ImageData::isNull): + (WebCore::ImageData::size): + (WebCore::ImageData::setData): + (WebCore::ImageData::setNativeData): + (WebCore::ImageData::frameCount): + (WebCore::ImageData::isSizeAvailable): + (WebCore::ImageData::frameAtIndex): + (WebCore::ImageData::frameDurationAtIndex): + (WebCore::ImageData::shouldAnimate): + (WebCore::ImageData::startAnimation): + (WebCore::ImageData::stopAnimation): + (WebCore::ImageData::resetAnimation): + (WebCore::ImageData::advanceAnimation): + * platform/ImageData.h: Added. + (KXMLCore::): + (WebCore::FrameData::m_duration): + (WebCore::FrameData::~FrameData): + (WebCore::ImageData::setIsPDF): + (WebCore::ImageData::currentFrame): + * platform/ImageDecoder.h: + * platform/mac/Image.mm: + (WebCore::Image::loadResource): + (WebCore::Image::supportsType): + (WebCore::Image::getCGImageRef): + (WebCore::Image::getNSImage): + (WebCore::Image::getTIFFRepresentation): + (WebCore::graphicsContext): + (WebCore::setCompositingOperation): + (WebCore::fillSolidColorInRect): + (WebCore::Image::drawInRect): + (WebCore::drawPattern): + (WebCore::Image::tileInRect): + (WebCore::Image::scaleAndTileInRect): + * platform/mac/ImageData.mm: Added. + (WebCore::setCompositingOperation): + (WebCore::ImageData::invalidateAppleSpecificData): + (WebCore::ImageData::checkForSolidColor): + (WebCore::ImageData::getTIFFRepresentation): + (WebCore::ImageData::getNSImage): + * platform/mac/PDFDocumentImage.h: Added. + * platform/mac/PDFDocumentImage.mm: Added. + (WebCore::releasePDFDocumentData): + (WebCore::PDFDocumentImage::PDFDocumentImage): + (WebCore::PDFDocumentImage::~PDFDocumentImage): + (WebCore::PDFDocumentImage::documentRef): + (WebCore::PDFDocumentImage::mediaBox): + (WebCore::PDFDocumentImage::bounds): + (WebCore::PDFDocumentImage::adjustCTM): + (WebCore::PDFDocumentImage::setCurrentPage): + (WebCore::PDFDocumentImage::currentPage): + (WebCore::PDFDocumentImage::pageCount): + (WebCore::PDFDocumentImage::draw): + +2006-02-03 David Hyatt <hyatt@apple.com> + + Make a new class called ImageDecoder that wraps a CGImageSource. + This paves the way for ImageData to become portable as well. + + Reviewed by mjs + + * WebCore.xcodeproj/project.pbxproj: + * platform/ImageDecoder.h: Added. + * platform/mac/Image.mm: + (WebCore::ImageData::~ImageData): + (WebCore::ImageData::invalidateData): + (WebCore::ImageData::cacheFrame): + (WebCore::ImageData::size): + (WebCore::ImageData::setCFData): + (WebCore::ImageData::frameCount): + (WebCore::ImageData::isSizeAvailable): + (WebCore::ImageData::drawInRect): + * platform/mac/ImageDecoder.cpp: Added. + (WebCore::ImageDecoder::ImageDecoder): + (WebCore::ImageDecoder::~ImageDecoder): + (WebCore::imageSourceOptions): + (WebCore::ImageDecoder::initialized): + (WebCore::ImageDecoder::setData): + (WebCore::ImageDecoder::isSizeAvailable): + (WebCore::ImageDecoder::size): + (WebCore::ImageDecoder::repetitionCount): + (WebCore::ImageDecoder::frameCount): + (WebCore::ImageDecoder::createFrameAtIndex): + (WebCore::ImageDecoder::frameDurationAtIndex): + +2006-02-02 David Hyatt <hyatt@apple.com> + + Move ImageAnimationObserver into its own file. + + Reviewed by mjs + + * WebCore.xcodeproj/project.pbxproj: + * loader/CachedImage.h: + * platform/Image.h: + * platform/ImageAnimationObserver.h: Added. + (WebCore::ImageAnimationObserver::~ImageAnimationObserver): + * platform/mac/Image.mm: + +2006-02-02 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Adele. + + - remove all use of the ChildFrame from outside Frame.cpp, in preparation for removing it + + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::frameDetached): Factor out the ChildFrame manipulations into a base + class method. + (WebCore::MacFrame::objectContentType): factored out from createPart, calls the bridge to + determine contents for an Object tag. + (WebCore::MacFrame::createPlugin): factor out code from createPart that makes a Plugin. + (WebCore::MacFrame::createFrame): ditto for code that makes a Frame. + (WebCore::MacFrame::createEmptyDocument): factored out part into the superclass + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::ownerElement): Call new ownerElement method on Frame + instead of mucking at Frame internals. + * page/Frame.cpp: + (WebCore::Frame::createPart): Moved here from MacFrame, but some of the guts were + factored out. + (WebCore::Frame::ownerElement): New method, logic moved from DocumentImpl. + (WebCore::Frame::frameDetached): New virtual method, the part of this that + pokes at ChildFrame structures. + (WebCore::Frame::updateBaseURLForEmptyDocument): Helper that looks at the ChildFrame + array for the benefit of createEmptyDocument. + * page/Frame.h: + * page/Page.h: Fix up modeline. + * page/Plugin.h: Added. + (WebCore::Plugin::Plugin): Moved here from MacFrame.mm, since it is now used by Frame. + (WebCore::Plugin::view): ditto + +2006-02-02 David Hyatt <hyatt@apple.com> + + Avoid extra copies of all the decoded image bytes. + + Reviewed by mjs + + * platform/mac/Image.mm: + (WebCore::ImageData::setData): + +2006-02-02 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin, harrison + + <http://bugs.webkit.org/show_bug.cgi?id=6586> + REGRESSION: visible_text.cpp assertion failure in Mail.app + + Calling range() on a WordIterator destroyed its RangeImpl, use + RefPtr instead of PassRefPtr. + Turned on continuous spell checking to test the fix, found + a crasher caused by invalid positions created in + previousBoundary. + + Added layout test: + * editing/selection/end-of-document.html + + * khtml/editing/visible_text.h: + * khtml/editing/visible_units.cpp: + (khtml::previousBoundary): + +2006-02-02 David Hyatt <hyatt@apple.com> + + Vectorize Image. Optimize so that we no longer throw away + all CGImageRefs. Now we just throw away the last frame. + + Reviewed by mjs + + * platform/mac/Image.mm: + (WebCore::FrameData::m_duration): + (WebCore::FrameData::~FrameData): + (WebCore::FrameData::clear): + (WebCore::ImageData::invalidateData): + (WebCore::ImageData::cacheFrame): + (WebCore::ImageData::frameAtIndex): + (WebCore::ImageData::frameDurationAtIndex): + +2006-01-31 Geoffrey Garen <ggaren@apple.com> + + Reviewed by mjs. + + Cleaned up some stuff I came across when working with JS enabled/ + disabled code: + + (1) Renamed initScript to initScriptIfNeeded, because that's what it + does + (2) Removed dead or otherwise irrelevent code + (3) Fixed up comments + (4) Removed NULL checks for interpreter() since it never returns NULL, + replaced with single assert(). + + No test case because there's no change in behavior. + + * khtml/ecma/kjs_proxy.cpp: + (WebCore::KJSProxyImpl::evaluate): 1 + (WebCore::KJSProxyImpl::createHTMLEventHandler): 1 + (WebCore::KJSProxyImpl::createSVGEventHandler): 1 + (WebCore::KJSProxyImpl::interpreter): 4 + (WebCore::KJSProxyImpl::initScriptIfNeeded): 1 + * khtml/ecma/kjs_proxy.h: 1 + * page/Frame.cpp: + (Frame::didOpenURL): 2, 3 + (Frame::stopLoading): 2 + (Frame::jScriptEnabled): 2 + (Frame::jScript): changed method call to data member access to match + style of rest of class + (Frame::javaEnabled): 2 + (Frame::pluginsEnabled): 2 + (Frame::begin): 3 + (Frame::userGestureHint): 4 + (Frame::pauseTimeouts): collapsed a line + (Frame::resumeTimeouts): ditto + (Frame::saveInterpreterBuiltins): 4 + (Frame::restoreInterpreterBuiltins): 4 + * page/Frame.h: 2 + * page/FramePrivate.h: 2 + (FramePrivate::FramePrivate): 2 + +2006-02-02 David Hyatt <hyatt@apple.com> + + Fix for PLT performance regression. Make sure that the document's load event timer + isn't started again if it's already active. + + Reviewed by mjs + + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::dispatchImageLoadEventSoon): + +2006-02-02 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7000 + REGRESSION: Scrolling is triggering onunload in TOT + + Tests: + - fast/events/onunload-body-property.html + - fast/events/onunload-window-property.html + + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNode::getValueProperty): Change onunload case to use unloadEvent, not scrollEvent. + (KJS::DOMNode::putValueProperty): Ditto. + * khtml/ecma/kjs_window.cpp: + (KJS::Window::getValueProperty): Ditto. + (KJS::Window::putValueProperty): Ditto. + +2006-02-02 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6998 + setTimeout(0) tight loop uses almost all CPU (need 10ms minimum for timeout?) + + * khtml/ecma/kjs_window.cpp: (KJS::WindowQObject::installTimeout): When converting + the timeout number from an integer ms to a double seconds, use a 10 ms minimum. + +2006-02-02 Darin Adler <darin@apple.com> + + - added a FIXME about an incorrect change made to FloatRect + to fix the Win32 compile + + * platform/FloatRect.cpp: (WebCore::enclosingIntRect): Added FIXME + because this should do a ceil operation, not a round operation. + +2006-02-02 David Hyatt <hyatt@apple.com> + + Fix for bug 6957, rewrite image rendering in C++ and move it to + WebCore. Animation now stops lazily and just uses the CachedObject + notification system to push updates so that rects no longer need to + be cached (or sets of animating renderers in specific views). + + Reviewed by darin + + * WebCore.exp: + * bindings/objc/DOM.mm: + (-[DOMElement _image]): + (-[DOMElement _imageTIFFRepresentation]): + * bindings/objc/DOMPrivate.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::khtmlMouseMoveEvent): + (WebCore::MacFrame::fileWrapperForElement): + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge elementAtPoint:]): + * kcanvas/RenderSVGImage.cpp: + (RenderSVGImage::imageChanged): + * kcanvas/RenderSVGImage.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (KCanvasFEImageQuartz::getCIFilter): + * khtml/ecma/kjs_html.cpp: + (KJS::drawPattern): + * kwq/KWQClipboard.h: + (WebCore::KWQClipboard::setDragHasStarted): + * kwq/KWQClipboard.mm: + (WebCore::KWQClipboard::dragNSImage): + * kwq/KWQCursor.mm: + (WebCore::createCustomCursor): + * kwq/KWQPainter.h: + (WebCore::QPainter::): + * kwq/KWQPainter.mm: + (WebCore::QPainter::drawFloatImage): + (WebCore::QPainter::drawTiledImage): + (WebCore::QPainter::drawScaledAndTiledImage): + * kwq/KWQScrollView.h: + * kwq/KWQScrollView.mm: + (QScrollView::inWindow): + * kwq/WebCoreImageRendererFactory.h: + * kwq/WebCoreImageRendererFactory.m: + * loader/CachedImage.cpp: + (WebCore::CachedImage::ref): + (WebCore::CachedImage::imageRect): + (WebCore::CachedImage::notifyObservers): + (WebCore::CachedImage::data): + (WebCore::CachedImage::error): + (WebCore::CachedImage::shouldStopAnimation): + (WebCore::CachedImage::animationAdvanced): + * loader/CachedImage.h: + (WebCore::CachedImage::canRender): + * loader/CachedObjectClient.h: + (WebCore::CachedObjectClient::imageChanged): + (WebCore::CachedObjectClient::willRenderImage): + * platform/Image.h: + (WebCore::ImageAnimationObserver::~ImageAnimationObserver): + (WebCore::Image::animationObserver): + (WebCore::Image::): + * platform/mac/Image.mm: + (WebCore::releasePDFDocumentData): + (WebCore::PDFDocumentImage::PDFDocumentImage): + (WebCore::PDFDocumentImage::~PDFDocumentImage): + (WebCore::PDFDocumentImage::documentRef): + (WebCore::PDFDocumentImage::mediaBox): + (WebCore::PDFDocumentImage::bounds): + (WebCore::PDFDocumentImage::adjustCTM): + (WebCore::PDFDocumentImage::setCurrentPage): + (WebCore::PDFDocumentImage::currentPage): + (WebCore::PDFDocumentImage::pageCount): + (WebCore::PDFDocumentImage::draw): + (WebCore::ImageData::setIsPDF): + (WebCore::ImageData::currentFrame): + (WebCore::m_PDFDoc): + (WebCore::ImageData::~ImageData): + (WebCore::ImageData::invalidateData): + (WebCore::ImageData::cacheFrame): + (WebCore::ImageData::checkForSolidColor): + (WebCore::ImageData::isNull): + (WebCore::ImageData::size): + (WebCore::ImageData::setData): + (WebCore::ImageData::setCFData): + (WebCore::ImageData::imageSourceOptions): + (WebCore::ImageData::frameCount): + (WebCore::ImageData::isSizeAvailable): + (WebCore::ImageData::frameAtIndex): + (WebCore::ImageData::getTIFFRepresentation): + (WebCore::ImageData::getNSImage): + (WebCore::ImageData::frameDurationAtIndex): + (WebCore::ImageData::shouldAnimate): + (WebCore::ImageData::startAnimation): + (WebCore::ImageData::stopAnimation): + (WebCore::ImageData::resetAnimation): + (WebCore::ImageData::advanceAnimation): + (WebCore::ImageData::setCompositingOperation): + (WebCore::ImageData::fillSolidColorInRect): + (WebCore::ImageData::drawInRect): + (WebCore::drawPattern): + (WebCore::): + (WebCore::ImageData::tileInRect): + (WebCore::ImageData::scaleAndTileInRect): + (WebCore::Image::loadResource): + (WebCore::Image::supportsType): + (WebCore::m_animationObserver): + (WebCore::Image::Image): + (WebCore::Image::~Image): + (WebCore::Image::getCGImageRef): + (WebCore::Image::getNSImage): + (WebCore::Image::getTIFFRepresentation): + (WebCore::Image::resetAnimation): + (WebCore::Image::setData): + (WebCore::Image::isNull): + (WebCore::Image::size): + (WebCore::Image::rect): + (WebCore::graphicsContext): + (WebCore::Image::drawInRect): + (WebCore::Image::tileInRect): + (WebCore::Image::scaleAndTileInRect): + * rendering/render_box.cpp: + (WebCore::RenderBox::paintBackgroundExtended): + * rendering/render_image.cpp: + (WebCore::RenderImage::setCachedImage): + (WebCore::RenderImage::imageChanged): + * rendering/render_image.h: + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::paintBackground): + (WebCore::InlineFlowBox::paintBackgroundAndBorder): + * rendering/render_list.cpp: + (RenderListMarker::imageChanged): + * rendering/render_list.h: + * rendering/render_object.cpp: + (WebCore::RenderObject::mustRepaintBackgroundOrBorder): + (WebCore::RenderObject::paintBorderImage): + (WebCore::RenderObject::paintBorder): + (WebCore::RenderObject::imageChanged): + (WebCore::RenderObject::willRenderImage): + * rendering/render_object.h: + +2006-02-02 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/block/positioning/height-change.html + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6881 + Block with position:absolute bottom:0 doesn't always move when height + of containing block changes (affects Safari RSS) + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): Relayout positioned children if the + block's height changed during layout. + * rendering/render_flexbox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): Ditto. + +2006-02-02 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - Move name and parent from Frame to FrameTreeNode + http://bugs.webkit.org/show_bug.cgi?id=6994 + + * bridge/mac/BrowserExtensionMac.mm: + (WebCore::BrowserExtensionMac::createNewWindow): + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::generateFrameName): + (WebCore::MacFrame::submitForm): + (WebCore::Frame::frameDetached): + (WebCore::MacFrame::nextKeyViewInFrameHierarchy): + (WebCore::MacFrame::createEmptyDocument): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge setParent:]): + (-[WebCoreFrameBridge parent]): + (-[WebCoreFrameBridge setName:]): + (-[WebCoreFrameBridge name]): + * khtml/ecma/kjs_window.cpp: + (KJS::Window::getValueProperty): + (KJS::Window::put): + (KJS::Window::isSafeScript): + (KJS::WindowFunc::callAsFunction): + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLFrameElementImpl::isURLAllowed): + * khtml/html/html_headimpl.cpp: + (WebCore::HTMLLinkElementImpl::process): + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::ownerElement): + (WebCore::DocumentImpl::parentDocument): + * page/Frame.cpp: + (WebCore::Frame::checkCompleted): + (WebCore::Frame::redirectionTimerFired): + (WebCore::Frame::requestFrameName): + (WebCore::Frame::slotChildCompleted): + (WebCore::Frame::incrementFrameCount): + (WebCore::Frame::decrementFrameCount): + (WebCore::Frame::topLevelFrameCount): + (WebCore::Frame::selectFrameElementInParentIfFullySelected): + (WebCore::Frame::handleFallbackContent): + (WebCore::Frame::userGestureHint): + (WebCore::Frame::canCachePage): + (WebCore::Frame::updatePolicyBaseURL): + * page/Frame.h: + * page/FramePrivate.h: + (WebCore::FramePrivate::FramePrivate): + * page/FrameTreeNode.cpp: + (WebCore::FrameTreeNode::setName): + (WebCore::FrameTreeNode::appendChild): + (WebCore::FrameTreeNode::removeChild): + * page/FrameTreeNode.h: + (WebCore::FrameTreeNode::FrameTreeNode): + (WebCore::FrameTreeNode::name): + (WebCore::FrameTreeNode::parent): + (WebCore::FrameTreeNode::setParent): + * rendering/render_frames.cpp: + (WebCore::isURLAllowed): + +2006-02-01 Darin Adler <darin@apple.com> + + Checking in without review because I *just* broke this with my last check-in. + + - fix http://bugs.webkit.org/show_bug.cgi?id=7018 + REGRESSION: clearTimeout no longer works + + Test: fast/dom/Window/clear-timeout.html + + * khtml/ecma/kjs_window.cpp: (WindowQObject::clearTimeout): Fixed a + != that should have been a ==. + +2006-02-01 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - use Timer for everything, kill timer features of QObject, QTimer, QTimerEvent + + * ForwardingHeaders/kxmlcore/Noncopyable.h: Added. + * ForwardingHeaders/kxmlcore/OwnArrayPtr.h: Added. + * ForwardingHeaders/kxmlcore/OwnPtr.h: Added. + * ForwardingHeaders/qtimer.h: Removed. + * kwq/KWQTimer.cpp: Removed. + * kwq/KWQTimer.h: Removed. + + * kwq/KWQObject.h: + * kwq/KWQObject.cpp: Remove timer-related features. + + * kwq/KWQEvent.h: Remove QTimerEvent. + + * WebCore.xcodeproj/project.pbxproj: Updated for file changes. + * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto. + + * platform/Timer.h: Change to use nextFireInterval rather than nextFireTime. + More convenient and also no need to define what the epoch is. Change TimerBase + to use a virtual function rather than a function pointer. Added setDeferringTimers + function to ensure timers don't fire while handling an event. + * platform/mac/Timer.cpp: + (WebCore::timerFired): Added deferral support. + (WebCore::fireDeferred): Added. + (WebCore::TimerBase::TimerBase): Simplify to remove function pointer. + (WebCore::TimerBase::~TimerBase): Put in here, no longer inline. + (WebCore::TimerBase::start): Change to use interval. + (WebCore::TimerBase::startRepeating): Change since we use interval now. + (WebCore::TimerBase::startOneShot): Ditto. + (WebCore::TimerBase::stop): Added deferral support. + (WebCore::TimerBase::nextFireInterval): Added. + (WebCore::TimerBase::fire): Added. + (WebCore::isDeferringTimers): Added. + (WebCore::setDeferringTimers): Added. + + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::startRedirectionTimer): Update for change to Timer class. + (WebCore::MacFrame::passMouseDownEventToWidget): Update to use setDeferringTimers + instead of QObject::setDefersTimers. + + * khtml/ecma/kjs_window.h: + * khtml/ecma/kjs_window.cpp: + (KJS::DOMWindowTimer): Added. Class for JavaScript "timeout". + (KJS::WindowQObject::parentDestroyed): Update to use DOMWindowTimer. + (KJS::WindowQObject::installTimeout): Ditto. + (KJS::WindowQObject::pauseTimeouts): Ditto. + (KJS::WindowQObject::resumeTimeouts): Ditto. + (KJS::WindowQObject::clearTimeout): Ditto. + (KJS::WindowQObject::timerFired): Ditto. + (KJS::DOMWindowTimer::fired): Added. + + * khtml/html/htmltokenizer.h: + * khtml/html/htmltokenizer.cpp: + (WebCore::HTMLTokenizer::HTMLTokenizer): Use Timer instead of timer ID. + (WebCore::HTMLTokenizer::reset): Ditto. + (WebCore::HTMLTokenizer::continueProcessing): Ditto. + (WebCore::HTMLTokenizer::write): Ditto. + (WebCore::HTMLTokenizer::stopParsing): Ditto. + (WebCore::HTMLTokenizer::processingData): Ditto. + (WebCore::HTMLTokenizer::timerFired): Ditto. + (WebCore::HTMLTokenizer::end): Ditto. + (WebCore::HTMLTokenizer::finish): Ditto. + + * khtml/xml/DocumentImpl.h: + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::DocumentImpl): Updated for changes to use RefPtr + more cases, and not use it for m_svgExtensions. + (WebCore::DocumentImpl::~DocumentImpl): Delete m_svgExtensions instead of + just deref'ing it since it's no longer shared. + (WebCore::DocumentImpl::implementation): Update for RefPtr. + (WebCore::DocumentImpl::elementSheet): Ditto. + (WebCore::DocumentImpl::styleSheets): Ditto. + (WebCore::DocumentImpl::recalcStyleSelector): Ditto. + (WebCore::DocumentImpl::dispatchImageLoadEventSoon): Update to use new style timer. + (WebCore::DocumentImpl::removeImage): Ditto. + (WebCore::DocumentImpl::dispatchImageLoadEventsNow): Ditto. + (WebCore::DocumentImpl::imageLoadEventTimerFired): Ditto. + (WebCore::DocumentImpl::svgExtensions): Update for RefPtr. + (WebCore::DocumentImpl::accessSVGExtensions): Ditto. + + * ksvg2/misc/KSVGTimeScheduler.h: + (WebCore::TimeScheduler::document): + * ksvg2/misc/KSVGTimeScheduler.cpp: + (WebCore::SVGTimer::downcast): + (WebCore::SVGTimer::SVGTimer): + (WebCore::SVGTimer::start): + (WebCore::SVGTimer::calculateTimePercentage): + (WebCore::SVGTimer::notifyAll): + (WebCore::SVGTimer::addNotify): + (WebCore::SVGTimer::removeNotify): + (WebCore::TimeScheduler::TimeScheduler): + (WebCore::TimeScheduler::~TimeScheduler): + (WebCore::TimeScheduler::addTimer): + (WebCore::TimeScheduler::connectIntervalTimer): + (WebCore::TimeScheduler::disconnectIntervalTimer): + (WebCore::TimeScheduler::startAnimations): + (WebCore::TimeScheduler::toggleAnimations): + (WebCore::TimeScheduler::timerFired): + Rework to use new timer. + + * ksvg2/misc/SVGDocumentExtensions.h: + * ksvg2/misc/SVGDocumentExtensions.cpp: + Make SVGDocumentExtensions no longer be shared, be solely owned by the document. + + * ksvg2/svg/SVGDocumentImpl.cpp: + (WebCore::SVGDocumentImpl::createStyleSelector): Update for RefPtr use. + + * kwq/KWQSlot.cpp: Remove endLifeSupport and timerNotify slots. + + * page/Frame.h: + * page/Frame.cpp: + (WebCore::Frame::selectionLayoutChanged): Update to use new style timer. + (WebCore::Frame::caretBlinkTimerFired): Ditto. + * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Ditto. + + * page/FrameView.h: + * page/FrameView.cpp: + (WebCore::FrameViewPrivate::FrameViewPrivate): Update to use new style timer. + (WebCore::FrameView::clear): Ditto. + (WebCore::FrameView::layout): Ditto. + (WebCore::FrameView::layoutTimerFired): Ditto. + (WebCore::FrameView::scheduleRelayout): Ditto. + (WebCore::FrameView::layoutPending): Ditto. + (WebCore::FrameView::haveDelayedLayoutScheduled): Ditto. + (WebCore::FrameView::unscheduleRelayout): Ditto. + + * page/ObjectContents.h: Remove unneeded includes. + + * rendering/render_frames.cpp: Removed include of <qtimer.h>. + + * rendering/render_layer.h: + * rendering/render_layer.cpp: + (WebCore::Marquee::Marquee): Use new style timers. + (WebCore::Marquee::start): Ditto. + (WebCore::Marquee::suspend): Ditto. + (WebCore::Marquee::stop): Ditto. + (WebCore::Marquee::updateMarqueeStyle): Ditto. + (WebCore::Marquee::timerFired): Ditto. + +2006-02-01 Darin Adler <darin@apple.com> + + Reviewed by Beth. + + Fix for <rdar://problem/4424126> REGRESSION(412-420+): yellow + highlight fails to follow cursor when mousing over star rating + (6232) + + Event coordinates cannot be calculated until there is a target. + This patch restructures the code so that the coordinates are + initialized when the mouse event is created but are not calculated + until the target is set. + + * khtml/xml/dom2_eventsimpl.cpp: + (WebCore::EventImpl::setTarget): Now calls receivedTarget() if the + target is not nil. + (WebCore::EventImpl::receivedTarget): virtual receivedTarget() + (WebCore::MouseRelatedEventImpl::MouseRelatedEventImpl): Call + initCoordinates() + (WebCore::MouseRelatedEventImpl::initCoordinates): Formerly called + computePositions(), this now only initializes the coordinates and + lets receivedTarget() take care of the computations. + (WebCore::MouseRelatedEventImpl::receivedTarget): Takes care of + computing the coordinates. + (WebCore::MouseEventImpl::initMouseEvent): Call initCoordinates() + * khtml/xml/dom2_eventsimpl.h: + (WebCore::EventImpl::target): Fix spacing. + (WebCore::EventImpl::currentTarget): Same. + (WebCore::EventImpl::setCurrentTarget): Same. + +2006-01-31 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - fixed REGRESSION: assertion failure mousing over DHTML menus at www.worldofwarcraft.com + http://bugs.webkit.org/show_bug.cgi?id=6931 + + * rendering/render_layer.cpp: + (WebCore::RenderLayer::hitTestLayer): Iterate vectors in a way that won't break on empty ones. + +2006-01-31 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=6862 + Input's value doesn't get updated after typing in new text field + + Added test: + fast/forms/input-changing-value.html + + Added an event listener for a DOMCharacterDataModifiedEvent on the inner div. + When we get the event, then we update the input element's value field. + + There may be performance problems with this approach that we will have to + address before flipping the switch to use these new text fields. + + * rendering/RenderTextField.cpp: + (WebCore::InputMutationListener::handleEvent): calls subtreeHasChanged + (WebCore::m_mutationListener): + (WebCore::RenderTextField::~RenderTextField): remove the event listener. + (WebCore::RenderTextField::setStyle): Remove unnecessary setStyle on text node. + It should inherit style from the div already. + (WebCore::RenderTextField::updateFromElement): add the event listener. + (WebCore::RenderTextField::subtreeHasChanged): updates the input element's value. + * rendering/RenderTextField.h: + (WebCore::InputMutationListener::InputMutationListener): Added. + (WebCore::InputMutationListener::renderTextField): Added. + (WebCore::InputMutationListener::setInputElement): Added. + +2006-01-31 Antti Koivisto <koivisto@iki.fi> + + Reviewed by Dave Hyatt. + Landed by Timothy Hatcher. + + http://bugs.webkit.org/show_bug.cgi?id=4959 + Bug 4959: inline style not terminated properly after <form> + + * khtml/html/htmlparser.cpp: + (HTMLParser::isResidualStyleTag): add <span> as residual style tag + (HTMLParser::isAffectedByResidualStyle): add <form> as tag affected by residual style + +2006-01-31 Vicki Murley <vicki@apple.com> + + Reviewed by Geoff. + + - fix <rdar://problem/4426668> REGRESSION: sometimes URLs with named anchors in a + page don't jump to proper location in document (6916). Added test cases for this + fix and past link jumping bug fixes. + + * khtml/xml/ContainerNodeImpl.cpp: + (WebCore::ContainerNodeImpl::getUpperLeftCorner): Traverse up the parent node chain + until you find one that has a sibling. + * manual-tests/linkjump-1.html: Added a note here - the bug for this test case is + still broken in TOT. + * manual-tests/linkjump-2.html: Added. Renamed scrollToAnchor.html, to group it with the + rest of the link jumping tests. + * manual-tests/linkjump-3.html: Added. Test case for this bug, <rdar://problem/4426668>. + * manual-tests/linkjump-4.html: Added. Test case for past fix, <rdar://problem/4247537>. + * manual-tests/linkjump-5.html: Added. Test case for past fix, <rdar://problem/4256060>. + * manual-tests/scrollToAnchor.html: Removed. + +2006-01-31 David Harrison <harrison@apple.com> + + Reviewed by John. + <rdar://problem/4423922> TOT REGRESSION (r12358): first iframe in pair fails to copy + + Layout test added: + * editing/pasteboard/paste-empty-startcontainer.html + + * khtml/xml/dom2_rangeimpl.cpp: + (DOM::RangeImpl::startNode): + - use empty non-textual m_startContainer itself if m_startOffset is 0, rather then nextSibling() + +2006-01-31 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/forms/selected-index-assert.html. + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6942 + Assertion failure in HTMLSelectElementImpl::selectedIndex (m_multiple) + + * khtml/html/HTMLSelectElementImpl.cpp: + (WebCore::HTMLSelectElementImpl::selectedIndex): Removed bogus assert. + -1 is the correct value to return if no option is selected. + +2006-01-31 Beth Dakin <bdakin@apple.com> + + Reviewed by Adele. + + Fixing build bustage. Removing include of khtml_factory.h since it + has been removed. + + * rendering/font.cpp: No longer include khtml_factory.h + +2006-01-31 David Kilzer <ddkilzer@kilzer.net> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6584 + REGRESSION: button after unclosed button gives trouble + + * khtml/html/htmlparser.cpp: (HTMLParser::getNode): + Add buttonTag to error handling table to take care of unclosed tags. + +2006-01-31 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/parser/script-after-frameset-assert.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6959 + REGRESSION: Assertion failure in HTMLTokenizer::parseTag (!scriptNode) on page with ignored scripts + + * khtml/html/htmltokenizer.cpp: + (WebCore::HTMLTokenizer::scriptHandler): Reset scriptNode to 0 if the + script is being skipped. + +2006-01-31 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6960 + REGRESSION: Assertion failure in table_layout.cpp:216 calcWidthArray() + + * rendering/table_layout.cpp: (WebCore::FixedTableLayout::calcWidthArray): + Remove the assertion. + +2006-01-31 Anders Carlsson <andersca@mac.com> + + Reviewed by John. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6964 + ImagePatterns are always rendered mirrored + + * khtml/ecma/kjs_html.cpp: + (KJS::ImagePattern::createPattern): + Don't mirror the x coordinate when creating the pattern. + +2006-01-31 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - added a Timer class + - used the Timer class for the redirection timer + - moved Frame, FrameView, MacFrame, and FrameNodeTree into WebCore namespace + - removed more KWQ + + * ForwardingHeaders/khtml_factory.h: Removed. + * kwq/KWQKHTMLFactory.cpp: Removed. + * kwq/KWQKHTMLFactory.h: Removed. + + * platform/Timer.h: Added. + * platform/mac/Timer.cpp: Added. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for added and removed files. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * page/Frame.h: + * page/Frame.cpp: + (WebCore::Frame::init): Remove code to set up slotRedirect. + (WebCore::Frame::checkCompleted): Call start/stopRedirectionTimer instead of using + the redirection timer directly. + (WebCore::Frame::scheduleRedirection): Ditto. + (WebCore::Frame::scheduleLocationChange): Ditto. + (WebCore::Frame::scheduleHistoryNavigation): Ditto. + (WebCore::Frame::cancelRedirection): Ditto. + (WebCore::Frame::redirectionTimerFired): Renamed from slotRedirect. + (WebCore::Frame::slotParentCompleted): More startRedirectionTimer. + (WebCore::Frame::startRedirectionTimer): Added. Virtual bottleneck to start the + redirection timer. + (WebCore::Frame::stopRedirectionTimer): Added. Virtual bottleneck to stop the + redirection timer. + + * page/FramePrivate.h: Changed m_redirectionTimer from a QTimer to a Timer. + + * bridge/mac/MacFrame.mm: + (WebCore::MacFrame::startRedirectionTimer): Added. Avoids the need for the QTimer + "monitor" feature that I had added a while back to implement the client-redirected + callback. + (WebCore::MacFrame::stopRedirectionTimer): Ditto. + + * kwq/KWQSlot.cpp: Removed slotRedirected. + + * ForwardingHeaders/ksvg2/KSVGPart.h: Removed using to put Frame into various + namespaces (all of which are WebCore now anyway). + + * bindings/objc/DOMInternal.mm: + * bridge/mac/BrowserExtensionMac.h: + * bridge/mac/KWQKHTMLView.cpp: + * bridge/mac/MacFrame.h: + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + * bridge/mac/WebCorePageBridge.h: + * bridge/mac/WebCorePageBridge.mm: + * css/cssstyleselector.cpp: + * css/cssstyleselector.h: + * khtml/ecma/kjs_binding.cpp: + * khtml/ecma/kjs_binding.h: + * khtml/ecma/kjs_navigator.cpp: + * khtml/ecma/kjs_navigator.h: + * khtml/ecma/kjs_proxy.h: + * khtml/ecma/kjs_window.h: + * khtml/editing/SelectionController.h: + * khtml/editing/jsediting.h: + * khtml/html/html_baseimpl.h: + * khtml/html/html_documentimpl.cpp: + * khtml/html/html_documentimpl.h: + * khtml/html/html_headimpl.h: + * khtml/html/htmlparser.h: + * khtml/html/htmltokenizer.h: + * khtml/xml/DOMImplementationImpl.h: + * khtml/xml/DocumentImpl.h: + * khtml/xml/dom2_eventsimpl.h: + * khtml/xml/xml_tokenizer.h: + * khtml/xsl/xslt_processorimpl.h: + * ksvg2/svg/SVGDocumentImpl.cpp: + * kwq/KWQClipboard.h: + * kwq/KWQComboBox.mm: + * kwq/KWQFileButton.h: + * kwq/KWQFrame.mm: + * kwq/KWQKJavaAppletWidget.h: + * kwq/KWQListBox.mm: + * kwq/KWQSignalStubs.cpp: + * kwq/KWQSlider.mm: + * kwq/KWQTextField.mm: + * kwq/KWQWidget.mm: + * kwq/WebCoreSettings.mm: + * kwq/WebCoreTextRendererFactory.mm: + * loader/DocLoader.h: + * page/FrameTreeNode.cpp: + * page/FrameTreeNode.h: + * page/FrameView.cpp: + * page/FrameView.h: + * page/Page.cpp: + * page/Page.h: + * rendering/InlineTextBox.h: + * rendering/font.cpp: + * rendering/render_canvas.h: + * rendering/render_frames.h: + * rendering/render_object.h: + * rendering/render_replaced.h: + Updated for namespace and header changes. + +2006-01-31 Anders Carlsson <andersca@mac.com> + + Reviewed by Darin. + + The WebCore part of http://bugs.webkit.org/show_bug.cgi?id=6907 + REGRESSION: United.com menus messed up due to document.all/MSIE sniff + + * khtml/ecma/kjs_html.h: + (KJS::HTMLAllCollection::masqueradeAsUndefined): + Update for name change. + +2006-01-30 Geoffrey Garen <ggaren@apple.com> + + Reviewed by mjs. + + - Speculative fix for <rdar://problem/4135845> Crash executing + cross-frame script on timeout in KJS::ScheduledAction::execute + + If we ever get a reproducible case of 4135845, I'll add a test for it. + + This is a re-working of Maciej's fix for 3157014 (circa 2003!). Since + you can't reliably predict what the state of the page will be when + a timer fires, I've made the timer responsbile for making sure that + everything is OK to execute. + + I tested @ http://www.javascriptkit.com/script/cut3.shtml with various + combinations of reload, back, and regular navigations with JS enabled/ + disabled to ensure that the previous crash didn't return. I also ran a + leaks test and discovered some, but none unique to this patch. (See + <rdar://problem/4427420> TOT REGRESSION: Leaks seen on page with + JavaScript timer.) + + * khtml/ecma/kjs_window.cpp: + (KJS::ScheduledAction::execute): Return early if there's no window + object. (This happens when JavaScript is disabled.) + (KJS::Window::retrieveWindow): Reversed a backwards ASSERT, increased + prettiness. (The assert fired while I was testing. Not sure why we + haven't seen it before.) + * page/Frame.cpp: + (Frame::didOpenURL): Returned setting of JavaScript enabled/disabled + preference to its rightful place. This introduces a new behavior: now, + the unload event does not fire after you've disabled JavaScript. That + seems like a good thing. (See <rdar://problem/4426506> Disabling + JavaScript should immediately end JavaScript execution.) + (Frame::begin): Ditto. + +2006-01-30 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Dave Harrison. + + - Fixed <rdar://problem/4378159> crash in KWQKHTMLPart::userGestureHint + from javascript enabled/disabled inconsistency when pasting webpage + into email or blot + + * page/Frame.cpp: + (Frame::userGestureHint): Check root frame's jScript() for NULL instead + of checking inner frame's jScript(). + + After init() has been called on a frame, but before begin() has been + called, the frame can have JavaScript enabled when its parent doesn't. + (That seems wrong, so I've filed <rdar://problem/4426499> Child frame + momentarily has JavaScript enabled even though parent frame doesn't.) + + Regardless, it's better programming practice to NULL check the actual + pointer you're going to use, so that's what I've done here. + + * manual-tests/paste-crash.html: Added. + (No automated test because the crash depends on JavaScript being + disabled.) + +2006-01-30 Beth Dakin <bdakin@apple.com> + + Reviewed by Geoff + + Fix for <rdar://problem/4298052> Crash in KWQCheckIfReloading at + http://www.inquisitorx.com/beta/ + + It is possible for the DocLoader's frame to be nil when the + DocLoader is not nil, so we need nil checks. + + * kwq/KWQLoader.mm: + (KWQServeRequest): Nil check. + (KWQServeSynchronousRequest): Same. + (KWQCheckIfReloading): Same. + (KWQCheckCacheObjectStatus): Same. + (KWQCacheObjectExpiresTime): Same. + * kwq/KWQPageState.mm: Same. + +2006-01-30 Eric Seidel <eseidel@apple.com> + + Add #import "KWQFontMetrics.h" to fix no-svg build. + + * kwq/KWQPainter.mm: + +2006-01-30 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - cleanup of Int/Float-Size/Point/Rect classes + + I did this as part of a redo of QMatrix, but I decided I should + land this part separately. + + Eliminated the concept of a null rect or point, which used to be + indicated by negative width and height. + + Changed right and bottom to to be, e.g., 2 for a rect at (0,0) 2x2. + The old code followed Qt's system that says right is 1 in those cases, + which is inappropriate for floating point, and old fashioned because + modern graphics systems use coordinates for lines between pixels, not + the pixels themselves. + + Other API improvements to the point, size, and rect classes. For example, + functions named with verbs now always modify the object itself. + + * rendering/render_theme_mac.mm: (RenderThemeMac::paintButton): Fixed + a bug where it said x() where it should say y(). + + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + * bridge/mac/WebCoreFrameBridge.mm: + * kcanvas/KCanvasContainer.cpp: + * kcanvas/KCanvasItem.cpp: + * kcanvas/RenderSVGImage.cpp: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + * khtml/ecma/kjs_dom.cpp: + * khtml/ecma/kjs_window.cpp: + * khtml/editing/SelectionController.cpp: + * khtml/html/html_inlineimpl.cpp: + * khtml/html/html_objectimpl.cpp: + * khtml/html/html_objectimpl.h: + * khtml/misc/khtmllayout.h: + * ksvg2/svg/SVGSVGElementImpl.cpp: + * kwq/KWQAccObject.mm: + * kwq/KWQComboBox.mm: + * kwq/KWQFileButton.mm: + * kwq/KWQFontMetrics.mm: + * kwq/KWQPainter.h: + * kwq/KWQPainter.mm: + * kwq/KWQRegion.cpp: + * kwq/KWQRenderTreeDebug.cpp: + * kwq/KWQScrollView.mm: + * kwq/KWQWMatrix.cpp: + * kwq/KWQWidget.h: + * kwq/KWQWidget.mm: + * kwq/KWQWindowWidget.mm: + * loader/CachedImage.cpp: + * page/Frame.cpp: + * page/FrameView.cpp: + * platform/FloatPoint.cpp: + * platform/FloatPoint.h: + * platform/FloatRect.cpp: + * platform/FloatRect.h: + * platform/FloatSize.cpp: + * platform/FloatSize.h: + * platform/Image.h: + * platform/IntPoint.cpp: + * platform/IntPoint.h: + * platform/IntPointArray.cpp: + * platform/IntPointArray.h: + * platform/IntRect.cpp: + * platform/IntRect.h: + * platform/IntSize.cpp: + * platform/IntSize.h: + * platform/mac/FloatPoint.mm: + * platform/mac/FloatRect.mm: + * platform/mac/FloatSize.mm: + * platform/mac/Image.mm: + * platform/mac/IntPoint.mm: + * platform/mac/IntRect.mm: + * platform/mac/IntSize.mm: + * platform/mac/Screen.mm: + * rendering/InlineTextBox.cpp: + * rendering/RenderBlock.cpp: + * rendering/RenderBlock.h: + * rendering/RenderTable.cpp: + * rendering/RenderTableCell.cpp: + * rendering/RenderText.cpp: + * rendering/render_box.cpp: + * rendering/render_canvas.cpp: + * rendering/render_canvasimage.cpp: + * rendering/render_flow.cpp: + * rendering/render_form.cpp: + * rendering/render_frames.cpp: + * rendering/render_layer.cpp: + * rendering/render_line.cpp: + * rendering/render_list.cpp: + * rendering/render_object.cpp: + * rendering/render_object.h: + * rendering/render_replaced.cpp: + +2006-01-29 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - Remove QSortedList and QPtrList sorting support + http://bugs.webkit.org/show_bug.cgi?id=6929 + + * WebCore.xcodeproj/project.pbxproj: + * kcanvas/device/KRenderingPaintServerGradient.cpp: + (operator<<): Implement for Vector<KCGradientStop> + (KRenderingPaintServerGradient::gradientStops): Use a Vector, not a subclass of + QPtrList that sorts on every insert + (compareStopOffset): Comparison function for sorting. + (KRenderingPaintServerGradient::setGradientStops): Add a version that takes a Vector which sorts, + and another which knows how to copy from another gradient paint server. + * kcanvas/device/KRenderingPaintServerGradient.h: + (makeGradientStop): Make a gradient stop pair. + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + (KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz): use delete + on stops cache + (KRenderingPaintServerGradientQuartz::updateQuartzGradientStopsCache): adapt to Vector + * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: + * khtml/editing/visible_text.cpp: + (khtml::compareBoxStart): Comparison function for sorting. + (khtml::TextIterator::handleTextNode): Use Vector and std::sort instead of QSortedList + for sorting. Keep current position as an index. + (khtml::TextIterator::handleTextBox): Adapt for Vector use. + * khtml/editing/visible_text.h: + * ksvg2/svg/SVGGradientElementImpl.cpp: + (SVGGradientElementImpl::rebuildStops): Use a Vector. Instead of modifying the existing one, + make a fresh one and assign it. + * ksvg2/svg/SVGLinearGradientElementImpl.cpp: + (SVGLinearGradientElementImpl::buildGradient): don't copy item by item, just assign directly. + * ksvg2/svg/SVGRadialGradientElementImpl.cpp: + (SVGRadialGradientElementImpl::buildGradient): ditto + * ksvg2/svg/SVGStopElementImpl.h: + * kwq/KWQListImpl.cpp: + * kwq/KWQPtrList.h: + (QPtrList::sort): Removed. + * kwq/KWQSortedList.h: Removed. + * rendering/InlineTextBox.h: Remove now unneeded operator< and operator= + +2006-01-29 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - killed more KWQ, KWinModule and QVariant + + * ForwardingHeaders/kwinmodule.h: Removed. + * ForwardingHeaders/qvariant.h: Removed. + + * kwq/KWQKWinModule.h: Removed. + * kwq/KWQKWinModule.mm: Removed. + * kwq/KWQVariant.cpp: Removed. + * kwq/KWQVariant.h: Removed. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removal. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * khtml/ecma/kjs_binding.h: + * khtml/ecma/kjs_binding.cpp: Remove QVariant stuff. + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent): + * khtml/ecma/kjs_proxy.h: + * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate): + * page/Frame.h: + * page/Frame.cpp: + (getString): + (Frame::replaceContentsWithScriptResult): + (Frame::executeScript): + (Frame::executeScheduledScript): + (Frame::changeLocation): + (Frame::urlSelected): + (Frame::submitForm): + Changed to use JSValue instead of QVariant for result of executing JavaScript. + + * kwq/KWQObject.h: Removed a bunch of unneeded includes and forward declarations. + + * bridge/mac/MacFrame.mm: + * khtml/ecma/kjs_window.h: + * khtml/ecma/kjs_window.cpp: + * khtml/html/html_inlineimpl.cpp: + * khtml/html/htmltokenizer.cpp: + * khtml/xml/DocumentImpl.cpp: + * khtml/xml/NodeImpl.cpp: + * khtml/xml/dom2_eventsimpl.cpp: + * khtml/xml/xml_tokenizer.cpp: + * kwq/KWQComboBox.mm: + * kwq/KWQFileButton.mm: + * kwq/KWQListBox.mm: + * kwq/KWQObject.cpp: + * kwq/KWQSlider.mm: + * kwq/KWQTextArea.mm: + * kwq/KWQTextField.mm: + * loader/CachedImage.h: + * page/FrameView.h: + * page/FrameView.cpp: + * rendering/render_form.cpp: + Updated includes, since KWQObject.h now includes less. + Also updated callers to executeScript since one overload was removed. + +2006-01-29 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Added back #include <qvaluelist.h> to fix WIN32 build. + + * rendering/render_style.h: + +2006-01-29 Darin Adler <darin@apple.com> + + Reviewed by Hyatt (drag image fix) and Maciej (the rest). + + - fixed just-introduced crash dragging images + + I don't know how to make a layout test for this. + + * kwq/KWQClipboard.mm: (WebCore::KWQClipboard::dragImage): Fixed crash on + dragging by initializing m_dragImage to 0. + + - http://bugs.webkit.org/show_bug.cgi?id=6923 + remove more of KWQ, including the screen functions from QDesktopWidget + + * kwq/KWQApplication.h: Removed. + * kwq/KWQApplication.mm: Removed. + * kwq/KWQGlobal.cpp: Removed. + * kwq/KWQKPartsEvent.cpp: Removed. + * kwq/KWQKPartsEvent.h: Removed. + * kwq/KWQPair.h: Removed. + * kwq/KWQStyle.cpp: Removed. + * kwq/KWQStyle.h: Removed. + + * ForwardingHeaders/kparts/event.h: Removed. + * ForwardingHeaders/qapplication.h: Removed. + * ForwardingHeaders/qstyle.h: Removed. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for above changes. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * platform/Screen.h: Added. Replaces the desktop widget stuff in KWQApplication.mm. + * platform/mac/Screen.mm: Added. + + * kwq/KWQDef.h: Removed everything except for kMin and kMax from here. + We should port to std::min and std::max, and then we can get rid of this + header altogether. + + * kwq/KWQKCursor.h: Removed setAutoHideCursor. + * kwq/KWQKCursor.mm: Ditto. + + * kwq/KWQWidget.h: Removed style() and setStyle() functions. + * kwq/KWQWidget.mm: Ditto. + + * khtml/ecma/kjs_window.h: + * khtml/ecma/kjs_window.cpp: + (KJS::Screen::Screen): Store a pointer to the Frame. + (KJS::Screen::getValueProperty): Port to use the new Screen.h functions. + (KJS::showModalDialog): Ditto. + (KJS::Window::getValueProperty): Ditto. + (KJS::WindowFunc::callAsFunction): Ditto. + + * khtml/khtml_events.h: + * khtml/khtml_events.cpp: Removed much of the code here. + This can be cut down even more. + + * khtml/misc/khtmllayout.h: Removed unused stuff and updated for KWQ changes. + + * kwq/KWQCString.cpp: + * kwq/KWQKURL.mm: + * kwq/KWQPainter.mm: + * kwq/KWQRegExp.cpp: + * kwq/KWQRenderTreeDebug.cpp: + * kwq/KWQString.h: + * kwq/KWQString.mm: + * kwq/KWQTextCodec.cpp: + * WebCore+SVG/KDOMSettings.cpp: + * bridge/mac/MacFrame.mm: + * bridge/mac/WebCoreFrameBridge.mm: + * css/cssparser.cpp: + * kcanvas/KCanvasItem.cpp: + * khtml/ecma/kjs_navigator.cpp: + * khtml/html/HTMLSelectElementImpl.cpp: + * khtml/html/html_tableimpl.h: + * khtml/html/htmltokenizer.cpp: + * khtml/misc/decoder.cpp: + * ksvg2/css/KSVGCSSParser.cpp: + * ksvg2/css/SVGRenderStyle.h: + * page/Frame.h: + * page/Frame.cpp: + * page/FrameView.cpp: + * platform/IntPointArray.cpp: + * rendering/RenderBlock.cpp: + * rendering/RenderTable.cpp: + * rendering/bidi.cpp: + * rendering/bidi.h: + * rendering/render_form.cpp: + * rendering/render_object.cpp: + * rendering/render_object.h: + * rendering/render_replaced.cpp: + * rendering/render_style.h: + * rendering/table_layout.cpp: + Updated for above KWQ changes. Changed tabs to spaces. + +2006-01-29 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Fix build for Win32. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + +2006-01-29 David Hyatt <hyatt@apple.com> + + Fix for bug 6910, don't let Image be assignable or copiable. It will soon represent the actual + original Image (including the data) and as such must remain unique. + + Reviewed by darin + + * kcanvas/KCanvasFilters.cpp: + (KCanvasFEImage::~KCanvasFEImage): + (KCanvasFEImage::setCachedImage): + * kcanvas/KCanvasFilters.h: + (KCanvasFEImage::KCanvasFEImage): + (KCanvasFEImage::cachedImage): + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (KCanvasFEImageQuartz::getCIFilter): + * khtml/ecma/kjs_events.cpp: + (KJS::ClipboardProtoFunc::callAsFunction): + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::Context2DFunction::callAsFunction): + (KJS::drawPattern): + (KJS::_rh): + (KJS::ImagePattern::~ImagePattern): + (KJS::ImagePattern::createPattern): + * khtml/ecma/kjs_html.h: + (KJS::ImagePattern::cachedImage): + * khtml/html/html_imageimpl.h: + (WebCore::HTMLImageElementImpl::cachedImage): + * khtml/xml/dom2_eventsimpl.h: + * ksvg2/svg/SVGCursorElementImpl.cpp: + (SVGCursorElementImpl::~SVGCursorElementImpl): + (SVGCursorElementImpl::parseMappedAttribute): + * ksvg2/svg/SVGCursorElementImpl.h: + (KSVG::SVGCursorElementImpl::cachedImage): + * ksvg2/svg/SVGFEImageElementImpl.cpp: + (SVGFEImageElementImpl::~SVGFEImageElementImpl): + (SVGFEImageElementImpl::parseMappedAttribute): + (SVGFEImageElementImpl::notifyFinished): + * kwq/KWQClipboard.h: + * kwq/KWQClipboard.mm: + (WebCore::KWQClipboard::dragImage): + (WebCore::KWQClipboard::setDragImage): + (WebCore::KWQClipboard::setDragImageElement): + (WebCore::KWQClipboard::imageChanged): + (WebCore::KWQClipboard::dragNSImage): + * platform/Image.h: + +2006-01-29 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6914 + REGRESSION: fast/block/basic/014.html crashes Safari + + * rendering/render_image.h: + (WebCore::RenderImage::image): Return a null image when m_cachedImage is 0. + (WebCore::RenderImage::errorOccurred): Return false when m_cachedImage is 0. + * rendering/render_image.cpp: (WebCore::RenderImage::nullImage): Added. + Returns a global null image for use when we have no cached image. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6919 + REGRESSION: Background images don't paint when they are finished loading + + * rendering/render_object.h: Renamed the old setImage to imageChanged, the + new name for the same function. + * rendering/render_object.cpp: (WebCore::RenderObject::imageChanged): Ditto. + * rendering/render_list.cpp: (RenderListMarker::imageChanged): Changed the + call to parent to call the new imageChanged instead of the old setImage. + + - fixed something else that was causing some layout test crashes + + * kwq/KWQRenderTreeDebug.cpp: (externalRepresentation): Rearrange so we won't + ever dereference a null pointer here. + +2006-01-29 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - replace QValueVector and QPtrVector use with Vector, and remove them. + http://bugs.webkit.org/show_bug.cgi?id=6909 + + * ForwardingHeaders/q3valuevector.h: Removed. + * ForwardingHeaders/qptrvector.h: Removed. + * ForwardingHeaders/qvector.h: Removed. + * WebCore+SVG/KDOMSettings.cpp: + (KDOMSettings::init): + (KDOMSettings::isAdFiltered): + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge elementWithName:inForm:]): + (-[WebCoreFrameBridge controlsInForm:]): + * css/cssstyleselector.h: + * khtml/html/HTMLCollectionImpl.cpp: + (WebCore::HTMLCollectionImpl::updateNameCache): + (WebCore::HTMLCollectionImpl::namedItems): + * khtml/html/HTMLCollectionImpl.h: + * khtml/html/HTMLFormCollectionImpl.cpp: + (WebCore::HTMLFormCollectionImpl::HTMLFormCollectionImpl): + (WebCore::HTMLFormCollectionImpl::calcLength): + (WebCore::HTMLFormCollectionImpl::item): + (WebCore::HTMLFormCollectionImpl::getNamedFormItem): + (WebCore::HTMLFormCollectionImpl::updateNameCache): + * khtml/html/HTMLFormElementImpl.cpp: + (WebCore::HTMLFormElementImpl::~HTMLFormElementImpl): + (WebCore::HTMLFormElementImpl::length): + (WebCore::HTMLFormElementImpl::submitClick): + (WebCore::HTMLFormElementImpl::formData): + (WebCore::HTMLFormElementImpl::submit): + (WebCore::HTMLFormElementImpl::reset): + (WebCore::insertIntoVector): + (WebCore::removeFromVector): + (WebCore::HTMLFormElementImpl::formElementIndex): + (WebCore::HTMLFormElementImpl::registerImgElement): + * khtml/html/HTMLFormElementImpl.h: + * ksvg2/svg/SVGTextElementImpl.cpp: + * kwq/KWQComboBox.h: + * kwq/KWQListBox.h: + * kwq/KWQPtrVector.h: Removed. + * kwq/KWQRenderTreeDebug.cpp: + (writeLayers): + * kwq/KWQValueVector.h: Removed. + * kwq/KWQVectorImpl.cpp: Removed. + * kwq/KWQVectorImpl.h: Removed. + * loader/loader.cpp: + (WebCore::Loader::cancelRequests): + * rendering/render_layer.cpp: + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::hitTestLayer): + (WebCore::compareZIndex): + (WebCore::RenderLayer::updateZOrderLists): + (WebCore::RenderLayer::collectLayers): + * rendering/render_layer.h: + (khtml::RenderLayer::posZOrderList): + (khtml::RenderLayer::negZOrderList): + +2006-01-29 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/table/border-collapsing/rtl-border-collapsing.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6888 + Collapsed borders appear on the wrong side or on the wrong cell in RTL tables + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::cellBefore): Renamed cellLeft to this. + (WebCore::RenderTable::cellAfter): Renamed cellRight to this. + * rendering/RenderTable.h: + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::collapsedLeftBorder): Added the RTL case. + (WebCore::RenderTableCell::collapsedRightBorder): Ditto. + (WebCore::RenderTableCell::borderLeft): + (WebCore::RenderTableCell::borderRight): + (WebCore::RenderTableCell::collectBorders): + (WebCore::RenderTableCell::paintCollapsedBorder): + * rendering/RenderTableCell.h: + +2006-01-29 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6550 + REGRESSION: window.open('myurl', '_self') fails to load myurl in current window + + Tests: + * fast/dom/Window/window-open-parent-no-parent.html: Added. + * fast/dom/Window/window-open-parent.html: Added. + * fast/dom/Window/window-open-self.html: Added. + * fast/dom/Window/window-open-top.html: Added. + + * khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::callAsFunction): + Fix check for special frame names. These special frame names are supposed + to always be unaffected by pop-up blocking. But the code instead was + saying that the special frame names are always blocked. Oops! + +2006-01-29 Darin Adler <darin@apple.com> + + Suggested by Alexey. + + - fixed something Alexey noticed in the new exception names + + Test: fast/dom/Range/range-exceptions.html + + * khtml/ecma/kjs_binding.cpp: Added 0 to fix an off-by-one error for the + names of the two DOM range exceptions. + +2006-01-29 David Harrison <harrison@apple.com> + + Reviewed by John. + + Fix two problems with editing around empty list items: + 1) Arrowing up or down to an empty list item skipped the list item + 2) Deleting the content of a list item made it so you could never get the cursor inside the empty item + + Added tests: + * selection/move-by-line-002.html + * deleting/delete-listitem-002.html + + * khtml/editing/composite_edit_command.cpp: + (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded): + - special check for empty list item because list marker assures non-zero height() + + * khtml/xml/dom_position.cpp: + (DOM::Position::inRenderedContent): + - fix check wrt BRs because text box is not required + + * rendering/bidi.cpp: + (khtml::RenderBlock::constructLine): + - make sure that br by itself in a list item gets a text-style box + + (khtml::RenderBlock::findNextLineBreak): + - make sure that br by itself in a list item gets a box at all + +2006-01-29 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt & darin. + + There are a few small, but intertwined fixes in this patch: + + Remaining fixes for SVGTetris: + http://bugs.webkit.org/show_bug.cgi?id=6889 + + Testing blocked by: http://bugs.webkit.org/show_bug.cgi?id=6905 + + Fix for CDF support: + http://bugs.webkit.org/show_bug.cgi?id=6025 + + Updated test: svg/custom/simpleCDF.xml + + Fix for filter updating: + http://bugs.webkit.org/show_bug.cgi?id=6849 + + Testing blocked by: http://bugs.webkit.org/show_bug.cgi?id=6904 + + Also, as a side effect of 6849, fixed double-apply of filters, improving: + http://bugs.webkit.org/show_bug.cgi?id=6713 + + Results updated for most tests, pixel results improved for filter tests. + + * kcanvas/KCanvasFilters.cpp: + (KCanvasFilter::filterBBoxForItemBBox): moved into baseclass + * kcanvas/KCanvasFilters.h: + * kcanvas/RenderSVGImage.cpp: + (RenderSVGImage::paint): use relativeBBox + (RenderSVGImage::relativeBBox): added + (RenderSVGImage::imageChanged): added + (RenderSVGImage::getAbsoluteRepaintRect): fixed + * kcanvas/RenderSVGImage.h: + (KSVG::RenderSVGImage::imageChanged): added. + * kcanvas/device/quartz/KCanvasFilterQuartz.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (KCanvasFilterQuartz::applyFilter): use new baseclass method + (KCanvasFEFloodQuartz::getCIFilter): fixed. + * kcanvas/device/quartz/KCanvasItemQuartz.h: + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (KCanvasItemQuartz::layout): update width/height + (KCanvasItemQuartz::getAbsoluteRepaintRect): fixed. + (KCanvasItemQuartz::requiresLayer): moved to .cpp + (KCanvasItemQuartz::lineHeight): added. + (KCanvasItemQuartz::baselinePosition): added. + * kcanvas/device/quartz/KCanvasResourcesQuartz.h: + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + (KCanvasContainerQuartz::canHaveChildren): moved to .cpp + (KCanvasContainerQuartz::requiresLayer): moved to .cpp + (KCanvasContainerQuartz::lineHeight): added. + (KCanvasContainerQuartz::baselinePosition): added. + (KCanvasContainerQuartz::paint): fixed. + (KCanvasContainerQuartz::viewportTransform): fixed. + (KCanvasContainerQuartz::getAbsoluteRepaintRect): fixed. + (KCanvasContainerQuartz::absoluteTransform): fixed. + * rendering/render_object.cpp: + (WebCore::RenderObject::absoluteTransform): fixed apply order. + +2006-01-29 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + First set of fixes for SVG Tetris: + http://bugs.webkit.org/show_bug.cgi?id=6889 + + Tests: + * svg/custom/viewport-update.svg + Key press test not yet possible: + http://bugs.webkit.org/show_bug.cgi?id=6906 + + * bridge/mac/MacFrame.mm: + (MacFrame::keyEvent): pass key events to things other than HTML + * ksvg2/svg/SVGSVGElementImpl.cpp: + (WebCore::SVGSVGElementImpl::parseMappedAttribute): update viewport + +2006-01-29 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Fix SVG layout tests crash due to Vector change. + + * kcanvas/device/KRenderingDevice.cpp: + (KRenderingDevice::currentContext): check isEmpty, return 0 + +2006-01-28 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Remove bogus IntRect operator. + + * platform/FloatRect.h: + +2006-01-28 David Hyatt <hyatt@apple.com> + + Cleanup of RenderImage. Eliminate unneeded members and methods. + + Reviewed by darin + + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge elementAtPoint:]): + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::Context2DFunction::callAsFunction): + (KJS::drawPattern): + * khtml/html/HTMLInputElementImpl.cpp: + (WebCore::HTMLInputElementImpl::attach): + * khtml/html/html_imageimpl.cpp: + (WebCore::HTMLImageLoader::notifyFinished): + (WebCore::HTMLImageElementImpl::attach): + * khtml/html/html_imageimpl.h: + (WebCore::HTMLImageElementImpl::compositeOperator): + * khtml/html/html_objectimpl.cpp: + (WebCore::HTMLObjectElementImpl::attach): + * ksvg2/svg/SVGImageElementImpl.cpp: + (SVGImageElementImpl::attach): + * kwq/KWQPainter.h: + * kwq/KWQPainter.mm: + (WebCore::QPainter::drawImageAtPoint): + (WebCore::QPainter::drawImageInRect): + (WebCore::QPainter::drawImage): + (WebCore::QPainter::drawFloatImage): + (WebCore::QPainter::drawTiledImage): + (WebCore::QPainter::drawScaledAndTiledImage): + * kwq/WebCoreImageRenderer.h: + * loader/CachedImage.cpp: + (WebCore::CachedImage::ref): + (WebCore::CachedImage::notifyObservers): + (WebCore::CachedImage::data): + (WebCore::CachedImage::error): + * loader/CachedImage.h: + * loader/CachedObjectClient.h: + (WebCore::CachedObjectClient::imageChanged): + * platform/Image.h: + (WebCore::Image::): + * platform/mac/Image.mm: + (WebCore::Image::Image): + (WebCore::Image::resetAnimation): + (WebCore::Image::operator=): + (WebCore::Image::stopAnimations): + (WebCore::): + (WebCore::Image::compositeOperatorFromString): + * rendering/render_box.cpp: + (WebCore::RenderBox::paintBackgroundExtended): + * rendering/render_canvasimage.cpp: + (WebCore::RenderCanvasImage::paint): + * rendering/render_image.cpp: + (WebCore::RenderImage::RenderImage): + (WebCore::RenderImage::~RenderImage): + (WebCore::RenderImage::setContentObject): + (WebCore::RenderImage::setCachedImage): + (WebCore::RenderImage::imageChanged): + (WebCore::RenderImage::resetAnimation): + (WebCore::RenderImage::paint): + (WebCore::RenderImage::layout): + (WebCore::RenderImage::updateAltText): + (WebCore::RenderImage::calcReplacedWidth): + (WebCore::RenderImage::calcReplacedHeight): + * rendering/render_image.h: + (WebCore::RenderImage::cachedImage): + (WebCore::RenderImage::image): + (WebCore::RenderImage::errorOccurred): + * rendering/render_list.cpp: + (RenderListMarker::paint): + (RenderListMarker::imageChanged): + * rendering/render_list.h: + * rendering/render_object.cpp: + (WebCore::RenderObject::paintBorderImage): + (WebCore::RenderObject::setImage): + * rendering/render_object.h: + +2006-01-28 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6711 + crash if an event is dispatched to a listener that uses handleEvent + + Test: fast/events/dispatch-to-handle-event.html + + * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent): + Remove boolean that is always false, and correct the one place that was + checking it to check the correct pointer instead. + +2006-01-28 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - remove QPtrStack, replace with Vector or traverseNextNode as appropriate + + * WebCore.xcodeproj/project.pbxproj: + * kcanvas/device/KRenderingDevice.cpp: + (KRenderingDevice::currentContext): + (KRenderingDevice::popContext): + (KRenderingDevice::pushContext): + * kcanvas/device/KRenderingDevice.h: + * khtml/html/html_documentimpl.cpp: + * khtml/xml/DocumentImpl.cpp: + * khtml/xml/xml_tokenizer.cpp: + (WebCore::XMLTokenizer::XMLTokenizer): + * kwq/KWQAccObject.mm: + (-[KWQAccObject addChildrenToArray:]): + * kwq/KWQPainter.mm: + (WebCore::QPainter::save): + (WebCore::QPainter::restore): + * kwq/KWQPtrStack.h: Removed. + * ForwardingHeaders/qptrstack.h: Removed. + * ForwardingHeaders/q3ptrstack.h: Removed. + +2006-01-28 Maciej Stachowiak <mjs@apple.com> + + - added missing forwarding header to fix build. + + * ForwardingHeaders/kxmlcore/Vector.h: Added. + +2006-01-28 Darin Adler <darin@apple.com> + + * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Removed extra parameter + to fix the build. + +2006-01-28 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - converted KWQKURL to use Vector + http://bugs.webkit.org/show_bug.cgi?id=6900 + + Use Vector in place of Array, and in place of the custom stack + buffers with overflow. + + * kwq/KWQKURL.mm: + (KURL::KURL): + (KURL::decode_string): + (KURL::parse): + (KURL::encode_string): + (findHostnamesInMailToURL): + (encodeHostnames): + +2006-01-28 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=6895 + include exception names in JavaScript form of DOM exception + + * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Include the name of the + exception in the error message. + +2006-01-28 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/table/add-before-anonymous-child.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5868 + Crash on HP.com with ToT and Safari 2.0.2 in khtml::RenderContainer::detach() + + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::addChild): If beforeChild is inside an anonymous + cell, insert into the cell. + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::addChild): Changed comment. + +2006-01-28 David Hyatt <hyatt@apple.com> + + Eliminate the mask() method on Image. It's unused. + + * platform/Image.h: + * platform/mac/Image.mm: + +2006-01-28 David Hyatt <hyatt@apple.com> + + Clean up the Image class. Eliminate the MIME type member variable. + Eliminate an unused constructor. Fix the constructor to take + a QString rather than an NSString so that it's portable. Rename + the receivedData method to decode. Move canRenderImageType into + the Image class as a static method. + + Reviewed by mjs + + * khtml/html/html_objectimpl.cpp: + (WebCore::HTMLObjectElementImpl::isImageType): + * kwq/KWQLoader.h: + * kwq/KWQLoader.mm: + (KWQResponseMIMEType): + * loader/CachedImage.cpp: + (WebCore::CachedImage::data): + * platform/Image.h: + * platform/mac/Image.mm: + (WebCore::Image::supportsType): + (WebCore::Image::Image): + (WebCore::Image::~Image): + (WebCore::Image::decode): + (WebCore::Image::operator=): + +2006-01-28 Alexander Kellett <lypanov@kde.org> + + Reviewed by eseidel. + + SourceAlpha does not display until window is redrawn (resized) + http://bugs.webkit.org/show_bug.cgi?id=6375 + + Test: svg/custom/filter-source-alpha.svg + + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (KCanvasFilterQuartz::inputImage): + +2006-01-28 David Hyatt <hyatt@apple.com> + + Fix CachedImage.h/.cpp up. Lots of cleanup. Eliminated + unused code and cleaned up method and member names. + + Reviewed by darin + + * WebCore.xcodeproj/project.pbxproj: + * khtml/html/html_imageimpl.cpp: + (WebCore::HTMLImageElementImpl::width): + (WebCore::HTMLImageElementImpl::height): + * loader/CachedImage.cpp: + (WebCore::CachedImage::CachedImage): + (WebCore::CachedImage::ref): + (WebCore::CachedImage::deref): + (WebCore::CachedImage::image): + (WebCore::CachedImage::imageSize): + (WebCore::CachedImage::decodedRect): + (WebCore::CachedImage::notifyObservers): + (WebCore::CachedImage::clear): + (WebCore::CachedImage::data): + (WebCore::CachedImage::error): + (WebCore::CachedImage::checkNotify): + * loader/CachedImage.h: + (WebCore::CachedImage::isDecoded): + (WebCore::CachedImage::isErrorImage): + (WebCore::CachedImage::schedule): + (WebCore::CachedImage::isImage): + * loader/CachedImageCallback.cpp: Removed. + * loader/CachedImageCallback.h: Removed. + * loader/loader.cpp: + (WebCore::Loader::servePendingRequests): + (WebCore::Loader::slotFinished): + * platform/Image.h: + * platform/mac/Image.mm: + (WebCore::Image::receivedData): + * rendering/render_box.cpp: + (WebCore::RenderBox::paintBackgroundExtended): + * rendering/render_image.cpp: + (WebCore::RenderImage::setImage): + (WebCore::RenderImage::paint): + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::paintBackground): + (WebCore::InlineFlowBox::paintBackgroundAndBorder): + * rendering/render_list.cpp: + (RenderListMarker::setImage): + * rendering/render_object.cpp: + (WebCore::RenderObject::mustRepaintBackgroundOrBorder): + (WebCore::RenderObject::paintBorder): + (WebCore::RenderObject::setImage): + +2006-01-27 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Geoff. + + - GC after destroying the very last frame to avoid node leak false positives + http://bugs.webkit.org/show_bug.cgi?id=6884 + + * ForwardingHeaders/JSLock.h: added + * page/Page.cpp: + (Page::~Page): In debug mode, when destroying the last page, + 0 out m_mainFrame to destroy the very last frame and then garbage collect, + so a GC happens at a time when the stack won't have references into the JS + heap for the conservative GC to catch. + +2006-01-27 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - remove nearly all the substance of ObjectContents and put it on Frame + http://bugs.webkit.org/show_bug.cgi?id=6885 + + * ForwardingHeaders/kjs/JSLock.h: Added. + * bridge/mac/MacFrame.mm: + (Plugin::Plugin): renamed from KWQPluginPart, make it able to store a view. + (Plugin::view): And return the QWidget* view. + (MacFrame::createPart): Use Plugin instead of KWQPluginPart, avoid setWidget. + (MacFrame::setView): Don't use m_url directly so much, and use through d-> if + needed. + (MacFrame::userAgent): ditto + (MacFrame::openURLFromPageCache): ditto + * kwq/KWQObject.cpp: + (QObject::inherits): Removed case for ObjectContents, which is not long for this + world. + * kwq/KWQObject.h: + * page/Frame.cpp: + (Frame::init): Don't pass parent() to FramePrivate, we can't possibly have one + yet. + (Frame::restoreURL): d->m_url, not m_url + (Frame::didOpenURL): ditto + (Frame::executeScript): ditto + (Frame::receivedFirstData): ditto + (Frame::begin): ditto + (Frame::gotoAnchor): ditto + (Frame::requestObject): ditto, plus only use Frame methods when we really have a Frame. + (Frame::processObjectRequest): ditto, also get view() not widget(). + (Frame::childFrame): remove excess spaces and pointless assert. + (Frame::parentFrame): just call parent() (could probably remove this). + (Frame::reparseConfiguration): d->m_url not m_url + (Frame::canCachePage): ditto + (Frame::updatePolicyBaseURL): ditto + (Frame::scrollToAnchor): ditto + (Frame::setName): set in FramePrivate + (Frame::name): get from FramePrivate + (Frame::setParent): similarly + (Frame::parent): similarly + (Frame::url): similarly + * page/Frame.h: + * page/FramePrivate.h: + (FramePrivate::FramePrivate): Added m_parent, m_name and m_url. + * page/FrameView.cpp: + (FrameView::viewportMousePressEvent): Call frame directly instead of + sending through QApplication. + (FrameView::viewportMouseDoubleClickEvent): ditto + (FrameView::viewportMouseMoveEvent): ditto + (FrameView::viewportMouseReleaseEvent): ditto + * page/ObjectContents.h: + (ObjectContents::ObjectContents): Removed url, setParent, parent, name, + setName, openURL, closeURL, widget, setWidget, event and customEvent methods, + and corresponding fields. Add pure virtual view() method. + +2006-01-27 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6075 + REGRESSION: event.relatedTarget not working, breaks menus at www.ati.com + + Test: fast/events/related-target.html + + * khtml/xml/NodeImpl.h: + * khtml/xml/NodeImpl.cpp: (WebCore::NodeImpl::dispatchMouseEvent): Added a + relatedTarget parameter to a couple overloads. + + * page/FrameView.cpp: + (FrameView::viewportMouseMoveEvent): Moved code to set prevMouseX/Y out of here + and into dispatchMouseEvent, because it now handles mouseout and mouseover events, + and that's what these globals are used for. This fixes DumpRenderTree to work + properly with mouseout and mouseover (because it delivers only mouse down and up, + no mouse move events). + (FrameView::dispatchMouseEvent): Passed in the "other" node as the related target + for mouseout and mouseover events. Also set prevMouseX/Y. + +2006-01-27 David Hyatt <hyatt@apple.com> + + Fix for 6867. Rename QPixmap to Image and move it to platform/. + Eliminate QPaintDevice and QPaintDeviceMetrics completely, since + they aren't necessary. + + Reviewed by anders + + * ForwardingHeaders/q3paintdevicemetrics.h: Removed. + * ForwardingHeaders/qpaintdevice.h: Removed. + * ForwardingHeaders/qpaintdevicemetrics.h: Removed. + * ForwardingHeaders/qpixmap.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/MacFrame.mm: + (MacFrame::fileWrapperForElement): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): + (nowPrinting): + (-[WebCoreFrameBridge elementAtPoint:]): + * css/css_valueimpl.cpp: + (WebCore::CSSPrimitiveValueImpl::computeLength): + (WebCore::CSSPrimitiveValueImpl::computeLengthFloat): + * css/css_valueimpl.h: + * css/csshelper.cpp: + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::CSSStyleSelector::init): + (WebCore::CSSStyleSelector::initForStyleResolve): + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSStyleSelector::pseudoStyleForElement): + (WebCore::convertToLength): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::mapBackgroundXPosition): + (WebCore::CSSStyleSelector::mapBackgroundYPosition): + * css/cssstyleselector.h: + * kcanvas/KCanvasFilters.h: + (KCanvasFEImage::image): + (KCanvasFEImage::setImage): + * kcanvas/KCanvasImage.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (KCanvasFEImageQuartz::getCIFilter): + * kcanvas/device/quartz/KCanvasResourcesQuartz.h: + (KCanvasImageQuartz::init): + * khtml/ecma/kjs_events.cpp: + (KJS::ClipboardProtoFunc::callAsFunction): + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::Context2DFunction::callAsFunction): + (KJS::drawPattern): + (KJS::_rh): + (KJS::ImagePattern::createPattern): + * khtml/ecma/kjs_html.h: + (KJS::ImagePattern::image): + * khtml/ecma/kjs_window.cpp: + (KJS::Screen::getValueProperty): + * khtml/editing/SelectionController.h: + * khtml/html/html_imageimpl.h: + (WebCore::HTMLImageElementImpl::image): + * khtml/misc/helper.h: + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::DocumentImpl): + (WebCore::DocumentImpl::~DocumentImpl): + (WebCore::DocumentImpl::recalcStyle): + (WebCore::DocumentImpl::attach): + (WebCore::DocumentImpl::detach): + * khtml/xml/DocumentImpl.h: + (WebCore::DocumentImpl::printing): + (WebCore::DocumentImpl::setPrinting): + * khtml/xml/dom2_eventsimpl.h: + * ksvg2/css/SVGCSSStyleSelector.cpp: + * ksvg2/misc/KCanvasRenderingStyle.cpp: + (WebCore::KSVGPainterFactory::cssPrimitiveToLength): + (WebCore::KSVGPainterFactory::strokePainter): + * ksvg2/svg/SVGCursorElementImpl.cpp: + (SVGCursorElementImpl::notifyFinished): + * ksvg2/svg/SVGCursorElementImpl.h: + (KSVG::SVGCursorElementImpl::image): + * ksvg2/svg/SVGDocumentImpl.cpp: + (SVGDocumentImpl::SVGDocumentImpl): + * ksvg2/svg/SVGFEImageElementImpl.cpp: + (SVGFEImageElementImpl::notifyFinished): + * ksvg2/svg/SVGMaskElementImpl.cpp: + (KSVG::SVGMaskElementImpl::drawMaskerContent): + * ksvg2/svg/SVGSVGElementImpl.cpp: + * kwq/KWQApplication.h: + * kwq/KWQApplication.mm: + (QDesktopWidget::screenDepth): + * kwq/KWQClipboard.h: + * kwq/KWQClipboard.mm: + (WebCore::KWQClipboard::dragImage): + (WebCore::KWQClipboard::setDragImage): + (WebCore::KWQClipboard::setDragImageElement): + * kwq/KWQComboBox.mm: + * kwq/KWQCursor.h: + * kwq/KWQCursor.mm: + (WebCore::createCustomCursor): + (WebCore::QCursor::QCursor): + * kwq/KWQKPartsEvent.h: + * kwq/KWQObject.h: + * kwq/KWQPaintDevice.h: Removed. + * kwq/KWQPaintDeviceMetrics.h: Removed. + * kwq/KWQPaintDeviceMetrics.mm: Removed. + * kwq/KWQPainter.h: + (WebCore::QPainter::printing): + * kwq/KWQPainter.mm: + (WebCore::QPainter::drawImage): + (WebCore::QPainter::drawFloatImage): + (WebCore::QPainter::drawTiledImage): + (WebCore::QPainter::drawScaledAndTiledImage): + * kwq/KWQPixmap.h: Removed. + * kwq/KWQPixmap.mm: Removed. + * kwq/KWQPrinter.h: + (QPrinter::QPrinter): + * kwq/KWQWidget.h: + * loader/Cache.cpp: + (khtml::Cache::init): + (khtml::Cache::clear): + (khtml::Cache::requestImage): + (khtml::Cache::getStatistics): + * loader/Cache.h: + * loader/CachedImage.cpp: + (WebCore::CachedImage::CachedImage): + (WebCore::CachedImage::ref): + (WebCore::CachedImage::tiled_image): + (WebCore::CachedImage::image): + (WebCore::CachedImage::image_size): + (WebCore::CachedImage::do_notify): + (WebCore::CachedImage::data): + (WebCore::CachedImage::error): + * loader/CachedImage.h: + * loader/CachedImageCallback.cpp: + (WebCore::CachedImageCallback::notifyUpdate): + (WebCore::CachedImageCallback::notifyFinished): + (WebCore::CachedImageCallback::handleError): + * loader/CachedObject.h: + (WebCore::CachedObject::): + * loader/CachedObjectClient.h: + (WebCore::CachedObjectClient::setImage): + * loader/DocLoader.cpp: + (khtml::DocLoader::setAutoloadImages): + (khtml::DocLoader::setShowAnimations): + * loader/loader.cpp: + (WebCore::Loader::servePendingRequests): + (WebCore::Loader::slotFinished): + * page/Frame.cpp: + (Frame::paint): + * page/Frame.h: + * page/FrameView.cpp: + (selectCursor): + * page/FrameView.h: + * platform/Image.h: Added. + * platform/mac/Image.mm: Added. + (WebCore::Image::loadResource): + (WebCore::Image::Image): + (WebCore::Image::~Image): + (WebCore::Image::imageRef): + (WebCore::Image::resetAnimation): + (WebCore::Image::setAnimationRect): + (-[WebImageCallback initWithCallback:WebCore::]): + (WebCore::Image::shouldUseThreadedDecoding): + (WebCore::Image::receivedData): + (WebCore::Image::mask): + (WebCore::Image::isNull): + (WebCore::Image::size): + (WebCore::Image::rect): + (WebCore::Image::width): + (WebCore::Image::height): + (WebCore::Image::resize): + (WebCore::Image::operator=): + (WebCore::Image::increaseUseCount): + (WebCore::Image::decreaseUseCount): + (WebCore::Image::stopAnimations): + (WebCore::Image::flushRasterCache): + * rendering/InlineTextBox.cpp: + (khtml::InlineTextBox::paint): + * rendering/InlineTextBox.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintChildren): + (WebCore::RenderBlock::paintObject): + * rendering/RenderText.h: + * rendering/font.cpp: + (khtml::Font::update): + * rendering/font.h: + * rendering/render_box.cpp: + (WebCore::RenderBox::paintBackgroundExtended): + * rendering/render_canvasimage.cpp: + (WebCore::RenderCanvasImage::paint): + * rendering/render_flow.cpp: + (RenderFlow::paintLines): + * rendering/render_image.cpp: + (WebCore::RenderImage::RenderImage): + (WebCore::RenderImage::~RenderImage): + (WebCore::RenderImage::setContentObject): + (WebCore::RenderImage::setImage): + (WebCore::RenderImage::paint): + (WebCore::RenderImage::layout): + (WebCore::RenderImage::calcReplacedWidth): + (WebCore::RenderImage::calcReplacedHeight): + * rendering/render_image.h: + (WebCore::RenderImage::image): + (WebCore::RenderImage::getImage): + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::paintBackground): + (WebCore::InlineFlowBox::paintBackgroundAndBorder): + * rendering/render_list.cpp: + (RenderListItem::getAbsoluteRepaintRect): + (RenderListMarker::paint): + (RenderListMarker::setImage): + (RenderListMarker::calcMinMaxWidth): + * rendering/render_list.h: + * rendering/render_object.cpp: + (WebCore::RenderObject::mustRepaintBackgroundOrBorder): + (WebCore::RenderObject::paintBorderImage): + (WebCore::RenderObject::paintBorder): + (WebCore::RenderObject::setImage): + * rendering/render_object.h: + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::paint): + * rendering/render_replaced.h: + * rendering/render_theme_mac.mm: + (khtml::RenderThemeMac::setFontFromControlSize): + +2006-01-27 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix another part of http://bugs.webkit.org/show_bug.cgi?id=6731 + REGRESSION: change event fires at load time for checked items + + Revised test: fast/forms/radio-button-no-change-event.html + + * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::setChecked): + Don't send a change event for a radio button getting unchecked (matches Gecko at least). + +2006-01-26 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Leak fixes in SVG code. + http://bugs.webkit.org/show_bug.cgi?id=6588 + + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + (teardownShadingWithStyle): delete image and context when through. + (KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz): zero out cached mask + (KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz): destroy cached mask image. + (KRenderingPaintServerLinearGradientQuartz::setup): delete mask before making new + (KRenderingPaintServerRadialGradientQuartz::setup): delete mask before making new + * ksvg2/misc/KCanvasRenderingStyle.cpp: + (WebCore::sharedSolidPaintServer): forgot "static" keyword + * ksvg2/svg/SVGPolyElementImpl.cpp: + (SVGPolyElementImpl::notifyAttributeChange): use RefPtr + +2006-01-26 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - various leaks on "fast" LayoutTests + + http://bugs.webkit.org/show_bug.cgi?id=6819 + http://bugs.webkit.org/show_bug.cgi?id=6823 + http://bugs.webkit.org/show_bug.cgi?id=6824 + + It turns out these all had the same cause. + + * page/Frame.cpp: + (Frame::clear): If we have a document, make sure to cancel parsing, + in case it has a tokenizer and parser that are keeping it alive. Use + cancelParsing to avoid possibly accidentally firing the onload handler. + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::cancelParsing): Factored out of implicitOpen. + (WebCore::DocumentImpl::implicitOpen): Call cancelParsing now. + * khtml/xml/DocumentImpl.h: + +2006-01-26 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt. + + Fix for <rdar://problem/4256504> khtml::RenderBlock::skipWhitespace + crashes upon interaction with radio buttons. + + The old code held an assumption that positioned elements would + always have line boxes. This is not necessarily the case, so this + patch makes sure that the lines are dirtied appropriately. + + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::removeChildNode): Call + dirtyLinesFromChangedChild() if oldChild is positioned and has + inline children. + (WebCore::RenderContainer::insertChildNode): Only check the the + child is not floating; it can be positioned. + +2006-01-26 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/dom/HTMLImageElement/image-without-renderer-width.html + + Reviewed and landed by Anders. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6841 + REGRESSION: WebKit (Thursday, January 26, 2006) crash in HTMLImageElementImpl::width() + + * khtml/html/html_imageimpl.cpp: + (WebCore::HTMLImageElementImpl::width): Return the image's dimensions only if it isn't + null, but even if it hasn't finished loading. + (WebCore::HTMLImageElementImpl::height): Ditto. + +2006-01-26 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt and Vicki. + + Fix for broken layout tests. + + * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::focus): + +2006-01-26 Anders Carlsson <andersca@mac.com> + + Reviewed by Eric. + + - http://bugs.webkit.org/show_bug.cgi?id=6845 + Autogenerate more classes + + This makes DocumentType and DOMImplementation autogenerated. + + * JSCore.cpp: Added. + + * WebCore.xcodeproj/project.pbxproj: + Add JSCore.cpp + + * bindings/scripts/CodeGeneratorJS.pm: + Add attributes for controlling how null values should be converted + to and from DOMString objects. + + * bindings/scripts/IDLParser.pm: + * bindings/scripts/IDLStructure.pm: + Remove the extended attributes hash on attribute objects and + use the one on the signature. + + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNodeProtoFunc::callAsFunction): + For isSupported, just convert the version argument to an empty string if + null is passed in. The reason for this change is that the autogenerated + binding for DOMImplementation::hasFeature does the same thing. This also makes + us behave like Mozilla and Opera. + + (KJS::toDocumentType): + (KJS::getDOMNode): + Use JSDocumentType. + + (KJS::getDOMDOMImplementation): + Use JSDOMImplementation. + + * khtml/ecma/kjs_dom.h: + Remove DOMDOMImplementation and DOMDocumentType + + * khtml/xml/DOMImplementation.idl: Added. + * khtml/xml/DocumentType.idl: Added. + +2006-01-26 Alexander Kellett <lypanov@kde.org> + + Reviewed by eseidel. Landed by eseidel. + + <text> elements with a scale on a parent <g> breaks nodeAtPoint + Fix http://bugs.webkit.org/show_bug.cgi?id=6843 + + Test: svg/custom/text-hit-test.svg + + * kcanvas/RenderSVGText.cpp: + (RenderSVGText::nodeAtPoint): + +2006-01-26 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Geoff. + + - fixed a couple hundred node leaks on the traversal layout tests + http://bugs.webkit.org/show_bug.cgi?id=6828 + + There were three basic problems here, any one of which was enough + to cause the leak. + + 1) If the filter function for a NodeFilter, NodeIterator or TreeWalker + had that object in scope, it would cause a GC reference cycle. I fixed + this by making these JS functions get marked by the corresponding JS object, + as for XMLHttpRequest. + + 2) The TraversalImpl class that's a base class for NodeIteratorImpl and + TreeWalkerImpl did not have a virtual destructor, leading the Shared + template to call the base class destructor on deref. + + 3) ref/deref on the document were mismatched, I fixed all that sort of nonsense + by using RefPtr instead of manual ref/deref. + + * khtml/dom/dom2_traversal.h: + (DOM::NodeFilterCondition::mark): Add no-op virtual mark method, JS subclass + will do something useful here. + * khtml/ecma/kjs_traversal.cpp: + (KJS::DOMNodeIterator::mark): Mark the DOM-level filter. + (KJS::DOMNodeFilter::mark): ditto + (KJS::DOMTreeWalker::mark): ditto + (KJS::JSNodeFilterCondition::JSNodeFilterCondition): reformatted. + (KJS::JSNodeFilterCondition::mark): Mark the filter function. + * khtml/ecma/kjs_traversal.h: + * khtml/xml/dom2_traversalimpl.cpp: + (DOM::NodeFilterImpl::NodeFilterImpl): diligently applied RefPtr + (DOM::TraversalImpl::TraversalImpl): ditto + (DOM::TraversalImpl::~TraversalImpl): ditto + (DOM::NodeIteratorImpl::NodeIteratorImpl): ditto + (DOM::NodeIteratorImpl::~NodeIteratorImpl): ditto + (DOM::NodeIteratorImpl::setReferenceNode): ditto + (DOM::TreeWalkerImpl::TreeWalkerImpl): ditto + (DOM::TreeWalkerImpl::setCurrentNode): ditto + * khtml/xml/dom2_traversalimpl.h: + (DOM::NodeFilterImpl::mark): call mark() on the codition + (DOM::TraversalImpl::root): Use .get() + (DOM::TraversalImpl::filter): ditto + (DOM::NodeIteratorImpl::referenceNode): ditto + (DOM::NodeIteratorImpl::document): ditto + (DOM::TreeWalkerImpl::currentNode): ditto + +2006-01-26 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Geoff. + + - fixed ~40 DOM nodes leaked when running any two of the outerHTML DOM tests (actually just a false positive) + http://bugs.webkit.org/show_bug.cgi?id=6822 + + * kwq/KWQPageState.mm: + (-[KWQPageState clear]): Garbage collect after deleting a bunch of + stuff that holds onto JS objects. This should avoid false positive leaks + and is good in any case since page state deallocation is already deferred. + +2006-01-26 Adele Peterson <adele@apple.com> + + Reviewed by Vicki. + + - fix for <rdar://problem/4422624> REGRESSION: crash loading webmail.mac.com + + Test added: + fast/forms/input-no-renderer.html + + * khtml/html/HTMLInputElementImpl.cpp: + (WebCore::HTMLInputElementImpl::focus): Nil check for renderer. + +2006-01-26 David Harrison <harrison@apple.com> + + Reviewed by Timothy. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6835 + REGRESSION: WebKit crashes when loading a script on Wikipedia + + Test added: + editing/deleting/delete-listitem-001.html + + * rendering/render_list.cpp: + (RenderListItem::setStyle): + (RenderListItem::resetMarkerValue): + (RenderListItem::getAbsoluteRepaintRect): + (RenderListMarker::paint): + +2006-01-26 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin, landed by ap. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6388 + REGRESSION: Incomplete repaint when dragging the map on Google maps + + * manual-tests/bugzilla-6388.html: Added. + * rendering/render_layer.cpp: + (WebCore::RenderLayer::computeRepaintRects): Cache the object's absolute position + before update. + (WebCore::RenderLayer::updateLayerPositions): Use the cached position to determine if + the object moved. If it did, do a full repaint. + * rendering/render_layer.h: + +2006-01-26 Eric Seidel <eseidel@apple.com> + + Fixes xcode project to better notice when generated files change. + Also fixes failing test cases on build slaves. + + * WebCore.xcodeproj/project.pbxproj: + +2006-01-26 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin, committed by ap. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6278 + REGRESSION: Incomplete repaint when table cell width changes during layout + + * manual-tests/bugzilla-6278.html: Added. + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::setCellWidths): If during layout a cell changes from + not needing layout to needing layout, call repaintObjectsBeforeLayout on it. + +2006-01-26 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + SVG shows up blank in WebKit+SVG + http://bugs.webkit.org/show_bug.cgi?id=6620 + + Test: svg/custom/viewport-no-width-height.svg + + * css/svg.css: default to width/height 100% for <svg> + +2006-01-26 Anders Carlsson <andersca@mac.com> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=6805 + Support constants in IDL files + + * bindings/scripts/CodeGeneratorJS.pm: + If an interface has constants, generate a constructor + object and add the constants as properties. Also add a + getConstructor method to the interface object. + + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/generate-bindings.pl: + Add a --force-generation flag to force regeneration of files + even though nothing has changed. + + * khtml/ecma/kjs_events.cpp: + * khtml/ecma/kjs_events.h: + Remove MutationEventConstructor and DOMMutationEvent, + those are autogenerated now. + + * bindings/js/JSEvents.cpp: + Include JSMutationEvent.cpp + + * khtml/ecma/kjs_window.cpp: + (KJS::Window::getValueProperty): + * khtml/ecma/kjs_window.h: + (KJS::Window::): + Add MutationEvent property. + + * khtml/xml/MutationEvent.idl: Added. + +2006-01-25 Alexander Kellett <lypanov@kde.org> + + Reviewed by eseidel. Landed by eseidel + + Percentage values for width, height are not rendered correctly. + http://bugs.webkit.org/show_bug.cgi?id=5331 + + Tests: + * svg/custom/percentage-rect.svg + * svg/custom/percentage-rect2.svg + + Create items for even empty paths to prevent an empty render tree. + Calculate the viewport element on the fly rather than caching it, + unless there is no context from which to calculate it. Call + notifyAttributeChange() on layout to fix usage of viewport + percentages for lengths. Remove portion of code which appears to + do nothing but worsen the situation. + + * kcanvas/device/quartz/KCanvasItemQuartz.h: + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (KCanvasItemQuartz::layout): + * ksvg2/svg/SVGLengthImpl.cpp: + (SVGLengthImpl::value): + * ksvg2/svg/SVGStyledElementImpl.cpp: + (SVGStyledElementImpl::createRenderer): + +2006-01-26 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Disable <animateTransform> to stop layout test crashes. + http://bugs.webkit.org/show_bug.cgi?id=6780 + + * ksvg2/misc/KSVGTimeScheduler.cpp: hack out animateTransform. + +2006-01-26 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Deploy RefPtr throughout more of WebCore + http://bugs.webkit.org/show_bug.cgi?id=6754 + + * bridge/mac/MacFrame.mm: + (MacFrame::shouldClose): no need to call .get() + * khtml/html/HTMLElementImpl.cpp: + (WebCore::HTMLElementImpl::createContextualFragment): + * khtml/html/HTMLSelectElementImpl.cpp: + (WebCore::HTMLSelectElementImpl::remove): + * khtml/html/HTMLTextAreaElementImpl.cpp: + (WebCore::HTMLTextAreaElementImpl::setDefaultValue): + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLBodyElementImpl::HTMLBodyElementImpl): + (WebCore::HTMLBodyElementImpl::~HTMLBodyElementImpl): + (WebCore::HTMLBodyElementImpl::createLinkDecl): + (WebCore::HTMLBodyElementImpl::parseMappedAttribute): + * khtml/html/html_baseimpl.h: + * khtml/html/html_headimpl.cpp: + (WebCore::HTMLLinkElementImpl::HTMLLinkElementImpl): + (WebCore::HTMLLinkElementImpl::~HTMLLinkElementImpl): + (WebCore::HTMLLinkElementImpl::process): + (WebCore::HTMLLinkElementImpl::setStyleSheet): + (WebCore::HTMLLinkElementImpl::isLoading): + (WebCore::HTMLStyleElementImpl::HTMLStyleElementImpl): + (WebCore::HTMLStyleElementImpl::childrenChanged): + (WebCore::HTMLStyleElementImpl::isLoading): + * khtml/html/html_headimpl.h: + (DOM::HTMLLinkElementImpl::sheet): + (DOM::HTMLStyleElementImpl::sheet): + * khtml/html/html_tableimpl.cpp: + (WebCore::HTMLTableElementImpl::parseMappedAttribute): + (WebCore::HTMLTableSectionElementImpl::insertRow): + (WebCore::HTMLTableSectionElementImpl::deleteRow): + (WebCore::HTMLTableRowElementImpl::deleteCell): + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::dispatchEvent): + (WebCore::NodeImpl::dispatchGenericEvent): + (WebCore::NodeImpl::dispatchWindowEvent): + (WebCore::NodeImpl::dispatchMouseEvent): + (WebCore::NodeImpl::dispatchKeyEvent): + (WebCore::NodeImpl::createRendererIfNeeded): + * khtml/xml/NodeImpl.h: + * khtml/xml/dom_elementimpl.cpp: + (WebCore::MappedAttributeImpl::clone): + (WebCore::StyledElementImpl::StyledElementImpl): + (WebCore::StyledElementImpl::createInlineStyleDecl): + (WebCore::StyledElementImpl::destroyInlineStyleDecl): + (WebCore::StyledElementImpl::getInlineStyleDecl): + * khtml/xml/dom_elementimpl.h: + (DOM::MappedAttributeImpl::MappedAttributeImpl): + (DOM::MappedAttributeImpl::style): + (DOM::MappedAttributeImpl::decl): + (DOM::MappedAttributeImpl::setDecl): + (DOM::StyledElementImpl::inlineStyleDecl): + * khtml/xml/dom_position.cpp: + (DOM::Position::Position): + (DOM::Position::clear): + * khtml/xml/dom_position.h: + (DOM::Position::node): + +2006-01-25 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dave Hyatt. + + - garbage collect a bit later when destroying Frame (fixes node leak false positives) + http://bugs.webkit.org/show_bug.cgi?id=6818 + + * khtml/ecma/kjs_proxy.cpp: + (WebCore::KJSProxyImpl::~KJSProxyImpl): Garbage collect after destroying + the script interpreter. + * page/Frame.cpp: + (Frame::clear): Add a boolean parameter to indicate whether properties + of the window object should also be cleared (defaults to true). + (Frame::~Frame): Call clear(false) instead of clear() + * page/Frame.h: + +2006-01-25 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - Turn on NodeImpl leak counter for debug builds + http://bugs.webkit.org/show_bug.cgi?id=6808 + + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImplCounter::~NodeImplCounter): Uncomment node + counter now tit won't give a lot of false positives. + +2006-01-25 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dave Hyatt. + + - fixed "Whole DOM tree can leak if Document is hover/active/focus node on quit" + http://bugs.webkit.org/show_bug.cgi?id=6809 + + This fixes 175 reproducible node leaks in the editing layout tests. + + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::detach): Clear hover, focus and active nodes. It doesn't + make sense to have these without a view anyway, and if any of them is the document + it can cause a leak of the whole DOM. + +2006-01-25 Adele Peterson <adele@apple.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=6816 + Crash in dispatchMouseEvent - Missing nil check + + No test added because I was not able to reproduce the crash reliably. + + * page/FrameView.cpp: (FrameView::dispatchMouseEvent): + +2006-01-25 Justin Garcia <justin.garcia@apple.com> + + Reviewed by mjs + + <http://bugs.webkit.org/show_bug.cgi?id=6644> + TinyMCE: Undo operation crashes Safari + <rdar://problem/4343068> + Some shouldChangeSelection calls are nonsensical + + Notify the SelectionController of node removals, + and blow away the selection when end points are removed. + + Tests added: + * editing/selection/remove-node-1.html + * editing/selection/remove-node-2.html + + * khtml/editing/SelectionController.cpp: + (WebCore::MutationListener::handleEvent): + (WebCore::SelectionController::SelectionController): + (WebCore::SelectionController::~SelectionController): + (WebCore::SelectionController::operator=): + (WebCore::SelectionController::moveTo): + (WebCore::SelectionController::setSelection): + (WebCore::SelectionController::nodeWillBeRemoved): + (WebCore::SelectionController::clear): + (WebCore::SelectionController::setBase): + (WebCore::SelectionController::setExtent): + * khtml/editing/SelectionController.h: + (WebCore::MutationListener::MutationListener): + (WebCore::MutationListener::selectionController): + (WebCore::MutationListener::setSelectionController): + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::removeChildNode): + * rendering/render_flow.cpp: + (RenderFlow::destroy): + +2006-01-25 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + This change lets us display an aqua appearance for the new text fields. + + Updated results for: + * fast/forms/input-appearance-focus.html + + * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle): + remove styling of the div, since RenderTheme handles that now. + * rendering/render_theme.cpp: + (khtml::RenderTheme::adjustStyle): call adjustTextFieldStyle. + (khtml::RenderTheme::paint): call paintTextField. + (khtml::RenderTheme::adjustTextFieldStyle): added FIXME to turn off appearance later. + * rendering/render_theme.h: added adjustTextFieldStyle, paintTextField + * rendering/render_theme_mac.h: added paintTextField, setTextFieldState, and NSTextFieldCell. + * rendering/render_theme_mac.mm: + (khtml::): Added static textFieldMargins. + (khtml::RenderThemeMac::adjustRepaintRect): update text field state and size. + (khtml::RenderThemeMac::paintTextField): Added. Paints the NSTextFieldCell + (khtml::RenderThemeMac::setTextFieldCellState): Initialize NSTextFieldCell, and update enabled state. + +2006-01-25 David Hyatt <hyatt@apple.com> + + Rename QBrush to Brush and move it to platform/. Remove unused QPoint/Size/RectF forwarding + headers. + + * ForwardingHeaders/QPointF: Removed. + * ForwardingHeaders/QRectF: Removed. + * ForwardingHeaders/QSizeF: Removed. + * WebCore.xcodeproj/project.pbxproj: + * khtml/editing/SelectionController.cpp: + (WebCore::SelectionController::paintCaret): + * kwq/KWQBrush.h: Removed. + * kwq/KWQNamespace.h: + * kwq/KWQObject.h: + * kwq/KWQPainter.h: + * kwq/KWQPainter.mm: + (QPainter::setBrush): + (QPainter::brush): + (QPainter::drawRect): + (QPainter::drawEllipse): + (QPainter::drawConvexPolygon): + (QPainter::fillRect): + * kwq/KWQPalette.h: + (QColorGroup::brush): + * platform/Brush.h: Added. + (WebCore::Brush::): + (WebCore::Brush::Brush::Brush): + (WebCore::Brush::operator==): + (WebCore::Brush::operator!=): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::fillHorizontalSelectionGap): + (WebCore::RenderBlock::fillVerticalSelectionGap): + (WebCore::RenderBlock::fillLeftSelectionGap): + (WebCore::RenderBlock::fillRightSelectionGap): + * rendering/render_box.cpp: + (WebCore::RenderBox::outlineBox): + * rendering/render_canvasimage.cpp: + (WebCore::RenderCanvasImage::paint): + * rendering/render_image.cpp: + (WebCore::RenderImage::paint): + * rendering/render_list.cpp: + (RenderListMarker::paint): + * rendering/render_replaced.cpp: + (WebCore::RenderWidget::paint): + +2006-01-25 Anders Carlsson <andersca@mac.com> + + Reviewed by Timothy Hatcher. + + http://bugs.webkit.org/show_bug.cgi?id=6807 + generate-bindings.pl should not use find command + + * bindings/scripts/generate-bindings.pl: + Use opendir and readdir instead of find. + +2006-01-25 David Hyatt <hyatt@apple.com + + Fix Win32 build bustage. Make the autogeneration from .idl work + just like it does on Mac. Also update the project to account for + the move of QPen. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.vcproj/WebCore/build-generated-files.sh: + * bindings/scripts/generate-bindings.pl: + +2006-01-25 David Hyatt <hyatt@apple.com> + + Rename QPen to Pen and move it to the platform/ directory. + + * ForwardingHeaders/qpen.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * kwq/KWQNamespace.h: + (Qt::): + * kwq/KWQPainter.h: + * kwq/KWQPainter.mm: + (QPainter::pen): + (QPainter::setPen): + (QPainter::drawRect): + (QPainter::drawLine): + (QPainter::drawEllipse): + (QPainter::drawArc): + (QPainter::drawConvexPolygon): + * kwq/KWQPen.cpp: Removed. + * kwq/KWQPen.h: Removed. + * platform/Pen.cpp: Added. + (WebCore::Pen::Pen): + (WebCore::Pen::color): + (WebCore::Pen::width): + (WebCore::Pen::style): + (WebCore::Pen::setColor): + (WebCore::Pen::setWidth): + (WebCore::Pen::setStyle): + (WebCore::Pen::operator==): + (WebCore::Pen::operator!=): + * platform/Pen.h: Added. + (WebCore::Pen::): + * rendering/InlineTextBox.cpp: + (khtml::InlineTextBox::paintMarkedTextUnderline): + * rendering/RenderTableCell.cpp: + (WebCore::outlineBox): + * rendering/RenderText.cpp: + * rendering/render_box.cpp: + (WebCore::RenderBox::outlineBox): + * rendering/render_frames.cpp: + (WebCore::RenderFrameSet::userResize): + * rendering/render_image.cpp: + * rendering/render_line.cpp: + * rendering/render_list.cpp: + * rendering/render_object.cpp: + (WebCore::RenderObject::drawBorder): + +2006-01-25 Timothy Hatcher <timothy@apple.com> + + Move off of -[NSFont widthOfString:] since it is now deprecated. + Use the NSStringDrawing -[NSString sizeWithAttributes:] API. + + * bridge/mac/MacFrame.mm: + (MacFrame::attributedString): + * kwq/KWQTextArea.mm: + (-[KWQTextAreaTextView sizeWithColumns:rows:]): + +2006-01-24 Tim Omernick <timo@apple.com> + + Reviewed by Dave Harrison. + + <rdar://problem/4339024> + <http://bugs.webkit.org/show_bug.cgi?id=6785> "Fix for possible leak of applet, object, or embed + (and plugin view)" + + No test cases added. This is a fix for a leak which is difficult to trigger under normal page load + circumstances, because it requires that the host application modify an <embed> using the Objective C + API. + + * khtml/html/html_objectimpl.cpp: + (WebCore::HTMLAppletElementImpl::~HTMLAppletElementImpl): + Assert that appletInstance has been deleted by detach(). + (WebCore::HTMLAppletElementImpl::detach): + Delete appletInstance, because it references the widget owned by the renderer we're about to destroy. + It is assumed elsewhere (getRuntimeObject(), kjs_dom.cpp) that the instance is owned by the applet + element. Therefore, it is required that the element destroy the instance in its tear-down phase. + (WebCore::HTMLEmbedElementImpl::~HTMLEmbedElementImpl): + Assert that embedInstance has been deleted by detach(). + (WebCore::HTMLEmbedElementImpl::detach): + Delete embedInstance, same reason. This is the one that fixes <rdar://problem/4339024>. + (WebCore::HTMLObjectElementImpl::~HTMLObjectElementImpl): + Assert that objectInstance has been deleted by detach(). + (WebCore::HTMLObjectElementImpl::detach): + Delete embedInstance, same reason. + * khtml/html/html_objectimpl.h: + Declared HTMLAppletElementImpl::detach() and HTMLEmbedElementImpl::detach(). + +2006-01-24 Anders Carlsson <andersca@mac.com> + + Reviewed by Darin. + + - http://bugs.webkit.org/show_bug.cgi?id=5975 + WebCore needs to use KDOM-like DOM binding autogeneration + + This is a first cut at an autogeneration framework based on + what KDOM uses, but with some changes to be able to move + gradually to using autogenerated files. Currently only Javascript + is supported, but ObjC support could be added by writing a new code + generator package. + + * WebCore.xcodeproj/project.pbxproj: + Call generate-bindings.pl + + * bindings/js/JSEvents.cpp: Added. + New file which #includes all generated files in the event module + (Just JSWheelEvent.cpp for now) + + * khtml/xml/WheelEvent.idl: Added. + + * bindings/scripts: Added. + * bindings/scripts/CodeGenerator.pm: Added. + * bindings/scripts/CodeGeneratorJS.pm: Added. + * bindings/scripts/IDLParser.pm: Added. + * bindings/scripts/IDLStructure.pm: Added. + * bindings/scripts/generate-bindings.pl: Added. + + * khtml/ecma/kjs_events.cpp: + Remove DOMWheelEvent class. + + (KJS::getDOMEvent): + Use JSWheelEvent here. + + * khtml/ecma/kjs_events.h: + Remove DOMWheelEvent class. + +2006-01-25 David Harrison <harrison@apple.com> + + Reviewed by Justin. + + <rdar://problem/3907635> copy/paste of list item text moves list item up one <LI> + <rdar://problem/3907647> Enhance list editing: return inserts <li></li> + <rdar://problem/4060158> deleting selection within table deletes more than intended + <rdar://problem/4061232> Deleting a list can delete unselected content + <rdar://problem/4062212> after pasting in contents of web.apple.com, typing before start adds to table instead of before table + <rdar://problem/4064437> After copy/paste from bugweb cannot go back to entering text at left side of page + <rdar://problem/4259845> Table editing in design mode is broken + <rdar://problem/4287667> Insertion point goes before table instead of inside first cell + <rdar://problem/4345749> Editing HTML - Enter at end of <LI> inserts uneditable blank <LI> + <rdar://problem/4345794> HTML editing: Enter at end of last <LI> does not add new <LI> + <rdar://problem/4345825> HTML Editing: editing first <LI> element removes first <LI> and more + <rdar://problem/4345835> HTML editing: editing last <LI> removes everything within <BODY> + <rdar://problem/4345879> HTML editing: editing first <TD> moves data out of table + + ...also added showTree() static functions because switch to gcc 4.0 makes calling instance methods unreliable + + - numerous small changes to handle empty list items + - fix numeric list marker updating when adding/deleting list items + - start to decompose "special element" handling, replacing it with appropriate handling of the different + kinds of special elements in various situations, rather than giving a blanket treatment. I will do more + of this in subsequent checkins. + - numerous small editing/selection changes to handle VisiblePosition at table offset childNodeCount() + - simplify and fix equivalentRangeCompliantPosition, rename it to rangeCompliantEquivalent and make it static + - some minor reformatting to current standards + - the comments in the list below are for changes not covered by the above comments + + * khtml/editing/Selection.cpp: + (WebCore::Selection::toRange): + (WebCore::Selection::validate): + * khtml/editing/SelectionController.cpp: + (WebCore::SelectionController::modifyExtendingLeftBackward): + - character selection backward from after table selects the table + (WebCore::showTree): + * khtml/editing/composite_edit_command.cpp: + (WebCore::CompositeEditCommand::removeFullySelectedNode): + - make sure empty cell has some height + (WebCore::CompositeEditCommand::positionOutsideTabSpan): + - check for !isTabSpanTextNode() to make calling this function easier + (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded): + * khtml/editing/delete_selection_command.cpp: + (WebCore::positionBeforePossibleContainingSpecialElement): + (WebCore::positionAfterPossibleContainingSpecialElement): + (WebCore::DeleteSelectionCommand::initializeStartEnd): + - new. more consistent handling of special element boundaries. + (WebCore::DeleteSelectionCommand::initializePositionData): + (WebCore::DeleteSelectionCommand::handleGeneralDelete): + - handle childless block (e.g. empty table cell) + - allow merging across list items + (WebCore::DeleteSelectionCommand::moveNodesAfterNode): + - use new isEmpty() method for renderers, to handle empty list items + * khtml/editing/delete_selection_command.h: + * khtml/editing/htmlediting.cpp: + (WebCore::isAtomicNode): + (WebCore::editingIgnoresContent): + - new. smarter check than isReplaced() + (WebCore::rangeCompliantEquivalent): + (WebCore::maxDeepOffset): + (WebCore::isFirstVisiblePositionInSpecialElement): + (WebCore::positionBeforeContainingSpecialElement): + (WebCore::isLastVisiblePositionInSpecialElement): + (WebCore::positionAfterContainingSpecialElement): + (WebCore::positionOutsideContainingSpecialElement): + (WebCore::positionBeforeNode): + (WebCore::positionAfterNode): + (WebCore::isListElement): + (WebCore::isTableElement): + (WebCore::isFirstVisiblePositionAfterTableElement): + (WebCore::positionBeforePrecedingTableElement): + (WebCore::positionAvoidingSpecialElementBoundary): + * khtml/editing/htmlediting.h: + * khtml/editing/insert_line_break_command.cpp: + (khtml::InsertLineBreakCommand::doApply): + * khtml/editing/insert_paragraph_separator_command.cpp: + (khtml::InsertParagraphSeparatorCommand::doApply): + * khtml/editing/insert_text_command.cpp: + (khtml::InsertTextCommand::prepareForTextInsertion): + (khtml::InsertTextCommand::input): + * khtml/editing/replace_selection_command.cpp: + (WebCore::isMailPasteAsQuotationNode): + (WebCore::ReplacementFragment::countRenderedBlocks): + (WebCore::ReplaceSelectionCommand::doApply): + - allow for fact that fragments have no VisiblePositions + * khtml/editing/visible_position.cpp: + (khtml::VisiblePosition::isCandidate): + (khtml::showTree): + (khtml::makeRange): + (khtml::setStart): + (khtml::setEnd): + * khtml/editing/visible_position.h: + * khtml/editing/visible_units.cpp: + (khtml::previousBoundary): + (khtml::nextBoundary): + (khtml::startOfLine): + - allow for fact that renderers for list markers and other generated content + have no corresponding NodeImpl. + (khtml::endOfLine): + - ditto + (khtml::nextLinePosition): + (khtml::startOfParagraph): + (khtml::endOfParagraph): + * khtml/xml/ContainerNodeImpl.cpp: + (WebCore::ContainerNodeImpl::getUpperLeftCorner): + (WebCore::ContainerNodeImpl::childNode): + * khtml/xml/ContainerNodeImpl.h: + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::childNode): + (WebCore::NodeImpl::traversePreviousNode): + (WebCore::NodeImpl::nextEditable): + (WebCore::showTree): + * khtml/xml/NodeImpl.h: + * khtml/xml/dom_position.cpp: + (DOM::Position::upstream): + (DOM::Position::downstream): + (DOM::Position::inRenderedContent): + (DOM::showTree): + * khtml/xml/dom_position.h: + * rendering/render_canvas.cpp: + (RenderCanvas::selectionRect): + * rendering/render_list.cpp: + (RenderListItem::calcListValue): + (RenderListItem::isEmpty): + (getParentOfFirstLineBox): + (RenderListItem::resetMarkerValue): + (RenderListItem::updateMarkerLocation): + * rendering/render_list.h: + (khtml::RenderListMarker::isListMarker): + * rendering/render_object.cpp: + (WebCore::RenderObject::nextRenderer): + (WebCore::RenderObject::previousRenderer): + (WebCore::showTree): + * rendering/render_object.h: + (WebCore::RenderObject::getBaselineOfLastLineBox): + (WebCore::RenderObject::isEmpty): + +2006-01-25 Timothy Hatcher <timothy@apple.com> + + Build fix, -[NSFont defaultLineHeightForFont] is deprecated. + We need to use -[NSLayoutManager defaultLineHeightForFont:] instead. + + * kwq/KWQLineEdit.mm: + (QLineEdit::sizeForCharacterWidth): + (QLineEdit::baselinePosition): + +2006-01-24 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6731 + REGRESSION: change event fires at load time for checked items + + Test: fast/forms/radio-button-no-change-event.html + + * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::setChecked): + One of many possible fixes: Don't send the event if the element is not yet in + a document (as in when parsing the initial attributes). + +2006-01-24 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + This change will allow the new text field elements to get focus, and to respond to the focus and blur events. + + Added: fast/forms/input-appearance-focus.html + + * khtml/html/HTMLElementImpl.cpp: (WebCore::HTMLElementImpl::isFocusable): + Removed recently added code that allowed editable elements with no parent to be focusable. + We don't need to do this now that we try to focus the input element, instead of the inner div. + * khtml/html/HTMLGenericFormElementImpl.cpp: (WebCore::HTMLGenericFormElementImpl::isMouseFocusable): Added case to for text fields. + * khtml/html/HTMLInputElementImpl.cpp: + (WebCore::HTMLInputElementImpl::focus): Added. Selects contents of text field. + (WebCore::HTMLInputElementImpl::setSelectionStart): Added break; in switch statement. + (WebCore::HTMLInputElementImpl::setSelectionEnd): ditto. + (WebCore::HTMLInputElementImpl::select): ditto. + (WebCore::HTMLInputElementImpl::setSelectionRange): ditto. + * khtml/html/HTMLInputElementImpl.h: Added focus() + * khtml/xml/dom_elementimpl.h: Made focus() virtual. + * page/Frame.cpp: (Frame::setFocusNodeIfNeeded): + Walk up the Render Tree instead of the DOM tree when trying to find a node to focus. + This will let us choose the input node instead of one of the nodes in the shadow tree. + * page/FrameView.cpp: (FrameView::dispatchMouseEvent): ditto. + * rendering/RenderContainer.cpp: (WebCore::RenderContainer::destroyLeftoverChildren): Corrected misspelling. + * rendering/RenderTextField.cpp: + (WebCore::RenderTextField::select): Implemented. Select contents of inner div. + * rendering/RenderTextField.h: + (WebCore::RenderTextField::renderName): Changed order. + (WebCore::RenderTextField::removeLeftoverAnonymousBoxes): ditto. + +2006-01-24 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6782 + REGRESSION: replaceChild broken when node to replace is first (TinyMCE test app broken) + + - fix http://bugs.webkit.org/show_bug.cgi?id=6784 + REGRESSION: 25 layout tests failing (basic DOM operations) + + Test: fast/dom/replace-first-child.html + + * khtml/xml/ContainerNodeImpl.cpp: + (WebCore::ContainerNodeImpl::insertBefore): Change one place that hands off ownership of + as PassRefPtr that causes us to almost always return 0. Fix test that would screw up when + both "prev" and "refChild->previousSibling()" were 0. + (WebCore::ContainerNodeImpl::appendChild): Changed a nearly-identical place handing off + ownership as above. + +2006-01-24 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dave Hyatt. + + - fixed crash if a node is removed from the DOM before being reparented due to residual style + http://bugs.webkit.org/show_bug.cgi?id=6778 + + * khtml/html/htmlparser.cpp: + (HTMLParser::handleResidualStyleCloseTagAcrossBlocks): If the + block has been removed from the document, then do not remove it + from its parent or add it to its new location. This prevents the + crash and matches Mozilla. + +2006-01-24 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + - http://bugs.webkit.org/show_bug.cgi?id=6750 + replace QDateTime with a simpler platform abstraction + + * ForwardingHeaders/qdatetime.h: Removed. + * kwq/KWQDateTime.cpp: Removed. + * kwq/KWQDateTime.h: Removed. + + * platform/SystemTime.h: Added. + * platform/mac/SystemTime.cpp: (WebCore::currentTime): Added. + * platform/win: Added. + * platform/win/SystemTime.cpp: (WebCore::currentTime): Added. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Added new files, removed old. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * css/css_base.h: Removed include of <qdatetime.h>. + * css/cssstyleselector.cpp: Ditto. + + * khtml/html/htmltokenizer.h: + * khtml/html/htmltokenizer.cpp: Convert tabs to spaces. + (WebCore::HTMLTokenizer::continueProcessing): Change parameter from QTime to double. + Use currentTime() instead of QTime::elapsed(). + (WebCore::HTMLTokenizer::write): Use currentTime() instead of QTime::elapsed(). + + * config.h: Added HAVE_FUNC_USLEEP for now, not sure this is really a + good way to handle this. + * khtml/xml/ContainerNodeImpl.cpp: (WebCore::ContainerNodeImpl::setActive): + Use currentTime() instead of QTime::elapsed(). Use HAVE_FUNC_USLEEP for the if. + + * khtml/xml/DocumentImpl.h: + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::DocumentImpl): Use currentTime() instead of QTime::elapsed(). + (WebCore::DocumentImpl::implicitClose): Ditto. + (WebCore::DocumentImpl::minimumLayoutDelay): Ditto. + (WebCore::DocumentImpl::elapsedTime): Ditto. + + * khtml/xml/dom2_eventsimpl.cpp: (WebCore::EventImpl::EventImpl): Use currentTime() + instead of local function called currentTimeStamp(). + + * khtml/xml/xml_tokenizer.h: Removed declaration of class QTime. + + * ksvg2/misc/KSVGTimeScheduler.h: + * ksvg2/misc/KSVGTimeScheduler.cpp: + (KSVG::TimeScheduler::TimeScheduler): Use currentTime instead of QTime::elapsed. + (KSVG::TimeScheduler::startAnimations): Ditto. + (KSVG::TimeScheduler::toggleAnimations): Ditto. + (KSVG::TimeScheduler::elapsed): Ditto. + + * page/Frame.cpp: (Frame::clear): Removed unused m_parsetime. + * page/FramePrivate.h: Ditto. + +2006-01-24 David Hyatt <hyatt@apple.com> + + Fix for bug 6781, convert QColor to Color (and QRgb to RGBA32). r=maciej. + + * ForwardingHeaders/qcolor.h: Removed. + * WebCore+SVG/KDOMSettings.h: + * WebCore+SVG/RGBColorImpl.cpp: + (RGBColorImpl::RGBColorImpl): + (RGBColorImpl::red): + (RGBColorImpl::green): + (RGBColorImpl::blue): + * WebCore+SVG/RGBColorImpl.h: + * WebCore.xcodeproj/project.pbxproj: + * bindings/objc/DOMCSS.mm: + (getWrapperForRGB): + (setWrapperForRGB): + (removeWrapperForRGB): + (-[DOMRGBColor dealloc]): + (-[DOMRGBColor finalize]): + (-[DOMRGBColor red]): + (-[DOMRGBColor green]): + (-[DOMRGBColor blue]): + (-[DOMRGBColor _initWithRGB:]): + (+[DOMRGBColor _RGBColorWithRGB:]): + (-[DOMRGBColor alpha]): + (-[DOMRGBColor _color]): + * bridge/mac/MacFrame.mm: + (MacFrame::attributedString): + (MacFrame::fontAttributesForSelectionStart): + (MacFrame::bodyBackgroundColor): + (convertAttributesToUnderlines): + * css/css_valueimpl.cpp: + (WebCore::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl): + (WebCore::CSSPrimitiveValueImpl::cssText): + * css/csshelper.h: + * css/cssparser.cpp: + (CSSParser::parseColor): + (CSSParser::parseColorFromValue): + * css/cssparser.h: + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::): + (WebCore::colorForCSSValue): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): + * css/cssstyleselector.h: + * kcanvas/KCanvasFilters.h: + (KCanvasFEDiffuseLighting::lightingColor): + (KCanvasFEDiffuseLighting::setLightingColor): + (KCanvasFEFlood::floodColor): + (KCanvasFEFlood::setFloodColor): + (KCanvasFESpecularLighting::lightingColor): + (KCanvasFESpecularLighting::setLightingColor): + * kcanvas/KCanvasTreeDebug.cpp: + (operator<<): + * kcanvas/KCanvasTreeDebug.h: + * kcanvas/device/KRenderingDevice.h: + * kcanvas/device/KRenderingPaintServerGradient.cpp: + (KCSortedGradientStopList::addStop): + * kcanvas/device/KRenderingPaintServerGradient.h: + * kcanvas/device/KRenderingPaintServerSolid.cpp: + (KRenderingPaintServerSolid::color): + (KRenderingPaintServerSolid::setColor): + * kcanvas/device/KRenderingPaintServerSolid.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (ciColor): + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + (setupShadingWithStyle): + * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: + (KRenderingPaintServerPatternQuartz::setup): + * khtml/ecma/kjs_css.h: + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::Context2DFunction::callAsFunction): + (KJS::colorRefFromValue): + (KJS::colorFromValue): + (KJS::Context2D::putValueProperty): + (KJS::GradientFunction::callAsFunction): + * khtml/ecma/kjs_html.h: + * khtml/editing/apply_style_command.cpp: + (WebCore::StyleChange::checkForLegacyHTMLStyleChange): + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLBodyElementImpl::parseMappedAttribute): + * khtml/misc/helper.h: + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::DocumentImpl): + (WebCore::DocumentImpl::resetLinkColor): + (WebCore::DocumentImpl::resetVisitedLinkColor): + * khtml/xml/DocumentImpl.h: + (WebCore::DocumentImpl::setTextColor): + (WebCore::DocumentImpl::textColor): + (WebCore::DocumentImpl::linkColor): + (WebCore::DocumentImpl::visitedLinkColor): + (WebCore::DocumentImpl::activeLinkColor): + (WebCore::DocumentImpl::setLinkColor): + (WebCore::DocumentImpl::setVisitedLinkColor): + (WebCore::DocumentImpl::setActiveLinkColor): + * ksvg2/css/SVGCSSStyleSelector.cpp: + (KDOM::CSSStyleSelector::applySVGProperty): + * ksvg2/css/SVGRenderStyle.h: + * ksvg2/css/SVGRenderStyleDefs.h: + * ksvg2/misc/KCanvasRenderingStyle.cpp: + (WebCore::KSVGPainterFactory::fillPaintServer): + * ksvg2/misc/KSVGTimeScheduler.cpp: + (KSVG::SVGTimer::notifyAll): + * ksvg2/svg/SVGAnimateColorElementImpl.cpp: + (SVGAnimateColorElementImpl::handleTimerEvent): + (SVGAnimateColorElementImpl::clampColor): + (SVGAnimateColorElementImpl::color): + (SVGAnimateColorElementImpl::initialColor): + * ksvg2/svg/SVGAnimateColorElementImpl.h: + * ksvg2/svg/SVGAnimateElementImpl.cpp: + (SVGAnimateElementImpl::handleTimerEvent): + * ksvg2/svg/SVGColorImpl.cpp: + (SVGColorImpl::setRGBColor): + (SVGColorImpl::color): + * ksvg2/svg/SVGColorImpl.h: + * ksvg2/svg/SVGGradientElementImpl.cpp: + (SVGGradientElementImpl::rebuildStops): + * kwq/KWQAccObject.mm: + (AXAttributeStringSetStyle): + * kwq/KWQBrush.h: + (QBrush::QBrush::QBrush): + (QBrush::color): + (QBrush::setColor): + * kwq/KWQColor.h: Removed. + * kwq/KWQColor.mm: Removed. + * kwq/KWQColorData.gperf: Removed. + * kwq/KWQKConfigBase.h: + * kwq/KWQKConfigBase.mm: + (KConfig::readColorEntry): + * kwq/KWQLineEdit.mm: + (QLineEdit::setPalette): + * kwq/KWQNamespace.h: + (Qt::): + * kwq/KWQObject.h: + * kwq/KWQPainter.h: + * kwq/KWQPainter.mm: + (QPainter::setPen): + (QPainter::setBrush): + (QPainter::drawText): + (QPainter::drawHighlightForText): + (QPainter::selectedTextBackgroundColor): + (_fillRectXX): + (QPainter::setShadow): + (QPainter::initFocusRing): + * kwq/KWQPalette.h: + (QColorGroup::QColorGroup): + (QColorGroup::color): + (QColorGroup::setColor): + (QColorGroup::background): + (QColorGroup::foreground): + (QColorGroup::base): + (QPalette::QPalette): + (QPalette::background): + (QPalette::foreground): + * kwq/KWQPen.cpp: + (QPen::QPen): + (QPen::color): + (QPen::setColor): + * kwq/KWQPen.h: + * kwq/KWQRenderTreeDebug.cpp: + (operator<<): + * kwq/KWQTextEdit.mm: + (QTextEdit::setPalette): + * loader/CachedImage.cpp: + (WebCore::CachedImage::tiled_pixmap): + * loader/CachedImage.h: + * page/Frame.cpp: + (Frame::paint): + * page/Frame.h: + (MarkedTextUnderline::MarkedTextUnderline): + * platform/Color.cpp: Added. + (WebCore::makeRGB): + (WebCore::makeRGBA): + (WebCore::parseHexColor): + (WebCore::Color::Color): + (WebCore::Color::name): + (WebCore::Color::setNamedColor): + (WebCore::Color::hsv): + (WebCore::Color::setHsv): + (WebCore::Color::light): + (WebCore::Color::dark): + (WebCore::Color::getRgbaF): + * platform/Color.h: Added. + (WebCore::Color::Color): + (WebCore::Color::rgb): + (WebCore::Color::setRgb): + (WebCore::operator==): + (WebCore::operator!=): + * platform/ColorData.gperf: Added. + * rendering/InlineTextBox.cpp: + (khtml::simpleDifferenceBetweenColors): + (khtml::correctedTextColor): + (khtml::InlineTextBox::paint): + (khtml::InlineTextBox::paintSelection): + (khtml::InlineTextBox::paintMarkedTextBackground): + (khtml::InlineTextBox::paintDecoration): + * rendering/RenderTable.h: + (WebCore::RenderTable::bgColor): + * rendering/RenderTableCell.cpp: + (WebCore::outlineBox): + (WebCore::RenderTableCell::paintBoxDecorations): + * rendering/font.cpp: + (khtml::Font::drawHighlightForText): + (khtml::Font::drawText): + * rendering/font.h: + * rendering/render_box.cpp: + (WebCore::RenderBox::paintRootBoxDecorations): + (WebCore::RenderBox::paintBackgrounds): + (WebCore::RenderBox::paintBackground): + (WebCore::RenderBox::paintBackgroundExtended): + (WebCore::RenderBox::outlineBox): + * rendering/render_box.h: + * rendering/render_flow.cpp: + (RenderFlow::paintFocusRing): + (RenderFlow::paintOutlineForLine): + * rendering/render_form.cpp: + (RenderFieldset::paintBorderMinusLegend): + * rendering/render_frames.cpp: + (WebCore::RenderFrameSet::userResize): + * rendering/render_image.cpp: + (WebCore::RenderImage::paint): + * rendering/render_layer.h: + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::paintBackgrounds): + (WebCore::InlineFlowBox::paintBackground): + (WebCore::InlineFlowBox::paintBackgroundAndBorder): + (WebCore::InlineFlowBox::paintDecorations): + (WebCore::EllipsisBox::paint): + * rendering/render_line.h: + * rendering/render_list.cpp: + (RenderListMarker::paint): + * rendering/render_object.cpp: + (WebCore::RenderObject::drawBorder): + (WebCore::RenderObject::paintBorder): + (WebCore::RenderObject::paintOutline): + (WebCore::RenderObject::selectionColor): + (WebCore::RenderObject::getTextDecorationColors): + * rendering/render_object.h: + (WebCore::RenderObject::paintBackgroundExtended): + * rendering/render_replaced.cpp: + (WebCore::RenderReplaced::selectionColor): + * rendering/render_replaced.h: + * rendering/render_style.h: + (khtml::BorderValue::isTransparent): + (khtml::CollapsedBorderValue::color): + (khtml::RenderStyle::hasBackground): + (khtml::RenderStyle::borderLeftColor): + (khtml::RenderStyle::borderRightColor): + (khtml::RenderStyle::borderTopColor): + (khtml::RenderStyle::borderBottomColor): + (khtml::RenderStyle::outlineColor): + (khtml::RenderStyle::color): + (khtml::RenderStyle::backgroundColor): + (khtml::RenderStyle::setBackgroundColor): + (khtml::RenderStyle::setBorderLeftColor): + (khtml::RenderStyle::setBorderRightColor): + (khtml::RenderStyle::setBorderTopColor): + (khtml::RenderStyle::setBorderBottomColor): + (khtml::RenderStyle::setOutlineColor): + (khtml::RenderStyle::setColor): + (khtml::RenderStyle::initialColor): + * rendering/render_theme.cpp: + (khtml::RenderTheme::isControlStyled): + * rendering/render_theme.h: + +2006-01-24 Darin Adler <darin@apple.com> + + Reviewed by John and Anders. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6732 + REGRESSION: Repro crash at Google Maps + + * khtml/ecma/JSXMLHttpRequest.cpp: + (KJS::JSXMLHttpRequest::getValueProperty): Clean up a bit, using PassRefPtr where appropriate. + (KJS::JSXMLHttpRequest::mark): Remove get calls now that getter functions don't return PassRefPtr. + (KJS::JSXMLHttpRequest::JSXMLHttpRequest): Put the object into the DOM objects map. + (KJS::JSXMLHttpRequest::~JSXMLHttpRequest): Remove the object from the DOM objects map. Also clear + out both listeners so the implementation object isn't left with dangling pointers (since we won't + be around to mark those objects any more). + (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): Tightened up the code a bit. + + * xml/xmlhttprequest.h: + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::getResponseXML): Change to return just a plain old pointer. Remove + the unnecessary typeIsXML boolean. + (WebCore::XMLHttpRequest::onReadyStateChangeListener): Change to return just a plain old pointer. + Update for name changes. + (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Ditto. + (WebCore::XMLHttpRequest::onLoadListener): Ditto. + (WebCore::XMLHttpRequest::setOnLoadListener): Ditto. + (WebCore::XMLHttpRequest::send): Protect the DOM wrapper if any as well as ourselves while + the load is in progress. + (WebCore::XMLHttpRequest::abort): Unprotect to balance out the above. + (WebCore::XMLHttpRequest::slotFinished): Ditto. + + * khtml/ecma/JSXMLHttpRequest.h: Just formatting changes. + +2006-01-24 Darin Adler <darin@apple.com> + + Reviewed by Justin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6753 + REGRESSION (r12282-12292): Crash loading TinyMCE test app + + * khtml/xml/ContainerNodeImpl.h: Remove some internals that don't need + to be member functions. + * khtml/xml/ContainerNodeImpl.cpp: + (WebCore::ContainerNodeImpl::insertBefore): Improved algorithm to keep + refs to more things so that we don't end up with a dangling pointer (fixes + the crash) and so that we do not crash if someone modifies the tree inside + a DOM mutation event handler (theoretical only at this point, needs test + cases). + (WebCore::ContainerNodeImpl::replaceChild): Ditto. + (WebCore::willRemoveChild): Changed from member function to free function. + (WebCore::ContainerNodeImpl::removeChild): Fix potential problem if the + mutation event handler moves the node into a different parent. + (WebCore::ContainerNodeImpl::appendChild): Made changes like those in + insertBefore above. + (WebCore::dispatchChildInsertionEvents): Changed from member function to + free function. Tightened up handling of some edge cases. + (WebCore::dispatchChildRemovalEvents): Ditto. + +2006-01-24 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6696 + REGRESSION: JavaScript window.opener set incorrectly + + * khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::callAsFunction): + Fix local variable "frame" that was shadowing another local variable + named "frame" by naming the one for the new frame "newFrame". + +2006-01-24 Maciej Stachowiak <mjs@apple.com> + + - fix build + + * ksvg2/scripts/make_names.pl: Update script to generate code that + works with the new HashMap. + +2006-01-23 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - fixed a storage leak found by running run-webkit-tests fast --leak + + * khtml/xml/dom_xmlimpl.cpp: + (ProcessingInstructionImpl::checkStyleSheet): Removed bogus deref call, + since the RefPtr handles it for us. Also deployed PassRefPtr in one place. + (ProcessingInstructionImpl::setStyleSheet): Removed more bogus ref/deref calls. + +2006-01-23 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Eric. + + - Made some functions return const AtomicString& instead of + AtomicString because they could. + + Result of Darin's and Eric's comments on the last patch. + + * khtml/html/HTMLGenericFormElementImpl.cpp: + (WebCore::HTMLGenericFormElementImpl::name): + * khtml/html/HTMLGenericFormElementImpl.h: + * khtml/html/HTMLInputElementImpl.cpp: + (WebCore::HTMLInputElementImpl::name): + * khtml/html/HTMLInputElementImpl.h: + +2006-01-23 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - renamed PointerHash to PtrHash + - made PtrHash the default hash function for int and pointer types that aren't further specialized + - added an AtomicStringImpl class to make it easier and more typesafe to identity hash atomic strings + - did appropriate consequent cleanup (very few places now need to declare a hash function) + http://bugs.webkit.org/show_bug.cgi?id=6752 + + * bindings/objc/DOM.mm: + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge elementWithName:inForm:]): + * css/cssstyleselector.cpp: + (WebCore::CSSRuleSet::getIDRules): + (WebCore::CSSRuleSet::getClassRules): + (WebCore::CSSRuleSet::getTagRules): + (WebCore::CSSRuleSet::addToRuleSet): + * khtml/dom/dom_string.h: + (KXMLCore::): + * khtml/ecma/kjs_binding.cpp: + (KJS::UString::UString): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNode::mark): + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::HTMLElement::classInfo): + (KJS::HTMLElement::accessors): + (KJS::HTMLElement::selectSetter): + (KJS::HTMLElement::inputSetter): + (KJS::HTMLElement::textAreaSetter): + (KJS::HTMLElement::buttonSetter): + * khtml/ecma/kjs_window.h: + * khtml/editing/apply_style_command.cpp: + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): + * khtml/html/HTMLCollectionImpl.h: + * khtml/html/HTMLElementImpl.cpp: + (WebCore::HTMLElementImpl::isRecognizedTagName): + (WebCore::inlineTagList): + (WebCore::blockTagList): + * khtml/html/HTMLFormCollectionImpl.cpp: + (WebCore::HTMLFormCollectionImpl::updateNameCache): + * khtml/html/HTMLGenericFormElementImpl.cpp: + (WebCore::HTMLGenericFormElementImpl::name): + (WebCore::HTMLGenericFormElementImpl::setName): + * khtml/html/HTMLGenericFormElementImpl.h: + * khtml/html/HTMLInputElementImpl.cpp: + (WebCore::HTMLInputElementImpl::name): + * khtml/html/HTMLInputElementImpl.h: + * khtml/html/htmlfactory.cpp: + (DOM::HTMLElementFactory::createHTMLElement): + * khtml/html/htmlparser.cpp: + (HTMLParser::isHeaderTag): + (HTMLParser::isResidualStyleTag): + (HTMLParser::isAffectedByResidualStyle): + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::checkedRadioButtonForGroup): + (WebCore::DocumentImpl::removeRadioButtonGroup): + * khtml/xml/DocumentImpl.h: + * khtml/xml/NodeImpl.h: + * khtml/xml/dom_atomicstring.h: + (DOM::AtomicString::AtomicString): + (DOM::AtomicString::impl): + (KXMLCore::): + * khtml/xml/dom_stringimpl.cpp: + (DOM::equal): + * khtml/xml/dom_stringimpl.h: + (KXMLCore::): + * khtml/xml/xml_tokenizer.h: + * ksvg2/misc/KSVGTimeScheduler.cpp: + (KSVG::SVGTimer::notifyAll): + * kwq/KWQKJobClasses.h: + * kwq/KWQObject.cpp: + * loader/CachedObject.h: + * loader/CachedObjectClientWalker.h: + * loader/loader.h: + * page/Frame.cpp: + (Frame::endAllLifeSupport): + * rendering/render_canvas.cpp: + (RenderCanvas::selectionRect): + (RenderCanvas::setSelection): + * rendering/render_canvas.h: + * rendering/render_object.h: + * xml/xmlhttprequest.h: + +2006-01-23 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6733 + REGRESSION: html input doesn't honor change to value + + * rendering/render_form.cpp: (RenderLineEdit::slotTextChanged): Made newText a + DOMString. Assigning the empty DOMString to a QString and back to a DOMString + resulted in a null string, which should be avoided here. + + * khtml/dom/dom_string.cpp: (DOM::DOMString::qstring): Don't turn an empty + DOMString into a null QString; make an empty QString instead. + +2006-01-23 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6385 + REGRESSION: Unnamed frames return a generated name as window.frameElement.name + + Test: fast/frames/frame-element-name.html + + * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::getOwnPropertySlot): + Remove the quirk where frame and iframe elements reflect all the + properties of the window inside the frame. Testing indicates that + no other browser does this -- not sure why we were doing it. + +2006-01-23 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Tim Hatcher. + + - renamed insert() operation on HashSet, HashCountedSet and HashTable to add() + for consistency with HashMap + + * bridge/mac/MacFrame.mm: + (MacFrame::didTellBridgeAboutLoad): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNode::mark): + * khtml/html/HTMLElementImpl.cpp: + (WebCore::HTMLElementImpl::isRecognizedTagName): + (WebCore::inlineTagList): + (WebCore::blockTagList): + * khtml/html/HTMLFormCollectionImpl.cpp: + (WebCore::HTMLFormCollectionImpl::updateNameCache): + * khtml/html/htmlparser.cpp: + (HTMLParser::isHeaderTag): + (HTMLParser::isResidualStyleTag): + (HTMLParser::isAffectedByResidualStyle): + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::addElementById): + (WebCore::DocumentImpl::registerDisconnectedNodeWithEventListeners): + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::registerNodeList): + * khtml/xml/dom_atomicstring.cpp: + (DOM::AtomicString::add): + * khtml/xml/dom_qname.cpp: + (DOM::QualifiedName::QualifiedName): + * loader/CachedObject.cpp: + (WebCore::CachedObject::ref): + * page/Frame.cpp: + (Frame::keepAlive): + * rendering/render_canvas.cpp: + (RenderCanvas::addWidget): + * rendering/render_frames.cpp: + (WebCore::RenderPartObject::updateWidget): + * rendering/render_line.cpp: + (WebCore::InlineFlowBox::paint): + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::addToRequestsByDocument): + +2006-01-23 Justin Garcia <justin.garcia@apple.com> + + Reviewed by thatcher + + Turned on -O2 for B&I build. + + * WebCore.xcodeproj/project.pbxproj: + +2006-01-23 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6617 + REGRESSION: Crash in cloneChildNodes when clicking element + + Test: fast/dom/clone-node-form-elements-with-attr.html + + Changed cloneNode and some other functions to return PassRefPtr. + Also made m_render private and changed its name to m_renderer. + + * bindings/objc/DOM.mm: (-[DOMNode cloneNode:]): Add call to get() needed + now that cloneNode returns a PassRefPtr. + + * khtml/editing/break_blockquote_command.cpp: + (WebCore::BreakBlockquoteCommand::doApply): + * khtml/editing/insert_paragraph_separator_command.cpp: + (khtml::InsertParagraphSeparatorCommand::doApply): + * khtml/editing/split_element_command.cpp: + (khtml::SplitElementCommand::doApply): + * khtml/html/htmlparser.cpp: + (HTMLParser::handleResidualStyleCloseTagAcrossBlocks): + (HTMLParser::reopenResidualStyleTags): + * khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::processContents): + * ksvg2/svg/SVGUseElementImpl.cpp: (SVGUseElementImpl::closeRenderer): + Use RefPtr and PassRefPtr as appropriate, since the result of cloneNode + is now a referenced object in a PassRefPtr rather than a floating one and + so needs to be kept referenced until used. + + * khtml/html/HTMLElementImpl.h: + * khtml/html/HTMLElementImpl.cpp: + (WebCore::HTMLElementImpl::cloneNode): Changed to return a PassRefPtr. + (WebCore::HTMLElementImpl::children): Ditto. + * khtml/xml/DocumentFragmentImpl.h: + * khtml/xml/DocumentFragmentImpl.cpp: + (DOM::DocumentFragmentImpl::cloneNode): Changed to return a PassRefPtr. + * khtml/xml/DocumentImpl.h: + * khtml/xml/DocumentTypeImpl.h: + * khtml/xml/DocumentTypeImpl.cpp: + (DOM::DocumentTypeImpl::cloneNode): Changed to return a PassRefPtr. + * khtml/xml/NamedNodeMapImpl.h: + (WebCore::NamedNodeMapImpl::getNamedItem): Changed to return PassRefPtr. + (WebCore::NamedNodeMapImpl::removeNamedItem): Ditto. + (WebCore::NamedNodeMapImpl::setNamedItemNS): Ditto. + + * khtml/html/HTMLGenericFormElementImpl.cpp: + (WebCore::HTMLGenericFormElementImpl::attach): Use renderer() instead of + getting at m_render directly. + (WebCore::HTMLGenericFormElementImpl::recalcStyle): Ditto. + (WebCore::HTMLGenericFormElementImpl::isFocusable): Ditto. + (WebCore::HTMLGenericFormElementImpl::isKeyboardFocusable): Ditto. + (WebCore::HTMLGenericFormElementImpl::isMouseFocusable): Ditto. + * khtml/html/HTMLInputElementImpl.cpp: + (WebCore::HTMLInputElementImpl::selectionStart): Ditto. + (WebCore::HTMLInputElementImpl::selectionEnd): Ditto. + (WebCore::HTMLInputElementImpl::setSelectionStart): Ditto. + (WebCore::HTMLInputElementImpl::setSelectionEnd): Ditto. + (WebCore::HTMLInputElementImpl::select): Ditto. + (WebCore::HTMLInputElementImpl::setSelectionRange): Ditto. + (WebCore::HTMLInputElementImpl::parseMappedAttribute): Ditto. + (WebCore::HTMLInputElementImpl::setValue): Ditto. + (WebCore::HTMLInputElementImpl::defaultEventHandler): Ditto. + * khtml/html/HTMLSelectElementImpl.cpp: + (WebCore::HTMLSelectElementImpl::recalcStyle): Ditto. + (WebCore::HTMLSelectElementImpl::setRecalcListItems): Ditto. + (WebCore::HTMLSelectElementImpl::reset): Ditto. + (WebCore::HTMLSelectElementImpl::notifyOptionSelected): Ditto. + (WebCore::HTMLSelectElementImpl::defaultEventHandler): Ditto. + * khtml/html/HTMLTextAreaElementImpl.cpp: + (WebCore::HTMLTextAreaElementImpl::selectionStart): Ditto. + (WebCore::HTMLTextAreaElementImpl::selectionEnd): Ditto. + (WebCore::HTMLTextAreaElementImpl::setSelectionStart): Ditto. + (WebCore::HTMLTextAreaElementImpl::setSelectionEnd): Ditto. + (WebCore::HTMLTextAreaElementImpl::select): Ditto. + (WebCore::HTMLTextAreaElementImpl::setSelectionRange): Ditto. + (WebCore::HTMLTextAreaElementImpl::updateValue): Ditto. + (WebCore::HTMLTextAreaElementImpl::setValue): Ditto. + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLFrameElementImpl::updateForNewURL): Ditto. + (WebCore::HTMLFrameElementImpl::openURL): Ditto. + (WebCore::HTMLFrameElementImpl::attach): Ditto. + (WebCore::HTMLFrameElementImpl::close): Ditto. + (WebCore::HTMLFrameElementImpl::willRemove): Ditto. + (WebCore::HTMLFrameElementImpl::isFocusable): Ditto. + (WebCore::HTMLFrameElementImpl::setFocus): Ditto. + (WebCore::HTMLFrameElementImpl::frameWidth): Ditto. + (WebCore::HTMLFrameElementImpl::frameHeight): Ditto. + (WebCore::HTMLFrameSetElementImpl::defaultEventHandler): Ditto. + (WebCore::HTMLFrameSetElementImpl::recalcStyle): Ditto. + (WebCore::HTMLIFrameElementImpl::attach): Ditto. + (WebCore::HTMLIFrameElementImpl::recalcStyle): Ditto. + * khtml/html/html_imageimpl.cpp: + (WebCore::HTMLImageElementImpl::parseMappedAttribute): Ditto. + (WebCore::HTMLImageElementImpl::width): Ditto. + (WebCore::HTMLImageElementImpl::height): Ditto. + * khtml/html/html_inlineimpl.cpp: + (WebCore::HTMLAnchorElementImpl::isFocusable): Ditto. + * khtml/html/html_listimpl.cpp: + (DOM::HTMLLIElementImpl::parseMappedAttribute): Ditto. + (DOM::HTMLLIElementImpl::attach): Ditto. + * khtml/html/html_objectimpl.cpp: + (WebCore::HTMLAppletElementImpl::getAppletInstance): Ditto. + (WebCore::HTMLAppletElementImpl::closeRenderer): Ditto. + (WebCore::HTMLEmbedElementImpl::getEmbedInstance): Ditto. + (WebCore::HTMLEmbedElementImpl::attach): Ditto. + (WebCore::HTMLObjectElementImpl::getObjectInstance): Ditto. + (WebCore::HTMLObjectElementImpl::parseMappedAttribute): Ditto. + (WebCore::HTMLObjectElementImpl::attach): Ditto. + (WebCore::HTMLObjectElementImpl::detach): Ditto. + (WebCore::HTMLObjectElementImpl::recalcStyle): Ditto. + * khtml/html/html_tableimpl.cpp: + (WebCore::HTMLTableElementImpl::parseMappedAttribute): Ditto. + (WebCore::HTMLTableElementImpl::attach): Ditto. + * khtml/xml/ContainerNodeImpl.cpp: + (WebCore::ContainerNodeImpl::getUpperLeftCorner): Ditto. + (WebCore::ContainerNodeImpl::getLowerRightCorner): Ditto. + (WebCore::ContainerNodeImpl::setActive): Ditto. + (WebCore::ContainerNodeImpl::setHovered): Ditto. + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::~DocumentImpl): Ditto. + (WebCore::DocumentImpl::elementFromPoint): Ditto. + (WebCore::DocumentImpl::recalcStyle): Ditto. + (WebCore::DocumentImpl::attach): Ditto. + (WebCore::DocumentImpl::restoreRenderer): Ditto. + (WebCore::DocumentImpl::detach): Ditto. + (WebCore::DocumentImpl::setVisuallyOrdered): Ditto. + (WebCore::DocumentImpl::updateSelection): Ditto. + (WebCore::DocumentImpl::prepareMouseEvent): Ditto. + (WebCore::DocumentImpl::cloneNode): Changed to return PassRefPtr. + (WebCore::DocumentImpl::recalcStyleSelector): Use renderer() instead + of getting at m_render directly. + (WebCore::DocumentImpl::setInPageCache): Ditto. + + * khtml/xml/NodeImpl.h: + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::NodeImpl): Changed m_render to m_renderer. + (WebCore::NodeImpl::~NodeImpl): Changed use of m_render to renderer(). + (WebCore::NodeImpl::getRect): Ditto. + (WebCore::NodeImpl::attach): Ditto. + (WebCore::NodeImpl::detach): Ditto. + (WebCore::NodeImpl::createRendererIfNeeded): Ditto. + (WebCore::NodeImpl::getElementsByTagName): Changed to return PassRefPtr. + (WebCore::NodeImpl::getElementsByTagNameNS): Ditto. + + * khtml/xml/dom_elementimpl.h: + * khtml/xml/dom_elementimpl.cpp: + (WebCore::AttrImpl::cloneNode): Changed to return PassRefPtr. + (WebCore::ElementImpl::cloneNode): Ditto. + (WebCore::ElementImpl::scrollIntoView): Use renderer() instead of m_render. + (WebCore::ElementImpl::scrollIntoViewIfNeeded): Ditto. + (WebCore::ElementImpl::recalcStyle): Ditto. + (WebCore::ElementImpl::setAttributeNode): Changed to return PassRefPtr. + (WebCore::ElementImpl::removeAttributeNode): Ditto. + (WebCore::NamedAttrMapImpl::removeNamedItemNS): Ditto. + (WebCore::NamedAttrMapImpl::setNamedItem): Ditto. + (WebCore::NamedAttrMapImpl::removeNamedItem): Ditto. + (DOM::ElementImpl::setAttributeNodeNS): Ditto. + + * khtml/xml/dom_textimpl.h: + * khtml/xml/dom_textimpl.cpp: + (CharacterDataImpl::setData): Changed use of m_render to renderer(). + (CharacterDataImpl::appendData): Ditto. + (CharacterDataImpl::insertData): Ditto. + (CharacterDataImpl::deleteData): Ditto. + (CharacterDataImpl::replaceData): Ditto. + (CommentImpl::cloneNode): Changed to return PassRefPtr. + (TextImpl::splitText): Changed use of m_render to renderer(). + (TextImpl::cloneNode): Changed to return PassRefPtr. + (TextImpl::recalcStyle): Changed use of m_render to renderer(). + (CDATASectionImpl::cloneNode): Changed to return PassRefPtr. + + * khtml/xml/dom_xmlimpl.h: + * khtml/xml/dom_xmlimpl.cpp: + (DOM::EntityImpl::cloneNode): Changed to return PassRefPtr. + (DOM::EntityReferenceImpl::cloneNode): Ditto. + (DOM::NotationImpl::cloneNode): Ditto. + (DOM::ProcessingInstructionImpl::cloneNode): Ditto. + + - removed unused code + + * khtml/html/html_documentimpl.cpp: Removed unused slotHistoryChanged function. + * khtml/html/html_documentimpl.h: Ditto. + * kwq/KWQObject.cpp: (QObject::connect): Removed special case for + slotHistoryChanged, no longer used. + + - fixed storage leak + + * bridge/mac/MacFrame.mm: (MacFrame::~MacFrame): Delete window widget. + +2006-01-23 Anders Carlsson <andersca@mac.com> + + Forgot to add this as part of + http://bugs.webkit.org/show_bug.cgi?id=3869 + + * manual-tests/resources/webkit-background.png: Added. + +2006-01-22 Darin Adler <darin@apple.com> + + - fix layout tests + + * rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): Added + missing code to set wrapInAnonymousSection false in the case where + adding a footer. + +2006-01-22 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - Set up Page class and invert Frame / WebCoreFrameBridge ownership + http://bugs.webkit.org/show_bug.cgi?id=6577 + + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (MacFrame::MacFrame): Initialize _bridge + (MacFrame::~MacFrame): Clear the bridge's frame pointer and release it. + (Frame::frameDetached): Reverse order of removing from old-style frames + array and calling frameDetached. + (MacFrame::createPart): Don't ref the part when creating it, since the child + bridge is no longer going to own a ref. + (MacFrame::setBridge): KWQRetain / KWQRelease since we know own the bridge. + (MacFrame::detachFromView): New method; clear out the view. + * bridge/mac/WebCoreFrameBridge.h: + * bridge/mac/WebCoreFrameBridge.mm: + (Bridge): Helper method to get a WebCoreFrameBridge from a Frame. + (-[WebCoreFrameBridge firstChild]): Call through Frame. + (-[WebCoreFrameBridge lastChild]): ditto + (-[WebCoreFrameBridge childCount]): ditto + (-[WebCoreFrameBridge previousSibling]): ditto + (-[WebCoreFrameBridge nextSibling]): ditto + (-[WebCoreFrameBridge isDescendantOfFrame:]): No need to cast parent + pointer. + (-[WebCoreFrameBridge appendChild:]): Call through Frame. + (-[WebCoreFrameBridge _clearRenderPart]): New helper method to free + the renderPart when removing a child. + (-[WebCoreFrameBridge removeChild:]): Clear child's render part + and call through to Frame. + (-[WebCoreFrameBridge dealloc]): Remove unneeded m_frame-related code. + (-[WebCoreFrameBridge finalize]): ditto + (-[WebCoreFrameBridge clearFrame]): New helper method, needed now that + bridge can outlive frame. + (-[WebCoreFrameBridge handleFallbackContent]): Make safe against a null + frame. + (-[WebCoreFrameBridge removeFromFrame]): ditto + * bridge/mac/WebCorePageBridge.h: + * bridge/mac/WebCorePageBridge.mm: + (-[WebCorePageBridge initWithMainFrame:]): Create a Page instance. + (-[WebCorePageBridge dealloc]): Delete the Page. + (-[WebCorePageBridge mainFrame]): Get the main frame from the Page. + * khtml/ecma/kjs_binding.cpp: + (KJS::ScriptInterpreter::globalExec): Override; keep frame alive, then + call superclass. + * khtml/ecma/kjs_binding.h: + * khtml/ecma/kjs_proxy.cpp: + (KJSProxyImpl::clear): Don't pass exec to window. + (KJSProxyImpl::interpreter): Don't do keepAlive. + * khtml/ecma/kjs_window.cpp: + (KJS::Window::isSafeScript): If the active part's document is gone, use the frame's + URL for security check purposes. + (KJS::Window::clear): Don't take an ExecState parameter any more - it + wasn't used. + * khtml/ecma/kjs_window.h: + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::implicitOpen): If we've got a tokenizer, delete + it before closing - you don't ever want to fire an onload handler because of + an open. + * page/Frame.cpp: + (Frame::init): Pass `this' to FramePrivate constructor. + (FrameCounter::~FrameCounter): Added debug counting of leftover + Frame objects on exit. + (Frame::Frame): Moved out-of-line. Increment debug counter. + (Frame::~Frame): Assert that there is no life support going, either at the + start or end of this method. Decrement frame counter. + (Frame::stopLoading): tweaked for the fact that ChildFrame::m_frame is now + a RefPtr. + (Frame::clear): ditto + (Frame::stop): ditto + (Frame::stopAnimations): ditto + (Frame::checkEmitLoadEvent): ditto + (Frame::processObjectRequest): ditto + (Frame::childFrame): ditto + (Frame::findFrame): ditto + (Frame::setZoomFactor): ditto + (Frame::frames): ditto + (Frame::connectChild): ditto + (Frame::disconnectChild): ditto + (Frame::endAllLifeSupport): Method that, in debug mode, will clear + all life suppor timers so the Frame exit counter works. + (Frame::keepAlive): In debug mode, add proper support for + endAllLifeSupport + (Frame::slotEndLifeSupport): ditto + (Frame::setPolicyBaseURL): Update for the fact that ChildFrame::m_frame is now + a RefPtr. + (Frame::treeNode): New helper method, get the FrameTreeNode class that implements + frame tree traversal. + (Frame::nextSibling): Simple wrapper that calls through to treeNode(). + (Frame::previousSibling): ditto + (Frame::firstChild): ditto + (Frame::lastChild): ditto + (Frame::childCount): ditto + (Frame::appendChild): ditto + (Frame::removeChild): ditto + (Frame::detachFromView): no-op, just a virtual base for the MAcFrame method. + * page/Frame.h: + * page/FramePrivate.h: + (FramePrivate::FramePrivate): Add FrameTreeNode member. + * page/FrameTreeNode.cpp: Added. + (FrameTreeNode::~FrameTreeNode): detach all children from their view + (FrameTreeNode::appendChild): implemented + (FrameTreeNode::removeChild): implemented - make sure to detach child + from its view. + * page/FrameTreeNode.h: Added. + (FrameTreeNode::FrameTreeNode): New; initialize fields tht need it. + (FrameTreeNode::nextSibling): Trivial inline. + (FrameTreeNode::previousSibling): ditto + (FrameTreeNode::firstChild): ditto + (FrameTreeNode::lastChild): ditto + (FrameTreeNode::childCount): ditto + * page/Page.cpp: Added. + (Page::Page): Initialize mainFrame and bump pageCount appropriately. + (Page::~Page): Detach main frame from view, handle ending life support + when last frame is destroyed. + * page/Page.h: Added. + (Page::mainFrame): Trivial inline. + * WebCore.xcodeproj/project.pbxproj: Add new files. + +2006-01-22 Darin Adler <darin@apple.com> + + * Info.plist: Updated Apple copyright date. Need to update others + too at some point. + + * WebCore-svg.exp: Removed unused empty file. + +2006-01-22 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Make <animateColor> work again (broke during DOM merger). + http://bugs.webkit.org/show_bug.cgi?id=5964 + + No layout test possible. + + * WebCore.xcodeproj/project.pbxproj: + * kcanvas/device/quartz/KCanvasItemQuartz.h: + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (KCanvasItemQuartz::getAbsoluteRepaintRect): moved to .cpp file + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::implicitClose): start svg animations + (WebCore::DocumentImpl::svgExtensions): svg document extensions + (WebCore::DocumentImpl::accessSVGExtensions): svg doc extensions + * khtml/xml/DocumentImpl.h: + * ksvg2/css/SVGCSSStyleSelector.cpp: + (KDOM::CSSStyleSelector::applySVGProperty): + * ksvg2/svg/SVGAElementImpl.cpp: + (SVGAElementImpl::defaultEventHandler): cleanup + * ksvg2/svg/SVGAnimateColorElementImpl.cpp: + (SVGAnimateColorElementImpl::handleTimerEvent): update css lookup + * ksvg2/svg/SVGAnimateElementImpl.cpp: + (SVGAnimateElementImpl::handleTimerEvent): fix css property lookup + * ksvg2/svg/SVGAnimateTransformElementImpl.cpp: + (SVGAnimateTransformElementImpl::handleTimerEvent): + * ksvg2/svg/SVGAnimationElementImpl.cpp: + (SVGAnimationElementImpl::closeRenderer): use doc extensions + (SVGAnimationElementImpl::targetAttribute): fix css properties + (SVGAnimationElementImpl::setTargetAttribute): fix css properties + * ksvg2/svg/SVGDocumentImpl.cpp: + (SVGDocumentImpl::svgView): remove unnecessary static cast + (SVGDocumentImpl::executeScripts): + * ksvg2/svg/SVGDocumentImpl.h: + * ksvg2/svg/SVGElementImpl.cpp: + (WebCore::SVGElementImpl::addSVGEventListener): helper function + (WebCore::SVGElementImpl::parseMappedAttribute): use helper + * ksvg2/svg/SVGElementImpl.h: + * ksvg2/svg/SVGGElementImpl.cpp: + * ksvg2/svg/SVGGElementImpl.h: + * ksvg2/svg/SVGSVGElementImpl.cpp: + (WebCore::SVGSVGElementImpl::SVGSVGElementImpl): + (WebCore::SVGSVGElementImpl::~SVGSVGElementImpl): + (WebCore::SVGSVGElementImpl::addSVGWindowEventListner): helper + (WebCore::SVGSVGElementImpl::parseMappedAttribute): use helper + * ksvg2/svg/SVGSVGElementImpl.h: + * ksvg2/svg/SVGSetElementImpl.cpp: + (SVGSetElementImpl::handleTimerEvent): use doc extensions + * ksvg2/svg/SVGStyledElementImpl.h: + * page/Frame.cpp: + (Frame::pauseTimeouts): pause svg animation + (Frame::resumeTimeouts): resume svg animation + * rendering/render_canvas.h: + +2006-01-22 Darin Adler <darin@apple.com> + + - fix deployment builds + + * rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): Init bool. + +2006-01-22 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5731 + Form element as display table-cell hangs Safari (will eventually crash) + + Test: fast/table/form-with-table-style.html + + Hang was caused by the fact that RenderContainer has code to wrap table + styled elements in appropriate anonymous table elements, but the table + elements themselves have a special case for form elements that causes them + to call through, which led to infinite recursion as RenderContainer kept + making new tables which kept calling through to RenderContainer::addChild. + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): Improved logic about wrapping children + in anonymous table sections in the following ways: (1) Do wrap a form + properly it has a table display style (such as table-cell or table-row). + (2) When an item has a particular display style, check that it has the + right type of render object before casting it to that type. Also + restructured the code a little to make it slightly more readable. + (WebCore::RenderTable::layout): Added a FIXME about forms that have a + display style that makes it a table section, since they will be skipped + here in the loop to lay children out. + (WebCore::RenderTable::recalcSections): Added checks similar to the ones + in addChild above. + + * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild): + Moved form tag logic inside render object type check so that a table row + that happens to be a form element won't be affected by the special form + tag logic. Also added an explicit check for the table-cell style so we + will wrap it in a row rather than just putting the form at this level. + + * rendering/RenderTableRow.h: Removed removeChildNode and dump functions + that just called through to the base class. + * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild): + Moved form tag logic inside render object type check so that a table cell + that happens to be a form element won't be affected by the special form + tag logic. Removed unnecessary null check of section() at end of function. + + * rendering/RenderTableCol.h: Removed addChild because all it did was + assert (incorrectly) and then call through to the base class. Changed + _span to be m_span. + * rendering/RenderTableCol.cpp: Removed addChild function. Updated for + change in name of m_span field. + +2006-01-22 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=3518 + REGRESSION (312-412): mojibake left behind when scrolling a clipped <select> + + * kwq/KWQListBox.mm: (QListBox::QListBox): Call setCopiesOnScroll:NO. + * kwq/KWQTextArea.mm: (-[KWQTextArea initWithFrame:]): Ditto. + +2006-01-22 David Kilzer <ddkilzer@kilzer.net> + + Reviewed by Maciej. + + - fix for http://bugs.webkit.org/show_bug.cgi?id=5656 + REGRESSION: Buttons on Yahoo! Mail misplaced in ToT + <rdar://problem/4404335> + Tests whether white-space mode on buttons is inheritied and not forced. + Originally broken in Subversion revision r10909. + + * css/html4.css: Remove default white-space value for <button> tag to + allow it to be inherited. + * rendering/render_theme_mac.mm: + (khtml::RenderThemeMac::adjustButtonStyle): Fix misleading comment. + + * css/UserAgentStyleSheets.cpp: Touched this file to make the rebuild + of html4.css work (shouldn't have to do this). + +2006-01-22 Darin Adler <darin@apple.com> + + * css/make-css-file-arrays.pl: Fix typo that was resulting in a bunch + of whitespace that was supposed to go into a derived source file going + to the console instead. + +2006-01-22 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + SVG needs to support "evt" instead of "event" in event handlers. + http://bugs.webkit.org/show_bug.cgi?id=5874 + + Test: svg/custom/evt-onload.svg + + * WebCore.xcodeproj/project.pbxproj: added new classes + * khtml/ecma/kjs_events.cpp: + * khtml/ecma/kjs_events.h: + * khtml/ecma/kjs_proxy.cpp: + (WebCore::KJSProxyImpl::createHTMLEventHandler): simplified + (WebCore::KJSProxyImpl::createSVGEventHandler): new + * khtml/ecma/kjs_proxy.h: + * khtml/ecma/kjs_window.cpp: + * khtml/ecma/kjs_window.h: + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::createHTMLEventListener): simplified + (WebCore::DocumentImpl::createSVGEventListener): new + * khtml/xml/DocumentImpl.h: + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::dispatchEvent): use RefPtr + * ksvg2/events/JSSVGLazyEventListener.cpp: Added. + (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener): added. + (WebCore::JSSVGLazyEventListener::eventParameterName): added. + * ksvg2/events/JSSVGLazyEventListener.h: Added. + * ksvg2/svg/SVGElementImpl.cpp: + (SVGElementImpl::parseMappedAttribute): use new SVG event handler + * ksvg2/svg/SVGSVGElementImpl.cpp: + (SVGSVGElementImpl::parseMappedAttribute): use new SVG event handler + * page/Frame.cpp: updated KJSProxyImpl namespace + * page/Frame.h: updated KJSProxyImpl namespace + * page/FramePrivate.h: updated KJSProxyImpl namespace + +2006-01-22 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=3508 + REGRESSION (125-412): problem with negative margin-top and position: absolute (vre.aitg.com) + <rdar://problem/4093277> REGRESSION (125-312): layout problem at vre.aitg.com (3508) + + Test: fast/css/position-negative-top-margin.html + + * rendering/RenderBlock.cpp: (WebCore::RenderBlock::adjustPositionedBlock): + Fixed two different problems that contributed to the bug: (1) Added a call to calcVerticalMargins + otherwise the margin will always be 0. (2) Corrected logic for the negative margin case, which + was comparing a negative margin-top to a number representing the absolute value of the margin. + +2006-01-22 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=3702 + Web page is laid out incorrectly after printing with print-specific style sheet. + <rdar://problem/3706259> Web page distorts after printing with print-specific style sheet (3702) + + Also replaced tabs with spaces in the changed files. + + Test cases: + * fast/table/append-cells.html + * fast/table/append-cells2.html + * fast/table/remove-td-display-none.html + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::recalcSections): Shrink columns and columnPos to the + actual number of columns. + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::numColumns): New function. + (WebCore::RenderTableSection::dump): Use gridRows instead of grid.size() for row count, + preventing crashes. + + * rendering/RenderTableSection.h: Added numColumns() and a comment about cCol/cRow. + +2006-01-22 Darin Adler <darin@apple.com> + + Reviewed by Anders. + + - http://bugs.webkit.org/show_bug.cgi?id=6705 + use PassRefPtr in more of the basic DOM operations + + Once we do the same with cloneNode, I believe we'll fix one of our P1 bugs, + but cloneNode was a little too much to do without doing this first pass. + + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::childNodes): Updated for parameter changes. + (WebCore::NodeImpl::insertBefore): Ditto. + (WebCore::NodeImpl::replaceChild): Ditto. + (WebCore::NodeImpl::removeChild): Ditto. + (WebCore::NodeImpl::appendChild): Ditto. + (WebCore::NodeImpl::addChild): Ditto. + (WebCore::NodeImpl::addEventListener): Ditto. + (WebCore::NodeImpl::setHTMLEventListener): Ditto. + (WebCore::NodeImpl::isDefaultNamespace): Updated for changed name of ancestorElement. + (WebCore::NodeImpl::lookupPrefix): Ditto. + (WebCore::NodeImpl::lookupNamespaceURI): Ditto. + (WebCore::NodeImpl::lookupNamespacePrefix): Ditto. + (WebCore::NodeImpl::ancestorElement): Changed name from getAncestorElement. + * khtml/xml/NodeImpl.h: Changed most functions where it makes sense to take and return + PassRefPtr instead of raw pointers. Even non-obvious cases like appendChild, where the + return value has to be PassRefPtr only because it might be removed when the JavaScript + triggered by the DOM mutation event runs (normally, there's no need to return an "owning" + pointer because the tree now owns the newly-inserted node). Made the ancestorElement + function private. + + * khtml/xml/ContainerNodeImpl.cpp: + (WebCore::ContainerNodeImpl::ContainerNodeImpl): Updated for changes from + _first to m_firstChild and _last to m_lastChild. + (WebCore::ContainerNodeImpl::removeAllChildren): Ditto. + (WebCore::ContainerNodeImpl::firstChild): Ditto. + (WebCore::ContainerNodeImpl::lastChild): Ditto. + (WebCore::ContainerNodeImpl::insertBefore): Updated for parameter changes. + (WebCore::ContainerNodeImpl::replaceChild): Ditto. + (WebCore::ContainerNodeImpl::willRemove): Updated for m_lastChild. + (WebCore::ContainerNodeImpl::removeChild): Updated for parameter changes. + (WebCore::ContainerNodeImpl::removeChildren): Updated for m_first/lastChild. + (WebCore::ContainerNodeImpl::appendChild): Updated for parameter changes. + (WebCore::ContainerNodeImpl::hasChildNodes): Updated for m_firstChild. + (WebCore::ContainerNodeImpl::addChild): Updated for parameter changes. + (WebCore::ContainerNodeImpl::attach): Updated for m_firstChild. + (WebCore::ContainerNodeImpl::detach): Ditto. + (WebCore::ContainerNodeImpl::insertedIntoDocument): Ditto. + (WebCore::ContainerNodeImpl::removedFromDocument): Ditto. + (WebCore::ContainerNodeImpl::insertedIntoTree): Ditto. + (WebCore::ContainerNodeImpl::removedFromTree): Ditto. + * khtml/xml/ContainerNodeImpl.h: Removed unused checkSameDocument and checkIsChild. + Made more things private, updated parameters for NodeImpl functions. + + * khtml/html/HTMLSelectElementImpl.cpp: + (DOM::HTMLSelectElementImpl::insertBefore): Ditto. + (DOM::HTMLSelectElementImpl::replaceChild): Ditto. + (DOM::HTMLSelectElementImpl::removeChild): Ditto. + (DOM::HTMLSelectElementImpl::appendChild): Ditto. + (DOM::HTMLSelectElementImpl::addChild): Ditto. + * khtml/html/HTMLSelectElementImpl.h: Ditto. + + * khtml/html/HTMLOptGroupElementImpl.cpp: + (WebCore::HTMLOptGroupElementImpl::insertBefore): Updated for parameter type change. + Also changed to look at return value, not exception code, to check for success. + (WebCore::HTMLOptGroupElementImpl::replaceChild): Ditto. + (WebCore::HTMLOptGroupElementImpl::removeChild): Ditto. + (WebCore::HTMLOptGroupElementImpl::appendChild): Ditto. + (WebCore::HTMLOptGroupElementImpl::addChild): Ditto. + * khtml/html/HTMLOptGroupElementImpl.h: Ditto. + + * WebCore+SVG/kdom.h: Renamed enum from ExceptionCode to ExceptionCodes + to avoid conflict with a typedef ExceptionCode I added. + + * bindings/objc/DOM.mm: + (-[DOMNode insertBefore::]): Added get() call since return value is a PassRefPtr. + (-[DOMNode replaceChild::]): Ditto. + (-[DOMNode removeChild:]): Ditto. + (-[DOMNode appendChild:]): Ditto. + + * khtml/ecma/kjs_dom.h: Changed getDOMNode to take PassRefPtr. + * khtml/ecma/kjs_dom.cpp: (KJS::getDOMNode): Changed to take PassRefPtr. + + * khtml/html/HTMLElementImpl.cpp: Added dom2_events.h include, now needed. + Re-sorted includes. + * ksvg2/svg/SVGElementImpl.cpp: Ditto. + + * khtml/html/html_documentimpl.cpp: (WebCore::HTMLDocumentImpl::documentElement): + Changed access to now-private data member _first to equivalent inline function + fastFirstChild(). + * khtml/xml/DocumentImpl.cpp: (WebCore::DocumentImpl::recalcStyle): Ditto. + * khtml/xml/dom_elementimpl.cpp: (WebCore::ElementImpl::recalcStyle): Ditto. + + * khtml/html/html_tableimpl.cpp: + (WebCore::HTMLTableElementImpl::setCaption): Updated to work with new replaceChild + that returns PassRefPtr. + (WebCore::HTMLTableElementImpl::setTHead): Ditto. + (WebCore::HTMLTableElementImpl::setTFoot): Ditto. + (WebCore::HTMLTableElementImpl::setTBody): Ditto. + (WebCore::HTMLTableElementImpl::addChild): Updated for parameter type change. + (WebCore::HTMLTableSectionElementImpl::addChild): Ditto. + (WebCore::HTMLTableRowElementImpl::addChild): Ditto. + * khtml/html/html_tableimpl.h: Ditto. + + * khtml/html/htmlparser.cpp: (HTMLParser::handleResidualStyleCloseTagAcrossBlocks): + Removed an unneeded explicit call to removeChild. appendChild already takes care of + removing the child from its own location. This avoids the fact that removeChild was + removing the parent, the only thing keeping the node alive. This is sort of the + "flip side" of our removeChild leaks -- code that depended on the behavior that + caused the leaks. + + * khtml/xml/xml_tokenizer.cpp: (WebCore::XMLTokenizer::startElementNs): + Removed unneeded isHTMLElement() calls from before the "qualified name" change. + +2006-01-22 Eric Seidel <eseidel@apple.com> + + Rubber-stamped by anders. + + Remove WebCore-no-SVG target and wrap files in #if SVG_SUPPORT + http://bugs.webkit.org/show_bug.cgi?id=6633 + +2006-01-22 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=6642 + Split XMLHttpRequest class into JS binding and implementation + + * WebCore.xcodeproj/project.pbxproj: Adjusted for moved and renamed files. + New group "xml" to match directory structure. + * xml: Added. + * khtml/ecma/JSXMLHttpRequest.cpp: Added. + * khtml/ecma/JSXMLHttpRequest.h: Added. + * khtml/ecma/xmlhttprequest.cpp: Removed. + * khtml/ecma/xmlhttprequest.h: Removed. + * xml/xmlhttprequest.cpp: Added. + * xml/xmlhttprequest.h: Added. + * khtml/ecma/kjs_binding.cpp: + (KJS::jsStringOrUndefined): Moved from kjs_events.cpp. + * khtml/ecma/kjs_binding.h: Added prototype for jsStringOrUndefined(). + * khtml/ecma/kjs_events.cpp: Removed jsStringOrUndefined(). + * khtml/ecma/kjs_window.cpp: + (KJS::Window::getValueProperty): Use new class name for JSXMLHttpRequest. + * kwq/KWQSlot.cpp: XMLHttpRequestQObject is now in WebCore, not KJS. + * page/Frame.cpp: + (Frame::stopLoading): XMLHttpRequest is now in WebCore, not KJS. + +2006-01-22 Alexander Kellett <lypanov@kde.org> + + Reviewed by eseidel. Landed by eseidel. + + Add support for custom fill/strokes on text. + http://bugs.webkit.org/show_bug.cgi?id=6448 + + 40+ layout tests already cover this. + + * kcanvas/RenderSVGText.cpp: + (RenderSVGText::paint): use new painter setup/teardown infrastructure + * kcanvas/device/KRenderingPaintServer.h: + (KRenderingPaintServer::KRenderingPaintServer): + (KRenderingPaintServer::setup): + (KRenderingPaintServer::render): + (KRenderingPaintServer::teardown): + (KRenderingPaintServer::isPaintingText): + (KRenderingPaintServer::setPaintingText): + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + (setupShadingWithStyle): + (renderShadingWithStyle): + (teardownShadingWithStyle): + (KRenderingPaintServerLinearGradientQuartz::draw): + (KRenderingPaintServerLinearGradientQuartz::setup): + (KRenderingPaintServerLinearGradientQuartz::render): + (KRenderingPaintServerLinearGradientQuartz::teardown): + (KRenderingPaintServerRadialGradientQuartz::draw): + (KRenderingPaintServerRadialGradientQuartz::setup): + (KRenderingPaintServerRadialGradientQuartz::render): + (KRenderingPaintServerRadialGradientQuartz::teardown): + * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: + (KRenderingPaintServerPatternQuartz::KRenderingPaintServerPatternQuartz): + * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: + (KRenderingPaintServerQuartzHelper::strokePath): + (KRenderingPaintServerQuartzHelper::clipToStrokePath): + (KRenderingPaintServerQuartzHelper::fillPath): + (KRenderingPaintServerQuartzHelper::clipToFillPath): + (KRenderingPaintServerSolidQuartz::draw): + (KRenderingPaintServerSolidQuartz::setup): + (KRenderingPaintServerSolidQuartz::render): + (KRenderingPaintServerSolidQuartz::teardown): + (KRenderingPaintServerPatternQuartz::draw): + (KRenderingPaintServerPatternQuartz::setup): + (KRenderingPaintServerPatternQuartz::render): + (KRenderingPaintServerPatternQuartz::teardown): + * kcanvas/device/quartz/QuartzSupport.h: fix prototype + * kcanvas/device/quartz/QuartzSupport.mm: + (applyStrokeStyleToContext): + * ksvg2/misc/KCanvasRenderingStyle.cpp: + (KSVGPainterFactory::fillPaintServer): + (KSVGPainterFactory::strokePaintServer): + (KSVGPainterFactory::cssPrimitiveToLength): + (KSVGPainterFactory::strokePainter): + (KSVGPainterFactory::fillPainter): + * ksvg2/misc/KCanvasRenderingStyle.h: + +2006-01-21 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=3509 + REGRESSION(125-412) Portion of nested table is not painted correctly on cafepress site + <rdar://problem/4039615> REGRESSION(125-188) Portion of nested table is not painted correctly on cafepress site + + * manual-tests/bugzilla-3509.html: Added. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlockChildren): Force repaint if the child didn't move but + didn't repaint correctly during layout because it was not at its final position then. + +2006-01-21 Anders Carlsson <andersca@mac.com> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=3869 + Should use HTML Image element instead of JS Image object + <rdar://problem/3852987> JavaScript image.complete property never returns true (3869) + + * khtml/ecma/kjs_events.cpp: + (KJS::ClipboardProtoFunc::callAsFunction): + Don't check Image object. Instead, if the element passed in + is an image element which isn't in any document, use its pixmap. + + * khtml/ecma/kjs_html.cpp: + (KJS::HTMLElement::imageGetter): + Add complete. + + (KJS::ImageConstructorImp::construct): + Take a QPixmap instead of an Image. + + (KJS::KJS::Context2DFunction::callAsFunction): + Remove usage of Image and use HTMLImageElementImpl instead. + + * khtml/ecma/kjs_html.h: + Remove Image class. + + (KJS::HTMLElement::): + Add ImgComplete. + + * khtml/html/html_imageimpl.cpp: + (WebCore::HTMLImageElementImpl::width): + (WebCore::HTMLImageElementImpl::height): + If the element has no renderer but its image size is known + return that instead. + + (WebCore::HTMLImageElementImpl::complete): + New function, returns true if an image has finished loading. + + * khtml/html/html_imageimpl.h: + Add complete. + + * manual-tests/drag-image.html: Added. + +2006-01-21 Anders Carlsson <andersca@mac.com> + + Reviewed by Darin. + + - fixes http://bugs.webkit.org/show_bug.cgi?id=6691 + TinyMCE: strikethrough unimplemented + + * khtml/editing/jsediting.cpp: + Add support for the "Strikethrough" command. + +2006-01-21 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/dynamic/hovered-detach.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5983 + REGRESSION: onmouseover-powered navbar at MacNN renders incorrectly + <rdar://problem/4403730> REGRESSION: onmouseover powered navbar renders incorrectly at macnn.com (5983) + + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::detach): Set m_hovered to false and set the document's + hoverNode to an hovered ancestor that still has a renderer. + * rendering/render_layer.cpp: Changed static method hoverAncestor() into a + RenderObject instance method. + (WebCore::commonAncestor): + (WebCore::RenderLayer::updateHoverActiveState): + * rendering/render_object.cpp: Ditto. + (WebCore::RenderObject::hoverAncestor) + * rendering/render_object.h: Ditto. + +2006-01-20 David Hyatt <hyatt@apple.com> + + Fix for bug 6666, pseudo-element rules incorrectly displayed + in Web Inspector. + + Reviewed by darin + + Added fast/inspector/matchedrules.html as test case. + + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::matchRulesForList): + +2006-01-20 Timothy Hatcher <timothy@apple.com> + + Reviewed by John. + + Removes code that is no longer needed with the new Web Inspector. + + * bridge/mac/WebCoreFrameBridge.h: removes the WebCoreDOMTreeCopier protocol. + * bridge/mac/WebCoreFrameBridge.mm: removes copyDOMNode:copier: + +2006-01-21 Anders Carlsson <andersca@mac.com> + + Reviewed by David Hyatt. + + Rename Frame::xmlDocImpl => Frame::document and + Frame::replaceDocImpl => Frame::setDocument + + * bridge/mac/MacFrame.mm: + (MacFrame::findString): + (MacFrame::advanceToNextMisspelling): + (MacFrame::nextKeyViewInFrame): + (MacFrame::nextKeyViewInFrameHierarchy): + (MacFrame::keyEvent): + (MacFrame::dispatchCPPEvent): + (MacFrame::setDisplaysWithFocusAttributes): + (MacFrame::bodyBackgroundColor): + (MacFrame::markMisspellings): + (MacFrame::respondToChangedSelection): + (MacFrame::setMarkedTextRange): + (MacFrame::dashboardRegionsDictionary): + (MacFrame::shouldClose): + * bridge/mac/WebCoreFrameBridge.mm: + (updateRenderingForBindings): + (frameHasSelection): + (-[WebCoreFrameBridge addData:]): + (-[WebCoreFrameBridge didNotOpenURL:pageCache:]): + (-[WebCoreFrameBridge saveDocumentState]): + (-[WebCoreFrameBridge restoreDocumentState]): + (-[WebCoreFrameBridge saveDocumentToPageCache]): + (-[WebCoreFrameBridge _documentTypeString]): + (-[WebCoreFrameBridge deselectAll]): + (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): + (nowPrinting): + (-[WebCoreFrameBridge _setupRootForPrinting:]): + (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]): + (-[WebCoreFrameBridge copyDOMTree:]): + (-[WebCoreFrameBridge URLWithAttributeString:]): + (-[WebCoreFrameBridge unmarkAllMisspellings]): + (-[WebCoreFrameBridge nextKeyView]): + (-[WebCoreFrameBridge previousKeyView]): + (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]): + (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]): + (-[WebCoreFrameBridge DOMDocument]): + (-[WebCoreFrameBridge baseURL]): + (-[WebCoreFrameBridge domain]): + (-[WebCoreFrameBridge numPendingOrLoadingRequests]): + (-[WebCoreFrameBridge doneProcessingData]): + (-[WebCoreFrameBridge selectionColor]): + (-[WebCoreFrameBridge accessibilityTree]): + (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]): + (-[WebCoreFrameBridge convertToNSRange:]): + (-[WebCoreFrameBridge convertToDOMRange:]): + (-[WebCoreFrameBridge replaceMarkedTextWithText:]): + (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): + (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]): + (-[WebCoreFrameBridge documentFragmentWithText:]): + (-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]): + (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): + (-[WebCoreFrameBridge insertLineBreak]): + (-[WebCoreFrameBridge insertParagraphSeparator]): + (-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]): + (-[WebCoreFrameBridge insertText:selectInsertedText:]): + (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]): + (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]): + (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:]): + (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:]): + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::HTMLDocument::putValueProperty): + * khtml/ecma/kjs_window.cpp: + (KJS::createNewWindow): + (KJS::Window::getValueProperty): + (KJS::Window::namedItemGetter): + (KJS::Window::getOwnPropertySlot): + (KJS::Window::put): + (KJS::Window::isSafeScript): + (KJS::Window::setListener): + (KJS::Window::getListener): + (KJS::WindowFunc::callAsFunction): + (KJS::Window::updateLayout): + (KJS::ScheduledAction::execute): + (KJS::Location::put): + (KJS::LocationFunc::callAsFunction): + * khtml/ecma/xmlhttprequest.cpp: + (KJS::XMLHttpRequestProtoFunc::callAsFunction): + * khtml/editing/jsediting.cpp: + * khtml/html/html_baseimpl.cpp: + (WebCore::HTMLFrameElementImpl::contentDocument): + * khtml/html/htmltokenizer.cpp: + (WebCore::HTMLTokenizer::scriptExecution): + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::parentDocument): + * khtml/xsl/xslt_processorimpl.cpp: + (DOM::XSLTProcessorImpl::createDocumentFromSource): + * kwq/KWQAccObject.mm: + (-[KWQAccObject textUnderElement]): + (-[KWQAccObject doAXTextMarkerForPosition:]): + (-[KWQAccObject rendererForView:]): + * kwq/KWQKJavaAppletWidget.mm: + (KJavaAppletWidget::KJavaAppletWidget): + * page/Frame.cpp: + (Frame::document): + (Frame::setDocument): + (Frame::setFocusNodeIfNeeded): + (Frame::isPointInsideSelection): + (Frame::computeAndSetTypingStyle): + (Frame::applyStyle): + (Frame::applyParagraphStyle): + (Frame::selectionComputedStyle): + (Frame::selectFrameElementInParentIfFullySelected): + (Frame::renderer): + (Frame::scrollOverflow): + (Frame::paint): + (Frame::adjustPageHeight): + (Frame::updatePolicyBaseURL): + (Frame::setPolicyBaseURL): + (Frame::forceLayoutWithPageWidthRange): + (Frame::sendScrollEvent): + (Frame::clearTimers): + (Frame::styleForSelectionStart): + (Frame::setSelectionFromNone): + (Frame::setWindowHasFocus): + (Frame::backslashAsCurrencySymbol): + * page/Frame.h: + * page/FrameView.cpp: + (FrameView::~FrameView): + (FrameView::clear): + (FrameView::resizeEvent): + (FrameView::adjustViewSize): + (FrameView::layout): + (FrameView::updateDashboardRegions): + (FrameView::viewportMousePressEvent): + (FrameView::viewportMouseDoubleClickEvent): + (FrameView::viewportMouseMoveEvent): + (FrameView::viewportMouseReleaseEvent): + (FrameView::keyPressEvent): + (FrameView::dispatchDragEvent): + (FrameView::updateDragAndDrop): + (FrameView::focusNextPrevNode): + (FrameView::dispatchMouseEvent): + (FrameView::viewportWheelEvent): + (FrameView::timerEvent): + (FrameView::scheduleRelayout): + (FrameView::unscheduleRelayout): + * rendering/render_frames.cpp: + (WebCore::RenderPartObject::updateWidget): + +2006-01-20 Chris Petersen <cpetersen@apple.com> + + Reviewed by eseidel. + + Build fix. + + * khtml/xml/DocumentImpl.cpp: + +2006-01-20 Eric Seidel <eseidel@apple.com> + + Reviewed by beth. + + Unbreak build (partial commit of animation patch) + + * khtml/xml/DocumentImpl.cpp: + (WebCore::DocumentImpl::implicitClose): + * khtml/xml/DocumentImpl.h: + +2006-01-20 Eric Seidel <eseidel@apple.com> + + Reviewed by beth. + + Missed the kcanvas directory in my previous commit. + http://bugs.webkit.org/show_bug.cgi?id=6683 + + * kcanvas/KCanvasContainer.h: + * kcanvas/RenderForeignObject.h: + * kcanvas/RenderSVGText.h: + +2006-01-20 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/overflow/image-selection-highlight.html + + Reviewed by Darin, committed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6673 + Selection highlight doesn't scroll along with an image contained in an overflow:scroll block + + * rendering/render_replaced.cpp: + (WebCore::RenderReplaced::selectionRect): Subtract the containing block's scroll offset. + +2006-01-19 Eric Seidel <eseidel@apple.com> + + Reviewed by beth. + + Break classes in render_table out into separate files. + Move render_block to RenderBlock. + Move render_container to RenderContainer. + http://bugs.webkit.org/show_bug.cgi?id=6683 + + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/MacFrame.mm: + * kcanvas/KCanvasContainer.h: + * kcanvas/RenderForeignObject.h: + * kcanvas/RenderSVGText.h: + * khtml/editing/visible_units.cpp: + * khtml/html/html_tableimpl.cpp: + (WebCore::HTMLTableElementImpl::insertRow): + * khtml/xml/dom2_rangeimpl.cpp: + * khtml/xml/dom_position.cpp: + * kwq/KWQRenderTreeDebug.cpp: + * page/Frame.cpp: + * rendering/InlineTextBox.cpp: + * rendering/RenderBlock.cpp: Added. + * rendering/RenderBlock.h: Added. + * rendering/RenderContainer.cpp: Added. + (WebCore::RenderContainer::addChild): + * rendering/RenderContainer.h: Added. + * rendering/RenderTable.cpp: Added. + (WebCore::RenderTable::RenderTable): + (WebCore::RenderTable::updateFirstLetter): + * rendering/RenderTable.h: Added. + * rendering/RenderTableCell.cpp: Added. + (WebCore::RenderTableCell::RenderTableCell): + (WebCore::RenderTableCell::updateFromElement): + * rendering/RenderTableCell.h: Added. + * rendering/RenderTableCol.cpp: Added. + (WebCore::RenderTableCol::RenderTableCol): + (WebCore::RenderTableCol::updateFromElement): + * rendering/RenderTableCol.h: Added. + * rendering/RenderTableRow.cpp: Added. + (WebCore::RenderTableRow::RenderTableRow): + * rendering/RenderTableRow.h: Added. + * rendering/RenderTableSection.cpp: Added. + (WebCore::RenderTableSection::RenderTableSection): + * rendering/RenderTableSection.h: Added. + * rendering/RenderText.cpp: + * rendering/bidi.cpp: + * rendering/render_block.cpp: Removed. + * rendering/render_block.h: Removed. + * rendering/render_box.cpp: + * rendering/render_canvas.h: + * rendering/render_container.cpp: Removed. + * rendering/render_container.h: Removed. + * rendering/render_flexbox.h: + * rendering/render_flow.cpp: + * rendering/render_flow.h: + * rendering/render_form.h: + * rendering/render_frames.h: + * rendering/render_inline.cpp: + * rendering/render_inline.h: + * rendering/render_line.cpp: + * rendering/render_list.h: + * rendering/render_object.cpp: + * rendering/render_replaced.h: + * rendering/render_table.cpp: Removed. + * rendering/render_table.h: Removed. + * rendering/table_layout.cpp: + +2006-01-19 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + <embed> and <object> tags show up blank when going back/forward. + http://bugs.webkit.org/show_bug.cgi?id=6679 + + No test currently possible. + + * page/Frame.cpp: + (Frame::canCachePage): + +2006-01-19 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Split html_miscimpl.* into separate files and move html_elementimpl + http://bugs.webkit.org/show_bug.cgi?id=6670 + + * WebCore.xcodeproj/project.pbxproj: + * bindings/objc/DOM.mm: + * bindings/objc/DOMHTML.mm: + * bridge/mac/WebCoreFrameBridge.mm: + * css/css_valueimpl.cpp: + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * khtml/ecma/kjs_dom.cpp: + * khtml/ecma/kjs_html.cpp: + * khtml/editing/apply_style_command.cpp: + * khtml/editing/markup.cpp: + * khtml/editing/replace_selection_command.cpp: + * khtml/html/HTMLBaseFontElementImpl.cpp: Added. + * khtml/html/HTMLBaseFontElementImpl.h: Added. + * khtml/html/HTMLButtonElementImpl.cpp: + * khtml/html/HTMLCollectionImpl.cpp: Added. + (WebCore::HTMLCollectionImpl::traverseNextItem): + * khtml/html/HTMLCollectionImpl.h: Added. + * khtml/html/HTMLElementImpl.cpp: Added. + * khtml/html/HTMLElementImpl.h: Added. + * khtml/html/HTMLFieldSetElementImpl.cpp: + * khtml/html/HTMLFormCollectionImpl.cpp: Added. + * khtml/html/HTMLFormCollectionImpl.h: Added. + * khtml/html/HTMLFormElementImpl.cpp: + * khtml/html/HTMLFormElementImpl.h: + * khtml/html/HTMLGenericFormElementImpl.cpp: + * khtml/html/HTMLGenericFormElementImpl.h: + * khtml/html/HTMLInputElementImpl.cpp: + * khtml/html/HTMLIsIndexElementImpl.cpp: + * khtml/html/HTMLLabelElementImpl.h: + * khtml/html/HTMLLegendElementImpl.cpp: + * khtml/html/HTMLNameCollectionImpl.cpp: Added. + * khtml/html/HTMLNameCollectionImpl.h: Added. + * khtml/html/HTMLOptGroupElementImpl.cpp: + * khtml/html/HTMLOptGroupElementImpl.h: + * khtml/html/HTMLOptionElementImpl.h: + * khtml/html/HTMLSelectElementImpl.cpp: + * khtml/html/HTMLTextAreaElementImpl.cpp: + * khtml/html/html_baseimpl.cpp: + * khtml/html/html_baseimpl.h: + * khtml/html/html_blockimpl.cpp: + * khtml/html/html_blockimpl.h: + * khtml/html/html_canvasimpl.cpp: + * khtml/html/html_documentimpl.cpp: + * khtml/html/html_documentimpl.h: + * khtml/html/html_elementimpl.cpp: Removed. + * khtml/html/html_elementimpl.h: Removed. + * khtml/html/html_headimpl.cpp: + (WebCore::HTMLLinkElementImpl::setStyleSheet): + (WebCore::HTMLLinkElementImpl::isLoading): + * khtml/html/html_headimpl.h: + * khtml/html/html_imageimpl.cpp: + * khtml/html/html_inlineimpl.cpp: + * khtml/html/html_inlineimpl.h: + * khtml/html/html_listimpl.h: + * khtml/html/html_miscimpl.cpp: Removed. + * khtml/html/html_miscimpl.h: Removed. + * khtml/html/html_objectimpl.cpp: + * khtml/html/html_tableimpl.h: + * khtml/html/htmlfactory.cpp: + * khtml/html/htmlparser.cpp: + * khtml/html/htmltokenizer.cpp: + (WebCore::HTMLTokenizer::scriptHandler): + (WebCore::HTMLTokenizer::scriptExecution): + * khtml/xml/DocumentImpl.cpp: + * khtml/xml/dom2_rangeimpl.cpp: + * khtml/xml/dom_elementimpl.cpp: + * kwq/KWQAccObject.mm: + * loader/loader.cpp: + * page/Frame.cpp: + (Frame::restoreURL): + (Frame::stopLoading): + (Frame::receivedFirstData): + (Frame::gotoAnchor): + (Frame::requestObject): + (Frame::processObjectRequest): + (Frame::submitForm): + (Frame::slotParentCompleted): + (Frame::findFrame): + (Frame::executeScript): + * page/FrameView.cpp: + (FrameView::useSlowRepaints): + * rendering/render_applet.cpp: + * rendering/render_applet.h: + * rendering/render_box.cpp: + (WebCore::RenderBox::contentWidth): + (WebCore::RenderBox::paintRootBoxDecorations): + (WebCore::RenderBox::paintBoxDecorations): + (WebCore::RenderBox::getClipRect): + (WebCore::RenderBox::calcWidth): + (WebCore::RenderBox::calcHeight): + * rendering/render_canvasimage.cpp: + * rendering/render_canvasimage.h: + * rendering/render_frames.cpp: + * rendering/render_image.cpp: + * rendering/render_image.h: + * rendering/render_layer.cpp: + +2006-01-19 Anders Carlsson <andersca@mac.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6653 + CSSStyleDeclaration returns empty string when trying to access shorthand + properties using JS accessors. + + * khtml/ecma/kjs_css.cpp: + (KJS::DOMCSSStyleDeclaration::cssPropertyGetter): + if getCSSPropertyValue returns 0 (which is true for shorthand properties), + try getPropertyValue instead. + +2006-01-19 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt and Darin. + + http://bugs.webkit.org/show_bug.cgi?id=6665 + Implement NSView-less version of <input type="text"> + + Initial implementation of new and improved text fields. + This will only be turned on if an input element has khtml-appearance: textfield. + + * WebCore.xcodeproj/project.pbxproj: Added RenderTextField.h and RenderTextField.cpp + * css/cssvalues.in: Fixed omitted button-bevel value. + This was causing an off-by-one error when getting khtml-appearance value. + * khtml/html/HTMLInputElementImpl.cpp: Added checks for khtml-appearance to decide + when to use RenderTextField instead of RenderLineEdit. + (DOM::HTMLInputElementImpl::selectionStart): + (DOM::HTMLInputElementImpl::selectionEnd): + (DOM::HTMLInputElementImpl::setSelectionStart): + (DOM::HTMLInputElementImpl::setSelectionEnd): + (DOM::HTMLInputElementImpl::select): + (DOM::HTMLInputElementImpl::setSelectionRange): + (DOM::HTMLInputElementImpl::createRenderer): + (DOM::HTMLInputElementImpl::defaultEventHandler): + * khtml/html/HTMLInputElementImpl.h: + * khtml/html/html_elementimpl.cpp: + (HTMLElementImpl::isFocusable): Also allow editable elements with no parent to be focusable. + * khtml/xml/NodeImpl.h: + (WebCore::NodeImpl::setAttached): Added to set m_attached without having to call attach(). + * rendering/RenderTextField.cpp: Added. + (khtml:::RenderBlock): + (khtml::RenderTextField::~RenderTextField): + (khtml::RenderTextField::addChild): + (khtml::RenderTextField::removeChild): + (khtml::RenderTextField::setStyle): + (khtml::RenderTextField::getDivStyle): + (khtml::RenderTextField::updateFromElement): + (khtml::RenderTextField::selectionStart): + (khtml::RenderTextField::selectionEnd): + (khtml::RenderTextField::setSelectionStart): + (khtml::RenderTextField::setSelectionEnd): + (khtml::RenderTextField::select): + (khtml::RenderTextField::setSelectionRange): + * rendering/RenderTextField.h: Added. + (khtml::RenderTextField::removeLeftoverAnonymousBoxes): + (khtml::RenderTextField::renderName): + * rendering/render_container.cpp: + (RenderContainer::destroy): use renamed destroyLeftoverChildren. + (RenderContainer::destroyLeftoverChildren): renamed from destroyLeftoverAnonymousChildren. + * rendering/render_container.h: + * rendering/render_flow.cpp: + (RenderFlow::destroy): use renamed destroyLeftoverChildren. + +2006-01-18 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - removed all use of QMap + + * ForwardingHeaders/qmap.h: Removed. + * WebCore.xcodeproj/project.pbxproj: Removed KWQMap.h, KWQMapImpl.h, KWQMapImpl.cpp. + * kwq/KWQMap.h: Removed. + * kwq/KWQMapImpl.cpp: Removed. + * kwq/KWQMapImpl.h: Removed. + + * bridge/BrowserExtension.h: (WebCore::URLArgs::metaData): Converted from QMap of QString + to HashMap of DOMString. + * bridge/mac/BrowserExtensionMac.mm: Ditto. + * bridge/mac/MacFrame.mm: + (MacFrame::openURLRequest): Ditto. + (MacFrame::urlSelected): Ditto. + (MacFrame::createPart): Ditto. + * khtml/ecma/kjs_window.cpp: + (KJS::parseModalDialogFeatures): Ditto. + (KJS::boolFeature): Ditto. + (KJS::intFeature): Ditto. + (KJS::createNewWindow): Ditto. + (KJS::showModalDialog): Ditto. + (KJS::WindowFunc::callAsFunction): Ditto. + * khtml/html/html_objectimpl.cpp: (WebCore::HTMLAppletElementImpl::createRenderer): Ditto. + * khtml/xml/dom_xmlimpl.cpp: (DOM::ProcessingInstructionImpl::checkStyleSheet): Ditto. + * khtml/xml/xml_tokenizer.cpp: + (WebCore::toString): Added. Converts to DOMString instead of QString. + (WebCore::attributesStartElementNsHandler): Converted from QMap of QString to HashMap of DOMString. + (WebCore::parseAttributes): Ditto. + * khtml/xml/xml_tokenizer.h: (WebCore::Tokenizer::setTransformSource): Ditto. + * ksvg2/misc/KSVGTimeScheduler.cpp: (KSVG::SVGTimer::notifyAll): Ditto. + * kwq/KWQKJavaAppletWidget.h: Ditto. + * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget): Ditto. + * kwq/KWQKJobClasses.h: Ditto. + * kwq/KWQKJobClasses.mm: (KIO::TransferJob::addMetaData): Ditto. + * page/Frame.cpp: + (Frame::didOpenURL): Ditto. + (Frame::changeLocation): Ditto. + (Frame::mark): Ditto. + (Frame::setMark): Ditto. + (Frame::urlSelected): Ditto. + (Frame::requestObject): Ditto. + (Frame::processObjectRequest): Ditto. + (Frame::submitForm): Ditto. + * rendering/render_applet.cpp: + (WebCore::RenderApplet::RenderApplet): Ditto. + (WebCore::RenderApplet::createWidgetIfNecessary): Ditto. + (WebCore::RenderApplet::layout): Ditto. + * rendering/render_applet.h: + (WebCore::RenderApplet::renderName): Ditto. + (WebCore::RenderApplet::element): Ditto. + (WebCore::RenderEmptyApplet::renderName): Ditto. + + * khtml/dom/dom_string.h: + (WebCore::DOMString::createCFString): Added. Not yet implemented or used. + (WebCore::DOMString::operator NSString*): Updated to call through to DOMStringImpl. + Added hash functions and hash traits so you can use DOMString in hash tables. + * khtml/xml/dom_stringimpl.h: Added conversion to and from CFStringRef/NSString. + * khtml/xml/dom_stringimpl.cpp: Took out an excess "DOM::". + + * bindings/objc/DOMInternal.mm: (DOMStringImpl::operator NSString *): Moved from DOMString + to DOMStringImpl. + + - changed the mark from a SelectionController to a Selection + (maybe it can be a Position instead?) + + * page/Frame.h: Changed mark() and setMark() to use a Selection. + * page/FramePrivate.h: Changed mark to a Selection. + + * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setMarkDOMRange:]): + Updated for change from SelectionController to Selection. + + - removed extraneous includes + + * kwq/KWQKHTMLSettings.h: Removed include of "KWQMap.h". + * kwq/KWQKIOGlobal.h: Ditto. + + * khtml/editing/htmlediting.h: Removed extraneous includes and namespace prefixes. + + * khtml/html/html_canvasimpl.h: Removed extraneous includes and moved into the + WebCore namespace. + * khtml/html/html_canvasimpl.cpp: Ditto. + * khtml/html/htmltokenizer.cpp: Ditto. + * khtml/html/htmltokenizer.h: Ditto. + * khtml/xml/DocumentImpl.cpp: Ditto. + * kwq/KWQEditCommand.mm: Ditto. + * rendering/render_canvasimage.h: Ditto. + * rendering/render_image.h: Ditto. + + * khtml/editing/composite_edit_command.cpp: Updated includes because of ones + that were removed from headers. + * khtml/editing/htmlediting.cpp: Ditto. + * khtml/editing/jsediting.cpp: Ditto. + * khtml/editing/replace_selection_command.cpp: Ditto. + * rendering/render_canvasimage.cpp: Ditto. + * rendering/render_image.cpp: Ditto. + + * loader/loader.cpp: (WebCore::Loader::servePendingRequests): Removed code to add the + cache control string, since that was hardcoded to empty string anyway. + +2006-01-19 Eric Seidel <eseidel@apple.com> + + Reviewed by darin & anders. + + Fix opacity crasher for <text> and <image>. + http://bugs.webkit.org/show_bug.cgi?id=6668 + Even though the crash is fixed, opacity still doesn't work. + http://bugs.webkit.org/show_bug.cgi?id=6669 + + Test: svg/custom/text-image-opacity.svg + + * kcanvas/RenderSVGImage.cpp: + (RenderSVGImage::paint): + * kcanvas/RenderSVGText.cpp: + (RenderSVGText::paint): + +2006-01-19 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Remove CFDictionary usage from KWQObject.* + http://bugs.webkit.org/show_bug.cgi?id=6468 + + * kwq/KWQObject.cpp: + (KWQObjectTimer::KWQObjectTimer): + (QObject::restartTimer): + (QObject::timerIntervals): + (KWQObjectTimer::deleteTimer): + (QObject::killTimer): + (QObject::killTimers): + (sendDeferredTimerEvent): + +2006-01-18 David Hyatt <hyatt@apple.com + + Fix for bug 6657, remove all uses of MacFrame from cross-platform + code. Also remove uses of BrowserExtensionMac (and make the + frame responsible for instantiation of the appropriate + platform-specific object). + + Also #ifdef out all the Dashboard code in the engine for non-Apple + platforms. + + Reviewed by anders + + * ForwardingHeaders/khtml_ext.h: Removed. + * ForwardingHeaders/kparts/browserextension.h: Removed. + * WebCore.vcproj/WebCore/WebCore.vcproj: + * bridge/BrowserExtension.h: Added. + (WebCore::BrowserExtension::BrowserExtension): + * bridge/mac/BrowserExtensionMac.h: Added. + * bridge/mac/BrowserExtensionMac.mm: Added. + * bridge/mac/KWQKHTMLPartBrowserExtension.h: Removed. + * bridge/mac/KWQKHTMLPartBrowserExtension.mm: Removed. + * bridge/mac/KWQKPartsBrowserExtension.h: Removed. + * bridge/mac/MacFrame.h: + (MacFrame::createBrowserExtension): + (MacFrame::markedTextRange): + * css/css_computedstyle.cpp: + (DOM::): + (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): + * css/css_valueimpl.cpp: + (WebCore::CSSPrimitiveValueImpl::cleanup): + (WebCore::CSSPrimitiveValueImpl::cssText): + * css/css_valueimpl.h: + (DOM::CSSPrimitiveValueImpl::): + * css/cssparser.cpp: + (CSSParser::parseValue): + * css/cssparser.h: + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * khtml/ecma/kjs_events.cpp: + (KJS::JSAbstractEventListener::handleEvent): + * khtml/ecma/kjs_navigator.cpp: + (KJS::Navigator::getValueProperty): + * khtml/ecma/kjs_proxy.cpp: + (KJSProxyImpl::evaluate): + (KJSProxyImpl::initScript): + * khtml/ecma/kjs_window.cpp: + (KJS::canShowModalDialog): + (KJS::canShowModalDialogNow): + (KJS::showModalDialog): + (KJS::Window::getValueProperty): + (KJS::Window::scheduleClose): + (KJS::Window::isSafeScript): + (KJS::parseWindowFeatures): + (KJS::constrainToVisible): + (KJS::WindowFunc::callAsFunction): + (KJS::ScheduledAction::execute): + (KJS::BarInfo::getValueProperty): + (KJS::History::getValueProperty): + * khtml/editing/jsediting.cpp: + * khtml/editing/typing_command.cpp: + (khtml::TypingCommand::markMisspellingsAfterTyping): + * khtml/html/HTMLFormElementImpl.cpp: + (DOM::HTMLFormElementImpl::formData): + (DOM::HTMLFormElementImpl::submit): + * khtml/html/html_objectimpl.cpp: + (DOM::HTMLAppletElementImpl::getAppletInstance): + (DOM::HTMLEmbedElementImpl::getEmbedInstance): + (DOM::HTMLObjectElementImpl::getObjectInstance): + * khtml/xml/DocumentImpl.cpp: + (DocumentImpl::DocumentImpl): + (DocumentImpl::updateTitle): + (DocumentImpl::implicitClose): + (DocumentImpl::referrer): + * khtml/xml/DocumentImpl.h: + * khtml/xml/dom_elementimpl.cpp: + (WebCore::ElementImpl::focus): + * page/Frame.cpp: + (Frame::init): + (Frame::didOpenURL): + (Frame::browserExtension): + (Frame::begin): + (Frame::scheduleHistoryNavigation): + (Frame::changeLocation): + (Frame::setSelection): + (Frame::urlSelected): + (Frame::requestFrameName): + (Frame::requestObject): + (Frame::processObjectRequest): + (Frame::submitForm): + (Frame::slotChildCompleted): + (Frame::shouldChangeSelection): + (Frame::appliedEditing): + (Frame::unappliedEditing): + (Frame::reappliedEditing): + (Frame::copyToPasteboard): + (Frame::cutToPasteboard): + (Frame::pasteFromPasteboard): + (Frame::pasteAndMatchStyle): + (Frame::transpose): + (Frame::redo): + (Frame::undo): + (Frame::paint): + * page/Frame.h: + * page/FramePrivate.h: + * page/FrameView.cpp: + (KHTMLView::layout): + (KHTMLView::updateDashboardRegions): + (KHTMLView::viewportMousePressEvent): + (KHTMLView::viewportMouseDoubleClickEvent): + (KHTMLView::viewportMouseMoveEvent): + (KHTMLView::viewportMouseReleaseEvent): + (KHTMLView::mediaType): + (KHTMLView::viewportWheelEvent): + * page/FrameView.h: + * rendering/InlineTextBox.cpp: + (khtml::InlineTextBox::paint): + * rendering/render_form.cpp: + * rendering/render_layer.cpp: + (khtml::RenderLayer::scrollToOffset): + (khtml::RenderLayer::updateScrollInfoAfterLayout): + * rendering/render_object.cpp: + (WebCore::RenderObject::setStyle): + * rendering/render_replaced.cpp: + +2006-01-18 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - change KWQList to use qsort instead of CFArraySort + + * kwq/KWQListImpl.cpp: + (compareFuncWrapper): Wrapper that uses global variables to overcome the lack + of a "data" pointer in qsort. Could have used qsort_r but that would be less portable. + (KWQListImpl::sort): Use qsort instead of CFArraySortValues. + +2006-01-18 Darin Adler <darin@apple.com> + + Reviewed by Beth. + + - changed the three signal/slot related files from ObjC++ to C++ files + + * WebCore.xcodeproj/project.pbxproj: + * kwq/KWQSignal.cpp: Added. + * kwq/KWQSignal.mm: Removed. + * kwq/KWQSignalStubs.cpp: Added. + * kwq/KWQSignalStubs.mm: Removed. + * kwq/KWQSlot.cpp: Added. + * kwq/KWQSlot.mm: Removed. + +2006-01-18 David Hyatt <hyatt@apple.com> + + Make Win32 build again. Update the scripts and deal + with all the recent file moves. + + Reviewed by xenon + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.vcproj/WebCore/build-generated-files.sh: + * rendering/render_container.cpp: + * rendering/render_object.cpp: + +2006-01-18 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/overflow/overflow-rtl-inline-scrollbar.html + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6618 + Inline in RTL block with overflow:auto and left border makes scroll bar appear + + Inline flows were always returning 0 for leftmostPosition(). Their real leftmost + edges are determined by their inline boxes, which + RenderBlock::leftmostPosition already takes into account. + + * khtml/rendering/render_flow.cpp: + (RenderFlow::lowestPosition): Don't descend into inline flows. + (RenderFlow::rightmostPosition): Ditto. + (RenderFlow::leftmostPosition): Ditto. + +2006-01-18 Anders Carlsson <andersca@mac.com> + + Fix build. + + * khtml/ecma/kjs_navigator.cpp: + * page/FrameView.cpp: + Remove kstandarddirs.h includes. + +2006-01-18 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6646 + compile CSS sources in instead of reading them from disk + + * css/make-css-file-arrays.pl: Added. Used to generate C array forms of the ".css" files. + * css/UserAgentStyleSheets.cpp: Added. Used to indirectly compile the generated file. + + * WebCore.xcodeproj/project.pbxproj: Added new source files. Added a build phase to + invoke the make-css-file-arrays.pl script. Removed the .css files, which no longer need + to be installed as part of the final package. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Added new files. + * WebCore.vcproj/WebCore/build-generated-files.sh: Added make-css-file-arrays.pl script + section; not tested. + + * css/cssstyleselector.cpp: (WebCore::parseUASheet): Removed code to read user agent + sheets from disk. Replaced with code that gets them from compiled-in arrays instead. + Uses a pretty lame DOMString hack that could be reworked some day. + (WebCore::CSSStyleSelector::loadDefaultStyle): Change to load from arrays intead of disk. + + * css/html4.css: Added missing license header, tweaked format a bit. + * css/quirks.css: Added missing license header, tweaked format. + * css/svg.css: Moved from ksvg2/css directory. + * ksvg2/css/svg.css: Moved to top level css directory. + + * page/Frame.cpp: Removed includes of qfile.h and kstandarddirs.h. + + * ForwardingHeaders/kstandarddirs.h: Removed. + * ForwardingHeaders/qfile.h: Removed. + * kwq/KWQFile.h: Removed. + * kwq/KWQFile.mm: Removed. + * kwq/KWQKStandardDirs.h: Removed. + * kwq/KWQKStandardDirs.mm: Removed. + +2006-01-17 Alexander Kellett <lypanov@kde.org> + + Reviewed by Maciej. + + - Remove the now-unused KRenderingPaintServerImage[Quartz]. + + * WebCore.xcodeproj/project.pbxproj: + * kcanvas/KCanvasTreeDebug.cpp: + * kcanvas/device/KRenderingPaintServer.h: + * kcanvas/device/KRenderingPaintServerImage.cpp: Removed. + * kcanvas/device/KRenderingPaintServerImage.h: Removed. + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: + * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: + * ksvg2/svg/SVGFEImageElementImpl.cpp: + * kwq/KWQPainter.mm: + +2006-01-17 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6377 + <rdar://problem/4400315> All XML crashes in TOT with JavaScript disabled (6377) + + * bridge/mac/MacFrame.mm: + (MacFrame::bindingRootObject): Assert that this is only called when JavaScript is enabled. + (MacFrame::windowScriptObject): Return 0 if JavaScript is disabled. + (MacFrame::windowScriptNPObject): Ditto. + (MacFrame::partClearedInBegin): Don't call the "window script object available" call if + JavaScript is disabled. + +2006-01-17 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=6632> + REGRESSION: Selection includes spaces that it shouldn't + <rdar://problem/4407845> + REGRESSION (TOT): blank space before found text selected at http://www.schepers.cc/comiclinks.html + + Layout test added: + * editing/selection/after-line-wrap.html + + * khtml/editing/visible_position.cpp: + (khtml::VisiblePosition::previous): Don't stop at the first candidate, + it may be visually equivalent to the original position. + * khtml/xml/dom_position.cpp: + (DOM::Position::upstream): Don't move to a position on a different line. + (DOM::Position::downstream): Ditto. + +2006-01-17 Justin Garcia <justin.garcia@apple.com> + + Reviewed by eric. + + Deployment builds now use -O2 + + * WebCore.xcodeproj/project.pbxproj: + * khtml/html/htmltokenizer.cpp: Turned off inlining to fix + link error. + +2006-01-17 David Hyatt <hyatt@apple.com> + + Move khtml/rendering to WebCore/rendering. + + * WebCore.xcodeproj/project.pbxproj: + * khtml/rendering: Removed. + * khtml/rendering/DataRef.h: Removed. + * khtml/rendering/InlineTextBox.cpp: Removed. + * khtml/rendering/InlineTextBox.h: Removed. + * khtml/rendering/RenderText.cpp: Removed. + * khtml/rendering/RenderText.h: Removed. + * khtml/rendering/RenderTextFragment.cpp: Removed. + * khtml/rendering/RenderTextFragment.h: Removed. + * khtml/rendering/bidi.cpp: Removed. + * khtml/rendering/bidi.h: Removed. + * khtml/rendering/break_lines.cpp: Removed. + * khtml/rendering/break_lines.h: Removed. + * khtml/rendering/font.cpp: Removed. + * khtml/rendering/font.h: Removed. + * khtml/rendering/render_applet.cpp: Removed. + * khtml/rendering/render_applet.h: Removed. + * khtml/rendering/render_arena.cpp: Removed. + * khtml/rendering/render_arena.h: Removed. + * khtml/rendering/render_block.cpp: Removed. + * khtml/rendering/render_block.h: Removed. + * khtml/rendering/render_box.cpp: Removed. + * khtml/rendering/render_box.h: Removed. + * khtml/rendering/render_br.cpp: Removed. + * khtml/rendering/render_br.h: Removed. + * khtml/rendering/render_button.cpp: Removed. + * khtml/rendering/render_button.h: Removed. + * khtml/rendering/render_canvas.cpp: Removed. + * khtml/rendering/render_canvas.h: Removed. + * khtml/rendering/render_canvasimage.cpp: Removed. + * khtml/rendering/render_canvasimage.h: Removed. + * khtml/rendering/render_container.cpp: Removed. + * khtml/rendering/render_container.h: Removed. + * khtml/rendering/render_flexbox.cpp: Removed. + * khtml/rendering/render_flexbox.h: Removed. + * khtml/rendering/render_flow.cpp: Removed. + * khtml/rendering/render_flow.h: Removed. + * khtml/rendering/render_form.cpp: Removed. + * khtml/rendering/render_form.h: Removed. + * khtml/rendering/render_frames.cpp: Removed. + * khtml/rendering/render_frames.h: Removed. + * khtml/rendering/render_image.cpp: Removed. + * khtml/rendering/render_image.h: Removed. + * khtml/rendering/render_inline.cpp: Removed. + * khtml/rendering/render_inline.h: Removed. + * khtml/rendering/render_layer.cpp: Removed. + * khtml/rendering/render_layer.h: Removed. + * khtml/rendering/render_line.cpp: Removed. + * khtml/rendering/render_line.h: Removed. + * khtml/rendering/render_list.cpp: Removed. + * khtml/rendering/render_list.h: Removed. + * khtml/rendering/render_object.cpp: Removed. + * khtml/rendering/render_object.h: Removed. + * khtml/rendering/render_replaced.cpp: Removed. + * khtml/rendering/render_replaced.h: Removed. + * khtml/rendering/render_style.cpp: Removed. + * khtml/rendering/render_style.h: Removed. + * khtml/rendering/render_table.cpp: Removed. + * khtml/rendering/render_table.h: Removed. + * khtml/rendering/render_theme.cpp: Removed. + * khtml/rendering/render_theme.h: Removed. + * khtml/rendering/render_theme_mac.h: Removed. + * khtml/rendering/render_theme_mac.mm: Removed. + * khtml/rendering/table_layout.cpp: Removed. + * khtml/rendering/table_layout.h: Removed. + * rendering: Added. + * rendering/DataRef.h: Added. + * rendering/InlineTextBox.cpp: Added. + * rendering/InlineTextBox.h: Added. + * rendering/RenderText.cpp: Added. + * rendering/RenderText.h: Added. + * rendering/RenderTextFragment.cpp: Added. + * rendering/RenderTextFragment.h: Added. + * rendering/bidi.cpp: Added. + * rendering/bidi.h: Added. + * rendering/break_lines.cpp: Added. + * rendering/break_lines.h: Added. + * rendering/font.cpp: Added. + * rendering/font.h: Added. + * rendering/render_applet.cpp: Added. + * rendering/render_applet.h: Added. + * rendering/render_arena.cpp: Added. + * rendering/render_arena.h: Added. + * rendering/render_block.cpp: Added. + * rendering/render_block.h: Added. + * rendering/render_box.cpp: Added. + * rendering/render_box.h: Added. + * rendering/render_br.cpp: Added. + * rendering/render_br.h: Added. + * rendering/render_button.cpp: Added. + * rendering/render_button.h: Added. + * rendering/render_canvas.cpp: Added. + * rendering/render_canvas.h: Added. + * rendering/render_canvasimage.cpp: Added. + * rendering/render_canvasimage.h: Added. + * rendering/render_container.cpp: Added. + * rendering/render_container.h: Added. + * rendering/render_flexbox.cpp: Added. + * rendering/render_flexbox.h: Added. + * rendering/render_flow.cpp: Added. + * rendering/render_flow.h: Added. + * rendering/render_form.cpp: Added. + * rendering/render_form.h: Added. + * rendering/render_frames.cpp: Added. + * rendering/render_frames.h: Added. + * rendering/render_image.cpp: Added. + * rendering/render_image.h: Added. + * rendering/render_inline.cpp: Added. + * rendering/render_inline.h: Added. + * rendering/render_layer.cpp: Added. + * rendering/render_layer.h: Added. + * rendering/render_line.cpp: Added. + * rendering/render_line.h: Added. + * rendering/render_list.cpp: Added. + * rendering/render_list.h: Added. + * rendering/render_object.cpp: Added. + * rendering/render_object.h: Added. + * rendering/render_replaced.cpp: Added. + * rendering/render_replaced.h: Added. + * rendering/render_style.cpp: Added. + * rendering/render_style.h: Added. + * rendering/render_table.cpp: Added. + * rendering/render_table.h: Added. + * rendering/render_theme.cpp: Added. + * rendering/render_theme.h: Added. + * rendering/render_theme_mac.h: Added. + * rendering/render_theme_mac.mm: Added. + * rendering/table_layout.cpp: Added. + * rendering/table_layout.h: Added. + +2006-01-17 David Hyatt <hyatt@apple.com> + + Land support for a style method on DOMAttr from JS that will + allow the Web Inspector to include presentational attributes + in the style list. + + Reviewed by xenon + + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMAttr::getValueProperty): + * khtml/ecma/kjs_dom.h: + (KJS::DOMAttr::): + +2006-01-17 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt and Darin + + Fix for <rdar://problem/4405836> REGRESSION: crash at webmail.aol.com + when deleting mail in khtml::RenderTableCell::collapsedBottomBorder() const + + 232 + + RenderTableCell::collapsedBottomBorder() gets nextCell by calling + table()->cellBelow(this). In the case of the crash, cellBelow() returns + a pointer to a table cell that was already destroyed. cellBelow() thinks + that the pointer is still good because the grid of cells has not been updated + because all of this code is called through the hitTest and the hitTest does + not update the layout. The fix that I have is simply it have the hitTest call + updateLayout(). This is the only change in behavior. The rest of the patch + preserves behavior for simulated clicks. fast/events/stopPropagation-submit + caught this problem that arose from calling updateLayout() in the hitTest; + we should always have an x and y position of 0 for simulated clicks. This + preserves that behavior by keeping track of whether a click is simulated or not. + + * khtml/html/HTMLInputElementImpl.cpp: + (DOM::HTMLInputElementImpl::defaultEventHandler): If the click is simulated, + set xPos and yPos to 0. + * khtml/html/html_elementimpl.cpp: + (HTMLElementImpl::setContentEditable): Fix spacing. + (HTMLElementImpl::click): It isn't necessary to check if there is a renderer. + * khtml/rendering/render_layer.cpp: + (khtml::RenderLayer::hitTest): Call updateLayout(). + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::dispatchSimulatedMouseEvent): Set isSimulated to true. + (WebCore::NodeImpl::dispatchMouseEvent): Keep track of isSimulated. + * khtml/xml/NodeImpl.h: Same. + * khtml/xml/dom2_eventsimpl.cpp: + (DOM::MouseRelatedEventImpl::MouseRelatedEventImpl): Add isSimulated to + MouseRelatedEventImpl(). + (DOM::MouseRelatedEventImpl::computePositions): Only change the offsets if + it's not simulated. + (DOM::MouseEventImpl::MouseEventImpl): Add isSimulated to MouseEventImpl() + * khtml/xml/dom2_eventsimpl.h: + (DOM::MouseRelatedEventImpl::isSimulated): Declarations of isSimulated + (DOM::MouseEventImpl::isSimulated): Same. + +2006-01-17 Duncan Wilcox <duncan@mclink.it> + + Reviewed by Darin, landed by ap. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6609 + Use Selection instead of SelectionController where possible + + This patch replaces the use of SelectionController with Selection in the edit commands. + + It also cleans up the relationship between Selection and SelectionController: + SelectionController used to need to be friend to Selection to call validate() + on it, now validation is enforced on every update of Selection. + + * khtml/editing/Selection.cpp: + (WebCore::Selection::Selection): + (WebCore::Selection::expandUsingGranularity): + (WebCore::Selection::validate): + * khtml/editing/Selection.h: + (WebCore::Selection::setExtent): + (WebCore::Selection::granularity): + (WebCore::operator==): + * khtml/editing/SelectionController.cpp: + (WebCore::SelectionController::SelectionController): + (WebCore::SelectionController::moveTo): + (WebCore::SelectionController::expandUsingGranularity): + (WebCore::SelectionController::clear): + (WebCore::SelectionController::setBase): + (WebCore::SelectionController::setExtent): + * khtml/editing/SelectionController.h: + (WebCore::SelectionController::selection): + * khtml/editing/apply_style_command.cpp: + (WebCore::ApplyStyleCommand::updateStartEnd): + (WebCore::ApplyStyleCommand::doApply): + * khtml/editing/break_blockquote_command.cpp: + (khtml::BreakBlockquoteCommand::doApply): + * khtml/editing/composite_edit_command.cpp: + (WebCore::CompositeEditCommand::deleteSelection): + (WebCore::CompositeEditCommand::rebalanceWhitespace): + * khtml/editing/composite_edit_command.h: + * khtml/editing/delete_selection_command.cpp: + (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): + (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): + (WebCore::DeleteSelectionCommand::clearTransientState): + (WebCore::DeleteSelectionCommand::doApply): + * khtml/editing/delete_selection_command.h: + * khtml/editing/edit_command.cpp: + (WebCore::EditCommandPtr::startingSelection): + (WebCore::EditCommandPtr::endingSelection): + (WebCore::EditCommandPtr::setStartingSelection): + (WebCore::EditCommandPtr::setEndingSelection): + (WebCore::EditCommand::EditCommand): + (WebCore::EditCommand::setStartingSelection): + (WebCore::EditCommand::setEndingSelection): + * khtml/editing/edit_command.h: + (WebCore::EditCommand::startingSelection): + (WebCore::EditCommand::endingSelection): + * khtml/editing/insert_line_break_command.cpp: + (khtml::InsertLineBreakCommand::doApply): + * khtml/editing/insert_paragraph_separator_command.cpp: + (khtml::InsertParagraphSeparatorCommand::doApply): + * khtml/editing/insert_text_command.cpp: + (khtml::InsertTextCommand::input): + * khtml/editing/move_selection_command.cpp: + (khtml::MoveSelectionCommand::doApply): + * khtml/editing/replace_selection_command.cpp: + (khtml::ReplaceSelectionCommand::doApply): + (khtml::ReplaceSelectionCommand::completeHTMLReplacement): + * khtml/editing/typing_command.cpp: + (khtml::TypingCommand::deleteKeyPressed): + (khtml::TypingCommand::forwardDeleteKeyPressed): + * page/Frame.cpp: + (Frame::appliedEditing): + (Frame::unappliedEditing): + (Frame::reappliedEditing): + * page/Frame.h: + +2006-01-17 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/dom/generic-form-element-assert.html + + Reviewed and reworked by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5926 + Assertion failure in HTMLGenericFormElementImpl::removedFromTree + + * khtml/html/HTMLGenericFormElementImpl.cpp: Tweaked formatting and namespaces + a bit. Removed unneeded includes. + (WebCore::findRoot): Added helper function. + (WebCore::HTMLGenericFormElementImpl::removedFromTree): Rewrote to do the check + in a simpler way, since the two separate cases amounted to the same check. + +2006-01-17 Mark Rowe <opendarwin.org@bdash.net.nz> + + Reviewed by eseidel. Landed by eseidel. + + Fix second part of WebCore-no-SVG fails to build. + http://bugs.webkit.org/show_bug.cgi?id=6607 + + * WebCore.xcodeproj/project.pbxproj: + Mark three headers as private rather than project in the WebCore-no-SVG target. + +2006-01-17 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by hyatt + + * kwq/KWQVectorImpl.cpp: + (KWQVectorImpl::append): Assign the new item to index m_count, not m_size. + +2006-01-17 Mark Rowe <opendarwin.org@bdash.net.nz> + + Reviewed by eseidel. Landed by eseidel. + + WebCore-no-SVG fails to build. + http://bugs.webkit.org/show_bug.cgi?id=6607 + + * WebCore.xcodeproj/project.pbxproj: + Fix build of WebCore-no-SVG target. Removes SVG specific files and adds new + files omitted from the target. + +2006-01-16 David Hyatt <hyatt@apple.com> + + (1) Fix build bustage by properly marking the moved Obj-C + bindings files as private. + (2) Move khtml/css to WebCore/css. + (3) Eliminate the kdom/css forwarding headers. + + * ForwardingHeaders/kdom/css: Removed. + * ForwardingHeaders/kdom/css/CSSPrimitiveValueImpl.h: Removed. + * ForwardingHeaders/kdom/css/CSSStyleDeclarationImpl.h: Removed. + * ForwardingHeaders/kdom/css/CSSStyleRuleImpl.h: Removed. + * ForwardingHeaders/kdom/css/CSSStyleSelector.h: Removed. + * ForwardingHeaders/kdom/css/CSSStyleSheetImpl.h: Removed. + * ForwardingHeaders/kdom/css/CSSValueImpl.h: Removed. + * ForwardingHeaders/kdom/css/CSSValueListImpl.h: Removed. + * ForwardingHeaders/kdom/css/KDOMCSSParser.h: Removed. + * ForwardingHeaders/kdom/css/MediaListImpl.h: Removed. + * ForwardingHeaders/kdom/css/RGBColorImpl.h: Removed. + * ForwardingHeaders/kdom/css/RenderStyle.h: Removed. + * ForwardingHeaders/kdom/css/StyleSheetListImpl.h: Removed. + * WebCore+SVG/RGBColorImpl.cpp: + * WebCore.xcodeproj/project.pbxproj: + * css: Added. + * css/css_base.cpp: Added. + * css/css_base.h: Added. + * css/css_computedstyle.cpp: Added. + * css/css_computedstyle.h: Added. + * css/css_grammar.y: Added. + * css/css_ruleimpl.cpp: Added. + * css/css_ruleimpl.h: Added. + * css/css_stylesheetimpl.cpp: Added. + * css/css_stylesheetimpl.h: Added. + * css/css_valueimpl.cpp: Added. + * css/css_valueimpl.h: Added. + * css/csshelper.cpp: Added. + * css/csshelper.h: Added. + * css/cssparser.cpp: Added. + * css/cssparser.h: Added. + * css/cssproperties.in: Added. + * css/cssstyleselector.cpp: Added. + * css/cssstyleselector.h: Added. + * css/cssvalues.in: Added. + * css/html4.css: Added. + * css/makeprop: Added. + * css/maketokenizer: Added. + * css/makevalues: Added. + * css/quirks.css: Added. + * css/tokenizer.flex: Added. + * khtml/css: Removed. + * khtml/css/css_base.cpp: Removed. + * khtml/css/css_base.h: Removed. + * khtml/css/css_computedstyle.cpp: Removed. + * khtml/css/css_computedstyle.h: Removed. + * khtml/css/css_grammar.y: Removed. + * khtml/css/css_ruleimpl.cpp: Removed. + * khtml/css/css_ruleimpl.h: Removed. + * khtml/css/css_stylesheetimpl.cpp: Removed. + * khtml/css/css_stylesheetimpl.h: Removed. + * khtml/css/css_valueimpl.cpp: Removed. + * khtml/css/css_valueimpl.h: Removed. + * khtml/css/csshelper.cpp: Removed. + * khtml/css/csshelper.h: Removed. + * khtml/css/cssparser.cpp: Removed. + * khtml/css/cssparser.h: Removed. + * khtml/css/cssproperties.in: Removed. + * khtml/css/cssstyleselector.cpp: Removed. + * khtml/css/cssstyleselector.h: Removed. + * khtml/css/cssvalues.in: Removed. + * khtml/css/html4.css: Removed. + * khtml/css/makeprop: Removed. + * khtml/css/maketokenizer: Removed. + * khtml/css/makevalues: Removed. + * khtml/css/quirks.css: Removed. + * khtml/css/tokenizer.flex: Removed. + * ksvg2/css/SVGCSSStyleSelector.cpp: + * ksvg2/ecma/Ecma.cpp: + * ksvg2/misc/KCanvasRenderingStyle.cpp: + * ksvg2/misc/KCanvasRenderingStyle.h: + * ksvg2/svg/SVGAnimationElementImpl.cpp: + * ksvg2/svg/SVGClipPathElementImpl.cpp: + * ksvg2/svg/SVGColorImpl.cpp: + * ksvg2/svg/SVGColorImpl.h: + * ksvg2/svg/SVGDOMImplementationImpl.cpp: + * ksvg2/svg/SVGDocumentImpl.cpp: + * ksvg2/svg/SVGElementImpl.cpp: + * ksvg2/svg/SVGGradientElementImpl.cpp: + * ksvg2/svg/SVGMaskElementImpl.cpp: + * ksvg2/svg/SVGStyleElementImpl.cpp: + * ksvg2/svg/SVGStyledElementImpl.h: + * ksvg2/svg/SVGTextElementImpl.cpp: + +2006-01-16 David Hyatt <hyatt@apple.com> + + Move the Objective-C dom bindings from kwq to bindings/objc. + + Reviewed by eseidel + + * WebCore.xcodeproj/project.pbxproj: + * bindings: Added. + * bindings/js: Added. + * bindings/objc: Added. + * bindings/objc/DOM.h: Added. + * bindings/objc/DOM.mm: Added. + * bindings/objc/DOMCSS.h: Added. + * bindings/objc/DOMCSS.mm: Added. + * bindings/objc/DOMCore.h: Added. + * bindings/objc/DOMEvents.h: Added. + * bindings/objc/DOMEvents.mm: Added. + * bindings/objc/DOMEventsInternal.h: Added. + * bindings/objc/DOMExtensions.h: Added. + * bindings/objc/DOMHTML.h: Added. + * bindings/objc/DOMHTML.mm: Added. + * bindings/objc/DOMHTMLInternal.h: Added. + * bindings/objc/DOMInternal.h: Added. + * bindings/objc/DOMInternal.mm: Added. + * bindings/objc/DOMPrivate.h: Added. + * bindings/objc/DOMRange.h: Added. + * bindings/objc/DOMStylesheets.h: Added. + * bindings/objc/DOMTraversal.h: Added. + * bindings/objc/DOMUtility.mm: Added. + * bindings/objc/DOMViews.h: Added. + * bindings/objc/DOMViews.mm: Added. + * bindings/objc/DOMViewsInternal.h: Added. + * kwq/DOM-CSS.mm: Removed. + * kwq/DOM.h: Removed. + * kwq/DOM.mm: Removed. + * kwq/DOMCSS.h: Removed. + * kwq/DOMCore.h: Removed. + * kwq/DOMEvents.h: Removed. + * kwq/DOMEvents.mm: Removed. + * kwq/DOMEventsInternal.h: Removed. + * kwq/DOMExtensions.h: Removed. + * kwq/DOMHTML.h: Removed. + * kwq/DOMHTML.mm: Removed. + * kwq/DOMHTMLInternal.h: Removed. + * kwq/DOMInternal.h: Removed. + * kwq/DOMInternal.mm: Removed. + * kwq/DOMPrivate.h: Removed. + * kwq/DOMRange.h: Removed. + * kwq/DOMStylesheets.h: Removed. + * kwq/DOMTraversal.h: Removed. + * kwq/DOMUtility.mm: Removed. + * kwq/DOMViews.h: Removed. + * kwq/DOMViews.mm: Removed. + * kwq/DOMViewsInternal.h: Removed. + +2006-01-16 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Hyatt, landed by ap. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6473 + REGRESSION: Serious painting problems on new iLife and iWorks pages + + * khtml/css/css_grammar.y: + (DOM::getPropertyID): Undo the mapping of -moz-opacity and -moz-border-radius to + opacity and border-radius, respectively. + * khtml/rendering/render_box.cpp: + (RenderBox::setStyle): Set the object's layer to 0 before removing the layer, + to allow child layers to update their positions correctly. + * khtml/rendering/render_layer.cpp: + (khtml::RenderLayer::removeOnlyThisLayer): Update the positions of all children + of the layer being removed. + * manual-tests/bugzilla-6473.html: Added. + +2006-01-16 Mark Rowe <opendarwin.org@bdash.net.nz> + + Reviewed by Darin, landed by ap. + + Fix typo in CSSPrimitiveValueImpl::setStringValue. + + * khtml/css/css_valueimpl.cpp: + (DOM::CSSPrimitiveValueImpl::setStringValue): Change >> to > and fix formatting. + +2006-01-16 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Justin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5401 + [WebCoreBridge firstRectForDOMRange:] works incorrectly for the first character after a line wrap + + Test: editing/input/wrapped-line-char-rect.html + + * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge firstRectForDOMRange:]): + Use DOWNSTREAM affinity for the range start + +2006-01-16 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=5127> + REGRESSION: problems making selection with left edge at right edge of image + <rdar://problem/4364427> + triple-click includes first item on next line (www.apple.com, but I think I've seen it elsewhere) + + Don't paint the selection tint on replaced elements + if the selections starts at the end or ends at the start. + + * khtml/rendering/render_image.cpp: + (RenderImage::paint): + * khtml/rendering/render_replaced.cpp: + (WebCore::RenderReplaced::isSelected): + (WebCore::RenderWidget::paint): + * khtml/rendering/render_replaced.h: + +2006-01-16 Tim Omernick <timo@apple.com> + + Reviewed by John Sullivan. + + WebCore part of <rdar://problem/4211707> NPAPI ref count behavior differs with Mozilla + + * bridge/mac/MacFrame.mm: + (MacFrame::setView): + Call _NPN_DeallocateObject() instead of _NPN_ReleaseObject() so that we don't leak if a plugin fails to release + the window script object properly. + Our old NPN_GetValue() did not properly retain the returned window script object. Because of this, many plugins + have WebKit-specific workarounds to not release said window script object. Forcibly deallocating it here + should prevent any such issues. This shouldn't cause any problems for plugins, since they should already be + stopped and destroyed at this point. + This also fixes a preexisting leak of the window script NPObject -- it was never actually being freed! + +2006-01-16 Darin Adler <darin@apple.com> + + - actually removed QPtrDict itself + + * ForwardingHeaders/qptrdict.h: Removed. + * WebCore.xcodeproj/project.pbxproj: Removed KWQPtrDict* files. + * kwq/KWQPtrDict.h: Removed. + * kwq/KWQPtrDictImpl.cpp: Removed. + * kwq/KWQPtrDictImpl.h: Removed. + +2006-01-16 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + - removed all uses of QPtrDict, most uses of QMap + + * khtml/ecma/kjs_dom.cpp: Converted tabs to spaces. + (KJS::DOMNode::mark): Switched from QPtrDict to HashSet. + * khtml/ecma/kjs_events.cpp: Converted tabs to spaces. + (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Use HashMap. + (KJS::JSEventListener::JSEventListener): Use HashMap. + (KJS::JSLazyEventListener::parseCode): Use HashMap. + * khtml/ecma/kjs_html.cpp: Convert tabs to spaces. + (KJS::KJS::HTMLElement::classInfo): Use HashMap. + * khtml/ecma/kjs_window.cpp: Convert tabs to spaces. + (KJS::Window::~Window): Use HashMap. + (KJS::Window::getJSEventListener): Ditto. + (KJS::Window::getJSUnprotectedEventListener): Ditto. + (KJS::WindowQObject::parentDestroyed): Ditto. + (KJS::WindowQObject::installTimeout): Ditto. + (KJS::WindowQObject::pauseTimeouts): Ditto. + (KJS::WindowQObject::resumeTimeouts): Ditto. + (KJS::WindowQObject::clearTimeout): Ditto. + (KJS::WindowQObject::timerEvent): Ditto. + * khtml/ecma/kjs_window.h: Use HashMap. + * khtml/ecma/xmlhttprequest.cpp: Convert tabs to spaces. + (KJS::XMLHttpRequest::requestsByDocument): Use HashMap/Set. + (KJS::XMLHttpRequest::addToRequestsByDocument): Ditto. + (KJS::XMLHttpRequest::removeFromRequestsByDocument): Ditto. + (KJS::XMLHttpRequest::cancelRequests): Ditto. + * khtml/ecma/xmlhttprequest.h: Ditto. + * khtml/editing/apply_style_command.cpp: + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Use HashMap. + * khtml/rendering/render_canvas.cpp: + (RenderCanvas::selectionRect): Use HashMap. + (RenderCanvas::setSelection): Ditto. + * khtml/rendering/render_flow.cpp: (RenderFlow::paintLines): Use HashSet. + * khtml/rendering/render_line.cpp: (khtml::InlineFlowBox::paint): Use HashSet. + * khtml/rendering/render_object.h: Used HashSet. + Converted tabs to spaces and did namespace changes too. + * khtml/xml/DocumentImpl.cpp: + (DocumentImpl::DocumentImpl): Use HashSet and HashMap. + (DocumentImpl::~DocumentImpl): Ditto. + (DocumentImpl::registerDisconnectedNodeWithEventListeners): Ditto. + (DocumentImpl::unregisterDisconnectedNodeWithEventListeners): Ditto. + (DocumentImpl::removeAllDisconnectedNodeEventListeners): Ditto. + (DocumentImpl::addImageMap): Ditto. + (DocumentImpl::removeImageMap): Ditto. + (DocumentImpl::getImageMap): Ditto. + (DocumentImpl::addMarker): Ditto. + (DocumentImpl::copyMarkers): Ditto. + (DocumentImpl::removeMarkers): Ditto. + (DocumentImpl::markersForNode): Ditto. + (DocumentImpl::shiftMarkers): Ditto. + (DocumentImpl::radioButtonChecked): Ditto. + (DocumentImpl::checkedRadioButtonForGroup): Ditto. + (DocumentImpl::removeRadioButtonGroup): Ditto. + * khtml/xml/DocumentImpl.h: Use HashSet and HashMap. + * khtml/xml/NodeImpl.cpp: + (WebCore::NodeImpl::registerNodeList): Use HashSet. + (WebCore::NodeImpl::unregisterNodeList): Ditto. + (WebCore::NodeImpl::notifyLocalNodeListsAttributeChanged): Ditto. + (WebCore::NodeImpl::notifyNodeListsAttributeChanged): Ditto. + (WebCore::NodeImpl::notifyLocalNodeListsChildrenChanged): Ditto. + (WebCore::NodeImpl::notifyNodeListsChildrenChanged): Ditto. + (WebCore::NodeImpl::getElementsByTagName): Moved here so we don't have + to include NodeListImpl.h in the header. + * khtml/xml/NodeImpl.h: Use HashSet. Reduced includes. + * khtml/xml/dom_elementimpl.cpp: + (WebCore::MappedAttributeKey): Added. Hash table key. + (WebCore::MappedAttributeKeyTraits): Added. Hash table key traits. + (WebCore::MappedAttributeHash): Added. Hash function. + (WebCore::StyledElementImpl::getMappedAttributeDecl): Use HashMap. + (WebCore::StyledElementImpl::setMappedAttributeDecl): Ditto. + (WebCore::StyledElementImpl::removeMappedAttributeDecl): Ditto. + (WebCore::MappedAttributeHash::hash): Added. Hash function. + * khtml/xml/dom_elementimpl.h: Use HashMap. + + * khtml/html/html_imageimpl.cpp: + (WebCore::HTMLMapElementImpl::parseMappedAttribute): Update m_name handling + to use AtomicString. + * khtml/html/html_imageimpl.h: + (WebCore::HTMLMapElementImpl::getName): Change to return const AtomicString&. + + * khtml/dom/dom_string.h: Added a default argument to substring, also + reduced includes and updated namespace. + * khtml/xml/dom_stringimpl.h: Ditto. + + * bridge/mac/WebCoreFrameBridge.mm: Switched to new WebCore namespace. + Updated includes for header changes. + * kcanvas/RenderForeignObject.cpp: Ditto. + * kcanvas/RenderForeignObject.h: Ditto. + * kcanvas/RenderSVGImage.h: Ditto. + * kcanvas/device/quartz/KCanvasResourcesQuartz.h: Ditto. + * khtml/css/css_ruleimpl.cpp: Ditto. + * khtml/css/css_valueimpl.h: Ditto. + * khtml/ecma/kjs_dom.h: Ditto. + * khtml/ecma/kjs_html.h: Ditto. + * khtml/editing/composite_edit_command.cpp: Ditto. + * khtml/editing/delete_selection_command.cpp: Ditto. + * khtml/html/html_tableimpl.cpp: Ditto. + * khtml/khtml_events.cpp: Ditto. + * khtml/rendering/RenderText.cpp: Ditto. + * khtml/rendering/render_block.cpp: Ditto. + * khtml/rendering/render_br.cpp: Ditto. + * khtml/rendering/render_inline.cpp: Ditto. + * khtml/rendering/render_object.cpp: Ditto. + * khtml/rendering/render_replaced.cpp: Ditto. + * khtml/xml/dom2_rangeimpl.cpp: Ditto. + * kwq/DOM.mm: Ditto. + * page/Frame.cpp: Ditto. + + * kcanvas/KCanvasResources.cpp: (KCanvasMarker::draw): Updated because a + constant moved into the WebCore namespace. + * kcanvas/RenderSVGText.cpp: (RenderSVGText::nodeAtPoint): Ditto. + * kcanvas/RenderSVGText.h: Ditto. + * kcanvas/device/quartz/KCanvasItemQuartz.h: Ditto. + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (KCanvasItemQuartz::paint): Ditto. + (KCanvasItemQuartz::nodeAtPoint): Ditto. + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + (KCanvasContainerQuartz::paint): Ditto. + + * khtml/xbl/xbl_binding_manager.cpp: Removed include of qptrddict.h. + * khtml/xbl/xbl_binding_manager.h: Removed include of qptrddict.h. + * khtml/xbl/xbl_docimpl.h: Removed include of qptrddict.h. + + * khtml/xml/dom_xmlimpl.cpp: Changed to use RefPtr for strings. + * khtml/xml/dom_xmlimpl.h: Ditto. + + * ksvg2/css/SVGRenderStyle.h: Reduced includes a bit and added newly-needed ones. + * ksvg2/misc/KSVGTimeScheduler.cpp: Ditto. + * ksvg2/svg/SVGPointImpl.cpp: Ditto. + + * kwq/KWQNamespace.h: Removed QColor, QCursor, and redundant declaration of QRgb + (now in qcolor.h). Also converted tabs to spaces. + + * kwq/KWQPainter.h: Added newly-needed include. + + * kwq/KWQPtrVector.h: Added append function. + * kwq/KWQVectorImpl.cpp: (KWQVectorImpl::append): Added. + * kwq/KWQVectorImpl.h: Added append. + + * kwq/KWQRenderTreeDebug.cpp: Updated to no longer use transparentColor constant. + + * kwq/KWQWMatrix.cpp: Changed name to QMatrix to allow forward declarations. + * kwq/KWQWMatrix.h: Ditto. + + * loader/Cache.cpp: (khtml::Cache::clear): Use deleteAllValues for clearer code. + + * loader/CachedCSSStyleSheet.cpp: Reduced includes a lot, moving them from .h to .cpp. + * loader/CachedCSSStyleSheet.h: Ditto. + * loader/CachedImage.cpp: Ditto. + * loader/CachedImage.h: Ditto. + * loader/CachedImageCallback.cpp: Ditto. + * loader/CachedObject.cpp: Ditto. + * loader/CachedObject.h: Ditto. + * loader/CachedObjectClient.h: Ditto. + * loader/CachedObjectClientWalker.cpp: Ditto. + * loader/CachedObjectClientWalker.h: Ditto. + * loader/CachedScript.cpp: Ditto. + * loader/CachedScript.h: Ditto. + * loader/CachedXSLStyleSheet.cpp: Ditto. + + * loader/loader.cpp: + (WebCore::Loader::Loader): Changed to use HashMap. + (WebCore::Loader::~Loader): Ditto. + (WebCore::Loader::servePendingRequests): Ditto. + (WebCore::Loader::slotFinished): Ditto. + (WebCore::Loader::slotReceivedResponse): Ditto. + (WebCore::Loader::slotData): Ditto. + (WebCore::Loader::numRequests): Ditto. + (WebCore::Loader::cancelRequests): Ditto. + (WebCore::Loader::jobForRequest): Ditto. + * loader/loader.h: Ditto. + +2006-01-16 Darin Adler <darin@apple.com> + + * WebCore.xcodeproj/project.pbxproj: Move config.h in project file to match + where it is in the source tree. + +2006-01-15 Timothy Hatcher <timothy@apple.com> + + Reviewed by Darin. + + Support for the new DOM Inspector. + + * khtml/ecma/kjs_dom.cpp: exposes scrollIntoViewIfNeeded to JS + * khtml/ecma/kjs_dom.h: + * khtml/rendering/RenderText.cpp: + (RenderText::lineBoxRects): returns text run rects + * khtml/rendering/RenderText.h: + * khtml/rendering/render_container.cpp: + (RenderContainer::lineBoxRects): returns all child line box rects + * khtml/rendering/render_container.h: + * khtml/rendering/render_object.cpp: + (RenderObject::lineBoxRects): returns an empty list + * khtml/rendering/render_object.h: + * khtml/xml/dom_elementimpl.cpp: + (ElementImpl::scrollIntoViewIfNeeded): scrolls only if needed, bool decides to center to align to nearest edge + * khtml/xml/dom_elementimpl.h: Ditto + * kwq/DOM.mm: + (-[DOMNode boundingBox]): returns the bounding box for a node + (-[DOMNode lineBoxRects]): returns text runs for a node + * kwq/DOMCore.h: added missing @protocol DOMEventListener and @class DOMEvent + * kwq/DOMExtensions.h: removes methods that haven't been API reviewed + * kwq/DOMPrivate.h: new pending public API added for the Inspector + +2006-01-15 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - changed WebCore namespace change to work on Win32 as well as Mac OS X + + * WebCorePrefix.h: Removed things needed cross-platform. + + * config.h: Moved from khtml subdirectory. Added defines from + WebCorePrefix.h, and added a define that makes KSVG a synonym for WebCore. + * khtml/config.h: Removed. + + * khtml/css/css_grammar.y: Changed SVG functions to use function name rather + than namespace to avoid collision with the XML and HTML DOM. Changes tabs to spaces. + * khtml/css/css_valueimpl.cpp: + (WebCore::propertyID): Add SVG properties ot the ones understood here. + This allows us to set SVG properties from JavaScript. + + * ksvg2/scripts/cssmakeprops: Put functions inside the namespace to avoid compiler + warning, and renamed functions to include CSS and SVG. + * ksvg2/scripts/cssmakevalues: Ditto. + + * ksvg2/svg/SVGStyledElementImpl.cpp: (SVGStyledElementImpl::parseMappedAttribute): + Use property ID function by its new name. + + * ksvg2/ksvg.h: Renamed ExceptionCode to SVGExceptionCode. + + * khtml/ecma/XSLTProcessor.cpp: Moved "config.h" header up above the ifdef so that + the ifdef works. + * khtml/xbl/xbl_binding.cpp: Ditto. + * khtml/xbl/xbl_binding_manager.cpp: Ditto. + * khtml/xbl/xbl_docimpl.cpp: Ditto. + * khtml/xbl/xbl_protobinding.cpp: Ditto. + * khtml/xbl/xbl_tokenizer.cpp: Ditto. + * khtml/xsl/xsl_stylesheetimpl.cpp: Ditto. + * khtml/xsl/xslt_processorimpl.cpp: Ditto. + * loader/CachedXBLDocument.cpp: Ditto. + + * ksvg2/svg/SVGFELightElementImpl.h: Removed include of "config.h". That's supposed + to only be included by code files, not headers. + + * ksvg2/svg/SVGFEDistantLightElementImpl.cpp: Added missing include of "config.h". + Did a few other tweaks to the file. + * ksvg2/svg/SVGFEPointLightElementImpl.cpp: Ditto. + * ksvg2/svg/SVGFESpotLightElementImpl.cpp: Ditto. + +2006-01-15 Eric Seidel <eseidel@apple.com> + + Rubber-stamped by darin. + + Updated files w/ missing copyrights from Oliver. + + * kcanvas/device/quartz/filters/WKArithmeticFilter.cikernel: + * kcanvas/device/quartz/filters/WKDistantLightFilter.cikernel: + * kcanvas/device/quartz/filters/WKPointLightFilter.cikernel: + * kcanvas/device/quartz/filters/WKSpotLightFilter.cikernel: + * ksvg2/svg/SVGAnimatedColorImpl.cpp: + * ksvg2/svg/SVGAnimatedColorImpl.h: + * ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp: + * ksvg2/svg/SVGFEDiffuseLightingElementImpl.h: + * ksvg2/svg/SVGFEDistantLightElementImpl.cpp: + * ksvg2/svg/SVGFEDistantLightElementImpl.h: + * ksvg2/svg/SVGFELightElementImpl.cpp: + * ksvg2/svg/SVGFELightElementImpl.h: + * ksvg2/svg/SVGFEPointLightElementImpl.cpp: + * ksvg2/svg/SVGFEPointLightElementImpl.h: + * ksvg2/svg/SVGFESpecularLightingElementImpl.cpp: + * ksvg2/svg/SVGFESpecularLightingElementImpl.h: + * ksvg2/svg/SVGFESpotLightElementImpl.cpp: + * ksvg2/svg/SVGFESpotLightElementImpl.h: + +2006-01-15 Duncan Wilcox <duncan@mclink.it> + + Reviewed and tweaked a bit by Darin. + + Fix for <http://bugs.webkit.org/show_bug.cgi?id=6523> + "Extract data from SelectionController" + + This patch refactors the data portions of SelectionController into its + own class, "Selection". + + The extracted data are the base/extent/start/end positions and cursor + affinity. Also a couple cached values generated by validation are kept around + in the new class. + + This patch does away with all the different affinities + (start/end/base/extent) that were never implemented properly, since affinity + only makes sense when the selection is a caret (as per discussion with mjs and + darin on #webkit). + + No test cases added because this is a refactoring. + + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/MacFrame.mm: + (MacFrame::findString): + (MacFrame::advanceToNextMisspelling): + (MacFrame::baseWritingDirectionForSelectionStart): + (MacFrame::respondToChangedSelection): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge selectionState]): + (-[WebCoreFrameBridge selectNSRange:]): + (-[WebCoreFrameBridge selectionAffinity]): + (-[WebCoreFrameBridge setMarkDOMRange:]): + (-[WebCoreFrameBridge ensureSelectionVisible]): + (-[WebCoreFrameBridge rangeOfCharactersAroundCaret]): + * khtml/editing/Selection.cpp: Added. + (khtml::Selection::Selection): + (khtml::Selection::clear): + (khtml::Selection::toRange): + (khtml::Selection::validate): + (khtml::Selection::adjustForEditableContent): + (khtml::Selection::debugPosition): + * khtml/editing/Selection.h: Added. + (khtml::Selection::): + (khtml::Selection::state): + (khtml::Selection::setAffinity): + (khtml::Selection::affinity): + (khtml::Selection::setBase): + (khtml::Selection::setExtent): + (khtml::Selection::setStart): + (khtml::Selection::setEnd): + (khtml::Selection::base): + (khtml::Selection::extent): + (khtml::Selection::start): + (khtml::Selection::end): + (khtml::Selection::isNone): + (khtml::Selection::isCaret): + (khtml::Selection::isRange): + (khtml::Selection::isCaretOrRange): + (khtml::Selection::isBaseFirst): + (khtml::operator==): + (khtml::operator!=): + * khtml/editing/SelectionController.cpp: + (khtml::SelectionController::SelectionController): + (khtml::SelectionController::operator=): + (khtml::SelectionController::moveTo): + (khtml::SelectionController::setModifyBias): + (khtml::SelectionController::modifyExtendingRightForward): + (khtml::SelectionController::modifyMovingRightForward): + (khtml::SelectionController::modifyExtendingLeftBackward): + (khtml::SelectionController::modifyMovingLeftBackward): + (khtml::SelectionController::modify): + (khtml::SelectionController::expandUsingGranularity): + (khtml::SelectionController::xPosForVerticalArrowNavigation): + (khtml::SelectionController::clear): + (khtml::SelectionController::setBase): + (khtml::SelectionController::setExtent): + (khtml::SelectionController::toString): + (khtml::SelectionController::getRangeAt): + (khtml::SelectionController::frame): + (khtml::SelectionController::collapseToEnd): + (khtml::SelectionController::collapseToStart): + (khtml::SelectionController::layout): + (khtml::SelectionController::caretRect): + (khtml::SelectionController::needsCaretRepaint): + (khtml::SelectionController::paintCaret): + (khtml::SelectionController::debugRenderer): + (khtml::SelectionController::formatForDebugger): + (khtml::SelectionController::showTree): + * khtml/editing/SelectionController.h: + (khtml::SelectionController::state): + (khtml::SelectionController::affinity): + (khtml::SelectionController::base): + (khtml::SelectionController::extent): + (khtml::SelectionController::start): + (khtml::SelectionController::end): + (khtml::SelectionController::isNone): + (khtml::SelectionController::isCaret): + (khtml::SelectionController::isRange): + (khtml::SelectionController::isCaretOrRange): + (khtml::SelectionController::toRange): + (khtml::SelectionController::baseNode): + (khtml::SelectionController::extentNode): + (khtml::SelectionController::baseOffset): + (khtml::SelectionController::extentOffset): + (khtml::SelectionController::anchorNode): + (khtml::SelectionController::anchorOffset): + (khtml::SelectionController::focusNode): + (khtml::SelectionController::focusOffset): + (khtml::operator==): + * khtml/editing/apply_style_command.cpp: + (khtml::ApplyStyleCommand::updateStartEnd): + * khtml/editing/break_blockquote_command.cpp: + (khtml::BreakBlockquoteCommand::doApply): + * khtml/editing/delete_selection_command.cpp: + (khtml::DeleteSelectionCommand::initializePositionData): + (khtml::DeleteSelectionCommand::handleGeneralDelete): + (khtml::DeleteSelectionCommand::doApply): + * khtml/editing/insert_line_break_command.cpp: + (khtml::InsertLineBreakCommand::doApply): + * khtml/editing/insert_paragraph_separator_command.cpp: + (khtml::InsertParagraphSeparatorCommand::doApply): + * khtml/editing/insert_text_command.cpp: + (khtml::InsertTextCommand::input): + * khtml/editing/move_selection_command.cpp: + (khtml::MoveSelectionCommand::doApply): + * khtml/editing/replace_selection_command.cpp: + (khtml::ReplaceSelectionCommand::doApply): + (khtml::ReplaceSelectionCommand::completeHTMLReplacement): + * khtml/editing/typing_command.cpp: + (khtml::TypingCommand::deleteKeyPressed): + (khtml::TypingCommand::forwardDeleteKeyPressed): + (khtml::TypingCommand::markMisspellingsAfterTyping): + * khtml/xml/DocumentImpl.cpp: + (DocumentImpl::updateSelection): + * kwq/KWQAccObject.mm: + (-[KWQAccObject accessibilityAttributeValue:]): + (-[KWQAccObject doAXTextMarkerRangeForLine:]): + * kwq/KWQRenderTreeDebug.cpp: + (writeSelection): + * page/Frame.cpp: + (Frame::selectContentsOfNode): + (Frame::shouldChangeSelection): + (Frame::computeAndSetTypingStyle): + (Frame::applyStyle): + (Frame::applyParagraphStyle): + (Frame::selectFrameElementInParentIfFullySelected): + (Frame::revealSelection): + (Frame::centerSelectionInVisibleArea): + (Frame::styleForSelectionStart): + + * <a few other files, including editing ones>: Added includes since Selection.h and + SelectionController.h now include fewer things. + +2006-01-15 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Test: fast/text/whitespace/pre-wrap-overflow-selection.html + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5619 + CSS2: pre-wrap has overflow/selection problems + + * khtml/rendering/InlineTextBox.cpp: + (khtml::InlineTextBox::selectionRect): Clip selection rect to the text box + (khtml::InlineTextBox::paintSelection): Clip selection painting to the text box. + * khtml/rendering/bidi.cpp: (khtml::RenderBlock::computeHorizontalPositionsForLine): + Remove code that re-added border width, since it is already included in availableWidth. + +2006-01-15 Darin Adler <darin@apple.com> + + Reviewed by Anders. + + - fix regression in duplicate ID layout test + + * khtml/xml/DocumentImpl.cpp: + (DocumentImpl::getElementById): Change to take AtomicString, so we can use + the string pointer as a hash key and not worry about ref'ing the pointer or + about object lifetime since the string will be stored for the lifetime of the + ID attribute. Also update for the counted set formerly named m_idCount to use + its new name, m_duplicateIds. + (DocumentImpl::addElementById): Ditto. + (DocumentImpl::removeElementById): Ditto. + (DocumentImpl::recalcStyleSelector): Pass a DOMStringImpl* (see below). + * khtml/xml/DocumentImpl.h: Change functions to take AtomicString. + + * kcanvas/KCanvasFilters.cpp: (getFilterById): Use AtomicString. + * kcanvas/KCanvasFilters.h: Ditto. + * kcanvas/KCanvasResources.cpp: + (getResourceById): Ditto. + (getMarkerById): Ditto. + (getClipperById): Ditto. + (getMaskerById): Ditto. + (getPaintServerById): Ditto. + * kcanvas/KCanvasResources.h: Ditto. + * khtml/ecma/kjs_window.cpp: (KJS::Window::getOwnPropertySlot): Ditto. + * khtml/html/HTMLLabelElementImpl.cpp: + (DOM::HTMLLabelElementImpl::formElement): Ditto. + * khtml/xml/NodeListImpl.cpp: (DOM::NodeListImpl::itemById): Ditto. + * khtml/xml/NodeListImpl.h: Ditto. Also removed unnecessary "virtual". + + * khtml/ecma/kjs_css.cpp: + (KJS::DOMStyleSheetList::nameGetter): Pass a DOMStringImpl*, which gets + converted to an AtomicString implicitly, rather than a DOMString, which + does not. (But that's a crazy rule -- we should change this around long term.) + (KJS::DOMStyleSheetList::getOwnPropertySlot): Ditto. + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNodeList::nameGetter): Ditto. + (KJS::DOMNodeList::getOwnPropertySlot): Ditto. + (KJS::DOMDocumentProtoFunc::callAsFunction): Ditto. + + - Merge khtml, DOM, and KDOM into one big namespace, WebCore. + + * WebCorePrefix.h: Use defined to map the old namespace names to WebCore. + Now that this is done in the prefix, we can start actually calling it by + that name, phase out the old names, then remove the defines. + + - other changes + + * khtml/xml/DocumentTypeImpl.cpp: Converted tabs to spaces. + * khtml/xml/dom2_eventsimpl.cpp: Ditto. + +2006-01-15 Alexander Kellett <lypanov@kde.org> + + Reviewed and landed by Anders. + + http://bugs.webkit.org/show_bug.cgi?id=6553 + Remove KCanvasCommonArgs and pass around RenderPath objects instead. + + * WebCore.xcodeproj/project.pbxproj: + * kcanvas/KCanvasCreator.h: + * kcanvas/KCanvasItem.cpp: + * kcanvas/KCanvasItem.h: + * kcanvas/KCanvasTypes.h: Removed. + * kcanvas/device/KRenderingDevice.cpp: + * kcanvas/device/KRenderingDevice.h: + * kcanvas/device/KRenderingFillPainter.h: + * kcanvas/device/KRenderingPaintServer.h: + * kcanvas/device/KRenderingStrokePainter.h: + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (KCanvasItemQuartz::paint): + * kcanvas/device/quartz/KRenderingDeviceQuartz.h: + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + (drawShadingWithStyle): + (KRenderingPaintServerLinearGradientQuartz::draw): + (KRenderingPaintServerRadialGradientQuartz::draw): + * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: + * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: + (KRenderingPaintServerSolidQuartz::draw): + (KRenderingPaintServerPatternQuartz::draw): + (KRenderingPaintServerImageQuartz::draw): + * ksvg2/misc/KCanvasRenderingStyle.cpp: + * ksvg2/svg/SVGPatternElementImpl.h: + +2006-01-15 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6528 + remove all use of QDict from WebCore + + I ran performance tests and the change results in a slight improvement. + + * bridge/mac/MacFrame.h: Removed include of KWQDict.h. Changed didTellBridgeAboutLoad + and haveToldBridgeAboutLoad functions to take DOMString instead of QString. Changed + urlsBridgeKnowsAbout from a QDict to a HashMap. + * bridge/mac/MacFrame.mm: + (MacFrame::didTellBridgeAboutLoad): Updated to use QDict and DOMString. + (MacFrame::haveToldBridgeAboutLoad): Ditto. + + * khtml/editing/jsediting.h: Removed include of qdict.h. + + * khtml/rendering/render_frames.cpp: Removed include of qdict.h. Put file inside the + khtml namespace instead of just using the namespace. Changed tabs to spaces. + (khtml::RenderPartObject::updateWidget): Changed the local variable uniqueParamNames + to be a HashSet instead of a QDict. + + * khtml/xml/DocumentImpl.h: Removed include of qdict.h, changed m_elementsById, m_idCount, + and m_elementsByAccessKey to use HashMap and HashCountedSet instead of QDict. + * khtml/xml/DocumentImpl.cpp: Changed tabs to spaces. + (DocumentImpl::getElementById): Updated to use HashMap for m_elementsById and HashCountedSet + for m_idCount. + (DocumentImpl::addElementById): Ditto. Remove code to clear m_accessKeyDictValid, + since setDocumentChanged already takes care of that. + (DocumentImpl::removeElementById): Ditto. + (DocumentImpl::getElementByAccessKey): Updated to use HashMap for m_elementsByAccessKey. + (DocumentImpl::setDocumentChanged): Rearranged to do a couple fewer branches. Clear out + the m_elementsByAccessKey map when clearing m_accessKeyMapValid to avoid keeping stale + pointers around. + + * ksvg2/svg/SVGDocumentImpl.cpp: Removed include of q3dict.h. + + * WebCore.vcproj/WebCore/WebCore.vcproj: Removed obsolete QDict sources. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * ForwardingHeaders/q3dict.h: Removed. + * ForwardingHeaders/qdict.h: Removed. + * kwq/KWQDict.h: Removed. + * kwq/KWQDictImpl.cpp: Removed. + * kwq/KWQDictImpl.h: Removed. + + * WebCore+SVG/SVGNamesWrapper.cpp: Touched this file just so I could build again. + + * kwq/KWQKURL.h: Removed unused canonicalURL, _path, _user, _pass, and _host functions. + * kwq/KWQKURL.mm: Changed tabs to spaces, removed unused functions, replaced NULL with 0. + + * kwq/KWQLoader.mm: Changed tabs to spaces. + (KWQServeRequest): Removed QString conversion from call to didTellBridgeAboutLoad. + (KWQServeSynchronousRequest): Ditto. + (KWQCheckCacheObjectStatus): Ditto. Same for haveToldBridgeAboutLoad. + + * loader/Cache.h: Removed include of qdict.h. Changed declaration of the LRUList struct + to just be a forward declaration. Changed tabs to spaces. Removed the static data member + called "cache". Added a static member function called get. Renamed removeCacheEntry to remove. + * loader/Cache.cpp: Put file inside the khtml namespace instead of just using the + namespace. Changed tabs to spaces. Changed the main cache itself to a HashMap and + made it a static variable local to this file instead of a static data member of Cache + to hide its type from the header. Also made the LRUList type private to this file. + (khtml::Cache::init): Create a HashMap instead of a QDict. + (khtml::Cache::clear): To replace the use of setAutoDelete, write a loop to delete all the + items in the cache map. + (khtml::Cache::requestImage): Change code to use HashMap functions instead of QDict. + (khtml::Cache::requestStyleSheet): Ditto. + (khtml::Cache::preloadStyleSheet): Ditto. + (khtml::Cache::requestScript): Ditto. + (khtml::Cache::preloadScript): Ditto. + (khtml::Cache::requestXSLStyleSheet): Ditto. + (khtml::Cache::requestXBLDocument): Ditto. + (khtml::Cache::removeCacheEntry): Ditto. + (khtml::Cache::FastLog2): Fixed this for 64-bit compiles. + (khtml::Cache::getStatistics): Ditto. + (khtml::Cache::flushAll): Ditto. + (khtml::Cache::get): Added. Function used by the loader. + + * loader/CachedObject.h: Removed include of qdict.h. + + * loader/DocLoader.h: Removed include of qdict.h. + * loader/DocLoader.cpp: (khtml::DocLoader::needReload): Changed to use new get function of + Cache instead of getting at the map directly. Also changed call to removeCacheEntry + to remove because it was renamed. + + * loader/CachedImage.cpp: (khtml::CachedImage::data): Changed call to removeCacheEntry + to remove because it was renamed. + * loader/CachedImageCallback.cpp: (khtml::CachedImageCallback::handleError): Ditto. + * loader/loader.cpp: + (khtml::Loader::slotFinished): Ditto. + (khtml::Loader::cancelRequests): Ditto. + +2006-01-15 Alexander Kellett <lypanov@kde.org> + + Reviewed by eseidel. Landed by eseidel. + + <mask> inside <defs> crashes Safari. + http://bugs.webkit.org/show_bug.cgi?id=6548 + + Test: svg/custom/mask-inside-defs.svg + + * ksvg2/svg/SVGMaskElementImpl.cpp: + (KSVG::SVGMaskElementImpl::drawMaskerContent): + +2006-01-15 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Add basic <tspan> support using RenderInline. + http://bugs.webkit.org/show_bug.cgi?id=6428 + Also fix <text transform=""> while we're at it. + http://bugs.webkit.org/show_bug.cgi?id=6552 + + Covered by several existing tests. + + * ksvg2/svg/SVGGradientElementImpl.cpp: + (SVGGradientElementImpl::parseMappedAttribute): code cleanup + * ksvg2/svg/SVGPatternElementImpl.cpp: + (SVGPatternElementImpl::parseMappedAttribute): code cleanup + * ksvg2/svg/SVGStyledTransformableElementImpl.cpp: + (SVGStyledTransformableElementImpl::parseMappedAttribute): cleanup + * ksvg2/svg/SVGTSpanElementImpl.cpp: + (SVGTSpanElementImpl::childShouldCreateRenderer): added. + (SVGTSpanElementImpl::createRenderer): added. + * ksvg2/svg/SVGTSpanElementImpl.h: + (KSVG::SVGTSpanElementImpl::rendererIsNeeded): added. + * ksvg2/svg/SVGTextElementImpl.cpp: + (SVGTextElementImpl::transform): added. + (SVGTextElementImpl::localMatrix): added. + (SVGTextElementImpl::parseMappedAttribute): support transform. + (SVGTextElementImpl::updateLocalTransform): added. + (SVGTextElementImpl::attach): added. + (SVGTextElementImpl::childShouldCreateRenderer): allow tspan. + * ksvg2/svg/SVGTextElementImpl.h: + * ksvg2/svg/SVGTransformableImpl.cpp: + (SVGTransformableImpl::parseTransformAttribute): code cleanup. + * ksvg2/svg/SVGTransformableImpl.h: + +2006-01-14 David Hyatt <hyatt@apple.com> + + Move arena.cpp/.h out of khtml/misc and into platform/Arena.cpp/h. Also removed another unused + header, khtmldata.h. + + * WebCore.xcodeproj/project.pbxproj: + * khtml/misc/arena.cpp: Removed. + * khtml/misc/arena.h: Removed. + * khtml/misc/khtmldata.h: Removed. + * khtml/rendering/render_arena.h: + * platform/Arena.cpp: Added. + * platform/Arena.h: Added. + +2006-01-14 David Hyatt <hyatt@apple.com> + + Rename TokenizerString to SegmentedString and place it in the platform directory. + + * WebCore.xcodeproj/project.pbxproj: + * khtml/html/htmltokenizer.cpp: + (khtml::HTMLTokenizer::processListing): + (khtml::HTMLTokenizer::parseSpecial): + (khtml::HTMLTokenizer::scriptHandler): + (khtml::HTMLTokenizer::scriptExecution): + (khtml::HTMLTokenizer::parseComment): + (khtml::HTMLTokenizer::parseServer): + (khtml::HTMLTokenizer::parseProcessingInstruction): + (khtml::HTMLTokenizer::parseText): + (khtml::HTMLTokenizer::parseEntity): + (khtml::HTMLTokenizer::parseTag): + (khtml::HTMLTokenizer::write): + (khtml::HTMLTokenizer::timerEvent): + (khtml::HTMLTokenizer::notifyFinished): + (khtml::HTMLTokenizer::setSrc): + * khtml/html/htmltokenizer.h: + * khtml/misc/stringit.cpp: Removed. + * khtml/misc/stringit.h: Removed. + * khtml/xml/xml_tokenizer.cpp: + (khtml::XMLTokenizer::write): + * khtml/xml/xml_tokenizer.h: + * platform/SegmentedString.cpp: Added. + (WebCore::SegmentedString::length): + (WebCore::SegmentedString::clear): + (WebCore::SegmentedString::append): + (WebCore::SegmentedString::prepend): + (WebCore::SegmentedString::advanceSubstring): + (WebCore::SegmentedString::toString): + * platform/SegmentedString.h: Added. + (WebCore::SegmentedSubstring::SegmentedSubstring): + (WebCore::SegmentedString::SegmentedString): + +2006-01-14 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - added bridging infrastructure for Page class + + The Page class itself is coming very soon. + + * WebCore.exp: Export WebCorePageBridge. + * WebCore.xcodeproj/project.pbxproj: Add new files. + * bridge/mac/WebCorePageBridge.h: Added. + * bridge/mac/WebCorePageBridge.mm: Added. + (-[WebCorePageBridge initWithMainFrame:]): Added new class, obvious + (-[WebCorePageBridge dealloc]): ditto + (-[WebCorePageBridge mainFrame]): ditto + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge init]): Fixed style a bit. + +2006-01-14 David Hyatt <hyatt@apple.com> + + Win32 finds more khtml namespace issues with the movement + of Shared that gcc missed. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * khtml/xml/dom2_rangeimpl.cpp: + (DOM::RangeImpl::text): + * khtml/xml/dom_position.cpp: + +2006-01-14 David Hyatt <hyatt@apple.com> + + Move shared.h from khtml/misc into the platform directory and move it into the WebCore namespace. + + Reviewed by eseidel + + * ForwardingHeaders/kdom/Shared.h: Removed. + * WebCore+SVG/DOMList.h: + * WebCore+SVG/KDOMHeaders.h: + * WebCore+SVG/RGBColorImpl.h: + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/WebCoreFrameBridge.mm: + * kcanvas/KCanvasPath.h: + * khtml/css/css_base.h: + * khtml/css/css_ruleimpl.h: + * khtml/css/css_stylesheetimpl.h: + * khtml/css/css_valueimpl.h: + * khtml/dom/dom2_events.h: + * khtml/dom/dom2_traversal.h: + * khtml/ecma/kjs_dom.h: + * khtml/ecma/kjs_window.cpp: + * khtml/ecma/xmlserializer.cpp: + (KJS::XMLSerializerProtoFunc::callAsFunction): + * khtml/editing/SelectionController.h: + * khtml/editing/edit_command.h: + * khtml/editing/htmlediting.h: + * khtml/editing/visible_position.h: + * khtml/html/HTMLOptionsCollectionImpl.h: + * khtml/html/html_miscimpl.h: + * khtml/misc/shared.h: Removed. + * khtml/rendering/render_line.h: + * khtml/rendering/render_style.h: + * khtml/xml/DOMImplementationImpl.h: + * khtml/xml/DocumentImpl.h: + * khtml/xml/NamedNodeMapImpl.h: + * khtml/xml/NodeImpl.h: + * khtml/xml/NodeListImpl.h: + * khtml/xml/dom2_eventsimpl.h: + * khtml/xml/dom2_rangeimpl.h: + * khtml/xml/dom2_traversalimpl.h: + * khtml/xml/dom2_viewsimpl.h: + * khtml/xml/dom_elementimpl.h: + * khtml/xml/dom_qname.h: + * khtml/xml/dom_stringimpl.h: + * khtml/xsl/xslt_processorimpl.h: + * ksvg2/css/SVGRenderStyle.cpp: + (SVGRenderStyle::SVGRenderStyle): + * ksvg2/css/SVGRenderStyle.h: + * ksvg2/css/SVGRenderStyleDefs.cpp: + (StyleFillData::StyleFillData): + (StyleStrokeData::StyleStrokeData): + (StyleStopData::StyleStopData): + (StyleClipData::StyleClipData): + (StyleMaskData::StyleMaskData): + (StyleMarkerData::StyleMarkerData): + (StyleMiscData::StyleMiscData): + * ksvg2/css/SVGRenderStyleDefs.h: + * ksvg2/svg/SVGAngleImpl.cpp: + (SVGAngleImpl::SVGAngleImpl): + * ksvg2/svg/SVGAngleImpl.h: + * ksvg2/svg/SVGAnimatedBooleanImpl.cpp: + (SVGAnimatedBooleanImpl::SVGAnimatedBooleanImpl): + * ksvg2/svg/SVGAnimatedBooleanImpl.h: + * ksvg2/svg/SVGAnimatedEnumerationImpl.cpp: + (SVGAnimatedEnumerationImpl::SVGAnimatedEnumerationImpl): + * ksvg2/svg/SVGAnimatedEnumerationImpl.h: + * ksvg2/svg/SVGAnimatedIntegerImpl.cpp: + (SVGAnimatedIntegerImpl::SVGAnimatedIntegerImpl): + * ksvg2/svg/SVGAnimatedIntegerImpl.h: + * ksvg2/svg/SVGAnimatedLengthListImpl.h: + * ksvg2/svg/SVGAnimatedNumberImpl.cpp: + (SVGAnimatedNumberImpl::SVGAnimatedNumberImpl): + * ksvg2/svg/SVGAnimatedNumberImpl.h: + * ksvg2/svg/SVGAnimatedNumberListImpl.h: + * ksvg2/svg/SVGAnimatedPreserveAspectRatioImpl.h: + * ksvg2/svg/SVGAnimatedTemplate.h: + (KSVG::SVGAnimatedTemplate::SVGAnimatedTemplate): + * ksvg2/svg/SVGAnimatedTransformListImpl.h: + * ksvg2/svg/SVGDocumentImpl.cpp: + * ksvg2/svg/SVGLengthImpl.cpp: + (SVGLengthImpl::SVGLengthImpl): + * ksvg2/svg/SVGLengthImpl.h: + * ksvg2/svg/SVGMatrixImpl.cpp: + (SVGMatrixImpl::SVGMatrixImpl): + * ksvg2/svg/SVGMatrixImpl.h: + * ksvg2/svg/SVGNumberImpl.cpp: + (SVGNumberImpl::SVGNumberImpl): + * ksvg2/svg/SVGNumberImpl.h: + * ksvg2/svg/SVGPathSegImpl.cpp: + (SVGPathSegImpl::SVGPathSegImpl): + * ksvg2/svg/SVGPathSegImpl.h: + * ksvg2/svg/SVGPointImpl.cpp: + (SVGPointImpl::SVGPointImpl): + * ksvg2/svg/SVGPointImpl.h: + * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp: + (SVGPreserveAspectRatioImpl::SVGPreserveAspectRatioImpl): + * ksvg2/svg/SVGPreserveAspectRatioImpl.h: + * ksvg2/svg/SVGRectImpl.cpp: + (SVGRectImpl::SVGRectImpl): + * ksvg2/svg/SVGRectImpl.h: + * ksvg2/svg/SVGTransformImpl.cpp: + (SVGTransformImpl::SVGTransformImpl): + * ksvg2/svg/SVGTransformImpl.h: + * kwq/DOM-CSS.mm: + * kwq/KWQFontMetrics.mm: + * kwq/KWQMapImpl.cpp: + * kwq/KWQRegExp.cpp: + * kwq/KWQValueListImpl.cpp: + (KWQValueListImpl::KWQValueListPrivate::KWQValueListPrivate): + * kwq/KWQVariant.cpp: + * platform/ArrayImpl.h: + * platform/Shared.h: Added. + +2006-01-14 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Implement basic <foreignObject> support: + http://bugs.webkit.org/show_bug.cgi?id=5974 + Also fixed <image> to support clip, filter and mask + Updated <text> to support hit testing and clip, filter, mask + + Tests: + * svg/custom/image-with-transform-clip-filter.svg + * svg/custom/foreign-object-skew.svg + + * WebCore.xcodeproj/project.pbxproj: added files. + * kcanvas/RenderForeignObject.cpp: Added. + (RenderForeignObject::RenderForeignObject): + (RenderForeignObject::translationForAttributes): + (RenderForeignObject::paint): + (RenderForeignObject::nodeAtPoint): + * kcanvas/RenderForeignObject.h: Added. + (RenderForeignObject::renderName): added. + (RenderForeignObject::localTransform): added. + (RenderForeignObject::setLocalTransform): added. + * kcanvas/RenderSVGImage.cpp: + (RenderSVGImage::paint): added filter, clip mask support + * kcanvas/RenderSVGImage.h: + (KSVG::RenderSVGImage::localTransform): added. + (KSVG::RenderSVGImage::setLocalTransform): added. + * kcanvas/RenderSVGText.cpp: + (RenderSVGText::translationTopToBaseline): return qmatrix + (RenderSVGText::translationForAttributes): return qmatrix + (RenderSVGText::paint): added filter, clip, mask support + (RenderSVGText::nodeAtPoint): added. + * kcanvas/RenderSVGText.h: + (RenderSVGText::localTransform): added. + (RenderSVGText::setLocalTransform): added. + * khtml/rendering/render_object.h: + (khtml::RenderObject::setLocalTransform): added assert(0) + * ksvg2/css/svg.css: added foreignObject display: block + * ksvg2/svg/SVGForeignObjectElementImpl.cpp: Added. + (KSVG::SVGForeignObjectElementImpl::SVGForeignObjectElementImpl): + (KSVG::SVGForeignObjectElementImpl::~SVGForeignObjectElementImpl): + (KSVG::SVGForeignObjectElementImpl::x): + (KSVG::SVGForeignObjectElementImpl::y): + (KSVG::SVGForeignObjectElementImpl::width): + (KSVG::SVGForeignObjectElementImpl::height): + (KSVG::SVGForeignObjectElementImpl::parseMappedAttribute): + (KSVG::SVGForeignObjectElementImpl::createRenderer): + (KSVG::SVGForeignObjectElementImpl::childShouldCreateRenderer): + * ksvg2/svg/SVGForeignObjectElementImpl.h: Added. + (KSVG::SVGForeignObjectElementImpl::isValid): added + (KSVG::SVGForeignObjectElementImpl::rendererIsNeeded): added + * ksvg2/svg/SVGImageElementImpl.cpp: + (SVGImageElementImpl::attach): fixed static_cast + * ksvg2/svg/SVGLocatableImpl.cpp: + (SVGLocatableImpl::nearestViewportElement): foreignObject support + (SVGLocatableImpl::farthestViewportElement): foreignObject support + * ksvg2/svg/svgtags.in: added foreignObject + * kwq/KWQWMatrix.cpp: + (QWMatrix::isInvertible): fixed + +2006-01-14 Eric Seidel <eseidel@apple.com> + + Fix build break. (oops!) + + * khtml/xml/xml_tokenizer.cpp: + (khtml::XMLTokenizer::XMLTokenizer): + +2006-01-14 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Initialize m_isXHTMLDocument(false) properly. + No tests possible, random failure only. + + * khtml/xml/xml_tokenizer.cpp: + (khtml::XMLTokenizer::XMLTokenizer): + +2006-01-15 Alexander Kellett <lypanov@kde.org> + + Reviewed by eseidel. Landed by eseidel. + + Add support for svg css property writing-mode. + + No tests possible. + + * ksvg2/css/SVGCSSStyleSelector.cpp: + (KDOM::CSSStyleSelector::applySVGProperty): + * ksvg2/css/SVGRenderStyle.h: + (KSVG::SVGRenderStyle::InheritedFlags::): + (KSVG::SVGRenderStyle::setBitDefaults): + * ksvg2/css/SVGRenderStyleDefs.h: + (KSVG::): + +2006-01-14 Alexander Kellett <lypanov@kde.org> + + Reviewed by eseidel. Landed by eseidel. + + Refactor out cases of KCanvasRenderingStyle used as an instance to + store the current style. Temporarily unify the data passing via + KCanvasCommonArgs. + + No tests needed, no functional change. + + * kcanvas/KCanvasItem.cpp: Removing override of setStyle used to hook + into KCanvasRenderingStyle::updateStyle. + (RenderPath::commonArgs): + * kcanvas/KCanvasItem.h: + * kcanvas/KCanvasTreeDebug.cpp: + (writeStyle): + * kcanvas/KCanvasTypes.h: + * kcanvas/device/KRenderingDevice.cpp: + (KCanvasCommonArgs::KCanvasCommonArgs): + (KCanvasCommonArgs::renderStyle): + (KCanvasCommonArgs::setRenderStyle): + (KCanvasCommonArgs::renderPath): + (KCanvasCommonArgs::setRenderPath): + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (KCanvasItemQuartz::paint): + (KCanvasItemQuartz::bboxForPath): + (KCanvasItemQuartz::hitsPath): + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + (drawShadingWithStyle): + (KRenderingPaintServerLinearGradientQuartz::draw): + (KRenderingPaintServerRadialGradientQuartz::draw): + * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: + (KRenderingPaintServerSolidQuartz::draw): + (KRenderingPaintServerPatternQuartz::draw): + * kcanvas/device/quartz/QuartzSupport.h: + * kcanvas/device/quartz/QuartzSupport.mm: + (applyStrokeStyleToContext): + * ksvg2/misc/KCanvasRenderingStyle.cpp: Remove overrideFillPaintServer + and overrideStrokePaintServer hacks and make most other methods + static, remove most instance variables. + (KCanvasRenderingStyle::KCanvasRenderingStyle): + (KCanvasRenderingStyle::isFilled): + (KCanvasRenderingStyle::fillPaintServer): + (KCanvasRenderingStyle::isStroked): + (KCanvasRenderingStyle::strokePaintServer): + (KCanvasRenderingStyle::strokePainter): Merged stroke logic in from + updateStyle. + (KCanvasRenderingStyle::fillPainter): Merged fill logic in from + updateStyle. + * ksvg2/misc/KCanvasRenderingStyle.h: + +2006-01-14 David Hyatt <hyatt@apple.com> + + Move loader_client.h to CachedObjectClient.h. + + * WebCore.xcodeproj/project.pbxproj: + * khtml/css/css_ruleimpl.h: + * khtml/css/css_valueimpl.h: + * khtml/ecma/kjs_html.h: + * khtml/html/html_documentimpl.h: + * khtml/html/html_headimpl.h: + * khtml/html/htmltokenizer.h: + * khtml/rendering/render_object.h: + * khtml/xbl/xbl_binding.h: + * khtml/xml/dom_xmlimpl.h: + * khtml/xsl/xsl_stylesheetimpl.h: + * loader/CachedObject.h: + * loader/CachedObjectClient.h: Added. + * loader/CachedObjectClientWalker.h: + * loader/loader_client.h: Removed. + +2006-01-14 Anders Carlsson <andersca@mac.com> + + Reviewed by Eric and Hyatt. + + - http://bugs.webkit.org/show_bug.cgi?id=6544 + Remove unused headers. + + * ForwardingHeaders/kglobalsettings.h: Removed. + * ForwardingHeaders/kimageio.h: Removed. + * ForwardingHeaders/qasyncio.h: Removed. + * ForwardingHeaders/qstylesheet.h: Removed. + * kwq/KWQAsyncIO.h: Removed. + * kwq/KWQKGlobalSettings.h: Removed. + * kwq/KWQKImageIO.h: Removed. + * kwq/KWQStyleSheet.h: Removed. + + * WebCore.xcodeproj/project.pbxproj: + * khtml/ecma/kjs_window.cpp: + * khtml/html/html_documentimpl.cpp: + * khtml/xml/DocumentImpl.cpp: + (DocumentImpl::recalcStyle): + * loader/CachedImageCallback.cpp: + * loader/CachedObject.cpp: + * page/Frame.cpp: + * page/FrameView.cpp: + (KHTMLView::KHTMLView): + Remove header inclusions + +2006-01-14 David Hyatt <hyatt@apple.com> + + Shift the loader-related files out of the khtml/misc directory and into a new loader directory. + Remove the use of paths when including files from misc. + + * WebCore+SVG/KDOMHeaders.h: + * WebCore.xcodeproj/project.pbxproj: + * kcanvas/KCanvasPath.h: + * khtml/css/css_base.h: + * khtml/css/css_ruleimpl.cpp: + * khtml/css/css_ruleimpl.h: + * khtml/css/css_stylesheetimpl.cpp: + * khtml/css/css_valueimpl.h: + * khtml/css/csshelper.cpp: + * khtml/css/cssparser.cpp: + * khtml/css/cssstyleselector.cpp: + * khtml/dom/dom2_events.h: + * khtml/dom/dom2_traversal.h: + * khtml/ecma/kjs_dom.h: + * khtml/ecma/kjs_html.h: + * khtml/ecma/kjs_window.cpp: + * khtml/editing/SelectionController.h: + * khtml/editing/edit_command.h: + * khtml/editing/visible_position.h: + * khtml/editing/visible_units.cpp: + * khtml/html/HTMLOptionsCollectionImpl.h: + * khtml/html/html_baseimpl.cpp: + * khtml/html/html_baseimpl.h: + * khtml/html/html_canvasimpl.h: + * khtml/html/html_documentimpl.h: + * khtml/html/html_headimpl.cpp: + * khtml/html/html_headimpl.h: + * khtml/html/html_imageimpl.h: + * khtml/html/html_miscimpl.h: + * khtml/html/htmltokenizer.h: + * khtml/misc/Cache.cpp: Removed. + * khtml/misc/Cache.h: Removed. + * khtml/misc/CachedCSSStyleSheet.cpp: Removed. + * khtml/misc/CachedCSSStyleSheet.h: Removed. + * khtml/misc/CachedImage.cpp: Removed. + * khtml/misc/CachedImage.h: Removed. + * khtml/misc/CachedImageCallback.cpp: Removed. + * khtml/misc/CachedImageCallback.h: Removed. + * khtml/misc/CachedObject.cpp: Removed. + * khtml/misc/CachedObject.h: Removed. + * khtml/misc/CachedObjectClientWalker.cpp: Removed. + * khtml/misc/CachedObjectClientWalker.h: Removed. + * khtml/misc/CachedScript.cpp: Removed. + * khtml/misc/CachedScript.h: Removed. + * khtml/misc/CachedXBLDocument.cpp: Removed. + * khtml/misc/CachedXBLDocument.h: Removed. + * khtml/misc/CachedXSLStyleSheet.cpp: Removed. + * khtml/misc/CachedXSLStyleSheet.h: Removed. + * khtml/misc/DocLoader.cpp: Removed. + * khtml/misc/DocLoader.h: Removed. + * khtml/misc/Request.cpp: Removed. + * khtml/misc/Request.h: Removed. + * khtml/misc/loader.cpp: Removed. + * khtml/misc/loader.h: Removed. + * khtml/misc/loader_client.h: Removed. + * khtml/rendering/render_box.h: + * khtml/rendering/render_canvasimage.cpp: + * khtml/rendering/render_form.cpp: + * khtml/rendering/render_image.cpp: + * khtml/rendering/render_line.h: + * khtml/rendering/render_list.cpp: + * khtml/rendering/render_object.h: + * khtml/rendering/render_style.h: + * khtml/rendering/render_table.h: + * khtml/rendering/table_layout.h: + * khtml/xbl/xbl_binding.cpp: + * khtml/xbl/xbl_binding.h: + * khtml/xml/DOMImplementationImpl.h: + * khtml/xml/DocumentImpl.cpp: + * khtml/xml/DocumentImpl.h: + * khtml/xml/dom2_eventsimpl.h: + * khtml/xml/dom2_rangeimpl.h: + * khtml/xml/dom2_traversalimpl.h: + * khtml/xml/dom2_viewsimpl.h: + * khtml/xml/dom_elementimpl.h: + * khtml/xml/dom_nodeimpl.h: + * khtml/xml/dom_stringimpl.h: + * khtml/xml/dom_xmlimpl.h: + * khtml/xml/xml_tokenizer.h: + * khtml/xsl/xsl_stylesheetimpl.cpp: + * khtml/xsl/xslt_processorimpl.h: + * kwq/KWQFontMetrics.mm: + * kwq/KWQMapImpl.cpp: + * kwq/KWQRegExp.cpp: + * kwq/KWQValueListImpl.cpp: + * kwq/KWQVariant.cpp: + * loader: Added. + * loader/Cache.cpp: Added. + * loader/Cache.h: Added. + * loader/CachedCSSStyleSheet.cpp: Added. + * loader/CachedCSSStyleSheet.h: Added. + * loader/CachedImage.cpp: Added. + * loader/CachedImage.h: Added. + * loader/CachedImageCallback.cpp: Added. + * loader/CachedImageCallback.h: Added. + * loader/CachedObject.cpp: Added. + * loader/CachedObject.h: Added. + * loader/CachedObjectClientWalker.cpp: Added. + * loader/CachedObjectClientWalker.h: Added. + * loader/CachedScript.cpp: Added. + * loader/CachedScript.h: Added. + * loader/CachedXBLDocument.cpp: Added. + * loader/CachedXBLDocument.h: Added. + * loader/CachedXSLStyleSheet.cpp: Added. + * loader/CachedXSLStyleSheet.h: Added. + * loader/DocLoader.cpp: Added. + * loader/DocLoader.h: Added. + * loader/Request.cpp: Added. + * loader/Request.h: Added. + * loader/loader.cpp: Added. + * loader/loader.h: Added. + * loader/loader_client.h: Added. + * page/Frame.cpp: + * page/FramePrivate.h: + * page/FrameView.cpp: + +2006-01-14 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt + + break classes in dom_nodeimpl.* into separate files (one per class) + http://bugs.webkit.org/show_bug.cgi?id=6543 + + * ForwardingHeaders/kdom/core/NodeImpl.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/MacFrame.h: + * bridge/mac/WebCoreFrameBridge.mm: + * khtml/css/css_base.h: + * khtml/css/css_stylesheetimpl.cpp: + * khtml/css/css_valueimpl.cpp: + * khtml/css/css_valueimpl.h: + * khtml/ecma/kjs_binding.cpp: + * khtml/ecma/kjs_dom.cpp: + * khtml/ecma/kjs_dom.h: + * khtml/ecma/kjs_events.cpp: + * khtml/ecma/kjs_html.cpp: + * khtml/ecma/kjs_traversal.cpp: + * khtml/editing/SelectionController.cpp: + * khtml/editing/append_node_command.cpp: + * khtml/editing/htmlediting.cpp: + * khtml/editing/htmlediting.h: + * khtml/editing/insert_node_before_command.cpp: + * khtml/editing/remove_node_attribute_command.h: + * khtml/editing/remove_node_command.cpp: + * khtml/editing/remove_node_preserving_children_command.cpp: + * khtml/editing/set_node_attribute_command.h: + * khtml/editing/visible_position.cpp: + * khtml/editing/visible_text.cpp: + * khtml/html/HTMLOptionElementImpl.cpp: + * khtml/html/html_headimpl.cpp: + * khtml/html/htmlparser.cpp: + * khtml/khtml_events.cpp: + * khtml/rendering/render_block.cpp: + * khtml/rendering/render_box.cpp: + * khtml/rendering/render_flow.cpp: + * khtml/rendering/render_frames.h: + * khtml/rendering/render_line.cpp: + * khtml/rendering/render_object.h: + * khtml/xml/ChildNodeListImpl.cpp: Added. + * khtml/xml/ChildNodeListImpl.h: Added. + * khtml/xml/ContainerNodeImpl.cpp: Added. + (DOM::ContainerNodeImpl::removeAllChildren): + (DOM::ContainerNodeImpl::checkSameDocument): + (DOM::ContainerNodeImpl::getRect): + (DOM::ContainerNodeImpl::dispatchChildRemovalEvents): + * khtml/xml/ContainerNodeImpl.h: Added. + * khtml/xml/DocumentFragmentImpl.cpp: + * khtml/xml/DocumentFragmentImpl.h: + * khtml/xml/DocumentImpl.cpp: + * khtml/xml/DocumentImpl.h: + (DOM::DocumentImpl::setTextColor): + * khtml/xml/DocumentTypeImpl.cpp: + * khtml/xml/DocumentTypeImpl.h: + * khtml/xml/NameNodeListImpl.cpp: Added. + * khtml/xml/NameNodeListImpl.h: Added. + * khtml/xml/NamedNodeMapImpl.h: Added. + (DOM::NamedNodeMapImpl::NamedNodeMapImpl): + (DOM::NamedNodeMapImpl::~NamedNodeMapImpl): + * khtml/xml/NodeImpl.cpp: Added. + (DOM::TagNodeListImpl::TagNodeListImpl): + (DOM::TagNodeListImpl::length): + (DOM::TagNodeListImpl::item): + (DOM::TagNodeListImpl::nodeMatches): + (DOM::NodeImpl::getRect): + * khtml/xml/NodeImpl.h: Added. + * khtml/xml/NodeListImpl.cpp: Added. + * khtml/xml/NodeListImpl.h: Added. + * khtml/xml/dom2_eventsimpl.h: + * khtml/xml/dom_elementimpl.h: + * khtml/xml/dom_nodeimpl.cpp: Removed. + * khtml/xml/dom_nodeimpl.h: Removed. + * khtml/xml/dom_position.cpp: + * khtml/xml/dom_textimpl.h: + * khtml/xml/dom_xmlimpl.cpp: + * khtml/xml/dom_xmlimpl.h: + * khtml/xml/xml_tokenizer.cpp: + * khtml/xsl/xsl_stylesheetimpl.cpp: + * khtml/xsl/xslt_processorimpl.h: + * ksvg2/svg/SVGURIReferenceImpl.cpp: + * kwq/DOM.mm: + * kwq/DOMHTML.mm: + * kwq/DOMUtility.mm: + * kwq/KWQClipboard.h: + * page/FrameView.cpp: + +2006-01-14 David Hyatt <hyatt@apple.com> + + Convert QMemArray to Array. QByteArray becomes ByteArray. + KWQArrayImpl becomes ArrayImpl. + + Reviewed by anders + + * ForwardingHeaders/qmemarray.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * khtml/css/cssstyleselector.h: + * khtml/ecma/xmlhttprequest.cpp: + (KJS::XMLHttpRequest::send): + (KJS::XMLHttpRequest::processSyncLoadResults): + * khtml/ecma/xmlhttprequest.h: + * khtml/html/HTMLOptionElementImpl.cpp: + (DOM::HTMLOptionElementImpl::index): + * khtml/html/HTMLSelectElementImpl.cpp: + (DOM::HTMLSelectElementImpl::selectedIndex): + (DOM::HTMLSelectElementImpl::setSelectedIndex): + (DOM::HTMLSelectElementImpl::length): + (DOM::HTMLSelectElementImpl::remove): + (DOM::HTMLSelectElementImpl::value): + (DOM::HTMLSelectElementImpl::setValue): + (DOM::HTMLSelectElementImpl::state): + (DOM::HTMLSelectElementImpl::restoreState): + (DOM::HTMLSelectElementImpl::appendFormData): + (DOM::HTMLSelectElementImpl::optionToListIndex): + (DOM::HTMLSelectElementImpl::listToOptionIndex): + (DOM::HTMLSelectElementImpl::reset): + (DOM::HTMLSelectElementImpl::notifyOptionSelected): + * khtml/html/HTMLSelectElementImpl.h: + (DOM::HTMLSelectElementImpl::listItems): + * khtml/misc/formdata.cpp: + (khtml::FormData::flatten): + (khtml::FormData::flattenToString): + * khtml/misc/formdata.h: + (khtml::FormDataElement::FormDataElement): + * khtml/rendering/bidi.cpp: + (khtml::RenderBlock::layoutInlineChildren): + * khtml/rendering/render_form.cpp: + (RenderSelect::updateFromElement): + (RenderSelect::layout): + (RenderSelect::slotSelected): + (RenderSelect::slotSelectionChanged): + (RenderSelect::updateSelection): + * khtml/rendering/render_table.cpp: + (RenderTableSection::addCell): + (RenderTableSection::setCellWidths): + * khtml/rendering/render_table.h: + * khtml/rendering/table_layout.cpp: + (FixedTableLayout::layout): + * khtml/rendering/table_layout.h: + * khtml/xsl/xslt_processorimpl.cpp: + (DOM::docLoaderFunc): + * kwq/KWQArrayImpl.cpp: Removed. + * kwq/KWQArrayImpl.h: Removed. + * kwq/KWQBuffer.cpp: + (QBuffer::setBuffer): + * kwq/KWQBuffer.h: + (QBuffer::QBuffer): + (QBuffer::buffer): + * kwq/KWQCString.cpp: + (QCString::QCString): + (QCString::resize): + (QCString::append): + * kwq/KWQCString.h: + * kwq/KWQKURL.mm: + (findHostnamesInMailToURL): + (encodeHostnames): + * kwq/KWQLoader.h: + * kwq/KWQLoader.mm: + (KWQServeSynchronousRequest): + * kwq/KWQMemArray.h: Removed. + * kwq/KWQPixmap.h: + * kwq/KWQPixmap.mm: + (QPixmap::QPixmap): + (QPixmap::receivedData): + * kwq/KWQString.h: + * kwq/KWQString.mm: + (QString::QString): + * kwq/KWQTextCodec.cpp: + (QTextCodec::toUnicode): + * kwq/KWQTextCodec.h: + * kwq/KWQTextStream.cpp: + (QTextStream::QTextStream): + * kwq/KWQTextStream.h: + * page/Frame.h: + * platform/Array.h: Added. + (WebCore::Array::Array): + (WebCore::Array::duplicate): + (WebCore::Array::assign): + (WebCore::Array::operator==): + (WebCore::Array::operator!=): + * platform/ArrayImpl.cpp: Added. + (WebCore::ArrayImpl::ArrayPrivate::ArrayPrivate): + (WebCore::ArrayImpl::ArrayPrivate::~ArrayPrivate): + (WebCore::ArrayImpl::ArrayImpl): + (WebCore::ArrayImpl::~ArrayImpl): + (WebCore::ArrayImpl::operator=): + (WebCore::ArrayImpl::data): + (WebCore::ArrayImpl::resize): + (WebCore::ArrayImpl::duplicate): + (WebCore::ArrayImpl::detach): + (WebCore::ArrayImpl::fill): + (WebCore::ArrayImpl::operator==): + * platform/ArrayImpl.h: Added. + (WebCore::ArrayImpl::size): + * platform/IntPointArray.cpp: + (IntPointArray::setPoint): + * platform/IntPointArray.h: + (WebCore::IntPointArray::IntPointArray): + +2006-01-14 David Hyatt <hyatt@apple.com> + + Convert QRect/QRectF -> IntRect/FloatRect. Same drill as point + and size. + + Reviewed by mjs + + * ForwardingHeaders/qrect.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/MacFrame.mm: + (MacFrame::snapshotDragImage): + (MacFrame::setDisplaysWithFocusAttributes): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge drawRect:withPainter:]): + (-[WebCoreFrameBridge firstRectForDOMRange:]): + (-[WebCoreFrameBridge ensureSelectionVisible]): + * kcanvas/KCanvasContainer.cpp: + (KCanvasContainer::relativeBBox): + (KCanvasContainer::getAspectRatio): + * kcanvas/KCanvasContainer.h: + * kcanvas/KCanvasFilters.cpp: + (KCanvasFilterEffect::subRegion): + (KCanvasFilterEffect::setSubRegion): + * kcanvas/KCanvasFilters.h: + (KCanvasFilter::filterRect): + (KCanvasFilter::setFilterRect): + * kcanvas/KCanvasItem.cpp: + (RenderPath::relativeBBox): + * kcanvas/KCanvasItem.h: + * kcanvas/KCanvasResources.cpp: + (KCanvasMarker::draw): + * kcanvas/KCanvasResources.h: + * kcanvas/KCanvasTreeDebug.cpp: + (operator<<): + * kcanvas/KCanvasTreeDebug.h: + * kcanvas/RenderSVGImage.cpp: + (RenderSVGImage::paint): + * kcanvas/device/KRenderingDevice.h: + * kcanvas/device/KRenderingPaintServerPattern.cpp: + (KRenderingPaintServerPattern::setBbox): + (KRenderingPaintServerPattern::bbox): + * kcanvas/device/KRenderingPaintServerPattern.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (KCanvasFilterQuartz::prepareFilter): + (KCanvasFilterQuartz::applyFilter): + * kcanvas/device/quartz/KCanvasItemQuartz.h: + (KCanvasItemQuartz::getAbsoluteRepaintRect): + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (drawMarkerWithData): + (KCanvasItemQuartz::drawMarkersIfNeeded): + (KCanvasItemQuartz::bboxForPath): + * kcanvas/device/quartz/KCanvasMaskerQuartz.h: + * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: + (KCanvasMaskerQuartz::applyMask): + * kcanvas/device/quartz/KCanvasResourcesQuartz.h: + (KCanvasContainerQuartz::getAbsoluteRepaintRect): + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + (KCanvasContainerQuartz::layout): + (KCanvasContainerQuartz::paint): + (KCanvasContainerQuartz::setViewport): + (KCanvasContainerQuartz::viewport): + (KCanvasContainerQuartz::setViewBox): + (KCanvasContainerQuartz::viewBox): + (KCanvasContainerQuartz::absoluteTransform): + (KCanvasClipperQuartz::applyClip): + * kcanvas/device/quartz/KRenderingDeviceQuartz.h: + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (KRenderingDeviceContextQuartz::mapFromVisual): + (KRenderingDeviceContextQuartz::mapToVisual): + * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: + (KRenderingPaintServerImageQuartz::draw): + * kcanvas/device/quartz/QuartzSupport.h: + * khtml/ecma/kjs_window.cpp: + (KJS::Screen::getValueProperty): + (KJS::showModalDialog): + (KJS::Window::getValueProperty): + (KJS::constrainToVisible): + (KJS::WindowFunc::callAsFunction): + * khtml/editing/SelectionController.cpp: + (khtml::caretY): + (khtml::SelectionController::layout): + (khtml::SelectionController::caretRect): + (khtml::SelectionController::caretRepaintRect): + (khtml::SelectionController::paintCaret): + * khtml/editing/SelectionController.h: + * khtml/html/html_imageimpl.cpp: + (DOM::HTMLAreaElementImpl::getRect): + * khtml/html/html_imageimpl.h: + * khtml/html/html_inlineimpl.cpp: + (DOM::HTMLAnchorElementImpl::isFocusable): + * khtml/misc/CachedImage.cpp: + (khtml::CachedImage::valid_rect): + (khtml::CachedImage::do_notify): + (khtml::CachedImage::error): + * khtml/misc/CachedImage.h: + * khtml/misc/khtmllayout.h: + (khtml::GapRects::left): + (khtml::GapRects::center): + (khtml::GapRects::right): + (khtml::GapRects::uniteLeft): + (khtml::GapRects::uniteCenter): + (khtml::GapRects::uniteRight): + (khtml::GapRects::operator IntRect): + * khtml/misc/loader_client.h: + (khtml::CachedObjectClient::setPixmap): + * khtml/rendering/InlineTextBox.cpp: + (khtml::InlineTextBox::selectionRect): + (khtml::InlineTextBox::nodeAtPoint): + * khtml/rendering/InlineTextBox.h: + * khtml/rendering/RenderText.cpp: + (khtml::RenderText::absoluteRects): + (khtml::RenderText::caretRect): + (khtml::RenderText::getAbsoluteRepaintRect): + (khtml::RenderText::selectionRect): + * khtml/rendering/RenderText.h: + * khtml/rendering/bidi.cpp: + (khtml::RenderBlock::layoutInlineChildren): + * khtml/rendering/font.cpp: + (khtml::Font::selectionRectForText): + * khtml/rendering/font.h: + * khtml/rendering/render_block.cpp: + (khtml::RenderBlock::overflowRect): + (khtml::RenderBlock::layoutBlock): + (khtml::RenderBlock::getAbsoluteRepaintRectIncludingFloats): + (khtml::RenderBlock::paint): + (khtml::RenderBlock::fillHorizontalSelectionGap): + (khtml::RenderBlock::fillVerticalSelectionGap): + (khtml::RenderBlock::fillLeftSelectionGap): + (khtml::RenderBlock::fillRightSelectionGap): + (khtml::RenderBlock::floatRect): + (khtml::RenderBlock::isPointInScrollbar): + (khtml::RenderBlock::nodeAtPoint): + * khtml/rendering/render_block.h: + (khtml::RenderBlock::selectionRect): + * khtml/rendering/render_box.cpp: + (RenderBox::nodeAtPoint): + (RenderBox::paintBoxDecorations): + (RenderBox::paintBackgroundExtended): + (RenderBox::getOverflowClipRect): + (RenderBox::getClipRect): + (RenderBox::getAbsoluteRepaintRect): + (RenderBox::computeAbsoluteRepaintRect): + (RenderBox::caretRect): + * khtml/rendering/render_box.h: + (khtml::RenderBox::borderBox): + * khtml/rendering/render_br.cpp: + (khtml::RenderBR::caretRect): + * khtml/rendering/render_br.h: + (khtml::RenderBR::selectionRect): + * khtml/rendering/render_button.cpp: + (khtml::RenderButton::paintObject): + * khtml/rendering/render_canvas.cpp: + (RenderCanvas::repaintViewRectangle): + (RenderCanvas::getAbsoluteRepaintRect): + (RenderCanvas::computeAbsoluteRepaintRect): + (RenderCanvas::absoluteRects): + (RenderCanvas::selectionRect): + (RenderCanvas::viewRect): + * khtml/rendering/render_canvas.h: + (khtml::RenderCanvas::printRect): + (khtml::RenderCanvas::setPrintRect): + * khtml/rendering/render_canvasimage.cpp: + (RenderCanvasImage::paint): + (RenderCanvasImage::layout): + * khtml/rendering/render_flexbox.cpp: + (khtml::RenderFlexibleBox::layoutBlock): + * khtml/rendering/render_flow.cpp: + (RenderFlow::getAbsoluteRepaintRect): + (RenderFlow::caretRect): + (RenderFlow::paintOutlines): + (RenderFlow::paintOutlineForLine): + * khtml/rendering/render_flow.h: + * khtml/rendering/render_frames.cpp: + (RenderFrameSet::userResize): + (RenderPart::updateWidgetPosition): + * khtml/rendering/render_image.cpp: + (RenderImage::setImage): + (RenderImage::setPixmap): + (RenderImage::paint): + (RenderImage::layout): + * khtml/rendering/render_image.h: + * khtml/rendering/render_inline.cpp: + (RenderInline::absoluteRects): + * khtml/rendering/render_inline.h: + * khtml/rendering/render_layer.cpp: + (khtml::RenderLayer::updateLayerPositions): + (khtml::RenderLayer::scrollRectToVisible): + (khtml::RenderLayer::getRectToExpose): + (khtml::RenderLayer::positionScrollbars): + (khtml::RenderLayer::updateScrollInfoAfterLayout): + (khtml::RenderLayer::paintScrollbars): + (khtml::RenderLayer::paint): + (khtml::setClip): + (khtml::restoreClip): + (khtml::RenderLayer::paintLayer): + (khtml::RenderLayer::hitTest): + (khtml::RenderLayer::hitTestLayer): + (khtml::RenderLayer::calculateClipRects): + (khtml::RenderLayer::calculateRects): + (khtml::mustExamineRenderer): + (khtml::RenderLayer::intersectsDamageRect): + (khtml::RenderLayer::containsPoint): + * khtml/rendering/render_layer.h: + (khtml::ClipRects::m_refCnt): + (khtml::ClipRects::overflowClipRect): + (khtml::ClipRects::fixedClipRect): + (khtml::ClipRects::posClipRect): + (khtml::RenderLayer::repaintRect): + * khtml/rendering/render_line.cpp: + (khtml::InlineBox::canAccommodateEllipsis): + (khtml::InlineFlowBox::nodeAtPoint): + (khtml::InlineFlowBox::paintBackground): + (khtml::InlineFlowBox::paintBackgroundAndBorder): + (khtml::EllipsisBox::nodeAtPoint): + * khtml/rendering/render_list.cpp: + (RenderListItem::getAbsoluteRepaintRect): + (RenderListMarker::setPixmap): + * khtml/rendering/render_list.h: + * khtml/rendering/render_object.cpp: + (RenderObject::paintBorderImage): + (RenderObject::paintBorder): + (RenderObject::absoluteRects): + (RenderObject::absoluteBoundingBoxRect): + (RenderObject::addAbsoluteRectForLayer): + (RenderObject::paintingRootRect): + (RenderObject::repaintRectangle): + (RenderObject::repaintAfterLayoutIfNeeded): + (RenderObject::getAbsoluteRepaintRectWithOutline): + (RenderObject::getAbsoluteRepaintRect): + (RenderObject::getAbsoluteRepaintRectIncludingFloats): + (RenderObject::computeAbsoluteRepaintRect): + (RenderObject::viewRect): + (RenderObject::caretRect): + (RenderObject::addDashboardRegions): + (RenderObject::setPixmap): + * khtml/rendering/render_object.h: + (khtml::RenderObject::getOverflowClipRect): + (khtml::RenderObject::getClipRect): + (khtml::RenderObject::relativeBBox): + (khtml::RenderObject::PaintInfo::PaintInfo): + (khtml::RenderObject::RepaintInfo::m_repaintRect): + (khtml::RenderObject::borderBox): + (khtml::RenderObject::overflowRect): + (khtml::RenderObject::floatRect): + (khtml::RenderObject::selectionRect): + (khtml::RenderObject::SelectionInfo::rect): + * khtml/rendering/render_replaced.cpp: + (RenderReplaced::selectionRect): + (RenderWidget::paint): + (RenderWidget::updateWidgetPosition): + * khtml/rendering/render_replaced.h: + * khtml/rendering/render_table.cpp: + (RenderTable::layout): + (RenderTableRow::getAbsoluteRepaintRect): + (RenderTableCell::computeAbsoluteRepaintRect): + (RenderTableCell::getAbsoluteRepaintRect): + (RenderTableCell::paintBoxDecorations): + * khtml/rendering/render_table.h: + * khtml/rendering/render_theme.cpp: + (khtml::RenderTheme::paint): + * khtml/rendering/render_theme.h: + (khtml::RenderTheme::adjustRepaintRect): + * khtml/rendering/render_theme_mac.h: + * khtml/rendering/render_theme_mac.mm: + (khtml::RenderThemeMac::adjustRepaintRect): + (khtml::RenderThemeMac::inflateRect): + (khtml::RenderThemeMac::paintCheckbox): + (khtml::RenderThemeMac::setCheckboxCellState): + (khtml::RenderThemeMac::paintRadio): + (khtml::RenderThemeMac::setRadioCellState): + (khtml::RenderThemeMac::setButtonCellState): + (khtml::RenderThemeMac::paintButton): + * khtml/xml/dom_elementimpl.cpp: + (ElementImpl::scrollIntoView): + * khtml/xml/dom_nodeimpl.cpp: + (DOM::NodeImpl::getRect): + (DOM::ContainerNodeImpl::getRect): + * khtml/xml/dom_nodeimpl.h: + * ksvg2/css/SVGRenderStyle.h: + * ksvg2/svg/SVGFilterElementImpl.cpp: + (SVGFilterElementImpl::canvasResource): + * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp: + (SVGFilterPrimitiveStandardAttributesImpl::setStandardAttributes): + * ksvg2/svg/SVGLengthImpl.cpp: + (SVGLengthImpl::value): + * ksvg2/svg/SVGLocatableImpl.cpp: + (SVGLocatableImpl::getBBox): + * ksvg2/svg/SVGMaskElementImpl.cpp: + (KSVG::SVGMaskElementImpl::drawMaskerContent): + * ksvg2/svg/SVGPatternElementImpl.cpp: + (SVGPatternElementImpl::drawPatternContentIntoTile): + * ksvg2/svg/SVGSVGElementImpl.cpp: + (SVGSVGElementImpl::checkIntersection): + (SVGSVGElementImpl::checkEnclosure): + (SVGSVGElementImpl::createRenderer): + * kwq/KWQAccObject.mm: + (boundingBoxRect): + (-[KWQAccObject position]): + (-[KWQAccObject size]): + (-[KWQAccObject doAXBoundsForTextMarkerRange:]): + * kwq/KWQApplication.h: + * kwq/KWQApplication.mm: + (QDesktopWidget::screenGeometry): + (QDesktopWidget::availableGeometry): + * kwq/KWQComboBox.h: + * kwq/KWQComboBox.mm: + (QComboBox::frameGeometry): + (QComboBox::setFrameGeometry): + * kwq/KWQFileButton.h: + * kwq/KWQFileButton.mm: + (KWQFileButton::frameGeometry): + (KWQFileButton::setFrameGeometry): + * kwq/KWQFontMetrics.h: + * kwq/KWQFontMetrics.mm: + (QFontMetrics::selectionRectForText): + (QFontMetrics::boundingRect): + * kwq/KWQKWinModule.h: + * kwq/KWQKWinModule.mm: + (KWinModule::workArea): + * kwq/KWQObject.h: + * kwq/KWQPainter.h: + * kwq/KWQPainter.mm: + (QPainter::xForm): + (QPainter::drawPixmap): + (QPainter::fillRect): + (QPainter::addClip): + (QPainter::addRoundedRectClip): + * kwq/KWQPixmap.h: + * kwq/KWQPixmap.mm: + (QPixmap::setAnimationRect): + (QPixmap::rect): + * kwq/KWQRect.h: Removed. + * kwq/KWQRect.mm: Removed. + * kwq/KWQRectF.h: Removed. + * kwq/KWQRectF.mm: Removed. + * kwq/KWQRegion.cpp: + (QRegion::QRegion): + (QRegion::boundingRect): + * kwq/KWQRegion.h: + * kwq/KWQRenderTreeDebug.cpp: + (operator<<): + (write): + (writeLayers): + (externalRepresentation): + * kwq/KWQScrollView.h: + * kwq/KWQScrollView.mm: + (QScrollView::updateContents): + * kwq/KWQWMatrix.cpp: + (QWMatrix::mapRect): + * kwq/KWQWMatrix.h: + * kwq/KWQWidget.h: + * kwq/KWQWidget.mm: + (QWidget::resize): + (QWidget::move): + (QWidget::frameGeometry): + (QWidget::setFrameGeometry): + (QWidget::paint): + * kwq/KWQWindowWidget.h: + * kwq/KWQWindowWidget.mm: + (KWQWindowWidget::frameGeometry): + (KWQWindowWidget::setFrameGeometry): + * page/Frame.cpp: + (Frame::gotoAnchor): + (Frame::paintCaret): + (Frame::paintDragCaret): + (Frame::selectionRect): + (Frame::revealSelection): + (Frame::paint): + (Frame::adjustPageHeight): + (Frame::centerSelectionInVisibleArea): + * page/Frame.h: + * page/FrameView.cpp: + (KHTMLView::addRepaintInfo): + (KHTMLView::scrollTo): + (KHTMLView::focusNextPrevNode): + (KHTMLView::repaintRectangle): + * page/FrameView.h: + * platform/FloatRect.cpp: Added. + (WebCore::FloatRect::FloatRect): + (WebCore::FloatRect::isNull): + (WebCore::FloatRect::isValid): + (WebCore::FloatRect::isEmpty): + (WebCore::FloatRect::right): + (WebCore::FloatRect::bottom): + (WebCore::FloatRect::topLeft): + (WebCore::FloatRect::topRight): + (WebCore::FloatRect::bottomRight): + (WebCore::FloatRect::bottomLeft): + (WebCore::FloatRect::size): + (WebCore::FloatRect::unite): + (WebCore::FloatRect::normalize): + (WebCore::FloatRect::intersects): + (WebCore::FloatRect::intersect): + (WebCore::FloatRect::inflate): + (WebCore::operator==): + (WebCore::operator!=): + * platform/FloatRect.h: Added. + (WebCore::FloatRect::contains): + (WebCore::FloatRect::operator&): + (WebCore::enclosingIntRect): + * platform/IntPointArray.cpp: + (IntPointArray::IntPointArray): + (IntPointArray::boundingRect): + * platform/IntPointArray.h: + * platform/IntRect.cpp: Added. + (WebCore::IntRect::IntRect): + (WebCore::IntRect::isNull): + (WebCore::IntRect::isValid): + (WebCore::IntRect::isEmpty): + (WebCore::IntRect::right): + (WebCore::IntRect::bottom): + (WebCore::IntRect::topLeft): + (WebCore::IntRect::topRight): + (WebCore::IntRect::bottomRight): + (WebCore::IntRect::bottomLeft): + (WebCore::IntRect::size): + (WebCore::IntRect::unite): + (WebCore::IntRect::normalize): + (WebCore::IntRect::intersects): + (WebCore::IntRect::intersect): + (WebCore::IntRect::inflate): + (WebCore::operator==): + (WebCore::operator!=): + * platform/IntRect.h: Added. + (WebCore::IntRect::contains): + (WebCore::IntRect::operator&): + * platform/mac/FloatRect.mm: Added. + (WebCore::FloatRect::FloatRect): + (WebCore::FloatRect::operator NSRect): + (WebCore::FloatRect::operator CGRect): + * platform/mac/IntRect.mm: Added. + (WebCore::IntRect::IntRect): + (WebCore::IntRect::operator NSRect): + (WebCore::IntRect::operator CGRect): + +2006-01-13 David Hyatt <hyatt@apple.com> + + Convert QPointF to FloatPoint and move it to the platform + directory. + + * WebCore.xcodeproj/project.pbxproj: + * kcanvas/KCanvasContainer.cpp: + (KCanvasContainer::fillContains): + (KCanvasContainer::strokeContains): + * kcanvas/KCanvasContainer.h: + * kcanvas/KCanvasFilters.h: + (KCanvasFEConvolveMatrix::kernelUnitLength): + (KCanvasFEConvolveMatrix::setKernelUnitLength): + * kcanvas/KCanvasItem.cpp: + (RenderPath::fillContains): + (RenderPath::strokeContains): + * kcanvas/KCanvasItem.h: + * kcanvas/KCanvasTreeDebug.cpp: + (operator<<): + * kcanvas/KCanvasTreeDebug.h: + * kcanvas/device/KRenderingPaintServerGradient.cpp: + (KRenderingPaintServerLinearGradient::gradientStart): + (KRenderingPaintServerLinearGradient::setGradientStart): + (KRenderingPaintServerLinearGradient::gradientEnd): + (KRenderingPaintServerLinearGradient::setGradientEnd): + (KRenderingPaintServerRadialGradient::gradientCenter): + (KRenderingPaintServerRadialGradient::setGradientCenter): + (KRenderingPaintServerRadialGradient::gradientFocal): + (KRenderingPaintServerRadialGradient::setGradientFocal): + * kcanvas/device/KRenderingPaintServerGradient.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (ciVector): + * kcanvas/device/quartz/KCanvasItemQuartz.h: + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (KCanvasItemQuartz::nodeAtPoint): + (KCanvasItemQuartz::hitsPath): + * ksvg2/svg/SVGLinearGradientElementImpl.cpp: + (SVGLinearGradientElementImpl::buildGradient): + * ksvg2/svg/SVGRadialGradientElementImpl.cpp: + (SVGRadialGradientElementImpl::buildGradient): + * kwq/KWQPointF.h: Removed. + * kwq/KWQPointF.mm: Removed. + * kwq/KWQRectF.h: + (QRectF::contains): + * kwq/KWQRectF.mm: + (QRectF::QRectF): + (QRectF::topLeft): + (QRectF::topRight): + (QRectF::bottomRight): + (QRectF::bottomLeft): + * platform/FloatPoint.cpp: Added. + (WebCore::FloatPoint::FloatPoint): + (WebCore::yCoord): + (WebCore::operator+): + (WebCore::operator-): + (WebCore::operator*): + * platform/FloatPoint.h: Added. + (WebCore::FloatPoint::operator -=): + * platform/mac/FloatPoint.mm: Added. + (WebCore::FloatPoint::FloatPoint): + (WebCore::FloatPoint::operator NSPoint): + (WebCore::FloatPoint::operator CGPoint): + +2006-01-13 David Hyatt <hyatt@apple.com> + + Convert QPoint and QPointArray to IntPoint and IntPointArray. + Factor out the Objective-C-specific logic into a .mm file + for IntPoint. + + * ForwardingHeaders/qpoint.h: Removed. + * ForwardingHeaders/qpointarray.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/KWQKHTMLView.cpp: + (KHTMLView::viewportToGlobal): + * bridge/mac/KWQKPartsBrowserExtension.h: + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (MacFrame::khtmlMouseMoveEvent): + (MacFrame::dragSourceMovedTo): + (MacFrame::dragSourceEndedAt): + (MacFrame::dispatchDragSrcEvent): + * bridge/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge elementAtPoint:]): + (-[WebCoreFrameBridge dragOperationForDraggingInfo:]): + (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]): + (-[WebCoreFrameBridge concludeDragForDraggingInfo:]): + (-[WebCoreFrameBridge dragSourceMovedTo:]): + (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): + * kcanvas/KCanvasItem.h: + * kcanvas/KCanvasTreeDebug.cpp: + (operator<<): + * kcanvas/KCanvasTreeDebug.h: + * kcanvas/device/KRenderingPaintServerGradient.cpp: + * kcanvas/device/KRenderingPaintServerPattern.h: + * khtml/ecma/kjs_events.cpp: + (KJS::ClipboardProtoFunc::callAsFunction): + * khtml/ecma/kjs_window.cpp: + (KJS::WindowFunc::callAsFunction): + * khtml/editing/SelectionController.cpp: + (khtml::SelectionController::layout): + (khtml::SelectionController::caretRect): + * khtml/editing/SelectionController.h: + * khtml/html/html_canvasimpl.cpp: + * khtml/html/html_imageimpl.cpp: + (DOM::HTMLAreaElementImpl::mapMouseEvent): + (DOM::HTMLAreaElementImpl::getRegion): + * khtml/rendering/render_image.cpp: + (RenderImage::paint): + * khtml/rendering/render_list.cpp: + (RenderListMarker::paint): + * khtml/rendering/render_object.cpp: + (RenderObject::drawBorder): + * khtml/xml/dom2_eventsimpl.h: + * ksvg2/svg/SVGPointImpl.cpp: + (SVGPointImpl::SVGPointImpl): + * ksvg2/svg/SVGPointImpl.h: + * ksvg2/svg/SVGSVGElementImpl.cpp: + (SVGSVGElementImpl::createSVGPoint): + * ksvg2/svg/SVGSVGElementImpl.h: + * kwq/KWQClipboard.h: + * kwq/KWQClipboard.mm: + (KWQClipboard::dragLocation): + (KWQClipboard::setDragImage): + (KWQClipboard::setDragImageElement): + * kwq/KWQCursor.h: + * kwq/KWQEvent.h: + (QMouseEvent::pos): + (QWheelEvent::QWheelEvent): + (QWheelEvent::pos): + (QWheelEvent::globalPos): + * kwq/KWQEvent.mm: + (positionForEvent): + (globalPositionForEvent): + * kwq/KWQPainter.h: + * kwq/KWQPainter.mm: + (QPainter::drawConvexPolygon): + (QPainter::drawPixmap): + * kwq/KWQPixmap.mm: + (QPixmap::rect): + * kwq/KWQPoint.mm: Removed. + * kwq/KWQPointArray.cpp: Removed. + * kwq/KWQPointArray.h: Removed. + * kwq/KWQPointF.h: + * kwq/KWQPointF.mm: + (yCoord): + * kwq/KWQRect.h: + (QRect::moveTopLeft): + (QRect::contains): + * kwq/KWQRect.mm: + (QRect::QRect): + (QRect::topLeft): + (QRect::topRight): + (QRect::bottomRight): + (QRect::bottomLeft): + * kwq/KWQRegion.cpp: + (QRegion::QRegion): + (QRegion::contains): + * kwq/KWQRegion.h: + * kwq/KWQScrollView.h: + * kwq/KWQScrollView.mm: + (QScrollView::contentsToViewport): + * kwq/KWQWidget.h: + * kwq/KWQWidget.mm: + (QWidget::pos): + (QWidget::move): + (QWidget::mapFromGlobal): + * kwq/KWQWindowWidget.h: + * kwq/KWQWindowWidget.mm: + (KWQWindowWidget::mapFromGlobal): + (KWQWindowWidget::viewportToGlobal): + * page/Frame.h: + * page/FramePrivate.h: + * page/FrameView.cpp: + (KHTMLView::dispatchDragEvent): + (KHTMLView::updateDragAndDrop): + (KHTMLView::cancelDragAndDrop): + (KHTMLView::performDragAndDrop): + * page/FrameView.h: + * platform/IntPoint.cpp: Added. + (WebCore::IntPoint::IntPoint): + (WebCore::operator+): + (WebCore::operator-): + (WebCore::operator*): + * platform/IntPoint.h: Added. + (WebCore::IntPoint::x): + (WebCore::IntPoint::y): + (WebCore::IntPoint::setX): + (WebCore::IntPoint::setY): + (WebCore::IntPoint::isNull): + (WebCore::IntPoint::operator -=): + * platform/IntPointArray.cpp: Added. + (IntPointArray::IntPointArray): + (IntPointArray::copy): + (IntPointArray::boundingRect): + (IntPointArray::point): + (IntPointArray::setPoint): + (IntPointArray::setPoints): + * platform/IntPointArray.h: Added. + (WebCore::IntPointArray::IntPointArray): + +2006-01-13 David Hyatt <hyatt@apple.com> + + Convert QSizeF to FloatSize and move it to the platform + directory. + + * WebCore.xcodeproj/project.pbxproj: + * kcanvas/KCanvasFilters.h: + (KCanvasFEConvolveMatrix::kernelSize): + (KCanvasFEConvolveMatrix::setKernelSize): + (KCanvasFEConvolveMatrix::targetOffset): + (KCanvasFEConvolveMatrix::setTargetOffset): + * kcanvas/KCanvasTreeDebug.cpp: + (operator<<): + * kcanvas/KCanvasTreeDebug.h: + * kwq/KWQRectF.h: + * kwq/KWQRectF.mm: + (QRectF::QRectF): + (QRectF::size): + * kwq/KWQSizeF.h: Removed. + * kwq/KWQSizeF.mm: Removed. + * platform/FloatSize.cpp: Added. + (FloatSize::FloatSize): + (FloatSize::isValid): + (FloatSize::expandedTo): + (operator+): + (operator==): + (operator!=): + * platform/FloatSize.h: Added. + * platform/mac/FloatSize.mm: Added. + (FloatSize::FloatSize): + (FloatSize::operator NSSize): + (FloatSize::operator CGSize): + +2006-01-13 David Hyatt <hyatt@apple.com> + + Fix build bustage from QSize -> IntSize change. + + Reviewed by darin + + * kwq/KWQObject.h: + * kwq/KWQSizeF.h: + +2006-01-13 David Hyatt <hyatt@apple.com> + + Eliminate QSize and add the new class IntSize in the + platform subdirectory. Factor out the Objective-C portion + of IntSize into a platform-specific IntSize.mm that resides + in the mac subdirectory. + + Win32 can just compile IntSize.cpp and doesn't need any + platform-specific extension here. + + Reviewed by darin + + * WebCore.xcodeproj/project.pbxproj: + * kcanvas/KCanvasImage.h: + * kcanvas/device/quartz/KCanvasResourcesQuartz.h: + (KCanvasImageQuartz::init): + (KCanvasImageQuartz::size): + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (KRenderingDeviceQuartz::contextForImage): + * khtml/css/cssstyleselector.cpp: + (khtml::CSSStyleSelector::applyProperty): + * khtml/ecma/kjs_html.cpp: + (KJS::Image::getValueProperty): + * khtml/ecma/kjs_window.cpp: + (KJS::WindowFunc::callAsFunction): + * khtml/misc/CachedImage.cpp: + (khtml::CachedImage::pixmap_size): + (khtml::CachedImage::data): + * khtml/misc/CachedImage.h: + * khtml/misc/CachedImageCallback.cpp: + (khtml::CachedImageCallback::notifyUpdate): + (khtml::CachedImageCallback::notifyFinished): + * khtml/rendering/render_applet.cpp: + (RenderApplet::createWidgetIfNecessary): + * khtml/rendering/render_form.cpp: + (RenderLineEdit::calcMinMaxWidth): + (RenderFileButton::calcMinMaxWidth): + (RenderSelect::layout): + (RenderTextArea::calcMinMaxWidth): + (RenderSlider::calcMinMaxWidth): + * khtml/rendering/render_image.cpp: + (RenderImage::paint): + * khtml/rendering/render_object.cpp: + (RenderObject::paintBorder): + * khtml/rendering/render_style.h: + (khtml::RenderStyle::borderTopLeftRadius): + (khtml::RenderStyle::borderTopRightRadius): + (khtml::RenderStyle::borderBottomLeftRadius): + (khtml::RenderStyle::borderBottomRightRadius): + (khtml::RenderStyle::setBorderTopLeftRadius): + (khtml::RenderStyle::setBorderTopRightRadius): + (khtml::RenderStyle::setBorderBottomLeftRadius): + (khtml::RenderStyle::setBorderBottomRightRadius): + (khtml::RenderStyle::setBorderRadius): + (khtml::RenderStyle::initialBorderRadius): + * khtml/rendering/render_theme_mac.h: + * khtml/rendering/render_theme_mac.mm: + (khtml::RenderThemeMac::inflateRect): + (khtml::RenderThemeMac::setControlSize): + (khtml::RenderThemeMac::sizeForFont): + (khtml::RenderThemeMac::setSizeFromFont): + (khtml::RenderThemeMac::checkboxSizes): + (khtml::RenderThemeMac::setCheckboxCellState): + (khtml::RenderThemeMac::radioSizes): + (khtml::RenderThemeMac::setRadioCellState): + (khtml::RenderThemeMac::buttonSizes): + (khtml::RenderThemeMac::setButtonCellState): + (khtml::RenderThemeMac::paintButton): + * ksvg2/svg/SVGMaskElementImpl.cpp: + (KSVG::SVGMaskElementImpl::attributeChanged): + (KSVG::SVGMaskElementImpl::drawMaskerContent): + * ksvg2/svg/SVGPatternElementImpl.cpp: + (SVGPatternElementImpl::drawPatternContentIntoTile): + (SVGPatternElementImpl::notifyAttributeChange): + * ksvg2/svg/SVGPatternElementImpl.h: + * kwq/KWQComboBox.h: + * kwq/KWQComboBox.mm: + (QComboBox::sizeHint): + * kwq/KWQFileButton.h: + * kwq/KWQFileButton.mm: + (KWQFileButton::sizeForCharacterWidth): + * kwq/KWQFontMetrics.h: + * kwq/KWQFontMetrics.mm: + (QFontMetrics::size): + * kwq/KWQKJavaAppletWidget.h: + * kwq/KWQKJavaAppletWidget.mm: + (KJavaAppletWidget::KJavaAppletWidget): + * kwq/KWQLineEdit.h: + * kwq/KWQLineEdit.mm: + (QLineEdit::sizeForCharacterWidth): + * kwq/KWQListBox.h: + * kwq/KWQListBox.mm: + (QListBox::sizeForNumberOfLines): + * kwq/KWQObject.h: + * kwq/KWQPainter.h: + * kwq/KWQPainter.mm: + (QPainter::addRoundedRectClip): + * kwq/KWQPixmap.h: + * kwq/KWQPixmap.mm: + (QPixmap::QPixmap): + (QPixmap::size): + (QPixmap::resize): + * kwq/KWQRect.h: + * kwq/KWQRect.mm: + (QRect::QRect): + (QRect::size): + * kwq/KWQSize.h: Removed. + * kwq/KWQSize.mm: Removed. + * kwq/KWQSizeF.h: + * kwq/KWQSizeF.mm: + (QSizeF::QSizeF): + * kwq/KWQSlider.h: + * kwq/KWQSlider.mm: + (QSlider::sizeHint): + * kwq/KWQStyle.cpp: + (QStyle::sizeFromContents): + * kwq/KWQStyle.h: + * kwq/KWQTextEdit.h: + * kwq/KWQTextEdit.mm: + (QTextEdit::sizeWithColumnsAndRows): + * kwq/KWQWidget.h: + * kwq/KWQWidget.mm: + (QWidget::sizeHint): + (QWidget::size): + (QWidget::resize): + * kwq/KWQWindowWidget.h: + * kwq/KWQWindowWidget.mm: + (KWQWindowWidget::sizeHint): + * platform: Added. + * platform/IntSize.cpp: Added. + (WebCore::IntSize::IntSize): + (WebCore::IntSize::isValid): + (WebCore::IntSize::expandedTo): + (WebCore::operator+): + (WebCore::operator==): + (WebCore::operator!=): + * platform/IntSize.h: Added. + * platform/mac: Added. + * platform/mac/IntSize.mm: Added. + (WebCore::IntSize::IntSize): + (WebCore::IntSize::operator NSSize): + (WebCore::IntSize::operator CGSize): + +2006-01-13 Maks Orlovich <maksim@kde.org> + + Reviewed, redone a bit, and landed by Darin (help from Eric too). + + - fix http://bugs.webkit.org/show_bug.cgi?id=4586 + rowIndex calculation doesn't consider head to come before body. + + Test: fast/table/rowindex.html + + * khtml/html/html_tableimpl.cpp: (DOM::HTMLTableRowElementImpl::rowIndex): + Change algorithm so the rows are numbered in this order: (a) all rows in the + table header section, (b) all rows in all table body sections, (c) all rows + in the table footer section. Rows in extra table header or footer sections + don't get row numbers (rowIndex returns -1). This matches Firefox. + +2006-01-13 Mark Rowe <opendarwin.org@bdash.net.nz> + + Reviewed, tweaked, and landed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6509 + content property with supported value followed by currently unsupported open-quote displays duplicated content + + Test: fast/css-generated-content/no-openclose-quote.html + + * khtml/css/cssparser.cpp: (CSSParser::parseContent): Make sure parsedValue + is always initialized to 0 (in particular for the CSS_IDENT case which is + currently unimplemented). + +2006-01-13 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed and landed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6418 + Incorrect scrollbar when using overflow:auto and word-wrap:break-word; in some cases + + Test: fast/text/basic/015.html + + * khtml/rendering/bidi.cpp: + (khtml::RenderBlock::findNextLineBreak): + Avoid inconsistent width measurement when breaking in the middle of a + word is allowed. Eliminate the relaxation by 1 of the width overflow + check that was supposed to compensate for the inconsistency but didn't + always work, and on the other hand sometimes resulted in allowing text + to overflow its container by one pixel. + Also applied start and end width correctly in the break-words case. + +2006-01-12 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Eric. + + - rename WebCoreBridge to WebCoreFrameBridge + + * WebCore.exp: + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/KWQKHTMLPartBrowserExtension.mm: + (KHTMLPartBrowserExtension::createNewWindow): + * bridge/mac/MacFrame.h: + (MacFrame::bridge): + * bridge/mac/MacFrame.mm: + (MacFrame::submitForm): + (MacFrame::createPart): + (MacFrame::bridgeForWidget): + (MacFrame::documentViewForNode): + (MacFrame::setBridge): + * bridge/mac/WebCoreBridge.h: Removed. + * bridge/mac/WebCoreBridge.mm: Removed. + * bridge/mac/WebCoreFrameBridge.h: Added. + * bridge/mac/WebCoreFrameBridge.mm: Added. + (-[WebCoreFrameBridge executionContextForView:]): + (frameHasSelection): + (-[WebCoreFrameBridge firstChild]): + (-[WebCoreFrameBridge lastChild]): + (-[WebCoreFrameBridge previousSibling]): + (-[WebCoreFrameBridge nextSibling]): + (-[WebCoreFrameBridge isDescendantOfFrame:]): + (-[WebCoreFrameBridge traverseNextFrameStayWithin:]): + (-[WebCoreFrameBridge appendChild:]): + (-[WebCoreFrameBridge removeChild:]): + (-[WebCoreFrameBridge childFrameNamed:]): + (-[WebCoreFrameBridge _deepLastChildFrame]): + (-[WebCoreFrameBridge nextFrameWithWrap:]): + (-[WebCoreFrameBridge previousFrameWithWrap:]): + (-[WebCoreFrameBridge _shouldAllowAccessFrom:]): + (-[WebCoreFrameBridge _descendantFrameNamed:sourceFrame:]): + (-[WebCoreFrameBridge _frameInAnyWindowNamed:sourceFrame:]): + (-[WebCoreFrameBridge findFrameNamed:]): + (+[WebCoreFrameBridge bridgeForDOMDocument:]): + (-[WebCoreFrameBridge setParent:]): + (-[WebCoreFrameBridge parent]): + (nowPrinting): + (-[WebCoreFrameBridge opener]): + (-[WebCoreFrameBridge setOpener:]): + (+[WebCoreFrameBridge stringWithData:textEncodingName:]): + * kwq/KWQAccObject.mm: + (-[KWQAccObject rendererForView:]): + * kwq/KWQComboBox.mm: + (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]): + * kwq/KWQFileButton.mm: + (KWQFileButton::focusPolicy): + * kwq/KWQFrame.mm: + * kwq/KWQKJavaAppletWidget.mm: + * kwq/KWQLineEdit.mm: + * kwq/KWQListBox.mm: + (-[KWQTableView keyDown:]): + (-[KWQTableView keyUp:]): + * kwq/KWQLoader.mm: + (KWQServeRequest): + (KWQServeSynchronousRequest): + (KWQCheckCacheObjectStatus): + (KWQCacheObjectExpiresTime): + * kwq/KWQSlider.mm: + (QSlider::focusPolicy): + * kwq/KWQTextArea.mm: + (-[KWQTextAreaTextView textDidChange:]): + (-[KWQTextAreaTextView _trackResizeFromMouseDown:]): + (-[KWQTextAreaTextView keyDown:]): + (-[KWQTextAreaTextView keyUp:]): + * kwq/KWQTextField.mm: + (-[KWQTextFieldController controlTextDidBeginEditing:]): + (-[KWQTextFieldController controlTextDidEndEditing:]): + (-[KWQTextFieldController controlTextDidChange:]): + (-[KWQTextFieldController control:textView:doCommandBySelector:]): + (-[KWQTextFieldController textView:shouldHandleEvent:]): + * kwq/KWQWidget.mm: + (QWidget::setFocus): + * kwq/KWQWindowWidget.h: + * kwq/KWQWindowWidget.mm: + (KWQWindowWidget::KWQWindowWidget): + * kwq/WebCoreFrameNamespaces.h: + * kwq/WebCoreFrameNamespaces.m: + (+[WebCoreFrameNamespaces addFrame:toNamespace:]): + * kwq/WebCoreFrameView.h: + * kwq/WebCoreSettings.mm: + * kwq/WebCoreTextRendererFactory.mm: + * kwq/WebCoreViewFactory.h: + +2006-01-13 Darin Adler <darin@apple.com> + + - Replaced tabs with spaces in source files that had less than 10 lines with tabs. + - Set allow-tabs Subversion property in source files that have more than 10 lines with tabs. + +2006-01-13 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Remove CG dependencies from kcanvas/device/quartz + http://bugs.webkit.org/show_bug.cgi?id=6521 + Adding file omitted from last commit. + + * kcanvas/RenderSVGImage.cpp: + (RenderSVGImage::paint): removed cg calls + +2006-01-13 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Remove CG dependencies from kcanvas/device/quartz + http://bugs.webkit.org/show_bug.cgi?id=6521 + + * kcanvas/KCanvasFilters.h: + * kcanvas/KCanvasResources.h: + * kcanvas/device/KRenderingDevice.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (KCanvasFilterQuartz::prepareFilter): removed parameter + (KCanvasFilterQuartz::applyFilter): removed parameter + * kcanvas/device/quartz/KCanvasItemQuartz.h: + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (KCanvasItemQuartz::drawMarkersIfNeeded): removed cg call + (KCanvasItemQuartz::paint): removed cg calls + (getSharedContext): spacing + * kcanvas/device/quartz/KCanvasMaskerQuartz.h: + * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: + (KCanvasMaskerQuartz::applyMask): removed parameter + * kcanvas/device/quartz/KCanvasResourcesQuartz.h: + (KCanvasClipperQuartz::KCanvasClipperQuartz): + (KCanvasImageQuartz::KCanvasImageQuartz): + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + (KCanvasContainerQuartz::paint): removed CG calls + (KCanvasClipperQuartz::applyClip): removed parameter + (KCanvasImageQuartz::~KCanvasImageQuartz): + (KCanvasImageQuartz::cgLayer): spacing + (KCanvasImageQuartz::setCGLayer): spacing + * kcanvas/device/quartz/KRenderingDeviceQuartz.h: + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (KRenderingDeviceContextQuartz::clearPath): added. + (KRenderingDeviceContextQuartz::addPath): added. + (KRenderingDeviceQuartz::quartzContext): spacing + +2006-01-13 Darin Adler <darin@apple.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6508 + retire APPLE_CHANGES + + * WebCore.vcproj/WebCore/WebCore.vcproj: Don't set APPLE_CHANGES or + HAVE_CONFIG_H any more. + + * WebCore.xcodeproj/project.pbxproj: Don't set APPLE_CHANGES or + KHTML_NO_CPLUSPLUS_DOM any more. + + * kcanvas/KCanvasFilters.h: + Use __APPLE__ instead of APPLE_CHANGES. + + * bridge/mac/MacFrame.mm: (MacFrame::respondToChangedContents): + * kcanvas/KCanvasTreeDebug.cpp: + * ksvg2/svg/SVGAElementImpl.cpp: (SVGAElementImpl::defaultEventHandler): + * ksvg2/svg/SVGElementImpl.h: (KSVG::svg_dynamic_cast): + * ksvg2/svg/SVGScriptElementImpl.cpp: (SVGScriptElementImpl::executeScript): + * page/Frame.cpp: (Frame::paint): + Make some APPLE_CHANGES code unconditional. + + * WebCore+SVG/kdom.h: + * ksvg2/ecma/Ecma.cpp: (Ecma::setupDocument): + * ksvg2/svg/SVGCursorElementImpl.cpp: + * ksvg2/svg/SVGImageElementImpl.cpp: + Remove some !APPLE_CHANGES code. + + * ksvg2/svg/SVGDocumentImpl.h: + Remove some unneeded APPLE_CHANGES code. + + * khtml/rendering/render_flexbox.cpp: (khtml::RenderFlexibleBox::layoutVerticalBox): + Remove a misleading mention of APPLE_CHANGES in a comment. + + Also changed tabs to spaces in files I am committing. + +2006-01-12 David Hyatt <hyatt@apple.com> + + Get the misc directory compiling on Win32. + + * ForwardingHeaders/kio/jobclasses.h: + * ForwardingHeaders/qasyncio.h: + * WebCore.vcproj/WebCore/WebCore.vcproj: + * khtml/misc/CachedImage.cpp: + (khtml::CachedImage::data): + * khtml/misc/decoder.cpp: + (KanjiCode::): + +2006-01-12 David Hyatt <hyatt@apple.com> + + Make the ecma directory compile on Win32. + + * ForwardingHeaders/kconfig.h: + * ForwardingHeaders/kwinmodule.h: + * ForwardingHeaders/qguardedptr.h: + * ForwardingHeaders/qstylesheet.h: + * WebCore.vcproj/WebCore/WebCore.vcproj: + * WebCore.vcproj/WebCore/build-generated-files.sh: + * khtml/ecma/XSLTProcessor.cpp: + * khtml/ecma/kjs_binding.cpp: + (KJS::ScriptInterpreter::createLanguageInstanceForValue): + * khtml/ecma/kjs_css.h: + * khtml/ecma/kjs_dom.cpp: + (KJS::getRuntimeObject): + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::Context2DFunction::callAsFunction): + (KJS::Context2D::setShadow): + (KJS::Context2D::updateFillImagePattern): + (KJS::Context2D::updateStrokeImagePattern): + (KJS::Context2D::putValueProperty): + (KJS::Gradient::commonInit): + (KJS::Gradient::~Gradient): + (KJS::_rh): + * khtml/ecma/kjs_html.h: + * khtml/ecma/kjs_window.cpp: + (KJS::intFeature): + +2006-01-12 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dave Hyatt. + + - removed leftover files from form split, fix remaining include of the header. + + * khtml/html/html_formimpl.cpp: Removed. + * khtml/html/html_formimpl.h: Removed. + * page/Frame.cpp: + +2006-01-12 David Hyatt <hyatt@apple.com> + + Make the editing directory compile on Win32. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * khtml/editing/jsediting.cpp: + +2006-01-12 David Hyatt <hyatt@apple.com> + + Get the HTML, XML, and Rendering directories compiling on + Win32. Add the bash script for generated files as well. + + * ForwardingHeaders/kio/job.h: + * ForwardingHeaders/ksslkeygen.h: + * ForwardingHeaders/qpoint.h: + * ForwardingHeaders/qpointarray.h: + * ForwardingHeaders/qtextstream.h: + * WebCore.vcproj/WebCore/WebCore.vcproj: + * khtml/html/HTMLSelectElementImpl.cpp: + (DOM::HTMLSelectElementImpl::state): + * khtml/html/html_canvasimpl.cpp: + (HTMLCanvasElementImpl::createRenderer): + * khtml/html/html_imageimpl.h: + (DOM::): + * khtml/rendering/render_object.h: + * khtml/xml/DocumentImpl.cpp: + (DocumentImpl::detach): + (DocumentImpl::getAccObjectCache): + (DocumentImpl::updateSelection): + (DocumentImpl::implicitClose): + (DocumentImpl::setFocusNode): + * kwq/KWQAccObjectCache.h: + * kwq/KWQKJobClasses.h: + +2006-01-12 Anders Carlsson <andersca@mac.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5153 + deleteRule and insertRule do not work + + This also makes updating the disabled flag on style sheets work. + It also adds the IE-only removeRule which is the counterpart to + the already existing addRule. + + * khtml/css/css_stylesheetimpl.cpp: + (CSSStyleSheetImpl::insertRule): + (CSSStyleSheetImpl::deleteRule): + Call styleSheetChanged() + + (CSSStyleSheetImpl::styleSheetChanged): + Call DocumentImpl::updateStyleSelector() + + * khtml/css/css_stylesheetimpl.h: + (DOM::StyleSheetImpl::setDisabled): + Call styleSheetChanged(); + + (DOM::StyleSheetImpl::styleSheetChanged): + New function. + + (DOM::CSSStyleSheetImpl::removeRule): + New IE extension function, simply calls deleteRule. + + * khtml/css/cssstyleselector.cpp: + (khtml::CSSStyleSelector::CSSStyleSelector): + Ignore disabled style sheets. + + * khtml/ecma/kjs_css.cpp: + (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction): + * khtml/ecma/kjs_css.h: + (KJS::DOMCSSStyleSheet::): + Add removeRule. + +2006-01-12 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed and landed by Darin. + + Test: fast/css/rtl-ordering.html + + - fix http://bugs.webkit.org/show_bug.cgi?id=6334 + REGRESSION: <input type="button"> text is reversed on "visual Hebrew" pages + + * khtml/css/cssparser.cpp: (CSSParser::parseValue): Parse the new -khtml-rtl-ordering property. + * khtml/css/cssproperties.in: Added -khtml-rtl-ordering property. + * khtml/css/cssstyleselector.cpp: (CSSStyleSelector::applyProperty): Apply the new property. + * khtml/css/cssvalues.in: Added "logical" and "visual" values for the -khtml-rtl-ordering property. + * khtml/css/html4.css: Force logical ordering in input-buttons. + * khtml/css/makeprop: Fixed maximum property length computation. + * khtml/rendering/render_style.h: Added initial value for visuallyOrdered. + * ksvg2/scripts/cssmakeprops: Ensure no overlap between KHTML and SVG CSS properties. + * ksvg2/scripts/cssmakevalues: Ensure no overlap between KHTML and SVG CSS values. + +2006-01-12 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed and landed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6219 + Perf regression: -[NSImage initWithData:] called repeatedly while + moving the cursor over an image + + * khtml/rendering/render_image.h: (khtml::RenderImage::pixmap): + Return a const QPixmap&. + * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): + Avoid copying the QPixmap and its renderer. + +2006-01-12 Justin Haygood <justin@xiondigital.net> + + Reviewed, tweaked, and landed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6497 + Use #include, not #import, in KWQ C++ files + + * bridge/mac/KWQKHTMLView.cpp: + * kcanvas/RenderSVGText.cpp: + * khtml/css/css_computedstyle.cpp: + * kwq/KWQArrayImpl.cpp: + * kwq/KWQBuffer.cpp: + * kwq/KWQCString.cpp: + * kwq/KWQCharsets.cpp: + * kwq/KWQDateTime.cpp: + * kwq/KWQDictImpl.cpp: + * kwq/KWQGuardedPtr.cpp: + * kwq/KWQKHTMLFactory.cpp: + * kwq/KWQKPartsEvent.cpp: + * kwq/KWQListImpl.cpp: + * kwq/KWQMapImpl.cpp: + * kwq/KWQObject.cpp: + * kwq/KWQPen.cpp: + * kwq/KWQPointArray.cpp: + * kwq/KWQPtrDictImpl.cpp: + * kwq/KWQRegion.cpp: + * kwq/KWQStyle.cpp: + * kwq/KWQTextCodec.cpp: + * kwq/KWQTextStream.cpp: + * kwq/KWQTimer.cpp: + * kwq/KWQValueListImpl.cpp: + * kwq/KWQVariant.cpp: + * kwq/KWQVectorImpl.cpp: + * kwq/KWQWMatrix.cpp: + Replaced #import with #include. + + * kwq/KWQRegExp.cpp: Replaced #import with #include. + Also changed <JavaScriptCore/pcre.h> to <pcre/pcre.h>. + * ForwardingHeaders/pcre: Added. + * ForwardingHeaders/pcre/pcre.h: Added. + +2006-01-12 Eric Seidel <eseidel@apple.com> + + Reviewed by anders & mjs. + + Split dom_docimpl.* out into separate files (one per class): + http://bugs.webkit.org/show_bug.cgi?id=6502 + + * ForwardingHeaders/kdom/core/DOMImplementationImpl.h: Removed. + * ForwardingHeaders/kdom/core/DocumentImpl.h: Removed. + * ForwardingHeaders/kdom/core/DocumentTypeImpl.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/WebCoreBridge.mm: + * kcanvas/KCanvasResources.cpp: + * kcanvas/RenderSVGText.h: + * khtml/css/css_base.cpp: + * khtml/css/css_computedstyle.cpp: + * khtml/css/css_ruleimpl.cpp: + * khtml/css/css_valueimpl.cpp: + * khtml/css/cssparser.cpp: + * khtml/css/parser.y: + * khtml/ecma/XSLTProcessor.cpp: + * khtml/ecma/domparser.cpp: + * khtml/ecma/kjs_css.cpp: + * khtml/ecma/kjs_dom.cpp: + * khtml/ecma/kjs_events.cpp: + * khtml/ecma/kjs_range.cpp: + * khtml/ecma/kjs_traversal.cpp: + * khtml/ecma/kjs_views.cpp: + * khtml/ecma/kjs_window.cpp: + * khtml/ecma/xmlhttprequest.cpp: + * khtml/ecma/xmlserializer.cpp: + * khtml/editing/SelectionController.cpp: + * khtml/editing/apply_style_command.cpp: + * khtml/editing/composite_edit_command.cpp: + * khtml/editing/delete_selection_command.cpp: + * khtml/editing/edit_command.cpp: + * khtml/editing/htmlediting.cpp: + * khtml/editing/insert_line_break_command.cpp: + * khtml/editing/insert_paragraph_separator_command.cpp: + * khtml/editing/insert_text_command.cpp: + * khtml/editing/join_text_nodes_command.cpp: + * khtml/editing/jsediting.cpp: + * khtml/editing/markup.cpp: + * khtml/editing/markup.h: + * khtml/editing/merge_identical_elements_command.cpp: + * khtml/editing/move_selection_command.cpp: + * khtml/editing/rebalance_whitespace_command.cpp: + * khtml/editing/replace_selection_command.cpp: + * khtml/editing/split_text_node_command.cpp: + * khtml/editing/typing_command.cpp: + * khtml/editing/visible_position.cpp: + * khtml/editing/visible_text.cpp: + * khtml/editing/visible_units.cpp: + * khtml/html/HTMLGenericFormElementImpl.cpp: + * khtml/html/HTMLInputElementImpl.cpp: + * khtml/html/HTMLKeygenElementImpl.cpp: + * khtml/html/HTMLLabelElementImpl.cpp: + * khtml/html/HTMLOptionElementImpl.cpp: + * khtml/html/HTMLSelectElementImpl.cpp: + * khtml/html/HTMLTextAreaElementImpl.cpp: + * khtml/html/html_documentimpl.cpp: + * khtml/html/html_documentimpl.h: + * khtml/html/html_listimpl.cpp: + * khtml/html/html_objectimpl.cpp: + * khtml/html/htmlfactory.cpp: + * khtml/html/htmlparser.cpp: + * khtml/html/htmltokenizer.cpp: + * khtml/misc/Cache.cpp: + * khtml/misc/DocLoader.cpp: + * khtml/rendering/InlineTextBox.cpp: + * khtml/rendering/bidi.cpp: + * khtml/rendering/render_applet.cpp: + * khtml/rendering/render_block.cpp: + * khtml/rendering/render_box.cpp: + * khtml/rendering/render_br.cpp: + * khtml/rendering/render_button.cpp: + * khtml/rendering/render_canvas.cpp: + * khtml/rendering/render_container.cpp: + * khtml/rendering/render_flow.cpp: + * khtml/rendering/render_form.cpp: + * khtml/rendering/render_frames.cpp: + * khtml/rendering/render_inline.cpp: + * khtml/rendering/render_layer.cpp: + * khtml/rendering/render_line.cpp: + * khtml/rendering/render_list.cpp: + * khtml/rendering/render_object.cpp: + * khtml/rendering/render_replaced.cpp: + * khtml/rendering/render_table.cpp: + * khtml/rendering/render_theme.cpp: + * khtml/rendering/render_theme_mac.mm: + * khtml/xml/DOMImplementationImpl.cpp: Added. + * khtml/xml/DOMImplementationImpl.h: Added. + * khtml/xml/DocumentFragmentImpl.cpp: Added. + * khtml/xml/DocumentFragmentImpl.h: Added. + * khtml/xml/DocumentImpl.cpp: Added. + (DocumentImpl::setDocType): + (DocumentImpl::getElementsByName): + * khtml/xml/DocumentImpl.h: Added. + * khtml/xml/DocumentTypeImpl.cpp: Added. + * khtml/xml/DocumentTypeImpl.h: Added. + * khtml/xml/dom2_eventsimpl.cpp: + * khtml/xml/dom2_rangeimpl.cpp: + * khtml/xml/dom2_traversalimpl.cpp: + * khtml/xml/dom2_viewsimpl.cpp: + * khtml/xml/dom_docimpl.cpp: Removed. + * khtml/xml/dom_docimpl.h: Removed. + * khtml/xml/dom_elementimpl.cpp: + * khtml/xml/dom_nodeimpl.cpp: + * khtml/xml/dom_textimpl.cpp: + * khtml/xml/dom_xmlimpl.cpp: + * khtml/xml/xml_tokenizer.cpp: + * khtml/xsl/xslt_processorimpl.cpp: + * ksvg2/misc/KCanvasRenderingStyle.cpp: + * ksvg2/misc/KSVGTimeScheduler.cpp: + * ksvg2/misc/SVGImageLoader.cpp: + * ksvg2/svg/SVGAElementImpl.cpp: + * ksvg2/svg/SVGAnimationElementImpl.cpp: + * ksvg2/svg/SVGClipPathElementImpl.cpp: + * ksvg2/svg/SVGCursorElementImpl.cpp: + * ksvg2/svg/SVGDOMImplementationImpl.cpp: + * ksvg2/svg/SVGDOMImplementationImpl.h: + * ksvg2/svg/SVGDocumentImpl.h: + * ksvg2/svg/SVGElementImpl.cpp: + * ksvg2/svg/SVGFEImageElementImpl.cpp: + * ksvg2/svg/SVGGradientElementImpl.cpp: + * ksvg2/svg/SVGHelper.cpp: + * ksvg2/svg/SVGPatternElementImpl.cpp: + * ksvg2/svg/SVGPolyElementImpl.cpp: + * ksvg2/svg/SVGSVGElementImpl.cpp: + * ksvg2/svg/SVGStopElementImpl.cpp: + * ksvg2/svg/SVGStyleElementImpl.cpp: + * ksvg2/svg/SVGStyledElementImpl.cpp: + * ksvg2/svg/SVGUseElementImpl.cpp: + * kwq/DOM-CSS.mm: + * kwq/DOM.mm: + * kwq/DOMEvents.mm: + * kwq/DOMHTML.mm: + * kwq/DOMInternal.mm: + * kwq/DOMViews.mm: + * kwq/KWQAccObject.mm: + * kwq/KWQAccObjectCache.mm: + * kwq/KWQKJavaAppletWidget.mm: + * kwq/KWQPageState.mm: + * kwq/KWQRenderTreeDebug.cpp: + * kwq/KWQSlot.mm: + * page/Frame.cpp: + +2006-01-12 Maciej Stachowiak <mjs@apple.com> + + Not reviewed. + + - fixed build breakage + + * ksvg2/misc/SVGImageLoader.cpp: Add dom_docimpl.h include + +2006-01-12 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - remove dom_documentimpl.h include from other headers where possible, + move down to impl files instead, so less rebuilds when you touch it + + * bridge/mac/MacFrame.mm: + (MacFrame::openURLFromPageCache): + * kcanvas/KCanvasResources.cpp: + * khtml/css/css_computedstyle.cpp: + * khtml/editing/SelectionController.cpp: + (khtml::SelectionController::frame): + * khtml/editing/SelectionController.h: + * khtml/editing/composite_edit_command.cpp: + * khtml/editing/delete_selection_command.cpp: + * khtml/editing/jsediting.cpp: + * khtml/editing/jsediting.h: + * khtml/editing/markup.h: + * khtml/editing/visible_position.cpp: + * khtml/editing/visible_text.cpp: + * khtml/html/HTMLGenericFormElementImpl.cpp: + * khtml/html/HTMLInputElementImpl.cpp: + * khtml/html/HTMLLabelElementImpl.cpp: + * khtml/html/HTMLOptionElementImpl.cpp: + * khtml/html/HTMLSelectElementImpl.cpp: + * khtml/html/HTMLTextAreaElementImpl.cpp: + * khtml/html/htmltokenizer.h: + * khtml/rendering/InlineTextBox.cpp: + * khtml/rendering/bidi.cpp: + * khtml/rendering/render_br.cpp: + * khtml/rendering/render_button.cpp: + * khtml/rendering/render_object.cpp: + (RenderObject::documentBeingDestroyed): + * khtml/rendering/render_object.h: + * khtml/rendering/render_theme.cpp: + * khtml/rendering/render_theme_mac.mm: + * khtml/xbl/xbl_docimpl.h: + * khtml/xml/dom2_rangeimpl.cpp: + * ksvg2/svg/SVGAElementImpl.cpp: + * ksvg2/svg/SVGClipPathElementImpl.cpp: + * ksvg2/svg/SVGFEImageElementImpl.cpp: + * ksvg2/svg/SVGHelper.cpp: + * ksvg2/svg/SVGSVGElementImpl.cpp: + * ksvg2/svg/SVGUseElementImpl.cpp: + * kwq/KWQAccObjectCache.mm: + * kwq/KWQPageState.h: + * kwq/KWQPageState.mm: + +2006-01-12 Anders Carlsson <andersca@mac.com> + + Fix build + + * khtml/ecma/kjs_window.cpp: + Remove include. + +2006-01-12 Anders Carlsson <andersca@mac.com> + + Reviewed by Maciej + + http://bugs.webkit.org/show_bug.cgi?id=6501 + - Merge KParts::BrowserInterface with KParts::BrowserExtension. + + * ForwardingHeaders/kparts/browserinterface.h: Removed. + * bridge/mac/KWQKPartsBrowserInterface.mm: Removed. + * kwq/KWQKPartsBrowserInterface.h: Removed. + + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/KWQKHTMLPartBrowserExtension.h: + * bridge/mac/KWQKHTMLPartBrowserExtension.mm: + (KHTMLPartBrowserExtension::KHTMLPartBrowserExtension): + (KHTMLPartBrowserExtension::getHistoryLength): + (KHTMLPartBrowserExtension::goBackOrForward): + * bridge/mac/KWQKPartsBrowserExtension.h: + (KParts::BrowserExtension::BrowserExtension): + * khtml/ecma/kjs_window.cpp: + (KJS::History::getValueProperty): + * khtml/xml/xml_tokenizer.cpp: + * page/Frame.cpp: + (Frame::slotRedirect): + * page/FrameView.cpp: + Add getHistoryLength and goBackOrForward to BrowserExtension and + use them. + +2006-01-12 Eric Seidel <eseidel@apple.com> + + Build fix, files missing from previous <image> commit: + http://bugs.webkit.org/show_bug.cgi?id=5965 + + * kcanvas/RenderSVGImage.cpp: Added. + (RenderSVGImage::RenderSVGImage): + (RenderSVGImage::~RenderSVGImage): + (RenderSVGImage::paint): + (RenderSVGImage::translateForAttributes): + * kcanvas/RenderSVGImage.h: Added. + * ksvg2/misc/SVGImageLoader.cpp: Added. + (SVGImageLoader::SVGImageLoader): + (SVGImageLoader::~SVGImageLoader): + (SVGImageLoader::updateFromElement): + * ksvg2/misc/SVGImageLoader.h: Added. + +2006-01-12 Anders Carlsson <andersca@mac.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=6496 + - Merge KParts::Part with KParts::ReadOnly part and rename it to + ObjectContents. + + * ForwardingHeaders/kparts/part.h: Removed. + * kwq/KWQKPartsPart.h: Removed. + * kwq/KWQKPartsPart.mm: Removed. + * kwq/KWQObject.cpp: + + page/ObjectContents.h: Added + (ObjectContents::ObjectContents): + (ObjectContents::url): + (ObjectContents::setName): + (ObjectContents::widget): + (ObjectContents::setWidget): + (ObjectContents::ref): + (ObjectContents::deref): + (ObjectContents::event): + (ObjectContents::customEvent): + (ObjectContents::isObjectContents): + + Renames: + + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/KWQKHTMLPartBrowserExtension.h: + * bridge/mac/KWQKHTMLPartBrowserExtension.mm: + (KHTMLPartBrowserExtension::createNewWindow): + * bridge/mac/KWQKPartsBrowserExtension.h: + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + (MacFrame::createPart): + * bridge/mac/WebCoreBridge.mm: + (-[WebCoreBridge saveDocumentToPageCache]): + * khtml/ecma/kjs_events.cpp: + (KJS::JSLazyEventListener::parseCode): + * khtml/ecma/kjs_window.cpp: + (KJS::createNewWindow): + (KJS::Window::indexGetter): + (KJS::Window::getOwnPropertySlot): + (KJS::WindowFunc::callAsFunction): + (KJS::FrameArray::getValueProperty): + (KJS::FrameArray::indexGetter): + (KJS::FrameArray::nameGetter): + (KJS::FrameArray::getOwnPropertySlot): + (QObject::inherits): + (QObject::isObjectContents): + * kwq/KWQObject.h: + * page/Frame.cpp: + (Frame::stopLoading): + (Frame::stopAnimations): + (Frame::checkEmitLoadEvent): + (Frame::processObjectRequest): + (Frame::childFrame): + (Frame::findFrame): + (Frame::setZoomFactor): + (Frame::frames): + (Frame::customEvent): + (Frame::slotPartRemoved): + (Frame::connectChild): + (Frame::disconnectChild): + (Frame::setPolicyBaseURL): + (Frame::setName): + * page/Frame.h: + (Frame::Frame): + * page/FramePrivate.h: + +2006-01-12 Alexander Kellett <lypanov@kde.org> + + Reviewed by eseidel. Landed by eseidel. + + Refactor HTMLImageLoader to make subclassing possible. Implement + RenderSVGText-style RenderImage subclass. Use this to reimplement + SVGImageElementImpl. + + As a side effect, this should fix: + http://bugs.webkit.org/show_bug.cgi?id=5965 + + Already covered by several existing tests. + Re-enabled disabled image tests. + + * WebCore.xcodeproj/project.pbxproj: + * kcanvas/RenderSVGImage.cpp: Added. + (RenderSVGImage::RenderSVGImage): + (~RenderSVGImage::RenderSVGImage): + (RenderSVGImage::paint): + (RenderSVGImage::translateForAttributes): + * kcanvas/RenderSVGImage.h: Added. + * khtml/html/html_imageimpl.cpp: + (DOM::HTMLImageLoader::setLoadingImage): trivial method extraction + (DOM::HTMLImageLoader::updateFromElement): make virtual + * khtml/html/html_imageimpl.h: + (DOM::): + * ksvg2/misc/SVGImageLoader.cpp: Added. + (SVGImageLoader::SVGImageLoader): + (~SVGImageLoader:SVGImageLoader): + (SVGImageLoader::updateFromElement): + * ksvg2/misc/SVGImageLoader.h: Added. + * ksvg2/svg/SVGImageElementImpl.cpp: + (SVGImageElementImpl::SVGImageElementImpl): + (SVGImageElementImpl::parseMappedAttribute): + (SVGImageElementImpl::createRenderer): + (SVGImageElementImpl::attach): + * ksvg2/svg/SVGImageElementImpl.h: + +2006-01-11 David Hyatt <hyatt@apple.com> + + Changes to get the XML directory nearly compiling on Win32. + Down to just the gperf of cssvalues.in and a need to replace + usleep. + + Reviewed by darin + + * WebCore.vcproj/WebCore/WebCore.vcproj: + * khtml/config.h: + * khtml/xml/dom_stringimpl.cpp: + (DOM::DOMStringImpl::toCoordsArray): + * khtml/xml/xml_tokenizer.cpp: + (khtml::XMLTokenizer::error): + +2006-01-11 Justin Garcia <justin.garcia@apple.com> + + Replaced two asserts that I accidently removed in + the build bustage fix. + + * page/Frame.cpp: + (Frame::revealSelection): + (Frame::centerSelectionInVisibleArea): + +2006-01-11 Justin Garcia <justin.garcia@apple.com> + + Reviewed by kevin + + The removal of Frame::clearSelection() broke a layout + test. clearSelection did setSelection(SelectionController()), which + is not the same as selection().clear(). setSelection() notifies + the editing delegate of a selection change. This is non obvious + and should be fixed. Filed: + <http://bugs.webkit.org/show_bug.cgi?id=6498> + SelectionController's setters should notify delegates of selection changes + + * bridge/mac/WebCoreBridge.mm: + (-[WebCoreBridge deselectText]): + * khtml/editing/jsediting.cpp: + * khtml/xml/dom_docimpl.cpp: + (DocumentImpl::clearSelectionIfNeeded): + +2006-01-11 Justin Garcia <justin.garcia@apple.com> + + Reviewed by darin + + <http://bugs.webkit.org/show_bug.cgi?id=5870> + Double-clicking on an SVG dies in HTML editing code + <rdar://problem/4393815> + Assertion failure: result != *this (khtml::VisiblePosition::previous()) + + build bustage fix from previous checkin + + Tests added (+ expected results): + * editing/selection/iframe.html: Added. + * editing/selection/inline-table.html: Added. + * editing/selection/select-box.html: Added. + + Test results changed (change looks funny but is correct): + * editing/inserting/editing-empty-divs.html + + Account for replaced elements with children in isCandidate and maxDeepOffset + Stop at candidates in VisiblePosition::deepEquivalent, descending will + yield positions that aren't visually equivalent. + Fixed a caret painting regression (removed downstreamDeepEquivalent) + Moved isAtomicNode and maxDeepOffset out of NodeImpl + Removed redundant code + + Todo: + Move more editing functions out of NodeImpl + Improve the selection of VP candidates to fix 6476 + + * khtml/editing/SelectionController.cpp: + (khtml::SelectionController::SelectionController): + (khtml::SelectionController::xPosForVerticalArrowNavigation): + (khtml::SelectionController::getRangeAt): + (khtml::SelectionController::layout): + (khtml::SelectionController::adjustForEditableContent): + * khtml/editing/apply_style_command.cpp: + (khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): + (khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical): + * khtml/editing/delete_selection_command.cpp: + (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete): + (khtml::DeleteSelectionCommand::handleGeneralDelete): + * khtml/editing/htmlediting.cpp: + (khtml::isAtomicNode): + (khtml::maxDeepOffset): + (khtml::isLastVisiblePositionInSpecialElement): + (khtml::positionAfterContainingSpecialElement): + * khtml/editing/htmlediting.h: + * khtml/editing/insert_line_break_command.cpp: + (khtml::InsertLineBreakCommand::doApply): + * khtml/editing/replace_selection_command.cpp: + (khtml::ReplaceSelectionCommand::fixupNodeStyles): + (khtml::ReplaceSelectionCommand::doApply): + * khtml/editing/visible_position.cpp: + (khtml::VisiblePosition::previousVisiblePosition): + (khtml::VisiblePosition::isCandidate): + (khtml::VisiblePosition::deepEquivalent): + (khtml::VisiblePosition::character): + (khtml::makeRange): + (khtml::setStart): + (khtml::setEnd): + (khtml::enclosingBlockFlowElement): + (khtml::isFirstVisiblePositionInNode): + (khtml::isLastVisiblePositionInNode): + * khtml/editing/visible_position.h: + (khtml::VisiblePosition::setAffinity): + * khtml/editing/visible_units.cpp: + (khtml::previousLinePosition): + (khtml::nextLinePosition): + * khtml/xml/dom2_rangeimpl.cpp: + (DOM::RangeImpl::editingStartPosition): + * khtml/xml/dom_nodeimpl.cpp: + (DOM::NodeImpl::previousNodeConsideringAtomicNodes): + (DOM::NodeImpl::nextNodeConsideringAtomicNodes): + (DOM::NodeImpl::previousLeafNode): + (DOM::NodeImpl::nextLeafNode): + (DOM::NodeImpl::isBlockFlowOrBlockTable): + (DOM::NodeImpl::enclosingBlockFlowOrTableElement): + * khtml/xml/dom_nodeimpl.h: + * khtml/xml/dom_position.cpp: + (DOM::Position::previous): + (DOM::Position::next): + (DOM::Position::atEnd): + (DOM::isStreamer): + (DOM::Position::upstream): + (DOM::Position::downstream): + * khtml/xml/dom_position.h: + * kwq/KWQAccObject.mm: + (-[KWQAccObject doAXUIElementForTextMarker:]): + * page/Frame.cpp: + (Frame::selectContentsOfNode): + +2006-01-11 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - remove some selection-related methods on Frame that are just simple wrappers + of Selection methods. + + * bridge/mac/MacFrame.mm: + (MacFrame::findString): + (MacFrame::advanceToNextMisspelling): + * bridge/mac/WebCoreBridge.mm: + (-[WebCoreBridge deselectText]): + (-[WebCoreBridge selectedAttributedString]): + (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]): + * khtml/editing/jsediting.cpp: + * khtml/xml/dom_docimpl.cpp: + (DocumentImpl::clearSelectionIfNeeded): + * page/Frame.cpp: + (Frame::selection): + (Frame::currentForm): + (Frame::revealSelection): + (Frame::centerSelectionInVisibleArea): + * page/Frame.h: + * page/FrameView.cpp: + (KHTMLView::clear): + +2006-01-11 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - reduce the number of files that rebuild when you touch Frame.h + + * ForwardingHeaders/ksvg2/KSVGView.h: + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/MacFrame.mm: + (convertAttributesToUnderlines): + * khtml/ecma/kjs_window.cpp: + * khtml/editing/htmlediting.cpp: + * khtml/editing/typing_command.cpp: + * khtml/html/HTMLKeygenElementImpl.cpp: + (DOM::HTMLKeygenElementImpl::appendFormData): + * khtml/html/html_imageimpl.cpp: + * khtml/rendering/InlineTextBox.cpp: + (khtml::InlineTextBox::paint): + (khtml::InlineTextBox::paintMarkedTextUnderline): + * khtml/rendering/InlineTextBox.h: + * khtml/rendering/render_layer.cpp: + * khtml/xml/dom_docimpl.cpp: + * kwq/KWQAccObject.mm: + (-[KWQAccObject value]): + * kwq/KWQFileButton.h: + * kwq/KWQLineEdit.mm: + * kwq/KWQRenderTreeDebug.cpp: + (write): + * page/Frame.cpp: + (Frame::markedTextUnderlines): + * page/Frame.h: + (MarkedTextUnderline::MarkedTextUnderline): + +2006-01-11 Anders Carlsson <andersca@mac.com> + + Build fix. + + * ForwardingHeaders/ksvg2/KSVGView.h: + Rename KHTMLView to FrameView and include FrameView.h + +2006-01-11 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Anders. + + - renamed KHTMLPartPrivate to FramePrivate and KHTMLView to FrameView + http://bugs.webkit.org/show_bug.cgi?id=6490 + + (also corresponding header renames, remove headers where not + needed, and a few substantive changes to allow more header removal) + + * khtml/xml/dom_docimpl.h: moved m_selectedStylesheetSet here from + KHTMLPartPrivate, since this was the only class using it. + * khtml/xml/dom_docimpl.cpp: + (DocumentImpl::processHttpEquiv): ditto + (DocumentImpl::selectedStylesheetSet): ditto + (DocumentImpl::setSelectedStylesheetSet): ditto + (DocumentImpl::recalcStyleSelector): ditto + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMDocument::getValueProperty): Use new isCompleted method + on Frame instead of accessing private field directly. + (KJS::getDOMDocumentNode): remove gratuitous use of view() + + Just the renames: + + * WebCore.xcodeproj/project.pbxproj: + * bridge/mac/KWQKHTMLView.cpp: + * bridge/mac/MacFrame.h: + * bridge/mac/MacFrame.mm: + * bridge/mac/WebCoreBridge.mm: + * khtml/css/cssstyleselector.cpp: + * khtml/ecma/kjs_html.cpp: + * khtml/ecma/kjs_traversal.cpp: + * khtml/ecma/kjs_window.cpp: + * khtml/ecma/xmlhttprequest.cpp: + * khtml/editing/SelectionController.cpp: + * khtml/editing/htmlediting.cpp: + * khtml/html/html_baseimpl.cpp: + * khtml/html/html_canvasimpl.cpp: + * khtml/html/html_documentimpl.cpp: + * khtml/html/html_elementimpl.cpp: + * khtml/html/html_headimpl.cpp: + * khtml/html/html_imageimpl.cpp: + * khtml/html/html_inlineimpl.cpp: + (DOM::HTMLAnchorElementImpl::defaultEventHandler): + * khtml/html/html_objectimpl.cpp: + * khtml/html/html_tableimpl.cpp: + * khtml/html/htmlparser.cpp: + * khtml/html/htmltokenizer.cpp: + * khtml/rendering/bidi.cpp: + * khtml/rendering/render_applet.cpp: + * khtml/rendering/render_block.cpp: + * khtml/rendering/render_box.cpp: + * khtml/rendering/render_canvas.cpp: + * khtml/rendering/render_flow.cpp: + * khtml/rendering/render_form.cpp: + * khtml/rendering/render_frames.cpp: + * khtml/rendering/render_layer.cpp: + * khtml/rendering/render_line.cpp: + * khtml/rendering/render_object.cpp: + * khtml/rendering/render_replaced.cpp: + * khtml/rendering/render_table.cpp: + * khtml/rendering/render_theme_mac.mm: + * khtml/xml/dom2_eventsimpl.cpp: + * khtml/xml/dom_elementimpl.cpp: + * khtml/xml/dom_nodeimpl.cpp: + * khtml/xml/xml_tokenizer.cpp: + * khtml/xsl/xslt_processorimpl.cpp: + * kwq/KWQAccObject.mm: + * kwq/KWQFrame.mm: + * kwq/KWQKJavaAppletWidget.mm: + * kwq/KWQPageState.mm: + * kwq/KWQRenderTreeDebug.cpp: + * kwq/KWQSignalStubs.mm: + * kwq/KWQWidget.mm: + * page/Frame.cpp: + (Frame::init): + (Frame::submitForm): + (Frame::isComplete): + * page/Frame.h: + * page/FramePrivate.h: Added. + (FramePrivate::FramePrivate): + (FramePrivate::~FramePrivate): + * page/FrameView.cpp: Added. + * page/FrameView.h: Added. + * page/khtmlpart_p.h: Removed. + * page/khtmlview.cpp: Removed. + * page/khtmlview.h: Removed. + +2006-01-10 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - moved files related to the Frame class and the forthcoming Page class + to WebCore/page + + - moved files related to the MacFrame class and other bridging-related classes + to WebCore/bridge/mac + + * ForwardingHeaders/ksvg2/KSVGPart.h: + * ForwardingHeaders/ksvg2/KSVGView.h: + * WebCore.xcodeproj/project.pbxproj: + * bridge: Added. + * bridge/mac: Added. + * bridge/mac/KWQKHTMLPartBrowserExtension.h: Added. + * bridge/mac/KWQKHTMLPartBrowserExtension.mm: Added. + * bridge/mac/KWQKHTMLView.cpp: Added. + * bridge/mac/KWQKPartsBrowserExtension.h: Added. + * bridge/mac/KWQKPartsBrowserInterface.mm: Added. + * bridge/mac/MacFrame.h: Added. + * bridge/mac/MacFrame.mm: Added. + * bridge/mac/WebCoreBridge.h: Added. + * bridge/mac/WebCoreBridge.mm: Added. + * khtml/Frame.cpp: Removed. + * khtml/Frame.h: Removed. + * khtml/khtmlpart_p.h: Removed. + * khtml/khtmlview.cpp: Removed. + * khtml/khtmlview.h: Removed. + * kwq/KWQKHTMLPartBrowserExtension.h: Removed. + * kwq/KWQKHTMLPartBrowserExtension.mm: Removed. + * kwq/KWQKHTMLView.cpp: Removed. + * kwq/KWQKPartsBrowserExtension.h: Removed. + * kwq/KWQKPartsBrowserInterface.mm: Removed. + * kwq/MacFrame.h: Removed. + * kwq/MacFrame.mm: Removed. + * kwq/WebCoreBridge.h: Removed. + * kwq/WebCoreBridge.mm: Removed. + * page: Added. + * page/Frame.cpp: Added. + * page/Frame.h: Added. + * page/khtmlpart_p.h: Added. + * page/khtmlview.cpp: Added. + * page/khtmlview.h: Added. + +2006-01-10 David Hyatt <hyatt@apple.com> + + #if Win32 the KWQMemArray overloads, since they're working around + a Windows compiler bug. + + * kwq/KWQMemArray.h: + +2006-01-10 David Hyatt <hyatt@apple.com> + + Fix the broken ifdef in KWQString.h + + * kwq/KWQString.h: + +2006-01-10 hyatt@apple.com + + Fix for bugzilla bug 6458, get rendering dir of WebCore + compiling on Windows. + + Reviewed by darin + + * ForwardingHeaders/QRectF: + * ForwardingHeaders/java/kjavaappletwidget.h: + * ForwardingHeaders/kcursor.h: + * ForwardingHeaders/kdebug.h: + * ForwardingHeaders/kglobalsettings.h: + * ForwardingHeaders/khtml_ext.h: + * ForwardingHeaders/khtml_factory.h: + * ForwardingHeaders/khtml_settings.h: + * ForwardingHeaders/kio/global.h: + * ForwardingHeaders/klocale.h: + * ForwardingHeaders/kparts/browserextension.h: + * ForwardingHeaders/kparts/event.h: + * ForwardingHeaders/kparts/part.h: + * ForwardingHeaders/kurl.h: + * ForwardingHeaders/qapplication.h: + * ForwardingHeaders/qbuffer.h: + * ForwardingHeaders/qcolor.h: + * ForwardingHeaders/qdatetime.h: + * ForwardingHeaders/qdict.h: + * ForwardingHeaders/qevent.h: + * ForwardingHeaders/qfont.h: + * ForwardingHeaders/qfontmetrics.h: + * ForwardingHeaders/qlist.h: + * ForwardingHeaders/qmap.h: + * ForwardingHeaders/qmemarray.h: + * ForwardingHeaders/qobject.h: + * ForwardingHeaders/qpaintdevicemetrics.h: + * ForwardingHeaders/qpainter.h: + * ForwardingHeaders/qpalette.h: + * ForwardingHeaders/qpen.h: + * ForwardingHeaders/qpixmap.h: + * ForwardingHeaders/qptrdict.h: + * ForwardingHeaders/qptrlist.h: + * ForwardingHeaders/qptrqueue.h: + * ForwardingHeaders/qptrstack.h: + * ForwardingHeaders/qptrvector.h: + * ForwardingHeaders/qrect.h: + * ForwardingHeaders/qregexp.h: + * ForwardingHeaders/qregion.h: + * ForwardingHeaders/qscrollbar.h: + * ForwardingHeaders/qscrollview.h: + * ForwardingHeaders/qsortedlist.h: + * ForwardingHeaders/qstring.h: + * ForwardingHeaders/qstringlist.h: + * ForwardingHeaders/qstyle.h: + * ForwardingHeaders/qtextcodec.h: + * ForwardingHeaders/qtextedit.h: + * ForwardingHeaders/qtimer.h: + * ForwardingHeaders/qvaluelist.h: + * ForwardingHeaders/qvariant.h: + * ForwardingHeaders/qwidget.h: + * ForwardingHeaders/qwmatrix.h: + * khtml/config.h: + * khtml/css/css_ruleimpl.h: + * khtml/ecma/kjs_binding.h: + * khtml/html/html_objectimpl.h: + * khtml/rendering/RenderText.cpp: + * khtml/rendering/bidi.cpp: + * khtml/rendering/break_lines.cpp: + (khtml::nextBreakablePosition): + * khtml/rendering/font.h: + (khtml::Font::width): + * khtml/rendering/render_arena.cpp: + * khtml/rendering/render_canvasimage.cpp: + * khtml/rendering/render_canvasimage.h: + * khtml/rendering/render_container.cpp: + (RenderContainer::removeChildNode): + (RenderContainer::appendChildNode): + (RenderContainer::insertChildNode): + * khtml/rendering/render_image.cpp: + (RenderImage::paint): + * khtml/rendering/render_object.cpp: + (RenderObject::remove): + * khtml/xml/dom_elementimpl.h: + (DOM::ElementImpl::mouseEventHandler): + * khtml/xml/dom_nodeimpl.cpp: + (DOM::NodeImpl::dispatchEvent): + * khtml/xml/dom_stringimpl.cpp: + (DOM::DOMStringImpl::endsWith): + * kwq/KWQAccObjectCache.h: + * kwq/KWQArrayImpl.h: + (KWQArrayImpl::size): + * kwq/KWQCharsets.h: + * kwq/KWQDateTime.h: + (CFAbsoluteTimeGetCurrent): + * kwq/KWQDef.h: + * kwq/KWQFontFamily.h: + * kwq/KWQKPartsPart.h: + * kwq/KWQKURL.h: + * kwq/KWQLogging.h: + * kwq/KWQMapImpl.h: + * kwq/KWQMemArray.h: + (QMemArray::operator[]): + * kwq/KWQPainter.h: + * kwq/KWQPixmap.h: + * kwq/KWQPixmap.mm: + * kwq/KWQPtrDictImpl.h: + * kwq/KWQRegExp.h: + * kwq/KWQString.h: + * kwq/KWQTextCodec.h: + * kwq/KWQTimer.h: + (QTimer::QTimer): + (QTimer::isActive): + * kwq/KWQValueListImpl.h: + * kwq/KWQVariant.h: + * kwq/KWQWMatrix.h: + * kwq/MacFrame.h: + +2006-01-10 Eric Seidel <eseidel@apple.com> + + No review needed, build (linking deployment) fix only. + + * kwq/MacFrame.h: remove bogus KHTMLView *view() const delcaration + +2006-01-10 Eric Seidel <eseidel@apple.com> + + Roll out local changes committed by accident w/ Mitz's patch. + + * kwq/KWQAccObjectCache.h: + * kwq/KWQAccObjectCache.mm: + (KWQAccObjectCache::KWQAccObjectCache): + (KWQAccObjectCache::~KWQAccObjectCache): + (KWQAccObjectCache::accObject): + (KWQAccObjectCache::setAccObject): + (KWQAccObjectCache::removeAccObject): + (KWQAccObjectCache::getAccObjectID): + (KWQAccObjectCache::removeAccObjectID): + (KWQAccObjectCache::textMarkerForVisiblePosition): + (KWQAccObjectCache::visiblePositionForTextMarker): + (KWQAccObjectCache::childrenChanged): + * kwq/KWQObject.cpp: + (QObject::restartTimer): + (QObject::timerIntervals): + (deleteTimer): + (QObject::killTimer): + (deleteOneTimer): + (QObject::killTimers): + (sendDeferredTimerEvent): + +2006-01-10 Mitz Pettel <opendarwin.org@mitzpettel.com> + + No tests possible, no functionality changes. + + Reviewed by darin. Committed by eseidel. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6410 + Performance regression in text relayout due to bad BidiContext + equality testing + + * khtml/rendering/bidi.cpp: + (khtml::operator==): Return true if BidiContexts match and both + don't have a parent. + +2006-01-10 Eric Seidel <eseidel@apple.com> + + Removed broken links in project file, no review need. + + * WebCore.xcodeproj/project.pbxproj: + +2006-01-09 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - move C++-only methods down from Frame to MacFrame + + * WebCore.xcodeproj/project.pbxproj: + * khtml/Frame.cpp: + (Frame::init): + (Frame::setSettings): + (Frame::provisionalLoadStarted): + (Frame::userGestureHint): + (Frame::renderer): + (Frame::selectionRect): + (Frame::isFrameSet): + (Frame::openURL): + (Frame::didNotOpenURL): + (Frame::selectionStart): + (scanForForm): + (Frame::currentForm): + (Frame::setEncoding): + (Frame::addData): + (Frame::revealSelection): + (Frame::scrollOverflow): + (Frame::paint): + (Frame::adjustPageHeight): + (Frame::pauseTimeouts): + (Frame::resumeTimeouts): + (Frame::canCachePage): + (Frame::saveWindowProperties): + (Frame::saveLocationProperties): + (Frame::restoreWindowProperties): + (Frame::restoreLocationProperties): + (Frame::saveInterpreterBuiltins): + (Frame::restoreInterpreterBuiltins): + (Frame::frameForWidget): + (Frame::frameForNode): + (Frame::nodeForWidget): + (Frame::setDocumentFocus): + (Frame::clearDocumentFocus): + (Frame::mutableInstances): + (Frame::updatePolicyBaseURL): + (Frame::setPolicyBaseURL): + (Frame::forceLayout): + (Frame::forceLayoutWithPageWidthRange): + (Frame::sendResizeEvent): + (Frame::sendScrollEvent): + (Frame::scrollbarsVisible): + (Frame::addMetaData): + (Frame::scrollToAnchor): + (Frame::closeURL): + (Frame::canMouseDownStartSelect): + (Frame::khtmlMouseDoubleClickEvent): + (Frame::passWidgetMouseDownEventToWidget): + (Frame::clearTimers): + (Frame::centerSelectionInVisibleArea): + (Frame::styleForSelectionStart): + (Frame::selectionStartOffset): + (Frame::selectionEndOffset): + (Frame::selectionEnd): + (Frame::setMediaType): + (Frame::setSelectionFromNone): + (Frame::displaysWithFocusAttributes): + (Frame::setWindowHasFocus): + (Frame::backslashAsCurrencySymbol): + (Frame::setName): + (Frame::markedTextUsesUnderlines): + (Frame::markedTextUnderlines): + (Frame::prepareForUserAction): + (Frame::isFrame): + (Frame::mousePressNode): + * khtml/Frame.h: + (Frame::instances): + (Frame::MarkedTextUnderline::MarkedTextUnderline): + * kwq/MacFrame.cpp: Removed. + * kwq/MacFrame.h: + (MacFrame::markedTextRange): + * kwq/MacFrame.mm: - humped a bunch of stuff down to Frame + * kwq/WebCoreSettings.mm: + (-[WebCoreSettings _updateAllViews]): use Mac calls + * kwq/WebCoreTextRendererFactory.mm: + (-[WebCoreTextRendererFactory clearCaches]): ditto + +2006-01-10 Eric Seidel <eseidel@apple.com> + + Rubber-stamped by mjs. + + Split html_formimpl.{cpp,h} into multiple files (one per class) + http://bugs.webkit.org/show_bug.cgi?id=6461 + + * WebCore.xcodeproj/project.pbxproj: added files + * khtml/ecma/kjs_html.cpp: updated includes + * khtml/html/FormDataList.h: Added. + * khtml/html/FormDataList.cpp: Added. + * khtml/html/HTMLButtonElementImpl.cpp: Added. + * khtml/html/HTMLButtonElementImpl.h: Added. + * khtml/html/HTMLFieldSetElementImpl.cpp: Added. + * khtml/html/HTMLFieldSetElementImpl.h: Added. + * khtml/html/HTMLFormElementImpl.cpp: Added. + * khtml/html/HTMLFormElementImpl.h: Added. + * khtml/html/HTMLGenericFormElementImpl.cpp: Added. + * khtml/html/HTMLGenericFormElementImpl.h: Added. + * khtml/html/HTMLInputElementImpl.cpp: Added. + * khtml/html/HTMLInputElementImpl.h: Added. + * khtml/html/HTMLIsIndexElementImpl.cpp: Added. + * khtml/html/HTMLIsIndexElementImpl.h: Added. + * khtml/html/HTMLKeygenElementImpl.cpp: Added. + * khtml/html/HTMLKeygenElementImpl.h: Added. + * khtml/html/HTMLLabelElementImpl.cpp: Added. + * khtml/html/HTMLLabelElementImpl.h: Added. + * khtml/html/HTMLLegendElementImpl.cpp: Added. + * khtml/html/HTMLLegendElementImpl.h: Added. + * khtml/html/HTMLOptGroupElementImpl.cpp: Added. + * khtml/html/HTMLOptGroupElementImpl.h: Added. + * khtml/html/HTMLOptionElementImpl.cpp: Added. + * khtml/html/HTMLOptionElementImpl.h: Added. + * khtml/html/HTMLOptionsCollectionImpl.h: Added. + * khtml/html/HTMLSelectElementImpl.cpp: Added. + * khtml/html/HTMLSelectElementImpl.h: Added. + * khtml/html/HTMLTextAreaElementImpl.cpp: Added. + * khtml/html/HTMLTextAreaElementImpl.h: Added. + * khtml/html/html_documentimpl.cpp: updated includes + * khtml/html/html_imageimpl.cpp: updated includes + * khtml/html/html_miscimpl.cpp: updated includes + * khtml/html/html_objectimpl.cpp: updated includes + * khtml/html/htmlfactory.cpp: updated includes + * khtml/html/htmlparser.cpp: updated includes + * khtml/khtmlview.cpp: updated includes + * khtml/rendering/render_block.cpp: updated includes + * khtml/rendering/render_button.cpp: updated includes + * khtml/rendering/render_canvasimage.cpp: updated includes + * khtml/rendering/render_flow.cpp: updated includes + * khtml/rendering/render_form.cpp: updated includes + * khtml/rendering/render_form.h: updated includes + * khtml/rendering/render_image.cpp: updated includes + * khtml/rendering/render_line.cpp: updated includes + * khtml/rendering/render_theme.cpp: updated includes + * khtml/xml/dom_docimpl.cpp: updated includes + * kwq/DOMHTML.mm: updated includes + * kwq/KWQAccObject.mm: updated includes + * kwq/MacFrame.mm: updated includes + * kwq/WebCoreBridge.mm: updated includes + +2006-01-09 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6446 + Allow surrogate pairs in numeric entities + + Test case: fast/parser/entity-surrogate-pairs.html + + * khtml/html/htmltokenizer.cpp: + (khtml::HTMLTokenizer::parseEntity): Don't check if we got a surrogate. + +2006-01-09 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Further code removal (and build fix!) + + * khtml/Frame.cpp: + (Frame::init): + (Frame::~Frame): + (Frame::restoreURL): + (Frame::didOpenURL): + (Frame::baseURL): + (Frame::baseTarget): + * khtml/Frame.h: + (Frame::khtmlMouseDoubleClickEvent): + (Frame::khtmlDrawContentsEvent): + * kwq/KWQLoader.mm: + (KWQServeRequest): + * kwq/KWQSlot.mm: + (KWQSlot::KWQSlot): + (KWQSlot::call): + +2006-01-09 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Remove unused code from Frame. + + * khtml/Frame.cpp: + (Frame::clear): + (Frame::receivedFirstData): + (Frame::checkCompleted): + (Frame::completeURL): + (Frame::khtmlMousePressEvent): + (Frame::handleMouseMoveEventSelection): + (Frame::khtmlMouseReleaseEvent): + * khtml/Frame.h: + * khtml/khtmlpart_p.h: + * khtml/khtmlview.cpp: + (KHTMLView::viewportWheelEvent): + (KHTMLView::focusOutEvent): + +2006-01-09 Eric Seidel <eseidel@apple.com> + + Reviewed by hyatt. + + Remove khtml-specific forwarding headers. + + * ForwardingHeaders/css: Removed. + * ForwardingHeaders/css/css_base.h: Removed. + * ForwardingHeaders/css/css_computedstyle.h: Removed. + * ForwardingHeaders/css/css_ruleimpl.h: Removed. + * ForwardingHeaders/css/css_stylesheetimpl.h: Removed. + * ForwardingHeaders/css/css_valueimpl.h: Removed. + * ForwardingHeaders/css/csshelper.h: Removed. + * ForwardingHeaders/css/cssparser.h: Removed. + * ForwardingHeaders/css/cssproperties.h: Removed. + * ForwardingHeaders/css/cssstyleselector.h: Removed. + * ForwardingHeaders/css/cssvalues.h: Removed. + * ForwardingHeaders/dom: Removed. + * ForwardingHeaders/dom/css_rule.h: Removed. + * ForwardingHeaders/dom/css_stylesheet.h: Removed. + * ForwardingHeaders/dom/css_value.h: Removed. + * ForwardingHeaders/dom/dom2_events.h: Removed. + * ForwardingHeaders/dom/dom2_range.h: Removed. + * ForwardingHeaders/dom/dom2_traversal.h: Removed. + * ForwardingHeaders/dom/dom_exception.h: Removed. + * ForwardingHeaders/dom/dom_node.h: Removed. + * ForwardingHeaders/dom/dom_string.h: Removed. + * ForwardingHeaders/ecma: Removed. + * ForwardingHeaders/ecma/kjs_binding.h: Removed. + * ForwardingHeaders/ecma/kjs_dom.h: Removed. + * ForwardingHeaders/ecma/kjs_proxy.h: Removed. + * ForwardingHeaders/editing: Removed. + * ForwardingHeaders/editing/SelectionController.h: Removed. + * ForwardingHeaders/editing/edit_actions.h: Removed. + * ForwardingHeaders/editing/html_interchange.h: Removed. + * ForwardingHeaders/editing/htmlediting.h: Removed. + * ForwardingHeaders/editing/jsediting.h: Removed. + * ForwardingHeaders/editing/markup.h: Removed. + * ForwardingHeaders/editing/text_affinity.h: Removed. + * ForwardingHeaders/editing/text_granularity.h: Removed. + * ForwardingHeaders/editing/visible_position.h: Removed. + * ForwardingHeaders/editing/visible_text.h: Removed. + * ForwardingHeaders/editing/visible_units.h: Removed. + * ForwardingHeaders/html: Removed. + * ForwardingHeaders/html/html_baseimpl.h: Removed. + * ForwardingHeaders/html/html_blockimpl.h: Removed. + * ForwardingHeaders/html/html_canvasimpl.h: Removed. + * ForwardingHeaders/html/html_documentimpl.h: Removed. + * ForwardingHeaders/html/html_elementimpl.h: Removed. + * ForwardingHeaders/html/html_formimpl.h: Removed. + * ForwardingHeaders/html/html_headimpl.h: Removed. + * ForwardingHeaders/html/html_imageimpl.h: Removed. + * ForwardingHeaders/html/html_inlineimpl.h: Removed. + * ForwardingHeaders/html/html_listimpl.h: Removed. + * ForwardingHeaders/html/html_miscimpl.h: Removed. + * ForwardingHeaders/html/html_objectimpl.h: Removed. + * ForwardingHeaders/html/html_tableimpl.h: Removed. + * ForwardingHeaders/html/htmlparser.h: Removed. + * ForwardingHeaders/html/htmltokenizer.h: Removed. + * ForwardingHeaders/misc: Removed. + * ForwardingHeaders/misc/decoder.h: Removed. + * ForwardingHeaders/misc/formdata.h: Removed. + * ForwardingHeaders/misc/helper.h: Removed. + * ForwardingHeaders/misc/khtmllayout.h: Removed. + * ForwardingHeaders/misc/loader.h: Removed. + * ForwardingHeaders/misc/loader_client.h: Removed. + * ForwardingHeaders/misc/shared.h: Removed. + * ForwardingHeaders/misc/stringit.h: Removed. + * ForwardingHeaders/rendering: Removed. + * ForwardingHeaders/rendering/font.h: Removed. + * ForwardingHeaders/rendering/render_applet.h: Removed. + * ForwardingHeaders/rendering/render_block.h: Removed. + * ForwardingHeaders/rendering/render_box.h: Removed. + * ForwardingHeaders/rendering/render_br.h: Removed. + * ForwardingHeaders/rendering/render_canvas.h: Removed. + * ForwardingHeaders/rendering/render_canvasimage.h: Removed. + * ForwardingHeaders/rendering/render_flow.h: Removed. + * ForwardingHeaders/rendering/render_form.h: Removed. + * ForwardingHeaders/rendering/render_frames.h: Removed. + * ForwardingHeaders/rendering/render_image.h: Removed. + * ForwardingHeaders/rendering/render_layer.h: Removed. + * ForwardingHeaders/rendering/render_line.h: Removed. + * ForwardingHeaders/rendering/render_list.h: Removed. + * ForwardingHeaders/rendering/render_object.h: Removed. + * ForwardingHeaders/rendering/render_replaced.h: Removed. + * ForwardingHeaders/rendering/render_style.h: Removed. + * ForwardingHeaders/rendering/render_table.h: Removed. + * ForwardingHeaders/rendering/table_layout.h: Removed. + * ForwardingHeaders/xbl: Removed. + * ForwardingHeaders/xbl/xbl_binding_manager.h: Removed. + * ForwardingHeaders/xml: Removed. + * ForwardingHeaders/xml/EventNames.h: Removed. + * ForwardingHeaders/xml/dom2_eventsimpl.h: Removed. + * ForwardingHeaders/xml/dom2_rangeimpl.h: Removed. + * ForwardingHeaders/xml/dom2_traversalimpl.h: Removed. + * ForwardingHeaders/xml/dom2_viewsimpl.h: Removed. + * ForwardingHeaders/xml/dom_atomicstring.h: Removed. + * ForwardingHeaders/xml/dom_docimpl.h: Removed. + * ForwardingHeaders/xml/dom_elementimpl.h: Removed. + * ForwardingHeaders/xml/dom_nodeimpl.h: Removed. + * ForwardingHeaders/xml/dom_position.h: Removed. + * ForwardingHeaders/xml/dom_stringimpl.h: Removed. + * ForwardingHeaders/xml/dom_textimpl.h: Removed. + * ForwardingHeaders/xml/dom_xmlimpl.h: Removed. + * ForwardingHeaders/xml/xml_tokenizer.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * khtml/css/css_valueimpl.cpp: + * khtml/css/cssstyleselector.cpp: + * khtml/editing/apply_style_command.cpp: + * khtml/editing/jsediting.cpp: + * khtml/editing/replace_selection_command.cpp: + * khtml/html/html_baseimpl.cpp: + * khtml/html/html_blockimpl.cpp: + * khtml/html/html_canvasimpl.cpp: + * khtml/html/html_documentimpl.cpp: + * khtml/html/html_elementimpl.cpp: + * khtml/html/html_formimpl.cpp: + * khtml/html/html_imageimpl.cpp: + * khtml/html/html_inlineimpl.cpp: + * khtml/html/html_listimpl.cpp: + * khtml/html/html_objectimpl.cpp: + * khtml/html/html_tableimpl.cpp: + * khtml/html/htmlparser.cpp: + * khtml/khtml_part.cpp: + * khtml/misc/decoder.cpp: + * khtml/rendering/render_frames.cpp: + * khtml/xml/dom_elementimpl.cpp: + +2006-01-10 Anders Carlsson <andersca@mac.com> + + Reviewed by Maciej. + + - renamed ChildFrame::m_frame to m_renderer and + ChildFrame::m_part to m_frame which makes more sense. + + This also fixes some bugs which were introduced in Maciej's + previous commit. + + * khtml/Frame.cpp: + (Frame::stopLoading): + (Frame::clear): + (Frame::stopAnimations): + (Frame::checkEmitLoadEvent): + (Frame::requestFrame): + (Frame::requestObject): + (Frame::processObjectRequest): + (Frame::childFrame): + (Frame::findFrame): + (Frame::frameExists): + (Frame::setZoomFactor): + (Frame::frames): + (Frame::childFrameNamed): + (Frame::connectChild): + (Frame::disconnectChild): + (Frame::handleFallbackContent): + * khtml/khtmlpart_p.h: + * khtml/xml/dom_docimpl.cpp: + (DocumentImpl::ownerElement): + * kwq/MacFrame.mm: + (Frame::frameDetached): + (MacFrame::createPart): + (MacFrame::nextKeyViewInFrameHierarchy): + (MacFrame::setPolicyBaseURL): + +2006-01-09 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=6450 + - renamed KHTMLPart to Frame (and KWQKHTMLPart to MacFrame for now) + + * ForwardingHeaders/ksvg2/KSVGPart.h: + * WebCore.xcodeproj/project.pbxproj: + * khtml/Frame.cpp: Added. + (khtml::PartStyleSheetLoader::PartStyleSheetLoader): + (khtml::PartStyleSheetLoader::setStyleSheet): + (Frame::Frame): + (Frame::init): + (Frame::~Frame): + (Frame::restoreURL): + (Frame::didOpenURL): + (Frame::didExplicitOpen): + (Frame::stopLoading): + (Frame::closeURL): + (Frame::browserExtension): + (Frame::view): + (Frame::setJScriptEnabled): + (Frame::jScriptEnabled): + (Frame::setMetaRefreshEnabled): + (Frame::metaRefreshEnabled): + (Frame::jScript): + (Frame::replaceContentsWithScriptResult): + (Frame::executeScript): + (Frame::scheduleScript): + (Frame::executeScheduledScript): + (Frame::setJavaEnabled): + (Frame::javaEnabled): + (Frame::setPluginsEnabled): + (Frame::pluginsEnabled): + (Frame::slotDebugDOMTree): + (Frame::slotDebugRenderTree): + (Frame::setAutoloadImages): + (Frame::autoloadImages): + (Frame::clear): + (Frame::openFile): + (Frame::xmlDocImpl): + (Frame::replaceDocImpl): + (Frame::receivedFirstData): + (Frame::slotFinished): + (Frame::childBegin): + (Frame::begin): + (Frame::write): + (Frame::end): + (Frame::endIfNotLoading): + (Frame::stop): + (Frame::stopAnimations): + (Frame::gotoAnchor): + (Frame::slotFinishedParsing): + (Frame::slotLoaderRequestStarted): + (Frame::slotLoaderRequestDone): + (Frame::checkCompleted): + (Frame::checkEmitLoadEvent): + (Frame::settings): + (Frame::baseURL): + (Frame::baseTarget): + (Frame::completeURL): + (Frame::scheduleRedirection): + (Frame::scheduleLocationChange): + (Frame::isScheduledLocationChangePending): + (Frame::scheduleHistoryNavigation): + (Frame::cancelRedirection): + (Frame::changeLocation): + (Frame::slotRedirect): + (Frame::slotRedirection): + (Frame::encoding): + (Frame::setUserStyleSheet): + (Frame::setStandardFont): + (Frame::setFixedFont): + (Frame::urlCursor): + (Frame::onlyLocalReferences): + (Frame::setOnlyLocalReferences): + (Frame::selectedText): + (Frame::hasSelection): + (Frame::selection): + (Frame::selectionGranularity): + (Frame::setSelectionGranularity): + (Frame::dragCaret): + (Frame::mark): + (Frame::setMark): + (Frame::setSelection): + (Frame::setDragCaret): + (Frame::clearSelection): + (Frame::invalidateSelection): + (Frame::setCaretVisible): + (Frame::clearCaretRectIfNeeded): + (isFrameElement): + (Frame::setFocusNodeIfNeeded): + (Frame::selectionLayoutChanged): + (Frame::setXPosForVerticalArrowNavigation): + (Frame::xPosForVerticalArrowNavigation): + (Frame::timerEvent): + (Frame::paintCaret): + (Frame::paintDragCaret): + (Frame::urlSelected): + (Frame::requestFrame): + (Frame::requestFrameName): + (Frame::requestObject): + (Frame::processObjectRequest): + (Frame::submitFormAgain): + (Frame::submitForm): + (Frame::slotParentCompleted): + (Frame::slotChildStarted): + (Frame::slotChildCompleted): + (Frame::childFrame): + (Frame::findFrame): + (Frame::frameExists): + (Frame::parentFrame): + (Frame::zoomFactor): + (Frame::slotIncZoom): + (Frame::slotDecZoom): + (Frame::setZoomFactor): + (Frame::setJSStatusBarText): + (Frame::setJSDefaultStatusBarText): + (Frame::jsStatusBarText): + (Frame::jsDefaultStatusBarText): + (Frame::referrer): + (Frame::lastModified): + (Frame::reparseConfiguration): + (Frame::frameNames): + (Frame::frames): + (Frame::childFrameNamed): + (Frame::setDNDEnabled): + (Frame::dndEnabled): + (Frame::shouldDragAutoNode): + (Frame::customEvent): + (Frame::isPointInsideSelection): + (Frame::selectClosestWordFromMouseEvent): + (Frame::handleMousePressEventDoubleClick): + (Frame::handleMousePressEventTripleClick): + (Frame::handleMousePressEventSingleClick): + (Frame::khtmlMousePressEvent): + (Frame::khtmlMouseDoubleClickEvent): + (Frame::handleMouseMoveEventSelection): + (Frame::khtmlMouseMoveEvent): + (Frame::khtmlMouseReleaseEvent): + (Frame::khtmlDrawContentsEvent): + (Frame::startAutoScroll): + (Frame::stopAutoScroll): + (Frame::selectAll): + (Frame::selectContentsOfNode): + (Frame::shouldChangeSelection): + (Frame::shouldBeginEditing): + (Frame::shouldEndEditing): + (Frame::isContentEditable): + (Frame::lastEditCommand): + (Frame::appliedEditing): + (Frame::unappliedEditing): + (Frame::reappliedEditing): + (Frame::typingStyle): + (Frame::setTypingStyle): + (Frame::clearTypingStyle): + (Frame::slotPartRemoved): + (Frame::createHTMLEventListener): + (Frame::opener): + (Frame::setOpener): + (Frame::openedByJS): + (Frame::setOpenedByJS): + (Frame::preloadStyleSheet): + (Frame::preloadScript): + (Frame::restored): + (Frame::incrementFrameCount): + (Frame::decrementFrameCount): + (Frame::topLevelFrameCount): + (Frame::tabsToLinks): + (Frame::tabsToAllControls): + (Frame::copyToPasteboard): + (Frame::cutToPasteboard): + (Frame::pasteFromPasteboard): + (Frame::pasteAndMatchStyle): + (Frame::transpose): + (Frame::redo): + (Frame::undo): + (Frame::computeAndSetTypingStyle): + (Frame::applyStyle): + (Frame::applyParagraphStyle): + (updateState): + (Frame::selectionHasStyle): + (Frame::selectionStartHasStyle): + (Frame::selectionStartStylePropertyValue): + (Frame::selectionComputedStyle): + (Frame::applyEditingStyleToBodyElement): + (Frame::removeEditingStyleFromBodyElement): + (Frame::applyEditingStyleToElement): + (Frame::removeEditingStyleFromElement): + (Frame::isCharacterSmartReplaceExempt): + (Frame::connectChild): + (Frame::disconnectChild): + (Frame::keepAlive): + (Frame::slotEndLifeSupport): + (Frame::selectFrameElementInParentIfFullySelected): + (Frame::handleFallbackContent): + * khtml/Frame.h: Added. + * khtml/css/cssstyleselector.cpp: + (khtml::CSSStyleSelector::CSSStyleSelector): + (khtml::CSSStyleSelector::initForStyleResolve): + (khtml::CSSStyleSelector::checkOneSelector): + (khtml::CSSStyleSelector::applyProperty): + (khtml::CSSStyleSelector::getComputedSizeFromSpecifiedSize): + * khtml/css/cssstyleselector.h: + * khtml/ecma/kjs_binding.cpp: + (KJS::ScriptInterpreter::ScriptInterpreter): + (KJS::ScriptInterpreter::~ScriptInterpreter): + * khtml/ecma/kjs_binding.h: + (KJS::ScriptInterpreter::frame): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMDocument::getValueProperty): + (KJS::getDOMDocumentNode): + (KJS::checkNodeSecurity): + * khtml/ecma/kjs_events.cpp: + (KJS::JSAbstractEventListener::handleEvent): + (KJS::JSLazyEventListener::parseCode): + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::HTMLDocFunction::callAsFunction): + (KJS::HTMLDocument::namedItemGetter): + (KJS::HTMLDocument::getValueProperty): + (KJS::KJS::HTMLDocument::putValueProperty): + (KJS::HTMLElement::framesetNameGetter): + (KJS::HTMLElement::frameWindowPropertyGetter): + (KJS::HTMLElement::getOwnPropertySlot): + (KJS::KJS::HTMLElement::implementsCall): + (KJS::Image::notifyFinished): + * khtml/ecma/kjs_navigator.cpp: + (KJS::Navigator::Navigator): + (KJS::Navigator::getValueProperty): + (KJS::NavigatorFunc::callAsFunction): + * khtml/ecma/kjs_navigator.h: + (KJS::Navigator::frame): + * khtml/ecma/kjs_proxy.cpp: + (KJSProxyImpl::KJSProxyImpl): + (KJSProxyImpl::evaluate): + (KJSProxyImpl::clear): + (KJSProxyImpl::createHTMLEventHandler): + (KJSProxyImpl::interpreter): + (KJSProxyImpl::initScript): + * khtml/ecma/kjs_proxy.h: + * khtml/ecma/kjs_traversal.cpp: + (KJS::JSNodeFilterCondition::acceptNode): + * khtml/ecma/kjs_window.cpp: + (KJS::History::History): + (KJS::FrameArray::FrameArray): + (KJS::Screen::getValueProperty): + (KJS::Window::Window): + (KJS::Window::interpreter): + (KJS::Window::retrieveWindow): + (KJS::Window::retrieve): + (KJS::Window::location): + (KJS::Window::selection): + (KJS::Window::locationbar): + (KJS::Window::menubar): + (KJS::Window::personalbar): + (KJS::Window::statusbar): + (KJS::Window::toolbar): + (KJS::Window::scrollbars): + (KJS::allowPopUp): + (KJS::createNewWindow): + (KJS::canShowModalDialog): + (KJS::canShowModalDialogNow): + (KJS::showModalDialog): + (KJS::Window::getValueProperty): + (KJS::Window::childFrameGetter): + (KJS::Window::namedFrameGetter): + (KJS::Window::indexGetter): + (KJS::Window::namedItemGetter): + (KJS::Window::getOwnPropertySlot): + (KJS::Window::put): + (KJS::Window::toBoolean): + (KJS::Window::scheduleClose): + (KJS::Window::isSafeScript): + (KJS::Window::setListener): + (KJS::Window::getListener): + (KJS::Window::setCurrentEvent): + (KJS::WindowFunc::callAsFunction): + (KJS::Window::updateLayout): + (KJS::ScheduledAction::execute): + (KJS::WindowQObject::WindowQObject): + (KJS::FrameArray::getValueProperty): + (KJS::FrameArray::indexGetter): + (KJS::FrameArray::nameGetter): + (KJS::FrameArray::getOwnPropertySlot): + (KJS::Location::Location): + (KJS::Location::getValueProperty): + (KJS::Location::getOwnPropertySlot): + (KJS::Location::put): + (KJS::Location::toString): + (KJS::LocationFunc::callAsFunction): + (KJS::Selection::Selection): + (KJS::Selection::getValueProperty): + (KJS::Selection::getOwnPropertySlot): + (KJS::Selection::toString): + (KJS::SelectionFunc::callAsFunction): + (KJS::BarInfo::BarInfo): + (KJS::BarInfo::getValueProperty): + (KJS::BarInfo::getOwnPropertySlot): + (KJS::History::getValueProperty): + (KJS::HistoryFunc::callAsFunction): + * khtml/ecma/kjs_window.h: + (KJS::Window::frame): + (KJS::Location::frame): + (KJS::Selection::frame): + (KJS::BarInfo::frame): + * khtml/ecma/xmlhttprequest.cpp: + (KJS::XMLHttpRequest::changeState): + (KJS::XMLHttpRequestProtoFunc::callAsFunction): + * khtml/editing/SelectionController.cpp: + (khtml::SelectionController::modify): + (khtml::SelectionController::xPosForVerticalArrowNavigation): + * khtml/editing/SelectionController.h: + (khtml::SelectionController::frame): + * khtml/editing/delete_selection_command.cpp: + (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete): + * khtml/editing/edit_command.cpp: + (khtml::EditCommand::EditCommand): + (khtml::EditCommand::apply): + (khtml::EditCommand::unapply): + (khtml::EditCommand::reapply): + (khtml::EditCommand::styleAtPosition): + * khtml/editing/htmlediting.cpp: + * khtml/editing/insert_line_break_command.cpp: + (khtml::InsertLineBreakCommand::doApply): + * khtml/editing/insert_text_command.cpp: + (khtml::InsertTextCommand::input): + * khtml/editing/jsediting.cpp: + (DOM::JSEditor::execCommand): + (DOM::JSEditor::queryCommandEnabled): + (DOM::JSEditor::queryCommandIndeterm): + (DOM::JSEditor::queryCommandState): + (DOM::JSEditor::queryCommandValue): + * khtml/editing/jsediting.h: + * khtml/editing/replace_selection_command.cpp: + (khtml::ReplaceSelectionCommand::doApply): + * khtml/editing/text_granularity.h: + * khtml/editing/typing_command.cpp: + (khtml::TypingCommand::deleteKeyPressed): + (khtml::TypingCommand::forwardDeleteKeyPressed): + (khtml::TypingCommand::insertText): + (khtml::TypingCommand::insertLineBreak): + (khtml::TypingCommand::insertParagraphSeparatorInQuotedContent): + (khtml::TypingCommand::insertParagraphSeparator): + (khtml::TypingCommand::markMisspellingsAfterTyping): + (khtml::TypingCommand::typingAddedToOpenCommand): + (khtml::TypingCommand::insertTextRunWithoutNewlines): + * khtml/html/html_baseimpl.cpp: + (HTMLFrameElementImpl::isURLAllowed): + (HTMLFrameElementImpl::openURL): + (HTMLFrameElementImpl::attach): + (HTMLFrameElementImpl::close): + (HTMLFrameElementImpl::contentPart): + (HTMLFrameElementImpl::contentDocument): + (HTMLIFrameElementImpl::attach): + * khtml/html/html_baseimpl.h: + * khtml/html/html_canvasimpl.cpp: + * khtml/html/html_documentimpl.cpp: + (DOM::HTMLDocumentImpl::lastModified): + * khtml/html/html_elementimpl.cpp: + (HTMLElementImpl::isContentEditable): + (HTMLElementImpl::setContentEditable): + * khtml/html/html_formimpl.cpp: + (DOM::HTMLFormElementImpl::formData): + (DOM::HTMLFormElementImpl::prepareSubmit): + (DOM::HTMLFormElementImpl::submit): + (DOM::HTMLFormElementImpl::reset): + (DOM::HTMLGenericFormElementImpl::isKeyboardFocusable): + (DOM::HTMLKeygenElementImpl::appendFormData): + * khtml/html/html_headimpl.cpp: + (HTMLBaseElementImpl::process): + (HTMLLinkElementImpl::process): + (HTMLScriptElementImpl::parseMappedAttribute): + (HTMLScriptElementImpl::insertedIntoDocument): + (HTMLScriptElementImpl::evaluateScript): + * khtml/html/html_imageimpl.cpp: + * khtml/html/html_inlineimpl.cpp: + (DOM::HTMLAnchorElementImpl::isKeyboardFocusable): + (DOM::HTMLAnchorElementImpl::defaultEventHandler): + * khtml/html/html_objectimpl.cpp: + (DOM::HTMLAppletElementImpl::createRenderer): + (DOM::HTMLAppletElementImpl::getAppletInstance): + (DOM::HTMLEmbedElementImpl::getEmbedInstance): + (DOM::HTMLEmbedElementImpl::rendererIsNeeded): + (DOM::HTMLObjectElementImpl::getObjectInstance): + (DOM::HTMLObjectElementImpl::rendererIsNeeded): + * khtml/html/html_tableimpl.cpp: + * khtml/html/htmlparser.cpp: + (HTMLParser::noscriptCreateErrorCheck): + * khtml/html/htmltokenizer.cpp: + (khtml::HTMLTokenizer::scriptHandler): + (khtml::HTMLTokenizer::scriptExecution): + (khtml::HTMLTokenizer::parseTag): + (khtml::HTMLTokenizer::write): + (khtml::HTMLTokenizer::stopParsing): + (khtml::HTMLTokenizer::timerEvent): + (khtml::HTMLTokenizer::processToken): + * khtml/khtml_part.cpp: Removed. + * khtml/khtml_part.h: Removed. + * khtml/khtmlpart_p.h: + (KHTMLPartPrivate::KHTMLPartPrivate): + * khtml/khtmlview.cpp: + (KHTMLView::KHTMLView): + (KHTMLView::~KHTMLView): + (KHTMLView::clearPart): + (KHTMLView::clear): + (KHTMLView::resizeEvent): + (KHTMLView::adjustViewSize): + (KHTMLView::layout): + (KHTMLView::updateDashboardRegions): + (KHTMLView::viewportMousePressEvent): + (KHTMLView::viewportMouseDoubleClickEvent): + (selectCursor): + (KHTMLView::viewportMouseMoveEvent): + (KHTMLView::viewportMouseReleaseEvent): + (KHTMLView::keyPressEvent): + (KHTMLView::dispatchDragEvent): + (KHTMLView::updateDragAndDrop): + (KHTMLView::focusNextPrevNode): + (KHTMLView::mediaType): + (KHTMLView::dispatchMouseEvent): + (KHTMLView::viewportWheelEvent): + (KHTMLView::focusInEvent): + (KHTMLView::focusOutEvent): + (KHTMLView::timerEvent): + (KHTMLView::scheduleRelayout): + (KHTMLView::unscheduleRelayout): + * khtml/khtmlview.h: + (KHTMLView::frame): + * khtml/misc/CachedImageCallback.cpp: + (khtml::CachedImageCallback::notifyUpdate): + (khtml::CachedImageCallback::notifyFinished): + (khtml::CachedImageCallback::clear): + * khtml/misc/CachedObject.h: + * khtml/misc/DocLoader.cpp: + (khtml::DocLoader::DocLoader): + (khtml::DocLoader::requestImage): + (khtml::DocLoader::requestStyleSheet): + (khtml::DocLoader::requestScript): + (khtml::DocLoader::requestXSLStyleSheet): + (khtml::DocLoader::requestXBLDocument): + * khtml/misc/DocLoader.h: + (khtml::DocLoader::frame): + * khtml/misc/loader.cpp: + (khtml::Loader::slotReceivedResponse): + * khtml/rendering/InlineTextBox.cpp: + (khtml::InlineTextBox::paint): + (khtml::InlineTextBox::paintMarkedTextUnderline): + * khtml/rendering/InlineTextBox.h: + * khtml/rendering/render_applet.cpp: + (RenderApplet::createWidgetIfNecessary): + * khtml/rendering/render_block.cpp: + (khtml::RenderBlock::paintCaret): + * khtml/rendering/render_canvas.cpp: + * khtml/rendering/render_form.cpp: + (RenderFileButton::RenderFileButton): + * khtml/rendering/render_frames.cpp: + (isURLAllowed): + (RenderPartObject::updateWidget): + * khtml/rendering/render_layer.cpp: + * khtml/rendering/render_object.cpp: + (RenderObject::draggableNode): + * khtml/rendering/render_replaced.cpp: + (RenderWidget::eventFilter): + * khtml/xml/dom2_eventsimpl.h: + * khtml/xml/dom_docimpl.cpp: + (DocumentImpl::DocumentImpl): + (DocumentImpl::updateTitle): + (DocumentImpl::frame): + (DocumentImpl::recalcStyle): + (DocumentImpl::updateSelection): + (DocumentImpl::open): + (DocumentImpl::close): + (DocumentImpl::implicitClose): + (DocumentImpl::processHttpEquiv): + (DocumentImpl::selectedStylesheetSet): + (DocumentImpl::setSelectedStylesheetSet): + (DocumentImpl::recalcStyleSelector): + (DocumentImpl::relinquishesEditingFocus): + (DocumentImpl::acceptsEditingFocus): + (DocumentImpl::clearSelectionIfNeeded): + (DocumentImpl::createHTMLEventListener): + (DocumentImpl::ownerElement): + (DocumentImpl::referrer): + (DocumentImpl::parentDocument): + * khtml/xml/dom_docimpl.h: + * khtml/xml/dom_elementimpl.cpp: + (ElementImpl::focus): + * khtml/xml/dom_nodeimpl.cpp: + (DOM::NodeImpl::dispatchEvent): + * khtml/xml/dom_xmlimpl.cpp: + (DOM::ProcessingInstructionImpl::checkStyleSheet): + * khtml/xml/xml_tokenizer.cpp: + (khtml::XMLTokenizer::processingInstruction): + (khtml::XMLTokenizer::executeScripts): + (khtml::XMLTokenizer::notifyFinished): + * khtml/xsl/xslt_processorimpl.cpp: + (DOM::XSLTProcessorImpl::createDocumentFromSource): + * ksvg2/svg/SVGAElementImpl.cpp: + (SVGAElementImpl::defaultEventHandler): + * ksvg2/svg/SVGImageElementImpl.cpp: + (SVGImageElementImpl::notifyFinished): + * kwq/DOM.mm: + (-[DOMNode KJS::Bindings::]): + * kwq/DOMHTML.mm: + * kwq/DOMInternal.mm: + (-[WebScriptObject _initializeScriptDOMNodeImp]): + * kwq/KWQAccObject.mm: + (-[KWQAccObject textUnderElement]): + (-[KWQAccObject value]): + (-[KWQAccObject accessibilityPerformAction:]): + (-[KWQAccObject accessibilityAttributeValue:]): + (-[KWQAccObject doAXTextMarkerForPosition:]): + (-[KWQAccObject rendererForView:]): + (-[KWQAccObject doSetAXSelectedTextMarkerRange:]): + * kwq/KWQClipboard.h: + * kwq/KWQClipboard.mm: + (KWQClipboard::KWQClipboard): + (KWQClipboard::dragNSImage): + * kwq/KWQComboBox.mm: + (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]): + (-[KWQPopUpButton becomeFirstResponder]): + (-[KWQPopUpButton resignFirstResponder]): + (-[KWQPopUpButton nextKeyView]): + (-[KWQPopUpButton previousKeyView]): + * kwq/KWQFileButton.h: + * kwq/KWQFileButton.mm: + (KWQFileButton::KWQFileButton): + (KWQFileButton::focusPolicy): + (KWQFileButton::focusChanged): + * kwq/KWQFrame.mm: + (QFrame::setFrameStyle): + * kwq/KWQKHTMLFactory.h: + * kwq/KWQKHTMLPart.cpp: Removed. + * kwq/KWQKHTMLPart.h: Removed. + * kwq/KWQKHTMLPart.mm: Removed. + * kwq/KWQKHTMLPartBrowserExtension.h: + * kwq/KWQKHTMLPartBrowserExtension.mm: + (KHTMLPartBrowserExtension::KHTMLPartBrowserExtension): + (KHTMLPartBrowserExtension::openURLRequest): + (KHTMLPartBrowserExtension::createNewWindow): + (KHTMLPartBrowserExtension::setIconURL): + (KHTMLPartBrowserExtension::setTypedIconURL): + (KHTMLPartBrowserExtension::canRunModal): + (KHTMLPartBrowserExtension::canRunModalNow): + (KHTMLPartBrowserExtension::runModal): + * kwq/KWQKHTMLView.cpp: + (KHTMLView::topLevelWidget): + * kwq/KWQKJavaAppletWidget.h: + * kwq/KWQKJavaAppletWidget.mm: + (KJavaAppletWidget::KJavaAppletWidget): + * kwq/KWQKPartsBrowserInterface.h: + (KParts::BrowserInterface::BrowserInterface): + * kwq/KWQKPartsBrowserInterface.mm: + (KParts::BrowserInterface::property): + (KParts::BrowserInterface::callMethod): + * kwq/KWQLineEdit.mm: + * kwq/KWQListBox.mm: + (-[KWQListBoxScrollView becomeFirstResponder]): + (-[KWQTableView keyDown:]): + (-[KWQTableView keyUp:]): + (-[KWQTableView becomeFirstResponder]): + (-[KWQTableView resignFirstResponder]): + (-[KWQTableView nextKeyView]): + (-[KWQTableView previousKeyView]): + * kwq/KWQLoader.mm: + (KWQServeRequest): + (KWQServeSynchronousRequest): + (KWQCheckIfReloading): + (KWQCheckCacheObjectStatus): + (KWQCacheObjectExpiresTime): + * kwq/KWQObject.cpp: + (QObject::inherits): + (QObject::isFrame): + * kwq/KWQObject.h: + * kwq/KWQPageState.mm: + (-[KWQPageState dealloc]): + (-[KWQPageState finalize]): + * kwq/KWQRegExp.cpp: + (QRegExp::KWQRegExpPrivate::compile): + * kwq/KWQRenderTreeDebug.cpp: + (write): + (writeSelection): + * kwq/KWQSlider.mm: + (-[KWQSlider becomeFirstResponder]): + (-[KWQSlider resignFirstResponder]): + (-[KWQSlider nextKeyView]): + (-[KWQSlider previousKeyView]): + (-[KWQSlider canBecomeKeyView]): + (QSlider::focusPolicy): + * kwq/KWQSlot.mm: + (KWQSlot::KWQSlot): + (KWQSlot::call): + * kwq/KWQTextArea.mm: + (-[KWQTextAreaTextView textDidChange:]): + (-[KWQTextAreaTextView _isResizableByUser]): + (-[KWQTextAreaTextView becomeFirstResponder]): + (-[KWQTextAreaTextView nextKeyView]): + (-[KWQTextAreaTextView previousKeyView]): + (-[KWQTextAreaTextView _trackResizeFromMouseDown:]): + (-[KWQTextAreaTextView drawRect:]): + (-[KWQTextAreaTextView insertTab:]): + (-[KWQTextAreaTextView insertBacktab:]): + (-[KWQTextAreaTextView resignFirstResponder]): + (-[KWQTextAreaTextView shouldDrawInsertionPoint]): + (-[KWQTextAreaTextView selectedTextAttributes]): + (-[KWQTextAreaTextView keyDown:]): + (-[KWQTextAreaTextView keyUp:]): + * kwq/KWQTextField.mm: + (-[KWQTextFieldController controlTextDidBeginEditing:]): + (-[KWQTextFieldController controlTextDidEndEditing:]): + (-[KWQTextFieldController controlTextDidChange:]): + (-[KWQTextFieldController control:textView:doCommandBySelector:]): + (-[KWQTextFieldController textView:shouldHandleEvent:]): + (-[KWQTextFieldController setHasFocus:]): + (-[KWQTextField nextKeyView]): + (-[KWQTextField previousKeyView]): + (-[KWQSecureTextField nextKeyView]): + (-[KWQSecureTextField previousKeyView]): + (-[KWQSearchField nextKeyView]): + (-[KWQSearchField previousKeyView]): + * kwq/KWQTimer.h: + * kwq/KWQWidget.mm: + (QWidget::setActiveWindow): + (QWidget::hasFocus): + (QWidget::setFocus): + (QWidget::clearFocus): + (QWidget::isVisible): + (QWidget::mapFromGlobal): + (QWidget::setIsSelected): + * kwq/MacFrame.cpp: Added. + (MacFrame::isFrameSet): + * kwq/MacFrame.h: Added. + (MacFrame::instances): + (Mac): + * kwq/MacFrame.mm: Added. + (Frame::completed): + (Frame::openURL): + (Frame::onURL): + (Frame::setStatusBarText): + (Frame::started): + (redirectionTimerMonitor): + (MacFrame::MacFrame): + (MacFrame::~MacFrame): + (MacFrame::freeClipboard): + (MacFrame::setSettings): + (MacFrame::generateFrameName): + (MacFrame::provisionalLoadStarted): + (MacFrame::userGestureHint): + (MacFrame::openURL): + (MacFrame::openURLRequest): + (MacFrame::didNotOpenURL): + (MacFrame::currentForm): + (MacFrame::searchForLabelsAboveCell): + (MacFrame::searchForLabelsBeforeElement): + (MacFrame::matchLabelsAgainstElement): + (MacFrame::findString): + (MacFrame::clearRecordedFormValues): + (MacFrame::recordFormValue): + (MacFrame::submitForm): + (MacFrame::setEncoding): + (MacFrame::addData): + (Frame::frameDetached): + (MacFrame::urlSelected): + (MacFrame::createPart): + (MacFrame::setView): + (MacFrame::view): + (MacFrame::setTitle): + (MacFrame::setStatusBarText): + (MacFrame::scheduleClose): + (MacFrame::unfocusWindow): + (MacFrame::revealSelection): + (MacFrame::advanceToNextMisspelling): + (MacFrame::scrollOverflow): + (MacFrame::wheelEvent): + (MacFrame::redirectionTimerStartedOrStopped): + (MacFrame::paint): + (MacFrame::adjustPageHeight): + (MacFrame::renderer): + (MacFrame::userAgent): + (MacFrame::mimeTypeForFileName): + (MacFrame::nextKeyViewInFrame): + (MacFrame::nextKeyViewInFrameHierarchy): + (MacFrame::nextKeyView): + (MacFrame::nextKeyViewForWidget): + (MacFrame::currentEventIsMouseDownInWidget): + (MacFrame::currentEventIsKeyboardOptionTab): + (MacFrame::handleKeyboardOptionTabInView): + (MacFrame::tabsToLinks): + (MacFrame::tabsToAllControls): + (MacFrame::executionContextForDOM): + (MacFrame::bindingRootObject): + (MacFrame::windowScriptObject): + (MacFrame::windowScriptNPObject): + (MacFrame::partClearedInBegin): + (MacFrame::pauseTimeouts): + (MacFrame::resumeTimeouts): + (MacFrame::canCachePage): + (MacFrame::saveWindowProperties): + (MacFrame::saveLocationProperties): + (MacFrame::restoreWindowProperties): + (MacFrame::restoreLocationProperties): + (MacFrame::saveInterpreterBuiltins): + (MacFrame::restoreInterpreterBuiltins): + (MacFrame::openURLFromPageCache): + (MacFrame::frameForWidget): + (MacFrame::bridgeForWidget): + (MacFrame::frameForNode): + (MacFrame::documentViewForNode): + (MacFrame::nodeForWidget): + (MacFrame::setDocumentFocus): + (MacFrame::clearDocumentFocus): + (MacFrame::saveDocumentState): + (MacFrame::restoreDocumentState): + (MacFrame::mutableInstances): + (MacFrame::updatePolicyBaseURL): + (MacFrame::setPolicyBaseURL): + (MacFrame::requestedURLString): + (MacFrame::incomingReferrer): + (MacFrame::forceLayout): + (MacFrame::forceLayoutWithPageWidthRange): + (MacFrame::sendResizeEvent): + (MacFrame::sendScrollEvent): + (MacFrame::runJavaScriptAlert): + (MacFrame::runJavaScriptConfirm): + (MacFrame::runJavaScriptPrompt): + (MacFrame::locationbarVisible): + (MacFrame::menubarVisible): + (MacFrame::personalbarVisible): + (MacFrame::scrollbarsVisible): + (MacFrame::statusbarVisible): + (MacFrame::toolbarVisible): + (MacFrame::addMessageToConsole): + (MacFrame::createEmptyDocument): + (MacFrame::addMetaData): + (MacFrame::keyEvent): + (MacFrame::scrollToAnchor): + (MacFrame::closeURL): + (MacFrame::canMouseDownStartSelect): + (MacFrame::khtmlMousePressEvent): + (MacFrame::khtmlMouseDoubleClickEvent): + (MacFrame::passWidgetMouseDownEventToWidget): + (MacFrame::lastEventIsMouseUp): + (MacFrame::mouseDownViewIfStillGood): + (MacFrame::dragHysteresisExceeded): + (MacFrame::dispatchDragSrcEvent): + (MacFrame::eventMayStartDrag): + (MacFrame::khtmlMouseMoveEvent): + (MacFrame::dragSourceMovedTo): + (MacFrame::dragSourceEndedAt): + (MacFrame::dispatchCPPEvent): + (MacFrame::mayCut): + (MacFrame::mayCopy): + (MacFrame::mayPaste): + (MacFrame::tryCut): + (MacFrame::tryCopy): + (MacFrame::tryPaste): + (MacFrame::khtmlMouseReleaseEvent): + (MacFrame::clearTimers): + (MacFrame::passSubframeEventToSubframe): + (MacFrame::passWheelEventToChildWidget): + (MacFrame::mouseDown): + (MacFrame::mouseDragged): + (MacFrame::mouseUp): + (MacFrame::sendFakeEventsAfterWidgetTracking): + (MacFrame::mouseMoved): + (MacFrame::shouldDragAutoNode): + (MacFrame::sendContextMenuEvent): + (MacFrame::fileWrapperForElement): + (MacFrame::attributedString): + (MacFrame::selectionRect): + (MacFrame::visibleSelectionRect): + (MacFrame::centerSelectionInVisibleArea): + (MacFrame::imageFromRect): + (MacFrame::selectionImage): + (MacFrame::snapshotDragImage): + (MacFrame::styleForSelectionStart): + (MacFrame::fontForSelection): + (MacFrame::fontAttributesForSelectionStart): + (MacFrame::baseWritingDirectionForSelectionStart): + (MacFrame::topLevelWidget): + (MacFrame::tokenizerProcessedData): + (MacFrame::selectionStartOffset): + (MacFrame::selectionEndOffset): + (MacFrame::selectionStart): + (MacFrame::selectionEnd): + (MacFrame::setBridge): + (MacFrame::overrideMediaType): + (MacFrame::setMediaType): + (MacFrame::setSelectionFromNone): + (MacFrame::setDisplaysWithFocusAttributes): + (MacFrame::displaysWithFocusAttributes): + (MacFrame::setWindowHasFocus): + (MacFrame::backslashAsCurrencySymbol): + (MacFrame::bodyBackgroundColor): + (MacFrame::keyboardUIMode): + (MacFrame::setName): + (MacFrame::didTellBridgeAboutLoad): + (MacFrame::haveToldBridgeAboutLoad): + (MacFrame::clear): + (Frame::print): + (MacFrame::getAppletInstanceForWidget): + (MacFrame::getEmbedInstanceForWidget): + (MacFrame::getObjectInstanceForWidget): + (MacFrame::addPluginRootObject): + (MacFrame::cleanupPluginRootObjects): + (MacFrame::registerCommandForUndoOrRedo): + (MacFrame::registerCommandForUndo): + (MacFrame::registerCommandForRedo): + (MacFrame::clearUndoRedoOperations): + (MacFrame::issueUndoCommand): + (MacFrame::issueRedoCommand): + (MacFrame::issueCutCommand): + (MacFrame::issueCopyCommand): + (MacFrame::issuePasteCommand): + (MacFrame::issuePasteAndMatchStyleCommand): + (MacFrame::issueTransposeCommand): + (Frame::canUndo): + (Frame::canRedo): + (Frame::canPaste): + (MacFrame::markMisspellingsInAdjacentWords): + (MacFrame::markMisspellings): + (MacFrame::respondToChangedSelection): + (MacFrame::shouldChangeSelection): + (MacFrame::respondToChangedContents): + (MacFrame::isContentEditable): + (MacFrame::shouldBeginEditing): + (MacFrame::shouldEndEditing): + (convertAttributesToUnderlines): + (MacFrame::setMarkedTextRange): + (MacFrame::markedTextUsesUnderlines): + (MacFrame::markedTextUnderlines): + (MacFrame::canGoBackOrForward): + (MacFrame::prepareForUserAction): + (MacFrame::didFirstLayout): + (MacFrame::dashboardRegionsDictionary): + (MacFrame::dashboardRegionsChanged): + (MacFrame::isCharacterSmartReplaceExempt): + (MacFrame::isFrame): + (MacFrame::mousePressNode): + (MacFrame::handledOnloadEvents): + (MacFrame::shouldClose): + * kwq/WebCoreBridge.h: + * kwq/WebCoreBridge.mm: + (updateRenderingForBindings): + (frameHasSelection): + (+[WebCoreBridge bridgeForDOMDocument:]): + (-[WebCoreBridge init]): + (-[WebCoreBridge initializeSettings:]): + (-[WebCoreBridge dealloc]): + (-[WebCoreBridge finalize]): + (-[WebCoreBridge part]): + (-[WebCoreBridge setParent:]): + (-[WebCoreBridge parent]): + (-[WebCoreBridge provisionalLoadStarted]): + (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): + (-[WebCoreBridge setEncoding:userChosen:]): + (-[WebCoreBridge addData:]): + (-[WebCoreBridge closeURL]): + (-[WebCoreBridge stopLoading]): + (-[WebCoreBridge didNotOpenURL:pageCache:]): + (-[WebCoreBridge saveDocumentState]): + (-[WebCoreBridge restoreDocumentState]): + (-[WebCoreBridge scrollToAnchorWithURL:]): + (-[WebCoreBridge scrollOverflowInDirection:granularity:]): + (-[WebCoreBridge sendScrollWheelEvent:]): + (-[WebCoreBridge saveDocumentToPageCache]): + (-[WebCoreBridge canCachePage]): + (-[WebCoreBridge clear]): + (-[WebCoreBridge end]): + (-[WebCoreBridge stop]): + (-[WebCoreBridge handleFallbackContent]): + (-[WebCoreBridge createKHTMLViewWithNSView:marginWidth:marginHeight:]): + (-[WebCoreBridge scrollToAnchor:]): + (-[WebCoreBridge isSelectionEditable]): + (-[WebCoreBridge selectionState]): + (-[WebCoreBridge _documentTypeString]): + (-[WebCoreBridge selectedString]): + (-[WebCoreBridge stringForRange:]): + (-[WebCoreBridge selectAll]): + (-[WebCoreBridge deselectAll]): + (-[WebCoreBridge deselectText]): + (-[WebCoreBridge isFrameSet]): + (-[WebCoreBridge reapplyStylesForDeviceType:]): + (nowPrinting): + (-[WebCoreBridge _setupRootForPrinting:]): + (-[WebCoreBridge forceLayoutAdjustingViewSize:]): + (-[WebCoreBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): + (-[WebCoreBridge sendResizeEvent]): + (-[WebCoreBridge sendScrollEvent]): + (-[WebCoreBridge drawRect:withPainter:]): + (-[WebCoreBridge drawRect:]): + (-[WebCoreBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]): + (-[WebCoreBridge adjustPageHeightNew:top:bottom:limit:]): + (-[WebCoreBridge copyDOMTree:]): + (-[WebCoreBridge copyRenderTree:]): + (-[WebCoreBridge removeFromFrame]): + (-[WebCoreBridge installInFrame:]): + (-[WebCoreBridge setActivationEventNumber:]): + (-[WebCoreBridge mouseDown:]): + (-[WebCoreBridge mouseDragged:]): + (-[WebCoreBridge mouseUp:]): + (-[WebCoreBridge mouseMoved:]): + (-[WebCoreBridge sendContextMenuEvent:]): + (-[WebCoreBridge currentForm]): + (-[WebCoreBridge searchForLabels:beforeElement:]): + (-[WebCoreBridge matchLabels:againstElement:]): + (-[WebCoreBridge elementAtPoint:]): + (-[WebCoreBridge URLWithAttributeString:]): + (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:]): + (-[WebCoreBridge advanceToNextMisspelling]): + (-[WebCoreBridge advanceToNextMisspellingStartingJustBeforeSelection]): + (-[WebCoreBridge unmarkAllMisspellings]): + (-[WebCoreBridge setTextSizeMultiplier:]): + (-[WebCoreBridge textEncoding]): + (-[WebCoreBridge nextKeyView]): + (-[WebCoreBridge previousKeyView]): + (-[WebCoreBridge nextKeyViewInsideWebFrameViews]): + (-[WebCoreBridge previousKeyViewInsideWebFrameViews]): + (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + (-[WebCoreBridge windowScriptObject]): + (-[WebCoreBridge windowScriptNPObject]): + (-[WebCoreBridge DOMDocument]): + (-[WebCoreBridge selectedAttributedString]): + (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]): + (-[WebCoreBridge selectionRect]): + (-[WebCoreBridge visibleSelectionRect]): + (-[WebCoreBridge centerSelectionInVisibleArea]): + (-[WebCoreBridge selectionImage]): + (-[WebCoreBridge setName:]): + (-[WebCoreBridge name]): + (-[WebCoreBridge URL]): + (-[WebCoreBridge baseURL]): + (-[WebCoreBridge referrer]): + (-[WebCoreBridge domain]): + (-[WebCoreBridge opener]): + (-[WebCoreBridge setOpener:]): + (-[WebCoreBridge needsLayout]): + (-[WebCoreBridge setNeedsLayout]): + (-[WebCoreBridge interceptKeyEvent:toView:]): + (-[WebCoreBridge renderTreeAsExternalRepresentation]): + (-[WebCoreBridge setSelectionFromNone]): + (-[WebCoreBridge setDisplaysWithFocusAttributes:]): + (-[WebCoreBridge setWindowHasFocus:]): + (-[WebCoreBridge numPendingOrLoadingRequests]): + (-[WebCoreBridge doneProcessingData]): + (-[WebCoreBridge shouldClose]): + (-[WebCoreBridge bodyBackgroundColor]): + (-[WebCoreBridge selectionColor]): + (-[WebCoreBridge adjustViewSize]): + (-[WebCoreBridge accessibilityTree]): + (-[WebCoreBridge setDrawsBackground:]): + (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]): + (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]): + (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): + (-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:]): + (-[WebCoreBridge alterCurrentSelection:verticalDistance:]): + (-[WebCoreBridge selectionGranularity]): + (-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]): + (-[WebCoreBridge selectedDOMRange]): + (-[WebCoreBridge convertToNSRange:DOM::]): + (-[WebCoreBridge convertToDOMRange:]): + (-[WebCoreBridge selectNSRange:]): + (-[WebCoreBridge selectedNSRange]): + (-[WebCoreBridge selectionAffinity]): + (-[WebCoreBridge setMarkDOMRange:]): + (-[WebCoreBridge markDOMRange]): + (-[WebCoreBridge setMarkedTextDOMRange:customAttributes:ranges:]): + (-[WebCoreBridge markedTextDOMRange]): + (-[WebCoreBridge markedTextNSRange]): + (-[WebCoreBridge replaceMarkedTextWithText:]): + (-[WebCoreBridge smartDeleteRangeForProposedRange:]): + (-[WebCoreBridge smartInsertForString:replacingRange:beforeString:afterString:]): + (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]): + (-[WebCoreBridge documentFragmentWithText:]): + (-[WebCoreBridge documentFragmentWithNodesAsParagraphs:]): + (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): + (-[WebCoreBridge insertLineBreak]): + (-[WebCoreBridge insertParagraphSeparator]): + (-[WebCoreBridge insertParagraphSeparatorInQuotedContent]): + (-[WebCoreBridge insertText:selectInsertedText:]): + (-[WebCoreBridge setSelectionToDragCaret]): + (-[WebCoreBridge moveSelectionToDragCaret:smartMove:]): + (-[WebCoreBridge _visiblePositionForPoint:]): + (-[WebCoreBridge moveDragCaretToPoint:]): + (-[WebCoreBridge removeDragCaret]): + (-[WebCoreBridge dragCaretDOMRange]): + (-[WebCoreBridge deleteSelectionWithSmartDelete:]): + (-[WebCoreBridge deleteKeyPressedWithSmartDelete:]): + (-[WebCoreBridge forwardDeleteKeyPressedWithSmartDelete:]): + (-[WebCoreBridge typingStyle]): + (-[WebCoreBridge setTypingStyle:withUndoAction:]): + (-[WebCoreBridge applyStyle:withUndoAction:]): + (-[WebCoreBridge applyParagraphStyle:withUndoAction:]): + (-[WebCoreBridge selectionStartHasStyle:]): + (-[WebCoreBridge selectionHasStyle:]): + (-[WebCoreBridge applyEditingStyleToBodyElement]): + (-[WebCoreBridge removeEditingStyleFromBodyElement]): + (-[WebCoreBridge applyEditingStyleToElement:]): + (-[WebCoreBridge removeEditingStyleFromElement:]): + (-[WebCoreBridge fontForSelection:]): + (-[WebCoreBridge fontAttributesForSelectionStart]): + (-[WebCoreBridge baseWritingDirectionForSelectionStart]): + (-[WebCoreBridge ensureSelectionVisible]): + (-[WebCoreBridge eventMayStartDrag:]): + (-[WebCoreBridge dragOperationForDraggingInfo:]): + (-[WebCoreBridge dragExitedWithDraggingInfo:]): + (-[WebCoreBridge concludeDragForDraggingInfo:]): + (-[WebCoreBridge dragSourceMovedTo:]): + (-[WebCoreBridge dragSourceEndedAt:operation:]): + (-[WebCoreBridge mayDHTMLCut]): + (-[WebCoreBridge mayDHTMLCopy]): + (-[WebCoreBridge mayDHTMLPaste]): + (-[WebCoreBridge tryDHTMLCut]): + (-[WebCoreBridge tryDHTMLCopy]): + (-[WebCoreBridge tryDHTMLPaste]): + (-[WebCoreBridge rangeOfCharactersAroundCaret]): + (-[WebCoreBridge dashboardRegions]): + (-[WebCoreBridge executionContextForView:]): + * kwq/WebCoreSettings.mm: + (-[WebCoreSettings _updateAllViews]): + * kwq/WebCoreTextRendererFactory.mm: + (-[WebCoreTextRendererFactory clearCaches]): + +2006-01-09 Darin Adler <darin@apple.com> + + * Makefile.am: Removed. + +2006-01-09 John Sullivan <sullivan@apple.com> + + * khtml/misc/decoder.cpp: + removed #include of recently-removed kcharsets.h to fix build + +2006-01-08 Alexander Kellett <lypanov@kde.org> + + Reviewed by eseidel. Committed by eseidel. + + First set of refactors to fix + http://bugs.webkit.org/show_bug.cgi?id=5748. + + Refactors to delay paintserver creation until usage and thereby + simplify much code in the process. Causes several changes in rendertree + output all of which are improvements rather than regressions. + + * kcanvas/KCanvasItem.cpp: setupForDraw() logic moved to KCanvasItemQuartz + * kcanvas/KCanvasItem.h: + * kcanvas/KCanvasResources.cpp: + (KCanvasResource::addClient): const-ify + * kcanvas/KCanvasResources.h: + * kcanvas/KCanvasTreeDebug.cpp: + (writeStyle): minor refactor/inline - keeps most output the same after + patch, some minor const'ifications + * kcanvas/device/KRenderingFillPainter.cpp: + setter + (KRenderingFillPainter::Private::Private): + * kcanvas/device/KRenderingFillPainter.h: refactor out paintserver and + draw() + * kcanvas/device/KRenderingStrokePainter.cpp: refactor out paintserver + and draw() + (KRenderingStrokePainter::Private::Private): + * kcanvas/device/KRenderingStrokePainter.h: + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (KCanvasItemQuartz::paint): + (KCanvasItemQuartz::hitsPath): + * ksvg2/misc/KCanvasRenderingStyle.cpp: + (KCanvasRenderingStyle::KCanvasRenderingStyle): + (KCanvasRenderingStyle::~KCanvasRenderingStyle): + (KCanvasRenderingStyle::overrideFillPaintServer): + (KCanvasRenderingStyle::isFilled): + (KCanvasRenderingStyle::fillPaintServer): + (KCanvasRenderingStyle::overrideStrokePaintServer): + (KCanvasRenderingStyle::isStroked): + (KCanvasRenderingStyle::strokePaintServer): + (KCanvasRenderingStyle::updateStyle): remove paintserver constructions + from update notification and instead create on usage, removing + disable.*Painter() methods + * ksvg2/misc/KCanvasRenderingStyle.h: + * ksvg2/svg/SVGImageElementImpl.cpp: + (SVGImageElementImpl::notifyFinished): use paintserver override logic + +2006-01-09 Alexey Proskuryakov <ap@nypop.com> + + Fix broken build (CachedObject.cpp was still including kcharsets.h). + Proposed and reviewed by Eric Seidel. + +2006-01-09 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Remove more unused code from kwq. + + * ForwardingHeaders/dcopclient.h: Removed. + * ForwardingHeaders/kaction.h: Removed. + * ForwardingHeaders/kcharsets.h: Removed. + * ForwardingHeaders/kcombobox.h: Removed. + * ForwardingHeaders/klineedit.h: Removed. + * ForwardingHeaders/klistbox.h: Removed. + * ForwardingHeaders/kwin.h: Removed. + * ForwardingHeaders/qcombobox.h: Added. + * ForwardingHeaders/qlineedit.h: Added. + * WebCore.xcodeproj/project.pbxproj: remove files. + * khtml/css/csshelper.cpp: + * khtml/css/cssstyleselector.cpp: + * khtml/ecma/kjs_window.cpp: + (KJS::Window::getValueProperty): + * khtml/html/html_documentimpl.cpp: + * khtml/html/html_formimpl.cpp: + (DOM::HTMLOptionElementImpl::index): + (DOM::HTMLOptionElementImpl::setIndex): + * khtml/html/htmltokenizer.cpp: + * khtml/html/htmltokenizer.h: + * khtml/khtml_part.cpp: + * khtml/khtmlpart_p.h: + * khtml/rendering/render_form.cpp: + (RenderLineEdit::RenderLineEdit): + (RenderLineEdit::setStyle): + (RenderLineEdit::updateFromElement): + (RenderLineEdit::selectionStart): + (RenderLineEdit::selectionEnd): + (RenderLineEdit::setSelectionStart): + (RenderLineEdit::setSelectionEnd): + (RenderLineEdit::select): + (RenderLineEdit::setSelectionRange): + (ComboBoxWidget::ComboBoxWidget): + (ComboBoxWidget::event): + (ComboBoxWidget::eventFilter): + (RenderSelect::setWidgetWritingDirection): + (RenderSelect::updateFromElement): + (RenderSelect::layout): + (RenderSelect::slotSelectionChanged): + (RenderSelect::createListBox): + (RenderSelect::updateSelection): + (RenderTextArea::RenderTextArea): + * khtml/rendering/render_form.h: + (khtml::RenderLineEdit::widget): + * kwq/KWQDCOPClient.h: Removed. + * kwq/KWQKCharsets.cpp: Removed. + * kwq/KWQKCharsets.h: Removed. + * kwq/KWQKComboBox.h: Removed. + * kwq/KWQKKAction.h: Removed. + * kwq/KWQKLineEdit.h: Removed. + * kwq/KWQKListBox.h: Removed. + * kwq/KWQKWin.cpp: Removed. + * kwq/KWQKWin.h: Removed. + * kwq/KWQWidget.h: + * kwq/KWQWidget.mm: + +2006-01-09 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Removing more unused parts of KWQ. + + * ForwardingHeaders/java/kjavaappletcontext.h: Removed. + * ForwardingHeaders/khtml_find.h: Removed. + * ForwardingHeaders/qimage.h: Removed. + * ForwardingHeaders/rendering/break_lines.h: Removed. + * ForwardingHeaders/rendering/render_text.h: Removed. + * ForwardingHeaders/xbl/xbl_docimpl.h: Removed. + * WebCore.xcodeproj/project.pbxproj: + * khtml/html/html_canvasimpl.cpp: + * khtml/html/html_imageimpl.cpp: + * khtml/html/html_objectimpl.cpp: + * khtml/html/html_objectimpl.h: + * khtml/khtml_part.cpp: + (KHTMLPart::init): + (KHTMLPart::~KHTMLPart): + (KHTMLPart::clear): + * khtml/khtml_part.h: + * khtml/khtmlpart_p.h: + (KHTMLPartPrivate::KHTMLPartPrivate): + (KHTMLPartPrivate::~KHTMLPartPrivate): + * khtml/rendering/render_applet.cpp: + (RenderApplet::RenderApplet): + (RenderApplet::createWidgetIfNecessary): + * khtml/rendering/render_applet.h: + * ksvg2/svg/SVGFEImageElementImpl.cpp: + * ksvg2/svg/SVGImageElementImpl.cpp: + * kwq/DOMHTML.mm: + * kwq/KWQDummyView.h: Removed. + * kwq/KWQDummyView.m: Removed. + * kwq/KWQImage.h: Removed. + * kwq/KWQKHTMLFind.h: Removed. + * kwq/KWQKHTMLPart.mm: + * kwq/KWQKHTMLPartBrowserExtension.h: + * kwq/KWQKJavaAppletContext.h: Removed. + * kwq/KWQKJavaAppletWidget.h: + * kwq/KWQKJavaAppletWidget.mm: + (KJavaAppletWidget::KJavaAppletWidget): + * kwq/KWQKPartsBrowserExtension.h: + * kwq/KWQObject.h: + * kwq/KWQRegion.h: + +2006-01-09 Eric Seidel <eseidel@apple.com> + + Rubber stamped by mjs. + + Broke out loader.{h,cpp} into multiple files, one per class. + This patch also updates all files which previously included + loader.h to only include the necessary renamed headers. + http://bugs.webkit.org/show_bug.cgi?id=6444 + + * ForwardingHeaders/kdom/cache/KDOMCachedDocument.h: Removed. + * ForwardingHeaders/kdom/cache/KDOMCachedImage.h: updated include + * ForwardingHeaders/kdom/cache/KDOMCachedObject.h: updated include + * ForwardingHeaders/kdom/cache/KDOMCachedScript.h: updated include + * WebCore.xcodeproj/project.pbxproj: added files + * khtml/css/css_computedstyle.cpp: updated includes + * khtml/css/css_ruleimpl.cpp: updated includes + * khtml/css/css_stylesheetimpl.h: updated includes + * khtml/css/css_valueimpl.cpp: updated includes + * khtml/css/cssstyleselector.cpp: updated includes + * khtml/ecma/kjs_events.cpp: updated includes + * khtml/ecma/kjs_html.cpp: updated includes + * khtml/ecma/xmlhttprequest.cpp: updated includes + * khtml/html/html_headimpl.cpp: updated includes + * khtml/html/html_imageimpl.cpp: updated includes + * khtml/html/html_imageimpl.h: updated includes + * khtml/html/htmltokenizer.cpp: updated includes + * khtml/khtml_part.cpp: updated includes + * khtml/khtmlview.cpp: updated includes + * khtml/misc/Cache.cpp: Added. + * khtml/misc/Cache.h: Added. + * khtml/misc/CachedCSSStyleSheet.cpp: Added. + * khtml/misc/CachedCSSStyleSheet.h: Added. + * khtml/misc/CachedImage.cpp: Added. + * khtml/misc/CachedImage.h: Added. + * khtml/misc/CachedImageCallback.cpp: Added. + * khtml/misc/CachedImageCallback.h: Added. + * khtml/misc/CachedObject.cpp: Added. + * khtml/misc/CachedObject.h: Added, fixed tabs -> spaces. + * khtml/misc/CachedObjectClientWalker.cpp: Added. + * khtml/misc/CachedObjectClientWalker.h: Added. + * khtml/misc/CachedScript.cpp: Added. + * khtml/misc/CachedScript.h: Added. + * khtml/misc/CachedXBLDocument.cpp: Added. + * khtml/misc/CachedXBLDocument.h: Added. + * khtml/misc/CachedXSLStyleSheet.cpp: Added. + * khtml/misc/CachedXSLStyleSheet.h: Added. + * khtml/misc/DocLoader.cpp: Added. + * khtml/misc/DocLoader.h: Added. + * khtml/misc/Request.cpp: Added. + * khtml/misc/Request.h: Added. + * khtml/misc/loader.cpp: updated includes + * khtml/misc/loader.h: updated includes + * khtml/misc/loader_client.h: updated includes + * khtml/rendering/render_box.cpp: updated includes + * khtml/rendering/render_line.cpp: updated includes + * khtml/rendering/render_list.cpp: updated includes + * khtml/rendering/render_object.cpp: updated includes + * khtml/xml/dom_docimpl.cpp: updated includes + * khtml/xml/dom_xmlimpl.cpp: updated includes + * khtml/xml/xml_tokenizer.cpp: updated includes + * khtml/xsl/xsl_stylesheetimpl.cpp: updated includes + * khtml/xsl/xsl_stylesheetimpl.h: updated includes + * khtml/xsl/xslt_processorimpl.cpp: updated includes + * ksvg2/svg/SVGCursorElementImpl.cpp: updated includes + * ksvg2/svg/SVGDocumentImpl.cpp: updated includes + * ksvg2/svg/SVGFEImageElementImpl.cpp: updated includes + * ksvg2/svg/SVGImageElementImpl.cpp: updated includes + * ksvg2/svg/SVGImageElementImpl.h: updated includes + * kwq/KWQKHTMLPart.mm: updated includes + * kwq/KWQLoader.mm: updated includes + * kwq/KWQPixmap.mm: updated includes + * kwq/KWQTextArea.mm: updated includes + * kwq/WebCoreBridge.mm: updated includes + * kwq/WebCoreCache.mm: updated includes + +2006-01-09 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6402 + Implement frameElement.width and frameElement.height + + Test case: fast/frames/frameElement-widthheight.html + + * khtml/ecma/kjs_html.cpp: + (KJS::HTMLElement::frameGetter): + * khtml/ecma/kjs_html.h: + Add FrameWidth, FrameHeight + + * khtml/html/html_baseimpl.cpp: + (HTMLFrameElementImpl::frameWidth): + (HTMLFrameElementImpl::frameHeight): + * khtml/html/html_baseimpl.h: + Add frameWidth, frameHeight + +2006-01-09 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Maciej, landed by ap. + + Test: fast/replaced/inline-box-wrapper-handover.html + + - fix http://bugs.webkit.org/show_bug.cgi?id=6276 + Image thumbnails are misplaced on forum.2ostrov.ru + + * khtml/rendering/render_line.cpp: + (khtml::InlineBox::deleteLine): Don't reset the inline box wrapper when + deleting an extracted box. + +2006-01-08 Eric Seidel <eseidel@apple.com> + + Reviewed by ggaren. + + Remove all mention of NSView from khtml. + + * khtml/html/html_objectimpl.cpp: + (DOM::HTMLAppletElementImpl::getAppletInstance): call w/ widget + (DOM::HTMLEmbedElementImpl::getEmbedInstance): call w/ widget + (DOM::HTMLObjectElementImpl::getObjectInstance): call w/ widget + * kwq/KWQKHTMLPart.h: + * kwq/KWQKHTMLPart.mm: + (KWQKHTMLPart::getAppletInstanceForWidget): renamed. + (KWQKHTMLPart::getEmbedInstanceForWidget): renamed. + (KWQKHTMLPart::getObjectInstanceForWidget): renamed. + +2006-01-08 Eric Seidel <eseidel@apple.com> + + Rubber stamped by ggaren. + + * ForwardingHeaders/qsortedlist.h: Added. (a khtml file was referencing KWQ directly.) + * WebCore.xcodeproj/project.pbxproj: added new files. + * khtml/editing/SelectionController.cpp: updated includes + * khtml/editing/composite_edit_command.cpp: updated includes + * khtml/editing/htmlediting.cpp: updated includes + * khtml/editing/markup.cpp: updated includes + * khtml/editing/visible_position.cpp: updated includes + * khtml/editing/visible_text.cpp: updated includes + * khtml/editing/visible_text.h: updated includes + * khtml/editing/visible_units.cpp: updated includes + * khtml/khtml_part.cpp: updated includes + * khtml/khtmlview.cpp: updated includes + * khtml/rendering/InlineTextBox.cpp: Split out from render_text + * khtml/rendering/InlineTextBox.h: Split out from render_text + * khtml/rendering/RenderText.cpp: Split out from render_text + (khtml::RenderText::position): removed DEBUG_LAYOUT + * khtml/rendering/RenderText.h: Split out from render_text + * khtml/rendering/RenderTextFragment.cpp: Split out from render_text + * khtml/rendering/RenderTextFragment.h: Split out from render_text + * khtml/rendering/bidi.cpp: updated includes + * khtml/rendering/render_block.cpp: updated includes + * khtml/rendering/render_br.cpp: updated includes + * khtml/rendering/render_br.h: updated includes + * khtml/rendering/render_button.cpp: updated includes + * khtml/rendering/render_container.cpp: updated includes + * khtml/rendering/render_flow.cpp: updated includes + * khtml/rendering/render_line.cpp: updated includes + * khtml/rendering/render_object.cpp: updated includes + * khtml/rendering/render_text.cpp: Removed. + * khtml/rendering/render_text.h: Removed. + * khtml/xml/dom_docimpl.cpp: updated includes + * khtml/xml/dom_nodeimpl.cpp: updated includes + * khtml/xml/dom_position.cpp: updated includes + * khtml/xml/dom_textimpl.cpp: updated includes + * kwq/KWQAccObject.mm: updated includes + * kwq/KWQKHTMLPart.mm: updated includes + * kwq/KWQRenderTreeDebug.cpp: updated includes + +2006-01-08 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs & xenon. + + Renamed a few in kwq/ from .mm to .cpp + + * WebCore.xcodeproj/project.pbxproj: updated paths + * kwq/KWQDictImpl.cpp: Added. + * kwq/KWQDictImpl.mm: Removed. + * kwq/KWQKPartsEvent.cpp: Added. + * kwq/KWQKPartsEvent.mm: Removed. + * kwq/KWQListImpl.cpp: Added. + * kwq/KWQListImpl.mm: Removed. + +2006-01-08 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Renamed several files in kwq/ from .mm to .cpp + Removed a few pieces of unused KWQ code. + + * WebCore.xcodeproj/project.pbxproj: + * khtml/html/htmltokenizer.cpp: + (khtml::HTMLTokenizer::continueProcessing): removed KWQUIEventTime + (khtml::HTMLTokenizer::write): removed KWQUIEventTime + * khtml/html/htmltokenizer.h: + * khtml/khtml_part.cpp: + (KHTMLPart::slotFinished): removed KWQUIEventTime + * khtml/misc/loader.cpp: + (CachedObject::finish): removed KWQUIEventTime + * khtml/xml/dom_docimpl.cpp: + (DocumentImpl::processHttpEquiv): removed KWQUIEventTime + * kwq/KWQArrayImpl.cpp: Added. + * kwq/KWQArrayImpl.mm: Removed. + * kwq/KWQBuffer.cpp: Added. + * kwq/KWQBuffer.mm: Removed. + * kwq/KWQCString.cpp: Added. + * kwq/KWQCString.mm: Removed. + * kwq/KWQCharsets.cpp: Added. + * kwq/KWQCharsets.mm: Removed. + * kwq/KWQCollection.h: + (QPtrCollection::~QPtrCollection): made inline + * kwq/KWQCollection.mm: Removed. + * kwq/KWQDateTime.cpp: Added, removed KWQUIEventTime + * kwq/KWQDateTime.h: + * kwq/KWQDateTime.mm: Removed. + * kwq/KWQGlobal.cpp: Added. + * kwq/KWQGlobal.mm: Removed. + * kwq/KWQGuardedPtr.cpp: Added. + * kwq/KWQGuardedPtr.mm: Removed. + * kwq/KWQKCharsets.cpp: Added. + * kwq/KWQKCharsets.mm: Removed. + * kwq/KWQKGlobalSettings.h: + (KGlobalSettings::generalFont): made inline + (KGlobalSettings::windowTitleFont): made inline + (KGlobalSettings::menuFont): made inline + (KGlobalSettings::contrast): made inline + * kwq/KWQKGlobalSettings.mm: Removed. + * kwq/KWQKHTMLFactory.cpp: Added. + * kwq/KWQKHTMLFactory.mm: Removed. + * kwq/KWQKHTMLView.cpp: Added. + * kwq/KWQKHTMLView.mm: Removed. + * kwq/KWQKJob.h: + * kwq/KWQKJob.mm: Removed. + * kwq/KWQKWin.cpp: Added. + * kwq/KWQKWin.mm: Removed. + * kwq/KWQMapImpl.cpp: Added. + * kwq/KWQMapImpl.mm: Removed. + * kwq/KWQObject.cpp: Added. + * kwq/KWQObject.mm: Removed. + * kwq/KWQPen.cpp: Added. + * kwq/KWQPen.mm: Removed. + * kwq/KWQPointArray.cpp: Added. + * kwq/KWQPointArray.mm: Removed. + * kwq/KWQPtrDictImpl.cpp: Added. + * kwq/KWQPtrDictImpl.mm: Removed. + * kwq/KWQRegExp.cpp: Added. + * kwq/KWQRegExp.mm: Removed. + * kwq/KWQRegion.cpp: Added. + * kwq/KWQRegion.mm: Removed. + * kwq/KWQStyle.cpp: Added. + * kwq/KWQStyle.mm: Removed. + * kwq/KWQTextCodec.cpp: Added. + * kwq/KWQTextCodec.mm: Removed. + * kwq/KWQTextStream.cpp: Added. + * kwq/KWQTextStream.mm: Removed. + * kwq/KWQTimer.cpp: Added. + * kwq/KWQTimer.mm: Removed. + * kwq/KWQValueListImpl.cpp: Added. + * kwq/KWQValueListImpl.mm: Removed. + * kwq/KWQVariant.cpp: Added. + * kwq/KWQVariant.mm: Removed. + * kwq/KWQVectorImpl.cpp: Added. + * kwq/KWQVectorImpl.mm: Removed. + * kwq/KWQWMatrix.cpp: Added. + * kwq/KWQWMatrix.mm: Removed. + +2006-01-07 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - added basic SVG text support using CSS-based rendering + http://bugs.webkit.org/show_bug.cgi?id=4883 + + Affects many test results in LayoutTests/svg. + + * kcanvas/RenderSVGText.cpp: Added. Simple subclass of RenderBlock for SVG text. + (RenderSVGText::RenderSVGText): just call superclass constructor. + (RenderSVGText::translateTopToBaseline): helper to account for the fact that + y coordinates for <text> give the baseline position, but the render tree expects + current y to be the top. + (RenderSVGText::translateForAttributes): translate to account for x and y + attributes. + (RenderSVGText::paint): Apply appropriate CTM transform and then just let + RenderBlock paint. + * kcanvas/RenderSVGText.h: Added. + (RenderSVGText::renderName): + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (KRenderingDeviceContextQuartz::nsGraphicsContext): We want the context flipped. + * ksvg2/css/svg.css: Give <svg:text> display: block + * ksvg2/svg/SVGTextElementImpl.cpp: + (SVGTextElementImpl::createRenderer): Create a RenderSVGText renderer. + (SVGTextElementImpl::childShouldCreateRenderer): Let child text nodes make + renderers, but nothing else (for now). + * ksvg2/svg/SVGTextElementImpl.h: + (KSVG::SVGTextElementImpl::rendererIsNeeded): It sure is! :-) + * WebCore.xcodeproj/project.pbxproj: Add new files. + +2006-01-07 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs + + Removed old, unneeded code. + + * WebCore+SVG/DrawCanvasItem.h: Removed. + * WebCore+SVG/DrawCanvasItem.mm: Removed. + * WebCore+SVG/DrawCanvasItemPrivate.h: Removed. + * WebCore+SVG/DrawDocument.h: Removed. + * WebCore+SVG/DrawDocument.mm: Removed. + * WebCore+SVG/DrawDocumentPrivate.h: Removed. + * WebCore+SVG/DrawView.h: Removed. + * WebCore+SVG/DrawView.mm: Removed. + * WebCore+SVG/DrawViewPrivate.h: Removed. + * WebCore+SVG/NSSVGImageRep.h: Removed. + * WebCore+SVG/NSSVGImageRep.m: Removed. + * WebCore.xcodeproj/project.pbxproj: remove files + +2006-01-07 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - fixed WebCore build + http://bugs.webkit.org/show_bug.cgi?id=6404 + + * khtml/rendering/render_canvasimage.h: Remove unneeded extern declarations. + +2006-01-07 Anders Carlsson <andersca@mac.com> + + Reviewed by Maciej. + + - Fix http://bugs.webkit.org/show_bug.cgi?id=6373 + REGRESSION: JavaScript hang when comparing large array to null + + * khtml/ecma/kjs_html.cpp: + Remove toPrimitive. + + * khtml/ecma/kjs_html.h: + (KJS::HTMLAllCollection::isEqualToNull): + Implement isEqualToNull and have it return true. + +2006-01-06 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + <rdar://problem/4386652> Crash: SVG filter crash at w3schools.com + + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (KCanvasFEDiffuseLightingQuartz::getCIFilter): nil check + (KCanvasFESpecularLightingQuartz::getCIFilter): nil check + +2006-01-06 Geoffrey Garen <ggaren@apple.com> + + Patch by Mitz, reviwed by Darin, layout tested and landed by me. + + - Fixed http://bugs.webkit.org/show_bug.cgi?id=6382 + REGRESSION: Repro crash when clicking link with target="_blank" + + * kwq/KWQKHTMLPart.mm: + (KWQKHTMLPart::setName): + * manual-tests/empty-link-target.html: Added. + +2006-01-06 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5291 + FORM multipart/form-data with GET method issue + + Test cases: + * fast/forms/form-get-multipart.html + * fast/forms/form-get-multipart2.html + * fast/forms/form-get-multipart3.html + * fast/forms/form-post-urlencoded.html + + * khtml/html/html_formimpl.cpp: + (DOM::HTMLFormElementImpl::submit): + Reset m_multipart to false if not posting. + (DOM::HTMLFormElementImpl::parseEnctype): + multipart/form-data doesn't imply POST method. + +2006-01-06 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5792 + Crasher on rendering-shapes from SVG 1.0 testsuite + + Test case: fast/parser/entity-ignorable-whitespace.xhtml + + * khtml/xml/xml_tokenizer.cpp: + (khtml::XMLTokenizer::finish): install an ignorableWhitespace callback to + work around a libxml2 bug + (khtml::ignorableWhitespaceHandler): no-op + +2006-01-06 Anders Carlsson <andersca@mac.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5142 + parseXMLDocumentFragment can't parse fragments correctly + + * khtml/xml/xml_tokenizer.cpp: + (khtml::balancedStartElementNsHandler): + (khtml::balancedEndElementNsHandler): + (khtml::balancedCharactersHandler): + (khtml::balancedProcessingInstructionHandler): + (khtml::balancedCdataBlockHandler): + (khtml::balancedCommentHandler): + (khtml::balancedWarningHandler): + Add handlers. + + (khtml::parseXMLDocumentFragment): + Change back into using xmlParseBalancedChunkMemory. + +2006-01-06 Alexander Kellett <lypanov@kde.org> + + Reviewed by eseidel. Landed by eseidel. + + Basic support for <mask> tag. + http://bugs.webkit.org/show_bug.cgi?id=5969 + Still missing attribute support for: maskUnits, maskContentUnits. + + Mask pixel tests do not work in DumpRenderTree due to: + http://bugs.webkit.org/show_bug.cgi?id=6327 + Added test cases anyway. + + This also tickles a (known) gradient update issue: + http://bugs.webkit.org/show_bug.cgi?id=6052 + + Test: svg/custom/grayscale-gradient-mask.svg + + * WebCore.xcodeproj/project.pbxproj: added Mask files + * kcanvas/KCanvasResources.cpp: + (KCanvasMasker::KCanvasMasker): added. + (KCanvasMasker::~KCanvasMasker): added. + (KCanvasMasker::setMask): added. + (KCanvasMasker::externalRepresentation): added. + (getMaskerById): added. + * kcanvas/KCanvasResources.h: + (KCanvasResource::isMasker): added. + (KCanvasMasker::isMasker): added. + (KCanvasMasker::mask): added. + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (KCanvasItemQuartz::paint): added mask support + * kcanvas/device/quartz/KCanvasMaskerQuartz.h: Added. + (KCanvasMaskerQuartz::KCanvasMaskerQuartz): added. + * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: Added. + (applyLuminanceToAlphaFilter): added. + (applyExpandAlphatoGrayscaleFilter): added. + (transformImageIntoGrayscaleMask): added. + (KCanvasMaskerQuartz::applyMask): added. + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + (KCanvasContainerQuartz::paint): added mask support. + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (KRenderingDeviceQuartz::createResource): added mask support. + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + (KRenderingPaintServerRadialGradientQuartz::draw): + * kcanvas/device/quartz/QuartzSupport.h: + * kcanvas/device/quartz/QuartzSupport.mm: + (debugDumpCGImageToFile): added, debug only. + (debugDumpCGLayerToFile): added, debug only. + (debugDumpCIImageToFile): added, debug only. + * ksvg2/css/SVGCSSStyleSelector.cpp: + (KDOM::CSSStyleSelector::applySVGProperty): added mask support. + * ksvg2/css/SVGRenderStyle.cpp: + (SVGRenderStyle::SVGRenderStyle): added mask support. + (SVGRenderStyle::operator==): added mask support. + * ksvg2/css/SVGRenderStyle.h: + * ksvg2/css/SVGRenderStyleDefs.cpp: + (StyleMaskData::StyleMaskData): added mask support. + (StyleMaskData::operator==): added mask support. + * ksvg2/css/SVGRenderStyleDefs.h: + (KSVG::StyleMaskData::operator!=): added mask support. + * ksvg2/ecma/Ecma.cpp: + (Ecma::inheritedGetDOMNode): added mask support. + * ksvg2/svg/SVGMaskElementImpl.cpp: Added. + (KSVG::SVGMaskElementImpl::SVGMaskElementImpl): added. + (KSVG::SVGMaskElementImpl::~SVGMaskElementImpl): added. + (KSVG::SVGMaskElementImpl::x): added. + (KSVG::SVGMaskElementImpl::y): added. + (KSVG::SVGMaskElementImpl::width): added. + (KSVG::SVGMaskElementImpl::height): added. + (KSVG::SVGMaskElementImpl::attributeChanged): added. + (KSVG::SVGMaskElementImpl::childrenChanged): added. + (KSVG::SVGMaskElementImpl::parseMappedAttribute): added. + (KSVG::SVGMaskElementImpl::drawMaskerContent): added. + (KSVG::SVGMaskElementImpl::createRenderer): added. + (KSVG::SVGMaskElementImpl::canvasResource): added. + * ksvg2/svg/SVGMaskElementImpl.h: Added. + (KSVG::SVGMaskElementImpl::isValid): added. + (KSVG::SVGMaskElementImpl::rendererIsNeeded): added. + * ksvg2/svg/svgtags.in: added <mask> support. + +2006-01-04 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - move frame management and finding code from WebKit to WebCore + http://bugs.webkit.org/show_bug.cgi?id=6368 + + * WebCore.exp: export WebCoreFrameNamespace + * WebCore.xcodeproj/project.pbxproj: add new files + * kwq/KWQKHTMLPart.mm: + (KWQKHTMLPart::setName): Don't call to bridge any more, not needed + * kwq/WebCoreBridge.h: + * kwq/WebCoreBridge.mm: + (isCaseSensitiveEqual): helper function + (-[WebCoreBridge appendChild:]): remove excess braces + (-[WebCoreBridge childFrameNamed:]): moved here from WebFrame + (-[WebCoreBridge _deepLastChildFrame]): ditto + (-[WebCoreBridge nextFrameWithWrap:]): ditto + (-[WebCoreBridge previousFrameWithWrap:]): ditto + (-[WebCoreBridge setFrameNamespace:]): ditto + (-[WebCoreBridge frameNamespace]): ditto + (-[WebCoreBridge _shouldAllowAccessFrom:]): ditto + (-[WebCoreBridge _descendantFrameNamed:sourceFrame:]): ditto + (-[WebCoreBridge _frameInAnyWindowNamed:sourceFrame:]): ditto + (-[WebCoreBridge findFrameNamed:]): ditto + (-[WebCoreBridge setName:]): don't call KHTMLPart setName directly, + the kwq version is fine + (-[WebCoreBridge _addFramePathToString:]): moved from WebFrame + (-[WebCoreBridge generateFrameName]): ditto + +2006-01-04 Anders Carlsson <andersca@mac.com> + + Reviewed by Eric. + + Based on a patch by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6180 + "text" output in fragment produced by XSLTProccessor is wrong (has xhtml garbage) + + * khtml/xsl/xslt_processorimpl.cpp: + (DOM::xsltParamArrayFromParameterMap): + (DOM::freeXsltParamArray): + Use fastMalloc/fastFree. + + (DOM::createFragmentFromSource): + If the output is "text", just create a text node and add + it to the fragment. + +2006-01-04 Geoffrey Garen <ggaren@apple.com> + + Reviewed by darin. + + - Fixed http://bugs.webkit.org/show_bug.cgi?id=6311 + document.plugins doesn't exist + + * khtml/ecma/kjs_html.cpp: Added 'plugins' as synonym for 'embeds' + +2006-01-04 Geoffrey Garen <ggaren@apple.com> + + Reviewed by darin. + + - Fixed <rdar://problem/4214080> document.embeds: embeds[0].Play() + undefined at languageguide.org prevents audio playing on mouseover + + - Layout test: fast/dom/object-embed-plugin-scripting.html + + A common idiom the kids like to use these days for plugins is to nest + an <embed> inside an <object>, and assume that IE will honor the first, + Mozilla the second. We happen to honor both, but the rules dictate that + only the outer <object> gets a plugin/renderer. (A plugin is a + renderer.) This is a problem because sites ID us as Mozilla and + therefore attempt to script their plugins through the <embed>, which + has no plugin/renderer. The fix here is to have an <embed> return its + parent node's plugin/renderer when queried, if and only if it has no + renderer of its own and its parent node is an <object>. We may decide + to restrict this further in the future. + + One happy consequence of this patch is that all the apple.com Quicktime + websites we had previously broken with TOT are now fixed. + + * khtml/html/html_objectimpl.cpp: + (DOM::HTMLEmbedElementImpl::getEmbedInstance): The "if (!r)" clause + implements the logic I just described. The code below it I changed + just for style, to match the style in getObjectInstance(). + + (DOM::HTMLEmbedElementImpl::rendererIsNeeded): Assert that an <object> + parent has a renderer because we're going to use it later. + + (DOM::HTMLObjectElementImpl::rendererIsNeeded): Changed to match style + of HTMLEmbedElementImpl counterpart. + +2006-01-04 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin, landed by ap. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6301 + REGRESSION: Border repaint glitch + + * khtml/rendering/render_object.cpp: + (RenderObject::repaintAfterLayoutIfNeeded): Repaint parts of the + border that moved. + * manual-tests/border-repaint-glitch.html: Added. + +2005-12-30 Kimmo Kinnunen <kimmo.kinnunen@nokia.com> + + Reviewed by eseidel. Landed by eseidel. + + Changed use of QRect to QRectF in the points where SVG can have + fractional numbers + http://bugs.webkit.org/show_bug.cgi?id=4462 + + Added test cases: + * svg/custom/fractional-rects.svg: copy of rounded-rects.svg with + fractional coordinates. + + * WebCore.xcodeproj/project.pbxproj: + * kwq/KWQWMatrix.h: + * kwq/KWQWMatrix.mm: + (QWMatrix::mapRect): mapRect for QRectF + * kwq/KWQRectF.h: + * kwq/KWQRectF.mm: Added. QRectF impl + * kwq/KWQSizeF.h: + * kwq/KWQSizeF.mm: Added.QSizeF impl + * kwq/KWQPointF.h: + * kwq/KWQPointF.mm: Added. QPointF impl + * kcanvas/KCanvasContainer.cpp: + (KCanvasContainer::fillContains): + (KCanvasContainer::strokeContains): + (KCanvasContainer::relativeBBox): + (KCanvasContainer::getAspectRatio): QRect -> QRectF + * kcanvas/KCanvasContainer.h: + * kcanvas/KCanvasFilters.cpp: + (KCanvasFilterEffect::subRegion): + (KCanvasFilterEffect::setSubRegion): QRect -> QRectF + * kcanvas/KCanvasFilters.h: + (KCanvasFilter::filterRect): + (KCanvasFilter::setFilterRect): QRect -> QRectF + (KCanvasFEConvolveMatrix::kernelSize): + (KCanvasFEConvolveMatrix::setKernelSize): + (KCanvasFEConvolveMatrix::targetOffset): + (KCanvasFEConvolveMatrix::setTargetOffset): QSize -> QSizeF + * kcanvas/KCanvasItem.cpp: + (RenderPath::fillContains): + (RenderPath::strokeContains): + (RenderPath::relativeBBox): QRect -> QRectF + * kcanvas/KCanvasItem.h: + * kcanvas/KCanvasResources.cpp: + (KCanvasMarker::draw): QRect -> QRectF + * kcanvas/KCanvasResources.h: + * kcanvas/KCanvasTreeDebug.cpp: + (hasFractions): helper function + (operator<<): QSizeF operator, QRectF operator + * kcanvas/KCanvasTreeDebug.h: + * kcanvas/device/KRenderingPaintServerGradient.cpp: + (KRenderingPaintServerLinearGradient::gradientStart): + (KRenderingPaintServerLinearGradient::setGradientStart): + (KRenderingPaintServerLinearGradient::gradientEnd): + (KRenderingPaintServerLinearGradient::setGradientEnd): + (KRenderingPaintServerRadialGradient::gradientCenter): + (KRenderingPaintServerRadialGradient::setGradientCenter): + (KRenderingPaintServerRadialGradient::gradientFocal): + (KRenderingPaintServerRadialGradient::setGradientFocal): QPoint -> QPointF + * kcanvas/device/KRenderingPaintServerGradient.h: + * kcanvas/device/KRenderingPaintServerPattern.cpp: + (KRenderingPaintServerPattern::Private::Private): x, y, width, height -> QRectF + (KRenderingPaintServerPattern::setBbox): replaced get/set methods + (KRenderingPaintServerPattern::bbox): replaced get/set methods + (KRenderingPaintServerPattern::externalRepresentation): + * kcanvas/device/KRenderingPaintServerPattern.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (KCanvasFilterQuartz::prepareFilter): + (KCanvasFilterQuartz::applyFilter): QRect -> QRectF + * kcanvas/device/quartz/KCanvasItemQuartz.h: + (KCanvasItemQuartz::getAbsoluteRepaintRect): QRect -> QRectF + * kcanvas/device/quartz/KCanvasItemQuartz.mm: + (drawMarkerWithData): + (KCanvasItemQuartz::drawMarkersIfNeeded): + (KCanvasItemQuartz::paint): QRect -> QRectF + (KCanvasItemQuartz::nodeAtPoint): QPoint -> QPointF + (KCanvasItemQuartz::bboxForPath) :QRect -> QRectF + (KCanvasItemQuartz::hitsPath): + * kcanvas/device/quartz/KCanvasResourcesQuartz.h: + (KCanvasContainerQuartz::getAbsoluteRepaintRect): QRect -> QRectF + * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: + (KRenderingPaintServerPatternQuartz::draw): QRect -> QRectF + * khtml/rendering/render_object.h: + (khtml::RenderObject::relativeBBox):QRect -> QRectF + * ksvg2/svg/SVGFilterElementImpl.cpp: + (SVGFilterElementImpl::canvasResource): QRect -> QRectF + * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp: + (SVGFilterPrimitiveStandardAttributesImpl::setStandardAttributes): + * ksvg2/svg/SVGLengthImpl.cpp: + (SVGLengthImpl::value): QRect -> QRectF + * ksvg2/svg/SVGLinearGradientElementImpl.cpp: + (SVGLinearGradientElementImpl::buildGradient): QPoint -> QPointF, removed integer conversions + * ksvg2/svg/SVGLocatableImpl.cpp: + (SVGLocatableImpl::getBBox): Rect -> QRectF + * ksvg2/svg/SVGPatternElementImpl.cpp: + (SVGPatternElementImpl::drawPatternContentIntoTile): QRect -> QRectF + * ksvg2/svg/SVGRadialGradientElementImpl.cpp: + (SVGRadialGradientElementImpl::buildGradient): QPoint -> QPointF, removed integer conversions + * ksvg2/svg/SVGSVGElementImpl.cpp: + (SVGSVGElementImpl::checkIntersection): QRect -> QRectF, removed integer conversions + (SVGSVGElementImpl::checkEnclosure): QRect -> QRectF, removed integer conversions + +2006-01-03 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Vicki. + + - moved frame traversal code across from bridge, also dropped the children + array + + * kwq/WebCoreBridge.h: + * kwq/WebCoreBridge.mm: + (-[WebCoreBridge firstChild]): Moved from WebBridge. Use new _firstChild + pointer. + (-[WebCoreBridge lastChild]): Moved from WebBridge. Use new _lastChild pointer. + (-[WebCoreBridge childCount]): Moved from WebBridge. Use _childCount variable. + (-[WebCoreBridge previousSibling]): Moved from WebBridge. + (-[WebCoreBridge nextSibling]): ditt + (-[WebCoreBridge isDescendantOfFrame:]): ditto + (-[WebCoreBridge traverseNextFrameStayWithin:]): ditto + (-[WebCoreBridge appendChild:]): Moved from WebBridge, maintain count and first/last + pointers. + (-[WebCoreBridge removeChild:]): Moved from WebBridge, maintain count and first/last + pointers. + +2006-01-03 Justin Garcia <justin.garcia@apple.com> + + Reviewed by harrison + + <http://bugs.webkit.org/show_bug.cgi?id=4609> + window.getSelection().toString() is undefined (range object + returned from window.getSelection() is useless) + + toString was defined as a method on the JS Selection object, + but it didn't return anything. + + Added layout test: + * editing/selection/toString.html + + * khtml/ecma/kjs_window.cpp: + (KJS::SelectionFunc::callAsFunction): + +2006-01-03 Geoffrey Garen <ggaren@apple.com> + + Reviewed by timo. + + - Fixed: http://bugs.webkit.org/show_bug.cgi?id=6318 + REGRESSION: Repro crash in JS called from Flash on bdash.net.nz + + Since we clear all the plugin data structures in setView, we need to + clear the windowScriptObject as well. I had already done this in my + previous patch, but I didn't realize there are two windowScriptObjects + -- one for Netscape PlugIns, and one for WebKit PlugIns. + + * kwq/KWQKHTMLPart.mm: + (KWQKHTMLPart::setView): Clear the Netscape PlugIn windowScriptObject + as well. + +2006-01-03 Anders Carlsson <andersca@mac.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6358 + JS objects missing "prototype" properties + + * khtml/ecma/XSLTProcessor.cpp: + (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp): + * khtml/ecma/XSLTProcessor.h: + * khtml/ecma/domparser.cpp: + (KJS::DOMParserConstructorImp::DOMParserConstructorImp): + * khtml/ecma/xmlhttprequest.cpp: + (KJS::XMLHttpRequestConstructorImp::XMLHttpRequestConstructorImp): + * khtml/ecma/xmlserializer.cpp: + (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp): + Add "prototype" property in constructors. + +2006-01-03 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + REGRESSION: repro crash w/ invalid charset attribute on <script> + http://bugs.webkit.org/show_bug.cgi?id=6345 + I also made some small spacing cleanup here. + I did *not* fix the usage in formData, as the move from KCharSet to + QTextCodec actually fixed a bug whereby if the first listed charset + in accept-charsets was invalid, we would assume latin1 instead of + checking for the next valid one before assuming system encoding. + + * khtml/html/html_formimpl.cpp: + (DOM::HTMLFormElementImpl::formData): cleanup + * khtml/misc/loader.cpp: + (CachedCSSStyleSheet::CachedCSSStyleSheet): null check + (CachedScript::CachedScript): cleanup + (CachedXSLStyleSheet::CachedXSLStyleSheet): null check + (CachedXBLDocument::CachedXBLDocument): cleanup + +2006-01-03 Justin Garcia <justin.garcia@apple.com> + + <http://bugs.webkit.org/show_bug.cgi?id=4904> + Bug with baseOffset and extentOffset in selections (for writely.com) + <rdar://problem/4259818> + selection object incorrect after double-clicking a word + + Reviewed by harrison + + Changed the Selection object's anchor/focus properties to match + Mozilla's Selection object API, added getRangeAt and outlined the + rest of the API. + Cleaned up the JS Selection object (to do less work in the DOM binding). + Added an updateLayout call to VisiblePosition::init and removed some + updateLayout calls from other parts of the editing code. + + Added layout tests: + * editing/selection/getRangeAt.html + * editing/selection/anchor-focus1.html + * editing/selection/anchor-focus2.html + * editing/selection/anchor-focus3.html + Updated expected results: + * editing/selection/unrendered-001-expected.txt + + * khtml/ecma/kjs_window.cpp: + (KJS::Selection::getValueProperty): + (KJS::Selection::toString): + (KJS::SelectionFunc::callAsFunction): + * khtml/ecma/kjs_window.h: + (KJS::Selection::): + * khtml/editing/SelectionController.cpp: + (khtml::SelectionController::modify): + (khtml::SelectionController::type): + (khtml::SelectionController::toString): + (khtml::SelectionController::getRangeAt): + (khtml::SelectionController::setBaseAndExtent): + (khtml::SelectionController::setPosition): + (khtml::SelectionController::collapse): + (khtml::SelectionController::collapseToEnd): + (khtml::SelectionController::collapseToStart): + (khtml::SelectionController::empty): + (khtml::SelectionController::extend): + (khtml::SelectionController::validate): + * khtml/editing/SelectionController.h: + (khtml::SelectionController::part): + (khtml::SelectionController::baseNode): + (khtml::SelectionController::extentNode): + (khtml::SelectionController::baseOffset): + (khtml::SelectionController::extentOffset): + (khtml::SelectionController::anchorNode): + (khtml::SelectionController::anchorOffset): + (khtml::SelectionController::focusNode): + (khtml::SelectionController::focusOffset): + (khtml::SelectionController::isCollapsed): + * khtml/editing/visible_position.cpp: + (khtml::VisiblePosition::init): + (khtml::VisiblePosition::isCandidate): + * khtml/khtml_part.cpp: + (KHTMLPart::handleMousePressEventSingleClick): + +2006-01-03 Anders Carlsson <andersca@mac.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5378 + createDocument fails with DOM Exception 5 when passed empty qname + + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMDOMImplementationProtoFunc::callAsFunction): + When passing null to createDocument, pass a null DOMString, and not + a DOMString containing the text "null". + + * khtml/xml/dom_docimpl.cpp: + (DOMImplementationImpl::createDocument): + Only validate the qualifiedName if it's not null or empty. Also, do not + create the document element if the qualifiedName is null or empty. + +2006-01-03 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + No functionality changes, no tests possible. + + khtml/editing should use RefPtr instead of manual ref/deref + http://bugs.webkit.org/show_bug.cgi?id=6109 + + Results in a slight performance gain < 1% on the PLT. + + * khtml/editing/SelectionController.cpp: + (khtml::SelectionController::toRange): + * khtml/editing/SelectionController.h: + * khtml/editing/append_node_command.cpp: + (khtml::AppendNodeCommand::AppendNodeCommand): + (khtml::AppendNodeCommand::doApply): + (khtml::AppendNodeCommand::doUnapply): + * khtml/editing/append_node_command.h: + (khtml::AppendNodeCommand::~AppendNodeCommand): + (khtml::AppendNodeCommand::appendChild): + (khtml::AppendNodeCommand::parentNode): + * khtml/editing/apply_style_command.cpp: + (khtml::StyleChange::init): + (khtml::ApplyStyleCommand::removeInlineStyle): + * khtml/editing/apply_style_command.h: + * khtml/editing/composite_edit_command.cpp: + (khtml::CompositeEditCommand::deleteInsignificantText): + * khtml/editing/delete_from_text_node_command.cpp: + (khtml::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): + * khtml/editing/delete_from_text_node_command.h: + (khtml::DeleteFromTextNodeCommand::~DeleteFromTextNodeCommand): + (khtml::DeleteFromTextNodeCommand::node): + * khtml/editing/delete_selection_command.cpp: + (khtml::DeleteSelectionCommand::initializePositionData): + (khtml::DeleteSelectionCommand::saveTypingStyleState): + (khtml::DeleteSelectionCommand::handleGeneralDelete): + (khtml::DeleteSelectionCommand::calculateEndingPosition): + (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete): + (khtml::DeleteSelectionCommand::clearTransientState): + * khtml/editing/delete_selection_command.h: + * khtml/editing/edit_command.cpp: + (khtml::EditCommand::EditCommand): + (khtml::EditCommand::~EditCommand): + (khtml::EditCommand::setTypingStyle): + (khtml::EditCommand::styleAtPosition): + * khtml/editing/edit_command.h: + (khtml::EditCommand::document): + (khtml::EditCommand::typingStyle): + * khtml/editing/insert_into_text_node_command.cpp: + (khtml::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): + * khtml/editing/insert_into_text_node_command.h: + (khtml::InsertIntoTextNodeCommand::~InsertIntoTextNodeCommand): + (khtml::InsertIntoTextNodeCommand::node): + * khtml/editing/insert_node_before_command.cpp: + (khtml::InsertNodeBeforeCommand::InsertNodeBeforeCommand): + (khtml::InsertNodeBeforeCommand::doApply): + (khtml::InsertNodeBeforeCommand::doUnapply): + * khtml/editing/insert_node_before_command.h: + (khtml::InsertNodeBeforeCommand::~InsertNodeBeforeCommand): + (khtml::InsertNodeBeforeCommand::insertChild): + (khtml::InsertNodeBeforeCommand::refChild): + * khtml/editing/insert_paragraph_separator_command.cpp: + (khtml::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): + (khtml::InsertParagraphSeparatorCommand::~InsertParagraphSeparatorCommand): + (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): + (khtml::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): + * khtml/editing/insert_paragraph_separator_command.h: + * khtml/editing/join_text_nodes_command.cpp: + (khtml::JoinTextNodesCommand::JoinTextNodesCommand): + (khtml::JoinTextNodesCommand::doApply): + (khtml::JoinTextNodesCommand::doUnapply): + * khtml/editing/join_text_nodes_command.h: + (khtml::JoinTextNodesCommand::~JoinTextNodesCommand): + (khtml::JoinTextNodesCommand::firstNode): + (khtml::JoinTextNodesCommand::secondNode): + * khtml/editing/jsediting.cpp: + * khtml/editing/markup.cpp: + (khtml::createMarkup): + (khtml::createFragmentFromMarkup): + (khtml::createFragmentFromText): + (khtml::createFragmentFromNodeList): + * khtml/editing/markup.h: + * khtml/editing/merge_identical_elements_command.cpp: + (khtml::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): + (khtml::MergeIdenticalElementsCommand::doApply): + (khtml::MergeIdenticalElementsCommand::doUnapply): + * khtml/editing/merge_identical_elements_command.h: + (khtml::MergeIdenticalElementsCommand::~MergeIdenticalElementsCommand): + * khtml/editing/move_selection_command.cpp: + (khtml::MoveSelectionCommand::MoveSelectionCommand): + (khtml::MoveSelectionCommand::~MoveSelectionCommand): + (khtml::MoveSelectionCommand::doApply): + * khtml/editing/move_selection_command.h: + * khtml/editing/rebalance_whitespace_command.cpp: + * khtml/editing/rebalance_whitespace_command.h: + (khtml::RebalanceWhitespaceCommand::~RebalanceWhitespaceCommand): + * khtml/editing/remove_css_property_command.cpp: + (khtml::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): + * khtml/editing/remove_css_property_command.h: + (khtml::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand): + (khtml::RemoveCSSPropertyCommand::styleDeclaration): + * khtml/editing/remove_node_attribute_command.cpp: + (khtml::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand): + * khtml/editing/remove_node_attribute_command.h: + (khtml::RemoveNodeAttributeCommand::~RemoveNodeAttributeCommand): + (khtml::RemoveNodeAttributeCommand::element): + * khtml/editing/remove_node_command.cpp: + (khtml::RemoveNodeCommand::RemoveNodeCommand): + (khtml::RemoveNodeCommand::doApply): + (khtml::RemoveNodeCommand::doUnapply): + * khtml/editing/remove_node_command.h: + (khtml::RemoveNodeCommand::~RemoveNodeCommand): + (khtml::RemoveNodeCommand::node): + * khtml/editing/remove_node_preserving_children_command.cpp: + (khtml::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): + * khtml/editing/remove_node_preserving_children_command.h: + (khtml::RemoveNodePreservingChildrenCommand::~RemoveNodePreservingChildrenCommand): + (khtml::RemoveNodePreservingChildrenCommand::node): + * khtml/editing/replace_selection_command.cpp: + (khtml::ReplacementFragment::ReplacementFragment): + (khtml::ReplacementFragment::~ReplacementFragment): + (khtml::ReplacementFragment::enclosingBlock): + (khtml::ReplacementFragment::removeNodePreservingChildren): + (khtml::ReplacementFragment::removeNode): + (khtml::ReplacementFragment::insertFragmentForTestRendering): + (khtml::ReplacementFragment::restoreTestRenderingNodesToFragment): + (khtml::ReplaceSelectionCommand::fixupNodeStyles): + (khtml::computeAndStoreNodeDesiredStyle): + (khtml::NodeDesiredStyle::NodeDesiredStyle): + (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): + (khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand): + (khtml::ReplaceSelectionCommand::doApply): + (khtml::ReplaceSelectionCommand::completeHTMLReplacement): + (khtml::ReplaceSelectionCommand::updateNodesInserted): + * khtml/editing/replace_selection_command.h: + (khtml::NodeDesiredStyle::node): + (khtml::NodeDesiredStyle::style): + (khtml::ReplacementFragment::root): + * khtml/editing/set_node_attribute_command.cpp: + (khtml::SetNodeAttributeCommand::SetNodeAttributeCommand): + * khtml/editing/set_node_attribute_command.h: + (khtml::SetNodeAttributeCommand::~SetNodeAttributeCommand): + (khtml::SetNodeAttributeCommand::element): + * khtml/editing/split_element_command.cpp: + (khtml::SplitElementCommand::SplitElementCommand): + (khtml::SplitElementCommand::doApply): + (khtml::SplitElementCommand::doUnapply): + * khtml/editing/split_element_command.h: + (khtml::SplitElementCommand::~SplitElementCommand): + * khtml/editing/split_text_node_command.cpp: + (khtml::SplitTextNodeCommand::SplitTextNodeCommand): + (khtml::SplitTextNodeCommand::doApply): + (khtml::SplitTextNodeCommand::doUnapply): + * khtml/editing/split_text_node_command.h: + (khtml::SplitTextNodeCommand::~SplitTextNodeCommand): + (khtml::SplitTextNodeCommand::node): + * khtml/editing/split_text_node_containing_element.cpp: + (khtml::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): + (khtml::SplitTextNodeContainingElementCommand::doApply): + * khtml/editing/split_text_node_containing_element_command.h: + (khtml::SplitTextNodeContainingElementCommand::~SplitTextNodeContainingElementCommand): + * khtml/editing/visible_position.cpp: + (khtml::makeRange): + * khtml/editing/visible_position.h: + * khtml/editing/visible_text.cpp: + (khtml::TextIterator::range): + (khtml::SimplifiedBackwardsTextIterator::range): + (khtml::CharacterIterator::range): + (khtml::findPlainText): + * khtml/editing/visible_text.h: + (khtml::WordAwareIterator::range): + * khtml/editing/wrap_contents_in_dummy_span_command.cpp: + (khtml::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): + (khtml::WrapContentsInDummySpanCommand::doApply): + (khtml::WrapContentsInDummySpanCommand::doUnapply): + * khtml/editing/wrap_contents_in_dummy_span_command.h: + (khtml::WrapContentsInDummySpanCommand::~WrapContentsInDummySpanCommand): + * kwq/DOMHTML.mm: + (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): + (-[DOMHTMLDocument _createDocumentFragmentWithText:]): + * kwq/WebCoreBridge.mm: + (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]): + (-[WebCoreBridge documentFragmentWithText:]): + (-[WebCoreBridge documentFragmentWithNodesAsParagraphs:]): + +2006-01-03 Anders Carlsson <andersca@mac.com> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5177 + Javascript cloneNode(deep) does not clone form elements correctly + + * khtml/html/html_elementimpl.cpp: + (HTMLElementImpl::cloneNode): + Call copyNonAttributeProperties on the new node. + + * khtml/html/html_formimpl.cpp: + (DOM::HTMLInputElementImpl::copyNonAttributeProperties): + * khtml/html/html_formimpl.h: + Copy m_value, m_checked and m_indeterminate here. + + * khtml/xml/dom_docimpl.cpp: + (DocumentImpl::importNode): + Call copyNonAttributeProperties on the new node. + + * khtml/xml/dom_elementimpl.cpp: + (ElementImpl::cloneNode): + Call copyNonAttributeProperties on the new node. + + * khtml/xml/dom_elementimpl.h: + (DOM::ElementImpl::copyNonAttributeProperties): + Add function declaration. + +2006-01-02 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Eric. + + - remove the no longer used QIntDict + + * kwq/KWQIntDict.h: Removed. + +2006-01-03 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5609 + XSLT document() doesn't handle relative paths + + Test case: fast/xsl/xslt-relative-path.xml + + * khtml/xsl/xslt_processorimpl.cpp: + (DOM::docLoaderFunc): Renamed from stylesheetLoadFunc. Use base URL when constructing URLs. + (DOM::XSLTProcessorImpl::transformToString): + +2006-01-02 Vicki Murley <vicki@apple.com> + + Reviewed by Maciej. + + - fix for <rdar://problem/4389622> *Pan EU2* iframe swallows events for overlapping elements (part 2) + + We originally added a call to passSubframeEventToSubframe here to fix the hand cursor updating problem + reported in <rdar://problem/4316201> REGRESSION: cursor and text in status bar is not updated when + mousing over links in a frame (5509). However, when we return early after passSubframeEventToSubframe, + we fail to fire onmouseout events. Since the call to passSubframeEventToSubframe was originally added + to fix the hand cursor updating problem, remove the early return and make cursor updating conditional + on passSubframeEventToSubframe. + + * khtml/khtmlview.cpp: + (KHTMLView::viewportMouseMoveEvent): + +2005-12-30 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=4557 + rename unusual strcmp and strcasecmp for DOMString family + + Added new functions named equal and equalIgnoringCase. + + * khtml/xml/dom_stringimpl.h: Changed the type of the length parameter to computeHash to unsigned + to match the rest of the interface. Added equal and equalIgnoringCase functions. Added a + version of the hash function that works on char* to CaseInsensitiveHash as preparation for an + atomic string change. + * khtml/xml/dom_stringimpl.cpp: Moved the QT_ALLOC_QCHAR_VEC and QT_DELETE_QCHAR_VEC macros + here, and changed them into inline functions. + (DOM::equal): Implemented. + (DOM::equalIgnoringCase): Implemented. + (DOM::DOMStringImpl::computeHash): Changed parameter type to unsigned to match other similar + functions. + + * khtml/dom/dom_string.h: Removed unnecessary friend declarations. Changed operator + overloads for == and != to call through inline to DOMStringImpl. Replaced strcasecmp + with equalIgnoringCase, overloaded for one more combination of parameters. Removed strcmp. + * khtml/dom/dom_string.cpp: Removed functions that are now implemented in DOMStringImpl*. + + * khtml/xml/dom_atomicstring.h: Removed a redundant const. Removed unnecessary + friend declarations. Removed AtomicString::equal. Filled out a larger set of == and + != operator implementations, mostly with inlines calling through to DOMStringImpl. + Renamed equalsIgnoreCase to equalIgnoringCase and filled out a larger set as above. + * khtml/xml/dom_atomicstring.cpp: Renamed AtomicString::equal to just ==. + Removed some implementation of == and equalsIgnoreCase that are replaced by inlines. + + * khtml/html/html_listimpl.cpp: + (DOM::HTMLOListElementImpl::parseMappedAttribute): + (DOM::HTMLLIElementImpl::parseMappedAttribute): + Use the "==" operator instead of strcmp. + + * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector): + Use equalIgnoringCase instead of equalsIgnoreCase. + + * khtml/rendering/render_form.cpp: + (RenderSlider::updateFromElement): Fixed bug where a temporary DOMString was put into + a const DOMString&. Changed some DOMString to AtomicString as appropriate, and also + used equalIgnoringCase instead of strcasecmp. + (RenderSlider::slotSliderValueChanged): More of the same. + + * khtml/xml/dom_docimpl.cpp: (DocumentImpl::processHttpEquiv): Replaced use of strcasecmp + with equalIgnoringCase. Added parentheses to fix incorrect operator precedence in one case + (&& binds tighter than ||) which fixes a crash when using a http-equiv pragma when there + is no part (not sure how to reproduce that). + + * khtml/khtml_part.cpp: + (updateState): + (KHTMLPart::selectionStartHasStyle): + * khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLDocument::putValueProperty): + * khtml/editing/apply_style_command.cpp: + (khtml::StyleChange::checkForLegacyHTMLStyleChange): + (khtml::StyleChange::currentlyHasStyle): + (khtml::hasTextDecorationProperty): + (khtml::ApplyStyleCommand::extractTextDecorationStyle): + (khtml::ApplyStyleCommand::extractAndNegateTextDecorationStyle): + * khtml/html/html_baseimpl.cpp: + (HTMLBodyElementImpl::parseMappedAttribute): + (HTMLFrameElementImpl::parseMappedAttribute): + * khtml/html/html_blockimpl.cpp: + (HTMLDivElementImpl::parseMappedAttribute): + (HTMLHRElementImpl::parseMappedAttribute): + (HTMLParagraphElementImpl::parseMappedAttribute): + (HTMLMarqueeElementImpl::parseMappedAttribute): + * khtml/html/html_elementimpl.cpp: + (HTMLElementImpl::parseMappedAttribute): + (HTMLElementImpl::addHTMLAlignment): + (HTMLElementImpl::setContentEditable): + * khtml/html/html_formimpl.cpp: + (DOM::HTMLFormElementImpl::parseMappedAttribute): + (DOM::HTMLButtonElementImpl::parseMappedAttribute): + (DOM::HTMLInputElementImpl::setInputType): + (DOM::HTMLInputElementImpl::parseMappedAttribute): + (DOM::HTMLKeygenElementImpl::appendFormData): + (DOM::HTMLTextAreaElementImpl::parseMappedAttribute): + * khtml/html/html_imageimpl.cpp: (DOM::HTMLAreaElementImpl::parseMappedAttribute): + * khtml/html/html_inlineimpl.cpp: (DOM::HTMLBRElementImpl::parseMappedAttribute): + * khtml/html/html_tableimpl.cpp: (DOM::HTMLTablePartElementImpl::parseMappedAttribute): + * khtml/html/htmlparser.cpp: (HTMLParser::handleError): + Use equalIgnoringCase instead of strcasecmp. + +2005-12-30 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin, landed by ap. + + Test: fast/text/justified-text-rect.html + + - WebCore part of fix for + http://bugs.webkit.org/show_bug.cgi?id=5461 + Text width measured incorrectly when text-align: justify + + * khtml/rendering/font.h: + * khtml/rendering/font.cpp: + (khtml::Font::selectionRectForText): Added. + * khtml/rendering/render_text.cpp: + (kthml::InlineTextBox::selectionRect): Use selectionRectForText. This + works for justified text as well, and avoids intermediate rounding which + resulted in selection rects narrower than AppKit's. + (khtml::InlineTextBox::positionForOffset): Use selectionRectForText, + which works for justified text as well. + * kwq/KWQFontMetrics.h: + * kwq/KWQFontMetrics.mm: + (QFontMetrics::selectionRectForText): Added. + * kwq/WebCoreTextRenderer.h: + +2005-12-30 Alexey Proskuryakov <ap@nypop.com> + + - Fix http://bugs.webkit.org/show_bug.cgi?id=6289 + REGRESSION: firstCharacterForRange(0, 0) returns a 0x0 rect + + * khtml/editing/visible_text.cpp: + (khtml::TextIterator::rangeFromLocationAndLength): + Only special-case (0, 0) ranges for empty documents. + +2005-12-30 Geoffrey Garen <ggaren@apple.com> + + Added test case for <rdar://problem/4268278> Submitting a form in onUnload event + handler causes crash in -[WebDataSource(WebPrivate) _commitIfReady:] + + * manual-tests/onunload-form-submit-crash.html: Added. + +2005-12-30 Anders Carlsson <andersca@mac.com> + + Reviewed by Eric. + + - Fix http://bugs.webkit.org/show_bug.cgi?id=6297 + XMLSerializer should use createMarkup. + + * khtml/ecma/xmlserializer.cpp: + (KJS::XMLSerializerProtoFunc::callAsFunction): + Use createMarkup instead of NodeImpl::toString. + + * khtml/editing/markup.cpp: + (khtml::startMarkup): + escape attribute values and ignore document fragment nodes. + +2005-12-30 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + No functional changes, thus no layout test. + + Just removes debug NSLog() calls from ksvg2/kcanvas. + http://bugs.webkit.org/show_bug.cgi?id=6299 + + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (KCanvasFilterQuartz::prepareFilter): + (KCanvasFilterQuartz::applyFilter): + (KCanvasFilterQuartz::getCIFilterStack): + (KCanvasFilterQuartz::imageForName): + (KCanvasFEBlendQuartz::getCIFilter): + (KCanvasFEColorMatrixQuartz::getCIFilter): + (KCanvasFEGaussianBlurQuartz::getCIFilter): + * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: + (KCanvasClipperQuartz::applyClip): + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (KRenderingDeviceContextQuartz::mapFromVisual): + (KRenderingDeviceContextQuartz::mapToVisual): + (KRenderingDeviceQuartz::createResource): + (KRenderingDeviceQuartz::createFilterEffect): + * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: + (drawShadingWithStyle): + (KRenderingPaintServerGradientQuartz::updateQuartzGradientCache): + * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: + (KRenderingPaintServerPatternQuartz::draw): + * ksvg2/svg/svgpathparser.cpp: + (SVGPathParser::parseSVG): + +2005-12-29 Graham Dennis <Graham.Dennis@gmail.com> + + Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=3579 + In-place style-switching is leaving junk behind, messing up styles + + * khtml/rendering/render_block.h: (khtml::RenderBlock::initMaxMarginValues): + Set all margin values in all cases. + +2005-12-29 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + XML documents with "html" in dtd name use XHTML entities when they shouldn't + http://bugs.webkit.org/show_bug.cgi?id=6290 + + * khtml/xml/xml_tokenizer.cpp: + (khtml::externalSubsetHandler): check for exact xhtml types + +2005-12-29 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Close leak in CollectionInfo due to HashMap migration + http://bugs.webkit.org/show_bug.cgi?id=6295 + + * khtml/html/html_miscimpl.cpp: + (DOM::HTMLCollectionImpl::CollectionInfo::~CollectionInfo): + * khtml/html/html_miscimpl.h: + +2005-12-29 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - finished frame traversal cleanup + http://bugs.webkit.org/show_bug.cgi?id=6293 + + * kwq/WebCoreBridge.h: Removed childFrames method from WebCoreBridge protocol + since it is not actually used. + +2005-12-29 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Leaks in XSLTProcessorImpl due to early exit in failure case + http://bugs.webkit.org/show_bug.cgi?id=6101 + + * khtml/xsl/xslt_processorimpl.cpp: + (DOM::xmlDocPtrFromNode): add "shouldDelete" argument + (DOM::XSLTProcessorImpl::transformToString): delete new'd xmlDoc + +2005-12-29 Eric Seidel <eseidel@apple.com> + + File accidentally omitted from previous commit. + + Remove QDict from khtml/html + http://bugs.webkit.org/show_bug.cgi?id=6230 + + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::HTMLCollection::getNamedItems): + +2005-12-29 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Remove QDict from khtml/html + http://bugs.webkit.org/show_bug.cgi?id=6230 + Uses HashMap instead. + + * khtml/html/html_miscimpl.cpp: + (DOM::HTMLCollectionImpl::CollectionInfo::CollectionInfo): + (DOM::HTMLCollectionImpl::CollectionInfo::reset): + (DOM::HTMLCollectionImpl::namedItem): + (DOM::HTMLCollectionImpl::updateNameCache): + (DOM::HTMLCollectionImpl::namedItems): + (DOM::HTMLCollectionImpl::nextNamedItem): + (DOM::HTMLFormCollectionImpl::nextNamedItemInternal): + (DOM::HTMLFormCollectionImpl::updateNameCache): + * khtml/html/html_miscimpl.h: + +2005-12-29 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + DOMString/DOMStringImpl/AtomicString need enhancements before replacing QString + http://bugs.webkit.org/show_bug.cgi?id=6228 + Added find(), contains(), startsWith() and endsWith() to DOMString + Uses the above functions throughout the code. + Small performance boost. + + * khtml/css/css_base.cpp: + (CSSSelector::print): + * khtml/css/css_ruleimpl.cpp: + (DOM::CSSImportRuleImpl::init): + * khtml/css/css_valueimpl.cpp: + (DOM::CSSStyleDeclarationImpl::setProperty): + * khtml/css/cssparser.cpp: + (CSSParser::parseValue): + (CSSParser::parseDeclaration): + (CSSParser::parseContent): + * khtml/css/cssstyleselector.cpp: + (khtml::CSSStyleSelector::CSSStyleSelector): + (khtml::CSSStyleSelector::setEncodedURL): + (khtml::parseUASheet): + (khtml::cleanpath): + (khtml::CSSStyleSelector::checkSelector): + (khtml::CSSStyleSelector::checkOneSelector): + (khtml::CSSRuleSet::addRulesFromSheet): + (khtml::CSSStyleSelector::applyProperty): + * khtml/dom/dom_string.cpp: + * khtml/dom/dom_string.h: + (DOM::DOMString::contains): + (DOM::DOMString::find): + (DOM::DOMString::startsWith): + (DOM::DOMString::endsWith): + * khtml/html/html_formimpl.cpp: + (DOM::HTMLFormElementImpl::parseEnctype): + * khtml/khtml_part.cpp: + (KHTMLPart::requestFrame): + (KHTMLPart::submitForm): + * khtml/misc/decoder.cpp: + (Decoder::decode): + * khtml/xml/dom_atomicstring.h: + (DOM::AtomicString::length): + (DOM::AtomicString::operator []): + (DOM::AtomicString::contains): + (DOM::AtomicString::find): + (DOM::AtomicString::startsWith): + (DOM::AtomicString::endsWith): + * khtml/xml/dom_docimpl.cpp: + (DocumentImpl::processHttpEquiv): + * khtml/xml/dom_stringimpl.cpp: + (DOM::equal): + (DOM::equalCaseInsensitive): + (DOM::DOMStringImpl::find): + (DOM::DOMStringImpl::endsWith): + * khtml/xml/dom_stringimpl.h: + (DOM::DOMStringImpl::startsWith): + +2005-12-29 Rob Buis <rwlbuis@xs4all.nl> + + Reviewed by eseidel. Landed by eseidel. + + WebCore+SVG has some problems with rounded rectangles + http://bugs.webkit.org/show_bug.cgi?id=6157 + + Test: svg/custom/rounded-rects.svg + + * ksvg2/svg/SVGRectElementImpl.cpp: + (SVGRectElementImpl::toPathData): fixed round rect calculations + +2005-12-29 Mark Rowe <opendarwin.org@bdash.net.nz> + + Reviewed by eseidel, ggaren, darin. + + - http://bugs.webkit.org/show_bug.cgi?id=4301 + Support HTML entities on pages parsed as XHTML + + Added layout tests: + * fast/parser/entities-in-xhtml.xhtml + + * khtml/xml/xml_tokenizer.cpp: + (khtml::XMLTokenizer::setIsXHTMLDocument): Track whether the XML document is XHTML. + (khtml::XMLTokenizer::isXHTMLDocument): Ditto. + (khtml::externalSubsetHandler): Ditto. + (khtml::XMLTokenizer::finish): Ditto. + (khtml::getXHTMLEntity): Look up the HTML entity. + (khtml::getEntityHandler): Look up the HTML entity if this is an XHTML document. + * khtml/html/kentities.h: Added. + * khtml/html/kentities.gperf: changed entity to Entity + +2005-12-29 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by darin + + - WebCore part of fix for + http://bugs.webkit.org/show_bug.cgi?id=3922 + Variable word/letter spacing and full justification not supported for + ATSUI-rendered text + + * khtml/rendering/font.h: + (khtml::Font::checkSelectionPoint): Make sure the complete run, used for + counting spaces and determining padding per space does not go beyond the + text box. + +2005-12-28 Geoffrey Garen <ggaren@apple.com> + + Reviewed by mjs. + + - Fixed <rdar://problem/4325722> crash in KJS::Bindings::dispatchJNICall + due to liveconnect call from Java after Java PlugInView has been + deallocated @ www.binarybet.com + AKA + http://bugs.webkit.org/show_bug.cgi?id=5518 + + We had code that checked for whether a call came from a live PlugIn, + but the live PlugIn dictionary would only get cleared when the + KWQKHTMLPart was destroyed. Since a single part can service multiple + loads, the dictionary needs to clear after each one. + + No layout test because this bug is difficult to reproduce. + + * kwq/KWQKHTMLPart.mm: + (KWQKHTMLPart::~KWQKHTMLPart): + (1) Unrelated cleanup: Removed manual clearing of form values, + replaced with call to clearRecordedFormValues(). + (2) Replaced PlugIn dictionary cleanup code and view deref call + with call to setView(0), since much of this code was duplicated in + setView, and the stuff that wasn't duplicated needed to be. + + (KWQKHTMLPart::setView): + (1) Removed some unnecessary braces. + (2) Added PlugIn dictionary cleanup code. + (3) New behavior: clear _bindingRoot and _windowScriptObject after + each view change. This is needed because after a call to + clenaupPluginRootObjects(), both objects have stale references. + (4) Changed a NULL to a 0. + + (KWQKHTMLPart::cleanupPluginRootObjects): Removed extra space. + +2005-12-28 Anders Carlsson <andersca@mac.com> + + Reviewed by Maciej. + + - Fix http://bugs.webkit.org/show_bug.cgi?id=6268 + Add undetectable document.all + + * khtml/ecma/kjs_html.cpp: + (KJS::HTMLDocument::getValueProperty): + If "all" has been set to a new value, return the new value. + + (KJS::KJS::HTMLDocument::putValueProperty): + Allow "all" to be set to a new value. + + (KJS::HTMLAllCollection::toPrimitive): + Return jsNull() if the preferred type is NullType. + + (KJS::getAllHTMLCollection): + * khtml/ecma/kjs_html.h: + (KJS::HTMLAllCollection::HTMLAllCollection): + Add HTMLAllCollection, a subclass of HTMLCollection which should + be undetectable. + + (KJS::HTMLAllCollection::toBoolean): + Return false. + +2005-12-28 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Eric, landed by ap. + + Test: fast/block/basic/text-indent-rtl.html + + - fix http://bugs.webkit.org/show_bug.cgi?id=6214 + text-indent in RTL block does the opposite + + * khtml/rendering/render_block.cpp: + (khtml::RenderBlock::rightRelOffset): Subtract the indent instead of adding it. + +2005-12-28 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Darin, landed by ap. + + Test: fast/dom/HTMLScriptElement/script-load-events.html + + - fix http://bugs.webkit.org/show_bug.cgi?id=5812 + Generate load events for <script> elements + + * khtml/html/html_headimpl.cpp: + (HTMLScriptElementImpl::parseMappedAttribute): Parse the onload and onerror attributes. + (HTMLScriptElementImpl::closeRenderer): Call base class's implementation. + (HTMLScriptElementImpl::notifyFinished): Dispatch load and error events. + * khtml/html/htmlparser.h: + * khtml/html/htmlparser.cpp: + (HTMLParser::parseToken): Return the node that was inserted. + * khtml/html/htmltokenizer.h: Added scriptNode, a RefPtr to the node corresponding + to the current load request. + * khtml/html/htmltokenizer.cpp: + (HTMLTokenizer::scriptHandler): Reset scriptNode if a load request was not made. + (HTMLTokenizer::parseTag): Set scriptNode to the node created from the script tag. + (HTMLTokenizer::processToken): Return the node that was inserted. + (HTMLTokenizer::notifyFinished): Reset scriptNode and dispatch load and error events. + * khtml/misc/loader.h: + (CachedScript::errorOccurred): Added. + * khtml/misc/loader.cpp: + (CachedScript::CachedScript): + (CachedScript::error): + +2005-12-28 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6246 + TextIterator::rangeFromLocationAndLength() returns nil range for an + empty document + + Test: editing/input/range-for-empty-document.html + + * khtml/editing/visible_text.cpp: + (khtml::TextIterator::rangeFromLocationAndLength): + Handle the case of an empty document and (0, 0) requested range. + +2005-12-28 Anders Carlsson <andersca@mac.com> + + Reviewed and landed by Geoff. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6269 + ToT memory corruption + + * khtml/rendering/render_text.cpp: + (khtml::RenderText::setText): + Remove deref(). + +2005-12-27 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Hyatt, landed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5699 + REGRESSION: incomplete repaint + + * khtml/rendering/render_object.cpp: + (RenderObject::repaintAfterLayoutIfNeeded): Return false if only the + size changed and not everything was repainted. + * manual-tests/bugzilla-5699.html: Added. + +2005-12-27 Sam Weinig <sam.weinig@gmail.com> + + Reviewed by Maciej, landed by Darin. + + - fixed <http://bugs.webkit.org/show_bug.cgi?id=4101> + CSS Fibonacci spiral using 4 images doesn't render correctly + + Added layout tests: + * fast/replaced/absolute-image-sizing.html + + * khtml/rendering/render_box.cpp: + (RenderBox::calcAbsoluteHorizontalValues): Use calcReplacedWidth() instead of intrinsicWidth() + for replaced elements. + (RenderBox::calcAbsoluteVerticalValues): Same thing for height. + +2005-12-27 Darin Adler <darin@apple.com> + + Reviewed by Geoff and Eric. + + - http://bugs.webkit.org/show_bug.cgi?id=6198 + use RefPtr a few places in RenderText and related classes + + * khtml/html/htmltokenizer.h: Use RefPtr for some data members in Token. + Also removed use of bitfields in Token, since there's no need to optimize storage here. + * khtml/html/htmlparser.cpp: + (HTMLParser::parseToken): Update for use of RefPtr in Token. + (HTMLParser::textCreateErrorCheck): Ditto. + (HTMLParser::commentCreateErrorCheck): Ditto. + (HTMLParser::handleIsindex): Ditto. + * khtml/html/htmltokenizer.cpp: + (khtml::Token::addAttribute): Ditto. + (khtml::HTMLTokenizer::processToken): Ditto. + + * khtml/rendering/render_text.h: Reduce the number of includes, change + SOFT_HYPHEN from a macro into a constant. Change originalString function + to return a PassRefPtr instead of a RefPtr. Make str and m_generatedContentStr + member be a RefPtr. + * khtml/rendering/render_text.cpp: + (khtml::RenderText::previousOffset): Update for use of RefPtr for str. + (khtml::RenderText::nextOffset): Ditto. + (khtml::RenderText::RenderText): Ditto. + (khtml::RenderText::originalString): Change to return PassRefPtr, even though + it's not necessary at this level (since it's a virtual function). + (khtml::RenderText::posOfChar): Update for use of RefPtr for str. + (khtml::RenderText::setText): Ditto. + (khtml::RenderTextFragment::RenderTextFragment): Ditto. + (khtml::RenderTextFragment::originalString): Change to return PassRefPtr. + + * khtml/html/html_inlineimpl.cpp: Re-sorted list of includes, added newly-needed ones. + * kwq/KWQRenderTreeDebug.cpp: Added new include needed since QPtrVector is no longer + included by render_text.h. + +2005-12-27 Darin Adler <darin@apple.com> + + Fix suggested by Mitz. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6240 + REGRESSION: scrollbars in overflows don't work + + * khtml/xml/dom2_eventsimpl.cpp: (DOM::MouseRelatedEventImpl::computePositions): + Remove the code to compute pageX/Y from clientX/Y, because clientX/Y are not passed + in correctly (in fact, what's passed in is pageX/Y)! I accidentally included part + of my fix for clientX/Y in the original patch. + +2005-12-27 Maks Orlovich <maksim@kde.org> + + Reviewed and landed by Maciej. + + - fixed 4405: <button> not listed in form collections. + http://bugs.webkit.org/show_bug.cgi?id=4405 + + Test: fast/forms/button-in-forms-collection.html + + * khtml/html/html_formimpl.h: + (DOM::HTMLButtonElementImpl::isEnumeratable): override to return true + +2005-12-25 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Geoff. + + - Remove WebFrame's parent frame pointer, instead rely on WebCore's parent concept + http://bugs.webkit.org/show_bug.cgi?id=6241 + + * kwq/WebCoreBridge.h: + * kwq/WebCoreBridge.mm: + (-[WebCoreBridge parent]): New method, relies on the KHTMLPart's + parent pointer. + +2005-12-24 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by eseidel. + + Test: fast/forms/domstring-replace-crash.html + + - fix http://bugs.webkit.org/show_bug.cgi?id=6236 + REGRESSION: Crash in DOMString::replace() in ToT (12/24/05) + + * khtml/dom/dom_string.h: + (DOMString::replace): Added check for null m_impl. + +2005-12-24 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - replaced QPtrDict for Accessors structs with HashMap (also renamed some + stray getSetInfo methods) + http://bugs.webkit.org/show_bug.cgi?id=6223 + + * khtml/ecma/kjs_html.cpp: + (KJS::HTMLElement::accessors): + (KJS::HTMLElement::getValueProperty): + (KJS::HTMLElement::putValueProperty): + * khtml/ecma/kjs_html.h: + +2005-12-24 Geoffrey Garen <ggaren@apple.com> + + Reviewed by eric. + + http://bugs.webkit.org/show_bug.cgi?id=6231 + + - Fixed assertion failure in QString::mid caused by my last checkin. + parseWindowFeatures() sometimes called QString::mid() with a start + index past the end of the string but a length of 0. There were two + problems there. (1) parseWindowFeatures() shouldn't have gotten past + the end of the string. (2) QString had range truncating code that was + borked. So I fixed both. + + * khtml/ecma/kjs_window.cpp: + (KJS::parseWindowFeatures): One of the "past the end" tests was > + instead of >=. + * kwq/KWQString.mm: + (QString::mid): Truncate length *before* deciding whether to return + early. Also, compare start and data._length before computing + data._length - start, because the error case we're trying to catch + will almost certainly cause unsigned overflow. + * manual-tests/window-open-features-parsing.html: Added trailing ',' + to uber-test to catch this failure, too. + +2005-12-24 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6221 + REGRESSION: Password field is blank error for secure websites using + password field (ToT, 12/24/05) + + * khtml/kwq/KWQSlot.mm: + (KWQSlot::KWQSlot): Changed the parameter type of slotTextChanged to const DOMString & + * khtml/rendering/render_form.h: + * khtml/rendering/render_form.cpp: + (RenderLineEdit::RenderLineEdit): ditto. + (RenderLineEdit::slotTextChanged): ditto. + (RenderFileButton::RenderFileButton): ditto. + (RenderFileButton::slotTextChanged): ditto. + +2005-12-22 Geoffrey Garen <ggaren@apple.com> + + Reviewed by vicki (yay!), eric. + + - Fixed: <rdar://problem/4377597> parsing of window.open features strings needs to be more forgiving + + Manual test case: WebCore/manual-tests/window-open-features-parsing.html + Also fixed: WebCore/manual-tests/window-open-features.html, which had an incorrect URL in it. + + This patch is long. Luckily, it's also complicated. + + The main thing I've done is to change our parsing of the window.open 'features' argument to match Win IE. + This is important because we now implement the correct defaults for window.open, and resizing and + scrolling are turned off by default. So, if we parse the 'features' string incorrectly, we'll end + up with an annoying, incorrectly sized window that can't resize or scroll. + + To honor a long-standing request by Eric, I factored out the parsing into two new functions: + parseWindowFeatures and constrainToScreen. I also added support for "innerWidth" and "innerHeight," + since they're just synonyms for "width" and "height." + + * khtml/ecma/kjs_window.cpp: removed "emit" statements, since emit is #defined as "" + (KJS::parseDialogFeatures): renamed from parseFeatures, since we now have a 'parseWindowFeatures'. + (KJS::showModalDialog): ditto on parseFeatures. Also added some missing initializations for WindowArgs data members. + (KJS::parseWindowFeatures): new function, all new functionality. + (KJS::constrainToScreen): new function, no new functionality -- just cut and pasted code that used to run as + part of our parsing routine. + (KJS::WindowFunc::callAsFunction): + (1) Factored out previous parsing code. + (2) Factored 17 lines of custom popup-blocking code into 3 lines that use pre-existing 'allowPopUp' function. + Gratuitous, but it cried out to me. + (3) Changed URL parsing to substitute "" for undefined *and* null values (we already did this for undefined), + to avoid trying to navigate to 'http://null'. + (4) Factore a multiline if () { if () {}} into an if ( && ) + (4) Removed the main body of code from a giant 'else' block by inserting early returns for the exceptional cases. + This caused some things to show up in the diff even though they're just whitespace changes. + I didn't actually change any code past the line "if (!str.isEmpty() && activePart)" + * kwq/KWQKHTMLPartBrowserExtension.mm: + (KHTMLPartBrowserExtension::createNewWindow): Added code to set toolbars to visible if toolBarVisible is true *or* + locationBarVisible is true. The parser used to do this for us, but it's really the browser that's responsible for + saying that the toolbar and the locationbar are the same thing. Hopefully, we can add a setLocationBarVisible delegate + in the future so that other webkit clients can make their own UI decisions. + * kwq/KWQKPartsBrowserExtension.h: Added locationBarVisible data member to WindowArgs structure and renamed + toolBarsVisible to toolBarVisible (see above). Removed initialization code from WindowArgs structure because + this file is for platform-specific code, and what defaults to use for window arguments is purely engine stuff. + +2005-12-23 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Remove many use of .qstring() + Convert several instances of QStrings to DOMStrings + Add DOMString::replace(QChar, QChar) + Remove (unused) KWQLabel, KWQKGlobal + Slight performance improvement. + Also fixed ChangeLog line endings from previous commit. + http://bugs.webkit.org/show_bug.cgi?id=6138 + + No tests needed, no functionality changes. + + * ChangeLog: Fixed line endings + * ForwardingHeaders/kglobal.h: Removed. + * ForwardingHeaders/qlabel.h: Removed. + * WebCore.xcodeproj/project.pbxproj: removed KWQLabel + * khtml/css/css_base.cpp: + (CSSSelector::selectorText): + * khtml/css/css_stylesheetimpl.cpp: + (MediaListImpl::setMediaText): + * khtml/css/cssstyleselector.cpp: + (khtml::checkPseudoState): + * khtml/dom/dom_string.h: + (DOM::DOMString::replace): + * khtml/ecma/kjs_css.cpp: + (KJS::DOMCSSStyleDeclaration::put): + * khtml/ecma/kjs_dom.cpp: + (KJS::DOMNode::put): + (KJS::DOMAttr::put): + (KJS::DOMDocument::put): + * khtml/ecma/kjs_events.cpp: + (KJS::JSAbstractEventListener::handleEvent): + * khtml/ecma/kjs_html.cpp: + (KJS::KJS::HTMLDocument::put): + (KJS::KJS::HTMLElementFunction::callAsFunction): + (KJS::KJS::HTMLElement::put): + (KJS::KJS::Context2DFunction::callAsFunction): + (KJS::Context2D::putValueProperty): + * khtml/ecma/kjs_proxy.cpp: + (KJSProxyImpl::evaluate): + * khtml/ecma/kjs_window.cpp: + (KJS::Window::isSafeScript): + (KJS::WindowFunc::callAsFunction): + (KJS::ScheduledAction::execute): + * khtml/ecma/xmlhttprequest.cpp: + (KJS::XMLHttpRequest::send): + (KJS::XMLHttpRequestProtoFunc::callAsFunction): + * khtml/ecma/xmlhttprequest.h: + * khtml/editing/jsediting.cpp: + (DOM::JSEditor::queryCommandSupported): + * khtml/editing/markup.cpp: + (khtml::stringValueForRange): + (khtml::startMarkup): + * khtml/html/html_baseimpl.cpp: + (HTMLBodyElementImpl::parseMappedAttribute): + * khtml/html/html_elementimpl.cpp: + (HTMLElementImpl::addHTMLAlignment): + * khtml/html/html_formimpl.cpp: + (DOM::HTMLFormElementImpl::formData): + (DOM::HTMLInputElementImpl::appendFormData): + (DOM::HTMLTextAreaElementImpl::updateValue): + * khtml/html/html_headimpl.cpp: + (HTMLLinkElementImpl::parseMappedAttribute): + * khtml/html/html_imageimpl.cpp: + (DOM::HTMLImageElementImpl::parseMappedAttribute): + * khtml/html/html_objectimpl.cpp: + (DOM::HTMLObjectElementImpl::parseMappedAttribute): + (DOM::HTMLParamElementImpl::isURLAttribute): + * khtml/html/html_objectimpl.h: + * khtml/html/html_tableimpl.cpp: + (DOM::HTMLTableElementImpl::addChild): + (DOM::HTMLTableElementImpl::parseMappedAttribute): + (DOM::HTMLTablePartElementImpl::parseMappedAttribute): + (DOM::HTMLTableSectionElementImpl::addChild): + (DOM::HTMLTableRowElementImpl::addChild): + * khtml/html/htmltokenizer.cpp: + (khtml::HTMLTokenizer::parseTag): + * khtml/khtml_part.cpp: + (KHTMLPart::executeScript): + (KHTMLPart::checkEmitLoadEvent): + * khtml/misc/loader.cpp: + (CachedObject::finish): + (CachedCSSStyleSheet::checkNotify): + (CachedXSLStyleSheet::checkNotify): + (CachedXBLDocument::checkNotify): + (DocLoader::requestImage): + (DocLoader::requestStyleSheet): + (DocLoader::requestScript): + (Loader::servePendingRequests): + (Loader::cancelRequests): + * khtml/rendering/render_applet.cpp: + * khtml/rendering/render_block.cpp: + (khtml::RenderBlock::updateFirstLetter): + * khtml/rendering/render_box.cpp: + (RenderBox::~RenderBox): + * khtml/rendering/render_form.cpp: + (RenderFormElement::slotTextChanged): + (RenderLineEdit::updateFromElement): + (RenderTextArea::updateFromElement): + (RenderTextArea::text): + * khtml/rendering/render_form.h: + * khtml/rendering/render_frames.cpp: + (RenderPartObject::updateWidget): + * khtml/rendering/render_line.cpp: + (khtml::EllipsisBox::paint): + * khtml/rendering/render_list.cpp: + (RenderListItem::paint): + (RenderListMarker::paint): + * khtml/rendering/render_text.cpp: + (khtml::RenderText::RenderText): + (khtml::RenderText::position): + * khtml/xml/dom_docimpl.cpp: + (DOMImplementationImpl::hasFeature): + (DocumentImpl::getElementByAccessKey): + (DocumentImpl::recalcStyleSelector): + (DocumentImpl::defaultEventHandler): + * khtml/xml/dom_elementimpl.cpp: + (ElementImpl::recalcStyle): + * khtml/xml/dom_nodeimpl.cpp: + (DOM::NodeImpl::dump): + (DOM::appendAttributeDesc): + (DOM::NodeImpl::showNode): + * khtml/xml/dom_stringimpl.cpp: + (DOM::DOMStringImpl::lower): + * khtml/xml/xml_tokenizer.cpp: + (khtml::XMLTokenizer::executeScripts): + * khtml/xsl/xsl_stylesheetimpl.cpp: + (DOM::XSLStyleSheetImpl::loadChildSheets): + * kwq/KWQKHTMLPart.h: + * kwq/KWQKHTMLPart.mm: + (KWQKHTMLPart::documentViewForNode): + (KWQKHTMLPart::runJavaScriptAlert): + (KWQKHTMLPart::runJavaScriptConfirm): + (KWQKHTMLPart::runJavaScriptPrompt): + (KWQKHTMLPart::addMessageToConsole): + (KWQKHTMLPart::passWheelEventToChildWidget): + (KWQKHTMLPart::shouldDragAutoNode): + (KWQKHTMLPart::snapshotDragImage): + (convertAttributesToUnderlines): + (KWQKHTMLPart::setMarkedTextRange): + (KWQKHTMLPart::mousePressNode): + * kwq/KWQKGlobal.h: Removed. + * kwq/KWQKGlobal.mm: Removed. + * kwq/KWQLabel.h: Removed. + * kwq/KWQLabel.mm: Removed. + * kwq/KWQLineEdit.h: + * kwq/KWQLineEdit.mm: + (QLineEdit::setText): + (QLineEdit::text): + (QLineEdit::setAutoSaveName): + (QLineEdit::setPlaceholderString): + * kwq/KWQPainter.mm: + (QPainter::compositeOperatorFromString): + * kwq/KWQSignal.h: + * kwq/KWQSignal.mm: + (KWQSignal::call): + * kwq/KWQSlot.h: + * kwq/KWQSlot.mm: + (KWQSlot::call): + * kwq/KWQString.h: + * kwq/KWQString.mm: + * kwq/KWQTextEdit.h: + * kwq/KWQTextEdit.mm: + (QTextEdit::setText): + (QTextEdit::text): + (QTextEdit::textWithHardLineBreaks): + * ksvg2/scripts/cssmakeprops: removed kglobal.h + * ksvg2/scripts/cssmakevalues: removed kglobal.h + +2005-12-23 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Eric Seidel. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5924 + Zero-length responses to XMLHTTPRequest mishandled + + * khtml/ecma/xmlhttprequest.cpp (KJS::XMLHttpRequest::slotFinished): + Make sure to fetch response headers and set the state to Loaded, if + this hasn't been done already. + +2005-12-23 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Eric Seidel. + + - fix http://bugs.webkit.org/show_bug.cgi?id=3565 + Posting data via XML HTTP Request doesnt work + + * khtml/ecma/xmlhttprequest.cpp: + (KJS::XMLHttpRequest::send): Set application/xml as a default Content-Type; + use a proper codec for request body if a charset is specified. + (KJS::XMLHttpRequest::getRequestHeader): Use getSpecificHeader. + (KJS::XMLHttpRequest::getResponseHeader): Ditto. + (KJS::XMLHttpRequest::getSpecificHeader): Factored out code from getResponseHeader. + (KJS::XMLHttpRequestProtoFunc::callAsFunction): Removed a FIXME (this is done in send() now). + * khtml/ecma/xmlhttprequest.h: + +2005-12-22 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin Adler. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6118 + Investigate not using the frameset charset as a default for frames + + * khtml/khtml_part.cpp (KHTMLPart::write): + Do not use the parent frame encoding as a default for sub-frames (revert + rdar://3100151). + +2005-12-22 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Eric. + + - made RefPtr<DOMStringImpl> usable as a hashtable key/value + - changed XSLTProcessorImpl to make use of this instead of a QDict. + - partially fixed broken param handling for xslt + + See LayoutTests for updated test case. + + * khtml/xml/dom_stringimpl.cpp: + * khtml/xml/dom_stringimpl.h: + (KXMLCore::): Set things up so you can use RefPtr<DOMStringImpl> as + a hashtable key (should already be usable as a value). + * khtml/xsl/xslt_processorimpl.cpp: + (DOM::xsltParamArrayFromParameterMap): Updated to use a HashMap of RefPtrs instead + of QDict. Also, fixed bugs that would have kept this from ever working at all. + (DOM::XSLTProcessorImpl::transformToString): ditto + (DOM::XSLTProcessorImpl::setParameter): ditto + (DOM::XSLTProcessorImpl::getParameter): ditto + (DOM::XSLTProcessorImpl::removeParameter): ditto + * khtml/xsl/xslt_processorimpl.h: + +2005-12-21 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - update for new HashTranslator stuff + + * khtml/xml/dom_atomicstring.cpp: + (DOM::CStringTranslator::hash): + (DOM::CStringTranslator::equal): + (DOM::CStringTranslator::translate): + (DOM::AtomicString::equal): + (DOM::AtomicString::add): + (DOM::QCharBufferTranslator::hash): + (DOM::QCharBufferTranslator::equal): + (DOM::QCharBufferTranslator::translate): + * khtml/xml/dom_qname.cpp: + (DOM::QNameComponentsTranslator::hash): + (DOM::QNameComponentsTranslator::equal): + (DOM::QNameComponentsTranslator::translate): + (DOM::QualifiedName::QualifiedName): + +2005-12-22 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Cleaned up a previous checkin by defining global const defaultForm. + + * khtml/xml/dom_docimpl.cpp: + (DocumentImpl::radioButtonChecked): + (DocumentImpl::checkedRadioButtonForGroup): + (DocumentImpl::removeRadioButtonGroup): + +2005-12-22 Adele Peterson <adele@apple.com> + + Reviewed by Tim Hatcher. + + Fixed <rdar://problem/4387433> Seed: Radio buttons behave incorrectly in Gmail settings + + * khtml/html/html_formimpl.cpp: + (DOM::HTMLFormElementImpl::registerFormElement): update radio button hash map when moving form elements around. + (DOM::HTMLGenericFormElementImpl::insertedIntoTree): ditto. + * khtml/html/html_formimpl.h: + (DOM::HTMLGenericFormElementImpl::isRadioButton): Added. + (DOM::HTMLInputElementImpl::isRadioButton): Added. + * khtml/xml/dom_docimpl.cpp: + (DocumentImpl::radioButtonChecked): + Added comment explaining that we use 1 for the default form. We can't use a null pointer as a key for the hash map. + (DocumentImpl::checkedRadioButtonForGroup): Added conversion of null form pointer to 1. + (DocumentImpl::removeRadioButtonGroup): ditto. + +2005-12-22 Anders Carlsson <andersca@mac.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6196 + Would like to be able to define prototypes in headers + + * khtml/ecma/XSLTProcessor.cpp: + * khtml/ecma/domparser.cpp: + * khtml/ecma/kjs_css.cpp: + * khtml/ecma/kjs_dom.cpp: + * khtml/ecma/kjs_events.cpp: + * khtml/ecma/kjs_html.cpp: + * khtml/ecma/kjs_range.cpp: + * khtml/ecma/kjs_traversal.cpp: + * khtml/ecma/kjs_views.cpp: + * khtml/ecma/xmlhttprequest.cpp: + * khtml/ecma/xmlserializer.cpp: + Update for changes to JSC. + +2005-12-22 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6198 + use RefPtr a few places in RenderText and related classes + + * khtml/html/htmlparser.cpp: + (HTMLParser::parseToken): Use get since text pointer is RefPtr now. + (HTMLParser::textCreateErrorCheck): Ditto. + (HTMLParser::commentCreateErrorCheck): Ditto. + (HTMLParser::handleIsindex): Get rid of explicit deref, no longer needed. + + * khtml/html/htmltokenizer.h: Make attrs and text fields of Token use + RefPtr. Also stop using bit fields for the flags in Token -- there's no + evidence this makes things faster. + * khtml/html/htmltokenizer.cpp: + (khtml::Token::addAttribute): Get rid of explicit ref, no longer needed. + (khtml::HTMLTokenizer::processToken): Ditto. + + * khtml/rendering/render_block.cpp: (khtml::RenderBlock::updateFirstLetter): + Use a PassRefPtr. + + * khtml/rendering/render_text.cpp: + (khtml::RenderText::previousOffset): Use get since str pointer is RefPtr now. + (khtml::RenderText::nextOffset): Ditto. + (khtml::RenderText::RenderText): Get rid of explicit ref, no longer needed. + Change to use initializer syntax instead of assignment. + (khtml::RenderText::setStyle): Use PassRefPtr. + (khtml::RenderText::originalString): Ditto. + (khtml::RenderText::setText): Get rid of explicit ref, no longer needed. + (khtml::RenderTextFragment::RenderTextFragment): Get rid of explicit ref, + no longer needed. + (khtml::RenderTextFragment::originalString): Use PassRefPtr. + + * khtml/rendering/render_text.h: Change SOFT_HYPEN to be a constant rather than + a preprocessor macro. Used PassRefPtr in a couple places. Made RenderText's str + and RenderTextFragment's m_generatedContentStr be RefPtr. + + * khtml/html/html_inlineimpl.cpp: Add a newly-needed include, sort them. + * kwq/KWQRenderTreeDebug.cpp: Add a newly-needed include. + +2005-12-22 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6193 + remove some unused KWQ code + + * kcanvas/KCanvasCreator.cpp: (KCanvasCreator::self): Don't use static deleter for + two reasons: (1) We don't want any globals with constructors in any of our frameworks + because they slow down framework load time. (2) There's no need to destroy this object at + process termination time -- it's extra work with no benefit. Because of both these + reasons, our KStaticDeleter implementation was basically a no-op. + * ksvg2/svg/SVGDOMImplementationImpl.cpp: (SVGDOMImplementationImpl::self): Ditto. + * khtml/xml/dom_docimpl.cpp: (DocumentImpl::setDocumentChanged): Ditto. + + * khtml/html/html_canvasimpl.cpp: Removed include of kstringhandler.h. + * khtml/html/html_imageimpl.cpp: Ditto. + + * khtml/khtmlpart_p.h: Removed something that was in an "APPLE_CANGES" ifdef. + + * ForwardingHeaders/kstaticdeleter.h: Removed. + * ForwardingHeaders/kstringhandler.h: Removed. + * kwq/KWQKStaticDeleter.h: Removed. + * kwq/KWQKStringHandler.h: Removed. + * kwq/KWQKStringHandler.mm: Removed. + + * WebCore.xcodeproj/project.pbxproj: Removed files. + +2005-12-22 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6192 + add support for non-standard ⊅ entity (implemented in other browsers) + + * khtml/html/kentities.gperf: Add "nsup" to table. + * khtml/html/htmltokenizer.cpp: Removed old workaround for inlining issue that no + longer seems to be necessary; also touches the file which is important because + Xcode doesn't seem to understand the dependency on kentities.gperf and the need + to recompile. + +2005-12-22 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6167 + RenderStyle default constructor should initialize its members for speed + + * khtml/rendering/DataRef.h: (khtml::DataRef::operator=): Eliminate an extra + branch by doing ref before deref instead of == check. + + * khtml/rendering/render_style.cpp: + (khtml::initDefaultStyle): Added. Function to initialize the default style + for use in constructor. + (khtml::RenderStyle::RenderStyle): Changed constructor to initalize all the + members with constructor syntax instead of using assignment on all of them. + * khtml/rendering/render_style.h: Removed static data member _default -- + it's now a file scope global instead. + +2005-12-21 Darin Adler <darin@apple.com> + + Reviewed by Justin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6142 + intermittent failures in some paste tests + + * khtml/editing/apply_style_command.cpp: + (khtml::ApplyStyleCommand::applyBlockStyle): Call new updateLayout member function. + (khtml::ApplyStyleCommand::applyInlineStyle): Ditto. + (khtml::ApplyStyleCommand::pushDownTextDecorationStyleAtBoundaries): Ditto. + * khtml/editing/composite_edit_command.cpp: + (khtml::CompositeEditCommand::addBlockPlaceholderIfNeeded): Ditto. + (khtml::CompositeEditCommand::findBlockPlaceholder): Ditto. + (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Ditto. + * khtml/editing/delete_selection_command.cpp: + (khtml::DeleteSelectionCommand::fixupWhitespace): Ditto. + (khtml::DeleteSelectionCommand::moveNodesAfterNode): Ditto. + * khtml/editing/edit_command.cpp: + (khtml::EditCommand::apply): Ditto. + (khtml::EditCommand::unapply): Ditto. + (khtml::EditCommand::reapply): Ditto. + (khtml::EditCommand::updateLayout): Added. Calls updateLayoutIgnorePendingStylesheets + on the document. + * khtml/editing/edit_command.h: Added updateLayout member function. + * khtml/editing/insert_line_break_command.cpp: + (khtml::InsertLineBreakCommand::doApply): Call new updateLayout member function. + * khtml/editing/insert_paragraph_separator_command.cpp: + (khtml::InsertParagraphSeparatorCommand::doApply): Ditto. + * khtml/editing/jsediting.cpp: + (DOM::JSEditor::execCommand): Call updateLayoutIgnorePendingStylesheets instead of updateLayout. + (DOM::JSEditor::queryCommandEnabled): Ditto. + (DOM::JSEditor::queryCommandIndeterm): Ditto. + (DOM::JSEditor::queryCommandState): Ditto. + (DOM::JSEditor::queryCommandValue): Ditto. + * khtml/editing/markup.cpp: (khtml::createMarkup): Ditto. + * khtml/editing/replace_selection_command.cpp: + (khtml::ReplacementFragment::insertFragmentForTestRendering): Ditto. + (khtml::ReplaceSelectionCommand::fixupNodeStyles): Call new updateLayout member function. + (khtml::ReplacementFragment::computeStylesUsingTestRendering): Call + updateLayoutIgnorePendingStylesheets instead of updateLayout. + (khtml::ReplaceSelectionCommand::doApply): Call new updateLayout member function. + (khtml::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): Ditto. + (khtml::ReplaceSelectionCommand::completeHTMLReplacement): Ditto. + * khtml/editing/visible_units.cpp: + (khtml::previousLinePosition): Call updateLayoutIgnorePendingStylesheets instead of updateLayout. + (khtml::nextLinePosition): Ditto. + * khtml/html/html_elementimpl.cpp: + (HTMLElementImpl::innerText): Ditto. + * kwq/WebCoreBridge.mm: + (-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]): Ditto. + (-[WebCoreBridge smartDeleteRangeForProposedRange:]): Ditto. + +2005-12-21 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6177 + move event code from JavaScript binding into DOM implementation + + * khtml/ecma/kjs_events.cpp: + (KJS::DOMMouseEvent::getValueProperty): Change everything to just call through instead of doing + the work here. + (KJS::DOMWheelEvent::getValueProperty): Ditto. + + * khtml/xml/dom2_eventsimpl.h: + (DOM::MouseRelatedEventImpl::offsetX): + (DOM::MouseRelatedEventImpl::offsetY): + * khtml/xml/dom2_eventsimpl.cpp: + (DOM::MouseRelatedEventImpl::MouseRelatedEventImpl): Initialize new m_pageX, m_pageY, m_layerX, + m_layerY, m_offsetX, and m_offsetY. + (DOM::MouseRelatedEventImpl::computePositions): Renamed from computeLayerPos since it handles + page position andoffset position too now. + (DOM::MouseRelatedEventImpl::pageX): Added. Not in header since it's virtual. + (DOM::MouseRelatedEventImpl::pageY): Ditto. + (DOM::MouseRelatedEventImpl::x): Added, with FIXME since it should change eventually. + (DOM::MouseRelatedEventImpl::y): Ditto. + (DOM::MouseEventImpl::initMouseEvent): Call computePositions instead of computeLayerPos. + (DOM::MouseEventImpl::toElement): Added. + (DOM::MouseEventImpl::fromElement): Added. + +2005-12-21 Timothy Hatcher <timothy@apple.com> + + * WebCore.xcodeproj/project.pbxproj: + Set tab width to 8, indent width to 4 and uses tabs to false per file. + +2005-12-21 John Sullivan <sullivan@apple.com> + + Reviewed by Tim Omernick and Darin Adler. + + - fixed HiDPI problem with forms auto-fill menu width + + No test cases added; this code is used for "chrome" only. + + * kwq/DOMHTML.mm: + (-[DOMHTMLInputElement _rectOnScreen]): + convert entire rect to window coordinates, not just origin + +2005-12-21 David Harrison <harrison@apple.com> + + Reviewed by Justin. + + <rdar://problem/4039777> Pasting particular snippet of HTML containing list items and a link creates too many list items + - Fixed paste crash by making calling RenderBox::deleteLineBoxWrapper() from RenderObject::remove(), + so that the connection is broken before the InlineBox's parent gets deleted. + - Fixed overzealous style changes when setting the style on a specific range of elements. These specific + ranges are derived programmatically, e.g. as a part of pasting, so they must be respected exactly rather + than modified by converting the endpoints to VisiblePositions. + + Test cases coming soon. + + * khtml/editing/apply_style_command.cpp: + (khtml::ApplyStyleCommand::ApplyStyleCommand): + (khtml::ApplyStyleCommand::updateStartEnd): + (khtml::ApplyStyleCommand::startPosition): + (khtml::ApplyStyleCommand::endPosition): + (khtml::ApplyStyleCommand::applyBlockStyle): + (khtml::ApplyStyleCommand::applyRelativeFontStyleChange): + (khtml::ApplyStyleCommand::applyInlineStyle): + (khtml::ApplyStyleCommand::removeInlineStyle): + (khtml::ApplyStyleCommand::splitTextAtStartIfNeeded): + (khtml::ApplyStyleCommand::splitTextAtEndIfNeeded): + (khtml::ApplyStyleCommand::splitTextElementAtStartIfNeeded): + (khtml::ApplyStyleCommand::splitTextElementAtEndIfNeeded): + (khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): + (khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical): + (khtml::ApplyStyleCommand::joinChildTextNodes): + * khtml/editing/apply_style_command.h: + * khtml/editing/composite_edit_command.cpp: + (khtml::CompositeEditCommand::applyStyle): + * khtml/editing/composite_edit_command.h: + * khtml/editing/insert_line_break_command.cpp: + (khtml::InsertLineBreakCommand::doApply): + * khtml/editing/replace_selection_command.cpp: + (khtml::ReplaceSelectionCommand::fixupNodeStyles): + (khtml::ReplaceSelectionCommand::completeHTMLReplacement): + * khtml/rendering/render_box.cpp: + (RenderBox::destroy): + (RenderBox::deleteLineBoxWrapper): + * khtml/rendering/render_box.h: + * khtml/rendering/render_list.cpp: + (RenderListMarker::~RenderListMarker): + (RenderListMarker::setStyle): + * khtml/rendering/render_object.cpp: + (RenderObject::remove): + * khtml/rendering/render_object.h: + * khtml/rendering/render_replaced.cpp: + (RenderWidget::destroy): + +2005-12-20 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fixed http://bugs.webkit.org/show_bug.cgi?id=5911 + REGRESSION: Page scroll position jumps when clicking on word in editable div + + I moved the scrolling code out of setFocusNode, and consolidated some of the focus code to scroll when necessary. + + * khtml/html/html_formimpl.cpp: Removed HTMLButtonElementImpl::blur, HTMLButtonElementImpl::focus, HTMLInputElementImpl::blur, HTMLInputElementImpl::focus. + New code in ElementImpl::focus will now handle these cases. This allows tabbing through the elements to go through the same code path as calling focus() on an element. + Before, focus() would scroll to reveal for any form elements that had a RenderWidget, but wouldn't scroll for anchor elements, or any of the new form elements. + Now the behavior will be more consistent. + (DOM::HTMLLabelElementImpl::focus): calls ElementImpl::focus. + (DOM::HTMLLegendElementImpl::focus): ditto. + * khtml/html/html_formimpl.h: + * khtml/khtml_part.cpp: + (KHTMLPart::selectAll): calls new function selectContentsOfNode + (KHTMLPart::selectContentsOfNode): factored out code to selectAll for a particular node- which is useful for contenteditable elements. + * khtml/khtml_part.h: added selectContentsOfNode + * khtml/xml/dom_docimpl.cpp: + (DocumentImpl::setFocusNode): removed scrolling code. + * khtml/xml/dom_elementimpl.cpp: + (ElementImpl::focus): Calls updateLayout in case focus() is called before there's a renderer. + Makes a selection for editable elements (right now we select all, but this will change). + Doesn't scroll if the renderer is a RenderWidget, since that is handled when the view becomes first responder. This will go away when we convert the rest of our form elements. + * kwq/KWQKHTMLPart.mm: + (KWQKHTMLPart::revealSelection): Made this more like centerSelectionInVisibleArea where we get the right rectangle if the selection is a caret. + (KWQKHTMLPart::nextKeyViewInFrame): call ElementImpl::focus() for the node. This will set the selection too, which used to be done here. + +2005-12-20 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by justin + + <http://bugs.webkit.org/show_bug.cgi?id=4682> + -[WebHTMLView firstRectForCharacterRange:] is using _selectedRange instead of the given range if no marked text + + Added layout tests: + * editing/input/firstrectforcharacterrange-styled + * editing/input/firstrectforcharacterrange-plain + + * khtml/editing/visible_text.cpp: + (khtml::TextIterator::rangeFromLocationAndLength): + Return null if the range isn't found, instead of a startless/endless + range. Set the end if the requested location+length is out of bounds. + * kwq/WebCoreBridge.mm: + (-[WebCoreBridge convertToDOMRange:]): Handle larged unsigned values + before calling rangeWithLocationAndLength, which expects signed ints. + +2005-12-20 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fix for <rdar://problem/4387630> REGRESSION: <select> element's onClick event doesn't fire @ bugweb.apple.com + + * kwq/KWQKHTMLPart.mm: + (KWQKHTMLPart::passSubframeEventToSubframe): only pass mouse down for khtmlviews. + +2005-12-20 Justin Garcia <justin.garcia@apple.com> + + Reviewed by eric, thatcher + + <rdar://problem/4172984> KWQExceptions needs to use @try/@catch instead of relying on NSException.h internals + + Needed to undef try/catch because of 4333439. Moved the + declarations of variables that are returned from within a @try + block outside the @try block (because of "might be clobbered by + a longjmp or vfork" warnings). Moved some return statements + inside the @try block to fix volatilization errors with gcc4. + + * WebCore.xcodeproj/project.pbxproj: + * WebCorePrefix.h: + * kcanvas/device/quartz/KCanvasFilterQuartz.mm: + (KCanvasFEBlendQuartz::getCIFilter): + (KCanvasFEColorMatrixQuartz::getCIFilter): + (KCanvasFECompositeQuartz::getCIFilter): + (getPointLightVectors): + (getLightVectors): + (getNormalMap): + (KCanvasFEDiffuseLightingQuartz::getCIFilter): + (KCanvasFEFloodQuartz::getCIFilter): + (KCanvasFEImageQuartz::getCIFilter): + (KCanvasFEMergeQuartz::getCIFilter): + (KCanvasFESpecularLightingQuartz::getCIFilter): + * kwq/KWQExceptions.h: + * kwq/KWQExceptions.mm: + (KWQReportBlockedException): + * kwq/KWQFileButton.mm: + (KWQFileButton::sizeForCharacterWidth): + (KWQFileButton::frameGeometry): + * kwq/KWQKCursor.mm: + (+[NSCursor _WebCore_cursorWithName:hotSpot:_WebCore_cursorWithName:hotSpot:]): + * kwq/KWQKHTMLPart.mm: + (KWQKHTMLPart::createPart): + (KWQKHTMLPart::nextKeyView): + (KWQKHTMLPart::runJavaScriptPrompt): + (KWQKHTMLPart::keyEvent): + (KWQKHTMLPart::sendContextMenuEvent): + (KWQKHTMLPart::fileWrapperForElement): + (KWQKHTMLPart::attributedString): + (KWQKHTMLPart::imageFromRect): + * kwq/KWQKHTMLPartBrowserExtension.mm: + * kwq/KWQLineEdit.mm: + (QLineEdit::sizeForCharacterWidth): + * kwq/KWQListBox.mm: + (QListBox::sizeForNumberOfLines): + * kwq/KWQLoader.mm: + (KWQCheckCacheObjectStatus): + * kwq/KWQWidget.mm: + (QWidget::frameGeometry): + (QWidget::mapFromGlobal): + +2005-12-20 David Harrison <harrison@apple.com> + + <rdar://problem/4294417> Cannot un-italicize some text after triple clicking it + + Reviewed by Justin. + + * khtml/editing/apply_style_command.cpp: + (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): + Removed check for tab span because ApplyStyleCommand::removeCSSStyle() already makes the same check. + +2005-12-20 Justin Garcia <justin.garcia@apple.com> + + <rdar://problem/4387270> editing/deleting/delete-3800834-fix failing + <http://bugs.webkit.org/show_bug.cgi?id=6160> REGRESSION: Crash when running editing/deleting/delete-3800834-fix.html + <http://bugs.webkit.org/show_bug.cgi?id=6161> REGRESSION: crash when pressing tab in editable WebHTMLView + + Reviewed by darin + + Some callers call setAttribute on a floating element. So, using + a RefPtr for the element inside addAttribute can destroy + it. + + * khtml/xml/dom_elementimpl.cpp: + (NamedAttrMapImpl::addAttribute): + +2005-12-20 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - fixed leak in createAttributeMap + http://bugs.webkit.org/show_bug.cgi?id=6162 + + * khtml/xml/dom_elementimpl.cpp: + (StyledElementImpl::createAttributeMap): the new attribute map + is going in a RefPtr, don't also ref it manually. + +2005-12-20 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - change an assignment to a contructor declaration to build with PassRefPtr + leak fix changes + + * ksvg2/svg/SVGTransformableImpl.cpp: + (SVGTransformableImpl::parseTransformAttribute): + +2005-12-20 Geoffrey Garen <ggaren@apple.com> + + Reviewed by John. + + Fixed <rdar://problem/4310363> JavaScript window.open: Height is 1 + pixel short, and related bugs. + + There were a few bugs here. + (1) Our code took size arguments and applied them to the window's + content rect. That's incorrect. The Rhino book says the arguments + should apply to the WebView. Other things that occupy the content + rect include the tab bar, the status bar, and the 1 pixel border + between brushed metal and document. All of these used to impinge + on the web page's display area. + + The fix is to calculate sizing based on the WebView instead of + the content rect. This means that the webViewContentRect and + setContentRect delegate methods are obsolete and no longer called + by any of our code. (setContentRect was never called in the + first place.) + + (2) None of our sizing accounted for scaled resolutions. + + The fix is to ask the WebView to scale all coordintes for us. + + (3) Our code assumed that all window accoutrements were on by default. + Safari works that way, but other WebKit clients might not. + + The fix is always to explicitly set an on/off state. + + (a) To facilitate scaling, I added a new bridge method, webView, to + access the webView. + + (b) For internal consistency, I changed ___Bars to ___bars in bridge + methods, and ___bars to ___Bars in WinArgs data members. (Interestingly, + the different classes in our code are evenly divided on which format to + use.) + + Added manual test: + * manual-tests/window-open-features.html: Added. + * manual-tests/resources/200x200.png: Added. + * manual-tests/resources/popup200x200.html: Added. + + * khtml/ecma/kjs_window.cpp: + (KJS::showModalDialog): see (b) + (KJS::WindowFunc::callAsFunction): see (b) + * kwq/KWQKHTMLPart.mm: + (KWQKHTMLPart::statusbarVisible): see (b) + * kwq/KWQKHTMLPartBrowserExtension.mm: + (KHTMLPartBrowserExtension::createNewWindow): + At the top of this method, I just did some formatting cleanup and + moved the 'referrer' variable closer to where it's used. + The changes in the middle of the method are (3), the bottom, (2). + * kwq/KWQKPartsBrowserExtension.h: + (KParts::WindowArgs::WindowArgs): see (b) + * kwq/WebCoreBridge.h: see (a) + +2005-12-20 Eric Seidel <eseidel@apple.com> + + Reviewed by mjs. + + Leaks when running SVG tests + http://bugs.webkit.org/show_bug.cgi?id=6156 + No additional tests necessary, leaks already caught by other tests. + + * kcanvas/KCanvasFilters.cpp: + (KCanvasFEDiffuseLighting::setLightSource): takes ownership + (KCanvasFESpecularLighting::setLightSource): takes ownership + * kcanvas/KCanvasFilters.h: + (KCanvasFEDiffuseLighting::KCanvasFEDiffuseLighting): added + (KCanvasFEDiffuseLighting::~KCanvasFEDiffuseLighting): added + (KCanvasFEDiffuseLighting::lightSource): fixed spacing + (KCanvasFESpecularLighting::KCanvasFESpecularLighting): added + (KCanvasFESpecularLighting::~KCanvasFESpecularLighting): added + (KCanvasFESpecularLighting::lightSource): fixed spacing + * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: + (KRenderingDeviceQuartz::stringForPath): added missing CFRelease + +2005-12-20 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Remove additional bit-rotted DEBUG* ifdefs from WebCore. + This removes PARSER_DEBUG, FORMS_DEBUG and CSS_STYLESHEET_DEBUG. + http://bugs.webkit.org/show_bug.cgi?id=5931 + No tests possible, only removing dead code. + + * khtml/css/css_stylesheetimpl.cpp: + (CSSStyleSheetImpl::parseString): + (CSSStyleSheetImpl::isLoading): + * khtml/html/html_formimpl.cpp: + (DOM::HTMLFormElementImpl::formData): + (DOM::HTMLFormElementImpl::submit): + (DOM::HTMLFormElementImpl::reset): + (DOM::HTMLGenericFormElementImpl::getForm): + * khtml/html/htmlparser.cpp: + (HTMLParser::processCloseTag): + (HTMLParser::createHead): + +2005-12-20 Eric Seidel <eseidel@apple.com> + + Reviewed by darin. + + Move Decoder onto Shared<T> and clients onto RefPtr. + http://bugs.webkit.org/show_bug.cgi?id=6107 + No test cases possible, no functional changes. + + * khtml/ecma/XSLTProcessor.cpp: + (KJS::XSLTProcessorProtoFunc::callAsFunction): + * khtml/ecma/xmlhttprequest.cpp: + (KJS::XMLHttpRequest::XMLHttpRequest): + (KJS::XMLHttpRequest::~XMLHttpRequest): + (KJS::XMLHttpRequest::changeState): + (KJS::XMLHttpRequest::abort): + (KJS::XMLHttpRequest::slotFinished): + (KJS::XMLHttpRequest::slotData): + * khtml/ecma/xmlhttprequest.h: + * khtml/khtml_part.cpp: + (KHTMLPart::clear): + (KHTMLPart::begin): + (KHTMLPart::write): + * khtml/khtmlpart_p.h: + (KHTMLPartPrivate::KHTMLPartPrivate): + * khtml/misc/decoder.cpp: + (Decoder::Decoder): + (Decoder::~Decoder): + * khtml/misc/decoder.h: + * khtml/misc/loader.h: + * khtml/xml/dom_docimpl.cpp: + (DocumentImpl::DocumentImpl): + (DocumentImpl::~DocumentImpl): + (DocumentImpl::prepareMouseEvent): + (DocumentImpl::setDecoder): + * khtml/xml/dom_docimpl.h: + (DOM::DocumentImpl::decoder): + * khtml/xsl/xslt_processorimpl.cpp: + (DOM::XSLTProcessorImpl::createDocumentFromSource): + +2005-12-19 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=6143 + DOM::ElementImpl should use a RefPtr for the attribute map + + * khtml/xml/dom_elementimpl.cpp: + (ElementImpl::ElementImpl): Remove code to initialize the pointer; not needed since + RefPtr gets initialized to 0. + (ElementImpl::~ElementImpl): Remove code to deref the pointer; RefPtr handles that. + (ElementImpl::attributes): Add get() call to get raw pointer. + (ElementImpl::setAttributeMap): Remove code to deref the old map and set the new map. + But added code to clear the element pointer from the old map (missing in the old + version). Also added a FIXME. + (ElementImpl::createAttributeMap): Remove ref(); RefPtr handles that. + (NamedAttrMapImpl::addAttribute): Use a RefPtr to guarantee the element does not go + away in the middle of dispatching DOM events. + (StyledElementImpl::attributeChanged): Clean up code by using the inline function + mappedAttributes() instead of doing type casts. + (StyledElementImpl::parseMappedAttribute): Ditto. + (StyledElementImpl::getClassList): Ditto. + + * khtml/xml/dom_elementimpl.h: Make ElementImpl::namedAttrMap be a RefPtr instead + of raw pointer. Added an overload of StyledElementImpl::mappedAttributes for both + const and non-const. + + * khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::addChild): Use a RefPtr to ref/deref + the child so that it doesn't leak. + + * khtml/html/htmlparser.h: Changed isindex to use a RefPtr. + * khtml/html/htmlparser.cpp: + (HTMLParser::~HTMLParser): Removed now-unneeded ref. + (HTMLParser::isindexCreateErrorCheck): Remove now-unneeded deref/ref. + (HTMLParser::handleIsindex): Put isindex element into a RefPtr. This prevents a + crash that was otherwise happening during layout tests (caused indirectly by + the changes above). + (HTMLParser::startBody): Added call to get(). + +2005-12-19 Darin Adler <darin@apple.com> + + Reviewed by Geoff Garen and Eric Seidel. + + - fix http://bugs.webkit.org/show_bug.cgi?id=4923 + stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes + + * ForwardingHeaders/kxmlcore/AlwaysInline.h: Added. + * WebCorePrefix.h: Removed the use of <ostream>. + + * kwq/KWQDef.h: Removed now-unused Q_INT64, Q_INT16, Q_UINT16, qRound, and _KWQ_IOSTREAM_. + + * kwq/KWQKHTMLPart.h: Removed some unneeded headers and added forward-declarations of classes + instead. Corrected some incorrect member function declarations. + * kwq/KWQKHTMLPart.mm: Added a now-needed header. + + * khtml/ecma/kjs_window.cpp: Removed the <cmath> workaround. + * khtml/rendering/bidi.cpp: Added include of AlwaysInline.h and removed a + lot of unnecessary includes. + * khtml/rendering/render_canvasimage.cpp: Removed the <cmath> workaround. + * khtml/rendering/render_image.cpp: Removed the <cmath> workaround. + * khtml/rendering/render_text.cpp: Added include of AlwaysInline.h and removed a + lot of unnecessary includes. + + * ksvg2/css/SVGCSSStyleSelector.cpp: (KDOM::CSSStyleSelector::applySVGProperty): + * ksvg2/svg/SVGAnimateColorElementImpl.cpp: (SVGAnimateColorElementImpl::calculateColor): + * ksvg2/svg/SVGAnimateTransformElementImpl.cpp: (SVGAnimateTransformElementImpl::handleTimerEvent): + * ksvg2/svg/SVGAnimationElementImpl.cpp: (SVGAnimationElementImpl::closeRenderer): + * ksvg2/svg/SVGLinearGradientElementImpl.cpp: (SVGLinearGradientElementImpl::buildGradient): + * ksvg2/svg/SVGPatternElementImpl.cpp: (SVGPatternElementImpl::notifyAttributeChange): + * ksvg2/svg/SVGRadialGradientElementImpl.cpp: (SVGRadialGradientElementImpl::buildGradient): + Replaced use of qRound with use of lroundf or lround as appropriate. + + * kwq/KWQCString.h: + * kwq/KWQCString.mm: + * kwq/KWQDateTime.h: + * kwq/KWQDateTime.mm: + * kwq/KWQMap.h: + * kwq/KWQMemArray.h: + * kwq/KWQPoint.mm: + * kwq/KWQPointArray.h: + * kwq/KWQPtrList.h: + * kwq/KWQPtrStack.h: + * kwq/KWQPtrVector.h: + * kwq/KWQRect.h: + * kwq/KWQRect.mm: + * kwq/KWQSize.h: + * kwq/KWQSize.mm: + * kwq/KWQValueList.h: + Removed _KWQ_IOSTREAM_ code that was used at one time for unit tests, but is now unneeded, + and requires <ostream>. + +2005-12-19 Darin Adler <darin@apple.com> + + Reviewed by Geoff Garen and John Sullivan. + + - fix http://bugs.webkit.org/show_bug.cgi?id=4312 + XMLHttpRequest headers that have two CRLF sequences lead to Obj-C exception + + I found this by code inspection after examining a security report about + vulnerabilities in other browsers' XMLHttpRequest implementations. + + * kwq/KWQLoader.mm: + (+[NSDictionary _webcore_dictionaryWithHeaderString:_webcore_dictionaryWithHeaderString:]): + Check length of string before calling characterAtIndex:0 since it will fail for an empty string. + +2005-12-19 Mitz Pettel <opendarwin.org@mitzpettel.com> + + Reviewed by Beth + + - fix http://bugs.webkit.org/show_bug.cgi?id=6149 + REGRESSION (WebCore-417.5): horizontal scrollbar in overflow with top + border doesn't receive mouse events + + * khtml/rendering/render_block.cpp: + (khtml::RenderBlock::isPointInScrollbar): + Removed borderTop() from horizontal scrollbar rect computation. + * manual-tests/scrollbar-hittest2.html: Added. + +2005-12-19 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin, committed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=5744 + XMLHttpRequest does not apply page encoding after assigning via innerHtml + + * khtml/ecma/xmlhttprequest.cpp: + (getMIMEType): A helper function to get MIME type from a Content-Type string. + (getCharset): A helper function to get charset from a Content-Type string. + (KJS::XMLHttpRequest::getValueProperty): Factored out responseIsXML(). + (KJS::XMLHttpRequest::getResponseHeader): Return QString instead of JSValue + (to get rid of unnecessary JSLocks). + (KJS::XMLHttpRequest::responseIsXML): A new method that analyses Content-Type. + (KJS::XMLHttpRequest::slotData): Use a correct charset for responses, see bug for details. + (KJS::XMLHttpRequestProtoFunc::callAsFunction): Update for getResponseHeader() changes + * khtml/ecma/xmlhttprequest.h: + +== Rolled over to ChangeLog-2005-12-19 == |