2005-12-17 Maciej Stachowiak Rubber stamped by Eric. - removed unused SPI headers * WebCore.xcodeproj/project.pbxproj: * kwq/DOM-compat.h: Removed. 2005-12-18 Darin Adler Reviewed by Geoff. - fix http://bugs.webkit.org/show_bug.cgi?id=6144 REGRESSION: DOMStringImpl leak in code to make DOMString from NSString * kwq/DOMInternal.mm: (DOMString::DOMString): Remove now-unneeded ref. 2005-12-18 Darin Adler Reviewed by Geoff. - fix http://bugs.webkit.org/show_bug.cgi?id=5680 containsOnlyWhitespace does not need to be a virtual function * khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget): Cast pointer to a TextImpl before calling containsOnlyWhitespace; the code already checked isTextNode. * khtml/rendering/render_line.cpp: (khtml::shouldDrawDecoration): Expanded an if statement into a few separate ones for slight additional clarity. Added a check of isTextNode and cast pointer to a TextImpl. * khtml/xml/dom_nodeimpl.h: Remove containsOnlyWhitespace function. * khtml/xml/dom_textimpl.h: Remove virtual keyword from containsOnlyWhitespace. 2005-12-18 Mitz Pettel Reviewed by Hyatt, landed by Darin. Test: fast/text/international/bidi-ignored-for-first-child-inline.html Fix for: http://bugs.webkit.org/show_bug.cgi?id=5980 Bidi properties of an inline container whose first child is an inline container are ignored * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiNext): Adjust embedding at inline containers' boundaries instead of inside. (khtml::RenderBlock::bidiFirst): (khtml::RenderBlock::determineStartPosition): 2005-12-18 Alexey Proskuryakov Reviewed and landed by Darin. - fix http://bugs.webkit.org/show_bug.cgi?id=5932 Wrong encoding used for http://www.miel.ru * kwq/KWQCharsets.mm: (KWQCFStringEncodingFromIANACharsetName): Fall back on ICU encoding names if we don't find the name in the WebCore encoding names table. 2005-12-18 Alexey Proskuryakov Reviewed and landed by Darin. - fix http://bugs.webkit.org/show_bug.cgi?id=5927 Result of XSLT transformation has no charset defined * khtml/xml/dom_docimpl.cpp: (DocumentImpl::applyXSLTransform): Get encoding from transform and pass in to XSLTProcessor. * khtml/xsl/xslt_processorimpl.h: * khtml/xsl/xslt_processorimpl.cpp: (DOM::XSLTProcessorImpl::createDocumentFromSource): Added encoding parameter. Create a Decoder and use it to decode the source document (default encoding UTF-8). (DOM::XSLTProcessorImpl::transformToString): Add an encoding result. Set it to the encoding from the libxml2 document object. (DOM::XSLTProcessorImpl::transformToDocument): Get encoding from transform and pass in to XSLTProcessor. (DOM::XSLTProcessorImpl::transformToFragment): Ditto. 2005-12-18 Alexey Proskuryakov Reviewed by Eric, landed by Darin. - fix http://bugs.webkit.org/show_bug.cgi?id=5631 KWQKHTMLPart::attributedString ignores many tags * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString): Fix incorrectly nested else. 2005-12-17 Mitz Pettel Reviewed and landed by Darin. - fix http://bugs.webkit.org/show_bug.cgi?id=5768 pages with frames that are all "fixed" get no layout and are blank (like www.farnell.nl) * khtml/rendering/render_frames.cpp: (RenderFrameSet::layout): * manual-tests/bugzilla-5768.html: Added. Can't seem to get it to work (fail) as an automated test. * manual-tests/resources/frame1.html: Added. * manual-tests/resources/frame2.html: Added. 2005-12-17 Anders Carlsson Reviewed by Darin. - Fix Random crashes when running the test suite * khtml/css/css_ruleimpl.h: (DOM::CSSMediaRuleImpl::media): Make m_lstMedia a smart pointer. 2005-12-17 Mitz Pettel Reviewed and landed by Darin. - fix http://bugs.webkit.org/show_bug.cgi?id=5479 Can't select text with RTL override rendered by ATSUI * khtml/rendering/font.h: Remove reversed parameter from checkSelectionPoint, replacing it with a text direction parameter. * khtml/rendering/render_text.cpp: (InlineTextBox::offsetForPosition): Ditto. * kwq/KWQFontMetrics.h: Add a directional override parameter to checkSelectionPoint. * kwq/KWQFontMetrics.mm: (QFontMetrics::checkSelectionPoint): Pass the directional override through to the text renderer. Don't pass the reversed flag redundantly -- use the rtl flag in the style instead. * kwq/WebCoreTextRenderer.h: Remove reversed parameter from pointToOffset. 2005-12-16 Eric Seidel Reviewed by darin. DOMString should hold its impl in a RefPtr http://bugs.webkit.org/show_bug.cgi?id=6106 I also cleaned up spacing in dom_string.cpp No tests needed (no functionality changes). * khtml/dom/dom_string.cpp: (DOM::DOMString::DOMString): (DOM::DOMString::operator += ): (DOM::DOMString::insert): (DOM::DOMString::operator []): (DOM::DOMString::find): (DOM::DOMString::length): (DOM::DOMString::truncate): (DOM::DOMString::remove): (DOM::DOMString::split): (DOM::DOMString::lower): (DOM::DOMString::upper): (DOM::DOMString::percentage): (DOM::DOMString::unicode): (DOM::DOMString::qstring): (DOM::DOMString::toInt): (DOM::DOMString::copy): (DOM::strcasecmp): (DOM::DOMString::toCoordsArray): (DOM::DOMString::toLengthArray): (DOM::operator==): * khtml/dom/dom_string.h: (DOM::DOMString::DOMString): (DOM::DOMString::impl): 2005-12-16 Eric Seidel Reviewed by darin. XSLTProcessorImpl should use RefPtr instead of manual ref/deref http://bugs.webkit.org/show_bug.cgi?id=6110 No test cases needed (no functionality changes). * khtml/xsl/xsl_stylesheetimpl.cpp: (DOM::XSLImportRuleImpl::XSLImportRuleImpl): (DOM::XSLImportRuleImpl::~XSLImportRuleImpl): (DOM::XSLImportRuleImpl::setStyleSheet): * khtml/xsl/xsl_stylesheetimpl.h: (DOM::XSLImportRuleImpl::styleSheet): 2005-12-16 Adele Peterson Reviewed by Maciej. Fix for Safari crash at www.dallascowboys.com in KWQListIteratorImpl::current() * khtml/khtml_part.cpp: (KHTMLPart::slotFinishedParsing): ref the part before calling checkCompleted. 2005-12-16 Vicki Murley Reviewed by Tim O. - fix window.onbeforeunload works on IE but not on Safari * khtml/ecma/kjs_window.cpp: 2005-12-16 Geoffrey Garen Reviewed by Eric. Fixed http://bugs.webkit.org/show_bug.cgi?id=6112 REGRESSION: navigator.plugins empty. Layout test added: * fast/js/Plug-ins-expected.checksum: Added. * fast/js/Plug-ins-expected.png: Added. * fast/js/Plug-ins-expected.txt: Added. * fast/js/Plug-ins.html: Added. * khtml/ecma/kjs_navigator.cpp: (KJS::PluginBase::PluginBase): Changed initialization of KConfig from empty string to pluginsinfo. 2005-12-16 Mitz Pettel Reviewed and landed by Darin. Test: fast/text/international/bidi-european-terminators.html Fix for: http://bugs.webkit.org/show_bug.cgi?id=6014 Bidi algorithm: incorrect resolved levels for neutrals between R and ET ON L * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Keep track of the last position before the current run of ETs directly using a new BidiState member, lastBeforeET. 2005-12-16 Mitz Pettel Reviewed and landed by Darin. - fix http://bugs.webkit.org/show_bug.cgi?id=5486 DumpRenderTree should print the RTL and directional override flags for text runs * kwq/KWQRenderTreeDebug.cpp: (writeTextRun): Dump the additional flags. 2005-12-16 Mitz Pettel Reviewed and landed by Darin. Fix for: http://bugs.webkit.org/show_bug.cgi?id=6043 Incorrect selection highlighting in pre-formatted text with tabs * khtml/rendering/render_text.cpp: Correct parameters in calls to RenderText::width(). (InlineTextBox::selectionRect): (InlineTextBox::placeEllipsisBox): (InlineTextBox::paintDecoration): (InlineTextBox::paintMarker): (InlineTextBox::paintMarkedTextUnderline): * manual-tests/pre-tab-selection-rect.html: Added. 2005-12-16 Mitz Pettel Reviewed and landed by Darin. Test: fast/js/replace-child-siblings.html Fix for: http://bugs.webkit.org/show_bug.cgi?id=6069 Assertion failure in RenderBlock::addChildToFlow during replaceChild * khtml/xml/dom_nodeimpl.cpp: (DOM::ContainerNodeImpl::replaceChild): If the new child was right before or right after the old child, then it just stays. 2005-12-15 Darin Adler Reviewed by Maciej. - fix http://bugs.webkit.org/show_bug.cgi?id=5688 speed up JavaScript parsing by not creating a UString just to parse * khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::getListener): Use listenerObj instead of listenerObjImp. * khtml/ecma/kjs_html.cpp: (KJS::Image::getValueProperty): Ditto. * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::getValueProperty): Ditto. * khtml/ecma/kjs_window.h: * khtml/ecma/kjs_window.cpp: (KJS::Window::getListener): Ditto. (KJS::Window::getJSLazyEventListener): Take code as a DOMString, not QString. * khtml/ecma/kjs_events.cpp: (KJS::jsStringOrUndefined): Renamed function and moved it to the top of the file. (KJS::JSAbstractEventListener::handleEvent): Cleaned up function, removed double logging, and fixed code path to not use UString::ascii(). (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Updated since type of the window object is now Window. (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): Ditto. (KJS::JSUnprotectedEventListener::windowObj): Ditto. (KJS::JSEventListener::JSEventListener): Ditto. (KJS::JSEventListener::~JSEventListener): Ditto. (KJS::JSEventListener::windowObj): Ditto. (KJS::JSLazyEventListener::JSLazyEventListener): Ditto. Also changed code to be a DOMString instead of a QString. (KJS::JSLazyEventListener::handleEvent): Removed function because the base class handleEvent already calls listenerObj which takes care of parseCode -- no need to do an additional parseCode here. (KJS::JSLazyEventListener::parseCode): Rearrange and clean up a bit. Code is now a DOMString instead of a QString. (KJS::Clipboard::Clipboard): Remove explicit ref since we now use a RefPtr for the clipboard object. (KJS::Clipboard::getValueProperty): Update to call jsStringOrUndefined. * khtml/ecma/kjs_events.h: Reformatted the file. Changed windowObj functions to return Window* instead of ObjectImp*. Removed listenerObjImp function. Removed destructors from many classes that don't need them. Used a RefPtr for the ClipboardImpl in a Clipboard object. * khtml/ecma/kjs_proxy.h: * khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::evaluate): Take filename and code as DOMString instead of QString. (KJSProxyImpl::createHTMLEventHandler): Take URL and code as DOMString. * khtml/xml/dom_docimpl.h: * khtml/xml/dom_docimpl.cpp: (DocumentImpl::createHTMLEventListener): Take a DOMString rather than a QString for the JavaScript code. (DocumentImpl::setHTMLWindowEventListener): Added an overload that takes an attribute pointer. Calls through after extracting the code from the attribute value. * khtml/html/html_elementimpl.h: * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::setHTMLEventListener): New version of function that takes an attribute pointer; calls through to the base class after extracting the code from the attribute value. * khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::parseMappedAttribute): Change to use new setHTMLWindowEventListener and setHTMLEventListener that takes an attribute pointer. (HTMLFrameElementImpl::parseMappedAttribute): Ditto. (HTMLFrameSetElementImpl::parseMappedAttribute): Ditto. * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseMappedAttribute): Ditto. * khtml/html/html_formimpl.cpp: (DOM::HTMLFormElementImpl::parseMappedAttribute): Ditto. (DOM::HTMLButtonElementImpl::parseMappedAttribute): Ditto. (DOM::HTMLInputElementImpl::parseMappedAttribute): Ditto. (DOM::HTMLLabelElementImpl::parseMappedAttribute): Ditto. (DOM::HTMLSelectElementImpl::parseMappedAttribute): Ditto. (DOM::HTMLTextAreaElementImpl::parseMappedAttribute): Ditto. * khtml/html/html_imageimpl.cpp: (DOM::HTMLImageElementImpl::parseMappedAttribute): Ditto. * khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::parseMappedAttribute): Ditto. * khtml/html/html_headimpl.h: * khtml/html/html_headimpl.cpp: (HTMLScriptElementImpl::notifyFinished): Don't convert URL to QString since we now take a DOMString. (HTMLScriptElementImpl::evaluateScript): Change to take script as a DOMString. * khtml/khtml_part.h: * khtml/khtml_part.cpp: (KHTMLPart::createHTMLEventListener): Take a DOMString rather than a QString for the JavaScript code. * kwq/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame evaluateWebScript:]): Change code path so it doesn't convert an NSString to UTF-8 to get it into the JavaScript machinery. Use QString::fromNSString instead for now. 2005-12-15 Darin Adler - fix crash caused by my last check-in * khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction): Use RefPtr to ref/deref the tokenizer. 2005-12-15 Darin Adler * khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::exitText): Add missing null check. 2005-12-15 Geoffrey Garen Fixed Remove GMail-specific work-around previously added. Reviewed by Darin. No test case because this patch just turns on already-tested behavior for GMail. * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::textAreaGetter): Removed code that hid the selectionEnd property from sites on the GMail domain. 2005-12-15 Darin Adler Reviewed by Eric. - fix http://bugs.webkit.org/show_bug.cgi?id=6092 REGRESSION: dom/xhtml/level2/html//HTMLInputElement01.xhtml crashes * khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::XMLTokenizer): Initialize the new m_currentNodeIsReferenced field to false for the document case, and true for the non-0 fragment case. Also don't reference the document in the document tokenizer case to avoid a circular reference -- HTML parser already does both of these things. (khtml::XMLTokenizer::~XMLTokenizer): Call setCurrentNode(0) to release the current node in case the tokenizer is being destroyed without finishing parsing. Only call deref on the document inthe fragment-parsing case. (khtml::XMLTokenizer::setCurrentNode): Added. Reference the current node only if it's not the document. Just as with the HTML parser, use a boolean to track whether the current node needs a deref or not. (khtml::XMLTokenizer::startElementNs): Use a RefPtr to keep the newly created element alive at least until setCurrentNode is called. Remove the bogus explicit delete of of the node after calling addChild, since reference counting takes care of it. Stop parsing if we fail to create an element. (khtml::XMLTokenizer::endElementNs): Use setCurrentNode and use a local variable to avoid reference count thrash. (khtml::XMLTokenizer::characters): Changed to only support text nodes. CDATA no longer calls this function. (khtml::XMLTokenizer::enterText): Use setCurrentNode, and remove bogus delete call. (khtml::XMLTokenizer::exitText): Add checks for stopped parser and for whether the current node is a text node so this can be called unconditionally. (khtml::XMLTokenizer::cdataBlock): Use setCurrentNode and move the call before the call to attach to make sure the node is already ref'd when attach is called. (khtml::XMLTokenizer::finish): Call setCurrentNode(0) to release the nodes we've been parsing. (khtml::XMLTokenizer::executeScripts): Fixed incorrect cast to TextImpl to cast to the base class CharacterDataImpl instead. 2005-12-15 Eric Seidel Reviewed by Tim Hatcher. Made SVG on by default! Also removed last two KHTML_NO_CPLUSPLUS_DOM #ifs and turned off. Removed APPLE_COMPILE_HACK, fixing or replacing with #if 0 for now. * WebCore.xcodeproj/project.pbxproj: Made SVG default! * ksvg2/KSVGSettings.cpp: Removed. * ksvg2/css/SVGCSSStyleSelector.cpp: fixed copyright. * ksvg2/svg/SVGCursorElementImpl.cpp: (SVGCursorElementImpl::notifyFinished): fixed * ksvg2/svg/SVGElementImpl.cpp: (SVGElementImpl::parseMappedAttribute): removed dead code. * ksvg2/svg/SVGImageElementImpl.cpp: (SVGImageElementImpl::createRenderer): #if 0 (SVGImageElementImpl::notifyFinished): #if 0 * ksvg2/svg/SVGSVGElementImpl.cpp: (SVGSVGElementImpl::pixelUnitToMillimeterX): #if 0 (SVGSVGElementImpl::pixelUnitToMillimeterY): #if 0 * kwq/DOM.mm: removed KHTML_NO_CPLUSPLUS_DOM (ObjCNodeFilterCondition::acceptNode): * kwq/KWQKHTMLPart.mm: removed KHTML_NO_CPLUSPLUS_DOM 2005-12-15 Eric Seidel Fix build break. (Files missed in previous commit.) * khtml/css/csshelper.cpp: * khtml/ecma/kjs_navigator.cpp: * khtml/rendering/render_canvasimage.cpp: * khtml/rendering/render_image.cpp: 2005-12-15 Adele Peterson Reviewed by John. - Fix for Crash in HTMLOptionElementImpl::index when option element has no corresponding select - http://www.mattkruse.com/javascript/datadumper/ Test: fast/forms/option-index.html * khtml/html/html_formimpl.cpp: (DOM::HTMLOptionElementImpl::index): nil check for select element. 2005-12-15 Eric Seidel Reviewed by darin. Remove more legacy code from khtml/kwq http://bugs.webkit.org/show_bug.cgi?id=6091 No tests needed, no functionality changes. * ForwardingHeaders/kapplication.h: Removed. * ForwardingHeaders/kcompletionbox.h: Removed. * ForwardingHeaders/kdatastream.h: Removed. * ForwardingHeaders/kfiledialog.h: Removed. * ForwardingHeaders/kfileitem.h: Removed. * ForwardingHeaders/khtml_iface.h: Removed. * ForwardingHeaders/khtml_pagecache.h: Removed. * ForwardingHeaders/khtml_printsettings.h: Removed. * ForwardingHeaders/khtml_run.h: Removed. * ForwardingHeaders/kiconloader.h: Removed. * ForwardingHeaders/kio/kprotocolmanager.h: Removed. * ForwardingHeaders/kio/netaccess.h: Removed. * ForwardingHeaders/kmessagebox.h: Removed. * ForwardingHeaders/kmimetype.h: Removed. * ForwardingHeaders/kmultipledrag.h: Removed. * ForwardingHeaders/kparts/partmanager.h: Removed. * ForwardingHeaders/kprinter.h: Removed. * ForwardingHeaders/kprotocolmanager.h: Removed. * ForwardingHeaders/ksimpleconfig.h: Removed. * ForwardingHeaders/ksslcertchain.h: Removed. * ForwardingHeaders/ksslinfodlg.h: Removed. * ForwardingHeaders/kstdaction.h: Removed. * ForwardingHeaders/ktempfile.h: Removed. * ForwardingHeaders/ktrader.h: Removed. * ForwardingHeaders/kurldrag.h: Removed. * ForwardingHeaders/kxmlguifactory.h: Removed. * ForwardingHeaders/netaccess.h: Removed. * ForwardingHeaders/private/qucomextra_p.h: Removed. * ForwardingHeaders/qasyncimageio.h: Removed. * ForwardingHeaders/qbitmap.h: Removed. * ForwardingHeaders/qclipboard.h: Removed. * ForwardingHeaders/qdir.h: Removed. * ForwardingHeaders/qdrawutil.h: Removed. * ForwardingHeaders/qfontdatabase.h: Removed. * ForwardingHeaders/qfontinfo.h: Removed. * ForwardingHeaders/qglobal.h: Removed. * ForwardingHeaders/qhbox.h: Removed. * ForwardingHeaders/qinputdialog.h: Removed. * ForwardingHeaders/qintcache.h: Removed. * ForwardingHeaders/qmetaobject.h: Removed. * ForwardingHeaders/qmovie.h: Removed. * ForwardingHeaders/qobjectlist.h: Removed. * ForwardingHeaders/qtooltip.h: Removed. * ForwardingHeaders/scheduler.h: Removed. * WebCore.xcodeproj/project.pbxproj: * khtml/css/cssstyleselector.cpp: * khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::KJSProxyImpl): (KJSProxyImpl::initScript): * khtml/ecma/kjs_window.cpp: * khtml/ecma/kjs_window.moc: Removed. * khtml/html/html_documentimpl.cpp: (DOM::HTMLDocumentImpl::HTMLDocumentImpl): * khtml/html/html_documentimpl.moc: Removed. * khtml/html/html_formimpl.cpp: * khtml/html/html_formimpl.h: * khtml/html/html_objectimpl.cpp: * khtml/html/html_objectimpl.h: * khtml/html/htmltokenizer.moc: Removed. * khtml/khtml_part.cpp: (KHTMLPart::didOpenURL): (KHTMLPart::stopLoading): (KHTMLPart::createJavaContext): (KHTMLPart::begin): (KHTMLPart::slotRedirection): (KHTMLPart::setSelection): (KHTMLPart::handleFallbackContent): * khtml/khtml_part.h: * khtml/khtml_part.moc: Removed. * khtml/khtmlpart_p.h: (KHTMLPartPrivate::KHTMLPartPrivate): (KHTMLPartPrivate::~KHTMLPartPrivate): * khtml/khtmlview.cpp: (KHTMLViewPrivate::KHTMLViewPrivate): (KHTMLViewPrivate::~KHTMLViewPrivate): (KHTMLView::KHTMLView): (KHTMLView::init): (KHTMLView::resizeEvent): (KHTMLView::layout): (KHTMLView::viewportMousePressEvent): (KHTMLView::viewportMouseDoubleClickEvent): (KHTMLView::viewportMouseReleaseEvent): (KHTMLView::scrollTo): (KHTMLView::focusNextPrevNode): (KHTMLView::focusInEvent): (KHTMLView::focusOutEvent): * khtml/khtmlview.h: * khtml/khtmlview.moc: Removed. * khtml/misc/loader.cpp: (CachedImage::CachedImage): (CachedImage::ref): (CachedImage::deref): (CachedImage::pixmap_size): (CachedImage::valid_rect): (CachedImage::clear): (CachedXSLStyleSheet::CachedXSLStyleSheet): (Cache::clear): (Cache::flush): (Cache::getStatistics): (Cache::setCacheDisabled): * khtml/misc/loader.h: * khtml/misc/loader.moc: Removed. * khtml/rendering/render_form.cpp: (ComboBoxWidget::ComboBoxWidget): (RenderSelect::createListBox): (RenderSlider::slotClicked): * khtml/rendering/render_form.h: * khtml/rendering/render_form.moc: Removed. * khtml/rendering/render_frames.cpp: (RenderFrameSet::userResize): (RenderPart::updateWidgetPosition): * khtml/rendering/render_frames.moc: Removed. * khtml/rendering/render_layer.cpp: (khtml::RenderLayer::isTransparent): * khtml/rendering/render_replaced.cpp: (RenderWidget::destroy): (RenderWidget::setSelectionState): * khtml/rendering/render_replaced.moc: Removed. * khtml/xml/dom_docimpl.cpp: (DocumentTypeImpl::cloneNode): * khtml/xml/dom_docimpl.moc: Removed. * khtml/xml/xml_tokenizer.cpp: * khtml/xml/xml_tokenizer.moc: Removed. * ksvg2/svg/SVGImageElementImpl.cpp: * kwq/KWQApplication.h: (QApplication::sendEvent): * kwq/KWQComboBox.h: * kwq/KWQKApplication.h: Removed. * kwq/KWQKHTMLPageCache.h: Removed. * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLFromPageCache): * kwq/KWQKHTMLPartBrowserExtension.h: * kwq/KWQKHistoryProvider.mm: * kwq/KWQKJavaAppletContext.h: (KJavaAppletContext::KJavaAppletContext): * kwq/KWQKPartsHistoryProvider.h: * kwq/KWQKPartsPartManager.h: Removed. * kwq/KWQMovie.h: Removed. * kwq/KWQMovie.mm: Removed. * kwq/KWQObject.h: * kwq/KWQScrollView.h: * kwq/KWQScrollView.mm: * kwq/KWQWidget.h: 2005-12-15 Eric Seidel Reviewed by darin. khtml/css should use RefPtr instead of manual ref() deref() http://bugs.webkit.org/show_bug.cgi?id=6094 No functionality changes, thus no tests. * khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyValue): * khtml/css/css_ruleimpl.cpp: (DOM::CSSFontFaceRuleImpl::CSSFontFaceRuleImpl): (DOM::CSSFontFaceRuleImpl::~CSSFontFaceRuleImpl): (DOM::CSSImportRuleImpl::CSSImportRuleImpl): (DOM::CSSImportRuleImpl::~CSSImportRuleImpl): (DOM::CSSImportRuleImpl::setStyleSheet): (DOM::CSSMediaRuleImpl::CSSMediaRuleImpl): (DOM::CSSMediaRuleImpl::~CSSMediaRuleImpl): (DOM::CSSPageRuleImpl::CSSPageRuleImpl): (DOM::CSSPageRuleImpl::~CSSPageRuleImpl): (DOM::CSSStyleRuleImpl::CSSStyleRuleImpl): (DOM::CSSStyleRuleImpl::~CSSStyleRuleImpl): (DOM::CSSStyleRuleImpl::setDeclaration): * khtml/css/css_ruleimpl.h: (DOM::CSSFontFaceRuleImpl::style): (DOM::CSSImportRuleImpl::media): (DOM::CSSImportRuleImpl::styleSheet): (DOM::CSSMediaRuleImpl::cssRules): (DOM::CSSPageRuleImpl::style): (DOM::CSSStyleRuleImpl::style): (DOM::CSSStyleRuleImpl::declaration): * khtml/css/css_stylesheetimpl.cpp: (StyleSheetImpl::StyleSheetImpl): (StyleSheetImpl::~StyleSheetImpl): (StyleSheetImpl::setMedia): * khtml/css/css_stylesheetimpl.h: (DOM::StyleSheetImpl::media): * khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::get4Values): (DOM::CSSMutableStyleDeclarationImpl::getShortHandValue): (DOM::CSSMutableStyleDeclarationImpl::merge): (DOM::CSSStyleDeclarationImpl::diff): (DOM::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl): (DOM::CSSPrimitiveValueImpl::cleanup): (DOM::CSSPrimitiveValueImpl::cssText): (DOM::RectImpl::RectImpl): (DOM::RectImpl::~RectImpl): (DOM::RectImpl::setTop): (DOM::RectImpl::setRight): (DOM::RectImpl::setBottom): (DOM::RectImpl::setLeft): (DOM::PairImpl::PairImpl): (DOM::PairImpl::~PairImpl): (DOM::PairImpl::setFirst): (DOM::PairImpl::setSecond): (DOM::CSSBorderImageValueImpl::CSSBorderImageValueImpl): (DOM::CSSBorderImageValueImpl::~CSSBorderImageValueImpl): * khtml/css/css_valueimpl.h: (DOM::RectImpl::top): (DOM::RectImpl::right): (DOM::RectImpl::bottom): (DOM::RectImpl::left): (DOM::PairImpl::first): (DOM::PairImpl::second): (DOM::DashboardRegionImpl::setNext): (DOM::CSSProperty::CSSProperty): (DOM::CSSProperty::operator=): (DOM::CSSProperty::~CSSProperty): (DOM::CSSProperty::setValue): (DOM::CSSProperty::value): * khtml/css/cssparser.cpp: (CSSParser::parseColor): * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty): 2005-12-15 Adele Peterson Reviewed by Darin and Hyatt. Fixed REGRESSION: Focus ring on contenteditable div outlines text in overflow area instead of div (6100) http://bugs.webkit.org/show_bug.cgi?id=6100 Test: fast/overflow/overflow-focus-ring.html * khtml/rendering/render_flow.cpp: (RenderFlow::addFocusRingRects): For overflow, we don't need to compute the rects for the children. 2005-12-15 Darin Adler Reviewed by Tim Hatcher. - removed unnecessary conversion between AtomicString and QString * khtml/html/html_headimpl.cpp: (HTMLScriptElementImpl::parseMappedAttribute): Remove extra conversions. (HTMLScriptElementImpl::insertedIntoDocument): Ditto. 2005-12-14 Adele Peterson Reviewed by Darin and Tim Hatcher. - fixed 10.4.4 REGRESSION: Clicking on anchor tag in email causes unwanted horizontal scroll When scrolling views, we were failing to take the current scroll position into account when calculating the new scroll position. * kwq/KWQScrollView.h: Added scrollPointRecursively. * kwq/KWQScrollView.mm: (QScrollView::scrollXOffset): Calculates the x-coordinate scroll offset for a view. (QScrollView::scrollYOffset): Calculates the y-coordinate scroll offset for a view. (QScrollView::scrollPointRecursively): This function walks up the view hierarchy to scroll to a point. I moved this from setContentsPos so that function would only have an effect on the current view. (QScrollView::setContentsPos): return to old behavior where this function calls scrollPoint on a view and doesn't recurse. * khtml/rendering/render_layer.cpp: (khtml::RenderLayer::scrollRectToVisible): Uses new QScrollView functions scrollXOffset and scrollYOffset to correctly calculate how a view should scroll. Also determines whether or not QScrollView should try to scroll recursively (which happens when scrollRectToVisible is done calling itself recursively). 2005-12-14 Eric Seidel Reviewed by darin. SVG test cases changed (now the svg.css is loaded properly). No other functionality changes, just code removal. http://bugs.webkit.org/show_bug.cgi?id=6078 * ForwardingHeaders/klibloader.h: Removed. * WebCore.xcodeproj/project.pbxproj: * khtml/css/csshelper.cpp: * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::CSSStyleSelector): (khtml::parseUASheet): (khtml::CSSStyleSelector::loadDefaultStyle): * khtml/css/cssstyleselector.h: * khtml/ecma/kjs_dom.h: * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent): (KJS::JSLazyEventListener::eventParameterName): (KJS::JSLazyEventListener::parseCode): * khtml/ecma/kjs_events.h: * khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLElement::implementsCall): * khtml/ecma/kjs_navigator.cpp: (KJS::Navigator::getValueProperty): (KJS::PluginBase::PluginBase): * khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::KJSProxyImpl): (KJSProxyImpl::evaluate): (KJSProxyImpl::clear): (KJSProxyImpl::createHTMLEventHandler): (KJSProxyImpl::initScript): * khtml/ecma/kjs_proxy.h: (KJSProxyImpl::setEventHandlerLineno): * khtml/ecma/kjs_traversal.cpp: (KJS::JSNodeFilterCondition::acceptNode): * khtml/ecma/kjs_window.cpp: (KJS::Window::interpreter): (KJS::Window::retrieve): (KJS::Window::clear): (KJS::ScheduledAction::execute): * khtml/ecma/kjs_window.h: * khtml/html/html_canvasimpl.cpp: * khtml/html/html_documentimpl.cpp: * khtml/html/html_formimpl.cpp: (DOM::HTMLFormElementImpl::formData): * khtml/html/html_headimpl.cpp: (HTMLScriptElementImpl::evaluateScript): * khtml/html/html_imageimpl.cpp: * khtml/html/html_tableimpl.cpp: * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::HTMLTokenizer): (khtml::HTMLTokenizer::processToken): * khtml/khtml_part.cpp: (KHTMLPart::KHTMLPart): (KHTMLPart::init): (KHTMLPart::~KHTMLPart): (KHTMLPart::restoreURL): (KHTMLPart::didOpenURL): (KHTMLPart::jScript): (KHTMLPart::executeScript): (KHTMLPart::write): (KHTMLPart::reparseConfiguration): (KHTMLPart::createHTMLEventListener): * khtml/khtml_part.h: * khtml/khtmlpart_p.h: (KHTMLPartPrivate::KHTMLPartPrivate): (KHTMLPartPrivate::~KHTMLPartPrivate): * khtml/misc/decoder.cpp: * khtml/misc/loader.cpp: (CachedCSSStyleSheet::CachedCSSStyleSheet): (CachedScript::CachedScript): * khtml/rendering/render_flow.cpp: * khtml/rendering/render_frames.cpp: * khtml/rendering/render_inline.cpp: * khtml/rendering/render_line.cpp: * khtml/rendering/render_table.cpp: * khtml/rendering/table_layout.cpp: * khtml/xml/dom_docimpl.cpp: (DocumentImpl::implicitOpen): (DocumentImpl::write): * khtml/xml/dom_nodeimpl.cpp: * ksvg2/svg/SVGTestsImpl.cpp: (SVGTestsImpl::isValid): * kwq/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * kwq/KWQKGlobal.h: * kwq/KWQKHTMLFactory.h: (KHTMLFactory::vLinks): * kwq/KWQKHTMLFactory.mm: * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): (KWQKHTMLPart::userGestureHint): (KWQKHTMLPart::bindingRootObject): * kwq/KWQKHTMLSettings.h: (KHTMLSettings::fantasyFontName): (KHTMLSettings::isJavaScriptEnabled): * kwq/KWQKInstance.h: Removed. * kwq/KWQKLibrary.h: Removed. * kwq/KWQKPartsFactory.h: Removed. * kwq/KWQKPartsPart.h: (KParts::ReadOnlyPart::name): * kwq/KWQKStandardDirs.h: * kwq/KWQKStandardDirs.mm: (locate): * kwq/WebCoreBridge.mm: (-[WebCoreBridge executionContextForView:]): 2005-12-14 Beth Dakin Reviewed by John. Extra fix for 10.4.4 REGRESSION: caret disappears when typing at the bottom of a scrollable textarea. Should be floorf and not floor. * kwq/KWQTextArea.mm: (-[NSTextView _KWQ_updateTypingAttributes:forLineHeight:font:]): 2005-12-14 Beth Dakin Reviewed by Eric. Fix for 10.4.4 REGRESSION: caret disappears when typing at the bottom of a scrollable textarea. This regression occurred because we were calculating the font height incorrectly. Made changes that Doug suggested in the bug. * kwq/KWQTextArea.mm: (-[KWQTextAreaTextView setFont:]): Send the font itself to _KWQ_updateTypingAttributes (-[KWQTextAreaTextView setLineHeight:]): Same. (-[NSTextView _KWQ_updateTypingAttributes:forLineHeight:font:]): Calculate the font height using defaultLineHeightForFont. 2005-12-14 Mitz Pettel Reviewed by Darin & Geoff, committed by Adele. Test: fast/overflow/overflow-text-hit-testing.html Fix for Hit-testing text in overflows does not take scrolling into account. * khtml/rendering/render_text.cpp: (RenderText::positionForCoordinates): Adjust for containing block scroll 2005-12-14 Alexey Proskuryakov Reviewed by Darin, committed by Adele. Fix for http://bugs.webkit.org/show_bug.cgi?id=4362 Add mac-cyrillic to the list of encodings * kwq/mac-encodings.txt: Added maccyrillic 2005-12-13 Adele Peterson Reviewed by Maciej. Fix for http://bugs.webkit.org/show_bug.cgi?id=5465 REGRESSION: check box onchange event doesn't fire (radio buttons do not get disabled in Bugzilla) Test: fast/forms/checkbox-radio-onchange.html * khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::setChecked): call onChange after setting the checked state. This will match our old behavior, and Firefox behavior. This will also fire onChange for radio buttons which matches Firefox behavior. 2005-12-13 Beth Dakin Reviewed by Hyatt and Darin. Fix for REGRESSION: assertion failure after adding DOM element (render_container.cpp:365: beforeChild-> parent() == this). When adding a child, tables should send the next to last box instead of the last box as beforeChild because that is what RenderContainer::insertChildNode() expects. RenderContainer ::insertChildNode() will not recurse to the correct box for tables because tables won't pass the isAnonymousBlock() check, so tables must send the correct information to start with. * khtml/rendering/render_table.cpp: (RenderTable::addChild): Keep track of the nextToLastBox and send that one to the other addChild() functions instead of the lastBox. === Safari-521~5 === 2005-12-13 Timothy Hatcher Reviewed by Dave Hyatt. Test: fast/dom/css-shortHands.html First cut at leaving off implicit values in shorthand properties. Need to account for multipl backgrounds and "border" later. * khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::get4Values): (DOM::CSSMutableStyleDeclarationImpl::getShortHandValue): 2005-12-13 Anders Carlsson * ChangeLog: Add titles to the recent bugzilla bugs. 2005-12-13 Anders Carlsson Reviewed by Darin. * khtml/ecma/kjs_css.cpp: (KJS::DOMCSSStyleDeclaration::indexGetter): (KJS::DOMCSSStyleDeclaration::cssPropertyGetter): (KJS::DOMStyleSheetList::indexGetter): (KJS::DOMStyleSheetList::nameGetter): (KJS::DOMMediaList::indexGetter): (KJS::DOMCSSRuleList::indexGetter): (KJS::DOMCSSValueList::indexGetter): * khtml/ecma/kjs_css.h: * khtml/ecma/kjs_dom.cpp: (KJS::DOMNodeList::indexGetter): (KJS::DOMNodeList::nameGetter): (KJS::DOMElement::attributeGetter): (KJS::DOMNamedNodeMap::lengthGetter): (KJS::DOMNamedNodeMap::indexGetter): (KJS::DOMNamedNodeMap::nameGetter): (KJS::DOMNamedNodesCollection::lengthGetter): (KJS::DOMNamedNodesCollection::indexGetter): * khtml/ecma/kjs_dom.h: * khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::namedItemGetter): (KJS::HTMLElement::formIndexGetter): (KJS::HTMLElement::formNameGetter): (KJS::HTMLElement::selectIndexGetter): (KJS::HTMLElement::framesetNameGetter): (KJS::HTMLElement::frameWindowPropertyGetter): (KJS::HTMLElement::runtimeObjectGetter): (KJS::HTMLElement::runtimeObjectPropertyGetter): (KJS::HTMLCollection::lengthGetter): (KJS::HTMLCollection::indexGetter): (KJS::HTMLCollection::nameGetter): (KJS::HTMLSelectCollection::selectedIndexGetter): * khtml/ecma/kjs_html.h: * khtml/ecma/kjs_navigator.cpp: (KJS::Plugins::indexGetter): (KJS::Plugins::nameGetter): (KJS::MimeTypes::indexGetter): (KJS::MimeTypes::nameGetter): (KJS::Plugin::indexGetter): (KJS::Plugin::nameGetter): * khtml/ecma/kjs_window.cpp: (KJS::Window::childFrameGetter): (KJS::Window::namedFrameGetter): (KJS::Window::indexGetter): (KJS::Window::namedItemGetter): (KJS::FrameArray::indexGetter): (KJS::FrameArray::nameGetter): * khtml/ecma/kjs_window.h: Update for changes to PropertySlot::GetValueFunc. 2005-12-13 Eric Seidel Reviewed by darin. Fix crash on malformed transform attributes and transforms with trailing spaces: http://bugs.webkit.org/show_bug.cgi?id=6061 * ksvg2/svg/SVGTransformableImpl.cpp: (SVGTransformableImpl::parseTransformAttribute): 2005-12-13 Maciej Stachowiak - build fix for last-minute part of previous change * khtml/ecma/kjs_binding.cpp: 2005-12-13 Maciej Stachowiak Reviewed by Eric. - updated for new HashCountedSet class * ForwardingHeaders/kxmlcore/HashCountedSet.h: Added forwarding header. * khtml/ecma/kjs_binding.cpp: Moved #define to disable pointer specialization higher in the file. 2005-12-12 Justin Garcia Reviewed by harrison VisiblePosition constructor can return a result outside of the original This bug was filed as a reminder to remove the workaround for . We fixed the problems with VisiblePosition causing 4033202, so I removed the workaround and added a layout test. * khtml/editing/visible_units.cpp: (khtml::previousLinePosition): 2005-12-12 David Harrison Reviewed by Justin. Paste of HTML list content can break list structure by dropping empty list items Fixed by having ReplaceSelectionCommand remove empty nodes just from the ancestors of the node(s) moved by mergeStart, rather than scanning the whole fragment. Layout tests added: editing/pasteboard/paste-table-001.html editing/pasteboard/paste-list-001.html * khtml/editing/replace_selection_command.cpp: (khtml::ReplaceSelectionCommand::isProbablyTableStructureNode): (khtml::ReplaceSelectionCommand::pruneEmptyNodes): Removed no longer needed functions. (khtml::ReplaceSelectionCommand::doApply): Remove ancestor nodes emptied by mergeStart. Do that instead of calling pruneEmptyNodes(). * khtml/editing/replace_selection_command.h: (khtml::ReplacementFragment::desiredStyles): Removed pruneEmptyNodes(). 2005-12-12 Timothy Hatcher Reviewed by Dave Hyatt. Test: fast/dom/css-selectorText.html Fixes selecotrText serialization to only print "*" when it is stand alone. Fixes the attribute set selector, along with general cleanup. Also print chained selectors. * khtml/css/css_base.cpp: (CSSSelector::extractPseudoType): (CSSSelector::selectorText): * khtml/css/css_ruleimpl.cpp: (DOM::CSSStyleRuleImpl::selectorText): 2005-12-12 Eric Seidel Reviewed by ggaren. Test: fast/forms/textarea-setinnerhtml.html Fixes setInnerHTML for