summaryrefslogtreecommitdiff
path: root/src/3rdparty/webkit/WebCore/ChangeLog-2006-05-10
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2009-03-23 10:18:55 +0100
committerSimon Hausmann <simon.hausmann@nokia.com>2009-03-23 10:18:55 +0100
commite5fcad302d86d316390c6b0f62759a067313e8a9 (patch)
treec2afbf6f1066b6ce261f14341cf6d310e5595bc1 /src/3rdparty/webkit/WebCore/ChangeLog-2006-05-10
downloadqt4-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-1039107
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 &nbsp 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 &nsup; 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 ==