blob: 14b32e81b07894b5d2ab1633795cc58235dcc932 [file] [log] [blame]
2005-12-17 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- removed unused SPI headers
* WebCore.xcodeproj/project.pbxproj:
* kwq/DOM-compat.h: Removed.
2005-12-18 Darin Adler <darin@apple.com>
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 <darin@apple.com>
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 <opendarwin.org@mitzpettel.com>
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 <ap@nypop.com>
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 <ap@nypop.com>
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 <ap@nypop.com>
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 <opendarwin.org@mitzpettel.com>
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 <andersca@mac.com>
Reviewed by Darin.
- Fix <http://bugs.webkit.org/show_bug.cgi?id=6120>
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 <opendarwin.org@mitzpettel.com>
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 <eseidel@apple.com>
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 <eseidel@apple.com>
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 <adele@apple.com>
Reviewed by Maciej.
Fix for <rdar://problem/4381546> 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 <vicki@apple.com>
Reviewed by Tim O.
- fix <rdar://problem/4380428> window.onbeforeunload works on IE but not on Safari
* khtml/ecma/kjs_window.cpp:
2005-12-16 Geoffrey Garen <ggaren@apple.com>
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 <opendarwin.org@mitzpettel.com>
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 <opendarwin.org@mitzpettel.com>
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 <opendarwin.org@mitzpettel.com>
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 <opendarwin.org@mitzpettel.com>
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 <darin@apple.com>
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 <darin@apple.com>
- 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 <darin@apple.com>
* khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::exitText):
Add missing null check.
2005-12-15 Geoffrey Garen <ggaren@apple.com>
Fixed <rdar://problem/4381444> 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 <darin@apple.com>
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 <eseidel@apple.com>
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 <eseidel@apple.com>
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 <adele@apple.com>
Reviewed by John.
- Fix for <rdar://problem/4258232> 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 <eseidel@apple.com>
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 <eseidel@apple.com>
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 <adele@apple.com>
Reviewed by Darin and Hyatt.
Fixed <rdar://problem/4381360> 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 <darin@apple.com>
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 <adele@apple.com>
Reviewed by Darin and Tim Hatcher.
- fixed <rdar://problem/4375502> 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 <eseidel@apple.com>
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 <bdakin@apple.com>
Reviewed by John.
Extra fix for <rdar://problem/4374783> 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 <bdakin@apple.com>
Reviewed by Eric.
Fix for <rdar://problem/4374783> 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 <opendarwin.org@mitzpettel.com>
Reviewed by Darin & Geoff, committed by Adele.
Test: fast/overflow/overflow-text-hit-testing.html
Fix for <http://bugs.webkit.org/show_bug.cgi?id=5921>
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 <ap@nypop.com>
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 <adele@apple.com>
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 <bdakin@apple.com>
Reviewed by Hyatt and Darin.
Fix for <rdar://problem/4335884> 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 <timothy@apple.com>
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 <andersca@mac.com>
* ChangeLog: Add titles to the recent bugzilla bugs.
2005-12-13 Anders Carlsson <andersca@mac.com>
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 <eseidel@apple.com>
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 <mjs@apple.com>
- build fix for last-minute part of previous change
* khtml/ecma/kjs_binding.cpp:
2005-12-13 Maciej Stachowiak <mjs@apple.com>
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 <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4040763> VisiblePosition constructor can return a result outside of the original
This bug was filed as a reminder to remove the workaround for
<rdar://problem/4033202>. 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 <harrison@apple.com>
Reviewed by Justin.
<rdar://problem/4027704> 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 <timothy@apple.com>
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 <eseidel@apple.com>
Reviewed by ggaren.
Test: fast/forms/textarea-setinnerhtml.html
Fixes setInnerHTML for <textarea>
<rdar://problem/4372143>
* khtml/html/html_formimpl.cpp:
(DOM::HTMLTextAreaElementImpl::setValue):
2005-12-12 Adele Peterson <adele@apple.com>
Reviewed by Dave Harrison.
- fixed <rdar://problem/4374673> Regression: Safari fails to scroll to top of page if (name="top") attribute is not present
When there's no node corresponding to the anchor (the name is empty or "top"), we still want to scroll to the top of the document. This got left out in the conversion to the new scrolling code.
* khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor):
2005-12-12 Rob Buis <rwlbuis@xs4all.nl>
Reviewed by eseidel. Committed by eseidel.
Test: svg/custom/control-points-for-S-and-T.svg
"S" and "T" path types handle control points incorrectly
http://bugs.webkit.org/show_bug.cgi?id=6042
* ksvg2/svg/svgpathparser.cpp:
(SVGPathParser::parseSVG):
2005-12-12 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
No test cases needed, no functionality change.
Corrected spacing, and conformance with style guidelines.
http://bugs.webkit.org/show_bug.cgi?id=6039
* kcanvas/KCanvasFilters.cpp:
* kcanvas/KCanvasFilters.h:
(KCanvasFEComponentTransfer::setRedFunction):
(KCanvasFEComponentTransfer::setGreenFunction):
(KCanvasFEComponentTransfer::setBlueFunction):
(KCanvasFEComponentTransfer::setAlphaFunction):
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(ciVector):
(KCanvasFilterQuartz::prepareFilter):
(KCanvasFilterQuartz::applyFilter):
(KCanvasFilterQuartz::filterBBoxForItemBBox):
(KCanvasFilterQuartz::getCIFilterStack):
(KCanvasFilterQuartz::imageForName):
(KCanvasFilterQuartz::setImageForName):
(KCanvasFilterQuartz::setOutputImage):
(alphaImageForImage):
(KCanvasFilterQuartz::inputImage):
(KCanvasFEBlendQuartz::getCIFilter):
(KCanvasFEColorMatrixQuartz::getCIFilter):
(KCanvasFECompositeQuartz::getCIFilter):
(getPointLightVectors):
(getLightVectors):
(getNormalMap):
(KCanvasFEDiffuseLightingQuartz::getCIFilter):
(KCanvasFEFloodQuartz::getCIFilter):
(KCanvasFEGaussianBlurQuartz::getCIFilter):
(KCanvasFEMergeQuartz::getCIFilter):
(KCanvasFEOffsetQuartz::getCIFilter):
(KCanvasFESpecularLightingQuartz::getCIFilter):
(KCanvasFETileQuartz::getCIFilter):
2005-12-11 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fixed http://bugs.webkit.org/show_bug.cgi?id=5538
XSLT crashes with multi-word internal entity declarations
Added the crashing specimen as a layout test.
* khtml/xsl/xsl_stylesheetimpl.cpp: (DOM::XSLStyleSheetImpl::loadChildSheets):
Check that the node is an element node before calling IS_XSLT_ELEM.
2005-12-11 Eric Seidel <eseidel@apple.com>
Reviewed by darin & mjs.
Fixes SVG to load external scripts and report parse errors.
http://bugs.webkit.org/show_bug.cgi?id=5875
Added 7 layout tests to exercise parse error code.
* khtml/xml/xml_tokenizer.cpp:
(khtml::createXHTMLParserErrorHeader):
(khtml::XMLTokenizer::insertErrorMessageBlock):
(khtml::XMLTokenizer::executeScripts):
* ksvg2/svg/SVGStyledElementImpl.h: removed broken code
* ksvg2/svg/SVGStyledElementImpl.cpp: removed broken attach()
2005-12-11 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Small fixes made during SVG code review.
http://bugs.webkit.org/show_bug.cgi?id=5999
One test case added for conditional processing directives
used outside of switch statements.
* WebCore+SVG/DrawDocument.mm:
(-[DrawView description]):
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFEGaussianBlurQuartz::getCIFilter):
* khtml/css/cssparser.cpp:
(CSSParser::parseValue):
* khtml/css/cssparser.h:
* khtml/css/cssstyleselector.cpp:
(khtml::CSSStyleSelector::loadDefaultStyle):
(khtml::CSSStyleSelector::applyProperty):
* khtml/css/cssstyleselector.h:
* khtml/ecma/kjs_window.cpp:
(KJS::Window::retrieveWindow):
(KJS::Window::retrieveActive):
* khtml/html/html_objectimpl.cpp:
(DOM::HTMLObjectElementImpl::isImageType):
* khtml/khtml_part.h:
* khtml/rendering/DataRef.h:
(khtml::DataRef::operator == ):
(khtml::DataRef::operator != ):
* khtml/rendering/render_canvas.cpp:
* khtml/rendering/render_object.h:
(khtml::RenderObject::localTransform):
* khtml/rendering/render_style.cpp:
(RenderStyle::diff):
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::createElementNS):
(DocumentImpl::createEvent):
* khtml/xml/dom_elementimpl.cpp:
* khtml/xml/dom_elementimpl.h:
* khtml/xml/dom_textimpl.cpp:
(TextImpl::rendererIsNeeded):
* ksvg2/css/KSVGCSSParser.cpp:
(DOM::CSSParser::parseSVGValue):
* ksvg2/css/svg.css:
* ksvg2/svg/SVGDocumentImpl.cpp:
* ksvg2/svg/SVGElementImpl.cpp:
(SVGElementImpl::childShouldCreateRenderer):
* ksvg2/svg/SVGElementImpl.h:
(KSVG::SVGElementImpl::isValid):
2005-12-10 Maciej Stachowiak <mjs@apple.com>
Not reviewed, build fix.
- fix SVG build for recent QTimer changes.
* ksvg2/misc/KSVGTimeScheduler.cpp:
(KSVG::SVGTimer::SVGTimer):
2005-12-10 Darin Adler <darin@apple.com>
Rubber stamped by Maciej.
- updated for KJS class renaming
* many files and functions
2005-12-10 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin and Eric.
* Makefile.am: Support --enable-svg
2005-12-10 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
* khtml/ecma/domparser.cpp:
(KJS::DOMParserProtoFunc::callAsFunction):
* khtml/ecma/kjs_binding.cpp:
(KJS::jsStringOrNull):
(KJS::setDOMException):
* khtml/ecma/kjs_binding.h:
(KJS::DOMFunction::toPrimitive):
* khtml/ecma/kjs_css.cpp:
(KJS::DOMCSSStyleDeclaration::indexGetter):
(KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
(KJS::DOMCSSStyleDeclaration::getValueProperty):
(KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
(KJS::DOMStyleSheet::getValueProperty):
(KJS::getDOMStyleSheet):
(KJS::DOMStyleSheetList::getValueProperty):
(KJS::getDOMStyleSheetList):
(KJS::DOMStyleSheetListFunc::callAsFunction):
(KJS::DOMMediaList::getValueProperty):
(KJS::DOMMediaList::indexGetter):
(KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
(KJS::DOMCSSStyleSheet::getValueProperty):
(KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
(KJS::DOMCSSRuleList::getValueProperty):
(KJS::DOMCSSRuleListFunc::callAsFunction):
(KJS::DOMCSSRule::getValueProperty):
(KJS::DOMCSSRuleFunc::callAsFunction):
(KJS::CSSRuleConstructor::getValueProperty):
(KJS::DOMCSSValue::getValueProperty):
(KJS::getDOMCSSValue):
(KJS::CSSValueConstructor::getValueProperty):
(KJS::DOMCSSPrimitiveValue::getValueProperty):
(KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
(KJS::CSSPrimitiveValueConstructor::getValueProperty):
(KJS::DOMCSSValueList::getValueProperty):
(KJS::DOMCSSValueListFunc::callAsFunction):
(KJS::DOMCounter::getValueProperty):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNode::getValueProperty):
(KJS::DOMNode::toPrimitive):
(KJS::DOMNode::getListener):
(KJS::DOMNodeProtoFunc::callAsFunction):
(KJS::DOMNodeList::toPrimitive):
(KJS::DOMNodeList::getValueProperty):
(KJS::DOMNodeList::callAsFunction):
(KJS::DOMAttr::getValueProperty):
(KJS::DOMDocument::getValueProperty):
(KJS::DOMDocumentProtoFunc::callAsFunction):
(KJS::DOMElement::getValueProperty):
(KJS::DOMElement::attributeGetter):
(KJS::DOMElementProtoFunc::callAsFunction):
(KJS::DOMDOMImplementationProtoFunc::callAsFunction):
(KJS::DOMDocumentType::getValueProperty):
(KJS::DOMNamedNodeMap::lengthGetter):
(KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
(KJS::DOMProcessingInstruction::getValueProperty):
(KJS::DOMNotation::getValueProperty):
(KJS::DOMEntity::getValueProperty):
(KJS::getDOMNode):
(KJS::NodeConstructor::getValueProperty):
(KJS::DOMExceptionConstructor::getValueProperty):
(KJS::DOMNamedNodesCollection::lengthGetter):
(KJS::DOMCharacterData::getValueProperty):
(KJS::DOMCharacterDataProtoFunc::callAsFunction):
(KJS::DOMTextProtoFunc::callAsFunction):
* khtml/ecma/kjs_events.cpp:
(KJS::JSLazyEventListener::parseCode):
(KJS::EventConstructor::getValueProperty):
(KJS::DOMEvent::getValueProperty):
(KJS::DOMEventProtoFunc::callAsFunction):
(KJS::getDOMEvent):
(KJS::EventExceptionConstructor::getValueProperty):
(KJS::DOMUIEvent::getValueProperty):
(KJS::DOMUIEventProtoFunc::callAsFunction):
(KJS::DOMMouseEvent::getValueProperty):
(KJS::DOMMouseEventProtoFunc::callAsFunction):
(KJS::DOMKeyboardEvent::getValueProperty):
(KJS::DOMKeyboardEventProtoFunc::callAsFunction):
(KJS::MutationEventConstructor::getValueProperty):
(KJS::DOMMutationEvent::getValueProperty):
(KJS::DOMMutationEventProtoFunc::callAsFunction):
(KJS::DOMWheelEvent::getValueProperty):
(KJS::DOMWheelEventProtoFunc::callAsFunction):
(KJS::stringOrUndefined):
(KJS::Clipboard::getValueProperty):
(KJS::ClipboardProtoFunc::callAsFunction):
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::HTMLDocFunction::callAsFunction):
(KJS::HTMLDocument::getValueProperty):
(KJS::HTMLElement::framesetNameGetter):
(KJS::HTMLElement::frameWindowPropertyGetter):
(KJS::HTMLElement::runtimeObjectPropertyGetter):
(KJS::KJS::HTMLElement::callAsFunction):
(KJS::HTMLElement::htmlGetter):
(KJS::HTMLElement::headGetter):
(KJS::HTMLElement::linkGetter):
(KJS::HTMLElement::titleGetter):
(KJS::HTMLElement::metaGetter):
(KJS::HTMLElement::baseGetter):
(KJS::HTMLElement::isIndexGetter):
(KJS::HTMLElement::styleGetter):
(KJS::HTMLElement::bodyGetter):
(KJS::HTMLElement::formGetter):
(KJS::HTMLElement::selectGetter):
(KJS::HTMLElement::optGroupGetter):
(KJS::HTMLElement::optionGetter):
(KJS::getInputSelectionStart):
(KJS::getInputSelectionEnd):
(KJS::HTMLElement::inputGetter):
(KJS::HTMLElement::textAreaGetter):
(KJS::HTMLElement::buttonGetter):
(KJS::HTMLElement::labelGetter):
(KJS::HTMLElement::fieldSetGetter):
(KJS::HTMLElement::legendGetter):
(KJS::HTMLElement::uListGetter):
(KJS::HTMLElement::oListGetter):
(KJS::HTMLElement::dListGetter):
(KJS::HTMLElement::dirGetter):
(KJS::HTMLElement::menuGetter):
(KJS::HTMLElement::liGetter):
(KJS::HTMLElement::divGetter):
(KJS::HTMLElement::paragraphGetter):
(KJS::HTMLElement::headingGetter):
(KJS::HTMLElement::blockQuoteGetter):
(KJS::HTMLElement::quoteGetter):
(KJS::HTMLElement::preGetter):
(KJS::HTMLElement::brGetter):
(KJS::HTMLElement::baseFontGetter):
(KJS::HTMLElement::fontGetter):
(KJS::HTMLElement::hrGetter):
(KJS::HTMLElement::modGetter):
(KJS::HTMLElement::anchorGetter):
(KJS::HTMLElement::imageGetter):
(KJS::HTMLElement::objectGetter):
(KJS::HTMLElement::paramGetter):
(KJS::HTMLElement::appletGetter):
(KJS::HTMLElement::mapGetter):
(KJS::HTMLElement::areaGetter):
(KJS::HTMLElement::scriptGetter):
(KJS::HTMLElement::tableGetter):
(KJS::HTMLElement::tableCaptionGetter):
(KJS::HTMLElement::tableColGetter):
(KJS::HTMLElement::tableSectionGetter):
(KJS::HTMLElement::tableRowGetter):
(KJS::HTMLElement::tableCellGetter):
(KJS::HTMLElement::frameSetGetter):
(KJS::HTMLElement::frameGetter):
(KJS::HTMLElement::iFrameGetter):
(KJS::HTMLElement::marqueeGetter):
(KJS::HTMLElement::getValueProperty):
(KJS::HTMLElementFunction::HTMLElementFunction):
(KJS::KJS::HTMLElementFunction::callAsFunction):
(KJS::HTMLCollection::lengthGetter):
(KJS::KJS::HTMLCollection::callAsFunction):
(KJS::KJS::HTMLCollection::getNamedItems):
(KJS::KJS::HTMLCollectionProtoFunc::callAsFunction):
(KJS::HTMLSelectCollection::selectedIndexGetter):
(KJS::HTMLSelectCollection::getOwnPropertySlot):
(KJS::OptionConstructorImp::OptionConstructorImp):
(KJS::Image::getValueProperty):
(KJS::KJS::Context2DFunction::callAsFunction):
(KJS::Context2D::getValueProperty):
(KJS::Context2D::Context2D):
(KJS::GradientFunction::callAsFunction):
(KJS::Gradient::getValueProperty):
(KJS::ImagePattern::getValueProperty):
(KJS::getSelectHTMLCollection):
* khtml/ecma/kjs_navigator.cpp:
(KJS::Navigator::getValueProperty):
(KJS::Plugins::getValueProperty):
(KJS::Plugins::nameGetter):
(KJS::MimeTypes::getValueProperty):
(KJS::MimeTypes::nameGetter):
(KJS::Plugin::getValueProperty):
(KJS::Plugin::nameGetter):
(KJS::MimeType::getValueProperty):
(KJS::PluginsFunc::callAsFunction):
(KJS::NavigatorFunc::callAsFunction):
* khtml/ecma/kjs_proxy.cpp:
(TestFunctionImp::callAsFunction):
* khtml/ecma/kjs_range.cpp:
(KJS::DOMRange::getValueProperty):
(KJS::DOMRangeProtoFunc::callAsFunction):
(KJS::RangeConstructor::getValueProperty):
* khtml/ecma/kjs_traversal.cpp:
(KJS::DOMNodeIterator::getValueProperty):
(KJS::DOMNodeIteratorProtoFunc::callAsFunction):
(KJS::NodeFilterConstructor::getValueProperty):
(KJS::DOMNodeFilterProtoFunc::callAsFunction):
(KJS::DOMTreeWalker::getValueProperty):
(KJS::DOMTreeWalkerProtoFunc::callAsFunction):
* khtml/ecma/kjs_views.cpp:
(KJS::DOMAbstractViewProtoFunc::callAsFunction):
* khtml/ecma/kjs_window.cpp:
(KJS::Screen::getValueProperty):
(KJS::Window::retrieve):
(KJS::showModalDialog):
(KJS::Window::getValueProperty):
(KJS::Window::getListener):
(KJS::WindowFunc::callAsFunction):
(KJS::FrameArray::getValueProperty):
(KJS::FrameArray::indexGetter):
(KJS::FrameArray::nameGetter):
(KJS::Location::getValueProperty):
(KJS::Location::toPrimitive):
(KJS::LocationFunc::callAsFunction):
(KJS::Selection::getValueProperty):
(KJS::Selection::toPrimitive):
(KJS::SelectionFunc::callAsFunction):
(KJS::BarInfo::getValueProperty):
(KJS::History::getValueProperty):
(KJS::HistoryFunc::callAsFunction):
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::getValueProperty):
(KJS::XMLHttpRequest::getAllResponseHeaders):
(KJS::XMLHttpRequest::getResponseHeader):
(KJS::XMLHttpRequest::getStatus):
(KJS::XMLHttpRequest::getStatusText):
(KJS::XMLHttpRequestProtoFunc::callAsFunction):
* khtml/ecma/xmlserializer.cpp:
(KJS::XMLSerializerProtoFunc::callAsFunction):
* ksvg2/ecma/Ecma.cpp:
(KSVG::getSVGPathSeg):
* ksvg2/ecma/GlobalObject.cpp:
(GlobalObject::get):
* kwq/WebCoreScriptDebugger.mm:
(-[WebCoreScriptCallFrame evaluateWebScript:]):
2005-12-10 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin and Tim Hatcher.
- fix WebCore SVG build for gcc 3.3 (don't know why it has these complaints)
* kcanvas/KCanvasFilters.h:
(QPointF::QPointF): Add a default constructor
(KCanvasFEConvolveMatrix::KCanvasFEConvolveMatrix): ditto
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFEBlendQuartz::getCIFilter): Move a variable declaration
instead exception blocking
(KCanvasFECompositeQuartz::getCIFilter): ditto
(KCanvasFEMergeQuartz::getCIFilter): ditto
2005-12-10 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
- fix http://bugs.webkit.org/show_bug.cgi?id=6032
REGRESSION: Uncaught exception when image is dragged out of webpage
* WebCore.exp: Export the new WebCoreElementImageRendererKey and remove the old
WebCoreElementImageKey.
* kwq/WebCoreBridge.h: Add WebCoreElementImageRendererKey, remove WebCoreElementImageKey.
* kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Pass the image renderer in the
dictionary, but not the NSImage.
2005-12-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed and landed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=6029
plainText() returns a partial result when the node contains RTL text
Test: fast/dom/inner-text-rtl.html
* khtml/editing/visible_text.cpp:
(khtml::TextIterator::handleTextBox): Avoid advancing m_sortedTextBoxes if textBoxEnd wasn't reached.
* kwq/KWQListImpl.h:
* kwq/KWQListImpl.mm:
(KWQListImpl::getNext): Added.
(KWQListImpl::getPrev): Added.
* kwq/KWQPtrList.h:
(QPtrList::getNext): Added.
(QPtrList::getPrev): Added.
2005-12-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt, landed by Darin.
- fixed http://bugs.webkit.org/show_bug.cgi?id=5826
Blocks with direction:rtl and overflow:auto or scroll have incorrect scrollbars
* khtml/rendering/render_block.cpp: (khtml::RenderBlock::leftmostPosition):
* khtml/rendering/render_layer.cpp:
(khtml::RenderLayer::RenderLayer): Initialize
(khtml::RenderLayer::scrollOffset):
(khtml::RenderLayer::subtractScrollOffset):
(khtml::RenderLayer::scrollToOffset):
(khtml::RenderLayer::scrollRectToVisible):
(khtml::RenderLayer::updateScrollPositionFromScrollbars):
(khtml::RenderLayer::computeScrollDimensions):
(khtml::RenderLayer::updateScrollInfoAfterLayout):
* khtml/rendering/render_layer.h:
(khtml::RenderLayer::scrollXOffset):
(khtml::RenderLayer::scrollToYOffset):
2005-12-10 Graham Dennis <Graham.Dennis@gmail.com>
Reviewed by Hyatt, landed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=3983
outline:auto improperly puts outline around contained elements, not the actual div
* khtml/rendering/render_flow.cpp: (RenderFlow::addFocusRingRects):
Only add the rect if this is a RenderBlock.
2005-12-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed and landed by Darin.
- fixed http://bugs.webkit.org/show_bug.cgi?id=5784
Assertion failure in DocumentImpl::removeElementById() (idCount > 0)
Another symptom is that getElementById doesn't work when the ID is on a duplicate
<html> or <body> element.
Added a new layout test that checks for at least one symptom of the bug.
* khtml/html/htmlparser.cpp: (HTMLParser::handleError): Use setAttribute here instead
of using insertAttribute and calling recalcStyle explicitly. That's because setAttribute
does other things that are needed to change an attribute in an attribute map that's
already connected to an element, including updating the ID map if the attribute is
the ID attribute.
* khtml/xml/dom_elementimpl.h: (DOM::NamedAttrMapImpl::insertAttribute):
Assert that this parser-only function is only used on attribute maps that aren't yet
attached to elements.
2005-12-10 Darin Adler <darin@apple.com>
Reviewed by Eric and Tim Omernick.
- speed up timers by using CFTimerRunLoopRef instead of NSTimer
http://bugs.webkit.org/show_bug.cgi?id=5677
* kwq/KWQObject.h: Removed pauseTimer, resumeTimers, and _addTimer, added timerIntervals and
restartTimer. Made KWQObjectSenderScope functions be inline.
* kwq/KWQObject.mm:
(timerFired): Added. Function called when the CFRunLoopTimerRef fires. Puts the timer into the
deferred timer array if timers are deferred, otherwise makes a QTimerEvent and calls timerEvent
on the target.
(QObject::startTimer): Moved most of the code inside restartTimer. This now just picks a new
timer ID and calls restartTimer.
(QObject::restartTimer): Added. Creates a KWQObjectTimer and puts it in a timers dictionary.
That includes creating a CFRunLoopTimer and scheduling it on the current run loop.
(QObject::timerIntervals): Added. Looks up a timer and returns the intervals for next time to
fire and the "fire again" interval.
(deleteTimer): Added. Invalidates and then removes a timer.
(QObject::killTimer): Changed to use deleteTimer to do most of its work.
(deleteOneTimer): Added. Calls deleteTimer.
(QObject::killTimers): Changed to use deleteOneTimer to do most of its work.
(sendDeferredTimerEvent): Added. Creates a QTimerEvent and calls timerEvent on the target.
(sendDeferredTimerEvents): Added. Calls sendDeferredTimerEvent in a loop on all the deferred timers.
(QObject::setDefersTimers): Updated to call sendDeferredTimerEvents as needed.
* kwq/KWQTimer.h:
(QTimer::QTimer): Made constructor inline and removed the optional parameter.
(QTimer::isActive): Made inline.
(QTimer::fireDate): Added. Inline function.
Got rid of the NSTimer and added a CFRunLoopTimer.
* kwq/KWQTimer.mm:
(timerFired): Added. Calls fire on the QTimer object.
(QTimer::start): Changed to create a CFRunLoopTimer.
(QTimer::stop): Changed to use CFRunLoopTimer functions.
(QTimer::fire): Ditto.
* khtml/ecma/kjs_window.h: Added PausedTimeouts class. Moved WindowQObject class up in the
file so it can be used inline in the implementation of the Window class, and changed to
use the PausedTimeouts class intead of a QMap to store the paused timeouts.
* khtml/ecma/kjs_window.cpp:
(KJS::ScheduledAction::execute): Put a check for nil part at the start; this replaces
a check in the caller and a check partway down this function (after the part was
already dereferenced). Fixed message handling so the message is not converted to ascii
and back. Added an isObject() check so we won't crash if the passed function is a value
that's not an object. Changed check for function vs. script to check for a function
of nil instead of using a separate boolean.
(KJS::WindowQObject::pauseTimeouts): Updated to create the new PausedTimeouts object,
using the new QObject::timerIntervals function rather than the old QObject::pauseTimer
function. This means that the paused timers are entirely stored in the PausedTimeouts
object instead of being half in a QMap and the other half inside the QObject itself.
(KJS::WindowQObject::resumeTimeouts): Ditto, using the new QObject::restartTimer function.
(KJS::PausedTimeouts::~PausedTimeouts): Added. Deletes the stored timeouts, including
the scheduled actions, unless the timeouts have already been resumed (in which case the
m_array field will be 0).
* kwq/KWQKHTMLPart.h: Renamed pause/resumeActions to pause/resumeTimeouts and made them
use the PausedTimeouts class and no longer take a key parameter.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::redirectionTimerStartedOrStopped): Use the new fireDate() function rathe than
the old getNSTimer() function to get the fire date.
(KWQKHTMLPart::pauseTimeouts): Remove the call to hasTimeouts and the key parameter.
(KWQKHTMLPart::resumeTimeouts): Remove the key parameter.
(KWQKHTMLPart::openURLFromPageCache): Change the timeout handling to use PausedTimeouts instead
of a QMap for the paused timeouts.
* kwq/KWQPageState.h: Changed to use PausedTimeouts instead of a QMap for timeouts.
Added a pausedTimeouts parameter to the initializer and removed the setPausedActions: method.
* kwq/KWQPageState.mm:
(-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:interpreterBuiltins:pausedTimeouts:]):
Added code where it sets the pausedTimouts.
(-[KWQPageState pausedTimeouts]): Added.
(-[KWQPageState clear]): Added code to delete the pausedTimeouts and to deref mousePressNode.
(-[KWQPageState invalidate]): Fixed bug where document would not be deref'd if the view was 0.
(-[KWQPageState dealloc]): Removed code to deref mousePressNode since that's now handled in the clear method.
(-[KWQPageState finalize]): Set document to 0 after deref for consistency.
* kwq/WebCoreBridge.mm: (-[WebCoreBridge saveDocumentToPageCache]): Changed to pass in the
paused timeouts using the new pauseTimeouts function.
2005-12-09 Justin Garcia <justin.garcia@apple.com>
<rdar://problem/4370209> Reproducible crash when pasting over whitespace:pre text
<rdar://problem/4370220> Double or triple clicking in whitespace:pre text creates incorrect selections
Some preparation for a fix for:
<radar://problem/4364427> triple-click includes first item on next line (www.apple.com, but I think I've seen it elsewhere)
There were a few bugs in endOfParagraph's and endOfLine's handling of IncludeLineBreak.
The IncludeLinebreak concept also doesn't make sense: when asked to
IncludeLineBreak, "endOfParagraph" would return the start of the next paragraph.
Callers that want this funtionality should just call endOfParagraph and then get next()
if it exists.
In endOfParagraph's whitespace:pre handling, when the input visible position
was at the end of a text node with whitespace:pre, that text node was searched
for '/n'. It should be skipped.
Reviewed by harrison
Added new layout tests in editing/pasting and editing/selection
* khtml/editing/SelectionController.cpp:
(khtml::SelectionController::validate):
* khtml/editing/composite_edit_command.cpp:
(khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
* khtml/editing/visible_units.cpp:
(khtml::endOfLine):
(khtml::isEndOfLine):
(khtml::endOfParagraph):
(khtml::isEndOfParagraph):
* khtml/editing/visible_units.h:
2005-12-09 Tim Omernick <timo@apple.com>
Reviewed by Darin.
<rdar://problem/4371187> 10.4.4 Regression: Anchor tags for navigation
within messages in HTML mail no longer working
A kwq category on NSView used to ensure scrolling the super NSClipViews, but that is gone now.
Implemented equivalent functionality by walking up the view hierarchy in QScrollView::setContentsPos().
* kwq/KWQScrollView.mm:
(QScrollView::setContentsPos):
2005-12-08 Tim Omernick <timo@apple.com>
Reviewed by Maciej.
<rdar://problem/4311703> Crash in NPN_Invoke receiving contents of http://www.woodieschilidogs.com/ in Mail.app
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::windowScriptNPObject):
The window script object can be 0 if JavaScript is disabled. However, callers (like plugins) expect us to
always return a window script object here. By substituting a plain ObjectImp for the window's ObjectImp,
we can satisfy callers' assumptions and let them try to manipulate the dummy object when JavaScript is
disabled.
2005-12-08 David Harrison <harrison@apple.com>
Reviewed by Geoff.
<rdar://problem/4366496> 10.4.4 Regression: "Corel Painter IX (v9.1)"
crashed when going from the "Open a template" menu to "Select recent
Document" in the "Welcome to Corel XI!" window.
These are the parts of that bug fix that were not already fixed in TOT.
* kwq/KWQComboBox.mm:
(-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
Retain the event because it is the [NSApp currentEvent], which can
change and therefore be released during [super trackMouse:...]
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::sendFakeEventsAfterWidgetTracking):
Allow for the event not being leftmousedown or keydown
2005-12-08 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by eseidel. Committed by eseidel.
No test possible since this fixes random behavior.
Fixed http://bugs.webkit.org/show_bug.cgi?id=5997
REGRESSION: Focus rings around links are not erased when focus is lost
* khtml/xml/dom_nodeimpl.cpp:
(DOM::NodeImpl::NodeImpl): Initialize m_inDetach to false.
2005-12-08 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
No applet test (mjs says DRT has kittens in that case)
SVG is covered by <use> test cases (5 tests).
Fixes <applet> in xhtml, as well as <use> in SVG.
http://bugs.webkit.org/show_bug.cgi?id=5987
* khtml/xml/xml_tokenizer.cpp:
(khtml::XMLTokenizer::endElementNs): call closeRenderer()
2005-12-08 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fix http://bugs.webkit.org/show_bug.cgi?id=5686
make Shared::deref faster by eliminating multiple branches
* khtml/misc/shared.h: Rewrote both Shared and TreeShared to be functionally
the same, but used signed reference counts and remove the extra
check inside deref that handles the case of extra derefs (a programming
mistake in any case). This elimnates a branch from a hot code path.
Also added license header. New versions have private data members, unlike
the old ones that used protected.
* khtml/rendering/render_replaced.h: Removed private inheritance from
Shared, and instead just declared a variable that holds a reference count,
because that's the only thing that was being used from Shared.
* khtml/rendering/render_replaced.cpp:
(RenderWidget::RenderWidget): Initialized m_refCount.
(RenderWidget::~RenderWidget): Use m_refCount.
(RenderWidget::eventFilter): Ditto.
(RenderWidget::deref): Use m_refCount and the new faster idiom (although here
it's not important becaue the function isn't even inlined).
2005-12-08 Eric Seidel <eseidel@apple.com>
No review needed, build fix only.
* ksvg2/css/KSVGCSSParser.cpp:
(DOM::CSSParser::parseSVGValue): parseShorthand rename
* ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp: missing header
* ksvg2/svg/SVGFELightElementImpl.cpp: missing header
* ksvg2/svg/SVGFESpecularLightingElementImpl.cpp: missing header
2005-12-08 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fixed http://bugs.webkit.org/show_bug.cgi?id=5689
add support for CSS "custom cursors" (cursor images)
* khtml/css/css_computedstyle.cpp:
(DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Added code to the
CSS_PROP_CURSOR case to handle cursor images.
* khtml/css/cssparser.cpp: (CSSParser::parseValue): Allow and parse a URL for the
cursor for the image case.
* khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty): Do
the appropriate inherit and initial for CSS_PROP_CURSOR, and allow either an
identifier or a URL for the value.
* khtml/html/html_inlineimpl.cpp: (DOM::HTMLAnchorElementImpl::defaultEventHandler):
Removed inappropriate call to resetCursor. We don't change the cursor shape just
because we're following a link.
* khtml/khtmlview.cpp:
(selectCursor): Added. New function that chooses the appropriate cursor.
Includes new logic to handle image cursors.
(KHTMLView::viewportMouseMoveEvent): Refactored to use selectCursor to choose
the appropriate cursor.
* kwq/KWQClipboard.mm: (KWQClipboard::dragNSImage): Call the function to get an
image renderer by its new name, imageRenderer().
* kwq/KWQCursor.mm:
(createCustomCursor): Added.
(QCursor::QCursor): Changed constructor that takes a QPixmap to call createCustomCursor.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::khtmlMouseMoveEvent): Replaced a call to resetCursor with a call to
setCursor(QCursor()).
(KWQKHTMLPart::fileWrapperForElement): Fixed code that assumed the render object is always
a RenderImage. Call TIFFRepresentation on the image renderer instead of incorrectly assuming
it's always an NSImage.
* kwq/KWQPainter.mm:
(QPainter::drawFloatPixmap): Call imageRenderer function instead of getting right at the
data member.
(QPainter::drawTiledPixmap): Ditto.
(QPainter::drawScaledAndTiledPixmap): Ditto.
* kwq/KWQPixmap.h: Removed convertToImage(), renamed image() to imageRenderer().
* kwq/KWQPixmap.mm: Similar name changes.
* kwq/KWQWidget.mm: (QWidget::setCursor): To workaround extra work done by AppKit when you set
the cursor to the same one, check if the cursor is already set before calling setDocumentCursor.
* kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Call the image method on the image
renderer instead of incorrectly assuming the renderer itself is an image.
* kwq/WebCoreImageRenderer.h: Added a TIFFRepresentation method to this protocol.
2005-12-07 David Hyatt <hyatt@apple.com>
Fix for Radar bug #4333923, typing tab character into empty
document in Mail doesn't work. This was just a silly regression
from my pre-wrap/pre-line implementation. I accidentally changed
code to examine the wrong style().
Reviewed by harrison
* khtml/rendering/bidi.cpp:
(khtml::RenderBlock::findNextLineBreak):
2005-12-07 David Hyatt <hyatt@apple.com>
Fix the DHTML menus on monster.com. offsetParent should only return RenderObjects that
have corresponding DOM elements.
Reviewed by Eric Seidel
* khtml/rendering/render_object.cpp:
(RenderObject::offsetParent):
2005-12-07 Eric Seidel <eseidel@apple.com>
No review needed, removing dead (svg only) files.
Removing unused files.
* kcanvas/KCanvasRegistry.cpp: Removed.
* kcanvas/KCanvasRegistry.h: Removed.
2005-12-05 David Hyatt <hyatt@apple.com>
Add support for more methods for exposing more useful style information.
getMatchedCSSRules can be used to obtain the matched sheet rules for an element. In Obj-C
it will also include user/user agent sheet rules.
Also add support for tracking the original shorthand in which a property was declared, as well
as whether the property was just implicitly set rather than explicitly mentioned (e.g., if it was
an omitted piece of a shorthand). The new methods on CSSStyleDeclaration are getPropertyShorthand
and isPropertyImplicit.
Reviewed by mjs
Test: fast/inspector/style.html
* khtml/css/css_computedstyle.h:
(DOM::CSSComputedStyleDeclarationImpl::getPropertyShorthand):
(DOM::CSSComputedStyleDeclarationImpl::isPropertyImplicit):
* khtml/css/css_valueimpl.cpp:
(DOM::CSSStyleDeclarationImpl::getPropertyShorthand):
(DOM::CSSStyleDeclarationImpl::isPropertyImplicit):
(DOM::CSSMutableStyleDeclarationImpl::getPropertyPriority):
(DOM::CSSMutableStyleDeclarationImpl::getPropertyShorthand):
(DOM::CSSMutableStyleDeclarationImpl::isPropertyImplicit):
(DOM::CSSProperty::cssText):
(DOM::operator==):
* khtml/css/css_valueimpl.h:
(DOM::CSSProperty::CSSProperty):
(DOM::CSSProperty::operator=):
(DOM::CSSProperty::~CSSProperty):
(DOM::CSSProperty::setValue):
(DOM::CSSProperty::shorthandID):
(DOM::CSSProperty::isImportant):
(DOM::CSSProperty::isImplicit):
* khtml/css/cssparser.cpp:
(CSSParser::CSSParser):
(CSSParser::addProperty):
(CSSParser::parseValue):
(CSSParser::parseBackgroundShorthand):
(CSSParser::parseShorthand):
(CSSParser::parse4Values):
(CSSParser::parseBackgroundPosition):
(CSSParser::parseBackgroundProperty):
* khtml/css/cssparser.h:
(DOM::CSSParser::enterShorthand):
(DOM::CSSParser::exitShorthand):
(DOM::CSSParser::inShorthand):
* khtml/css/cssstyleselector.cpp:
(khtml::CSSStyleSelector::CSSStyleSelector):
(khtml::CSSStyleSelector::matchRules):
(khtml::CSSStyleSelector::matchRulesForList):
(khtml::CSSStyleSelector::initForStyleResolve):
(khtml::CSSStyleSelector::styleRulesForElement):
(khtml::CSSStyleSelector::pseudoStyleRulesForElement):
* khtml/css/cssstyleselector.h:
* khtml/ecma/kjs_css.cpp:
(KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
* khtml/ecma/kjs_css.h:
(KJS::DOMCSSStyleDeclaration::):
* khtml/ecma/kjs_views.cpp:
(KJS::DOMAbstractViewProtoFunc::callAsFunction):
* khtml/ecma/kjs_views.h:
(KJS::DOMAbstractView::):
* khtml/xml/dom2_viewsimpl.cpp:
(DOM::AbstractViewImpl::getComputedStyle):
(DOM::AbstractViewImpl::getMatchedCSSRules):
* khtml/xml/dom2_viewsimpl.h:
* kwq/DOM-CSS.mm:
(-[DOMCSSStyleDeclaration getPropertyShorthand:]):
(-[DOMCSSStyleDeclaration isPropertyImplicit:]):
(-[DOMDocument getMatchedCSSRules::]):
* kwq/DOMPrivate.h:
2005-12-04 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- add PassRefPtr, a smart pointer class that works in conjunction
with RefPtr but has transfer-of-ownership semantics
- apply RefPtr and PassRefPtr to UString
* khtml/ecma/kjs_binding.cpp:
(KJS::UString::UString):
2005-12-05 Justin Garcia <justin.garcia@apple.com>
<http://bugs.webkit.org/show_bug.cgi?id=5936>
REGRESSION: selection keeps growing after double-click
Also filed as <rdar://problem/4364425>
Reviewed by darin, harrison
Rolled back previous change, simplified expansion, fixed
adjustForEditableContent to work in cases where start/end are
distinct from base/extent, renamed m_baseIsStart to m_baseIsFirst.
Added two new layout tests in editing/selection to test
modifying selections created with double and triple clicks.
* khtml/editing/SelectionController.cpp:
(khtml::SelectionController::SelectionController):
(khtml::SelectionController::init):
(khtml::SelectionController::operator=):
(khtml::SelectionController::expandUsingGranularity):
(khtml::SelectionController::adjustForEditableContent):
(khtml::SelectionController::validate):
* khtml/editing/SelectionController.h:
* khtml/khtml_part.cpp:
(KHTMLPart::handleMouseMoveEventSelection):
(KHTMLPart::khtmlMouseMoveEvent):
2005-12-05 Eric Seidel <eseidel@apple.com>
Rubber-stamped by mjs.
* WebCore.xcodeproj/project.pbxproj: updated paths for SVG move.
2005-12-05 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
No test cases possible/necessary.
Removing unused ForwardingHeaders, as well as header cleanup in SVG
Fixed KSVG2 files to include proper KDOM headers.
Fixed KDOM forwarding headers to point to correct khtml headers.
Added DataRef.h to hold khtml::DataRef.
Made SVGRenderStyle a DataRef on RenderStyle.
(Landing two bugs at once as their project file changes intertwine)
http://bugs.webkit.org/show_bug.cgi?id=5942
http://bugs.webkit.org/show_bug.cgi?id=5943
* ForwardingHeaders/kdom/DOMString.h:
* ForwardingHeaders/kdom/KDOMSettings.h:
* ForwardingHeaders/kdom/cache/KDOMCachedDocument.h:
* ForwardingHeaders/kdom/cache/KDOMCachedImage.h:
* ForwardingHeaders/kdom/cache/KDOMCachedObject.h:
* ForwardingHeaders/kdom/cache/KDOMCachedObjectClient.h:
* ForwardingHeaders/kdom/cache/KDOMCachedScript.h:
* ForwardingHeaders/kdom/cache/KDOMLoader.h:
* ForwardingHeaders/kdom/core/AttrImpl.h:
* ForwardingHeaders/kdom/core/CDFInterface.h: Removed.
* ForwardingHeaders/kdom/core/DOMImplementationImpl.h:
* ForwardingHeaders/kdom/core/DOMStringImpl.h:
* ForwardingHeaders/kdom/core/DocumentImpl.h:
* ForwardingHeaders/kdom/core/ElementImpl.h:
* ForwardingHeaders/kdom/core/NodeImpl.h:
* ForwardingHeaders/kdom/core/XMLElementImpl.h:
* ForwardingHeaders/kdom/css/CSSPrimitiveValueImpl.h:
* ForwardingHeaders/kdom/css/CSSStyleRuleImpl.h:
* ForwardingHeaders/kdom/css/CSSStyleSelector.h:
* ForwardingHeaders/kdom/css/CSSStyleSheetImpl.h:
* ForwardingHeaders/kdom/css/CSSValueImpl.h:
* ForwardingHeaders/kdom/css/KDOMCSSParser.h:
* ForwardingHeaders/kdom/css/RGBColorImpl.h:
* ForwardingHeaders/kdom/events/UIEventImpl.h:
* ForwardingHeaders/kdom/events/kdomevents.h:
* ForwardingHeaders/kdom/kdom.h:
* ForwardingHeaders/ksvg2/KSVGPart.h:
* ForwardingHeaders/ksvg2/KSVGView.h:
* WebCore+SVG/KDOMHeaders.h:
* WebCore+SVG/KDOMStubClasses.h: Removed.
* WebCore+SVG/kdomcss.h: Removed.
* WebCore+SVG/kdomls.h: Removed.
* WebCore+SVG/kdomrange.h: Removed.
* WebCore+SVG/kdomtraversal.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/KCanvasTreeDebug.cpp:
(writeStyle):
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::drawMarkersIfNeeded):
* khtml/rendering/DataRef.h: Added.
(khtml::DataRef::DataRef):
(khtml::DataRef::~DataRef):
(khtml::DataRef::operator->):
(khtml::DataRef::get):
(khtml::DataRef::access):
(khtml::DataRef::init):
(khtml::DataRef::operator=):
(khtml::DataRef::operator == ):
(khtml::DataRef::operator != ):
* khtml/rendering/render_style.cpp:
(m_affectedByAttributeSelectors):
(RenderStyle::RenderStyle):
(RenderStyle::inheritFrom):
(RenderStyle::~RenderStyle):
(RenderStyle::operator==):
(RenderStyle::inheritedNotEqual):
(RenderStyle::diff):
* khtml/rendering/render_style.h:
(khtml::RenderStyle::svgStyle):
(khtml::RenderStyle::accessSVGStyle):
* ksvg2/css/SVGCSSStyleSelector.cpp:
(KDOM::CSSStyleSelector::applySVGProperty):
* ksvg2/css/SVGRenderStyle.cpp:
(SVGRenderStyle::SVGRenderStyle):
(SVGRenderStyle::inheritedNotEqual):
* ksvg2/css/SVGRenderStyle.h:
(KSVG::SVGRenderStyle::operator!=):
* ksvg2/css/SVGRenderStyleDefs.cpp:
* ksvg2/misc/KCanvasRenderingStyle.h:
* ksvg2/svg/SVGAElementImpl.cpp:
(SVGAElementImpl::defaultEventHandler):
* ksvg2/svg/SVGAnimationElementImpl.cpp:
* ksvg2/svg/SVGClipPathElementImpl.cpp:
* ksvg2/svg/SVGCursorElementImpl.cpp:
* ksvg2/svg/SVGDOMImplementationImpl.cpp:
* ksvg2/svg/SVGDOMImplementationImpl.h:
* ksvg2/svg/SVGDocumentImpl.cpp:
* ksvg2/svg/SVGDocumentImpl.h:
* ksvg2/svg/SVGElementImpl.h:
* ksvg2/svg/SVGFEFloodElementImpl.cpp:
(SVGFEFloodElementImpl::filterEffect):
* ksvg2/svg/SVGGradientElementImpl.cpp:
* ksvg2/svg/SVGStyleElementImpl.cpp:
* ksvg2/svg/SVGStyledElementImpl.cpp:
* ksvg2/svg/SVGURIReferenceImpl.h:
* ksvg2/svg/SVGZoomAndPanImpl.h:
2005-12-05 Eric Seidel <eseidel@apple.com>
Reviewed by timo.
5 test cases updated, no additional tests needed.
Removed KCPathData, KCPathDataList and KCanvasUserData.
Added KCanvasPath and KCanvasPathQuartz instead.
Updated methods to expect KCanvasPath* types and use RefPtr.
Removed no longer needed KCPathDataList -> KCanvasUserData routines
http://bugs.webkit.org/show_bug.cgi?id=5747
* WebCore.xcodeproj/project.pbxproj: added KCanvasPath(Quartz)
* kcanvas/KCanvasCreator.cpp:
(KCanvasCreator::createRoundedRectangle): updated to KCanvasPath*
(KCanvasCreator::createRectangle): updated to KCanvasPath*
(KCanvasCreator::createEllipse): updated to KCanvasPath*
(KCanvasCreator::createCircle): updated to KCanvasPath*
(KCanvasCreator::createLine): updated to KCanvasPath*
* kcanvas/KCanvasCreator.h:
* kcanvas/KCanvasItem.cpp:
(RenderPath::Private::Private): updated to KCanvasPath*
(RenderPath::~RenderPath):
(RenderPath::changePath):
(RenderPath::path): updated to KCanvasPath*
* kcanvas/KCanvasItem.h:
* kcanvas/KCanvasMatrix.cpp:
* kcanvas/KCanvasMatrix.h:
* kcanvas/KCanvasPath.cpp:
(operator<<): updated to call device->stringForPath()
* kcanvas/KCanvasPath.h:
(KCanvasPath::~KCanvasPath):
(KCClipDataList::addPath): updated to KCanvasPath*
* kcanvas/KCanvasResources.cpp:
(KCanvasClipper::addClipData): updated to KCanvasPath*
* kcanvas/KCanvasResources.h:
* kcanvas/KCanvasTypes.h:
* kcanvas/device/KRenderingDevice.cpp:
(KCanvasCommonArgs::path): updated to KCanvasPath*
(KCanvasCommonArgs::setPath): updated to KCanvasPath*
(KRenderingDevice::KRenderingDevice):
* kcanvas/device/KRenderingDevice.h:
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::paint): updated to KCanvasPath*
(KCanvasItemQuartz::bboxForPath): updated to KCanvasPath*
(KCanvasItemQuartz::hitsPath): updated to KCanvasPath*
* kcanvas/device/quartz/KCanvasPathQuartz.h: Added.
(KCanvasPathQuartz::cgPath): updated to KCanvasPath*
* kcanvas/device/quartz/KCanvasPathQuartz.mm: Added.
(KCanvasPathQuartz::KCanvasPathQuartz): added
(KCanvasPathQuartz::~KCanvasPathQuartz): added
(KCanvasPathQuartz::isEmpty): added
(KCanvasPathQuartz::moveTo): added
(KCanvasPathQuartz::lineTo): added
(KCanvasPathQuartz::curveTo): added
(KCanvasPathQuartz::closeSubpath): added
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
(KCanvasClipperQuartz::applyClip): updated to KCanvasPath*
* kcanvas/device/quartz/KRenderingDeviceQuartz.h:
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(KRenderingDeviceQuartz::createPath): added
(KRenderingDeviceQuartz::stringForPath): updated to KCanvasPath*
(KRenderingDeviceQuartz::createItem): updated to KCanvasPath*
* kcanvas/device/quartz/QuartzSupport.h:
* kcanvas/device/quartz/QuartzSupport.mm:
* ksvg2/svg/SVGCircleElementImpl.cpp:
(SVGCircleElementImpl::toPathData): updated to KCanvasPath*
* ksvg2/svg/SVGCircleElementImpl.h:
* ksvg2/svg/SVGClipPathElementImpl.cpp:
(SVGClipPathElementImpl::canvasResource): updated to KCanvasPath*
* ksvg2/svg/SVGEllipseElementImpl.cpp:
(KSVG::SVGEllipseElementImpl::toPathData): updated to KCanvasPath*
* ksvg2/svg/SVGEllipseElementImpl.h:
* ksvg2/svg/SVGImageElementImpl.cpp:
(SVGImageElementImpl::createRenderer): updated to KCanvasPath*
* ksvg2/svg/SVGLineElementImpl.cpp:
(SVGLineElementImpl::toPathData): updated to KCanvasPath*
* ksvg2/svg/SVGLineElementImpl.h:
* ksvg2/svg/SVGPathElementImpl.cpp:
(KSVG::SVGPathElementImpl::toPathData): updated to KCanvasPath*
* ksvg2/svg/SVGPathElementImpl.h:
* ksvg2/svg/SVGPolygonElementImpl.cpp:
(SVGPolygonElementImpl::toPathData): updated to KCanvasPath*
* ksvg2/svg/SVGPolygonElementImpl.h:
* ksvg2/svg/SVGPolylineElementImpl.cpp:
(SVGPolylineElementImpl::toPathData): updated to KCanvasPath*
* ksvg2/svg/SVGPolylineElementImpl.h:
* ksvg2/svg/SVGRectElementImpl.cpp:
(SVGRectElementImpl::toPathData): updated to KCanvasPath*
* ksvg2/svg/SVGRectElementImpl.h:
* ksvg2/svg/SVGStyledElementImpl.cpp:
(SVGStyledElementImpl::createRenderer): updated to KCanvasPath*
(SVGStyledElementImpl::updateCanvasItem): updated to KCanvasPath*
(SVGStyledElementImpl::pushAttributeContext):
* ksvg2/svg/SVGStyledElementImpl.h:
(KSVG::SVGStyledElementImpl::toPathData): updated to KCanvasPath*
2005-12-05 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fixed <rdar://problem/4364374> Denver Regression: ModBlog.com user menus don't stay visible due to extra mouseout events (5668)
http://bugs.webkit.org/show_bug.cgi?id=5668
* khtml/khtmlview.cpp: (KHTMLView::dispatchMouseEvent): Do the same "skip text node"
logic for the "oldUnder" variable as for the "targetNode" variable.
2005-12-05 John Sullivan <sullivan@apple.com>
Reviewed by Darin Adler.
Fixed a problem from the patch to fix <rdar://problem/4365690>. After that checkin, KWQKHTMLPart was
inadvertently left with both centerSelectionInVisibleArea() and centerSelectionInVisibleArea() const.
* kwq/KWQKHTMLPart.h:
renamed centerSelectionInVisibleArea() to revealSelection(). This is the method that
was named jumpToSelection() before my recent checkin.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::findString):
call revealSelection() rather than centerSelectionInVisibleArea(); this restores the
behavior from before my recent checkin.
(KWQKHTMLPart::revealSelection):
renamed from centerSelectionInVisibleArea()
(KWQKHTMLPart::advanceToNextMisspelling):
call revealSelection() rather than centerSelectionInVisibleArea(); this restores the
behavior from before my recent checkin.
* kwq/WebCoreBridge.h:
removed one of the two declarations of centerSelectionInVisibleArea()
2005-12-05 John Sullivan <sullivan@apple.com>
Reviewed by Tim Omernick.
Removed some dead code I happened to stumble across. No test cases added.
* kwq/KWQTimer.h:
removed unused immediateSingleShotOnMainThread()
* kwq/KWQTimer.mm:
removed unused immediateSingleShotOnMainThread() and the class KWQMainThreadPerformTarget
that was used to implement it.
2005-12-05 John Sullivan <sullivan@apple.com>
Reviewed by Tim Omernick.
- WebCore part of fix for
<rdar://problem/4365690> Find > Jump to Selection does nothing on plain-text documents (inc. source HTML)
No behavioral changes here. This patch just eliminates the name "jumpToSelection" in favor of
"centerSelectionInVisibleArea" to match WebKit and AppKit.
* kwq/KWQKHTMLPart.h:
eliminate jumpToSelection(); add centerSelectionInVisibleArea()
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::findString):
use centerSelectionInVisibleArea() instead of jumpToSelection()
(KWQKHTMLPart::centerSelectionInVisibleArea):
renamed from jumpToSelection
(KWQKHTMLPart::advanceToNextMisspelling):
use centerSelectionInVisibleArea() instead of jumpToSelection()
* kwq/WebCoreBridge.h:
eliminate jumpToSelection; add centerSelectionInVisibleArea
* kwq/WebCoreBridge.mm:
eliminate jumpToSelection. We had been implementing both jumpToSelection and
centerSelectionInVisibleArea here, but jumpToSelection now has no more callers.
2005-12-05 Vicki Murley <vicki@apple.com>
Reviewed by John.
- fix <rdar://problem/4363132> Regression: status bar shows wrong text when mousing over links
in wacky frameset at directory.apple.com
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge elementAtPoint:]): reuse point to work with nested frames; add the overflow clip to
accommodate any scrolling
2005-12-04 Eric Seidel <eseidel@apple.com>
Reviewed by ggaren.
No additional test cases needed (or possible).
Further dom/* cleanup, also removing extra forwarding headers
http://bugs.webkit.org/show_bug.cgi?id=5930
* ForwardingHeaders/dom/dom2_views.h: Removed.
* ForwardingHeaders/dom/dom_core.h: Removed.
* ForwardingHeaders/dom/dom_doc.h: Removed.
* ForwardingHeaders/dom/dom_element.h: Removed.
* ForwardingHeaders/dom/dom_misc.h: Removed.
* ForwardingHeaders/dom/dom_text.h: Removed.
* ForwardingHeaders/dom/dom_xml.h: Removed.
* ForwardingHeaders/dom/html_base.h: Removed.
* ForwardingHeaders/dom/html_block.h: Removed.
* ForwardingHeaders/dom/html_document.h: Removed.
* ForwardingHeaders/dom/html_element.h: Removed.
* ForwardingHeaders/dom/html_form.h: Removed.
* ForwardingHeaders/dom/html_head.h: Removed.
* ForwardingHeaders/dom/html_image.h: Removed.
* ForwardingHeaders/dom/html_inline.h: Removed.
* ForwardingHeaders/dom/html_list.h: Removed.
* ForwardingHeaders/dom/html_misc.h: Removed.
* ForwardingHeaders/dom/html_object.h: Removed.
* ForwardingHeaders/dom/html_table.h: Removed.
* ForwardingHeaders/ecma/kjs_css.h: Removed.
* ForwardingHeaders/ecma/kjs_html.h: Removed.
* ForwardingHeaders/ecma/kjs_html.lut.h: Removed.
* ForwardingHeaders/ecma/kjs_views.h: Removed.
* ForwardingHeaders/ecma/kjs_views.lut.h: Removed.
* ForwardingHeaders/ecma/kjs_window.h: Removed.
* ForwardingHeaders/html/dtd.h: Removed.
* ForwardingHeaders/kdom/KDOMPart.h: Removed.
* ForwardingHeaders/kdom/KDOMView.h: Removed.
* ForwardingHeaders/kdom/core/NodeListImpl.h: Removed.
* ForwardingHeaders/kdom/css/CSSMediaRuleImpl.h: Removed.
* ForwardingHeaders/kdom/css/CSSRuleImpl.h: Removed.
* ForwardingHeaders/kdom/css/CSSRuleListImpl.h: Removed.
* ForwardingHeaders/kdom/css/cssproperties.h: Removed.
* ForwardingHeaders/kdom/css/cssvalues.h: Removed.
* ForwardingHeaders/kdom/events/DocumentEventImpl.h: Removed.
* ForwardingHeaders/kdom/parser/KDOMDocumentBuilder.h: Removed.
* ForwardingHeaders/kdomcssproperties.h: Removed.
* ForwardingHeaders/kdomcssvalues.h: Removed.
* ForwardingHeaders/kinstance.h: Removed.
* ForwardingHeaders/kjs/identifier.h: Removed.
* ForwardingHeaders/kjs/property_map.h: Removed.
* ForwardingHeaders/kjs/protected_object.h: Removed.
* ForwardingHeaders/kjs/scope_chain.h: Removed.
* ForwardingHeaders/kjs/ustring.h: Removed.
* ForwardingHeaders/kjs/value.h: Removed.
* ForwardingHeaders/ksvg2/svg/svgtags.h: Removed.
* ForwardingHeaders/q3intdict.h: Removed.
* ForwardingHeaders/q3memarray.h: Removed.
* ForwardingHeaders/q3ptrcollection.h: Removed.
* ForwardingHeaders/q3ptrdict.h: Removed.
* ForwardingHeaders/qcstring.h: Removed.
* ForwardingHeaders/qcursor.h: Removed.
* ForwardingHeaders/qintdict.h: Removed.
* ForwardingHeaders/qpair.h: Removed.
* ForwardingHeaders/qprinter.h: Removed.
* ForwardingHeaders/qptrcollection.h: Removed.
* ForwardingHeaders/qsize.h: Removed.
* ForwardingHeaders/qsortedlist.h: Removed.
* ForwardingHeaders/qvaluevector.h: Removed.
* ForwardingHeaders/xml/dom_positioniterator.h: Removed.
* khtml/css/css_ruleimpl.cpp:
* khtml/dom/css_value.h:
* khtml/dom/dom2_events.cpp:
* khtml/dom/dom2_events.h:
* khtml/dom/dom2_range.h:
* khtml/dom/dom2_traversal.cpp:
* khtml/dom/dom_exception.h:
* khtml/dom/dom_node.h:
* khtml/dom/dom_string.cpp:
* khtml/ecma/kjs_traversal.cpp:
2005-12-04 Anders Carlsson <andersca@mac.com>
Reviewed by Darin and Geoffrey.
- Fixes <http://bugs.webkit.org/show_bug.cgi?id=4194>
Reproducible Poof Crash when using search field at mathworks.com
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::setFocusNode):
Don't send onblur to a node if m_inDetach is true.
* khtml/xml/dom_nodeimpl.cpp:
(DOM::NodeImpl::detach):
Set m_inDetach to true while calling RenderObject::destroy.
* khtml/xml/dom_nodeimpl.h:
Add m_inDetach flag.
* manual-tests/onblur-remove.html: Added.
2005-12-04 Eric Seidel <eseidel@apple.com>
No review needed, WebCore+SVG build fix only.
I broke the WebCore+SVG build when removing dom_misc.h, fixing.
* WebCore+SVG/KDOMHeaders.h: remove reference to dom_misc.h
2005-12-04 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
No functionality changes, no test cases possible or necessary.
Removed dom_misc.* and changed to use Shared instead of DOMShared.
Also removed FilterNode typedef, now using NodeImpl* directly.
http://bugs.webkit.org/show_bug.cgi?id=5929
* WebCore.xcodeproj/project.pbxproj:
* khtml/css/css_base.h:
* khtml/dom/dom2_events.h:
* khtml/dom/dom2_traversal.cpp:
(DOM::NodeFilterCondition::acceptNode):
* khtml/dom/dom2_traversal.h:
* khtml/dom/dom_exception.h:
* khtml/dom/dom_misc.cpp: Removed.
* khtml/dom/dom_misc.h: Removed.
* khtml/ecma/kjs_traversal.cpp:
(KJS::JSNodeFilterCondition::acceptNode):
* khtml/ecma/kjs_traversal.h:
* kwq/DOM.mm:
(ObjCNodeFilterCondition::acceptNode):
2005-12-04 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
No test cases possible, no function changes.
Remove rotten #ifdef'd code from the source:
APPLE_CHANGES & KHTML_NO_CPLUSPLUS_DOM
http://bugs.webkit.org/show_bug.cgi?id=5877
* khtml/dom/css_rule.h:
(DOM::CSSRule::):
* khtml/dom/css_stylesheet.h:
* khtml/dom/css_value.h:
(DOM::CSSValue::):
(DOM::CSSPrimitiveValue::):
* khtml/dom/dom2_events.cpp:
(DOM::EventListener::handleEventImpl):
* khtml/dom/dom2_events.h:
(DOM::Event::):
(DOM::EventException::):
(DOM::MutationEvent::):
* khtml/dom/dom2_range.h:
(DOM::RangeException::):
(DOM::Range::):
* khtml/dom/dom2_traversal.cpp:
* khtml/dom/dom2_traversal.h:
(DOM::NodeFilter::):
* khtml/dom/dom_exception.h:
(DOM::DOMException::):
* khtml/dom/dom_misc.cpp:
(DOM::DomShared::~DomShared):
* khtml/dom/dom_misc.h:
(DOM::DomShared::deleteMe):
* khtml/dom/dom_node.h:
(DOM::Node::):
* khtml/ecma/kjs_events.cpp:
(KJS::JSAbstractEventListener::handleEvent):
* khtml/ecma/kjs_traversal.cpp:
(KJS::JSNodeFilterCondition::acceptNode):
* khtml/khtml_part.cpp:
(KHTMLPart::stopLoading):
* khtml/khtml_part.h:
* khtml/khtmlview.cpp:
(KHTMLView::viewportMousePressEvent):
(KHTMLView::focusNextPrevNode):
* kwq/KWQKConfigBase.h:
* kwq/KWQKHTMLPageCache.h:
* kwq/KWQPointArray.h:
2005-12-03 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin.
Fixed <rdar://problem/4364302> leftmargin and topmargin should match
marginwidth and marginheight respectively
Layout test added:
positioning/leftmargin-topmargin-expected.txt
positioning/leftmargin-topmargin.html
* khtml/html/html_baseimpl.cpp:
(HTMLBodyElementImpl::parseMappedAttribute): Merged
leftmargin/marginwidth, topmargin/marginheight
2005-12-03 Justin Garcia <justin.garcia@apple.com>
<http://bugs.webkit.org/show_bug.cgi?id=5856>
Selection based in an editable block can extend outside
validate() used to do expansion of the selection. The expansion
itself wasn't validated, so it could create a selection
that extended outside an editable area. Also m_base and
m_extent weren't updated with the results of the expansion.
Reviewed by darin
Layout tests added:
* editing/selection/expanding-selections
* editing/selection/expanding-selections2
* khtml/editing/SelectionController.cpp:
(khtml::SelectionController::expandUsingGranularity): Does the expansion.
(khtml::SelectionController::validate): Removed the granularity parameter.
* khtml/editing/SelectionController.h:
2005-12-03 Geoffrey Garen <ggaren@apple.com>
Reviewed by Kevin.
Fixed <rdar://problem/3918897> trailer windows at haroldandkumar.com
show up wrong size (with scroll bars)
We had the wrong default features for new windows. The IE rule is:
all features except for channelmode and fullscreen default to YES, but
if the user specifies a feature string, all features default to NO.
(There is no public standard that applies to this method.)
<http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/open_0.asp>
No test case because testing requires a call to window.open, which
DumpRenderTree can't simulate.
* khtml/ecma/kjs_window.cpp:
(KJS::WindowFunc::callAsFunction):
* kwq/KWQKPartsBrowserExtension.h:
(KParts::WindowArgs::WindowArgs):
2005-12-01 Anders Carlsson <andersca@mac.com>
Reviewed by Darin.
- Fix <http://bugs.webkit.org/show_bug.cgi?id=4340>
Safari not supporting disabled in multi select option tag.
* khtml/rendering/render_form.cpp:
(RenderSelect::updateFromElement):
Update calls to append functions to set the enabled state of items.
* kwq/KWQComboBox.h:
(QComboBox::appendItem):
(QComboBox::appendGroupLabel):
(QComboBox::appendSeparator):
Add enabled parameter to append functions.
* kwq/KWQComboBox.mm:
(QComboBox::QComboBox):
Don't autoenable menu items on the popup button since that's handled
manually now.
(QComboBox::setTitle):
Set enabled state on menu items.
(QComboBox::appendItem):
Add enabled parameter.
* kwq/KWQListBox.h:
(KWQListBoxItem::KWQListBoxItem):
Add enabled variable to item struct.
(QListBox::appendItem):
(QListBox::appendGroupLabel):
Add enabled parameter to append functions.
* kwq/KWQListBox.mm:
(QListBox::appendItem):
Add enabled parameter.
(-[KWQTableView tableView:shouldSelectRow:]):
Only select the row if the item is enabled.
(-[KWQTableView drawRow:clipRect:]):
Draw using the disabled color if the row is disabled.
* manual-tests/disabled-option-elements.html: Added.
2005-12-02 Darin Adler <darin@apple.com>
Reviewed by Beth
Fix for <rdar://problem/4358898> TOT/GLENDALE REGRESSION: Table
layout issue occurs at http://www.pixar.com/shorts/index.html and
http://www.mitzpettel.com.
This fix rolls out a line from the fix for <rdar://problem/3871165>
text box in nested table disappears when you click on it (3452)
(Safari PSOFT: US EDU PS8: Lead List searches). This line causes
the above regressions. To fix the original problem, we realized
that TableLayout::calcEffectiveWidth() essentially ignored setting
the minimum and maximum widths of cells of width 0 (thereby ignoring
cells in colspans when every cell in a column was part of a colspan).
* khtml/rendering/render_table.cpp:
(RenderTableSection::addCell): Roll out from the original fix.
* khtml/rendering/table_layout.cpp:
(AutoTableLayout::calcEffectiveWidth): Set effMinWidth and effMaxWidth
of a cell even when maxw or maxWidth is 0.
2005-12-02 Eric Seidel <eseidel@apple.com>
Reviewed by Tim H.
Added ending newlines to files missing them.
* ForwardingHeaders/kjs/property_map.h:
* khtml/rendering/break_lines.cpp:
* khtml/xbl/xbl_binding.h:
* khtml/xbl/xbl_protobinding.h:
* khtml/xbl/xbl_protohandler.h:
* kwq/DOM-compat.h:
* kwq/KWQTextUtilities.h:
* kwq/WebCoreKeyboardAccess.h:
2005-12-02 Eric Seidel <eseidel@apple.com>
No review needed, SVG build fix only.
SVG Build fix after SharedPtr -> RefPtr changes.
* ksvg2/events/SVGZoomEventImpl.h:
* ksvg2/svg/SVGAElementImpl.h:
* ksvg2/svg/SVGAnimateColorElementImpl.h:
* ksvg2/svg/SVGAnimateTransformElementImpl.h:
* ksvg2/svg/SVGAnimatedTemplate.h:
* ksvg2/svg/SVGAnimationElementImpl.cpp:
(SVGAnimationElementImpl::parseMappedAttribute):
* ksvg2/svg/SVGAnimationElementImpl.h:
* ksvg2/svg/SVGCircleElementImpl.h:
* ksvg2/svg/SVGClipPathElementImpl.h:
* ksvg2/svg/SVGComponentTransferFunctionElementImpl.h:
* ksvg2/svg/SVGCursorElementImpl.h:
* ksvg2/svg/SVGEllipseElementImpl.h:
* ksvg2/svg/SVGExternalResourcesRequiredImpl.h:
* ksvg2/svg/SVGFEBlendElementImpl.h:
* ksvg2/svg/SVGFEColorMatrixElementImpl.h:
* ksvg2/svg/SVGFEComponentTransferElementImpl.h:
* ksvg2/svg/SVGFECompositeElementImpl.h:
* ksvg2/svg/SVGFEDiffuseLightingElementImpl.h:
* ksvg2/svg/SVGFEFloodElementImpl.h:
* ksvg2/svg/SVGFEGaussianBlurElementImpl.h:
* ksvg2/svg/SVGFEImageElementImpl.h:
* ksvg2/svg/SVGFELightElementImpl.h:
* ksvg2/svg/SVGFEMergeNodeElementImpl.h:
* ksvg2/svg/SVGFEOffsetElementImpl.h:
* ksvg2/svg/SVGFESpecularLightingElementImpl.h:
* ksvg2/svg/SVGFETileElementImpl.h:
* ksvg2/svg/SVGFETurbulenceElementImpl.h:
* ksvg2/svg/SVGFilterElementImpl.h:
* ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.h:
* ksvg2/svg/SVGFitToViewBoxImpl.h:
* ksvg2/svg/SVGGradientElementImpl.h:
* ksvg2/svg/SVGHelper.h:
(KSVG::lazy_create):
* ksvg2/svg/SVGImageElementImpl.h:
* ksvg2/svg/SVGLineElementImpl.h:
* ksvg2/svg/SVGLinearGradientElementImpl.h:
* ksvg2/svg/SVGMarkerElementImpl.h:
* ksvg2/svg/SVGPathElementImpl.h:
* ksvg2/svg/SVGPatternElementImpl.h:
* ksvg2/svg/SVGPolyElementImpl.h:
* ksvg2/svg/SVGRadialGradientElementImpl.h:
* ksvg2/svg/SVGRectElementImpl.h:
* ksvg2/svg/SVGSVGElementImpl.h:
* ksvg2/svg/SVGStopElementImpl.h:
* ksvg2/svg/SVGStyleElementImpl.h:
* ksvg2/svg/SVGStyledElementImpl.h:
* ksvg2/svg/SVGStyledTransformableElementImpl.h:
* ksvg2/svg/SVGTestsImpl.h:
* ksvg2/svg/SVGTextContentElementImpl.h:
* ksvg2/svg/SVGTextPositioningElementImpl.h:
* ksvg2/svg/SVGTransformImpl.h:
* ksvg2/svg/SVGURIReferenceImpl.h:
* ksvg2/svg/SVGUseElementImpl.h:
* ksvg2/svg/SVGViewElementImpl.h:
2005-12-02 Eric Seidel <eseidel@apple.com>
No review needed.
* ksvg2/scripts/make_names.pl: Add standard license header.
2005-12-02 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
- fix for <rdar://problem/4360657> Regression: Seed: WebKit image scaling broken
We're backing out the fix for <rdar://problem/3952698>.
With the new button implementation, the buttons will
not overlap for the telia webmail case. We may need to address
the minWidth behavior for other elements at a later time.
* khtml/rendering/render_form.cpp:
(RenderLineEdit::calcMinMaxWidth):
(RenderTextArea::calcMinMaxWidth):
* khtml/rendering/render_replaced.cpp:
(RenderReplaced::calcMinMaxWidth):
2005-12-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by NOBODY (OOPS!).
Fixed <rdar://problem/4344954> Glendale REGRESSION (Safari 416.12-417.2)
cannot tab to next input field after tab-completing an email address in
gmail.
Implemented work-around to conceal the selectionEnd property if the
document is on the gmail domain. We'll remove this code once Google
fixes its site.
No testcase because this is a domain-specific work-around.
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLElement::textAreaGetter):
2005-12-01 Maciej Stachowiak <mjs@apple.com>
SVG build fix, not reviewed.
- land the ksvg2 part of my SharedPtr --> RefPtr change, which I
forgot about before.
* ksvg2/misc/KSVGTimeScheduler.cpp:
(KSVG::SVGTimer::notifyAll):
* ksvg2/svg/SVGAnimateColorElementImpl.cpp:
(SVGAnimateColorElementImpl::handleTimerEvent):
* ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
(SVGAnimateTransformElementImpl::handleTimerEvent):
(SVGAnimateTransformElementImpl::parseTransformValue):
(SVGAnimateTransformElementImpl::initialMatrix):
* ksvg2/svg/SVGAnimationElementImpl.cpp:
(SVGAnimationElementImpl::parseMappedAttribute):
* ksvg2/svg/SVGDocumentImpl.cpp:
(SVGDocumentImpl::~SVGDocumentImpl):
(SVGDocumentImpl::dispatchZoomEvent):
(SVGDocumentImpl::dispatchScrollEvent):
(SVGDocumentImpl::dispatchKeyEvent):
(SVGDocumentImpl::executeScripts):
(SVGDocumentImpl::dispatchUIEvent):
(SVGDocumentImpl::dispatchMouseEvent):
* ksvg2/svg/SVGLocatableImpl.cpp:
(SVGLocatableImpl::getCTM):
(SVGLocatableImpl::getScreenCTM):
* ksvg2/svg/SVGMarkerElementImpl.cpp:
(SVGMarkerElementImpl::canvasResource):
* ksvg2/svg/SVGPatternElementImpl.cpp:
(SVGPatternElementImpl::drawPatternContentIntoTile):
(SVGPatternElementImpl::getCTM):
* ksvg2/svg/SVGSVGElementImpl.cpp:
(SVGSVGElementImpl::viewport):
(SVGSVGElementImpl::checkIntersection):
(SVGSVGElementImpl::checkEnclosure):
(SVGSVGElementImpl::getCTM):
(SVGSVGElementImpl::getScreenCTM):
* ksvg2/svg/SVGScriptElementImpl.cpp:
(SVGScriptElementImpl::executeScript):
* ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
(SVGStyledTransformableElementImpl::updateLocalTransform):
2005-12-02 Vicki Murley <vicki@apple.com>
Reviewed by Darin.
- fix <rdar://problem/4361048> Regression: Seed: scrolling with scrollwheel, trackpad
doesn't work for nested framesets at gmail.com
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::passWheelEventToChildWidget):
* manual-tests/resources/lorem-text.html: Added.
* manual-tests/resources/nestedframesets.html: Added.
* manual-tests/scrolling-nestedframesets.html: Added.
2005-12-02 Andre Boule <aboule@apple.com>
Reviewed by rjw.
Added #else for XSLT ifdef to make sure switch case
doesn't fall through when feature turned off.
* khtml/ecma/kjs_window.cpp:
(KJS::Window::getValueProperty):
2005-12-02 David Hyatt <hyatt@apple.com>
<rdar://problem/4356387> Glendale Regression: Some text
does not render in the CIFilterBrowser widget anymore (tables overflow)
Fix for overflow clipping bug when a positioned element is
inserted in between two overflow:hidden elements in a
document.
Reviewed by beth
fast/clip/018.html
* khtml/rendering/render_layer.cpp:
(khtml::RenderLayer::calculateClipRects):
2005-12-02 Anders Carlsson <andersca@mac.com>
Reviewed by Timothy.
* WebCore.xcodeproj/project.pbxproj:
Remove KWQRefPtr.h
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::paint):
Remove a call to notNull here.
2005-12-02 Timothy Hatcher <timothy@apple.com>
Reviewed by Maciej.
Cache the lastItem and lastItemOffset for fast retrieval of the
same index or indeicies greater than lastItemOffset. Also cache
the length. Like other node lists these cached values rest when the
subtree under the root node changes.
* khtml/xml/dom_nodeimpl.cpp:
(ChildNodeListImpl::length): Use cachedLength when possible.
(ChildNodeListImpl::item): Use lastItemOffset and lastItem if we can.
2005-12-01 Graham Dennis <Graham.Dennis@gmail.com>
<http://bugs.webkit.org/show_bug.cgi?id=4003>
contentEditable div cannot be edited if it starts out with empty or <p/>
Reviewed/tweaked/landed by justin
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::init): A position at the original block
shouldn't be considered 'outside' the original block.
(khtml::hasRenderedChildrenWithHeight): Added.
(khtml::VisiblePosition::isCandidate): A block flow element with
rendered children may be considered a candidate for a visible
position, as long as its children do not have a positive height.
2005-12-01 Maciej Stachowiak <mjs@apple.com>
Reviewed by Tim Hatcher.
- removed deprecated reset, isNull and nonNull methods
- replaced use of KWQRefPtr with RefPtr
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNode::toBoolean):
(KJS::DOMNode::toPrimitive):
(KJS::DOMNode::toString):
(KJS::DOMNodeList::toPrimitive):
* khtml/ecma/kjs_html.cpp:
(KJS::OptionConstructorImp::construct):
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::getValueProperty):
(KJS::XMLHttpRequest::putValueProperty):
(KJS::XMLHttpRequest::mark):
(KJS::XMLHttpRequest::changeState):
(KJS::XMLHttpRequest::open):
* khtml/editing/edit_command.cpp:
* khtml/html/html_tableimpl.cpp:
(DOM::HTMLTableSectionElementImpl::insertRow):
(DOM::HTMLTableSectionElementImpl::deleteRow):
(DOM::HTMLTableRowElementImpl::insertCell):
(DOM::HTMLTableRowElementImpl::deleteCell):
* khtml/khtml_part.cpp:
(KHTMLPart::scheduleScript):
(KHTMLPart::executeScheduledScript):
(KHTMLPart::clear):
(KHTMLPart::khtmlMousePressEvent):
* khtml/khtmlview.cpp:
(KHTMLViewPrivate::reset):
(KHTMLView::updateDragAndDrop):
(KHTMLView::cancelDragAndDrop):
(KHTMLView::performDragAndDrop):
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::updateFirstLetter):
* khtml/rendering/render_text.cpp:
(RenderText::setStyle):
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::prepareMouseEvent):
* khtml/xml/dom_elementimpl.cpp:
(NamedAttrMapImpl::setNamedItem):
* khtml/xml/dom_nodeimpl.h:
(DOM::NodeImpl::MouseEvent::MouseEvent):
* kwq/KWQArrayImpl.h:
* kwq/KWQArrayImpl.mm:
(KWQArrayImpl::KWQArrayPrivate::KWQArrayPrivate):
(KWQArrayImpl::duplicate):
(KWQArrayImpl::detach):
* kwq/KWQClipboard.mm:
(KWQClipboard::setDragImage):
(KWQClipboard::dragNSImage):
* kwq/KWQFontMetrics.h:
* kwq/KWQFontMetrics.mm:
(QFontMetricsPrivate::QFontMetricsPrivate):
(QFontMetrics::setFont):
(QFontMetrics::ascent):
(QFontMetrics::descent):
(QFontMetrics::lineSpacing):
(QFontMetrics::xHeight):
(QFontMetrics::width):
(QFontMetrics::floatWidth):
(QFontMetrics::checkSelectionPoint):
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::paint):
(KWQKHTMLPart::openURLFromPageCache):
(KWQKHTMLPart::khtmlMousePressEvent):
(KWQKHTMLPart::khtmlMouseMoveEvent):
(KWQKHTMLPart::dragSourceMovedTo):
(KWQKHTMLPart::dragSourceEndedAt):
(KWQKHTMLPart::mouseDown):
(KWQKHTMLPart::snapshotDragImage):
(KWQKHTMLPart::markMisspellings):
(KWQKHTMLPart::setMarkedTextRange):
* kwq/KWQMapImpl.h:
* kwq/KWQMapImpl.mm:
(KWQMapImpl::KWQMapPrivate::KWQMapPrivate):
(KWQMapImpl::copyOnWrite):
(KWQMapImpl::swap):
* kwq/KWQRefPtr.h: Removed.
* kwq/KWQRegExp.h:
* kwq/KWQRegExp.mm:
(QRegExp::KWQRegExpPrivate::KWQRegExpPrivate):
(QRegExp::operator=):
* kwq/KWQValueListImpl.h:
* kwq/KWQValueListImpl.mm:
(KWQValueListImpl::KWQValueListPrivate::KWQValueListPrivate):
(KWQValueListImpl::operator=):
(KWQValueListImpl::copyOnWrite):
* kwq/KWQVariant.h:
* kwq/KWQVariant.mm:
(QVariant::QVariantPrivate::):
(QVariant::QVariantPrivate::QVariantPrivate):
2005-12-01 Timothy Hatcher <timothy@apple.com>
Reviewed by Beth.
Another fix for 4098083 to apply to sliders.
<rdar://problem/4098083> REGRESSION (125-312): crash
in [KWQTableView resignFirstResponder] selecting from JS menu
(car4you.at, etc.)
Since it is possible that a render widget's eventFilterObject
has been destroyed even though the render widget is still ref-ed,
we need to nil-check the eventFilterObject before we use it to get
the eventFilter.
* kwq/KWQSlider.mm:
(-[KWQSlider becomeFirstResponder]): Added nil check.
(-[KWQSlider resignFirstResponder]): Added nil check.
2005-12-01 Adele Peterson <adele@apple.com>
Reviewed by Vicki and Dave Harrsion.
- fixed <rdar://problem/4356771> Regression: Mail always scrolls to the bottom of a message when replying/forwarding
Fixed a bug in getRect where the code would return a zero sized rect at the
lower right corner if the origin was 0,0. This was causing the scrolling code to
attempt to scroll to the lower left corner of the editable html element in Mail.
Added test:
* editing/selection/focus_editable_html.html
* khtml/xml/dom_nodeimpl.cpp:
(DOM::ContainerNodeImpl::getRect):
2005-12-01 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- renamed SharedPtr to RefPtr via script
* ForwardingHeaders/kxmlcore/RefPtr.h: Added.
* ForwardingHeaders/kxmlcore/SharedPtr.h: Removed.
* khtml/css/css_computedstyle.h:
* khtml/ecma/XSLTProcessor.cpp:
(KJS::XSLTProcessorProtoFunc::callAsFunction):
* khtml/ecma/XSLTProcessor.h:
* khtml/ecma/domparser.h:
* khtml/ecma/kjs_css.h:
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
(KJS::DOMNamedNodesCollection::getOwnPropertySlot):
* khtml/ecma/kjs_dom.h:
* khtml/ecma/kjs_events.h:
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLDocument::namedItemGetter):
(KJS::KJS::HTMLCollection::getNamedItems):
(KJS::OptionConstructorImp::construct):
* khtml/ecma/kjs_html.h:
* khtml/ecma/kjs_range.h:
* khtml/ecma/kjs_traversal.h:
* khtml/ecma/kjs_views.h:
* khtml/ecma/kjs_window.cpp:
(KJS::Window::namedItemGetter):
* khtml/ecma/xmlhttprequest.h:
* khtml/editing/SelectionController.cpp:
(khtml::SelectionController::toRange):
* khtml/editing/SelectionController.h:
* khtml/editing/apply_style_command.cpp:
(khtml::StyleChange::init):
(khtml::StyleChange::currentlyHasStyle):
(khtml::ApplyStyleCommand::doApply):
(khtml::ApplyStyleCommand::applyRelativeFontStyleChange):
(khtml::ApplyStyleCommand::removeCSSStyle):
(khtml::hasTextDecorationProperty):
(khtml::ApplyStyleCommand::extractTextDecorationStyle):
(khtml::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
(khtml::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode):
(khtml::ApplyStyleCommand::removeInlineStyle):
(khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
(khtml::ApplyStyleCommand::computedFontSize):
* khtml/editing/apply_style_command.h:
* khtml/editing/edit_command.cpp:
(khtml::EditCommandPtr::EditCommandPtr):
(khtml::EditCommandPtr::operator=):
* khtml/editing/edit_command.h:
* khtml/editing/markup.cpp:
(khtml::startMarkup):
* khtml/editing/visible_position.cpp:
(khtml::makeRange):
* khtml/editing/visible_position.h:
* khtml/editing/visible_range.h:
* khtml/editing/visible_text.cpp:
(khtml::TextIterator::range):
(khtml::SimplifiedBackwardsTextIterator::range):
(khtml::CharacterIterator::range):
(khtml::TextIterator::rangeFromLocationAndLength):
(khtml::findPlainText):
* khtml/editing/visible_text.h:
(khtml::WordAwareIterator::range):
* khtml/editing/visible_units.cpp:
(khtml::previousBoundary):
(khtml::nextBoundary):
* khtml/html/html_elementimpl.cpp:
(HTMLElementImpl::children):
* khtml/html/html_elementimpl.h:
* khtml/html/html_formimpl.cpp:
(DOM::HTMLFormElementImpl::elements):
(DOM::HTMLSelectElementImpl::add):
(DOM::HTMLSelectElementImpl::optionsHTMLCollection):
* khtml/html/html_formimpl.h:
* khtml/html/html_imageimpl.cpp:
(DOM::HTMLMapElementImpl::areas):
* khtml/html/html_imageimpl.h:
* khtml/html/html_miscimpl.cpp:
(DOM::HTMLCollectionImpl::namedItems):
* khtml/html/html_miscimpl.h:
* khtml/html/html_tableimpl.cpp:
(DOM::HTMLTableElementImpl::rows):
(DOM::HTMLTableElementImpl::tBodies):
(DOM::HTMLTableSectionElementImpl::insertRow):
(DOM::HTMLTableSectionElementImpl::deleteRow):
(DOM::HTMLTableSectionElementImpl::rows):
(DOM::HTMLTableRowElementImpl::insertCell):
(DOM::HTMLTableRowElementImpl::deleteCell):
(DOM::HTMLTableRowElementImpl::cells):
* khtml/html/html_tableimpl.h:
* khtml/html/htmlparser.cpp:
(HTMLParser::parseToken):
(HTMLParser::insertNode):
* khtml/khtml_events.h:
* khtml/khtml_part.cpp:
(KHTMLPart::selectionHasStyle):
(KHTMLPart::selectionStartHasStyle):
(KHTMLPart::selectionComputedStyle):
(KHTMLPart::applyEditingStyleToBodyElement):
(KHTMLPart::removeEditingStyleFromBodyElement):
* khtml/khtmlpart_p.h:
* khtml/khtmlview.cpp:
(KHTMLView::viewportMousePressEvent):
(KHTMLView::viewportMouseDoubleClickEvent):
(KHTMLView::viewportMouseReleaseEvent):
(KHTMLView::dispatchMouseEvent):
* khtml/misc/shared.h:
* khtml/rendering/bidi.cpp:
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::updateFirstLetter):
* khtml/rendering/render_line.h:
* khtml/rendering/render_text.cpp:
(RenderText::setStyle):
(RenderText::originalString):
(RenderTextFragment::originalString):
* khtml/rendering/render_text.h:
* khtml/xml/dom2_eventsimpl.h:
* khtml/xml/dom2_rangeimpl.cpp:
(DOM::rangeOfContents):
* khtml/xml/dom2_rangeimpl.h:
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::adoptNode):
(DocumentImpl::setFocusNode):
(DocumentImpl::addMarker):
(DocumentImpl::removeMarkers):
(DocumentImpl::applyXSLTransform):
(DocumentImpl::images):
(DocumentImpl::applets):
(DocumentImpl::embeds):
(DocumentImpl::objects):
(DocumentImpl::links):
(DocumentImpl::forms):
(DocumentImpl::anchors):
(DocumentImpl::all):
(DocumentImpl::windowNamedItems):
(DocumentImpl::documentNamedItems):
(DocumentImpl::getElementsByName):
* khtml/xml/dom_docimpl.h:
(DOM::DocumentImpl::transformSourceDocument):
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::setAttributeNode):
(ElementImpl::removeAttributeNode):
(NamedAttrMapImpl::removeNamedItemNS):
(NamedAttrMapImpl::setNamedItem):
(NamedAttrMapImpl::removeNamedItem):
* khtml/xml/dom_elementimpl.h:
(DOM::ElementImpl::setAttributeNodeNS):
* khtml/xml/dom_nodeimpl.cpp:
(DOM::NodeImpl::childNodes):
(DOM::NodeImpl::dispatchWindowEvent):
(DOM::NodeImpl::dispatchMouseEvent):
(DOM::NodeImpl::getElementsByTagNameNS):
(DOM::ContainerNodeImpl::insertBefore):
(DOM::ContainerNodeImpl::replaceChild):
(DOM::ContainerNodeImpl::appendChild):
(DOM::ContainerNodeImpl::addChild):
* khtml/xml/dom_nodeimpl.h:
(DOM::NodeImpl::getElementsByTagName):
(DOM::NamedNodeMapImpl::removeNamedItem):
(DOM::NamedNodeMapImpl::setNamedItemNS):
* khtml/xml/dom_xmlimpl.h:
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::XSLTProcessorImpl::createDocumentFromSource):
(DOM::createFragmentFromSource):
(DOM::xsltStylesheetPointer):
(DOM::xmlDocPtrFromNode):
(DOM::XSLTProcessorImpl::transformToString):
(DOM::XSLTProcessorImpl::transformToDocument):
(DOM::XSLTProcessorImpl::transformToFragment):
(DOM::XSLTProcessorImpl::getParameter):
* khtml/xsl/xslt_processorimpl.h:
* kwq/KWQClipboard.h:
* kwq/KWQKHTMLPart.h:
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::findString):
(KWQKHTMLPart::advanceToNextMisspelling):
(KWQKHTMLPart::fontForSelection):
(KWQKHTMLPart::markMisspellings):
(KWQKHTMLPart::shouldClose):
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge convertToNSRange:DOM::]):
2005-11-30 Maciej Stachowiak <mjs@apple.com>
Reviewed by Dave Hyatt.
- change idiom used for implicit bool conversion of smart pointers, because the old one gives weird error messages sometimes
* khtml/xml/DocPtr.h:
(DOM::DocPtr::operator UnspecifiedBoolType):
2005-11-30 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
No additional tests needed, acid2 covers this case.
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::rendererIsNeeded): call down into NodeImpl if needed.
2005-11-30 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
No functionality change, no tests needed.
Make make_names.pl namespace agnostic and add XLinkNames.* for SVG
* WebCore+SVG/XLinkNamesWrapper.cpp: Added.
* WebCore.xcodeproj/project.pbxproj: added files, build rule.
* khtml/khtml_part.cpp:
(KHTMLPart::init): init XLinkNames
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::rendererIsNeeded): remove foreignObjectTag (temp.)
* ksvg2/misc/xlinkattrs.in: Added.
* ksvg2/scripts/make_names.pl: make namespace agnostic
* ksvg2/svg/SVGLocatableImpl.cpp: remove foreignObjectTag (temp.)
(SVGLocatableImpl::nearestViewportElement):
(SVGLocatableImpl::farthestViewportElement):
* ksvg2/svg/SVGURIReferenceImpl.cpp: use XLinkNames
(SVGURIReferenceImpl::parseMappedAttribute):
* ksvg2/svg/svgattrs.in: remove href
* ksvg2/svg/svgtags.in: comment out unused tags
2005-11-30 Rob Buis <rwlbuis@xs4all.nl>
Reviewed by eseidel. Committed by eseidel.
Fixes 5 test cases:
- paths-data-02-t.svg (most noticeable)
- fonts-elem-01-t.svg
- fonts-elem-02-t.svg
- fonts-elem-03-t.svg
- fonts-elem-04-t.svg
http://bugs.webkit.org/show_bug.cgi?id=5881
Quadratic bezier path render error
* ksvg2/svg/svgpathparser.cpp:
(SVGPathParser::parseSVG):
2005-11-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by darin.
Test: fast/dom/HTMLScriptElement/script-set-src.html
Fix for: http://bugs.webkit.org/show_bug.cgi?id=4403
Script element doesn't load if on set src if already in document
* khtml/html/html_headimpl.cpp:
(HTMLScriptElementImpl::parseMappedAttribute):
(HTMLScriptElementImpl::closeRenderer):
* khtml/html/html_headimpl.h:
2005-11-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by darin. Committed by eseidel.
Test: fast/table/cell-width-auto.html
Fix for: http://bugs.webkit.org/show_bug.cgi?id=5820
Table cells with width:auto should use width from their <col>
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::calcMinMaxWidth):
* khtml/rendering/render_table.cpp:
(RenderTableCell::styleOrColWidth):
(RenderTableCell::calcMinMaxWidth):
* khtml/rendering/render_table.h:
* khtml/rendering/table_layout.cpp:
(FixedTableLayout::calcWidthArray):
(AutoTableLayout::recalcColumn):
(AutoTableLayout::calcEffectiveWidth):
2005-11-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by hyatt. Committed by eseidel.
Test: fast/text/span-in-word-space-causes-overflow.html
Fix for: http://bugs.webkit.org/show_bug.cgi?id=4695
<span> in word-spaced text breaks width calc, causes overflow
* khtml/rendering/bidi.cpp:
(khtml::RenderBlock::findNextLineBreak):
2005-11-29 Andrew Wellington <proton@wiretapped.net>
Reviewed by darin. Committed by eseidel.
No automated test possible.
Fix for: http://bugs.webkit.org/show_bug.cgi?id=4726
Drop of multiple non-image file URLs only yields one item
* khtml/editing/markup.cpp:
(khtml::createFragmentFromNodeList):
* khtml/editing/markup.h:
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge documentFragmentWithNodesAsParagraphs:]):
2005-11-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by darin. Committed by eseidel.
Test case: fast/css/absolute-poition-in-rtl-parent.html
Fix for bug: http://bugs.webkit.org/show_bug.cgi?id=5800
* khtml/rendering/render_box.cpp:
(RenderBox::calcAbsoluteHorizontal):
2005-11-29 Beth Dakin <bdakin@apple.com>
Reviewed by Darin
Fix for <rdar://problem/4098083> REGRESSION (125-312): crash
in [KWQTableView resignFirstResponder] selecting from JS menu
(car4you.at, etc.)
Though this crash is only currently reproducible on the branch
and not on TOT, the fix should be in both.
* kwq/KWQWidget.mm:
(QWidget::removeFromSuperview): The call to removeFromSuperview
could destroy data, so we should only reference it before the
call.
2005-11-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by eseidel. Committed by eseidel.
Fixed http://bugs.webkit.org/show_bug.cgi?id=5879
REGRESSION: Buttons go into pushed state when moused over when text field has focus
* khtml/xml/dom_nodeimpl.cpp:
(DOM::NodeImpl::NodeImpl): Initialize m_inActiveChain to false.
2005-11-29 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Fixes W3C events tests, no additional tests necessary.
http://bugs.webkit.org/show_bug.cgi?id=5876
* ksvg2/css/svg.css: added namespace declaration
* ksvg2/svg/SVGElementImpl.cpp:
(SVGElementImpl::parseMappedAttribute): added support of on* attrs
2005-11-29 David Harrison <harrison@apple.com>
Reviewed by John Sullivan.
Test cases added: None. Manual testing is way to awkward, and automated testing
is not possible. See following bug...
<rdar://problem/4256882> Need automated testing support for accessibility APIs
* khtml/html/html_formimpl.cpp:
(DOM::HTMLGenericFormElementImpl::removedFromTree):
Replace tab with spaces. Remove braces from one line "if".
* kwq/KWQAccObject.mm:
(-[KWQAccObject detach]):
Send unregisterUniqueIdForUIElement unconditionally, for safety.
(-[KWQAccObject dealloc]):
New. Send [self detach] so KWQObject gets unregistered and other cleanup happens as well.
(CreateCGColorIfDifferent):
Replace tab with spaces.
(-[KWQAccObject removeAccObjectID]):
Early to prevent a crash if called on a detached KWQAccObject (i.e. m_renderer == 0).
2005-11-29 Vicki Murley <vicki@apple.com>
Changes by Mitz Pettel, reviewed by Maciej.
- fix http://bugs.webkit.org/show_bug.cgi?id=5829 (REGRESSION: cursor tracking and hit
testing in scrollable block don't take borders into account)
* khtml/rendering/render_layer.cpp:
(khtml::RenderLayer::hitTestLayer): don't add left and bottom borders when hit testing
* manual-tests/scrollbar-hittest.html: Added.
2005-11-29 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fixed http://bugs.webkit.org/show_bug.cgi?5683
add code so we can use CFURL instead of NSURL for speed
* kwq/KWQKURL.h: Added declaration of createCFURL function.
* kwq/KWQKURL.mm:
(KURL::createCFURL): Moved body of getNSURL in here.
(KURL::getNSURL): Changed to createCFURL.
2005-11-29 Darin Adler <darin@apple.com>
- fixed broken tree (from my last check-in)
* kwq/DOM-CSS.mm: Added "using namespace DOM" and an import of "dom_docimpl.h".
2005-11-29 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fixed <rdar://problem/4089752> Duplicate method implementation for -[DOMDocument getComputedStyle::]
also http://bugs.webkit.org/show_bug.cgi?5682
* kwq/DOM.mm: Removed extra implementation of -[DOMDocument getComputedStyle::].
* kwq/DOM-CSS.mm: (-[DOMDocument getComputedStyle::]): Copied slightly better implementation from
DOM.mm in here.
2005-11-29 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fixed http://bugs.webkit.org/show_bug.cgi?id=5681
font family management can be faster by avoiding NSString/autorelease
* kwq/KWQFontFamily.h: Replace _NSFamily with _CFFamily.
* kwq/KWQFontFamily.mm:
(KWQFontFamily::KWQFontFamily): Ditto.
(KWQFontFamily::operator=): Ditto.
(KWQFontFamily::getNSFamily): More of the same.
(KWQFontFamily::setFamily): Ditto.
2005-11-29 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- fixed http://bugs.webkit.org/show_bug.cgi?id=5679
speed up QTime by removing unnecessary CFAbsoluteTimeGetGregorianDate
* kwq/KWQDateTime.mm:
(QTime::msec): Just multiply and mod the time in seconds, don't bother converting to
a Gregorian date first, since that won't affect fractional seconds.
(QTime::addMSecs): Multiply by 1/1000 instead of dividing by 1000.
2005-11-29 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- fixed <rdar://problem/4300202> JavaScript event keyCode/charCode/which is 25 for shift+tab, should be 9 (5678)
also http://bugs.webkit.org/show_bug.cgi?id=5678
* kwq/KWQEvent.mm:
(WindowsKeyCodeForKeyEvent): Add case for tab key.
(QKeyEvent::QKeyEvent): Force use of character code 9 for tab key regardless of
what AppKit returns.
* manual-tests/log-keypress-events.html: Added.
2005-11-29 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fixed http://bugs.webkit.org/show_bug.cgi?id=4925
HTMLMapElementImpl::mapMouseEvent can be implemented without a stack
- did some other cleanup in this file
* khtml/html/html_imageimpl.h: Removed unused currentImage function.
* khtml/html/html_imageimpl.cpp: Bits of cleanup in many functins, and:
(DOM::HTMLMapElementImpl::mapMouseEvent): Simplified by using traverseNextNode.
(DOM::HTMLMapElementImpl::parseMappedAttribute): Fixed bug where parsing a
name or attribute value with a "#" prefix would actually modify the value itself
by changing the DOMString. Changed the code to make a copy in this case.
(DOM::HTMLAreaElementImpl::getRegion): Rearranged to be more readable.
2005-11-29 Darin Adler <darin@apple.com>
- fixed deployment builds
* khtml/ecma/kjs_dom.cpp: (KJS::DOMDocument::getValueProperty):
Put decoder local variable inside if statement.
2005-11-29 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
3 test cases added to cover CSS updates and CDF support.
Updated all test results for absolute bbox change.
Fixed in this patch:
- CSS dynamic updates
- dynamic path data updates
- first pass at CDF support
http://bugs.webkit.org/show_bug.cgi?id=5842
* kcanvas/KCanvasContainer.cpp:
(KCanvasContainer::KCanvasContainer): make "replaced" element
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::paint): added parent offset ASSERT
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
(KCanvasContainerQuartz::paint): account for parent offset
(KCanvasContainerQuartz::absoluteTransform): reflect viewport
* khtml/css/css_valueimpl.cpp: remove HTML special case
(DOM::CSSMutableStyleDeclarationImpl::setChanged):
* khtml/css/cssstyleselector.cpp: remove HTML special case
(khtml::CSSStyleSelector::locateCousinList):
* khtml/rendering/render_object.cpp:
(RenderObject::containingBlock): special case KCanvasContainer
* khtml/rendering/render_style.cpp:
(RenderStyle::operator==): fix call into SVGRenderStyle
(RenderStyle::inheritedNotEqual): calls into SVGRenderStyle
(RenderStyle::diff): calls into SVGRenderStyle
* ksvg2/css/SVGRenderStyle.cpp:
(SVGRenderStyle::equals): include flags in comparison
(SVGRenderStyle::inheritedNotEqual): added
* ksvg2/css/SVGRenderStyle.h:
* ksvg2/svg/SVGPathElementImpl.cpp:
(KSVG::SVGPathElementImpl::parseMappedAttribute): clear path first
* ksvg2/svg/SVGStyledElementImpl.cpp:
(SVGStyledElementImpl::attributeChanged): map to ksvg2 attributes
* ksvg2/svg/SVGStyledElementImpl.h:
2005-11-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by hyatt. Committed by eseidel.
Not possible to test (functionality shouldn't change).
Switch QRegion from using NSBezierPath to CGPath
http://bugs.webkit.org/show_bug.cgi?id=5310
* kwq/KWQRegion.h:
* kwq/KWQRegion.mm:
(QRegion::QRegion):
(QRegion::~QRegion):
(QRegion::operator=):
(QRegion::contains):
(QRegion::translate):
(QRegion::boundingRect):
2005-11-28 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin. Commited by Maciej.
- fixed http://bugs.webkit.org/show_bug.cgi?id=5715
(document.charset, document.defaultCharset, and document.characterSet are not supported)
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMDocument::getValueProperty):
(KJS::DOMDocument::putValueProperty):
* khtml/ecma/kjs_dom.h:
(KJS::DOMDocument::):
2005-11-28 Julien Palmas <julien.palmas@gmail.com>
Reviewed by eseidel. Committed by eseidel.
Fixes 2 marker test cases.
This patch makes WebCore+SVG's marker support 90% complete
This fixes marker drawing as well as auto-orientation & scaling.
http://bugs.webkit.org/show_bug.cgi?id=5359
* kcanvas/KCanvasResources.cpp:
(KCanvasMarker::setRef): combined setRefX and setRefY
(KCanvasMarker::setScale): combined setScaleX and setScaleY
(KCanvasMarker::draw): updated post-merger
* kcanvas/KCanvasResources.h:
* kcanvas/device/quartz/KCanvasItemQuartz.h:
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(DrawMarkersData::DrawMarkersData): new struct
(drawMarkerWithData): added, draws one marker
(updateMarkerDataForElement): added, helper function during draw
(DrawStartAndMidMarkers): added, CGPathApply helper function
(KCanvasItemQuartz::drawMarkersIfNeeded): updated
(KCanvasItemQuartz::paint): updated.
* kcanvas/device/quartz/QuartzSupport.h:
(CGPointSubtractPoints): added
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(KCanvasRenderingStyle::updateStroke): updated to use static method
(KCanvasRenderingStyle::cssPrimitiveToLength): now static
* ksvg2/misc/KCanvasRenderingStyle.h:
* ksvg2/svg/SVGMarkerElementImpl.cpp:
(SVGMarkerElementImpl::parseMappedAttribute): updated
(SVGMarkerElementImpl::canvasResource): fixed
2005-11-28 Adele Peterson <adele@apple.com>
Reviewed by Justin.
- <rdar://problem/4356593> Regression: Crash in scrollRectToVisible
* khtml/xml/dom_docimpl.cpp: (DocumentImpl::setFocusNode):
Make sure there's still a renderer after updating the layout.
2005-11-28 Justin Garcia <justin.garcia@apple.com>
<http://bugs.webkit.org/show_bug.cgi?id=5354>
Corner case where you can select outside the bounds of an editable block.
Reviewed by darin
Updated/added editing test cases to reflect fix.
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::init):
It's ok to do some hunting to find a valid VisiblePosition given a position
that is not somewhere visible, like inside an empty div, but only leave the
block containing the position used to construct the VisiblePosition if we
can't find a VisiblePosition inside that block.
We weren't using the equivalentDeepPosition of the input position to make
the initUpstream/initDownstream decision, so we were sometimes moving
past [br, 0], which is what having initUpstream around is supposed to prevent.
I got rid of initUpstream and included the check to prevent moving
past [br, 0] inside the now generalized init().
* khtml/editing/visible_units.cpp:
(khtml::endOfParagraph):
After the changes to VisiblePosition::init(), asking for the visible position
at [br, 1] isn't the right way to include a line break.
2005-11-28 Eric Seidel <eseidel@apple.com>
No review, build fix only.
Corrected typo in last commit causing WebKit+SVG build failure.
* kcanvas/KCanvasFilters.h:
(QSizeF::QSizeF): fixed typo.
2005-11-28 Oliver Hunt <ojh16@student.canterbury.ac.nz>
Reviewed by eseidel. Committed by eseidel.
Fixes 2 lighting test cases.
First-pass lighting filter implementation from Oliver.
Also incomplete first-pass feConvolveMatrix
Adding temporary QPointF, QSizeF for filter use.
http://bugs.webkit.org/show_bug.cgi?id=5192
* WebCore.xcodeproj/project.pbxproj: added lighting classes
* kcanvas/KCanvasFilters.cpp:
(KCanvasPoint3F::normalize): added
(operator<<):
(KCPointLightSource::externalRepresentation): added
(KCSpotLightSource::externalRepresentation): added
(KCDistantLightSource::externalRepresentation): added
(KCanvasFEConvolveMatrix::externalRepresentation): added
(KCanvasFEDiffuseLighting::externalRepresentation): added
* kcanvas/KCanvasFilters.h:
(KCanvasPoint3F::KCanvasPoint3F): added
(KCanvasPoint3F::x): added
(KCanvasPoint3F::setX): added
(KCanvasPoint3F::y): added
(KCanvasPoint3F::setY): added
(KCanvasPoint3F::z): added
(KCanvasPoint3F::setZ): added
(QPointF::QPointF): added
(QPointF::x): added
(QPointF::setX): added