1 2006-02-06 David Harrison <harrison@apple.com>
5 * khtml/html/HTMLElementImpl.cpp:
6 (WebCore::HTMLElementImpl::createContextualFragment):
7 - make nextChild a RefPtr to survive possible DOM changes
9 2006-02-06 Beth Dakin <bdakin@apple.com>
11 Reviewed by John and Adele
13 Fix for <rdar://problem/4323167> REGRESSION (TOT): Crash in
14 RenderTable::colToEffCol entering text into text input field
16 Some of the autofill code assumes that the form's label is in a
17 table cell, but this is not necessarily the case. This fix checks
18 that the renderer is actually a table cell before treating it as
21 * bridge/mac/MacFrame.mm:
22 (WebCore::MacFrame::searchForLabelsAboveCell): Check if the
23 renderer is a table cell.
25 2006-02-06 Darin Adler <darin@apple.com>
29 - fix <rdar://problem/4432562> REGRESSION (TOT):
30 Safari's "stop loading" active, "view source" inactive after page load [7058]
31 http://bugzilla.opendarwin.org/show_bug.cgi?id=7058
33 * page/Frame.h: Make redirectionTimerFired virtual.
34 * bridge/mac/MacFrame.h: Override redirectionTimerFired.
35 * bridge/mac/MacFrame.mm: (WebCore::MacFrame::redirectionTimerFired):
36 Send the redirectionTimerCancelled callback here, even though it has
37 fired rather than being cancelled.
39 * manual-tests/redirect.html: Added.
40 * manual-tests/redirection-target.html: Added.
42 2006-02-06 David Harrison <harrison@apple.com>
46 Fix TOT regression where Mail.app replies were getting truncated.
47 Was caused by 1/26/2006 checkin for http://bugzilla.opendarwin.org/show_bug.cgi?id=6754
49 No layout test because this code cannot be reached via JS operations.
51 * khtml/html/HTMLElementImpl.cpp:
52 (WebCore::HTMLElementImpl::createContextualFragment):
53 - restore code that sampled nextSibling() before node is removed
54 - also, add asserts that the DOM mutation methods yield a 0 exception code, so problems
55 can be caught closer to the cause.
57 2006-02-05 Anders Carlsson <andersca@mac.com>
61 - http://bugzilla.opendarwin.org/show_bug.cgi?id=7091
62 Autogenerate even more.
65 Add new generated files.
67 * bindings/scripts/CodeGeneratorJS.pm:
68 Add "IsIndex" extended attribute for parameters. Any parameter that is "unsigned long"
69 and has this attribute will be checked to make sure that it's not < 0. If it is, an index size error
70 exception will be thrown.
72 * khtml/ecma/kjs_dom.cpp:
79 * khtml/ecma/kjs_dom.h:
80 Remove classes that are generated now.
82 * khtml/xml/Attr.idl: Added.
83 * khtml/xml/CharacterData.idl: Added.
84 * khtml/xml/Entity.idl: Added.
85 * khtml/xml/Notation.idl: Added.
86 * khtml/xml/ProcessingInstruction.idl: Added.
87 * khtml/xml/Text.idl: Added.
89 2006-02-05 Maciej Stachowiak <mjs@apple.com>
93 Re-landed the following with more fixes so it does not break tests:
95 - various event cleanup, including fixing of the load event for iframes
96 http://bugzilla.opendarwin.org/show_bug.cgi?id=7079
100 - don't bother to nil-check the document, a node can never have a null document now
101 - move temp event forgetting from dispatchEvent to dispatchGenericEvent
102 - pass event down using RefPtr::release() to avoid ref thrashing
103 - support default handlers even for non-bubbling events (only on
104 target node) and skip calling default event handler explicitly in
106 - dispatch a whole separate load event to a frame document's containing frame
107 - don't let propagationStopped prevent this new event
108 - remove bogus security check for iframe onload
109 - dispatch window events on the document, not the body, and also for non-html
110 - set onload, onunload, onbeforeunload from frameset tags on the window object
111 - don't restrict load/unload events to HTML
112 - send default handler to the dispatch object as previously
114 * bridge/mac/MacFrame.mm:
115 (WebCore::MacFrame::shouldClose):
116 * khtml/html/html_baseimpl.cpp:
117 (WebCore::HTMLFrameElementImpl::parseMappedAttribute):
118 (WebCore::HTMLFrameSetElementImpl::parseMappedAttribute):
119 * khtml/xml/DocumentImpl.cpp:
120 (WebCore::DocumentImpl::implicitClose):
121 * khtml/xml/NodeImpl.cpp:
122 (WebCore::NodeImpl::dispatchEvent):
123 (WebCore::NodeImpl::dispatchGenericEvent):
124 (WebCore::NodeImpl::dispatchWindowEvent):
125 * khtml/xml/NodeImpl.h:
127 (WebCore::Frame::stopLoading):
128 (WebCore::Frame::setWindowHasFocus):
130 2006-02-05 Darin Adler <darin@apple.com>
134 - fix <rdar://problem/4197997> -[DOMHTMLSelectElement options] always returns an empty list
136 * khtml/html/HTMLOptionsCollectionImpl.h: Changed to be a subclass of HTMLCollectionImpl.
137 * khtml/html/HTMLOptionsCollectionImpl.cpp: Added.
139 * WebCore.vcproj/WebCore/WebCore.vcproj: Added new source file.
140 * WebCore.xcodeproj/project.pbxproj: Ditto.
142 * bindings/objc/DOMHTML.mm:
143 (-[DOMHTMLOptionsCollection setLength:]): Handle possible exception.
144 (-[DOMHTMLSelectElement options]): Add get() since this is now a PassRefPtr.
146 * khtml/ecma/kjs_html.cpp:
147 (KJS::HTMLElement::selectIndexGetter): Call options() instead of optionsHTMLCollection().
148 (KJS::HTMLElement::selectGetter): Ditto.
149 (KJS::KJS::HTMLElement::put): Ditto.
150 (KJS::HTMLElement::selectSetter): Ditto.
151 (KJS::KJS::HTMLSelectCollection::put): Ditto.
153 * khtml/html/HTMLSelectElementImpl.h: Tweaked formatting. Eliminated m_options.
154 Changed m_minwidth and m_size to int instead of short. Removed optionsHTMLCollection().
155 Changed options() to return a PassRefPtr.
156 * khtml/html/HTMLSelectElementImpl.cpp:
157 (WebCore::HTMLSelectElementImpl::~HTMLSelectElementImpl): Get rid of code to drop m_options.
158 (WebCore::HTMLSelectElementImpl::remove): Remove unnecesssary RefPtr use, since that's
159 handled fine by removeChild.
160 (WebCore::HTMLSelectElementImpl::options): Change to create a new HTMLOptionsCollectionImpl
161 each time, like other collection calls. Maybe we should change this eventually to use a
162 HashMap so we can pass out the same collection over and over again, or could have a pointer
163 stored in the select element that's managed by the collection itself.
165 2006-02-05 Darin Adler <darin@apple.com>
169 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6908
170 REGRESSION: Replacing existing <option> shuffles it to the end of the list
172 Test: fast/forms/select-replace-option.html
174 * khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLSelectCollection::put):
175 Use optionsHTMLCollection, because options isn't really implemented yet.
177 2006-02-05 Darin Adler <darin@apple.com>
181 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6941
182 Assertion failure in MacFrame::bridgeForWidget() on manual-tests/textfield-onblur.html
184 * kwq/KWQTextField.mm: (-[KWQTextFieldController setHasFocus:]):
185 Add check for nil in case the blur event causes the KWQLineEdit to be
188 2006-02-05 Darin Adler <darin@apple.com>
192 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6962
193 REGRESSION: www.usa.phillips.com crashes due to <param> with no name
195 Test: fast/replaced/object-param-no-name.html
197 * rendering/render_frames.cpp: (WebCore::RenderPartObject::updateWidget):
198 Check for empty name, and skip processing the name/value of that <param> element.
200 2006-02-05 Darin Adler <darin@apple.com>
202 - rolled out Maciej's event cleanup patch, which is causing problems
204 I believe he has a fix, and he'll re-land the patch with the fix later.
206 Original fix was <http://bugzilla.opendarwin.org/show_bug.cgi?id=7079>.
207 Problems described in <http://bugzilla.opendarwin.org/show_bug.cgi?id=7084>.
209 2006-02-05 Darin Adler <darin@apple.com>
211 * ksvg2/css/KSVGCSSParser.cpp: Remove config.h, since this is included by another
214 2006-02-05 Darin Adler <darin@apple.com>
216 Discussed with Anders (didn't get real review).
220 * WebCore+SVG/SVGNamesWrapper.cpp: Touch file, not getting rebuilt even though
221 it includes config.h which changed.
222 * WebCore+SVG/XLinkNamesWrapper.cpp: Ditto.
224 * ksvg2/css/KSVGCSSParser.cpp: Added include of config.h.
225 * platform/mac/ImageDecoder.cpp: Ditto.
227 * WebCore.vcproj/WebCore/WebCore.vcproj: Removed IntPoint.cpp and IntSize.cpp.
228 * WebCore.xcodeproj/project.pbxproj: Ditto.
229 * platform/IntPoint.cpp: Removed. Was empty.
230 * platform/IntSize.cpp: Removed. Was empty.
232 2006-02-05 Darin Adler <darin@apple.com>
236 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7048
237 Reproducible crash when onscroll handler deletes the layer or its object
239 Test: onscroll-layer-self-destruct.html
241 * rendering/render_layer.cpp: (WebCore::RenderLayer::scrollToOffset):
242 Don't send the scroll event until after we've done everything else we
245 2006-02-05 Darin Adler <darin@apple.com>
247 Rubber stamped by Maciej.
249 - renamed DOMString and DOMStringImpl to String and StringImpl, and moved into platform
251 * config.h: Put in transitional defines so old code can still refer to the classes
252 as DOMString and DOMStringImpl.
254 * platform/AtomicString.cpp: Added.
255 * platform/AtomicString.h: Added.
256 * platform/AtomicStringImpl.h: Added.
257 * platform/PlatformString.h: Added.
258 * platform/String.cpp: Added.
259 * platform/StringImpl.cpp: Added.
260 * platform/StringImpl.h: Added.
261 Moved files here and renamed them. PlatformString.h would be named String.h except
262 that conflicts with <string.h> on non-case-sensitive file systems.
264 * khtml/xml/dom_atomicstring.cpp: Removed.
265 * khtml/xml/dom_atomicstring.h: Removed.
266 * khtml/xml/dom_stringimpl.cpp: Removed.
267 * khtml/xml/dom_stringimpl.h: Removed.
268 * khtml/dom/dom_string.cpp: Removed.
269 * khtml/dom/dom_string.h: Removed.
271 * WebCore.xcodeproj/project.pbxproj: Updated for file adds and removes.
272 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
274 * WebCore+SVG/KDOMHeaders.h:
275 * WebCore+SVG/Namespace.h:
276 * WebCore+SVG/kdom.h:
277 * bindings/objc/DOM.mm:
278 * bindings/objc/DOMCSS.mm:
279 * bindings/objc/DOMHTML.mm:
280 * bindings/objc/DOMInternal.mm:
281 * bridge/BrowserExtension.h:
283 * css/css_computedstyle.cpp:
285 * css/css_ruleimpl.h:
286 * css/css_stylesheetimpl.cpp:
287 * css/css_stylesheetimpl.h:
288 * css/css_valueimpl.cpp:
292 * css/cssstyleselector.h:
293 * kcanvas/KCanvasTreeDebug.cpp:
294 * khtml/dom/dom2_events.h:
295 * khtml/ecma/JSXMLHttpRequest.cpp:
296 * khtml/ecma/kjs_html.cpp:
297 * khtml/ecma/kjs_window.cpp:
298 * khtml/editing/SelectionController.cpp:
299 * khtml/editing/apply_style_command.cpp:
300 * khtml/editing/delete_from_text_node_command.h:
301 * khtml/editing/insert_into_text_node_command.h:
302 * khtml/editing/jsediting.h:
303 * khtml/editing/rebalance_whitespace_command.h:
304 * khtml/editing/remove_css_property_command.h:
305 * khtml/editing/typing_command.h:
306 * khtml/html/FormDataList.h:
307 * khtml/html/HTMLNameCollectionImpl.h:
308 * khtml/html/html_baseimpl.cpp:
309 * khtml/html/html_objectimpl.cpp:
310 * khtml/khtml_events.h:
311 * khtml/xbl/xbl_binding.h:
312 * khtml/xbl/xbl_protobinding.h:
313 * khtml/xbl/xbl_protohandler.h:
314 * khtml/xbl/xbl_protoimplementation.h:
315 * khtml/xml/DOMImplementationImpl.cpp:
316 * khtml/xml/EventNames.h:
317 * khtml/xml/NameNodeListImpl.h:
318 * khtml/xml/NamedNodeMapImpl.h:
319 * khtml/xml/NodeImpl.cpp:
320 * khtml/xml/NodeImpl.h:
321 * khtml/xml/dom2_eventsimpl.h:
322 * khtml/xml/dom_atomicstringlist.h:
323 * khtml/xml/dom_elementimpl.h:
324 * khtml/xml/dom_qname.h:
325 * khtml/xml/dom_xmlimpl.cpp:
326 * khtml/xml/xml_tokenizer.h:
327 * khtml/xsl/xsl_stylesheetimpl.cpp:
328 * khtml/xsl/xslt_processorimpl.h:
329 * ksvg2/misc/KCanvasRenderingStyle.cpp:
330 * ksvg2/svg/SVGAngleImpl.h:
331 * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
332 * ksvg2/svg/SVGAnimatedStringImpl.h:
333 * ksvg2/svg/SVGAnimationElementImpl.cpp:
334 * ksvg2/svg/SVGColorImpl.h:
335 * ksvg2/svg/SVGDOMImplementationImpl.cpp:
336 * ksvg2/svg/SVGElementImpl.cpp:
337 * ksvg2/svg/SVGFitToViewBoxImpl.cpp:
338 * ksvg2/svg/SVGLangSpaceImpl.cpp:
339 * ksvg2/svg/SVGLangSpaceImpl.h:
340 * ksvg2/svg/SVGLengthImpl.h:
341 * ksvg2/svg/SVGMarkerElementImpl.cpp:
342 * ksvg2/svg/SVGPaintImpl.h:
343 * ksvg2/svg/SVGPathSegImpl.h:
344 * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
345 * ksvg2/svg/SVGSVGElementImpl.cpp:
346 * ksvg2/svg/SVGScriptElementImpl.cpp:
347 * ksvg2/svg/SVGStringListImpl.h:
348 * ksvg2/svg/SVGStylableImpl.h:
349 * ksvg2/svg/SVGStyleElementImpl.cpp:
350 * ksvg2/svg/SVGStyledElementImpl.cpp:
351 * ksvg2/svg/SVGSymbolElementImpl.cpp:
352 * ksvg2/svg/SVGViewElementImpl.cpp:
353 * kwq/KWQAccObject.mm:
354 * kwq/KWQFontFamily.h:
355 * kwq/KWQFontFamily.mm:
356 * kwq/KWQKJobClasses.h:
357 * kwq/KWQKJobClasses.mm:
359 * loader/CachedObject.h:
360 * loader/CachedXBLDocument.h:
361 * loader/CachedXSLStyleSheet.h:
362 * loader/DocLoader.h:
364 * page/FrameTreeNode.h:
365 * platform/SegmentedString.h:
366 * rendering/render_image.h:
367 * rendering/render_style.cpp:
368 * xml/xmlhttprequest.cpp:
369 Updated all includes to use new filenames.
371 2006-02-05 Maciej Stachowiak <mjs@apple.com>
375 - various event cleanup, including fixing of the load event for iframes
376 http://bugzilla.opendarwin.org/show_bug.cgi?id=7079
380 - don't bother to nil-check the document, a node can never have a null document now
381 - move temp event forgetting from dispatchEvent to dispatchGenericEvent
382 - pass event down using RefPtr::release() to avoid ref thrashing
383 - support default handlers even for non-bubbling events (only on
384 target node) and skip calling default event handler explicitly in
386 - dispatch a whole separate load event to a frame document's containing frame
387 - don't let propagationStopped prevent this new event
388 - remove bogus security check for iframe onload
390 * bridge/mac/MacFrame.mm:
391 (WebCore::MacFrame::shouldClose):
392 * khtml/xml/NodeImpl.cpp:
393 (WebCore::NodeImpl::dispatchEvent):
394 (WebCore::NodeImpl::dispatchGenericEvent):
395 (WebCore::NodeImpl::dispatchWindowEvent):
396 * khtml/xml/NodeImpl.h:
398 2006-02-05 Maciej Stachowiak <mjs@apple.com>
400 Reviewed and landed by Anders.
402 * bindings/objc/DOM.mm:
403 (-[DOMNode replaceChild::]):
404 (KJS::DOMNodeProtoFunc::callAsFunction):
405 Return correct child. Fixes test case failures introduced by the fix to
406 http://bugzilla.opendarwin.org/show_bug.cgi?id=7076
408 2006-02-05 David Kilzer <ddkilzer@kilzer.net>
410 Reviewed by Darin, landed by ap (with a tweak suggested by Darin).
412 - Fixed --no-svg build on http://build.webkit.org/.
414 * kwq/KWQPainter.mm: Include "FloatRect.h".
416 2006-02-04 Maciej Stachowiak <mjs@apple.com>
420 - Just return bool from DOM child mutation methods instead of the node
421 http://bugzilla.opendarwin.org/show_bug.cgi?id=7076
423 * bindings/objc/DOM.mm:
424 (-[DOMNode insertBefore::]):
425 (-[DOMNode replaceChild::]):
426 (-[DOMNode removeChild:]):
427 (-[DOMNode appendChild:]):
428 * khtml/ecma/kjs_dom.cpp:
429 (KJS::DOMNodeProtoFunc::callAsFunction):
430 * khtml/html/HTMLOptGroupElementImpl.cpp:
431 (WebCore::HTMLOptGroupElementImpl::insertBefore):
432 (WebCore::HTMLOptGroupElementImpl::replaceChild):
433 (WebCore::HTMLOptGroupElementImpl::removeChild):
434 (WebCore::HTMLOptGroupElementImpl::appendChild):
435 * khtml/html/HTMLOptGroupElementImpl.h:
436 * khtml/html/HTMLSelectElementImpl.cpp:
437 (WebCore::HTMLSelectElementImpl::insertBefore):
438 (WebCore::HTMLSelectElementImpl::replaceChild):
439 (WebCore::HTMLSelectElementImpl::removeChild):
440 (WebCore::HTMLSelectElementImpl::appendChild):
441 * khtml/html/HTMLSelectElementImpl.h:
442 * khtml/html/HTMLTextAreaElementImpl.cpp:
443 (WebCore::HTMLTextAreaElementImpl::setDefaultValue):
444 * khtml/html/html_tableimpl.cpp:
445 (WebCore::HTMLTableElementImpl::createTFoot):
446 * khtml/xml/ContainerNodeImpl.cpp:
447 (WebCore::ContainerNodeImpl::insertBefore):
448 (WebCore::ContainerNodeImpl::replaceChild):
449 (WebCore::ContainerNodeImpl::removeChild):
450 (WebCore::ContainerNodeImpl::appendChild):
451 * khtml/xml/ContainerNodeImpl.h:
452 * khtml/xml/NodeImpl.cpp:
453 (WebCore::NodeImpl::insertBefore):
454 (WebCore::NodeImpl::replaceChild):
455 (WebCore::NodeImpl::removeChild):
456 (WebCore::NodeImpl::appendChild):
457 * khtml/xml/NodeImpl.h:
458 * khtml/xml/xml_tokenizer.cpp:
459 (WebCore::XMLTokenizer::insertErrorMessageBlock):
461 2006-02-04 Maciej Stachowiak <mjs@apple.com>
463 - reverted CSS media queries patch, as it causes random crashes on the
464 layout tests with a debug build.
466 * WebCore.xcodeproj/project.pbxproj:
468 * css/css_mediaqueryeval.cpp: Removed.
469 * css/css_mediaqueryeval.h: Removed.
470 * css/css_mediaqueryimpl.cpp: Removed.
471 * css/css_mediaqueryimpl.h: Removed.
472 * css/css_stylesheetimpl.cpp:
473 (MediaListImpl::MediaListImpl):
474 (MediaListImpl::contains):
475 (MediaListImpl::deleteMedium):
476 (MediaListImpl::mediaText):
477 (MediaListImpl::setMediaText):
478 * css/css_stylesheetimpl.h:
479 (DOM::MediaListImpl::length):
480 (DOM::MediaListImpl::item):
481 (DOM::MediaListImpl::appendMedium):
482 * css/css_valueimpl.h:
484 * css/cssmediafeatures.in: Removed.
487 * css/cssstyleselector.cpp:
488 (WebCore::CSSStyleSelector::CSSStyleSelector):
489 (WebCore::CSSStyleSelector::init):
490 (WebCore::CSSStyleSelector::~CSSStyleSelector):
491 (WebCore::CSSStyleSelector::loadDefaultStyle):
492 (WebCore::CSSStyleSelector::styleForElement):
493 (WebCore::CSSStyleSelector::styleRulesForElement):
494 (WebCore::CSSRuleSet::addRulesFromSheet):
495 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
496 * css/cssstyleselector.h:
497 * css/makemediafeatures: Removed.
499 * css/tokenizer.flex:
500 * khtml/html/html_headimpl.cpp:
501 (WebCore::HTMLLinkElementImpl::process):
502 (WebCore::HTMLLinkElementImpl::setStyleSheet):
503 (WebCore::HTMLStyleElementImpl::childrenChanged):
505 * platform/mac/Screen.mm:
507 2006-02-04 Andrew Wellington <proton@wiretapped.net>
509 Reviewed and tweaked by Darin.
511 - fixed regressions caused by fix for bug 5776 earlier today
513 * rendering/render_list.h: Remove m_value from RenderListMarker, add it to RenderListItem.
514 A few other tweaks, including getting rid of "friend" relationship.
515 * rendering/render_list.cpp:
516 (RenderListItem::RenderListItem): Initialize m_value.
517 (RenderListItem::setStyle): Restore old behavior of making no marker for LNONE case.
518 (RenderListItem::calcValue): Work on m_value, not m_marker->m_value.
519 (RenderListItem::resetValue): Reset m_value, even if there's no marker.
520 (RenderListMarker::RenderListMarker): Remove code to set up m_value.
521 (RenderListMarker::calcMinMaxWidth): Get marker value from list item.
523 * rendering/RenderContainer.cpp: (updateListMarkerNumbers): Call resetValue by its new name.
525 2006-02-04 Maciej Stachowiak <mjs@apple.com>
529 - change JavaScript collector statistics calls to use HashCountedSet instead
530 of CFSet; other misc cleanup
531 http://bugzilla.opendarwin.org/show_bug.cgi?id=7072
533 * kwq/WebCoreJavaScript.h:
534 * kwq/WebCoreJavaScript.mm:
535 (+[WebCoreJavaScript protectedObjectCount]): Renamed from referencedObjectCounts
536 (+[WebCoreJavaScript rootObjectTypeCounts]): Renamed from rootObjectClasses,
537 changed from NSSet to NSCountedSet.
539 2006-02-04 Maciej Stachowiak <mjs@apple.com>
543 - refactor and simplify code using ChildFrame in preparation for removing it
544 http://bugzilla.opendarwin.org/show_bug.cgi?id=7065
546 * WebCore.xcodeproj/project.pbxproj: reordered slightly.
547 * bridge/mac/MacFrame.h:
548 * bridge/mac/MacFrame.mm:
549 (WebCore::MacFrame::createFrame): Don't take isObject parameter, just check tag name
550 * khtml/html/HTMLFormElementImpl.cpp:
551 (WebCore::HTMLFormElementImpl::prepareSubmit): remove obsolete hasOnlyLocalReferences check
552 * khtml/html/html_baseimpl.cpp:
553 (WebCore::HTMLFrameElementImpl::isURLAllowed): remove obsolete hasOnlyLocalReferences check
554 * loader/DocLoader.cpp:
555 (khtml::DocLoader::requestImage): remove obsolete hasOnlyLocalReferences check
556 (khtml::DocLoader::requestStyleSheet): remove obsolete hasOnlyLocalReferences check
557 (khtml::DocLoader::requestScript): remove obsolete hasOnlyLocalReferences check
558 (khtml::DocLoader::requestXSLStyleSheet): remove obsolete hasOnlyLocalReferences check
560 (WebCore::Frame::requestFrame): refactored and simplified
561 (WebCore::Frame::requestObject): ditto
562 (WebCore::Frame::shouldUsePlugin): ditto
563 (WebCore::Frame::loadPlugin): ditto
564 (WebCore::Frame::loadSubframe): ditto
565 (WebCore::Frame::frameNames): remove obsolete m_bPreloaded check
566 (WebCore::Frame::frames): ditto
567 (WebCore::Frame::connectChild): check isFrame, not child type
568 (WebCore::Frame::disconnectChild): ditto
569 (WebCore::Frame::handleFallbackContent): greatly simplify using onwerElement
570 (WebCore::Frame::updateBaseURLForEmptyDocument): use ownerElement, notChildFrame
571 (WebCore::Frame::onlyLocalReferences): removed
572 (WebCore::Frame::setOnlyLocalReferences): removed
574 * page/FramePrivate.h:
575 (WebCore::ChildFrame::ChildFrame): remove most fields.
576 * rendering/render_frames.cpp:
577 (WebCore::RenderPartObject::updateWidget): Remove redundant setting of base URL for child document
578 of iframe, Frame itself takes care of this already
580 2006-02-03 Andrew Wellington <proton@wiretapped.net>
582 Reviewed and tweaked by Darin.
584 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5776
585 Generated numbers of ordered lists (OL) are not calculated right
587 Uses the DOM tree to calculate previous nodes and nest correctly
590 * fast/lists/olstart.html
591 * fast/lists/ol-display-types.html
593 * khtml/html/html_listimpl.cpp:
594 (DOM::HTMLLIElementImpl::attach): remove calculation of start node value
595 * rendering/render_list.cpp:
596 (RenderListItem::setStyle): set up an m_marker even if the style is to
597 not display the marker, to get the numbering right
598 (enclosingList): gets the list enclosing the given node
599 (previousListItemElement): gets the previous element in the list
600 (RenderListItem::calcListValue): calculate the value correctly
602 2006-02-03 Geoffrey Garen <ggaren@apple.com>
606 - Fixed <rdar://problem/4394868> window.open fails to parse
609 Cause: QString::toInt() is too aggressive; it parses letters as numbers.
610 The fix is to switch to DOMString. It's all the rage these days,
611 and its toInt() behavior matches what we want.
613 * manual-tests/window-open-features-parsing.html: Added "px" case to
616 * khtml/ecma/kjs_window.cpp:
617 (KJS::setWindowFeature):
618 (KJS::parseWindowFeatures):
619 (KJS::WindowFunc::callAsFunction):
621 2006-02-03 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
623 Reviewed by Dave Hyatt and Tim H.
625 Bug 4127: WebCore doesn't support Media Queries (CSS3 module)
626 http://bugzilla.opendarwin.org/show_bug.cgi?id=4127
628 http://www.w3.org/TR/css3-mediaqueries/
630 * WebCore.xcodeproj/project.pbxproj:
632 * css/css_mediaqueryeval.cpp: Added.
633 (MediaQueryEvaluator):
634 (MediaQueryEvaluator::~MediaQueryEvaluator):
635 (MediaQueryEvaluator::mediaTypeMatch):
637 (MediaQueryEvaluator::eval):
639 * css/css_mediaqueryeval.h: Added.
640 * css/css_mediaqueryimpl.cpp: Added.
641 (MediaQueryExpImpl::MediaQueryExpImpl):
642 (MediaQueryExpImpl::~MediaQueryExpImpl):
643 (MediaQueryExpImpl::mediaFeature):
644 (MediaQueryExpImpl::value):
645 (MediaQueryImpl::MediaQueryImpl):
646 (MediaQueryImpl::~MediaQueryImpl):
647 (MediaQueryImpl::restrictor):
648 (MediaQueryImpl::expressions):
649 (MediaQueryImpl::mediaType):
650 (MediaQueryImpl::operator==):
651 * css/css_mediaqueryimpl.h: Added.
652 (DOM::MediaQueryExpImpl::operator==):
653 (DOM::MediaQueryExpListImpl::MediaQueryExpListImpl):
654 (DOM::MediaQueryExpListImpl::append):
655 (DOM::MediaQueryExpListImpl::list):
656 (DOM::MediaQueryImpl::):
657 * css/css_stylesheetimpl.cpp:
658 (MediaListImpl::MediaListImpl):
659 (MediaListImpl::deleteMedium):
660 (mediaQueryAsDOMString):
661 (MediaListImpl::mediaText):
662 (MediaListImpl::setMediaText):
663 (MediaListImpl::item):
664 (MediaListImpl::appendMedium):
665 (MediaListImpl::appendMediaQuery):
666 * css/css_stylesheetimpl.h:
667 (DOM::MediaListImpl::length):
668 (DOM::MediaListImpl::mediaQueries):
669 * css/css_valueimpl.h:
671 * css/cssmediafeatures.in: Added.
673 (CSSParser::parseMediaQuery):
675 * css/cssstyleselector.cpp:
676 (WebCore::CSSStyleSelector::CSSStyleSelector):
677 (WebCore::CSSStyleSelector::init):
678 (WebCore::CSSStyleSelector::~CSSStyleSelector):
679 (WebCore::CSSStyleSelector::loadDefaultStyle):
680 (WebCore::CSSStyleSelector::styleForElement):
681 (WebCore::CSSStyleSelector::styleRulesForElement):
682 (WebCore::CSSRuleSet::addRulesFromSheet):
683 (WebCore::CSSStyleSelector::defaultStyleForRoot):
684 * css/cssstyleselector.h:
685 * css/makemediafeatures: Added.
687 * css/tokenizer.flex:
688 * khtml/html/html_headimpl.cpp:
689 (WebCore::HTMLLinkElementImpl::process):
690 (WebCore::HTMLLinkElementImpl::setStyleSheet):
691 (WebCore::HTMLStyleElementImpl::childrenChanged):
693 * platform/mac/Screen.mm:
694 (WebCore::screenDepthPerComponent):
695 (WebCore::screenIsMonochrome):
697 2006-02-03 Timothy Hatcher <timothy@apple.com>
701 Renamed configuration names to Debug, Release and Production.
703 * WebCore.xcodeproj/project.pbxproj:
705 2006-02-03 Beth Dakin <bdakin@apple.com>
709 No test cases added because this is an unreproducible crash.
711 This is a speculative fix for <rdar://problem/4048026>
712 CrashTracer: [BOUNCE BACK] 1219 crashes in Safari at
713 com.apple.WebCore: KHTMLParser::popOneBlock + 36
715 It seems possible that current could be nil when this function is
716 called, so the speculative fix is to add a nil check.
718 * khtml/html/htmlparser.cpp:
719 (HTMLParser::popOneBlock): Added nil check.
721 2006-02-03 David Hyatt <hyatt@apple.com>
723 Refactoring of the image classes to make them even more
728 * WebCore.xcodeproj/project.pbxproj:
729 * platform/Image.cpp:
730 (WebCore::m_animationObserver):
731 (WebCore::Image::Image):
732 (WebCore::Image::~Image):
733 (WebCore::Image::resetAnimation):
734 (WebCore::Image::setData):
735 (WebCore::Image::isNull):
736 (WebCore::Image::size):
737 (WebCore::Image::rect):
738 (WebCore::Image::width):
739 (WebCore::Image::height):
741 (WebCore::Image::compositeOperatorFromString):
742 * platform/ImageData.cpp: Added.
743 (WebCore::FrameData::clear):
744 (WebCore::ImageData::ImageData):
745 (WebCore::ImageData::~ImageData):
746 (WebCore::ImageData::invalidateData):
747 (WebCore::ImageData::cacheFrame):
748 (WebCore::ImageData::isNull):
749 (WebCore::ImageData::size):
750 (WebCore::ImageData::setData):
751 (WebCore::ImageData::setNativeData):
752 (WebCore::ImageData::frameCount):
753 (WebCore::ImageData::isSizeAvailable):
754 (WebCore::ImageData::frameAtIndex):
755 (WebCore::ImageData::frameDurationAtIndex):
756 (WebCore::ImageData::shouldAnimate):
757 (WebCore::ImageData::startAnimation):
758 (WebCore::ImageData::stopAnimation):
759 (WebCore::ImageData::resetAnimation):
760 (WebCore::ImageData::advanceAnimation):
761 * platform/ImageData.h: Added.
763 (WebCore::FrameData::m_duration):
764 (WebCore::FrameData::~FrameData):
765 (WebCore::ImageData::setIsPDF):
766 (WebCore::ImageData::currentFrame):
767 * platform/ImageDecoder.h:
768 * platform/mac/Image.mm:
769 (WebCore::Image::loadResource):
770 (WebCore::Image::supportsType):
771 (WebCore::Image::getCGImageRef):
772 (WebCore::Image::getNSImage):
773 (WebCore::Image::getTIFFRepresentation):
774 (WebCore::graphicsContext):
775 (WebCore::setCompositingOperation):
776 (WebCore::fillSolidColorInRect):
777 (WebCore::Image::drawInRect):
778 (WebCore::drawPattern):
779 (WebCore::Image::tileInRect):
780 (WebCore::Image::scaleAndTileInRect):
781 * platform/mac/ImageData.mm: Added.
782 (WebCore::setCompositingOperation):
783 (WebCore::ImageData::invalidateAppleSpecificData):
784 (WebCore::ImageData::checkForSolidColor):
785 (WebCore::ImageData::getTIFFRepresentation):
786 (WebCore::ImageData::getNSImage):
787 * platform/mac/PDFDocumentImage.h: Added.
788 * platform/mac/PDFDocumentImage.mm: Added.
789 (WebCore::releasePDFDocumentData):
790 (WebCore::PDFDocumentImage::PDFDocumentImage):
791 (WebCore::PDFDocumentImage::~PDFDocumentImage):
792 (WebCore::PDFDocumentImage::documentRef):
793 (WebCore::PDFDocumentImage::mediaBox):
794 (WebCore::PDFDocumentImage::bounds):
795 (WebCore::PDFDocumentImage::adjustCTM):
796 (WebCore::PDFDocumentImage::setCurrentPage):
797 (WebCore::PDFDocumentImage::currentPage):
798 (WebCore::PDFDocumentImage::pageCount):
799 (WebCore::PDFDocumentImage::draw):
801 2006-02-03 David Hyatt <hyatt@apple.com>
803 Make a new class called ImageDecoder that wraps a CGImageSource.
804 This paves the way for ImageData to become portable as well.
808 * WebCore.xcodeproj/project.pbxproj:
809 * platform/ImageDecoder.h: Added.
810 * platform/mac/Image.mm:
811 (WebCore::ImageData::~ImageData):
812 (WebCore::ImageData::invalidateData):
813 (WebCore::ImageData::cacheFrame):
814 (WebCore::ImageData::size):
815 (WebCore::ImageData::setCFData):
816 (WebCore::ImageData::frameCount):
817 (WebCore::ImageData::isSizeAvailable):
818 (WebCore::ImageData::drawInRect):
819 * platform/mac/ImageDecoder.cpp: Added.
820 (WebCore::ImageDecoder::ImageDecoder):
821 (WebCore::ImageDecoder::~ImageDecoder):
822 (WebCore::imageSourceOptions):
823 (WebCore::ImageDecoder::initialized):
824 (WebCore::ImageDecoder::setData):
825 (WebCore::ImageDecoder::isSizeAvailable):
826 (WebCore::ImageDecoder::size):
827 (WebCore::ImageDecoder::repetitionCount):
828 (WebCore::ImageDecoder::frameCount):
829 (WebCore::ImageDecoder::createFrameAtIndex):
830 (WebCore::ImageDecoder::frameDurationAtIndex):
832 2006-02-02 David Hyatt <hyatt@apple.com>
834 Move ImageAnimationObserver into its own file.
838 * WebCore.xcodeproj/project.pbxproj:
839 * loader/CachedImage.h:
841 * platform/ImageAnimationObserver.h: Added.
842 (WebCore::ImageAnimationObserver::~ImageAnimationObserver):
843 * platform/mac/Image.mm:
845 2006-02-02 Maciej Stachowiak <mjs@apple.com>
849 - remove all use of the ChildFrame from outside Frame.cpp, in preparation for removing it
851 * bridge/mac/MacFrame.h:
852 * bridge/mac/MacFrame.mm:
853 (WebCore::MacFrame::frameDetached): Factor out the ChildFrame manipulations into a base
855 (WebCore::MacFrame::objectContentType): factored out from createPart, calls the bridge to
856 determine contents for an Object tag.
857 (WebCore::MacFrame::createPlugin): factor out code from createPart that makes a Plugin.
858 (WebCore::MacFrame::createFrame): ditto for code that makes a Frame.
859 (WebCore::MacFrame::createEmptyDocument): factored out part into the superclass
860 * khtml/xml/DocumentImpl.cpp:
861 (WebCore::DocumentImpl::ownerElement): Call new ownerElement method on Frame
862 instead of mucking at Frame internals.
864 (WebCore::Frame::createPart): Moved here from MacFrame, but some of the guts were
866 (WebCore::Frame::ownerElement): New method, logic moved from DocumentImpl.
867 (WebCore::Frame::frameDetached): New virtual method, the part of this that
868 pokes at ChildFrame structures.
869 (WebCore::Frame::updateBaseURLForEmptyDocument): Helper that looks at the ChildFrame
870 array for the benefit of createEmptyDocument.
872 * page/Page.h: Fix up modeline.
873 * page/Plugin.h: Added.
874 (WebCore::Plugin::Plugin): Moved here from MacFrame.mm, since it is now used by Frame.
875 (WebCore::Plugin::view): ditto
877 2006-02-02 David Hyatt <hyatt@apple.com>
879 Avoid extra copies of all the decoded image bytes.
883 * platform/mac/Image.mm:
884 (WebCore::ImageData::setData):
886 2006-02-02 Justin Garcia <justin.garcia@apple.com>
888 Reviewed by darin, harrison
890 <http://bugzilla.opendarwin.org/show_bug.cgi?id=6586>
891 REGRESSION: visible_text.cpp assertion failure in Mail.app
893 Calling range() on a WordIterator destroyed its RangeImpl, use
894 RefPtr instead of PassRefPtr.
895 Turned on continuous spell checking to test the fix, found
896 a crasher caused by invalid positions created in
900 * editing/selection/end-of-document.html
902 * khtml/editing/visible_text.h:
903 * khtml/editing/visible_units.cpp:
904 (khtml::previousBoundary):
906 2006-02-02 David Hyatt <hyatt@apple.com>
908 Vectorize Image. Optimize so that we no longer throw away
909 all CGImageRefs. Now we just throw away the last frame.
913 * platform/mac/Image.mm:
914 (WebCore::FrameData::m_duration):
915 (WebCore::FrameData::~FrameData):
916 (WebCore::FrameData::clear):
917 (WebCore::ImageData::invalidateData):
918 (WebCore::ImageData::cacheFrame):
919 (WebCore::ImageData::frameAtIndex):
920 (WebCore::ImageData::frameDurationAtIndex):
922 2006-01-31 Geoffrey Garen <ggaren@apple.com>
926 Cleaned up some stuff I came across when working with JS enabled/
929 (1) Renamed initScript to initScriptIfNeeded, because that's what it
931 (2) Removed dead or otherwise irrelevent code
932 (3) Fixed up comments
933 (4) Removed NULL checks for interpreter() since it never returns NULL,
934 replaced with single assert().
936 No test case because there's no change in behavior.
938 * khtml/ecma/kjs_proxy.cpp:
939 (WebCore::KJSProxyImpl::evaluate): 1
940 (WebCore::KJSProxyImpl::createHTMLEventHandler): 1
941 (WebCore::KJSProxyImpl::createSVGEventHandler): 1
942 (WebCore::KJSProxyImpl::interpreter): 4
943 (WebCore::KJSProxyImpl::initScriptIfNeeded): 1
944 * khtml/ecma/kjs_proxy.h: 1
946 (Frame::didOpenURL): 2, 3
947 (Frame::stopLoading): 2
948 (Frame::jScriptEnabled): 2
949 (Frame::jScript): changed method call to data member access to match
950 style of rest of class
951 (Frame::javaEnabled): 2
952 (Frame::pluginsEnabled): 2
954 (Frame::userGestureHint): 4
955 (Frame::pauseTimeouts): collapsed a line
956 (Frame::resumeTimeouts): ditto
957 (Frame::saveInterpreterBuiltins): 4
958 (Frame::restoreInterpreterBuiltins): 4
960 * page/FramePrivate.h: 2
961 (FramePrivate::FramePrivate): 2
963 2006-02-02 David Hyatt <hyatt@apple.com>
965 Fix for PLT performance regression. Make sure that the document's load event timer
966 isn't started again if it's already active.
970 * khtml/xml/DocumentImpl.cpp:
971 (WebCore::DocumentImpl::dispatchImageLoadEventSoon):
973 2006-02-02 Darin Adler <darin@apple.com>
977 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7000
978 REGRESSION: Scrolling is triggering onunload in TOT
981 - fast/events/onunload-body-property.html
982 - fast/events/onunload-window-property.html
984 * khtml/ecma/kjs_dom.cpp:
985 (KJS::DOMNode::getValueProperty): Change onunload case to use unloadEvent, not scrollEvent.
986 (KJS::DOMNode::putValueProperty): Ditto.
987 * khtml/ecma/kjs_window.cpp:
988 (KJS::Window::getValueProperty): Ditto.
989 (KJS::Window::putValueProperty): Ditto.
991 2006-02-02 Darin Adler <darin@apple.com>
995 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6998
996 setTimeout(0) tight loop uses almost all CPU (need 10ms minimum for timeout?)
998 * khtml/ecma/kjs_window.cpp: (KJS::WindowQObject::installTimeout): When converting
999 the timeout number from an integer ms to a double seconds, use a 10 ms minimum.
1001 2006-02-02 Darin Adler <darin@apple.com>
1003 - added a FIXME about an incorrect change made to FloatRect
1004 to fix the Win32 compile
1006 * platform/FloatRect.cpp: (WebCore::enclosingIntRect): Added FIXME
1007 because this should do a ceil operation, not a round operation.
1009 2006-02-02 David Hyatt <hyatt@apple.com>
1011 Fix for bug 6957, rewrite image rendering in C++ and move it to
1012 WebCore. Animation now stops lazily and just uses the CachedObject
1013 notification system to push updates so that rects no longer need to
1014 be cached (or sets of animating renderers in specific views).
1019 * bindings/objc/DOM.mm:
1020 (-[DOMElement _image]):
1021 (-[DOMElement _imageTIFFRepresentation]):
1022 * bindings/objc/DOMPrivate.h:
1023 * bridge/mac/MacFrame.mm:
1024 (WebCore::MacFrame::khtmlMouseMoveEvent):
1025 (WebCore::MacFrame::fileWrapperForElement):
1026 * bridge/mac/WebCoreFrameBridge.h:
1027 * bridge/mac/WebCoreFrameBridge.mm:
1028 (-[WebCoreFrameBridge elementAtPoint:]):
1029 * kcanvas/RenderSVGImage.cpp:
1030 (RenderSVGImage::imageChanged):
1031 * kcanvas/RenderSVGImage.h:
1032 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1033 (KCanvasFEImageQuartz::getCIFilter):
1034 * khtml/ecma/kjs_html.cpp:
1036 * kwq/KWQClipboard.h:
1037 (WebCore::KWQClipboard::setDragHasStarted):
1038 * kwq/KWQClipboard.mm:
1039 (WebCore::KWQClipboard::dragNSImage):
1041 (WebCore::createCustomCursor):
1043 (WebCore::QPainter::):
1044 * kwq/KWQPainter.mm:
1045 (WebCore::QPainter::drawFloatImage):
1046 (WebCore::QPainter::drawTiledImage):
1047 (WebCore::QPainter::drawScaledAndTiledImage):
1048 * kwq/KWQScrollView.h:
1049 * kwq/KWQScrollView.mm:
1050 (QScrollView::inWindow):
1051 * kwq/WebCoreImageRendererFactory.h:
1052 * kwq/WebCoreImageRendererFactory.m:
1053 * loader/CachedImage.cpp:
1054 (WebCore::CachedImage::ref):
1055 (WebCore::CachedImage::imageRect):
1056 (WebCore::CachedImage::notifyObservers):
1057 (WebCore::CachedImage::data):
1058 (WebCore::CachedImage::error):
1059 (WebCore::CachedImage::shouldStopAnimation):
1060 (WebCore::CachedImage::animationAdvanced):
1061 * loader/CachedImage.h:
1062 (WebCore::CachedImage::canRender):
1063 * loader/CachedObjectClient.h:
1064 (WebCore::CachedObjectClient::imageChanged):
1065 (WebCore::CachedObjectClient::willRenderImage):
1067 (WebCore::ImageAnimationObserver::~ImageAnimationObserver):
1068 (WebCore::Image::animationObserver):
1070 * platform/mac/Image.mm:
1071 (WebCore::releasePDFDocumentData):
1072 (WebCore::PDFDocumentImage::PDFDocumentImage):
1073 (WebCore::PDFDocumentImage::~PDFDocumentImage):
1074 (WebCore::PDFDocumentImage::documentRef):
1075 (WebCore::PDFDocumentImage::mediaBox):
1076 (WebCore::PDFDocumentImage::bounds):
1077 (WebCore::PDFDocumentImage::adjustCTM):
1078 (WebCore::PDFDocumentImage::setCurrentPage):
1079 (WebCore::PDFDocumentImage::currentPage):
1080 (WebCore::PDFDocumentImage::pageCount):
1081 (WebCore::PDFDocumentImage::draw):
1082 (WebCore::ImageData::setIsPDF):
1083 (WebCore::ImageData::currentFrame):
1084 (WebCore::m_PDFDoc):
1085 (WebCore::ImageData::~ImageData):
1086 (WebCore::ImageData::invalidateData):
1087 (WebCore::ImageData::cacheFrame):
1088 (WebCore::ImageData::checkForSolidColor):
1089 (WebCore::ImageData::isNull):
1090 (WebCore::ImageData::size):
1091 (WebCore::ImageData::setData):
1092 (WebCore::ImageData::setCFData):
1093 (WebCore::ImageData::imageSourceOptions):
1094 (WebCore::ImageData::frameCount):
1095 (WebCore::ImageData::isSizeAvailable):
1096 (WebCore::ImageData::frameAtIndex):
1097 (WebCore::ImageData::getTIFFRepresentation):
1098 (WebCore::ImageData::getNSImage):
1099 (WebCore::ImageData::frameDurationAtIndex):
1100 (WebCore::ImageData::shouldAnimate):
1101 (WebCore::ImageData::startAnimation):
1102 (WebCore::ImageData::stopAnimation):
1103 (WebCore::ImageData::resetAnimation):
1104 (WebCore::ImageData::advanceAnimation):
1105 (WebCore::ImageData::setCompositingOperation):
1106 (WebCore::ImageData::fillSolidColorInRect):
1107 (WebCore::ImageData::drawInRect):
1108 (WebCore::drawPattern):
1110 (WebCore::ImageData::tileInRect):
1111 (WebCore::ImageData::scaleAndTileInRect):
1112 (WebCore::Image::loadResource):
1113 (WebCore::Image::supportsType):
1114 (WebCore::m_animationObserver):
1115 (WebCore::Image::Image):
1116 (WebCore::Image::~Image):
1117 (WebCore::Image::getCGImageRef):
1118 (WebCore::Image::getNSImage):
1119 (WebCore::Image::getTIFFRepresentation):
1120 (WebCore::Image::resetAnimation):
1121 (WebCore::Image::setData):
1122 (WebCore::Image::isNull):
1123 (WebCore::Image::size):
1124 (WebCore::Image::rect):
1125 (WebCore::graphicsContext):
1126 (WebCore::Image::drawInRect):
1127 (WebCore::Image::tileInRect):
1128 (WebCore::Image::scaleAndTileInRect):
1129 * rendering/render_box.cpp:
1130 (WebCore::RenderBox::paintBackgroundExtended):
1131 * rendering/render_image.cpp:
1132 (WebCore::RenderImage::setCachedImage):
1133 (WebCore::RenderImage::imageChanged):
1134 * rendering/render_image.h:
1135 * rendering/render_line.cpp:
1136 (WebCore::InlineFlowBox::paintBackground):
1137 (WebCore::InlineFlowBox::paintBackgroundAndBorder):
1138 * rendering/render_list.cpp:
1139 (RenderListMarker::imageChanged):
1140 * rendering/render_list.h:
1141 * rendering/render_object.cpp:
1142 (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
1143 (WebCore::RenderObject::paintBorderImage):
1144 (WebCore::RenderObject::paintBorder):
1145 (WebCore::RenderObject::imageChanged):
1146 (WebCore::RenderObject::willRenderImage):
1147 * rendering/render_object.h:
1149 2006-02-02 Mitz Pettel <opendarwin.org@mitzpettel.com>
1151 Test: fast/block/positioning/height-change.html
1155 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6881
1156 Block with position:absolute bottom:0 doesn't always move when height
1157 of containing block changes (affects Safari RSS)
1159 * rendering/RenderBlock.cpp:
1160 (WebCore::RenderBlock::layoutBlock): Relayout positioned children if the
1161 block's height changed during layout.
1162 * rendering/render_flexbox.cpp:
1163 (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
1165 2006-02-02 Maciej Stachowiak <mjs@apple.com>
1169 - Move name and parent from Frame to FrameTreeNode
1170 http://bugzilla.opendarwin.org/show_bug.cgi?id=6994
1172 * bridge/mac/BrowserExtensionMac.mm:
1173 (WebCore::BrowserExtensionMac::createNewWindow):
1174 * bridge/mac/MacFrame.h:
1175 * bridge/mac/MacFrame.mm:
1176 (WebCore::MacFrame::generateFrameName):
1177 (WebCore::MacFrame::submitForm):
1178 (WebCore::Frame::frameDetached):
1179 (WebCore::MacFrame::nextKeyViewInFrameHierarchy):
1180 (WebCore::MacFrame::createEmptyDocument):
1181 * bridge/mac/WebCoreFrameBridge.mm:
1182 (-[WebCoreFrameBridge setParent:]):
1183 (-[WebCoreFrameBridge parent]):
1184 (-[WebCoreFrameBridge setName:]):
1185 (-[WebCoreFrameBridge name]):
1186 * khtml/ecma/kjs_window.cpp:
1187 (KJS::Window::getValueProperty):
1189 (KJS::Window::isSafeScript):
1190 (KJS::WindowFunc::callAsFunction):
1191 * khtml/html/html_baseimpl.cpp:
1192 (WebCore::HTMLFrameElementImpl::isURLAllowed):
1193 * khtml/html/html_headimpl.cpp:
1194 (WebCore::HTMLLinkElementImpl::process):
1195 * khtml/xml/DocumentImpl.cpp:
1196 (WebCore::DocumentImpl::ownerElement):
1197 (WebCore::DocumentImpl::parentDocument):
1199 (WebCore::Frame::checkCompleted):
1200 (WebCore::Frame::redirectionTimerFired):
1201 (WebCore::Frame::requestFrameName):
1202 (WebCore::Frame::slotChildCompleted):
1203 (WebCore::Frame::incrementFrameCount):
1204 (WebCore::Frame::decrementFrameCount):
1205 (WebCore::Frame::topLevelFrameCount):
1206 (WebCore::Frame::selectFrameElementInParentIfFullySelected):
1207 (WebCore::Frame::handleFallbackContent):
1208 (WebCore::Frame::userGestureHint):
1209 (WebCore::Frame::canCachePage):
1210 (WebCore::Frame::updatePolicyBaseURL):
1212 * page/FramePrivate.h:
1213 (WebCore::FramePrivate::FramePrivate):
1214 * page/FrameTreeNode.cpp:
1215 (WebCore::FrameTreeNode::setName):
1216 (WebCore::FrameTreeNode::appendChild):
1217 (WebCore::FrameTreeNode::removeChild):
1218 * page/FrameTreeNode.h:
1219 (WebCore::FrameTreeNode::FrameTreeNode):
1220 (WebCore::FrameTreeNode::name):
1221 (WebCore::FrameTreeNode::parent):
1222 (WebCore::FrameTreeNode::setParent):
1223 * rendering/render_frames.cpp:
1224 (WebCore::isURLAllowed):
1226 2006-02-01 Darin Adler <darin@apple.com>
1228 Checking in without review because I *just* broke this with my last check-in.
1230 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7018
1231 REGRESSION: clearTimeout no longer works
1233 Test: fast/dom/Window/clear-timeout.html
1235 * khtml/ecma/kjs_window.cpp: (WindowQObject::clearTimeout): Fixed a
1236 != that should have been a ==.
1238 2006-02-01 Darin Adler <darin@apple.com>
1242 - use Timer for everything, kill timer features of QObject, QTimer, QTimerEvent
1244 * ForwardingHeaders/kxmlcore/Noncopyable.h: Added.
1245 * ForwardingHeaders/kxmlcore/OwnArrayPtr.h: Added.
1246 * ForwardingHeaders/kxmlcore/OwnPtr.h: Added.
1247 * ForwardingHeaders/qtimer.h: Removed.
1248 * kwq/KWQTimer.cpp: Removed.
1249 * kwq/KWQTimer.h: Removed.
1252 * kwq/KWQObject.cpp: Remove timer-related features.
1254 * kwq/KWQEvent.h: Remove QTimerEvent.
1256 * WebCore.xcodeproj/project.pbxproj: Updated for file changes.
1257 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
1259 * platform/Timer.h: Change to use nextFireInterval rather than nextFireTime.
1260 More convenient and also no need to define what the epoch is. Change TimerBase
1261 to use a virtual function rather than a function pointer. Added setDeferringTimers
1262 function to ensure timers don't fire while handling an event.
1263 * platform/mac/Timer.cpp:
1264 (WebCore::timerFired): Added deferral support.
1265 (WebCore::fireDeferred): Added.
1266 (WebCore::TimerBase::TimerBase): Simplify to remove function pointer.
1267 (WebCore::TimerBase::~TimerBase): Put in here, no longer inline.
1268 (WebCore::TimerBase::start): Change to use interval.
1269 (WebCore::TimerBase::startRepeating): Change since we use interval now.
1270 (WebCore::TimerBase::startOneShot): Ditto.
1271 (WebCore::TimerBase::stop): Added deferral support.
1272 (WebCore::TimerBase::nextFireInterval): Added.
1273 (WebCore::TimerBase::fire): Added.
1274 (WebCore::isDeferringTimers): Added.
1275 (WebCore::setDeferringTimers): Added.
1277 * bridge/mac/MacFrame.mm:
1278 (WebCore::MacFrame::startRedirectionTimer): Update for change to Timer class.
1279 (WebCore::MacFrame::passMouseDownEventToWidget): Update to use setDeferringTimers
1280 instead of QObject::setDefersTimers.
1282 * khtml/ecma/kjs_window.h:
1283 * khtml/ecma/kjs_window.cpp:
1284 (KJS::DOMWindowTimer): Added. Class for JavaScript "timeout".
1285 (KJS::WindowQObject::parentDestroyed): Update to use DOMWindowTimer.
1286 (KJS::WindowQObject::installTimeout): Ditto.
1287 (KJS::WindowQObject::pauseTimeouts): Ditto.
1288 (KJS::WindowQObject::resumeTimeouts): Ditto.
1289 (KJS::WindowQObject::clearTimeout): Ditto.
1290 (KJS::WindowQObject::timerFired): Ditto.
1291 (KJS::DOMWindowTimer::fired): Added.
1293 * khtml/html/htmltokenizer.h:
1294 * khtml/html/htmltokenizer.cpp:
1295 (WebCore::HTMLTokenizer::HTMLTokenizer): Use Timer instead of timer ID.
1296 (WebCore::HTMLTokenizer::reset): Ditto.
1297 (WebCore::HTMLTokenizer::continueProcessing): Ditto.
1298 (WebCore::HTMLTokenizer::write): Ditto.
1299 (WebCore::HTMLTokenizer::stopParsing): Ditto.
1300 (WebCore::HTMLTokenizer::processingData): Ditto.
1301 (WebCore::HTMLTokenizer::timerFired): Ditto.
1302 (WebCore::HTMLTokenizer::end): Ditto.
1303 (WebCore::HTMLTokenizer::finish): Ditto.
1305 * khtml/xml/DocumentImpl.h:
1306 * khtml/xml/DocumentImpl.cpp:
1307 (WebCore::DocumentImpl::DocumentImpl): Updated for changes to use RefPtr
1308 more cases, and not use it for m_svgExtensions.
1309 (WebCore::DocumentImpl::~DocumentImpl): Delete m_svgExtensions instead of
1310 just deref'ing it since it's no longer shared.
1311 (WebCore::DocumentImpl::implementation): Update for RefPtr.
1312 (WebCore::DocumentImpl::elementSheet): Ditto.
1313 (WebCore::DocumentImpl::styleSheets): Ditto.
1314 (WebCore::DocumentImpl::recalcStyleSelector): Ditto.
1315 (WebCore::DocumentImpl::dispatchImageLoadEventSoon): Update to use new style timer.
1316 (WebCore::DocumentImpl::removeImage): Ditto.
1317 (WebCore::DocumentImpl::dispatchImageLoadEventsNow): Ditto.
1318 (WebCore::DocumentImpl::imageLoadEventTimerFired): Ditto.
1319 (WebCore::DocumentImpl::svgExtensions): Update for RefPtr.
1320 (WebCore::DocumentImpl::accessSVGExtensions): Ditto.
1322 * ksvg2/misc/KSVGTimeScheduler.h:
1323 (WebCore::TimeScheduler::document):
1324 * ksvg2/misc/KSVGTimeScheduler.cpp:
1325 (WebCore::SVGTimer::downcast):
1326 (WebCore::SVGTimer::SVGTimer):
1327 (WebCore::SVGTimer::start):
1328 (WebCore::SVGTimer::calculateTimePercentage):
1329 (WebCore::SVGTimer::notifyAll):
1330 (WebCore::SVGTimer::addNotify):
1331 (WebCore::SVGTimer::removeNotify):
1332 (WebCore::TimeScheduler::TimeScheduler):
1333 (WebCore::TimeScheduler::~TimeScheduler):
1334 (WebCore::TimeScheduler::addTimer):
1335 (WebCore::TimeScheduler::connectIntervalTimer):
1336 (WebCore::TimeScheduler::disconnectIntervalTimer):
1337 (WebCore::TimeScheduler::startAnimations):
1338 (WebCore::TimeScheduler::toggleAnimations):
1339 (WebCore::TimeScheduler::timerFired):
1340 Rework to use new timer.
1342 * ksvg2/misc/SVGDocumentExtensions.h:
1343 * ksvg2/misc/SVGDocumentExtensions.cpp:
1344 Make SVGDocumentExtensions no longer be shared, be solely owned by the document.
1346 * ksvg2/svg/SVGDocumentImpl.cpp:
1347 (WebCore::SVGDocumentImpl::createStyleSelector): Update for RefPtr use.
1349 * kwq/KWQSlot.cpp: Remove endLifeSupport and timerNotify slots.
1353 (WebCore::Frame::selectionLayoutChanged): Update to use new style timer.
1354 (WebCore::Frame::caretBlinkTimerFired): Ditto.
1355 * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Ditto.
1358 * page/FrameView.cpp:
1359 (WebCore::FrameViewPrivate::FrameViewPrivate): Update to use new style timer.
1360 (WebCore::FrameView::clear): Ditto.
1361 (WebCore::FrameView::layout): Ditto.
1362 (WebCore::FrameView::layoutTimerFired): Ditto.
1363 (WebCore::FrameView::scheduleRelayout): Ditto.
1364 (WebCore::FrameView::layoutPending): Ditto.
1365 (WebCore::FrameView::haveDelayedLayoutScheduled): Ditto.
1366 (WebCore::FrameView::unscheduleRelayout): Ditto.
1368 * page/ObjectContents.h: Remove unneeded includes.
1370 * rendering/render_frames.cpp: Removed include of <qtimer.h>.
1372 * rendering/render_layer.h:
1373 * rendering/render_layer.cpp:
1374 (WebCore::Marquee::Marquee): Use new style timers.
1375 (WebCore::Marquee::start): Ditto.
1376 (WebCore::Marquee::suspend): Ditto.
1377 (WebCore::Marquee::stop): Ditto.
1378 (WebCore::Marquee::updateMarqueeStyle): Ditto.
1379 (WebCore::Marquee::timerFired): Ditto.
1381 2006-02-01 Darin Adler <darin@apple.com>
1385 Fix for <rdar://problem/4424126> REGRESSION(412-420+): yellow
1386 highlight fails to follow cursor when mousing over star rating
1389 Event coordinates cannot be calculated until there is a target.
1390 This patch restructures the code so that the coordinates are
1391 initialized when the mouse event is created but are not calculated
1392 until the target is set.
1394 * khtml/xml/dom2_eventsimpl.cpp:
1395 (WebCore::EventImpl::setTarget): Now calls receivedTarget() if the
1397 (WebCore::EventImpl::receivedTarget): virtual receivedTarget()
1398 (WebCore::MouseRelatedEventImpl::MouseRelatedEventImpl): Call
1400 (WebCore::MouseRelatedEventImpl::initCoordinates): Formerly called
1401 computePositions(), this now only initializes the coordinates and
1402 lets receivedTarget() take care of the computations.
1403 (WebCore::MouseRelatedEventImpl::receivedTarget): Takes care of
1404 computing the coordinates.
1405 (WebCore::MouseEventImpl::initMouseEvent): Call initCoordinates()
1406 * khtml/xml/dom2_eventsimpl.h:
1407 (WebCore::EventImpl::target): Fix spacing.
1408 (WebCore::EventImpl::currentTarget): Same.
1409 (WebCore::EventImpl::setCurrentTarget): Same.
1411 2006-01-31 Maciej Stachowiak <mjs@apple.com>
1415 - fixed REGRESSION: assertion failure mousing over DHTML menus at www.worldofwarcraft.com
1416 http://bugzilla.opendarwin.org/show_bug.cgi?id=6931
1418 * rendering/render_layer.cpp:
1419 (WebCore::RenderLayer::hitTestLayer): Iterate vectors in a way that won't break on empty ones.
1421 2006-01-31 Adele Peterson <adele@apple.com>
1425 http://bugzilla.opendarwin.org/show_bug.cgi?id=6862
1426 Input's value doesn't get updated after typing in new text field
1429 fast/forms/input-changing-value.html
1431 Added an event listener for a DOMCharacterDataModifiedEvent on the inner div.
1432 When we get the event, then we update the input element's value field.
1434 There may be performance problems with this approach that we will have to
1435 address before flipping the switch to use these new text fields.
1437 * rendering/RenderTextField.cpp:
1438 (WebCore::InputMutationListener::handleEvent): calls subtreeHasChanged
1439 (WebCore::m_mutationListener):
1440 (WebCore::RenderTextField::~RenderTextField): remove the event listener.
1441 (WebCore::RenderTextField::setStyle): Remove unnecessary setStyle on text node.
1442 It should inherit style from the div already.
1443 (WebCore::RenderTextField::updateFromElement): add the event listener.
1444 (WebCore::RenderTextField::subtreeHasChanged): updates the input element's value.
1445 * rendering/RenderTextField.h:
1446 (WebCore::InputMutationListener::InputMutationListener): Added.
1447 (WebCore::InputMutationListener::renderTextField): Added.
1448 (WebCore::InputMutationListener::setInputElement): Added.
1450 2006-01-31 Antti Koivisto <koivisto@iki.fi>
1452 Reviewed by Dave Hyatt.
1453 Landed by Timothy Hatcher.
1455 http://bugzilla.opendarwin.org/show_bug.cgi?id=4959
1456 Bug 4959: inline style not terminated properly after <form>
1458 * khtml/html/htmlparser.cpp:
1459 (HTMLParser::isResidualStyleTag): add <span> as residual style tag
1460 (HTMLParser::isAffectedByResidualStyle): add <form> as tag affected by residual style
1462 2006-01-31 Vicki Murley <vicki@apple.com>
1466 - fix <rdar://problem/4426668> REGRESSION: sometimes URLs with named anchors in a
1467 page don't jump to proper location in document (6916). Added test cases for this
1468 fix and past link jumping bug fixes.
1470 * khtml/xml/ContainerNodeImpl.cpp:
1471 (WebCore::ContainerNodeImpl::getUpperLeftCorner): Traverse up the parent node chain
1472 until you find one that has a sibling.
1473 * manual-tests/linkjump-1.html: Added a note here - the bug for this test case is
1474 still broken in TOT.
1475 * manual-tests/linkjump-2.html: Added. Renamed scrollToAnchor.html, to group it with the
1476 rest of the link jumping tests.
1477 * manual-tests/linkjump-3.html: Added. Test case for this bug, <rdar://problem/4426668>.
1478 * manual-tests/linkjump-4.html: Added. Test case for past fix, <rdar://problem/4247537>.
1479 * manual-tests/linkjump-5.html: Added. Test case for past fix, <rdar://problem/4256060>.
1480 * manual-tests/scrollToAnchor.html: Removed.
1482 2006-01-31 David Harrison <harrison@apple.com>
1485 <rdar://problem/4423922> TOT REGRESSION (r12358): first iframe in pair fails to copy
1488 * editing/pasteboard/paste-empty-startcontainer.html
1490 * khtml/xml/dom2_rangeimpl.cpp:
1491 (DOM::RangeImpl::startNode):
1492 - use empty non-textual m_startContainer itself if m_startOffset is 0, rather then nextSibling()
1494 2006-01-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
1496 Test: fast/forms/selected-index-assert.html.
1500 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6942
1501 Assertion failure in HTMLSelectElementImpl::selectedIndex (m_multiple)
1503 * khtml/html/HTMLSelectElementImpl.cpp:
1504 (WebCore::HTMLSelectElementImpl::selectedIndex): Removed bogus assert.
1505 -1 is the correct value to return if no option is selected.
1507 2006-01-31 Beth Dakin <bdakin@apple.com>
1511 Fixing build bustage. Removing include of khtml_factory.h since it
1514 * rendering/font.cpp: No longer include khtml_factory.h
1516 2006-01-31 David Kilzer <ddkilzer@kilzer.net>
1520 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6584
1521 REGRESSION: button after unclosed button gives trouble
1523 * khtml/html/htmlparser.cpp: (HTMLParser::getNode):
1524 Add buttonTag to error handling table to take care of unclosed tags.
1526 2006-01-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
1528 Test: fast/parser/script-after-frameset-assert.html
1532 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6959
1533 REGRESSION: Assertion failure in HTMLTokenizer::parseTag (!scriptNode) on page with ignored scripts
1535 * khtml/html/htmltokenizer.cpp:
1536 (WebCore::HTMLTokenizer::scriptHandler): Reset scriptNode to 0 if the
1537 script is being skipped.
1539 2006-01-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
1543 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6960
1544 REGRESSION: Assertion failure in table_layout.cpp:216 calcWidthArray()
1546 * rendering/table_layout.cpp: (WebCore::FixedTableLayout::calcWidthArray):
1547 Remove the assertion.
1549 2006-01-31 Anders Carlsson <andersca@mac.com>
1553 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6964
1554 ImagePatterns are always rendered mirrored
1556 * khtml/ecma/kjs_html.cpp:
1557 (KJS::ImagePattern::createPattern):
1558 Don't mirror the x coordinate when creating the pattern.
1560 2006-01-31 Darin Adler <darin@apple.com>
1564 - added a Timer class
1565 - used the Timer class for the redirection timer
1566 - moved Frame, FrameView, MacFrame, and FrameNodeTree into WebCore namespace
1569 * ForwardingHeaders/khtml_factory.h: Removed.
1570 * kwq/KWQKHTMLFactory.cpp: Removed.
1571 * kwq/KWQKHTMLFactory.h: Removed.
1573 * platform/Timer.h: Added.
1574 * platform/mac/Timer.cpp: Added.
1576 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for added and removed files.
1577 * WebCore.xcodeproj/project.pbxproj: Ditto.
1581 (WebCore::Frame::init): Remove code to set up slotRedirect.
1582 (WebCore::Frame::checkCompleted): Call start/stopRedirectionTimer instead of using
1583 the redirection timer directly.
1584 (WebCore::Frame::scheduleRedirection): Ditto.
1585 (WebCore::Frame::scheduleLocationChange): Ditto.
1586 (WebCore::Frame::scheduleHistoryNavigation): Ditto.
1587 (WebCore::Frame::cancelRedirection): Ditto.
1588 (WebCore::Frame::redirectionTimerFired): Renamed from slotRedirect.
1589 (WebCore::Frame::slotParentCompleted): More startRedirectionTimer.
1590 (WebCore::Frame::startRedirectionTimer): Added. Virtual bottleneck to start the
1592 (WebCore::Frame::stopRedirectionTimer): Added. Virtual bottleneck to stop the
1595 * page/FramePrivate.h: Changed m_redirectionTimer from a QTimer to a Timer.
1597 * bridge/mac/MacFrame.mm:
1598 (WebCore::MacFrame::startRedirectionTimer): Added. Avoids the need for the QTimer
1599 "monitor" feature that I had added a while back to implement the client-redirected
1601 (WebCore::MacFrame::stopRedirectionTimer): Ditto.
1603 * kwq/KWQSlot.cpp: Removed slotRedirected.
1605 * ForwardingHeaders/ksvg2/KSVGPart.h: Removed using to put Frame into various
1606 namespaces (all of which are WebCore now anyway).
1608 * bindings/objc/DOMInternal.mm:
1609 * bridge/mac/BrowserExtensionMac.h:
1610 * bridge/mac/KWQKHTMLView.cpp:
1611 * bridge/mac/MacFrame.h:
1612 * bridge/mac/WebCoreFrameBridge.h:
1613 * bridge/mac/WebCoreFrameBridge.mm:
1614 * bridge/mac/WebCorePageBridge.h:
1615 * bridge/mac/WebCorePageBridge.mm:
1616 * css/cssstyleselector.cpp:
1617 * css/cssstyleselector.h:
1618 * khtml/ecma/kjs_binding.cpp:
1619 * khtml/ecma/kjs_binding.h:
1620 * khtml/ecma/kjs_navigator.cpp:
1621 * khtml/ecma/kjs_navigator.h:
1622 * khtml/ecma/kjs_proxy.h:
1623 * khtml/ecma/kjs_window.h:
1624 * khtml/editing/SelectionController.h:
1625 * khtml/editing/jsediting.h:
1626 * khtml/html/html_baseimpl.h:
1627 * khtml/html/html_documentimpl.cpp:
1628 * khtml/html/html_documentimpl.h:
1629 * khtml/html/html_headimpl.h:
1630 * khtml/html/htmlparser.h:
1631 * khtml/html/htmltokenizer.h:
1632 * khtml/xml/DOMImplementationImpl.h:
1633 * khtml/xml/DocumentImpl.h:
1634 * khtml/xml/dom2_eventsimpl.h:
1635 * khtml/xml/xml_tokenizer.h:
1636 * khtml/xsl/xslt_processorimpl.h:
1637 * ksvg2/svg/SVGDocumentImpl.cpp:
1638 * kwq/KWQClipboard.h:
1639 * kwq/KWQComboBox.mm:
1640 * kwq/KWQFileButton.h:
1642 * kwq/KWQKJavaAppletWidget.h:
1643 * kwq/KWQListBox.mm:
1644 * kwq/KWQSignalStubs.cpp:
1646 * kwq/KWQTextField.mm:
1648 * kwq/WebCoreSettings.mm:
1649 * kwq/WebCoreTextRendererFactory.mm:
1650 * loader/DocLoader.h:
1651 * page/FrameTreeNode.cpp:
1652 * page/FrameTreeNode.h:
1653 * page/FrameView.cpp:
1657 * rendering/InlineTextBox.h:
1658 * rendering/font.cpp:
1659 * rendering/render_canvas.h:
1660 * rendering/render_frames.h:
1661 * rendering/render_object.h:
1662 * rendering/render_replaced.h:
1663 Updated for namespace and header changes.
1665 2006-01-31 Anders Carlsson <andersca@mac.com>
1669 The WebCore part of http://bugzilla.opendarwin.org/show_bug.cgi?id=6907
1670 REGRESSION: United.com menus messed up due to document.all/MSIE sniff
1672 * khtml/ecma/kjs_html.h:
1673 (KJS::HTMLAllCollection::masqueradeAsUndefined):
1674 Update for name change.
1676 2006-01-30 Geoffrey Garen <ggaren@apple.com>
1680 - Speculative fix for <rdar://problem/4135845> Crash executing
1681 cross-frame script on timeout in KJS::ScheduledAction::execute
1683 If we ever get a reproducible case of 4135845, I'll add a test for it.
1685 This is a re-working of Maciej's fix for 3157014 (circa 2003!). Since
1686 you can't reliably predict what the state of the page will be when
1687 a timer fires, I've made the timer responsbile for making sure that
1688 everything is OK to execute.
1690 I tested @ http://www.javascriptkit.com/script/cut3.shtml with various
1691 combinations of reload, back, and regular navigations with JS enabled/
1692 disabled to ensure that the previous crash didn't return. I also ran a
1693 leaks test and discovered some, but none unique to this patch. (See
1694 <rdar://problem/4427420> TOT REGRESSION: Leaks seen on page with
1697 * khtml/ecma/kjs_window.cpp:
1698 (KJS::ScheduledAction::execute): Return early if there's no window
1699 object. (This happens when JavaScript is disabled.)
1700 (KJS::Window::retrieveWindow): Reversed a backwards ASSERT, increased
1701 prettiness. (The assert fired while I was testing. Not sure why we
1702 haven't seen it before.)
1704 (Frame::didOpenURL): Returned setting of JavaScript enabled/disabled
1705 preference to its rightful place. This introduces a new behavior: now,
1706 the unload event does not fire after you've disabled JavaScript. That
1707 seems like a good thing. (See <rdar://problem/4426506> Disabling
1708 JavaScript should immediately end JavaScript execution.)
1709 (Frame::begin): Ditto.
1711 2006-01-30 Geoffrey Garen <ggaren@apple.com>
1713 Reviewed by Dave Harrison.
1715 - Fixed <rdar://problem/4378159> crash in KWQKHTMLPart::userGestureHint
1716 from javascript enabled/disabled inconsistency when pasting webpage
1720 (Frame::userGestureHint): Check root frame's jScript() for NULL instead
1721 of checking inner frame's jScript().
1723 After init() has been called on a frame, but before begin() has been
1724 called, the frame can have JavaScript enabled when its parent doesn't.
1725 (That seems wrong, so I've filed <rdar://problem/4426499> Child frame
1726 momentarily has JavaScript enabled even though parent frame doesn't.)
1728 Regardless, it's better programming practice to NULL check the actual
1729 pointer you're going to use, so that's what I've done here.
1731 * manual-tests/paste-crash.html: Added.
1732 (No automated test because the crash depends on JavaScript being
1735 2006-01-30 Beth Dakin <bdakin@apple.com>
1739 Fix for <rdar://problem/4298052> Crash in KWQCheckIfReloading at
1740 http://www.inquisitorx.com/beta/
1742 It is possible for the DocLoader's frame to be nil when the
1743 DocLoader is not nil, so we need nil checks.
1746 (KWQServeRequest): Nil check.
1747 (KWQServeSynchronousRequest): Same.
1748 (KWQCheckIfReloading): Same.
1749 (KWQCheckCacheObjectStatus): Same.
1750 (KWQCacheObjectExpiresTime): Same.
1751 * kwq/KWQPageState.mm: Same.
1753 2006-01-30 Eric Seidel <eseidel@apple.com>
1755 Add #import "KWQFontMetrics.h" to fix no-svg build.
1757 * kwq/KWQPainter.mm:
1759 2006-01-30 Darin Adler <darin@apple.com>
1763 - cleanup of Int/Float-Size/Point/Rect classes
1765 I did this as part of a redo of QMatrix, but I decided I should
1766 land this part separately.
1768 Eliminated the concept of a null rect or point, which used to be
1769 indicated by negative width and height.
1771 Changed right and bottom to to be, e.g., 2 for a rect at (0,0) 2x2.
1772 The old code followed Qt's system that says right is 1 in those cases,
1773 which is inappropriate for floating point, and old fashioned because
1774 modern graphics systems use coordinates for lines between pixels, not
1775 the pixels themselves.
1777 Other API improvements to the point, size, and rect classes. For example,
1778 functions named with verbs now always modify the object itself.
1780 * rendering/render_theme_mac.mm: (RenderThemeMac::paintButton): Fixed
1781 a bug where it said x() where it should say y().
1783 * bridge/mac/MacFrame.h:
1784 * bridge/mac/MacFrame.mm:
1785 * bridge/mac/WebCoreFrameBridge.mm:
1786 * kcanvas/KCanvasContainer.cpp:
1787 * kcanvas/KCanvasItem.cpp:
1788 * kcanvas/RenderSVGImage.cpp:
1789 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1790 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1791 * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1792 * khtml/ecma/kjs_dom.cpp:
1793 * khtml/ecma/kjs_window.cpp:
1794 * khtml/editing/SelectionController.cpp:
1795 * khtml/html/html_inlineimpl.cpp:
1796 * khtml/html/html_objectimpl.cpp:
1797 * khtml/html/html_objectimpl.h:
1798 * khtml/misc/khtmllayout.h:
1799 * ksvg2/svg/SVGSVGElementImpl.cpp:
1800 * kwq/KWQAccObject.mm:
1801 * kwq/KWQComboBox.mm:
1802 * kwq/KWQFileButton.mm:
1803 * kwq/KWQFontMetrics.mm:
1805 * kwq/KWQPainter.mm:
1806 * kwq/KWQRegion.cpp:
1807 * kwq/KWQRenderTreeDebug.cpp:
1808 * kwq/KWQScrollView.mm:
1809 * kwq/KWQWMatrix.cpp:
1812 * kwq/KWQWindowWidget.mm:
1813 * loader/CachedImage.cpp:
1815 * page/FrameView.cpp:
1816 * platform/FloatPoint.cpp:
1817 * platform/FloatPoint.h:
1818 * platform/FloatRect.cpp:
1819 * platform/FloatRect.h:
1820 * platform/FloatSize.cpp:
1821 * platform/FloatSize.h:
1823 * platform/IntPoint.cpp:
1824 * platform/IntPoint.h:
1825 * platform/IntPointArray.cpp:
1826 * platform/IntPointArray.h:
1827 * platform/IntRect.cpp:
1828 * platform/IntRect.h:
1829 * platform/IntSize.cpp:
1830 * platform/IntSize.h:
1831 * platform/mac/FloatPoint.mm:
1832 * platform/mac/FloatRect.mm:
1833 * platform/mac/FloatSize.mm:
1834 * platform/mac/Image.mm:
1835 * platform/mac/IntPoint.mm:
1836 * platform/mac/IntRect.mm:
1837 * platform/mac/IntSize.mm:
1838 * platform/mac/Screen.mm:
1839 * rendering/InlineTextBox.cpp:
1840 * rendering/RenderBlock.cpp:
1841 * rendering/RenderBlock.h:
1842 * rendering/RenderTable.cpp:
1843 * rendering/RenderTableCell.cpp:
1844 * rendering/RenderText.cpp:
1845 * rendering/render_box.cpp:
1846 * rendering/render_canvas.cpp:
1847 * rendering/render_canvasimage.cpp:
1848 * rendering/render_flow.cpp:
1849 * rendering/render_form.cpp:
1850 * rendering/render_frames.cpp:
1851 * rendering/render_layer.cpp:
1852 * rendering/render_line.cpp:
1853 * rendering/render_list.cpp:
1854 * rendering/render_object.cpp:
1855 * rendering/render_object.h:
1856 * rendering/render_replaced.cpp:
1858 2006-01-29 Maciej Stachowiak <mjs@apple.com>
1862 - Remove QSortedList and QPtrList sorting support
1863 http://bugzilla.opendarwin.org/show_bug.cgi?id=6929
1865 * WebCore.xcodeproj/project.pbxproj:
1866 * kcanvas/device/KRenderingPaintServerGradient.cpp:
1867 (operator<<): Implement for Vector<KCGradientStop>
1868 (KRenderingPaintServerGradient::gradientStops): Use a Vector, not a subclass of
1869 QPtrList that sorts on every insert
1870 (compareStopOffset): Comparison function for sorting.
1871 (KRenderingPaintServerGradient::setGradientStops): Add a version that takes a Vector which sorts,
1872 and another which knows how to copy from another gradient paint server.
1873 * kcanvas/device/KRenderingPaintServerGradient.h:
1874 (makeGradientStop): Make a gradient stop pair.
1875 * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
1876 (KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz): use delete
1878 (KRenderingPaintServerGradientQuartz::updateQuartzGradientStopsCache): adapt to Vector
1879 * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
1880 * khtml/editing/visible_text.cpp:
1881 (khtml::compareBoxStart): Comparison function for sorting.
1882 (khtml::TextIterator::handleTextNode): Use Vector and std::sort instead of QSortedList
1883 for sorting. Keep current position as an index.
1884 (khtml::TextIterator::handleTextBox): Adapt for Vector use.
1885 * khtml/editing/visible_text.h:
1886 * ksvg2/svg/SVGGradientElementImpl.cpp:
1887 (SVGGradientElementImpl::rebuildStops): Use a Vector. Instead of modifying the existing one,
1888 make a fresh one and assign it.
1889 * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
1890 (SVGLinearGradientElementImpl::buildGradient): don't copy item by item, just assign directly.
1891 * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
1892 (SVGRadialGradientElementImpl::buildGradient): ditto
1893 * ksvg2/svg/SVGStopElementImpl.h:
1894 * kwq/KWQListImpl.cpp:
1896 (QPtrList::sort): Removed.
1897 * kwq/KWQSortedList.h: Removed.
1898 * rendering/InlineTextBox.h: Remove now unneeded operator< and operator=
1900 2006-01-29 Darin Adler <darin@apple.com>
1904 - killed more KWQ, KWinModule and QVariant
1906 * ForwardingHeaders/kwinmodule.h: Removed.
1907 * ForwardingHeaders/qvariant.h: Removed.
1909 * kwq/KWQKWinModule.h: Removed.
1910 * kwq/KWQKWinModule.mm: Removed.
1911 * kwq/KWQVariant.cpp: Removed.
1912 * kwq/KWQVariant.h: Removed.
1914 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removal.
1915 * WebCore.xcodeproj/project.pbxproj: Ditto.
1917 * khtml/ecma/kjs_binding.h:
1918 * khtml/ecma/kjs_binding.cpp: Remove QVariant stuff.
1920 * bridge/mac/WebCoreFrameBridge.mm:
1921 (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1922 * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent):
1923 * khtml/ecma/kjs_proxy.h:
1924 * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate):
1928 (Frame::replaceContentsWithScriptResult):
1929 (Frame::executeScript):
1930 (Frame::executeScheduledScript):
1931 (Frame::changeLocation):
1932 (Frame::urlSelected):
1933 (Frame::submitForm):
1934 Changed to use JSValue instead of QVariant for result of executing JavaScript.
1936 * kwq/KWQObject.h: Removed a bunch of unneeded includes and forward declarations.
1938 * bridge/mac/MacFrame.mm:
1939 * khtml/ecma/kjs_window.h:
1940 * khtml/ecma/kjs_window.cpp:
1941 * khtml/html/html_inlineimpl.cpp:
1942 * khtml/html/htmltokenizer.cpp:
1943 * khtml/xml/DocumentImpl.cpp:
1944 * khtml/xml/NodeImpl.cpp:
1945 * khtml/xml/dom2_eventsimpl.cpp:
1946 * khtml/xml/xml_tokenizer.cpp:
1947 * kwq/KWQComboBox.mm:
1948 * kwq/KWQFileButton.mm:
1949 * kwq/KWQListBox.mm:
1950 * kwq/KWQObject.cpp:
1952 * kwq/KWQTextArea.mm:
1953 * kwq/KWQTextField.mm:
1954 * loader/CachedImage.h:
1956 * page/FrameView.cpp:
1957 * rendering/render_form.cpp:
1958 Updated includes, since KWQObject.h now includes less.
1959 Also updated callers to executeScript since one overload was removed.
1961 2006-01-29 Eric Seidel <eseidel@apple.com>
1965 Added back #include <qvaluelist.h> to fix WIN32 build.
1967 * rendering/render_style.h:
1969 2006-01-29 Darin Adler <darin@apple.com>
1971 Reviewed by Hyatt (drag image fix) and Maciej (the rest).
1973 - fixed just-introduced crash dragging images
1975 I don't know how to make a layout test for this.
1977 * kwq/KWQClipboard.mm: (WebCore::KWQClipboard::dragImage): Fixed crash on
1978 dragging by initializing m_dragImage to 0.
1980 - http://bugzilla.opendarwin.org/show_bug.cgi?id=6923
1981 remove more of KWQ, including the screen functions from QDesktopWidget
1983 * kwq/KWQApplication.h: Removed.
1984 * kwq/KWQApplication.mm: Removed.
1985 * kwq/KWQGlobal.cpp: Removed.
1986 * kwq/KWQKPartsEvent.cpp: Removed.
1987 * kwq/KWQKPartsEvent.h: Removed.
1988 * kwq/KWQPair.h: Removed.
1989 * kwq/KWQStyle.cpp: Removed.
1990 * kwq/KWQStyle.h: Removed.
1992 * ForwardingHeaders/kparts/event.h: Removed.
1993 * ForwardingHeaders/qapplication.h: Removed.
1994 * ForwardingHeaders/qstyle.h: Removed.
1996 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for above changes.
1997 * WebCore.xcodeproj/project.pbxproj: Ditto.
1999 * platform/Screen.h: Added. Replaces the desktop widget stuff in KWQApplication.mm.
2000 * platform/mac/Screen.mm: Added.
2002 * kwq/KWQDef.h: Removed everything except for kMin and kMax from here.
2003 We should port to std::min and std::max, and then we can get rid of this
2006 * kwq/KWQKCursor.h: Removed setAutoHideCursor.
2007 * kwq/KWQKCursor.mm: Ditto.
2009 * kwq/KWQWidget.h: Removed style() and setStyle() functions.
2010 * kwq/KWQWidget.mm: Ditto.
2012 * khtml/ecma/kjs_window.h:
2013 * khtml/ecma/kjs_window.cpp:
2014 (KJS::Screen::Screen): Store a pointer to the Frame.
2015 (KJS::Screen::getValueProperty): Port to use the new Screen.h functions.
2016 (KJS::showModalDialog): Ditto.
2017 (KJS::Window::getValueProperty): Ditto.
2018 (KJS::WindowFunc::callAsFunction): Ditto.
2020 * khtml/khtml_events.h:
2021 * khtml/khtml_events.cpp: Removed much of the code here.
2022 This can be cut down even more.
2024 * khtml/misc/khtmllayout.h: Removed unused stuff and updated for KWQ changes.
2026 * kwq/KWQCString.cpp:
2028 * kwq/KWQPainter.mm:
2029 * kwq/KWQRegExp.cpp:
2030 * kwq/KWQRenderTreeDebug.cpp:
2033 * kwq/KWQTextCodec.cpp:
2034 * WebCore+SVG/KDOMSettings.cpp:
2035 * bridge/mac/MacFrame.mm:
2036 * bridge/mac/WebCoreFrameBridge.mm:
2037 * css/cssparser.cpp:
2038 * kcanvas/KCanvasItem.cpp:
2039 * khtml/ecma/kjs_navigator.cpp:
2040 * khtml/html/HTMLSelectElementImpl.cpp:
2041 * khtml/html/html_tableimpl.h:
2042 * khtml/html/htmltokenizer.cpp:
2043 * khtml/misc/decoder.cpp:
2044 * ksvg2/css/KSVGCSSParser.cpp:
2045 * ksvg2/css/SVGRenderStyle.h:
2048 * page/FrameView.cpp:
2049 * platform/IntPointArray.cpp:
2050 * rendering/RenderBlock.cpp:
2051 * rendering/RenderTable.cpp:
2052 * rendering/bidi.cpp:
2054 * rendering/render_form.cpp:
2055 * rendering/render_object.cpp:
2056 * rendering/render_object.h:
2057 * rendering/render_replaced.cpp:
2058 * rendering/render_style.h:
2059 * rendering/table_layout.cpp:
2060 Updated for above KWQ changes. Changed tabs to spaces.
2062 2006-01-29 Eric Seidel <eseidel@apple.com>
2066 Fix build for Win32.
2068 * WebCore.vcproj/WebCore/WebCore.vcproj:
2070 2006-01-29 David Hyatt <hyatt@apple.com>
2072 Fix for bug 6910, don't let Image be assignable or copiable. It will soon represent the actual
2073 original Image (including the data) and as such must remain unique.
2077 * kcanvas/KCanvasFilters.cpp:
2078 (KCanvasFEImage::~KCanvasFEImage):
2079 (KCanvasFEImage::setCachedImage):
2080 * kcanvas/KCanvasFilters.h:
2081 (KCanvasFEImage::KCanvasFEImage):
2082 (KCanvasFEImage::cachedImage):
2083 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2084 (KCanvasFEImageQuartz::getCIFilter):
2085 * khtml/ecma/kjs_events.cpp:
2086 (KJS::ClipboardProtoFunc::callAsFunction):
2087 * khtml/ecma/kjs_html.cpp:
2088 (KJS::KJS::Context2DFunction::callAsFunction):
2091 (KJS::ImagePattern::~ImagePattern):
2092 (KJS::ImagePattern::createPattern):
2093 * khtml/ecma/kjs_html.h:
2094 (KJS::ImagePattern::cachedImage):
2095 * khtml/html/html_imageimpl.h:
2096 (WebCore::HTMLImageElementImpl::cachedImage):
2097 * khtml/xml/dom2_eventsimpl.h:
2098 * ksvg2/svg/SVGCursorElementImpl.cpp:
2099 (SVGCursorElementImpl::~SVGCursorElementImpl):
2100 (SVGCursorElementImpl::parseMappedAttribute):
2101 * ksvg2/svg/SVGCursorElementImpl.h:
2102 (KSVG::SVGCursorElementImpl::cachedImage):
2103 * ksvg2/svg/SVGFEImageElementImpl.cpp:
2104 (SVGFEImageElementImpl::~SVGFEImageElementImpl):
2105 (SVGFEImageElementImpl::parseMappedAttribute):
2106 (SVGFEImageElementImpl::notifyFinished):
2107 * kwq/KWQClipboard.h:
2108 * kwq/KWQClipboard.mm:
2109 (WebCore::KWQClipboard::dragImage):
2110 (WebCore::KWQClipboard::setDragImage):
2111 (WebCore::KWQClipboard::setDragImageElement):
2112 (WebCore::KWQClipboard::imageChanged):
2113 (WebCore::KWQClipboard::dragNSImage):
2116 2006-01-29 Darin Adler <darin@apple.com>
2120 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6914
2121 REGRESSION: fast/block/basic/014.html crashes Safari
2123 * rendering/render_image.h:
2124 (WebCore::RenderImage::image): Return a null image when m_cachedImage is 0.
2125 (WebCore::RenderImage::errorOccurred): Return false when m_cachedImage is 0.
2126 * rendering/render_image.cpp: (WebCore::RenderImage::nullImage): Added.
2127 Returns a global null image for use when we have no cached image.
2129 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6919
2130 REGRESSION: Background images don't paint when they are finished loading
2132 * rendering/render_object.h: Renamed the old setImage to imageChanged, the
2133 new name for the same function.
2134 * rendering/render_object.cpp: (WebCore::RenderObject::imageChanged): Ditto.
2135 * rendering/render_list.cpp: (RenderListMarker::imageChanged): Changed the
2136 call to parent to call the new imageChanged instead of the old setImage.
2138 - fixed something else that was causing some layout test crashes
2140 * kwq/KWQRenderTreeDebug.cpp: (externalRepresentation): Rearrange so we won't
2141 ever dereference a null pointer here.
2143 2006-01-29 Maciej Stachowiak <mjs@apple.com>
2147 - replace QValueVector and QPtrVector use with Vector, and remove them.
2148 http://bugzilla.opendarwin.org/show_bug.cgi?id=6909
2150 * ForwardingHeaders/q3valuevector.h: Removed.
2151 * ForwardingHeaders/qptrvector.h: Removed.
2152 * ForwardingHeaders/qvector.h: Removed.
2153 * WebCore+SVG/KDOMSettings.cpp:
2154 (KDOMSettings::init):
2155 (KDOMSettings::isAdFiltered):
2156 * WebCore.xcodeproj/project.pbxproj:
2157 * bridge/mac/WebCoreFrameBridge.mm:
2158 (-[WebCoreFrameBridge elementWithName:inForm:]):
2159 (-[WebCoreFrameBridge controlsInForm:]):
2160 * css/cssstyleselector.h:
2161 * khtml/html/HTMLCollectionImpl.cpp:
2162 (WebCore::HTMLCollectionImpl::updateNameCache):
2163 (WebCore::HTMLCollectionImpl::namedItems):
2164 * khtml/html/HTMLCollectionImpl.h:
2165 * khtml/html/HTMLFormCollectionImpl.cpp:
2166 (WebCore::HTMLFormCollectionImpl::HTMLFormCollectionImpl):
2167 (WebCore::HTMLFormCollectionImpl::calcLength):
2168 (WebCore::HTMLFormCollectionImpl::item):
2169 (WebCore::HTMLFormCollectionImpl::getNamedFormItem):
2170 (WebCore::HTMLFormCollectionImpl::updateNameCache):
2171 * khtml/html/HTMLFormElementImpl.cpp:
2172 (WebCore::HTMLFormElementImpl::~HTMLFormElementImpl):
2173 (WebCore::HTMLFormElementImpl::length):
2174 (WebCore::HTMLFormElementImpl::submitClick):
2175 (WebCore::HTMLFormElementImpl::formData):
2176 (WebCore::HTMLFormElementImpl::submit):
2177 (WebCore::HTMLFormElementImpl::reset):
2178 (WebCore::insertIntoVector):
2179 (WebCore::removeFromVector):
2180 (WebCore::HTMLFormElementImpl::formElementIndex):
2181 (WebCore::HTMLFormElementImpl::registerImgElement):
2182 * khtml/html/HTMLFormElementImpl.h:
2183 * ksvg2/svg/SVGTextElementImpl.cpp:
2184 * kwq/KWQComboBox.h:
2186 * kwq/KWQPtrVector.h: Removed.
2187 * kwq/KWQRenderTreeDebug.cpp:
2189 * kwq/KWQValueVector.h: Removed.
2190 * kwq/KWQVectorImpl.cpp: Removed.
2191 * kwq/KWQVectorImpl.h: Removed.
2192 * loader/loader.cpp:
2193 (WebCore::Loader::cancelRequests):
2194 * rendering/render_layer.cpp:
2195 (WebCore::RenderLayer::paintLayer):
2196 (WebCore::RenderLayer::hitTestLayer):
2197 (WebCore::compareZIndex):
2198 (WebCore::RenderLayer::updateZOrderLists):
2199 (WebCore::RenderLayer::collectLayers):
2200 * rendering/render_layer.h:
2201 (khtml::RenderLayer::posZOrderList):
2202 (khtml::RenderLayer::negZOrderList):
2204 2006-01-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
2206 Test: fast/table/border-collapsing/rtl-border-collapsing.html
2210 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6888
2211 Collapsed borders appear on the wrong side or on the wrong cell in RTL tables
2213 * rendering/RenderTable.cpp:
2214 (WebCore::RenderTable::cellBefore): Renamed cellLeft to this.
2215 (WebCore::RenderTable::cellAfter): Renamed cellRight to this.
2216 * rendering/RenderTable.h:
2217 * rendering/RenderTableCell.cpp:
2218 (WebCore::RenderTableCell::collapsedLeftBorder): Added the RTL case.
2219 (WebCore::RenderTableCell::collapsedRightBorder): Ditto.
2220 (WebCore::RenderTableCell::borderLeft):
2221 (WebCore::RenderTableCell::borderRight):
2222 (WebCore::RenderTableCell::collectBorders):
2223 (WebCore::RenderTableCell::paintCollapsedBorder):
2224 * rendering/RenderTableCell.h:
2226 2006-01-29 Darin Adler <darin@apple.com>
2230 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6550
2231 REGRESSION: window.open('myurl', '_self') fails to load myurl in current window
2234 * fast/dom/Window/window-open-parent-no-parent.html: Added.
2235 * fast/dom/Window/window-open-parent.html: Added.
2236 * fast/dom/Window/window-open-self.html: Added.
2237 * fast/dom/Window/window-open-top.html: Added.
2239 * khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::callAsFunction):
2240 Fix check for special frame names. These special frame names are supposed
2241 to always be unaffected by pop-up blocking. But the code instead was
2242 saying that the special frame names are always blocked. Oops!
2244 2006-01-29 Darin Adler <darin@apple.com>
2246 Suggested by Alexey.
2248 - fixed something Alexey noticed in the new exception names
2250 Test: fast/dom/Range/range-exceptions.html
2252 * khtml/ecma/kjs_binding.cpp: Added 0 to fix an off-by-one error for the
2253 names of the two DOM range exceptions.
2255 2006-01-29 David Harrison <harrison@apple.com>
2259 Fix two problems with editing around empty list items:
2260 1) Arrowing up or down to an empty list item skipped the list item
2261 2) Deleting the content of a list item made it so you could never get the cursor inside the empty item
2264 * selection/move-by-line-002.html
2265 * deleting/delete-listitem-002.html
2267 * khtml/editing/composite_edit_command.cpp:
2268 (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
2269 - special check for empty list item because list marker assures non-zero height()
2271 * khtml/xml/dom_position.cpp:
2272 (DOM::Position::inRenderedContent):
2273 - fix check wrt BRs because text box is not required
2275 * rendering/bidi.cpp:
2276 (khtml::RenderBlock::constructLine):
2277 - make sure that br by itself in a list item gets a text-style box
2279 (khtml::RenderBlock::findNextLineBreak):
2280 - make sure that br by itself in a list item gets a box at all
2282 2006-01-29 Eric Seidel <eseidel@apple.com>
2284 Reviewed by hyatt & darin.
2286 There are a few small, but intertwined fixes in this patch:
2288 Remaining fixes for SVGTetris:
2289 http://bugzilla.opendarwin.org/show_bug.cgi?id=6889
2291 Testing blocked by: http://bugzilla.opendarwin.org/show_bug.cgi?id=6905
2293 Fix for CDF support:
2294 http://bugzilla.opendarwin.org/show_bug.cgi?id=6025
2296 Updated test: svg/custom/simpleCDF.xml
2298 Fix for filter updating:
2299 http://bugzilla.opendarwin.org/show_bug.cgi?id=6849
2301 Testing blocked by: http://bugzilla.opendarwin.org/show_bug.cgi?id=6904
2303 Also, as a side effect of 6849, fixed double-apply of filters, improving:
2304 http://bugzilla.opendarwin.org/show_bug.cgi?id=6713
2306 Results updated for most tests, pixel results improved for filter tests.
2308 * kcanvas/KCanvasFilters.cpp:
2309 (KCanvasFilter::filterBBoxForItemBBox): moved into baseclass
2310 * kcanvas/KCanvasFilters.h:
2311 * kcanvas/RenderSVGImage.cpp:
2312 (RenderSVGImage::paint): use relativeBBox
2313 (RenderSVGImage::relativeBBox): added
2314 (RenderSVGImage::imageChanged): added
2315 (RenderSVGImage::getAbsoluteRepaintRect): fixed
2316 * kcanvas/RenderSVGImage.h:
2317 (KSVG::RenderSVGImage::imageChanged): added.
2318 * kcanvas/device/quartz/KCanvasFilterQuartz.h:
2319 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2320 (KCanvasFilterQuartz::applyFilter): use new baseclass method
2321 (KCanvasFEFloodQuartz::getCIFilter): fixed.
2322 * kcanvas/device/quartz/KCanvasItemQuartz.h:
2323 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
2324 (KCanvasItemQuartz::layout): update width/height
2325 (KCanvasItemQuartz::getAbsoluteRepaintRect): fixed.
2326 (KCanvasItemQuartz::requiresLayer): moved to .cpp
2327 (KCanvasItemQuartz::lineHeight): added.
2328 (KCanvasItemQuartz::baselinePosition): added.
2329 * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
2330 * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
2331 (KCanvasContainerQuartz::canHaveChildren): moved to .cpp
2332 (KCanvasContainerQuartz::requiresLayer): moved to .cpp
2333 (KCanvasContainerQuartz::lineHeight): added.
2334 (KCanvasContainerQuartz::baselinePosition): added.
2335 (KCanvasContainerQuartz::paint): fixed.
2336 (KCanvasContainerQuartz::viewportTransform): fixed.
2337 (KCanvasContainerQuartz::getAbsoluteRepaintRect): fixed.
2338 (KCanvasContainerQuartz::absoluteTransform): fixed.
2339 * rendering/render_object.cpp:
2340 (WebCore::RenderObject::absoluteTransform): fixed apply order.
2342 2006-01-29 Eric Seidel <eseidel@apple.com>
2346 First set of fixes for SVG Tetris:
2347 http://bugzilla.opendarwin.org/show_bug.cgi?id=6889
2350 * svg/custom/viewport-update.svg
2351 Key press test not yet possible:
2352 http://bugzilla.opendarwin.org/show_bug.cgi?id=6906
2354 * bridge/mac/MacFrame.mm:
2355 (MacFrame::keyEvent): pass key events to things other than HTML
2356 * ksvg2/svg/SVGSVGElementImpl.cpp:
2357 (WebCore::SVGSVGElementImpl::parseMappedAttribute): update viewport
2359 2006-01-29 Eric Seidel <eseidel@apple.com>
2363 Fix SVG layout tests crash due to Vector change.
2365 * kcanvas/device/KRenderingDevice.cpp:
2366 (KRenderingDevice::currentContext): check isEmpty, return 0
2368 2006-01-28 Eric Seidel <eseidel@apple.com>
2372 Remove bogus IntRect operator.
2374 * platform/FloatRect.h:
2376 2006-01-28 David Hyatt <hyatt@apple.com>
2378 Cleanup of RenderImage. Eliminate unneeded members and methods.
2382 * bridge/mac/WebCoreFrameBridge.mm:
2383 (-[WebCoreFrameBridge elementAtPoint:]):
2384 * khtml/ecma/kjs_html.cpp:
2385 (KJS::KJS::Context2DFunction::callAsFunction):
2387 * khtml/html/HTMLInputElementImpl.cpp:
2388 (WebCore::HTMLInputElementImpl::attach):
2389 * khtml/html/html_imageimpl.cpp:
2390 (WebCore::HTMLImageLoader::notifyFinished):
2391 (WebCore::HTMLImageElementImpl::attach):
2392 * khtml/html/html_imageimpl.h:
2393 (WebCore::HTMLImageElementImpl::compositeOperator):
2394 * khtml/html/html_objectimpl.cpp:
2395 (WebCore::HTMLObjectElementImpl::attach):
2396 * ksvg2/svg/SVGImageElementImpl.cpp:
2397 (SVGImageElementImpl::attach):
2399 * kwq/KWQPainter.mm:
2400 (WebCore::QPainter::drawImageAtPoint):
2401 (WebCore::QPainter::drawImageInRect):
2402 (WebCore::QPainter::drawImage):
2403 (WebCore::QPainter::drawFloatImage):
2404 (WebCore::QPainter::drawTiledImage):
2405 (WebCore::QPainter::drawScaledAndTiledImage):
2406 * kwq/WebCoreImageRenderer.h:
2407 * loader/CachedImage.cpp:
2408 (WebCore::CachedImage::ref):
2409 (WebCore::CachedImage::notifyObservers):
2410 (WebCore::CachedImage::data):
2411 (WebCore::CachedImage::error):
2412 * loader/CachedImage.h:
2413 * loader/CachedObjectClient.h:
2414 (WebCore::CachedObjectClient::imageChanged):
2417 * platform/mac/Image.mm:
2418 (WebCore::Image::Image):
2419 (WebCore::Image::resetAnimation):
2420 (WebCore::Image::operator=):
2421 (WebCore::Image::stopAnimations):
2423 (WebCore::Image::compositeOperatorFromString):
2424 * rendering/render_box.cpp:
2425 (WebCore::RenderBox::paintBackgroundExtended):
2426 * rendering/render_canvasimage.cpp:
2427 (WebCore::RenderCanvasImage::paint):
2428 * rendering/render_image.cpp:
2429 (WebCore::RenderImage::RenderImage):
2430 (WebCore::RenderImage::~RenderImage):
2431 (WebCore::RenderImage::setContentObject):
2432 (WebCore::RenderImage::setCachedImage):
2433 (WebCore::RenderImage::imageChanged):
2434 (WebCore::RenderImage::resetAnimation):
2435 (WebCore::RenderImage::paint):
2436 (WebCore::RenderImage::layout):
2437 (WebCore::RenderImage::updateAltText):
2438 (WebCore::RenderImage::calcReplacedWidth):
2439 (WebCore::RenderImage::calcReplacedHeight):
2440 * rendering/render_image.h:
2441 (WebCore::RenderImage::cachedImage):
2442 (WebCore::RenderImage::image):
2443 (WebCore::RenderImage::errorOccurred):
2444 * rendering/render_list.cpp:
2445 (RenderListMarker::paint):
2446 (RenderListMarker::imageChanged):
2447 * rendering/render_list.h:
2448 * rendering/render_object.cpp:
2449 (WebCore::RenderObject::paintBorderImage):
2450 (WebCore::RenderObject::setImage):
2451 * rendering/render_object.h:
2453 2006-01-28 Darin Adler <darin@apple.com>
2457 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6711
2458 crash if an event is dispatched to a listener that uses handleEvent
2460 Test: fast/events/dispatch-to-handle-event.html
2462 * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent):
2463 Remove boolean that is always false, and correct the one place that was
2464 checking it to check the correct pointer instead.
2466 2006-01-28 Maciej Stachowiak <mjs@apple.com>
2470 - remove QPtrStack, replace with Vector or traverseNextNode as appropriate
2472 * WebCore.xcodeproj/project.pbxproj:
2473 * kcanvas/device/KRenderingDevice.cpp:
2474 (KRenderingDevice::currentContext):
2475 (KRenderingDevice::popContext):
2476 (KRenderingDevice::pushContext):
2477 * kcanvas/device/KRenderingDevice.h:
2478 * khtml/html/html_documentimpl.cpp:
2479 * khtml/xml/DocumentImpl.cpp:
2480 * khtml/xml/xml_tokenizer.cpp:
2481 (WebCore::XMLTokenizer::XMLTokenizer):
2482 * kwq/KWQAccObject.mm:
2483 (-[KWQAccObject addChildrenToArray:]):
2484 * kwq/KWQPainter.mm:
2485 (WebCore::QPainter::save):
2486 (WebCore::QPainter::restore):
2487 * kwq/KWQPtrStack.h: Removed.
2488 * ForwardingHeaders/qptrstack.h: Removed.
2489 * ForwardingHeaders/q3ptrstack.h: Removed.
2491 2006-01-28 Maciej Stachowiak <mjs@apple.com>
2493 - added missing forwarding header to fix build.
2495 * ForwardingHeaders/kxmlcore/Vector.h: Added.
2497 2006-01-28 Darin Adler <darin@apple.com>
2499 * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Removed extra parameter
2502 2006-01-28 Maciej Stachowiak <mjs@apple.com>
2506 - converted KWQKURL to use Vector
2507 http://bugzilla.opendarwin.org/show_bug.cgi?id=6900
2509 Use Vector in place of Array, and in place of the custom stack
2510 buffers with overflow.
2514 (KURL::decode_string):
2516 (KURL::encode_string):
2517 (findHostnamesInMailToURL):
2520 2006-01-28 Darin Adler <darin@apple.com>
2524 - http://bugzilla.opendarwin.org/show_bug.cgi?id=6895
2525 include exception names in JavaScript form of DOM exception
2527 * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Include the name of the
2528 exception in the error message.
2530 2006-01-28 Mitz Pettel <opendarwin.org@mitzpettel.com>
2532 Test: fast/table/add-before-anonymous-child.html
2536 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5868
2537 Crash on HP.com with ToT and Safari 2.0.2 in khtml::RenderContainer::detach()
2539 * rendering/RenderTableRow.cpp:
2540 (WebCore::RenderTableRow::addChild): If beforeChild is inside an anonymous
2541 cell, insert into the cell.
2542 * rendering/RenderTableSection.cpp:
2543 (WebCore::RenderTableSection::addChild): Changed comment.
2545 2006-01-28 David Hyatt <hyatt@apple.com>
2547 Eliminate the mask() method on Image. It's unused.
2550 * platform/mac/Image.mm:
2552 2006-01-28 David Hyatt <hyatt@apple.com>
2554 Clean up the Image class. Eliminate the MIME type member variable.
2555 Eliminate an unused constructor. Fix the constructor to take
2556 a QString rather than an NSString so that it's portable. Rename
2557 the receivedData method to decode. Move canRenderImageType into
2558 the Image class as a static method.
2562 * khtml/html/html_objectimpl.cpp:
2563 (WebCore::HTMLObjectElementImpl::isImageType):
2566 (KWQResponseMIMEType):
2567 * loader/CachedImage.cpp:
2568 (WebCore::CachedImage::data):
2570 * platform/mac/Image.mm:
2571 (WebCore::Image::supportsType):
2572 (WebCore::Image::Image):
2573 (WebCore::Image::~Image):
2574 (WebCore::Image::decode):
2575 (WebCore::Image::operator=):
2577 2006-01-28 Alexander Kellett <lypanov@kde.org>
2579 Reviewed by eseidel.
2581 SourceAlpha does not display until window is redrawn (resized)
2582 http://bugzilla.opendarwin.org/show_bug.cgi?id=6375
2584 Test: svg/custom/filter-source-alpha.svg
2586 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2587 (KCanvasFilterQuartz::inputImage):
2589 2006-01-28 David Hyatt <hyatt@apple.com>
2591 Fix CachedImage.h/.cpp up. Lots of cleanup. Eliminated
2592 unused code and cleaned up method and member names.
2596 * WebCore.xcodeproj/project.pbxproj:
2597 * khtml/html/html_imageimpl.cpp:
2598 (WebCore::HTMLImageElementImpl::width):
2599 (WebCore::HTMLImageElementImpl::height):
2600 * loader/CachedImage.cpp:
2601 (WebCore::CachedImage::CachedImage):
2602 (WebCore::CachedImage::ref):
2603 (WebCore::CachedImage::deref):
2604 (WebCore::CachedImage::image):
2605 (WebCore::CachedImage::imageSize):
2606 (WebCore::CachedImage::decodedRect):
2607 (WebCore::CachedImage::notifyObservers):
2608 (WebCore::CachedImage::clear):
2609 (WebCore::CachedImage::data):
2610 (WebCore::CachedImage::error):
2611 (WebCore::CachedImage::checkNotify):
2612 * loader/CachedImage.h:
2613 (WebCore::CachedImage::isDecoded):
2614 (WebCore::CachedImage::isErrorImage):
2615 (WebCore::CachedImage::schedule):
2616 (WebCore::CachedImage::isImage):
2617 * loader/CachedImageCallback.cpp: Removed.
2618 * loader/CachedImageCallback.h: Removed.
2619 * loader/loader.cpp:
2620 (WebCore::Loader::servePendingRequests):
2621 (WebCore::Loader::slotFinished):
2623 * platform/mac/Image.mm:
2624 (WebCore::Image::receivedData):
2625 * rendering/render_box.cpp:
2626 (WebCore::RenderBox::paintBackgroundExtended):
2627 * rendering/render_image.cpp:
2628 (WebCore::RenderImage::setImage):
2629 (WebCore::RenderImage::paint):
2630 * rendering/render_line.cpp:
2631 (WebCore::InlineFlowBox::paintBackground):
2632 (WebCore::InlineFlowBox::paintBackgroundAndBorder):
2633 * rendering/render_list.cpp:
2634 (RenderListMarker::setImage):
2635 * rendering/render_object.cpp:
2636 (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
2637 (WebCore::RenderObject::paintBorder):
2638 (WebCore::RenderObject::setImage):
2640 2006-01-27 Maciej Stachowiak <mjs@apple.com>
2644 - GC after destroying the very last frame to avoid node leak false positives
2645 http://bugzilla.opendarwin.org/show_bug.cgi?id=6884
2647 * ForwardingHeaders/JSLock.h: added
2649 (Page::~Page): In debug mode, when destroying the last page,
2650 0 out m_mainFrame to destroy the very last frame and then garbage collect,
2651 so a GC happens at a time when the stack won't have references into the JS
2652 heap for the conservative GC to catch.
2654 2006-01-27 Maciej Stachowiak <mjs@apple.com>
2658 - remove nearly all the substance of ObjectContents and put it on Frame
2659 http://bugzilla.opendarwin.org/show_bug.cgi?id=6885
2661 * ForwardingHeaders/kjs/JSLock.h: Added.
2662 * bridge/mac/MacFrame.mm:
2663 (Plugin::Plugin): renamed from KWQPluginPart, make it able to store a view.
2664 (Plugin::view): And return the QWidget* view.
2665 (MacFrame::createPart): Use Plugin instead of KWQPluginPart, avoid setWidget.
2666 (MacFrame::setView): Don't use m_url directly so much, and use through d-> if
2668 (MacFrame::userAgent): ditto
2669 (MacFrame::openURLFromPageCache): ditto
2670 * kwq/KWQObject.cpp:
2671 (QObject::inherits): Removed case for ObjectContents, which is not long for this
2675 (Frame::init): Don't pass parent() to FramePrivate, we can't possibly have one
2677 (Frame::restoreURL): d->m_url, not m_url
2678 (Frame::didOpenURL): ditto
2679 (Frame::executeScript): ditto
2680 (Frame::receivedFirstData): ditto
2681 (Frame::begin): ditto
2682 (Frame::gotoAnchor): ditto
2683 (Frame::requestObject): ditto, plus only use Frame methods when we really have a Frame.
2684 (Frame::processObjectRequest): ditto, also get view() not widget().
2685 (Frame::childFrame): remove excess spaces and pointless assert.
2686 (Frame::parentFrame): just call parent() (could probably remove this).
2687 (Frame::reparseConfiguration): d->m_url not m_url
2688 (Frame::canCachePage): ditto
2689 (Frame::updatePolicyBaseURL): ditto
2690 (Frame::scrollToAnchor): ditto
2691 (Frame::setName): set in FramePrivate
2692 (Frame::name): get from FramePrivate
2693 (Frame::setParent): similarly
2694 (Frame::parent): similarly
2695 (Frame::url): similarly
2697 * page/FramePrivate.h:
2698 (FramePrivate::FramePrivate): Added m_parent, m_name and m_url.
2699 * page/FrameView.cpp:
2700 (FrameView::viewportMousePressEvent): Call frame directly instead of
2701 sending through QApplication.
2702 (FrameView::viewportMouseDoubleClickEvent): ditto
2703 (FrameView::viewportMouseMoveEvent): ditto
2704 (FrameView::viewportMouseReleaseEvent): ditto
2705 * page/ObjectContents.h:
2706 (ObjectContents::ObjectContents): Removed url, setParent, parent, name,
2707 setName, openURL, closeURL, widget, setWidget, event and customEvent methods,
2708 and corresponding fields. Add pure virtual view() method.
2710 2006-01-27 Darin Adler <darin@apple.com>
2714 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6075
2715 REGRESSION: event.relatedTarget not working, breaks menus at www.ati.com
2717 Test: fast/events/related-target.html
2719 * khtml/xml/NodeImpl.h:
2720 * khtml/xml/NodeImpl.cpp: (WebCore::NodeImpl::dispatchMouseEvent): Added a
2721 relatedTarget parameter to a couple overloads.
2723 * page/FrameView.cpp:
2724 (FrameView::viewportMouseMoveEvent): Moved code to set prevMouseX/Y out of here
2725 and into dispatchMouseEvent, because it now handles mouseout and mouseover events,
2726 and that's what these globals are used for. This fixes DumpRenderTree to work
2727 properly with mouseout and mouseover (because it delivers only mouse down and up,
2728 no mouse move events).
2729 (FrameView::dispatchMouseEvent): Passed in the "other" node as the related target
2730 for mouseout and mouseover events. Also set prevMouseX/Y.
2732 2006-01-27 David Hyatt <hyatt@apple.com>
2734 Fix for 6867. Rename QPixmap to Image and move it to platform/.
2735 Eliminate QPaintDevice and QPaintDeviceMetrics completely, since
2736 they aren't necessary.
2740 * ForwardingHeaders/q3paintdevicemetrics.h: Removed.
2741 * ForwardingHeaders/qpaintdevice.h: Removed.
2742 * ForwardingHeaders/qpaintdevicemetrics.h: Removed.
2743 * ForwardingHeaders/qpixmap.h: Removed.
2744 * WebCore.xcodeproj/project.pbxproj:
2745 * bridge/mac/MacFrame.mm:
2746 (MacFrame::fileWrapperForElement):
2747 * bridge/mac/WebCoreFrameBridge.mm:
2748 (-[WebCoreFrameBridge reapplyStylesForDeviceType:]):
2750 (-[WebCoreFrameBridge elementAtPoint:]):
2751 * css/css_valueimpl.cpp:
2752 (WebCore::CSSPrimitiveValueImpl::computeLength):
2753 (WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
2754 * css/css_valueimpl.h:
2755 * css/csshelper.cpp:
2756 * css/cssstyleselector.cpp:
2757 (WebCore::CSSStyleSelector::CSSStyleSelector):
2758 (WebCore::CSSStyleSelector::init):
2759 (WebCore::CSSStyleSelector::initForStyleResolve):
2760 (WebCore::CSSStyleSelector::styleForElement):
2761 (WebCore::CSSStyleSelector::pseudoStyleForElement):
2762 (WebCore::convertToLength):
2763 (WebCore::CSSStyleSelector::applyProperty):
2764 (WebCore::CSSStyleSelector::mapBackgroundXPosition):
2765 (WebCore::CSSStyleSelector::mapBackgroundYPosition):
2766 * css/cssstyleselector.h:
2767 * kcanvas/KCanvasFilters.h:
2768 (KCanvasFEImage::image):
2769 (KCanvasFEImage::setImage):
2770 * kcanvas/KCanvasImage.h:
2771 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2772 (KCanvasFEImageQuartz::getCIFilter):
2773 * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
2774 (KCanvasImageQuartz::init):
2775 * khtml/ecma/kjs_events.cpp:
2776 (KJS::ClipboardProtoFunc::callAsFunction):
2777 * khtml/ecma/kjs_html.cpp:
2778 (KJS::KJS::Context2DFunction::callAsFunction):
2781 (KJS::ImagePattern::createPattern):
2782 * khtml/ecma/kjs_html.h:
2783 (KJS::ImagePattern::image):
2784 * khtml/ecma/kjs_window.cpp:
2785 (KJS::Screen::getValueProperty):
2786 * khtml/editing/SelectionController.h:
2787 * khtml/html/html_imageimpl.h:
2788 (WebCore::HTMLImageElementImpl::image):
2789 * khtml/misc/helper.h:
2790 * khtml/xml/DocumentImpl.cpp:
2791 (WebCore::DocumentImpl::DocumentImpl):
2792 (WebCore::DocumentImpl::~DocumentImpl):
2793 (WebCore::DocumentImpl::recalcStyle):
2794 (WebCore::DocumentImpl::attach):
2795 (WebCore::DocumentImpl::detach):
2796 * khtml/xml/DocumentImpl.h:
2797 (WebCore::DocumentImpl::printing):
2798 (WebCore::DocumentImpl::setPrinting):
2799 * khtml/xml/dom2_eventsimpl.h:
2800 * ksvg2/css/SVGCSSStyleSelector.cpp:
2801 * ksvg2/misc/KCanvasRenderingStyle.cpp:
2802 (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
2803 (WebCore::KSVGPainterFactory::strokePainter):
2804 * ksvg2/svg/SVGCursorElementImpl.cpp:
2805 (SVGCursorElementImpl::notifyFinished):
2806 * ksvg2/svg/SVGCursorElementImpl.h:
2807 (KSVG::SVGCursorElementImpl::image):
2808 * ksvg2/svg/SVGDocumentImpl.cpp:
2809 (SVGDocumentImpl::SVGDocumentImpl):
2810 * ksvg2/svg/SVGFEImageElementImpl.cpp:
2811 (SVGFEImageElementImpl::notifyFinished):
2812 * ksvg2/svg/SVGMaskElementImpl.cpp:
2813 (KSVG::SVGMaskElementImpl::drawMaskerContent):
2814 * ksvg2/svg/SVGSVGElementImpl.cpp:
2815 * kwq/KWQApplication.h:
2816 * kwq/KWQApplication.mm:
2817 (QDesktopWidget::screenDepth):
2818 * kwq/KWQClipboard.h:
2819 * kwq/KWQClipboard.mm:
2820 (WebCore::KWQClipboard::dragImage):
2821 (WebCore::KWQClipboard::setDragImage):
2822 (WebCore::KWQClipboard::setDragImageElement):
2823 * kwq/KWQComboBox.mm:
2826 (WebCore::createCustomCursor):
2827 (WebCore::QCursor::QCursor):
2828 * kwq/KWQKPartsEvent.h:
2830 * kwq/KWQPaintDevice.h: Removed.
2831 * kwq/KWQPaintDeviceMetrics.h: Removed.
2832 * kwq/KWQPaintDeviceMetrics.mm: Removed.
2834 (WebCore::QPainter::printing):
2835 * kwq/KWQPainter.mm:
2836 (WebCore::QPainter::drawImage):
2837 (WebCore::QPainter::drawFloatImage):
2838 (WebCore::QPainter::drawTiledImage):
2839 (WebCore::QPainter::drawScaledAndTiledImage):
2840 * kwq/KWQPixmap.h: Removed.
2841 * kwq/KWQPixmap.mm: Removed.
2843 (QPrinter::QPrinter):
2846 (khtml::Cache::init):
2847 (khtml::Cache::clear):
2848 (khtml::Cache::requestImage):
2849 (khtml::Cache::getStatistics):
2851 * loader/CachedImage.cpp:
2852 (WebCore::CachedImage::CachedImage):
2853 (WebCore::CachedImage::ref):
2854 (WebCore::CachedImage::tiled_image):
2855 (WebCore::CachedImage::image):
2856 (WebCore::CachedImage::image_size):
2857 (WebCore::CachedImage::do_notify):
2858 (WebCore::CachedImage::data):
2859 (WebCore::CachedImage::error):
2860 * loader/CachedImage.h:
2861 * loader/CachedImageCallback.cpp:
2862 (WebCore::CachedImageCallback::notifyUpdate):
2863 (WebCore::CachedImageCallback::notifyFinished):
2864 (WebCore::CachedImageCallback::handleError):
2865 * loader/CachedObject.h:
2866 (WebCore::CachedObject::):
2867 * loader/CachedObjectClient.h:
2868 (WebCore::CachedObjectClient::setImage):
2869 * loader/DocLoader.cpp:
2870 (khtml::DocLoader::setAutoloadImages):
2871 (khtml::DocLoader::setShowAnimations):
2872 * loader/loader.cpp:
2873 (WebCore::Loader::servePendingRequests):
2874 (WebCore::Loader::slotFinished):
2878 * page/FrameView.cpp:
2881 * platform/Image.h: Added.
2882 * platform/mac/Image.mm: Added.
2883 (WebCore::Image::loadResource):
2884 (WebCore::Image::Image):
2885 (WebCore::Image::~Image):
2886 (WebCore::Image::imageRef):
2887 (WebCore::Image::resetAnimation):
2888 (WebCore::Image::setAnimationRect):
2889 (-[WebImageCallback initWithCallback:WebCore::]):
2890 (WebCore::Image::shouldUseThreadedDecoding):
2891 (WebCore::Image::receivedData):
2892 (WebCore::Image::mask):
2893 (WebCore::Image::isNull):
2894 (WebCore::Image::size):
2895 (WebCore::Image::rect):
2896 (WebCore::Image::width):
2897 (WebCore::Image::height):
2898 (WebCore::Image::resize):
2899 (WebCore::Image::operator=):
2900 (WebCore::Image::increaseUseCount):
2901 (WebCore::Image::decreaseUseCount):
2902 (WebCore::Image::stopAnimations):
2903 (WebCore::Image::flushRasterCache):
2904 * rendering/InlineTextBox.cpp:
2905 (khtml::InlineTextBox::paint):
2906 * rendering/InlineTextBox.h:
2907 * rendering/RenderBlock.cpp:
2908 (WebCore::RenderBlock::paintChildren):
2909 (WebCore::RenderBlock::paintObject):
2910 * rendering/RenderText.h:
2911 * rendering/font.cpp:
2912 (khtml::Font::update):
2914 * rendering/render_box.cpp:
2915 (WebCore::RenderBox::paintBackgroundExtended):
2916 * rendering/render_canvasimage.cpp:
2917 (WebCore::RenderCanvasImage::paint):
2918 * rendering/render_flow.cpp:
2919 (RenderFlow::paintLines):
2920 * rendering/render_image.cpp:
2921 (WebCore::RenderImage::RenderImage):
2922 (WebCore::RenderImage::~RenderImage):
2923 (WebCore::RenderImage::setContentObject):
2924 (WebCore::RenderImage::setImage):
2925 (WebCore::RenderImage::paint):
2926 (WebCore::RenderImage::layout):
2927 (WebCore::RenderImage::calcReplacedWidth):
2928 (WebCore::RenderImage::calcReplacedHeight):
2929 * rendering/render_image.h:
2930 (WebCore::RenderImage::image):
2931 (WebCore::RenderImage::getImage):
2932 * rendering/render_line.cpp:
2933 (WebCore::InlineFlowBox::paintBackground):
2934 (WebCore::InlineFlowBox::paintBackgroundAndBorder):
2935 * rendering/render_list.cpp:
2936 (RenderListItem::getAbsoluteRepaintRect):
2937 (RenderListMarker::paint):
2938 (RenderListMarker::setImage):
2939 (RenderListMarker::calcMinMaxWidth):
2940 * rendering/render_list.h:
2941 * rendering/render_object.cpp:
2942 (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
2943 (WebCore::RenderObject::paintBorderImage):
2944 (WebCore::RenderObject::paintBorder):
2945 (WebCore::RenderObject::setImage):
2946 * rendering/render_object.h:
2947 * rendering/render_replaced.cpp:
2948 (WebCore::RenderWidget::paint):
2949 * rendering/render_replaced.h:
2950 * rendering/render_theme_mac.mm:
2951 (khtml::RenderThemeMac::setFontFromControlSize):
2953 2006-01-27 Darin Adler <darin@apple.com>
2957 - fix another part of http://bugzilla.opendarwin.org/show_bug.cgi?id=6731
2958 REGRESSION: change event fires at load time for checked items
2960 Revised test: fast/forms/radio-button-no-change-event.html
2962 * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::setChecked):
2963 Don't send a change event for a radio button getting unchecked (matches Gecko at least).
2965 2006-01-26 Eric Seidel <eseidel@apple.com>
2969 Leak fixes in SVG code.
2970 http://bugzilla.opendarwin.org/show_bug.cgi?id=6588
2972 * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
2973 (teardownShadingWithStyle): delete image and context when through.
2974 (KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz): zero out cached mask
2975 (KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz): destroy cached mask image.
2976 (KRenderingPaintServerLinearGradientQuartz::setup): delete mask before making new
2977 (KRenderingPaintServerRadialGradientQuartz::setup): delete mask before making new
2978 * ksvg2/misc/KCanvasRenderingStyle.cpp:
2979 (WebCore::sharedSolidPaintServer): forgot "static" keyword
2980 * ksvg2/svg/SVGPolyElementImpl.cpp:
2981 (SVGPolyElementImpl::notifyAttributeChange): use RefPtr
2983 2006-01-26 Maciej Stachowiak <mjs@apple.com>
2987 - various leaks on "fast" LayoutTests
2989 http://bugzilla.opendarwin.org/show_bug.cgi?id=6819
2990 http://bugzilla.opendarwin.org/show_bug.cgi?id=6823
2991 http://bugzilla.opendarwin.org/show_bug.cgi?id=6824
2993 It turns out these all had the same cause.
2996 (Frame::clear): If we have a document, make sure to cancel parsing,
2997 in case it has a tokenizer and parser that are keeping it alive. Use
2998 cancelParsing to avoid possibly accidentally firing the onload handler.
2999 * khtml/xml/DocumentImpl.cpp:
3000 (WebCore::DocumentImpl::cancelParsing): Factored out of implicitOpen.
3001 (WebCore::DocumentImpl::implicitOpen): Call cancelParsing now.
3002 * khtml/xml/DocumentImpl.h:
3004 2006-01-26 Beth Dakin <bdakin@apple.com>
3008 Fix for <rdar://problem/4256504> khtml::RenderBlock::skipWhitespace
3009 crashes upon interaction with radio buttons.
3011 The old code held an assumption that positioned elements would
3012 always have line boxes. This is not necessarily the case, so this
3013 patch makes sure that the lines are dirtied appropriately.
3015 * rendering/RenderContainer.cpp:
3016 (WebCore::RenderContainer::removeChildNode): Call
3017 dirtyLinesFromChangedChild() if oldChild is positioned and has
3019 (WebCore::RenderContainer::insertChildNode): Only check the the
3020 child is not floating; it can be positioned.
3022 2006-01-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
3024 Test: fast/dom/HTMLImageElement/image-without-renderer-width.html
3026 Reviewed and landed by Anders.
3028 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6841
3029 REGRESSION: WebKit (Thursday, January 26, 2006) crash in HTMLImageElementImpl::width()
3031 * khtml/html/html_imageimpl.cpp:
3032 (WebCore::HTMLImageElementImpl::width): Return the image's dimensions only if it isn't
3033 null, but even if it hasn't finished loading.
3034 (WebCore::HTMLImageElementImpl::height): Ditto.
3036 2006-01-26 Adele Peterson <adele@apple.com>
3038 Reviewed by Hyatt and Vicki.
3040 Fix for broken layout tests.
3042 * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::focus):
3044 2006-01-26 Anders Carlsson <andersca@mac.com>
3048 - http://bugzilla.opendarwin.org/show_bug.cgi?id=6845
3049 Autogenerate more classes
3051 This makes DocumentType and DOMImplementation autogenerated.
3053 * JSCore.cpp: Added.
3055 * WebCore.xcodeproj/project.pbxproj:
3058 * bindings/scripts/CodeGeneratorJS.pm:
3059 Add attributes for controlling how null values should be converted
3060 to and from DOMString objects.
3062 * bindings/scripts/IDLParser.pm:
3063 * bindings/scripts/IDLStructure.pm:
3064 Remove the extended attributes hash on attribute objects and
3065 use the one on the signature.
3067 * khtml/ecma/kjs_dom.cpp:
3068 (KJS::DOMNodeProtoFunc::callAsFunction):
3069 For isSupported, just convert the version argument to an empty string if
3070 null is passed in. The reason for this change is that the autogenerated
3071 binding for DOMImplementation::hasFeature does the same thing. This also makes
3072 us behave like Mozilla and Opera.
3074 (KJS::toDocumentType):
3078 (KJS::getDOMDOMImplementation):
3079 Use JSDOMImplementation.
3081 * khtml/ecma/kjs_dom.h:
3082 Remove DOMDOMImplementation and DOMDocumentType
3084 * khtml/xml/DOMImplementation.idl: Added.
3085 * khtml/xml/DocumentType.idl: Added.
3087 2006-01-26 Alexander Kellett <lypanov@kde.org>
3089 Reviewed by eseidel. Landed by eseidel.
3091 <text> elements with a scale on a parent <g> breaks nodeAtPoint
3092 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6843
3094 Test: svg/custom/text-hit-test.svg
3096 * kcanvas/RenderSVGText.cpp:
3097 (RenderSVGText::nodeAtPoint):
3099 2006-01-26 Maciej Stachowiak <mjs@apple.com>
3103 - fixed a couple hundred node leaks on the traversal layout tests
3104 http://bugzilla.opendarwin.org/show_bug.cgi?id=6828
3106 There were three basic problems here, any one of which was enough
3109 1) If the filter function for a NodeFilter, NodeIterator or TreeWalker
3110 had that object in scope, it would cause a GC reference cycle. I fixed
3111 this by making these JS functions get marked by the corresponding JS object,
3112 as for XMLHttpRequest.
3114 2) The TraversalImpl class that's a base class for NodeIteratorImpl and
3115 TreeWalkerImpl did not have a virtual destructor, leading the Shared
3116 template to call the base class destructor on deref.
3118 3) ref/deref on the document were mismatched, I fixed all that sort of nonsense
3119 by using RefPtr instead of manual ref/deref.
3121 * khtml/dom/dom2_traversal.h:
3122 (DOM::NodeFilterCondition::mark): Add no-op virtual mark method, JS subclass
3123 will do something useful here.
3124 * khtml/ecma/kjs_traversal.cpp:
3125 (KJS::DOMNodeIterator::mark): Mark the DOM-level filter.
3126 (KJS::DOMNodeFilter::mark): ditto
3127 (KJS::DOMTreeWalker::mark): ditto
3128 (KJS::JSNodeFilterCondition::JSNodeFilterCondition): reformatted.
3129 (KJS::JSNodeFilterCondition::mark): Mark the filter function.
3130 * khtml/ecma/kjs_traversal.h:
3131 * khtml/xml/dom2_traversalimpl.cpp:
3132 (DOM::NodeFilterImpl::NodeFilterImpl): diligently applied RefPtr
3133 (DOM::TraversalImpl::TraversalImpl): ditto
3134 (DOM::TraversalImpl::~TraversalImpl): ditto
3135 (DOM::NodeIteratorImpl::NodeIteratorImpl): ditto
3136 (DOM::NodeIteratorImpl::~NodeIteratorImpl): ditto
3137 (DOM::NodeIteratorImpl::setReferenceNode): ditto
3138 (DOM::TreeWalkerImpl::TreeWalkerImpl): ditto
3139 (DOM::TreeWalkerImpl::setCurrentNode): ditto
3140 * khtml/xml/dom2_traversalimpl.h:
3141 (DOM::NodeFilterImpl::mark): call mark() on the codition
3142 (DOM::TraversalImpl::root): Use .get()
3143 (DOM::TraversalImpl::filter): ditto
3144 (DOM::NodeIteratorImpl::referenceNode): ditto
3145 (DOM::NodeIteratorImpl::document): ditto
3146 (DOM::TreeWalkerImpl::currentNode): ditto
3148 2006-01-26 Maciej Stachowiak <mjs@apple.com>
3152 - fixed ~40 DOM nodes leaked when running any two of the outerHTML DOM tests (actually just a false positive)
3153 http://bugzilla.opendarwin.org/show_bug.cgi?id=6822
3155 * kwq/KWQPageState.mm:
3156 (-[KWQPageState clear]): Garbage collect after deleting a bunch of
3157 stuff that holds onto JS objects. This should avoid false positive leaks
3158 and is good in any case since page state deallocation is already deferred.
3160 2006-01-26 Adele Peterson <adele@apple.com>
3164 - fix for <rdar://problem/4422624> REGRESSION: crash loading webmail.mac.com
3167 fast/forms/input-no-renderer.html
3169 * khtml/html/HTMLInputElementImpl.cpp:
3170 (WebCore::HTMLInputElementImpl::focus): Nil check for renderer.
3172 2006-01-26 David Harrison <harrison@apple.com>
3174 Reviewed by Timothy.
3176 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6835
3177 REGRESSION: WebKit crashes when loading a script on Wikipedia
3180 editing/deleting/delete-listitem-001.html
3182 * rendering/render_list.cpp:
3183 (RenderListItem::setStyle):
3184 (RenderListItem::resetMarkerValue):
3185 (RenderListItem::getAbsoluteRepaintRect):
3186 (RenderListMarker::paint):
3188 2006-01-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
3190 Reviewed by Darin, landed by ap.
3192 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6388
3193 REGRESSION: Incomplete repaint when dragging the map on Google maps
3195 * manual-tests/bugzilla-6388.html: Added.
3196 * rendering/render_layer.cpp:
3197 (WebCore::RenderLayer::computeRepaintRects): Cache the object's absolute position
3199 (WebCore::RenderLayer::updateLayerPositions): Use the cached position to determine if
3200 the object moved. If it did, do a full repaint.
3201 * rendering/render_layer.h:
3203 2006-01-26 Eric Seidel <eseidel@apple.com>
3205 Fixes xcode project to better notice when generated files change.
3206 Also fixes failing test cases on build slaves.
3208 * WebCore.xcodeproj/project.pbxproj:
3210 2006-01-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
3212 Reviewed by Darin, committed by ap.
3214 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6278
3215 REGRESSION: Incomplete repaint when table cell width changes during layout
3217 * manual-tests/bugzilla-6278.html: Added.
3218 * rendering/RenderTableSection.cpp:
3219 (WebCore::RenderTableSection::setCellWidths): If during layout a cell changes from
3220 not needing layout to needing layout, call repaintObjectsBeforeLayout on it.
3222 2006-01-26 Eric Seidel <eseidel@apple.com>
3226 SVG shows up blank in WebKit+SVG
3227 http://bugzilla.opendarwin.org/show_bug.cgi?id=6620
3229 Test: svg/custom/viewport-no-width-height.svg
3231 * css/svg.css: default to width/height 100% for <svg>
3233 2006-01-26 Anders Carlsson <andersca@mac.com>
3237 http://bugzilla.opendarwin.org/show_bug.cgi?id=6805
3238 Support constants in IDL files
3240 * bindings/scripts/CodeGeneratorJS.pm:
3241 If an interface has constants, generate a constructor
3242 object and add the constants as properties. Also add a
3243 getConstructor method to the interface object.
3245 * bindings/scripts/CodeGenerator.pm:
3246 * bindings/scripts/generate-bindings.pl:
3247 Add a --force-generation flag to force regeneration of files
3248 even though nothing has changed.
3250 * khtml/ecma/kjs_events.cpp:
3251 * khtml/ecma/kjs_events.h:
3252 Remove MutationEventConstructor and DOMMutationEvent,
3253 those are autogenerated now.
3255 * bindings/js/JSEvents.cpp:
3256 Include JSMutationEvent.cpp
3258 * khtml/ecma/kjs_window.cpp:
3259 (KJS::Window::getValueProperty):
3260 * khtml/ecma/kjs_window.h:
3262 Add MutationEvent property.
3264 * khtml/xml/MutationEvent.idl: Added.
3266 2006-01-25 Alexander Kellett <lypanov@kde.org>
3268 Reviewed by eseidel. Landed by eseidel
3270 Percentage values for width, height are not rendered correctly.
3271 http://bugzilla.opendarwin.org/show_bug.cgi?id=5331
3274 * svg/custom/percentage-rect.svg
3275 * svg/custom/percentage-rect2.svg
3277 Create items for even empty paths to prevent an empty render tree.
3278 Calculate the viewport element on the fly rather than caching it,
3279 unless there is no context from which to calculate it. Call
3280 notifyAttributeChange() on layout to fix usage of viewport
3281 percentages for lengths. Remove portion of code which appears to
3282 do nothing but worsen the situation.
3284 * kcanvas/device/quartz/KCanvasItemQuartz.h:
3285 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
3286 (KCanvasItemQuartz::layout):
3287 * ksvg2/svg/SVGLengthImpl.cpp:
3288 (SVGLengthImpl::value):
3289 * ksvg2/svg/SVGStyledElementImpl.cpp:
3290 (SVGStyledElementImpl::createRenderer):
3292 2006-01-26 Eric Seidel <eseidel@apple.com>
3296 Disable <animateTransform> to stop layout test crashes.
3297 http://bugzilla.opendarwin.org/show_bug.cgi?id=6780
3299 * ksvg2/misc/KSVGTimeScheduler.cpp: hack out animateTransform.
3301 2006-01-26 Eric Seidel <eseidel@apple.com>
3305 Deploy RefPtr throughout more of WebCore
3306 http://bugzilla.opendarwin.org/show_bug.cgi?id=6754
3308 * bridge/mac/MacFrame.mm:
3309 (MacFrame::shouldClose): no need to call .get()
3310 * khtml/html/HTMLElementImpl.cpp:
3311 (WebCore::HTMLElementImpl::createContextualFragment):
3312 * khtml/html/HTMLSelectElementImpl.cpp:
3313 (WebCore::HTMLSelectElementImpl::remove):
3314 * khtml/html/HTMLTextAreaElementImpl.cpp:
3315 (WebCore::HTMLTextAreaElementImpl::setDefaultValue):
3316 * khtml/html/html_baseimpl.cpp:
3317 (WebCore::HTMLBodyElementImpl::HTMLBodyElementImpl):
3318 (WebCore::HTMLBodyElementImpl::~HTMLBodyElementImpl):
3319 (WebCore::HTMLBodyElementImpl::createLinkDecl):
3320 (WebCore::HTMLBodyElementImpl::parseMappedAttribute):
3321 * khtml/html/html_baseimpl.h:
3322 * khtml/html/html_headimpl.cpp:
3323 (WebCore::HTMLLinkElementImpl::HTMLLinkElementImpl):
3324 (WebCore::HTMLLinkElementImpl::~HTMLLinkElementImpl):
3325 (WebCore::HTMLLinkElementImpl::process):
3326 (WebCore::HTMLLinkElementImpl::setStyleSheet):
3327 (WebCore::HTMLLinkElementImpl::isLoading):
3328 (WebCore::HTMLStyleElementImpl::HTMLStyleElementImpl):
3329 (WebCore::HTMLStyleElementImpl::childrenChanged):
3330 (WebCore::HTMLStyleElementImpl::isLoading):
3331 * khtml/html/html_headimpl.h:
3332 (DOM::HTMLLinkElementImpl::sheet):
3333 (DOM::HTMLStyleElementImpl::sheet):
3334 * khtml/html/html_tableimpl.cpp:
3335 (WebCore::HTMLTableElementImpl::parseMappedAttribute):
3336 (WebCore::HTMLTableSectionElementImpl::insertRow):
3337 (WebCore::HTMLTableSectionElementImpl::deleteRow):
3338 (WebCore::HTMLTableRowElementImpl::deleteCell):
3339 * khtml/xml/NodeImpl.cpp:
3340 (WebCore::NodeImpl::dispatchEvent):
3341 (WebCore::NodeImpl::dispatchGenericEvent):
3342 (WebCore::NodeImpl::dispatchWindowEvent):
3343 (WebCore::NodeImpl::dispatchMouseEvent):
3344 (WebCore::NodeImpl::dispatchKeyEvent):
3345 (WebCore::NodeImpl::createRendererIfNeeded):
3346 * khtml/xml/NodeImpl.h:
3347 * khtml/xml/dom_elementimpl.cpp:
3348 (WebCore::MappedAttributeImpl::clone):
3349 (WebCore::StyledElementImpl::StyledElementImpl):
3350 (WebCore::StyledElementImpl::createInlineStyleDecl):
3351 (WebCore::StyledElementImpl::destroyInlineStyleDecl):
3352 (WebCore::StyledElementImpl::getInlineStyleDecl):
3353 * khtml/xml/dom_elementimpl.h:
3354 (DOM::MappedAttributeImpl::MappedAttributeImpl):
3355 (DOM::MappedAttributeImpl::style):
3356 (DOM::MappedAttributeImpl::decl):
3357 (DOM::MappedAttributeImpl::setDecl):
3358 (DOM::StyledElementImpl::inlineStyleDecl):
3359 * khtml/xml/dom_position.cpp:
3360 (DOM::Position::Position):
3361 (DOM::Position::clear):
3362 * khtml/xml/dom_position.h:
3363 (DOM::Position::node):
3365 2006-01-25 Maciej Stachowiak <mjs@apple.com>
3367 Reviewed by Dave Hyatt.
3369 - garbage collect a bit later when destroying Frame (fixes node leak false positives)
3370 http://bugzilla.opendarwin.org/show_bug.cgi?id=6818
3372 * khtml/ecma/kjs_proxy.cpp:
3373 (WebCore::KJSProxyImpl::~KJSProxyImpl): Garbage collect after destroying
3374 the script interpreter.
3376 (Frame::clear): Add a boolean parameter to indicate whether properties
3377 of the window object should also be cleared (defaults to true).
3378 (Frame::~Frame): Call clear(false) instead of clear()
3381 2006-01-25 Maciej Stachowiak <mjs@apple.com>
3385 - Turn on NodeImpl leak counter for debug builds
3386 http://bugzilla.opendarwin.org/show_bug.cgi?id=6808
3388 * khtml/xml/NodeImpl.cpp:
3389 (WebCore::NodeImplCounter::~NodeImplCounter): Uncomment node
3390 counter now tit won't give a lot of false positives.
3392 2006-01-25 Maciej Stachowiak <mjs@apple.com>
3394 Reviewed by Dave Hyatt.
3396 - fixed "Whole DOM tree can leak if Document is hover/active/focus node on quit"
3397 http://bugzilla.opendarwin.org/show_bug.cgi?id=6809
3399 This fixes 175 reproducible node leaks in the editing layout tests.
3401 * khtml/xml/DocumentImpl.cpp:
3402 (WebCore::DocumentImpl::detach): Clear hover, focus and active nodes. It doesn't
3403 make sense to have these without a view anyway, and if any of them is the document
3404 it can cause a leak of the whole DOM.
3406 2006-01-25 Adele Peterson <adele@apple.com>
3410 http://bugzilla.opendarwin.org/show_bug.cgi?id=6816
3411 Crash in dispatchMouseEvent - Missing nil check
3413 No test added because I was not able to reproduce the crash reliably.
3415 * page/FrameView.cpp: (FrameView::dispatchMouseEvent):
3417 2006-01-25 Justin Garcia <justin.garcia@apple.com>
3421 <http://bugzilla.opendarwin.org/show_bug.cgi?id=6644>
3422 TinyMCE: Undo operation crashes Safari
3423 <rdar://problem/4343068>
3424 Some shouldChangeSelection calls are nonsensical
3426 Notify the SelectionController of node removals,
3427 and blow away the selection when end points are removed.
3430 * editing/selection/remove-node-1.html
3431 * editing/selection/remove-node-2.html
3433 * khtml/editing/SelectionController.cpp:
3434 (WebCore::MutationListener::handleEvent):
3435 (WebCore::SelectionController::SelectionController):
3436 (WebCore::SelectionController::~SelectionController):
3437 (WebCore::SelectionController::operator=):
3438 (WebCore::SelectionController::moveTo):
3439 (WebCore::SelectionController::setSelection):
3440 (WebCore::SelectionController::nodeWillBeRemoved):
3441 (WebCore::SelectionController::clear):
3442 (WebCore::SelectionController::setBase):
3443 (WebCore::SelectionController::setExtent):
3444 * khtml/editing/SelectionController.h:
3445 (WebCore::MutationListener::MutationListener):
3446 (WebCore::MutationListener::selectionController):
3447 (WebCore::MutationListener::setSelectionController):
3448 * rendering/RenderContainer.cpp:
3449 (WebCore::RenderContainer::removeChildNode):
3450 * rendering/render_flow.cpp:
3451 (RenderFlow::destroy):
3453 2006-01-25 Adele Peterson <adele@apple.com>
3457 This change lets us display an aqua appearance for the new text fields.
3459 Updated results for:
3460 * fast/forms/input-appearance-focus.html
3462 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle):
3463 remove styling of the div, since RenderTheme handles that now.
3464 * rendering/render_theme.cpp:
3465 (khtml::RenderTheme::adjustStyle): call adjustTextFieldStyle.
3466 (khtml::RenderTheme::paint): call paintTextField.
3467 (khtml::RenderTheme::adjustTextFieldStyle): added FIXME to turn off appearance later.
3468 * rendering/render_theme.h: added adjustTextFieldStyle, paintTextField
3469 * rendering/render_theme_mac.h: added paintTextField, setTextFieldState, and NSTextFieldCell.
3470 * rendering/render_theme_mac.mm:
3471 (khtml::): Added static textFieldMargins.
3472 (khtml::RenderThemeMac::adjustRepaintRect): update text field state and size.
3473 (khtml::RenderThemeMac::paintTextField): Added. Paints the NSTextFieldCell
3474 (khtml::RenderThemeMac::setTextFieldCellState): Initialize NSTextFieldCell, and update enabled state.
3476 2006-01-25 David Hyatt <hyatt@apple.com>
3478 Rename QBrush to Brush and move it to platform/. Remove unused QPoint/Size/RectF forwarding
3481 * ForwardingHeaders/QPointF: Removed.
3482 * ForwardingHeaders/QRectF: Removed.
3483 * ForwardingHeaders/QSizeF: Removed.
3484 * WebCore.xcodeproj/project.pbxproj:
3485 * khtml/editing/SelectionController.cpp:
3486 (WebCore::SelectionController::paintCaret):
3487 * kwq/KWQBrush.h: Removed.
3488 * kwq/KWQNamespace.h:
3491 * kwq/KWQPainter.mm:
3492 (QPainter::setBrush):
3494 (QPainter::drawRect):
3495 (QPainter::drawEllipse):
3496 (QPainter::drawConvexPolygon):
3497 (QPainter::fillRect):
3499 (QColorGroup::brush):
3500 * platform/Brush.h: Added.
3502 (WebCore::Brush::Brush::Brush):
3503 (WebCore::Brush::operator==):
3504 (WebCore::Brush::operator!=):
3505 * rendering/RenderBlock.cpp:
3506 (WebCore::RenderBlock::fillHorizontalSelectionGap):
3507 (WebCore::RenderBlock::fillVerticalSelectionGap):
3508 (WebCore::RenderBlock::fillLeftSelectionGap):
3509 (WebCore::RenderBlock::fillRightSelectionGap):
3510 * rendering/render_box.cpp:
3511 (WebCore::RenderBox::outlineBox):
3512 * rendering/render_canvasimage.cpp:
3513 (WebCore::RenderCanvasImage::paint):
3514 * rendering/render_image.cpp:
3515 (WebCore::RenderImage::paint):
3516 * rendering/render_list.cpp:
3517 (RenderListMarker::paint):
3518 * rendering/render_replaced.cpp:
3519 (WebCore::RenderWidget::paint):
3521 2006-01-25 Anders Carlsson <andersca@mac.com>
3523 Reviewed by Timothy Hatcher.
3525 http://bugzilla.opendarwin.org/show_bug.cgi?id=6807
3526 generate-bindings.pl should not use find command
3528 * bindings/scripts/generate-bindings.pl:
3529 Use opendir and readdir instead of find.
3531 2006-01-25 David Hyatt <hyatt@apple.com
3533 Fix Win32 build bustage. Make the autogeneration from .idl work
3534 just like it does on Mac. Also update the project to account for
3537 * WebCore.vcproj/WebCore/WebCore.vcproj:
3538 * WebCore.vcproj/WebCore/build-generated-files.sh:
3539 * bindings/scripts/generate-bindings.pl:
3541 2006-01-25 David Hyatt <hyatt@apple.com>
3543 Rename QPen to Pen and move it to the platform/ directory.
3545 * ForwardingHeaders/qpen.h: Removed.
3546 * WebCore.xcodeproj/project.pbxproj:
3547 * kwq/KWQNamespace.h:
3550 * kwq/KWQPainter.mm:
3553 (QPainter::drawRect):
3554 (QPainter::drawLine):
3555 (QPainter::drawEllipse):
3556 (QPainter::drawArc):
3557 (QPainter::drawConvexPolygon):
3558 * kwq/KWQPen.cpp: Removed.
3559 * kwq/KWQPen.h: Removed.
3560 * platform/Pen.cpp: Added.
3561 (WebCore::Pen::Pen):
3562 (WebCore::Pen::color):
3563 (WebCore::Pen::width):
3564 (WebCore::Pen::style):
3565 (WebCore::Pen::setColor):
3566 (WebCore::Pen::setWidth):
3567 (WebCore::Pen::setStyle):
3568 (WebCore::Pen::operator==):
3569 (WebCore::Pen::operator!=):
3570 * platform/Pen.h: Added.
3572 * rendering/InlineTextBox.cpp:
3573 (khtml::InlineTextBox::paintMarkedTextUnderline):
3574 * rendering/RenderTableCell.cpp:
3575 (WebCore::outlineBox):
3576 * rendering/RenderText.cpp:
3577 * rendering/render_box.cpp:
3578 (WebCore::RenderBox::outlineBox):
3579 * rendering/render_frames.cpp:
3580 (WebCore::RenderFrameSet::userResize):
3581 * rendering/render_image.cpp:
3582 * rendering/render_line.cpp:
3583 * rendering/render_list.cpp:
3584 * rendering/render_object.cpp:
3585 (WebCore::RenderObject::drawBorder):