cf8e0d7effabf1464570f88bc53471e17b6472b2
[WebKit-https.git] / WebCore / ChangeLog-2005-12-19
1 2005-11-01  Justin Garcia  <justin.garcia@apple.com>
2
3         Reviewed by harrison
4         
5         Tweaked my previous fix for caret movement while scrolling.
6
7         * khtml/editing/SelectionController.cpp:
8         (khtml::SelectionController::SelectionController): Forgot to copy m_caretPositionOnLayout.
9         (khtml::SelectionController::operator=): Ditto.
10         (khtml::SelectionController::layout): Initialize m_caretPositionOnLayout to a dummy value when the selection isNone.
11         * khtml/editing/SelectionController.h: Tweaked my comment.
12
13 2005-11-01  Justin Garcia  <justin.garcia@apple.com>
14
15         Reviewed by darin
16         
17         Fixes <rdar://problem/4074536> Seed: Mail crash adjusting quote level - KHTMLPart::computeAndSetTypingStyle
18         
19         No test cases added, requires Mail
20
21         * kwq/WebCoreBridge.mm:
22         (-[WebCoreBridge typingStyle]):
23         Crashes were happening after a style was merged with itself.  Mail was doing a setTypingStyle
24         with a pointer to our internal typing style.  Fix is to only hand out copies of our typingStyle.
25
26 2005-11-01  Justin Garcia  <justin.garcia@apple.com>
27
28         Reviewed by harrison
29         
30         Fixed <rdar://problem/3690705> caret does not move when scrolling overflow: auto editable area
31
32         * manual-tests/caretScrolling.html: Added.
33
34         * khtml/editing/SelectionController.cpp:
35         (khtml::SelectionController::SelectionController): Removed the unused expectedVisibleRect
36         (khtml::SelectionController::operator=): Ditto.
37         (khtml::SelectionController::layout): Save the caret's absolute position on layout.
38         (khtml::SelectionController::caretRect): Adjust the returned caret rect for offset due to scrolling since the last layout.
39         (khtml::SelectionController::paintCaret):
40         * khtml/editing/SelectionController.h:
41         * kwq/KWQKHTMLPart.mm:
42         (KWQKHTMLPart::nextKeyViewInFrame): Small tweak to a previous change.
43         * kwq/KWQRect.h:
44         (QRect::moveTopLeft): Added.
45
46 2005-11-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
47
48         Reviewed by Dave Hyatt.
49         Commited by Tim Hatcher.
50
51         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=5256
52         Relayout during load causes duplicate plugin part.
53
54         This was a problem with <OBJECT>s that contain an <EMBED>, if 
55         layout happened in the middle of the OBJECT but before the EMBED.
56
57         No test case added, requires manual testing. 
58
59         * khtml/html/html_objectimpl.cpp:
60         (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl):
61         (DOM::HTMLObjectElementImpl::closeRenderer):
62         (DOM::HTMLObjectElementImpl::setComplete):
63         * khtml/html/html_objectimpl.h:
64         (DOM::HTMLObjectElementImpl::isComplete):
65         * khtml/html/htmlfactory.cpp:
66         (DOM::objectConstructor):
67         * khtml/rendering/render_frames.cpp:
68         (RenderPartObject::updateWidget):
69
70 2005-11-01  Alexey Proskuryakov  <ap@nypop.com>
71
72         Reviewed by Dave Hyatt.
73         Commited by Tim Hatcher.
74
75         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=5541
76
77         HTMLNames constants are not yet initialized at Safari startup,
78         when bookmarks are imported, which caused a crash in Decoder::decode().
79
80         * kwq/WebCoreEncodings.mm:
81         (+[WebCoreEncodings decodeData:]):
82
83 2005-11-01  John Sullivan  <sullivan@apple.com>
84
85         Change by Alexey Proskuryakov, reviewed by Darin Adler.
86
87         * kwq/KWQKURL.mm:
88         (encodeRelativeString):
89         switched to use fastStrdup(), we can't use strdup because we
90         need to use fastFree(), not regular free()
91
92 2005-11-01  Anders Carlsson  <andersca@mac.com>
93
94         Reviewed by Darin.
95
96         * khtml/ecma/kjs_dom.cpp:
97         (KJS::DOMNode::getValueProperty):
98         (KJS::DOMNode::putValueProperty):
99         * khtml/ecma/kjs_dom.h:
100         (KJS::DOMNode::):
101         Add setter and setter for textContent.
102         
103         * khtml/xml/dom_nodeimpl.cpp:
104         (DOM::NodeImpl::textContent):
105         (DOM::NodeImpl::setTextContent):
106         * khtml/xml/dom_nodeimpl.h:
107         Implement textContent and setTextContent.
108         
109         * kwq/DOM.mm:
110         (-[DOMNode textContent]):
111         (-[DOMNode setTextContent:]):
112         Add Objective C wrappers.
113
114 2005-10-31  Eric Seidel  <eseidel@apple.com>
115
116         Reviewed by hyatt.
117
118         Now ignores XSLT PIs in documents resulting from transforms.
119         http://bugzilla.opendarwin.org/show_bug.cgi?id=5529
120
121         * khtml/xml/dom_docimpl.cpp:
122         (DocumentImpl::recalcStyleSelector):
123         * khtml/xml/xml_tokenizer.cpp:
124         (khtml::XMLTokenizer::processingInstruction):
125
126 2005-10-31  David Harrison  <harrison@apple.com>
127
128         Remove conditionalized away code added as part of tab character support.
129         
130         * khtml/editing/insert_text_command.cpp:
131         (khtml::InsertTextCommand::prepareForTextInsertion):
132         (khtml::InsertTextCommand::insertTab):
133         * khtml/editing/markup.cpp:
134         (khtml::createParagraphContentsFromString):
135
136 2005-10-29  David Hyatt  <hyatt@apple.com>
137         Fix the performance regression caused by doing too much copying of background/border values.  This patch attempts to rectify things by doing the following:
138
139         (1) Don't initialize the border/background cached values on every single style resolution.
140         (2) Only cache the border/background values just after user agent styles have been resolved if the user agent set an appearance.
141         (3) Only check for appearance disabling if you had a UA appearance originally (and then continue to have an appearance after author/user styles have been resolved too)
142         (4) Make sure to patch the pseudoStyleForElement method too.  With the removal of the initialization code for the values running over and over again, I needed to make sure to patch this function to match styleForElement.
143         
144         Reviewed by sullivan
145
146         * khtml/css/cssstyleselector.cpp:
147         (khtml::CSSStyleSelector::initForStyleResolve):
148         (khtml::CSSStyleSelector::styleForElement):
149         (khtml::CSSStyleSelector::pseudoStyleForElement):
150         (khtml::CSSStyleSelector::adjustRenderStyle):
151         * khtml/css/cssstyleselector.h:
152
153 2005-10-28  Beth Dakin  <bdakin@apple.com>
154
155         Reviewed by John
156
157         Fix for <rdar://problem/4098083> REGRESSION (125-312): crash 
158         in [KWQTableView resignFirstResponder] selecting from JS menu 
159         (car4you.at, etc.)
160
161         Since it is possible that a render widget's eventFilterObject
162         has been destroyed even though the render widget is still ref-ed,
163         we need to nil-check the eventFilterObject before we use it to get
164         the eventFilter.
165
166         * kwq/KWQComboBox.mm:
167         (-[KWQPopUpButton becomeFirstResponder]): Added nil check.
168         (-[KWQPopUpButton resignFirstResponder]): Added nil check.
169         * kwq/KWQListBox.mm:
170         (-[KWQTableView becomeFirstResponder]): Added nil check.
171         (-[KWQTableView resignFirstResponder]): Added nil check.
172         * kwq/KWQTextArea.mm:
173         (-[KWQTextAreaTextView becomeFirstResponder]): Added nil check.
174         (-[KWQTextAreaTextView resignFirstResponder]): Added nil check.
175         * kwq/KWQTextField.mm:
176         (-[KWQTextFieldController setHasFocus:]): Added nil check.
177         * kwq/WebCoreBridge.mm:
178         (-[WebCoreBridge elementForView:]): Added nil check.
179
180 2005-10-28  Adele Peterson  <adele@apple.com>
181
182         Reviewed by Beth.
183
184         - fixed <rdar://problem/4319232> finding text in overflow area doesn't always scroll to the right place
185
186         * khtml/rendering/render_text.cpp:
187         (RenderText::selectionRect): Subtracts scroll offset of containing block layer.
188
189 2005-10-28  David Hyatt  <hyatt@apple.com>
190
191         Make sure positioned content works with width:intrinsic.  Fixes positioned buttons.  The bug
192         is bugzilla #5520.
193         
194         Reviewed by mjs
195
196         fast/forms/positioned-button.html
197
198         * khtml/rendering/render_box.cpp:
199         (RenderBox::calcAbsoluteHorizontalValues):
200
201 2005-10-28  Adele Peterson  <adele@apple.com>
202
203         Reviewed by Hyatt.
204
205         -fixed <rdar://problem/4081091> focus() does not work properly on anchors
206         <rdar://problem/4317689> new form elements don't get revealed when focus() is called on them
207
208         * khtml/xml/dom_docimpl.cpp:
209         (DocumentImpl::setFocusNode): call scrollRectToVisible.
210
211 2005-10-27  David Hyatt  <hyatt@apple.com>
212
213         Fix for bug 5519, buttons need to honor background/border: none and turn off styles.
214         This patch changes the default style rules so that buttons have both a border and
215         a background color.
216
217         If the author changes the border/background so that it no longer matches these chosen
218         defaults, we assume that the button has now been styled and we turn off the Aqua
219         appearance.
220
221         We also play more games with border and padding and juggle the values around so that
222         things look right with Aqua turned on and off.
223         
224         Reviewed by mjs
225
226         * khtml/css/cssstyleselector.cpp:
227         (khtml::CSSStyleSelector::matchRules):
228         (khtml::CSSStyleSelector::initForStyleResolve):
229         (khtml::CSSStyleSelector::styleForElement):
230         (khtml::CSSStyleSelector::adjustRenderStyle):
231         (khtml::CSSStyleSelector::applyDeclarations):
232         * khtml/css/cssstyleselector.h:
233         * khtml/css/html4.css:
234         * khtml/rendering/render_style.h:
235         (khtml::BorderValue::BorderValue):
236         (khtml::BorderData::operator!=):
237         (khtml::RenderStyle::border):
238         * khtml/rendering/render_theme.cpp:
239         (khtml::RenderTheme::paint):
240         (khtml::RenderTheme::isControlStyled):
241         * khtml/rendering/render_theme.h:
242         * khtml/rendering/render_theme_mac.h:
243         * khtml/rendering/render_theme_mac.mm:
244         (khtml::RenderThemeMac::adjustButtonStyle):
245         (khtml::RenderThemeMac::setButtonCellState):
246         (khtml::RenderThemeMac::paintButton):
247
248 2005-10-26  Vicki Murley  <vicki@apple.com>
249
250         Reviewed by Hyatt.
251  
252         Fix problems with link jumping.  In the cases below, we were calculating the wrong position to scroll to.
253
254         <rdar://problem/4247537> link jumping should scroll to tallest object on line, not first object on line
255         <rdar://problem/3489554> when calculating position for link jumping, skip siblings that are unrendered whitespace
256         <rdar://problem/4244382> Safari - erratic behavior of empty anchor tags followed by whitespace
257         <rdar://problem/4256060> Link scrolling to last object on the page doesn't work if the link being scrolled to contains an empty inline
258         <rdar://problem/4276623> erratic link jumping when tables are involved
259
260         * khtml/xml/dom_nodeimpl.cpp:
261         (DOM::ContainerNodeImpl::getUpperLeftCorner):
262
263 2005-10-27  Eric Seidel  <eseidel@apple.com>
264
265         Build fix, forgot to commit project file.
266         Also need to make XSLT #ifdef's work for portability.
267         http://bugzilla.opendarwin.org/show_bug.cgi?id=3275
268
269         * WebCore.xcodeproj/project.pbxproj:
270         * khtml/ecma/XSLTProcessor.cpp:
271         * khtml/ecma/XSLTProcessor.h:
272         * khtml/ecma/kjs_window.cpp:
273         (KJS::Window::getValueProperty):
274
275 2005-10-27  Eric Seidel  <eseidel@apple.com>
276
277         No review needed, svg build fix only.
278
279         * kdom/xpointer/XPointerExpressionImpl.cpp: "Shared.h" to "kdom/Shared.h"
280
281 2005-10-27  David Harrison  <harrison@apple.com>
282
283         Reviewed by Justin Garcia and Dave Hyatt.
284
285         <rdar://problem/4134884> crash trying to forward msg - khtml::RenderBlock::addChildToFlow
286
287         Problem was that onunload events were being fired while in the middle of trying to detach, which resulted in updateDocumentsRendering re-attaching the previously detached nodes.  Similar problem with load events while attaching.
288         
289         Solved by eliminating load and unload for object nodes, pre-sending unload before detach, and sending dom mutation and load events after attaching.
290         
291         Also, added asserts to catch this problem more easily in the future.
292         
293         Added test:
294         * fast/events/event-targets.html
295         Make sure that load and unload events do not fire on certain objects.
296         
297         * khtml/ecma/kjs_html.cpp:
298         (KJS::Image::notifyFinished):
299         Use constant string for "load" event name.
300         * khtml/ecma/xmlhttprequest.cpp:
301         (KJS::XMLHttpRequest::changeState):
302         Use constant strings for "load" and "readystatechange" event names.
303         * khtml/html/html_baseimpl.cpp:
304         (HTMLFrameElementImpl::close):
305         (HTMLFrameElementImpl::willRemove):
306         (HTMLFrameElementImpl::detach):
307         Add willRemove() function.
308         * khtml/html/html_baseimpl.h:
309         Add willRemove() function.
310         * khtml/html/html_objectimpl.cpp:
311         (DOM::HTMLObjectElementImpl::attach):
312         (DOM::HTMLObjectElementImpl::detach):
313         Stop needlessly sending load and unload events for OBJECT elements.
314         * khtml/xml/dom2_traversalimpl.cpp:
315         (DOM::NodeIteratorImpl::notifyBeforeNodeRemoval):
316         Rename local variable from willRemove to removedNode for clarity.
317         * khtml/xml/dom_docimpl.cpp:
318         (DocumentImpl::DocumentImpl):
319         (DocumentImpl::forbidEventDispatch):
320         (DocumentImpl::allowEventDispatch):
321         (DocumentImpl::eventDispatchForbidden):
322         (DocumentImpl::createEvent):
323         Add mechanism to prevent event dispatch.
324         * khtml/xml/dom_docimpl.h:
325         * khtml/xml/dom_nodeimpl.cpp:
326         (DOM::NodeImpl::dispatchEvent):
327         (DOM::NodeImpl::dispatchGenericEvent):
328         (DOM::NodeImpl::dispatchHTMLEvent):
329         (DOM::NodeImpl::dispatchWindowEvent):
330         (DOM::NodeImpl::dispatchMouseEvent):
331         (DOM::NodeImpl::dispatchSimulatedMouseEvent):
332         (DOM::NodeImpl::dispatchUIEvent):
333         (DOM::NodeImpl::dispatchSubtreeModifiedEvent):
334         (DOM::NodeImpl::dispatchKeyEvent):
335         (DOM::NodeImpl::dispatchWheelEvent):
336         (DOM::NodeImpl::willRemove):
337         (DOM::ContainerNodeImpl::insertBefore):
338         (DOM::ContainerNodeImpl::replaceChild):
339         (DOM::ContainerNodeImpl::willRemove):
340         (DOM::ContainerNodeImpl::willRemoveChild):
341         (DOM::ContainerNodeImpl::removeChild):
342         (DOM::ContainerNodeImpl::removeChildren):
343         (DOM::ContainerNodeImpl::appendChild):
344         (DOM::ContainerNodeImpl::addChild):
345         (DOM::ContainerNodeImpl::dispatchChildInsertedEvents):
346         (DOM::ContainerNodeImpl::dispatchChildRemovalEvents):
347         Prevent event dispatch during DOM node removals and additions.
348         * khtml/xml/dom_nodeimpl.h:
349
350 2005-10-27  David Harrison  <harrison@apple.com>
351
352         Reviewed by Tim Omerick.
353
354         <rdar://problem/4251172> AX: Safari crashes on www.mozilla.org with Voice Over - khtml::RenderImage::imageMap
355
356         Test cases added: None.  Manual testing is way to awkward, and automated testing
357         is not possible.  See following bug...
358         <rdar://problem/4256882> Need automated testing support for accessibility APIs
359
360         * ChangeLog:
361         * khtml/rendering/render_image.cpp:
362         (RenderImage::RenderImage):
363         (RenderImage::imageMap):
364         (RenderImage::updateAltText):
365
366 2005-10-27  Eric Seidel  <eseidel@apple.com>
367
368         Reviewed by hyatt.
369
370         Add XSLTProcessor support to WebCore's JavaScript bindings.
371         <rdar://problem/3642402> add XSLTProcessor to WebCore's JavaScript support
372         http://bugzilla.opendarwin.org/show_bug.cgi?id=3275
373
374         * WebCore.xcodeproj/project.pbxproj:
375         * khtml/ecma/XSLTProcessor.cpp: Added.
376         (KJS::):
377         (KJS::XSLTProcessor::XSLTProcessor):
378         (KJS::XSLTProcessor::~XSLTProcessor):
379         (KJS::XSLTProcessorProtoFunc::callAsFunction):
380         * khtml/ecma/XSLTProcessor.h: Added.
381         (KJS::XSLTProcessor::classInfo):
382         (KJS::XSLTProcessor::):
383         (KJS::XSLTProcessor::impl):
384         (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
385         (KJS::XSLTProcessorConstructorImp::implementsConstruct):
386         (KJS::XSLTProcessorConstructorImp::construct):
387         * khtml/ecma/kjs_window.cpp:
388         (KJS::Window::getValueProperty):
389         * khtml/ecma/kjs_window.h:
390         (KJS::Window::):
391         * khtml/khtml_part.cpp:
392         (KHTMLPart::replaceDocImpl):
393         * khtml/xml/dom_docimpl.cpp:
394         (DocumentImpl::DocumentImpl):
395         (DocumentImpl::~DocumentImpl):
396         (DocumentImpl::applyXSLTransform):
397         * khtml/xml/dom_docimpl.h:
398         (DOM::DocumentImpl::transformSourceDocument):
399         (DOM::DocumentImpl::setTransformSourceDocument):
400         * khtml/xml/xml_tokenizer.cpp:
401         (khtml::xmlDocPtrForString):
402         (khtml::XMLTokenizer::setTransformSource):
403         * khtml/xml/xml_tokenizer.h:
404         * khtml/xsl/xslt_processorimpl.cpp:
405         (DOM::parseErrorFunc):
406         (DOM::stylesheetLoadFunc):
407         (DOM::setXSLTLoadCallBack):
408         (DOM::writeToQString):
409         (DOM::saveResultToString):
410         (DOM::transformTextStringToXHTMLDocumentString):
411         (DOM::xsltParamArrayFromQDict):
412         (DOM::freeXsltParamArray):
413         (DOM::XSLTProcessorImpl::createDocumentFromSource):
414         (DOM::createFragmentFromSource):
415         (DOM::xsltStylesheetPointer):
416         (DOM::xmlDocPtrFromNode):
417         (DOM::resultMIMEType):
418         (DOM::XSLTProcessorImpl::transformToString):
419         (DOM::XSLTProcessorImpl::transformToDocument):
420         (DOM::XSLTProcessorImpl::transformToFragment):
421         (DOM::XSLTProcessorImpl::setParameter):
422         (DOM::XSLTProcessorImpl::getParameter):
423         (DOM::XSLTProcessorImpl::removeParameter):
424         * khtml/xsl/xslt_processorimpl.h:
425         (DOM::XSLTProcessorImpl::XSLTProcessorImpl):
426         (DOM::XSLTProcessorImpl::setXSLStylesheet):
427         (DOM::XSLTProcessorImpl::importStylesheet):
428         (DOM::XSLTProcessorImpl::clearParameters):
429         (DOM::XSLTProcessorImpl::reset):
430         (DOM::XSLTProcessorImpl::xslStylesheet):
431
432 2005-10-27  Adele Peterson  <adele@apple.com>
433
434         Reviewed by Vicki.
435
436         Fixed bug that prevents overflow areas from scrolling to reveal anchor.
437         Part of <rdar://problem/3612121>.
438
439         * khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor):  
440
441 2005-10-27  Adele Peterson  <adele@apple.com>
442
443         Reviewed by Vicki.
444
445         - fixed <rdar://problem/4318167> REGRESSION: content doesn't scroll far enough to the left after clicking links at aplacecalledcommon.co.uk
446
447         * khtml/rendering/render_layer.cpp: 
448         (khtml::RenderLayer::scrollRectToVisible): fixed a typo where verticalAlignment was being passed instead of horizontalAlignment.
449         * khtml/khtml_part.cpp: 
450         (KHTMLPart::gotoAnchor): specified alignLeft as horizontal alignment.
451
452 2005-10-27  David Hyatt  <hyatt@apple.com>
453
454         Fix form controls so that they can take advantage of
455         the style sharing optimization.  Special-case the "type"
456         attribute to accomplish this.
457
458         Also add checks for missing pseudo-classes that the sharing
459         code now needs to check once form controls start sharing
460         style.  These include enabled, checked and indeterminate.
461
462         Finally, :target should have been checked all along and was
463         broken by the original style sharing landing.  Add it to the list
464         of things checked as well.
465
466         It's impossible to write a :target test.  Other areas more than
467         covered by existing test cases.
468         
469         Reviewed by mjs
470
471         * khtml/css/cssstyleselector.cpp:
472         (khtml::CSSStyleSelector::canShareStyleWithElement):
473         (khtml::CSSStyleSelector::checkOneSelector):
474
475 2005-10-27  David Hyatt  <hyatt@apple.com>
476
477         Fix for bug 5517, percentage height relative block inside a percentage height absolute
478         block did not stretch properly to fill the absolute block.
479
480         Also fixing box-sizing bugs in percentage height calculations.  Recurrence in
481         calcPercentageHeight needed a content box adjustment.
482         
483         Reviewed by mjs
484
485         fast/block/positioning/062.html
486         fast/box-sizing/percentage-test.html
487         fast/box-sizing/panels-one.html
488         fast/box-sizing/panels-two.html
489
490         * khtml/rendering/render_box.cpp:
491         (RenderBox::calcPercentageHeight):
492
493 2005-10-27  Eric Seidel  <eseidel@apple.com>
494
495         No review, SVG build fix only.
496         Fixing fallout from <rdar://problem/4098450>.
497
498         * WebCore+SVG/xml_kdomtokenizer.cpp:
499         (KDOMTokenizer::write): now returns bool
500         (KDOMTokenizer::finish): error check
501
502 2005-10-26  Eric Seidel  <eseidel@apple.com>
503
504         Reviewed by mjs & darin.
505
506         Various fixes to createMarkup and toString code to properly
507         support serialization of XML.
508         http://bugzilla.opendarwin.org/show_bug.cgi?id=5404
509
510         * khtml/editing/markup.cpp:
511         (khtml::startMarkup):
512         (khtml::doesHTMLForbidEndTag):
513         (khtml::shouldSelfClose):
514         (khtml::endMarkup):
515         (khtml::markup):
516         (khtml::createFragmentFromMarkup):
517         (khtml::createMarkup):
518         * khtml/html/html_elementimpl.cpp:
519         (HTMLElementImpl::createContextualFragment):
520         (HTMLElementImpl::toString):
521         * khtml/html/htmltokenizer.cpp:
522         (khtml::parseHTMLDocumentFragment):
523         * khtml/html/htmltokenizer.h:
524         * khtml/xml/dom_xmlimpl.cpp:
525         (DOM::ProcessingInstructionImpl::ProcessingInstructionImpl):
526         (DOM::ProcessingInstructionImpl::~ProcessingInstructionImpl):
527         (DOM::ProcessingInstructionImpl::toString):
528         * khtml/xml/dom_xmlimpl.h:
529         (DOM::ProcessingInstructionImpl::sheet):
530         (DOM::ProcessingInstructionImpl::setStyleSheet):
531
532 2005-10-26  David Hyatt  <hyatt@apple.com>
533
534         Don't allow position:relative to apply to table sections.  Fixes the crash described in
535         Radar bug 4107882. (http://cityoflakeforest.com/cs/pw/cs_pw2a3.htm)
536         
537         Reviewed by bdakin
538
539         * khtml/css/cssstyleselector.cpp:
540         (khtml::CSSStyleSelector::adjustRenderStyle):
541         
542 2005-10-26  Adele Peterson  <adele@apple.com>
543
544         Reviewed by John.
545
546         Fixes a few problems with <rdar://problem/3612121> that I noticed with code inspection.
547
548         * khtml/rendering/render_layer.h: removed inline scrollToPoint
549         * khtml/rendering/render_layer.cpp: (khtml::RenderLayer::getRectToExpose):
550         * khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor): Used to call scrollToPoint, now calls scrollRectToVisible
551         * kwq/KWQKHTMLPart.mm:
552         (KWQKHTMLPart::jumpToSelection): Now uses the enclosing layer of the selection start, instead of the outermost layer.
553         (KWQKHTMLPart::centerSelectionInVisibleArea): ditto.
554
555 2005-10-26  Anders Carlsson  <andersca@mac.com>
556
557         Reviewed by Maciej.
558
559         * khtml/ecma/kjs_dom.cpp:
560         (KJS::DOMNodeProtoFunc::callAsFunction):
561         * khtml/ecma/kjs_dom.h:
562         Add JS wrapper.
563         
564         (KJS::DOMNode::):
565         * khtml/xml/dom_nodeimpl.cpp:
566         (DOM::NodeImpl::isEqualNode):
567         * khtml/xml/dom_nodeimpl.h:
568         Implement isEqualNode.
569         
570         * kwq/DOM.mm:
571         (-[DOMNode isEqualNode:]):
572         Add Objective C wrapper.
573
574 2005-10-26  David Hyatt  <hyatt@apple.com>
575
576         Add support for the indeterminate boolean for placing checkboxes
577         into a mixed state.  This is a feature of WinIE.
578
579         Along with this feature, add support for the CSS3 :indeterminate
580         selector, although one wonders how this could be part of the selectors spec
581         when no DOM standard covers the ability to make a mixed checkbox
582         in the first place.
583
584         This implementation may seem like it's overlooking some things, but it's not.
585         Specifically "indeterminate" has no effect on form submission, it does not
586         get cleared by a form reset, and the pre/post reversal code for undoing clicks
587         only resets the state that changed in WinIE.  This is all bizarre behavior,
588         but this is a WinIE extension, so we're going to match.
589         
590         Reviewed by mjs
591
592         fast/forms/indeterminate.html
593
594         * khtml/css/css_base.cpp:
595         (CSSSelector::extractPseudoType):
596         * khtml/css/css_base.h:
597         (DOM::CSSSelector::):
598         * khtml/css/cssstyleselector.cpp:
599         (khtml::CSSStyleSelector::checkOneSelector):
600         * khtml/ecma/kjs_html.cpp:
601         (KJS::HTMLElement::inputGetter):
602         (KJS::HTMLElement::inputSetter):
603         * khtml/ecma/kjs_html.h:
604         (KJS::HTMLElement::):
605         * khtml/html/html_formimpl.cpp:
606         (DOM::HTMLInputElementImpl::init):
607         (DOM::HTMLInputElementImpl::setIndeterminate):
608         (DOM::HTMLInputElementImpl::preDispatchEventHandler):
609         (DOM::HTMLInputElementImpl::postDispatchEventHandler):
610         * khtml/html/html_formimpl.h:
611         (DOM::HTMLInputElementImpl::isIndeterminate):
612         (DOM::HTMLInputElementImpl::indeterminate):
613         * khtml/rendering/render_theme.cpp:
614         (khtml::RenderTheme::isIndeterminate):
615         * khtml/rendering/render_theme.h:
616         * khtml/rendering/render_theme_mac.mm:
617         (khtml::RenderThemeMac::updateCheckedState):
618         (khtml::RenderThemeMac::setCheckboxCellState):
619         * khtml/xml/dom_nodeimpl.h:
620         (DOM::NodeImpl::isIndeterminate):
621
622 2005-10-26  Maciej Stachowiak  <mjs@apple.com>
623
624         Re-landed fix for the following bug:
625
626         <rdar://problem/4302874> crash repeatedly reloading www.supermanhomepage.com (fixed in Denver, broken on TOT)
627         
628         * khtml/ecma/kjs_events.cpp:
629         (KJS::JSAbstractEventListener::handleEvent):
630
631 2005-10-25  Darin Adler  <darin@apple.com>
632
633         Reviewed by Eric.
634
635         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5315
636           need to set document type based on contents of <!DOCTYPE>
637           (fixes one layout test)
638
639         * khtml/html/html_documentimpl.cpp: (DOM::HTMLDocumentImpl::determineParseMode):
640         Use the new setDocType function instead of modifying m_doctype directly.
641
642         * khtml/xml/dom_docimpl.h: Changed to use SharedPtr more.
643         (DOM::DocumentImpl::realDocType): Add get() since we're using SharedPtr.
644         (DOM::DocumentImpl::setDocType): Added.
645         * khtml/xml/dom_docimpl.cpp:
646         (DOMImplementationImpl::createDocument): Use setDocType instead of using
647         realDocType()->copyFrom to set up the document type in the new document.
648         (DocumentImpl::DocumentImpl): Don't create an empty document type during constructor.
649         (DocumentImpl::~DocumentImpl): Remove explicit deref since we're using SharedPtr.
650         (DocumentImpl::doctype): Add get() since we're using SharedPtr.
651         (DocumentTypeImpl::DocumentTypeImpl): Streamlined implementation since we're using SharedPtr.
652
653         * khtml/xml/xml_tokenizer.cpp:
654         (khtml::XMLTokenizer::internalSubset): Added. Calls setDocType.
655         (khtml::internalSubsetHandler): Added. Calls xmlSAX2InternalSubset after calling our function.
656         (khtml::XMLTokenizer::finish): Changed to pass our internalSubsetHandler function pointer.
657
658 2005-10-25  David Hyatt  <hyatt@apple.com>
659
660         This patch makes a number of refinements to buttons to make
661         the custom <input>s on hotwire.com look correct.
662
663         Also back out my fix for bug 5283, since it causes some bad
664         regressions and basically needs to be rethought. (This part
665         not reviewed, since it's just a backout.)
666         
667         Reviewed by darin
668         
669         * khtml/css/html4.css:
670         Added rules to reset many more properties on form controls,
671         including text-align, letter-spacing, word-spacing, line-height
672         text-transform and others.  Remove the !important from the
673         line-height reset, since WinIE honors line-height on buttons.
674         Mozilla does not, but we will match WinIE.
675         
676         * khtml/rendering/render_button.cpp:
677         (khtml::RenderButton::setStyle):
678         Make sure to preserve the box-flex of our generated interior
679         block, so that it doesn't end up packing left inside its
680         container when styles change.
681         
682         (khtml::RenderButton::paintObject):
683         Change the clipping heuristic to only clip to the border box.
684         This does mean text can run right up to the edge of an Aqua
685         button, but without this change we just don't match other
686         browsers.
687         
688         * khtml/rendering/render_flexbox.cpp:
689         (khtml::RenderFlexibleBox::layoutHorizontalBox):
690         (khtml::RenderFlexibleBox::layoutVerticalBox):
691         Change the behavior of box-align:center.  If it would result
692         in spillage out the top or left when centering, then don't move
693         it.
694
695 2005-10-25  Maciej Stachowiak  <mjs@apple.com>
696
697         Re-landing the isSameNode fix from Anders, I verified there is no effect on performance:
698
699         <rdar://problem/4302880> Re-land isSameNode change
700         
701         * khtml/ecma/kjs_dom.cpp:
702         * khtml/ecma/kjs_dom.h:
703         * khtml/xml/dom_nodeimpl.h:
704         * kwq/DOM.mm:
705
706 2005-10-25  Maciej Stachowiak  <mjs@apple.com>
707
708         Re-land the following fix, I tested to verify there is no performance regression:
709
710         Makes <object> tags not use image mode for svg content:
711         http://bugzilla.opendarwin.org/show_bug.cgi?id=5175
712
713         * khtml/html/html_objectimpl.cpp:
714         (DOM::HTMLObjectElementImpl::isImageType):
715
716 2005-10-25  Adele Peterson  <adele@apple.com>
717
718         Reviewed by Hyatt.
719
720         - fixed <rdar://problem/3612121> setting focus, by tabbing, searching, or with JavaScript does not scroll overflow:auto/scroll/overlay to reveal focused element (3480)
721
722         * khtml/rendering/render_layer.cpp: 
723         (khtml::RenderLayer::scrollRectToVisible): Added case for when the renderer has an overflow clip, so we can scroll overflow and views recursively.
724
725 2005-10-25  Adele Peterson  <adele@apple.com>
726
727         Reviewed by Vicki.
728
729         Fixed <rdar://problem/4098450> RoboHelp-generated html help system crashes in latest Safari -KWQValueListImpl::copyOnWrite
730
731         The tokenizer's timer was causing the tokenizer to be deleted twice.  
732         In timerEvent, we'll now check to see if the write has destroyed the tokenizer before trying to do it again.
733
734         * khtml/html/htmltokenizer.cpp:
735         (khtml::HTMLTokenizer::write): Returns a boolean to indicate whether end() gets called
736         (khtml::HTMLTokenizer::timerEvent): Moved code from allDataProcessed, and now, checks to see if write() called end() to notify WebKit that processing is done.
737         * khtml/html/htmltokenizer.h: write() returns a bool.
738         * khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::write): returns a bool (always false in the XMLTokenizer case).
739         * khtml/xml/xml_tokenizer.h: ditto.
740
741 2005-10-25  Beth Dakin  <bdakin@apple.com>
742
743         Reviewed by Maciej
744
745         Fix for <rdar://problem/4148730> SureSec si#182 safari heap overflow.
746         When a table has a really huge rowSpan, Safari used to crash because
747         the malloc of the grid for the table failed. This fix just checks for
748         the success of the malloc.
749
750         * khtml/rendering/render_table.cpp:
751         (RenderTableSection::ensureRows): Return false if the grid resize is not 
752         successful.
753         (RenderTableSection::addCell): Return early if ensureRows() returned false.
754         * khtml/rendering/render_table.h: Make ensureRows() return a bool instead
755         of void.
756
757 2005-10-25  Adele Peterson  <adele@apple.com>
758
759         Reviewed by Hyatt.
760
761         - first step of fix for <rdar://problem/3612121> setting focus, by tabbing, searching, or with JavaScript does not scroll overflow:auto/scroll/overlay to reveal focused element (3480)
762         This change moves the scrolling code for revealing elements to the RenderLayer, instead of being specific to the view.
763
764         * khtml/rendering/render_layer.h: Added scrollRectToVisible. Added getRectToExpose.
765         Added ScrollAlignment enum so callers can be more specific about exactly where they want to scroll.
766         (khtml::RenderLayer::scrollToPoint): Added inline function to scroll to a point.
767         * khtml/rendering/render_layer.cpp:
768         (khtml::RenderLayer::scrollRectToVisible):  Replaces recursive view scrolling functions.
769         (khtml::RenderLayer::getRectToExpose):  Calculates the rectangle to expose based on the alignment parameters.
770
771         * khtml/khtml_part.cpp:
772         (KHTMLPart::gotoAnchor): Changed use of setContentsPosRecursive to scrollToPoint.
773         (KHTMLPart::setActiveNode): Changed use of ensureVisible to scrollRectToVisible.
774         * khtml/khtmlview.cpp:
775         (KHTMLView::doAutoScroll): Changed use of ensureVisible to scrollRectToVisible.
776         (KHTMLView::focusNextPrevNode): ditto.
777         * kwq/KWQKHTMLPart.mm:
778         (KWQKHTMLPart::jumpToSelection): Changed use of _KWQ_scrollRectToVisible to scrollRectToVisible.
779         (KWQKHTMLPart::nextKeyViewInFrame): Changed use of ensureRectVisibleCentered to scrollRectToVisible.
780         (KWQKHTMLPart::centerSelectionInVisibleArea): ditto.
781         * khtml/xml/dom_elementimpl.cpp: (ElementImpl::scrollIntoView): Changed use of setContentsPos and ensureVisible to scrollRectToVisible.
782         * kwq/WebCoreBridge.mm: (-[WebCoreBridge ensureSelectionVisible]): Changed use of ensureRectVisibleCentered to scrollRectToVisible.
783
784         * kwq/KWQComboBox.mm: (-[KWQPopUpButton becomeFirstResponder]): Changing use of _KWQ_scrollFrameToVisible to scrollRectToVisible.
785         * kwq/KWQFileButton.mm: (KWQFileButton::focusChanged): ditto.
786         * kwq/KWQListBox.mm: (-[KWQTableView becomeFirstResponder]): ditto.
787         * kwq/KWQSlider.mm: (-[KWQSlider becomeFirstResponder]): ditto.
788         * kwq/KWQTextArea.mm: (-[KWQTextAreaTextView becomeFirstResponder]): ditto.
789         * kwq/KWQTextField.mm: (-[KWQTextFieldController setHasFocus:]): ditto.
790
791         * kwq/KWQScrollView.h: Removed ensureVisible, and ensureRectVisibleCentered.  Added ensureRectVisible which just calls across to AppKit to scroll the NSView.
792         * kwq/KWQScrollView.mm: (QScrollView::ensureRectVisible): ditto.
793
794         * WebCore.xcodeproj/project.pbxproj: Removed KWQNSViewExtras since it is no longer needed.
795         * kwq/KWQNSViewExtras.h: Removed.
796         * kwq/KWQNSViewExtras.m: Removed.
797
798 2005-10-25  David Hyatt  <hyatt@apple.com>
799
800         Land box-sizing support and change button to work correctly
801         with it.
802
803         Also stop honoring of font properties on <input> if
804         Aqua is enabled.  If you allow bold, but don't honor size, then
805         you end up with poorly rendered buttons on cnn.com (box-sizing
806         made this apparent, since the buttons got smaller).
807
808         Fix the clipping code for button content to actually work. :)
809         Function needed to be designated virtual in order to get
810         called.
811         
812         Reviewed by darin
813
814         fast/box-sizing/box-sizing.html is the new test case.
815         
816         * ChangeLog:
817         * WebCore.xcodeproj/project.pbxproj:
818         * khtml/rendering/render_block.cpp:
819         (khtml::RenderBlock::calcMinMaxWidth):
820         * khtml/rendering/render_block.h:
821         * khtml/rendering/render_box.cpp:
822         (RenderBox::calcBorderBoxWidth):
823         (RenderBox::calcBorderBoxHeight):
824         (RenderBox::calcContentBoxWidth):
825         (RenderBox::calcContentBoxHeight):
826         (RenderBox::calcWidth):
827         (RenderBox::calcWidthUsing):
828         (RenderBox::calcHeight):
829         (RenderBox::calcHeightUsing):
830         (RenderBox::calcPercentageHeight):
831         (RenderBox::calcReplacedWidth):
832         (RenderBox::calcReplacedWidthUsing):
833         (RenderBox::calcReplacedHeightUsing):
834         (RenderBox::availableHeightUsing):
835         (RenderBox::calcAbsoluteHorizontalValues):
836         (RenderBox::calcAbsoluteVerticalValues):
837         * khtml/rendering/render_box.h:
838         * khtml/rendering/render_button.cpp:
839         (khtml::RenderButton::paintObject):
840         * khtml/rendering/render_button.h:
841         * khtml/rendering/render_flexbox.cpp:
842         (khtml::RenderFlexibleBox::calcMinMaxWidth):
843         * khtml/rendering/render_theme_mac.mm:
844         (khtml::RenderThemeMac::setFontFromControlSize):
845         (khtml::RenderThemeMac::adjustButtonStyle):
846
847 2005-10-25  Vicki Murley  <vicki@apple.com>
848
849         Reviewed by Hyatt.
850  
851         - fix <rdar://problem/4288276> DOM tests expect hierarchy exception adding wrong types of nodes to parents (4568)
852
853         Check that the node being added is an allowable child.  If inserting a document fragment node, check each child of
854         the node.  Fixes 4 of the W3C DOM HTML tests and 11 of the XHTML tests.
855
856         * khtml/xml/dom_nodeimpl.cpp:
857         (DOM::NodeImpl::checkAddChild):
858
859 2005-10-25  Darin Adler  <darin@apple.com>
860
861         Reviewed by Dave Hyatt.
862
863         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4945
864           event init calls should not do anything if the event has already been dispatched
865         - made a small performance improvement to event creation by simplifying the date code
866           (seen on profiles)
867         - changed DOMTimestamp to be a 64-bit integer on Mac OS X (requested by the DOM standard)
868
869         * khtml/dom/dom_node.h: Made DOMTimestamp be unsigned long long on Mac OS X.
870
871         * khtml/xml/dom_nodeimpl.cpp:
872         (DOM::NodeImpl::dispatchGenericEvent): Assert that the event has a target.
873         (DOM::NodeImpl::dispatchWindowEvent): Set the event target to the document.
874
875         * khtml/xml/dom2_eventsimpl.h: Changed many data members to use SharedPtr instead of
876         explicit ref/deref. Changed m_createTime to be a DOMTimeStamp instead of a QDateTime.
877         (DOM::EventImpl::setTarget): Now inlined.
878         (DOM::EventImpl::timeStamp): Now inlined.
879         (DOM::EventImpl::preventDefault): Now inlined.
880         (DOM::EventImpl::dispatched): Added. Returns true if the event was already dispatched,
881         meaning it already has a target.
882
883         * khtml/xml/dom2_eventsimpl.cpp:
884         (DOM::currentTimeStamp): Added. Faster inline version on Mac OS X, since this shows
885         up in profiles.
886         (DOM::EventImpl::EventImpl): Changed to use contructor syntax and set m_createTime to
887         currentTimeStamp().
888         (DOM::EventImpl::~EventImpl): Removed explicit derefs; no longer needed.
889         (DOM::EventImpl::initEvent): Do nothing if dispatched() is true. Simplify since
890         SharedPtr handles ref/deref.
891         (DOM::UIEventImpl::UIEventImpl): Changed to use contructor syntax and take advantage
892         of the fact that some data members are now SharedPtr.
893         (DOM::UIEventImpl::initUIEvent): Do nothing if dispatched() is true. Simplify since
894         SharedPtr handles ref/deref.
895         (DOM::MouseEventImpl::MouseEventImpl): Changed to use contructor syntax and take advantage
896         of the fact that some data members are now SharedPtr.
897         (DOM::MouseEventImpl::~MouseEventImpl): Removed explicit derefs; no longer needed.
898         (DOM::MouseEventImpl::initMouseEvent): Do nothing if dispatched() is true. Simplify since
899         SharedPtr handles ref/deref.
900         (DOM::MouseEventImpl::isDragEvent): Use a local variable.
901         (DOM::KeyboardEventImpl::KeyboardEventImpl): Changed to use contructor syntax and take
902         advantage of the fact that some data members are now SharedPtr.
903         (DOM::KeyboardEventImpl::~KeyboardEventImpl): Removed explicit derefs; no longer needed.
904         (DOM::KeyboardEventImpl::initKeyboardEvent): Do nothing if dispatched() is true. Simplify
905         since SharedPtr handles ref/deref.
906         (DOM::MutationEventImpl::MutationEventImpl): Changed to use contructor syntax and take
907         advantage of the fact that some data members are now SharedPtr.
908         (DOM::MutationEventImpl::initMutationEvent): Do nothing if dispatched() is true. Simplify
909         since SharedPtr handles ref/deref.
910         (DOM::ClipboardEventImpl::ClipboardEventImpl): Simplify since SharedPtr handles initialization
911         and ref/deref.
912         (DOM::RegisteredEventListener::RegisteredEventListener): Ditto.
913
914 2005-10-24  Geoffrey Garen  <ggaren@apple.com>
915
916         Patch by Niels Leenheer.
917
918         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=3587
919         http://bugzilla.opendarwin.org/show_bug.cgi?id=3587
920
921         Reviewed by hyatt.
922
923         Layout tests added:
924
925         * dom/xhtml/level2/html/HTMLBaseElement02-expected.txt:
926         * dom/xhtml/level2/html/frame-expected.txt:
927         * fast/frames/calculate-fixed-expected.txt: Added.
928         * fast/frames/calculate-fixed.html: Added.
929         * fast/frames/calculate-order-expected.txt: Added.
930         * fast/frames/calculate-order.html: Added.
931         * fast/frames/calculate-percentage-expected.txt: Added.
932         * fast/frames/calculate-percentage.html: Added.
933         * fast/frames/calculate-relative-expected.txt: Added.
934         * fast/frames/calculate-relative.html: Added.
935         * fast/frames/calculate-round-expected.txt: Added.
936         * fast/frames/calculate-round.html: Added.
937
938         * khtml/rendering/render_frames.cpp:
939         (RenderFrameSet::layout):
940
941 2005-10-24  Darin Adler  <darin@apple.com>
942
943         Reviewed by Hyatt.
944
945         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5054
946           Crash with dataTransfer.setDragImage
947
948         * khtml/ecma/kjs_events.cpp: (KJS::ClipboardProtoFunc::callAsFunction):
949         Added type check in case the parameter passed is not an object.
950
951 2005-10-24  Darin Adler  <darin@apple.com>
952
953         Reviewed by Beth.
954
955         - got ready to make m_parent private by removing references to it
956           also removed tabs (and used spaces instead) to files I touched
957         - fixed code that initialized m_parent twice
958
959         * khtml/css/css_base.cpp:
960         (StyleBaseImpl::checkLoaded): Use parent().
961         (StyleBaseImpl::stylesheet): Ditto.
962         * khtml/css/css_base.h:
963         (DOM::StyleBaseImpl::StyleBaseImpl): Initialize base TreeShared with the appropriate
964         parent instead of first setting m_parent to 0 and then to the correct value. Also
965         removed setParent, since the base class setParent works fine.
966         * khtml/css/css_ruleimpl.cpp:
967         (DOM::CSSRuleImpl::parentStyleSheet): Use parent().
968         (DOM::CSSRuleImpl::parentRule): Ditto.
969         * khtml/css/css_stylesheetimpl.cpp:
970         (StyleSheetImpl::parentStyleSheet): Ditto.
971         (MediaListImpl::parentStyleSheet): Ditto.
972         (MediaListImpl::parentRule): Ditto.
973         * khtml/css/css_valueimpl.cpp:
974         (DOM::CSSStyleDeclarationImpl::parentRule): Ditto.
975         * khtml/rendering/render_replaced.cpp: Reformatting only, and removed some
976         APPLE_CHANGES-only instead.
977         * khtml/xml/dom_nodeimpl.cpp:
978         (DOM::NodeImpl::isContentEditable): Use parent().
979         * khtml/xml/dom_nodeimpl.h:
980         (DOM::NodeImpl::parentNode): Ditto.
981         * khtml/xsl/xsl_stylesheetimpl.cpp:
982         (DOM::XSLImportRuleImpl::parentStyleSheet): Ditto.
983
984 2005-10-24  David Hyatt  <hyatt@apple.com>
985
986         Fix for 5485, make sure generated content's "rightmost selector"
987         check does not apply once you move to another selector in the 
988         compound selector chain.
989         
990         Reviewed by mjs
991
992         * khtml/css/cssstyleselector.cpp:
993         (khtml::CSSStyleSelector::checkSelector):
994
995 2005-10-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
996
997         Reviewed by Darin, committed by beth.
998
999         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5384
1000         Soft hyphen displayed as hyphen when it is the first character 
1001         in a line/run.
1002
1003         * khtml/rendering/bidi.cpp:
1004         (khtml::checkMidpoints):
1005         (khtml::RenderBlock::skipWhitespace):
1006         (khtml::RenderBlock::findNextLineBreak):
1007         * khtml/rendering/render_text.cpp:
1008         (RenderText::calcMinMaxWidth):
1009
1010 2005-10-23  David Hyatt  <hyatt@apple.com>
1011
1012         Make sure the button's generated text using the value with
1013         the default label so that Submit/Reset buttons aren't blank.
1014         
1015         Reviewed by mjs
1016
1017         Added fast/forms/blankbuttons.html
1018         
1019         * khtml/rendering/render_button.cpp:
1020         (khtml::RenderButton::updateFromElement):
1021
1022 2005-10-24  Maciej Stachowiak  <mjs@apple.com>
1023
1024         Re-landing Dave Hyatt's changes from when the tree was closed.
1025
1026         * khtml/rendering/render_container.cpp:
1027         (RenderContainer::destroy):
1028         (RenderContainer::destroyLeftoverAnonymousChildren):
1029         * khtml/rendering/render_container.h:
1030         * khtml/rendering/render_flow.cpp:
1031         (RenderFlow::destroy):
1032         * khtml/rendering/render_layer.cpp:
1033         (khtml::RenderLayer::isTransparent):
1034         (khtml::RenderLayer::paintLayer):
1035         (khtml::isOverflowOnly):
1036         (khtml::compare):
1037         (khtml::sortByZOrder):
1038         * khtml/rendering/render_layer.h:
1039
1040 2005-10-24  Alexey Proskuryakov  <ap@nypop.com>
1041
1042         Reviewed by Darin Adler.
1043         Commited by Tim Hatcher.
1044
1045         - fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=5484
1046         REGRESSION: reproducible crash in CachedCSSStyleSheet::setCharset
1047
1048         * khtml/misc/loader.cpp:
1049         (CachedCSSStyleSheet::setCharset):
1050         (CachedScript::setCharset):
1051
1052 2005-10-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1053
1054         Reviewed by Darin.  Committed by David Harrison.
1055
1056         http://bugzilla.opendarwin.org/show_bug.cgi?id=5449
1057         "OBJECT should be accessible by id/name as document property only if its only children are PARAMs"
1058
1059         Test added:
1060         * fast/js/object-by-name-or-id-expected.txt: Added.
1061         * fast/js/object-by-name-or-id.html: Added.
1062
1063         Files changed:
1064         * khtml/html/html_miscimpl.cpp:
1065         (DOM::HTMLNameCollectionImpl::traverseNextItem):
1066         * khtml/html/html_objectimpl.cpp:
1067         (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl):
1068         (DOM::HTMLObjectElementImpl::parseMappedAttribute):
1069         (DOM::HTMLObjectElementImpl::insertedIntoDocument):
1070         (DOM::HTMLObjectElementImpl::removedFromDocument):
1071         (DOM::HTMLObjectElementImpl::childrenChanged):
1072         (DOM::HTMLObjectElementImpl::updateDocNamedItem):
1073         * khtml/html/html_objectimpl.h:
1074         (DOM::HTMLObjectElementImpl::isDocNamedItem):
1075         * manual-tests/drag_select_highlighting.html: Added.
1076
1077 2005-10-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1078
1079         Reviewed by Darin.  Committed by David Harrison.
1080
1081         http://bugzilla.opendarwin.org/show_bug.cgi?id=5415
1082         "Left border of selection highlight leaves behind a trail"
1083
1084         (Code changes are in WebKit)
1085         
1086         * manual-tests/drag_select_highlighting.html: Added.
1087
1088 2005-10-24  Vicki Murley  <vicki@apple.com>
1089
1090         Changes by Mitz Pettel, reviewed by Maciej.
1091
1092         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5306 (KHTMLPart::requestObject 
1093         doesn't destroy old plugin content)
1094
1095         * khtml/html/html_objectimpl.cpp:
1096         (DOM::HTMLObjectElementImpl::recalcStyle):
1097
1098 2005-10-24  Vicki Murley  <vicki@apple.com>
1099
1100         Changes by Alexey Proskuryakov, reviewed by Maciej.
1101
1102         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5140 (CachedObject loading 
1103         ignores charset from HTTP headers)
1104
1105         * khtml/misc/loader.cpp:
1106         (CachedCSSStyleSheet::setCharset):
1107         (CachedScript::setCharset):
1108         (CachedXSLStyleSheet::setCharset):
1109         (CachedXSLStyleSheet::data):
1110         (CachedXBLDocument::CachedXBLDocument):
1111         (CachedXBLDocument::setCharset):
1112         (CachedXBLDocument::data):
1113         (Loader::slotReceivedResponse):
1114         * khtml/misc/loader.h:
1115
1116 2005-10-24  Antti Koivisto  <koivisto@iki.fi>
1117
1118         Reviewed by Hyatt, landed by beth.
1119
1120         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5318
1121         forced line break should not be allowed after a list marker.
1122
1123         * khtml/rendering/bidi.cpp:
1124         (khtml::RenderBlock::findNextLineBreak):
1125
1126 2005-10-24  Darin Adler  <darin@apple.com>
1127
1128         Reviewed by hyatt.
1129
1130         Fix Qualified Name parsing to match spec.
1131         xhtml dom tests cover these cases.
1132         http://bugzilla.opendarwin.org/show_bug.cgi?id=5317
1133
1134         * khtml/xml/dom_docimpl.cpp:
1135         (isValidNameStart):
1136         (isValidNamePart):
1137         (qualifiedNameIsMalformed):
1138         (DOMImplementationImpl::createDocumentType):
1139         (DOMImplementationImpl::createDocument):
1140         (DocumentImpl::createElementNS):
1141         (DocumentImpl::isValidName):
1142         (DocumentImpl::parseQualifiedName):
1143         * khtml/xml/dom_docimpl.h:
1144         * khtml/xml/dom_elementimpl.cpp:
1145         (ElementImpl::setAttributeNS):
1146
1147 2005-10-23  Julien Palmas <julien.palmas@gmail.com>
1148
1149         Reviewed by eseidel.
1150
1151         Finally fix pattern "userspaceonuse" support.
1152         Several test cases already cover this.
1153         http://bugzilla.opendarwin.org/show_bug.cgi?id=5361
1154
1155         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
1156         (KRenderingPaintServerPatternQuartz::draw):
1157         * svg-tests/W3C-SVG-1.1/pservers-grad-03-b-expected.checksum:
1158         * svg-tests/W3C-SVG-1.1/pservers-grad-03-b-expected.png:
1159         * svg-tests/W3C-SVG-1.1/pservers-grad-06-b-expected.checksum:
1160         * svg-tests/W3C-SVG-1.1/pservers-grad-06-b-expected.png:
1161         * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-expected.checksum:
1162         * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-expected.png:
1163
1164 2005-10-23  Julien Palmas <julien.palmas@gmail.com>
1165
1166         Reviewed by eseidel.
1167
1168         Merged over Shared -> Shared<T> change from kdom.
1169         http://bugzilla.opendarwin.org/show_bug.cgi?id=5391
1170
1171         * WebCore.xcodeproj/project.pbxproj:
1172         * kdom/Shared.h:
1173         (KDOM::Shared::Shared):
1174         (KDOM::Shared::~Shared):
1175         (KDOM::Shared::refCount):
1176         (KDOM::Shared::ref):
1177         (KDOM::Shared::deref):
1178         * kdom/SharedPtr.h: Added.
1179         (KDOM::SharedPtr::SharedPtr):
1180         (KDOM::SharedPtr::~SharedPtr):
1181         (KDOM::SharedPtr::isNull):
1182         (KDOM::SharedPtr::notNull):
1183         (KDOM::SharedPtr::reset):
1184         (KDOM::SharedPtr::get):
1185         (KDOM::SharedPtr::operator!):
1186         (KDOM::SharedPtr::operator bool):
1187         (KDOM::SharedPtr::operator==):
1188         (KDOM::::operator):
1189         * kdom/TreeShared.h:
1190         (KDOM::TreeShared::TreeShared):
1191         (KDOM::TreeShared::~TreeShared):
1192         (KDOM::TreeShared::refCount):
1193         (KDOM::TreeShared::ref):
1194         (KDOM::TreeShared::deref):
1195         (KDOM::TreeShared::parent):
1196         (KDOM::TreeShared::setParent):
1197         * kdom/core/DOMConfigurationImpl.cpp:
1198         (DOMConfigurationImpl::DOMConfigurationImpl):
1199         * kdom/core/DOMConfigurationImpl.h:
1200         * kdom/core/DOMErrorHandlerImpl.cpp:
1201         (DOMErrorHandlerImpl::DOMErrorHandlerImpl):
1202         * kdom/core/DOMErrorHandlerImpl.h:
1203         * kdom/core/DOMErrorImpl.cpp:
1204         (DOMErrorImpl::DOMErrorImpl):
1205         * kdom/core/DOMErrorImpl.h:
1206         (KDOM::):
1207         * kdom/core/DOMExceptionImpl.cpp:
1208         (DOMExceptionImpl::DOMExceptionImpl):
1209         * kdom/core/DOMExceptionImpl.h:
1210         * kdom/core/DOMList.h:
1211         (KDOM::DOMList::DOMList):
1212         (KDOM::DOMList::~DOMList):
1213         * kdom/core/DOMLocatorImpl.cpp:
1214         (DOMLocatorImpl::DOMLocatorImpl):
1215         * kdom/core/DOMLocatorImpl.h:
1216         * kdom/core/DOMObjectImpl.cpp:
1217         (DOMObjectImpl::DOMObjectImpl):
1218         * kdom/core/DOMObjectImpl.h:
1219         * kdom/core/DOMStringImpl.cpp:
1220         (DOMStringImpl::DOMStringImpl):
1221         * kdom/core/DOMStringImpl.h:
1222         * kdom/core/DOMUserDataImpl.cpp:
1223         (DOMUserDataImpl::DOMUserDataImpl):
1224         * kdom/core/DOMUserDataImpl.h:
1225         * kdom/core/NamedNodeMapImpl.cpp:
1226         (NamedNodeMapImpl::NamedNodeMapImpl):
1227         * kdom/core/NamedNodeMapImpl.h:
1228         * kdom/core/NodeImpl.h:
1229         * kdom/core/NodeListImpl.cpp:
1230         (NodeListImpl::NodeListImpl):
1231         * kdom/core/NodeListImpl.h:
1232         * kdom/core/TypeInfoImpl.cpp:
1233         (TypeInfoImpl::TypeInfoImpl):
1234         * kdom/core/TypeInfoImpl.h:
1235         * kdom/css/CSSRuleListImpl.cpp:
1236         (CSSRuleListImpl::CSSRuleListImpl):
1237         * kdom/css/CSSRuleListImpl.h:
1238         * kdom/css/CounterImpl.cpp:
1239         (CounterImpl::CounterImpl):
1240         * kdom/css/CounterImpl.h:
1241         * kdom/css/RGBColorImpl.cpp:
1242         (RGBColorImpl::RGBColorImpl):
1243         * kdom/css/RGBColorImpl.h:
1244         * kdom/css/RectImpl.cpp:
1245         (RectImpl::RectImpl):
1246         * kdom/css/RectImpl.h:
1247         * kdom/css/RenderStyle.cpp:
1248         (RenderStyle::RenderStyle):
1249         * kdom/css/RenderStyle.h:
1250         (KDOM::RenderStyle::RenderStyle):
1251         * kdom/css/RenderStyleDefs.cpp:
1252         (StyleSurroundData::StyleSurroundData):
1253         (StyleBoxData::StyleBoxData):
1254         (StyleVisualData::StyleVisualData):
1255         (StyleBackgroundData::StyleBackgroundData):
1256         (StyleMarqueeData::StyleMarqueeData):
1257         (StyleCSS3NonInheritedData::StyleCSS3NonInheritedData):
1258         (StyleCSS3InheritedData::StyleCSS3InheritedData):
1259         (StyleInheritedData::StyleInheritedData):
1260         * kdom/css/RenderStyleDefs.h:
1261         (KDOM::BorderData::BorderData):
1262         * kdom/css/StyleSheetListImpl.cpp:
1263         (StyleSheetListImpl::StyleSheetListImpl):
1264         * kdom/css/StyleSheetListImpl.h:
1265         * kdom/events/EventExceptionImpl.cpp:
1266         (EventExceptionImpl::EventExceptionImpl):
1267         * kdom/events/EventExceptionImpl.h:
1268         * kdom/events/EventImpl.cpp:
1269         (EventImpl::EventImpl):
1270         * kdom/events/EventImpl.h:
1271         * kdom/events/EventListenerImpl.cpp:
1272         (EventListenerImpl::EventListenerImpl):
1273         * kdom/events/EventListenerImpl.h:
1274         * kdom/ls/LSExceptionImpl.cpp:
1275         (LSExceptionImpl::LSExceptionImpl):
1276         * kdom/ls/LSExceptionImpl.h:
1277         * kdom/ls/LSInputImpl.cpp:
1278         (LSInputImpl::LSInputImpl):
1279         * kdom/ls/LSInputImpl.h:
1280         * kdom/ls/LSOutputImpl.cpp:
1281         (LSOutputImpl::LSOutputImpl):
1282         * kdom/ls/LSOutputImpl.h:
1283         * kdom/ls/LSParserFilterImpl.cpp:
1284         (LSParserFilterImpl::LSParserFilterImpl):
1285         * kdom/ls/LSParserFilterImpl.h:
1286         * kdom/ls/LSResourceResolverImpl.cpp:
1287         (LSResourceResolverImpl::LSResourceResolverImpl):
1288         * kdom/ls/LSResourceResolverImpl.h:
1289         * kdom/ls/LSSerializerImpl.cpp:
1290         (LSSerializerImpl::LSSerializerImpl):
1291         * kdom/ls/LSSerializerImpl.h:
1292         * kdom/range/RangeExceptionImpl.cpp:
1293         (RangeExceptionImpl::RangeExceptionImpl):
1294         * kdom/range/RangeExceptionImpl.h:
1295         * kdom/range/RangeImpl.cpp:
1296         (RangeImpl::RangeImpl):
1297         * kdom/range/RangeImpl.h:
1298         * kdom/traversal/NodeFilterImpl.cpp:
1299         (NodeFilterImpl::NodeFilterImpl):
1300         * kdom/traversal/NodeFilterImpl.h:
1301         (KDOM::NodeFilterCondition::NodeFilterCondition):
1302         (KDOM::NodeFilterCondition::~NodeFilterCondition):
1303         (KDOM::NodeFilterCondition::acceptNode):
1304         * kdom/traversal/TraversalImpl.cpp:
1305         (TraversalImpl::TraversalImpl):
1306         * kdom/traversal/TraversalImpl.h:
1307         * kdom/views/AbstractViewImpl.cpp:
1308         (AbstractViewImpl::AbstractViewImpl):
1309         * kdom/views/AbstractViewImpl.h:
1310         * kdom/xpath/XPathExceptionImpl.h:
1311         * kdom/xpath/XPathExpressionImpl.h:
1312         * kdom/xpath/XPathNSResolverImpl.h:
1313         * kdom/xpath/XPathResultImpl.h:
1314         * kdom/xpointer/NBCImpl.cpp:
1315         (NBCImpl::NBCImpl):
1316         * kdom/xpointer/NBCImpl.h:
1317         * kdom/xpointer/PointerPartImpl.cpp:
1318         (PointerPartImpl::PointerPartImpl):
1319         * kdom/xpointer/PointerPartImpl.h:
1320         * kdom/xpointer/XPointerExceptionImpl.cpp:
1321         (XPointerExceptionImpl::XPointerExceptionImpl):
1322         * kdom/xpointer/XPointerExceptionImpl.h:
1323         * kdom/xpointer/XPointerExpressionImpl.cpp:
1324         (XPointerExpressionImpl::XPointerExpressionImpl):
1325         * kdom/xpointer/XPointerExpressionImpl.h:
1326         * kdom/xpointer/XPointerResultImpl.cpp:
1327         (XPointerResultImpl::XPointerResultImpl):
1328         * kdom/xpointer/XPointerResultImpl.h:
1329         * ksvg2/css/SVGRenderStyleDefs.cpp:
1330         (StyleFillData::StyleFillData):
1331         (StyleStrokeData::StyleStrokeData):
1332         (StyleStopData::StyleStopData):
1333         (StyleClipData::StyleClipData):
1334         (StyleMarkerData::StyleMarkerData):
1335         (StyleMiscData::StyleMiscData):
1336         * ksvg2/css/SVGRenderStyleDefs.h:
1337         * ksvg2/svg/SVGAngleImpl.cpp:
1338         (SVGAngleImpl::SVGAngleImpl):
1339         * ksvg2/svg/SVGAngleImpl.h:
1340         * ksvg2/svg/SVGAnimatedBooleanImpl.cpp:
1341         (SVGAnimatedBooleanImpl::SVGAnimatedBooleanImpl):
1342         * ksvg2/svg/SVGAnimatedBooleanImpl.h:
1343         * ksvg2/svg/SVGAnimatedEnumerationImpl.cpp:
1344         (SVGAnimatedEnumerationImpl::SVGAnimatedEnumerationImpl):
1345         * ksvg2/svg/SVGAnimatedEnumerationImpl.h:
1346         * ksvg2/svg/SVGAnimatedIntegerImpl.cpp:
1347         (SVGAnimatedIntegerImpl::SVGAnimatedIntegerImpl):
1348         * ksvg2/svg/SVGAnimatedIntegerImpl.h:
1349         * ksvg2/svg/SVGAnimatedNumberImpl.cpp:
1350         (SVGAnimatedNumberImpl::SVGAnimatedNumberImpl):
1351         * ksvg2/svg/SVGAnimatedNumberImpl.h:
1352         * ksvg2/svg/SVGAnimatedTemplate.h:
1353         (KSVG::SVGAnimatedTemplate::SVGAnimatedTemplate):
1354         * ksvg2/svg/SVGExceptionImpl.cpp:
1355         (SVGExceptionImpl::SVGExceptionImpl):
1356         * ksvg2/svg/SVGExceptionImpl.h:
1357         * ksvg2/svg/SVGLengthImpl.cpp:
1358         (SVGLengthImpl::SVGLengthImpl):
1359         * ksvg2/svg/SVGLengthImpl.h:
1360         * ksvg2/svg/SVGMatrixImpl.cpp:
1361         (SVGMatrixImpl::SVGMatrixImpl):
1362         * ksvg2/svg/SVGMatrixImpl.h:
1363         * ksvg2/svg/SVGNumberImpl.cpp:
1364         (SVGNumberImpl::SVGNumberImpl):
1365         * ksvg2/svg/SVGNumberImpl.h:
1366         * ksvg2/svg/SVGPathSegImpl.cpp:
1367         (SVGPathSegImpl::SVGPathSegImpl):
1368         * ksvg2/svg/SVGPathSegImpl.h:
1369         * ksvg2/svg/SVGPointImpl.cpp:
1370         (SVGPointImpl::SVGPointImpl):
1371         * ksvg2/svg/SVGPointImpl.h:
1372         * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
1373         (SVGPreserveAspectRatioImpl::SVGPreserveAspectRatioImpl):
1374         * ksvg2/svg/SVGPreserveAspectRatioImpl.h:
1375         * ksvg2/svg/SVGRectImpl.cpp:
1376         (SVGRectImpl::SVGRectImpl):
1377         * ksvg2/svg/SVGRectImpl.h:
1378         * ksvg2/svg/SVGTransformImpl.cpp:
1379         (SVGTransformImpl::SVGTransformImpl):
1380         * ksvg2/svg/SVGTransformImpl.h:
1381
1382 2005-10-23  Eric Seidel  <eseidel@apple.com>
1383
1384         No review, build fix only.
1385
1386         * WebCore.xcodeproj/project.pbxproj: added RenderButton.cpp
1387
1388 2005-10-23  Geoffrey Garen  <ggaren@apple.com>
1389
1390         Reviewed by Maciej.
1391
1392         Removed early return from stopLoading because it prevented
1393         onunload events from firing.
1394
1395         Also, for better abstraction, made the tokenizer -- instead of the 
1396         data source -- responsible for calling [WebFrame _checkLoadComplete]
1397         when the tokenizer stops.
1398
1399         * khtml/html/htmltokenizer.cpp:
1400         (khtml::HTMLTokenizer::stopParsing):
1401         * khtml/khtml_part.cpp:
1402         (KHTMLPart::stopLoading):
1403
1404 2005-10-23 Julien Palmas <julien.palmas@gmail.com>
1405
1406         Reviewed by mjs.
1407
1408         * WebCore+SVG/xml_kdomtokenizer.cpp:
1409         (KDOMTokenizer::KDOMTokenizer): build fix.
1410         http://bugzilla.opendarwin.org/show_bug.cgi?id=5462
1411
1412 2005-10-23  Nicholas Shanks  <contact@nickshanks.com>
1413
1414         Reviewed by Dave Hyatt.
1415
1416         http://bugzilla.opendarwin.org/show_bug.cgi?id=3442
1417         Adds support for :first-of-type CSS3 pseudo-selectors
1418         And builds foundations for :last-of-type and :only-of-type
1419
1420         * khtml/css/css_base.cpp:
1421         (CSSSelector::extractPseudoType):
1422         * khtml/css/css_base.h:
1423         (DOM::CSSSelector::CSSSelector):
1424         (DOM::CSSSelector::~CSSSelector):
1425         (DOM::CSSSelector::):
1426         (DOM::CSSSelector::pseudoType):
1427         (DOM::StyleBaseImpl::StyleBaseImpl):
1428         (DOM::StyleBaseImpl::~StyleBaseImpl):
1429         (DOM::StyleBaseImpl::isStyleSheet):
1430         (DOM::StyleBaseImpl::isCSSStyleSheet):
1431         (DOM::StyleBaseImpl::isStyleSheetList):
1432         (DOM::StyleBaseImpl::isMediaList):
1433         (DOM::StyleBaseImpl::isRuleList):
1434         (DOM::StyleBaseImpl::isRule):
1435         (DOM::StyleBaseImpl::isStyleRule):
1436         (DOM::StyleBaseImpl::isCharetRule):
1437         (DOM::StyleBaseImpl::isImportRule):
1438         (DOM::StyleBaseImpl::isMediaRule):
1439         (DOM::StyleBaseImpl::isFontFaceRule):
1440         (DOM::StyleBaseImpl::isPageRule):
1441         (DOM::StyleBaseImpl::isUnknownRule):
1442         (DOM::StyleBaseImpl::isStyleDeclaration):
1443         (DOM::StyleBaseImpl::isValue):
1444         (DOM::StyleBaseImpl::isPrimitiveValue):
1445         (DOM::StyleBaseImpl::isValueList):
1446         (DOM::StyleBaseImpl::isValueCustom):
1447         (DOM::StyleBaseImpl::setParent):
1448         (DOM::StyleBaseImpl::parseString):
1449         (DOM::StyleBaseImpl::setStrictParsing):
1450         (DOM::StyleBaseImpl::useStrictParsing):
1451         (DOM::StyleListImpl::StyleListImpl):
1452         (DOM::StyleListImpl::length):
1453         (DOM::StyleListImpl::item):
1454         (DOM::StyleListImpl::append):
1455         * khtml/css/cssstyleselector.cpp:
1456         (khtml::CSSStyleSelector::checkSelector):
1457         (khtml::CSSStyleSelector::checkOneSelector):
1458
1459 2005-10-21  David Hyatt  <hyatt@apple.com>
1460
1461         Reviewed by darin
1462
1463         * khtml/css/cssstyleselector.cpp:
1464         Add support for the GrayText CSS2 system color to represent
1465         the disabled text color for controls.
1466         
1467         * khtml/css/html4.css:
1468         Make sure that the default cursor is set for all types of buttons
1469         and not just the HTML4 button.
1470
1471         Set the foreground color for buttons using the CSS2 system color.
1472         Set the disabled text color using the CSS2 system color.
1473
1474         Move the default padding for buttons into the CSS file.  It will
1475         get overridden by Aqua buttons but be honored by all other types
1476         of buttons.  This allows the author to override it as well when
1477         customizing.
1478         
1479         * khtml/rendering/render_block.h:
1480         Make paintChildren virtual so that RenderButton can push a clip
1481         and pop a clip when painting children.
1482         
1483         * khtml/rendering/render_box.cpp:
1484         (RenderBox::paintBoxDecorations):
1485         Let the theme now decide whether the border/background should
1486         still be painted after the theme has painted.  This allows buttons
1487         to paint custom borders but still use a pretty OS X background for
1488         the button face.
1489         
1490         * khtml/rendering/render_button.cpp:
1491         (khtml::RenderButton::paintChildren):
1492         Overridden to push/pop a clip so that the contents of a button
1493         don't ever spill out.
1494         
1495         * khtml/rendering/render_button.h:
1496         Added paintChildren method.
1497         
1498         * khtml/rendering/render_style.h:
1499         (khtml::BorderData::hasBorder):
1500         Fixed a regression in hasBorder.  The border-image logic was
1501         inverted, resulting in hasBorder being true for every element!
1502         
1503         * khtml/rendering/render_theme.cpp:
1504         (khtml::RenderTheme::paint):
1505         Patched to return a boolean indicating whether or not the
1506         border/background should be painted.
1507         
1508         * khtml/rendering/render_theme.h:
1509         * khtml/rendering/render_theme_mac.h:
1510         * khtml/rendering/render_theme_mac.mm:
1511         (khtml::RenderThemeMac::adjustRepaintRect):
1512         Forgot to include radio and button in this method so that repaint
1513         rects would be correct.
1514         
1515         (khtml::RenderThemeMac::paintCheckbox):
1516         (khtml::RenderThemeMac::paintRadio):
1517         Adjusted to return the boolean to indicate that painting of
1518         border/background should not occur.
1519         
1520         (khtml::RenderThemeMac::adjustButtonStyle):
1521         Added support for border/background/colors.  Also locked
1522         white-space to nowrap for Aqua buttons to avoid line wrapping.
1523         
1524         (khtml::RenderThemeMac::setButtonCellState):
1525         (khtml::RenderThemeMac::paintButton):
1526         More support for custom border/background/color.
1527         
1528 2005-10-21  Geoffrey Garen  <ggaren@apple.com>
1529
1530         Reviewed by darin.
1531
1532         WebCore side of fix for <rdar://problem/4184719> window.print() followed by window.close() 
1533         causes world leak
1534
1535         No test case added because I have another reviewed patch that will include a test
1536         for this bug as well as many others.
1537
1538         Under some conditions, [WebDataSource stopLoading] did not set [WebDataSource isLoading]
1539         to false, so the didFInishLoad delegates never fired.
1540         
1541         The reason isLoading didn't become false was that the tokenizer was still running.
1542         The fix here is to add a call to Tokenizer::stopParsing inside HTMLPart::stopLoading. 
1543         
1544         Since the WebKit side of the fix eliminates an early return that used to protect
1545         HTMLPart::stopLoading from multiple calls, I added an early return inside
1546         HTMLPart::stopLoading.
1547
1548         I also merged stopped and stopLoading, and merged the way XMLTokenizer and HTMLTokenizer
1549         track whether they're in a stopped state, because anything less would be uncivilized.
1550         
1551         * khtml/html/htmltokenizer.cpp:
1552         (khtml::HTMLTokenizer::HTMLTokenizer):
1553         (khtml::HTMLTokenizer::write):
1554         (khtml::HTMLTokenizer::stopParsing):
1555         (khtml::HTMLTokenizer::processToken):
1556         * khtml/html/htmltokenizer.h:
1557         * khtml/khtml_part.cpp:
1558         (KHTMLPart::stopLoading):
1559         (KHTMLPart::endIfNotLoading):
1560         (KHTMLPart::stop):
1561         * khtml/xml/xml_tokenizer.cpp:
1562         (khtml::Tokenizer::Tokenizer):
1563         (khtml::Tokenizer::finishedParsing):
1564         (khtml::XMLTokenizer::XMLTokenizer):
1565         (khtml::XMLTokenizer::endElementNs):
1566         (khtml::XMLTokenizer::characters):
1567         (khtml::XMLTokenizer::error):
1568         (khtml::XMLTokenizer::processingInstruction):
1569         (khtml::XMLTokenizer::cdataBlock):
1570         (khtml::XMLTokenizer::comment):
1571         (khtml::XMLTokenizer::stopParsing):
1572         * khtml/xml/xml_tokenizer.h:
1573         (khtml::Tokenizer::stopParsing):
1574         * kwq/KWQSignalStubs.mm:
1575         (Loader::requestStarted):
1576
1577 2005-10-21  Beth Dakin  <bdakin@apple.com>
1578
1579         Reviewed by Hyatt
1580
1581         Fix for <rdar://problem/3947202> certain sequence of DOM 
1582         method calls involving CSS outline and display crashes Safari 
1583         (in repaint code).
1584
1585         * khtml/rendering/render_flow.cpp:
1586         (RenderFlow::destroy): Need to set m_continuation to 0 after it
1587         is destroyed to prevent possible crashes.
1588
1589 2005-10-21  Vicki Murley  <vicki@apple.com>
1590
1591         Reviewed by John.
1592  
1593         - fixed <rdar://problem/4304213> sometimes have to click twice to jump to top, on href=""
1594
1595         * manual-tests/linkjump-1.html: Added.
1596         * khtml/khtml_part.cpp:
1597         (KHTMLPart::gotoAnchor): remove check for m_url.hasRef() - encodedHtmlRef and gotoAnchor handle empty 
1598         strings for scrolling to the top of the document
1599
1600 2005-10-21  John Sullivan  <sullivan@apple.com>
1601
1602         No test cases added.
1603         
1604         * khtml/rendering/render_theme_mac.mm:
1605         (khtml::RenderThemeMac::setButtonPaddingFromControlSize):
1606         fix deployment build by adding default: statement to button-size switch statement
1607
1608 2005-10-21  Beth Dakin  <bdakin@apple.com>
1609
1610         Reviewed by Hyatt
1611
1612         Fix for <rdar://problem/3847926> crash due to infinite 
1613         layout regression in RenderLayer::updateScrollInfoAfterLayout 
1614         (was at ourmedia.org)
1615
1616         Cannot use hasOverhangingFloats() in this case because
1617         borderBottom() has already been added into m_height.
1618         This was causing m_height to be off by a pixel in some
1619         cases and then causing infinite recursion in the scroll
1620         bar code.
1621
1622         * khtml/rendering/render_block.cpp: Replaced call to
1623                                         hasOverhangingFloats()
1624         (khtml::RenderBlock::layoutBlock):
1625
1626 2005-10-21  Beth Dakin  <bdakin@apple.com>
1627
1628         Reviewed by Hyatt...sort of.
1629
1630         No test cases added.
1631
1632         Fix for a build failure after Hyatt's button check-in. KWQSlider.mm was
1633         still importing the now deprecated KWQButton.h
1634
1635         Changed it to import KWQLineEdit.h instead.
1636
1637         * kwq/KWQSlider.mm:
1638
1639 2005-10-21  David Hyatt  <hyatt@apple.com>
1640
1641         Land the new "NSView-less" buttons.  With this landing both
1642         <input type=button> and <button> will now look like OS X-style
1643         widgets.  Customization of background and border is not yet
1644         enabled, but this is still a big improvement over the old
1645         AppKit widgets.
1646         
1647         Reviewed by mjs
1648
1649         * ForwardingHeaders/qpushbutton.h: Removed.
1650         * WebCore.xcodeproj/project.pbxproj:
1651         * khtml/css/cssstyleselector.cpp:
1652         (khtml::CSSStyleSelector::adjustRenderStyle):
1653         * khtml/css/cssstyleselector.h:
1654         (khtml::CSSStyleSelector::paintMetrics):
1655         * khtml/css/cssvalues.in:
1656         * khtml/css/html4.css:
1657         * khtml/html/html_formimpl.cpp:
1658         (DOM::HTMLButtonElementImpl::createRenderer):
1659         (DOM::HTMLInputElementImpl::click):
1660         (DOM::HTMLInputElementImpl::createRenderer):
1661         * khtml/html/html_formimpl.h:
1662         (DOM::HTMLInputElementImpl::isTextButton):
1663         * khtml/rendering/render_button.cpp: Added.
1664         (khtml::m_inner):
1665         (khtml::RenderButton::~RenderButton):
1666         (khtml::RenderButton::addChild):
1667         (khtml::RenderButton::removeChild):
1668         (khtml::RenderButton::setStyle):
1669         (khtml::RenderButton::updateFromElement):
1670         * khtml/rendering/render_button.h: Added.
1671         (khtml::RenderButton::removeLeftoverAnonymousBoxes):
1672         (khtml::RenderButton::renderName):
1673         * khtml/rendering/render_form.cpp:
1674         * khtml/rendering/render_form.h:
1675         (khtml::RenderFileButton::calcReplacedHeight):
1676         (khtml::RenderFileButton::isEditable):
1677         * khtml/rendering/render_style.h:
1678         (khtml::):
1679         * khtml/rendering/render_theme.cpp:
1680         (khtml::RenderTheme::adjustStyle):
1681         (khtml::RenderTheme::paint):
1682         (khtml::RenderTheme::adjustCheckboxStyle):
1683         (khtml::RenderTheme::adjustRadioStyle):
1684         (khtml::RenderTheme::adjustButtonStyle):
1685         * khtml/rendering/render_theme.h:
1686         (khtml::RenderTheme::setButtonSize):
1687         * khtml/rendering/render_theme_mac.h:
1688         * khtml/rendering/render_theme_mac.mm:
1689         (khtml::RenderThemeMac::setSizeFromFont):
1690         (khtml::RenderThemeMac::setFontFromControlSize):
1691         (khtml::RenderThemeMac::addIntrinsicMargins):
1692         (khtml::RenderThemeMac::setButtonPaddingFromControlSize):
1693         (khtml::RenderThemeMac::adjustButtonStyle):
1694         (khtml::RenderThemeMac::buttonSizes):
1695         (khtml::RenderThemeMac::buttonMargins):
1696         (khtml::RenderThemeMac::setButtonSize):
1697         (khtml::RenderThemeMac::setButtonCellState):
1698         (khtml::RenderThemeMac::paintButton):
1699         * kwq/KWQAccObject.mm:
1700         (-[KWQAccObject actionElement]):
1701         (-[KWQAccObject role]):
1702         (-[KWQAccObject title]):
1703         * kwq/KWQButton.h: Removed.
1704         * kwq/KWQButton.mm: Removed.
1705         * kwq/KWQComboBox.mm:
1706         * kwq/KWQLineEdit.h:
1707         * kwq/KWQLineEdit.mm:
1708         * kwq/KWQPushButton.h: Removed.
1709         * kwq/KWQPushButton.mm: Removed.
1710
1711 2005-10-19  Darin Adler  <darin@apple.com>
1712
1713         Reviewed by Maciej.
1714
1715         - optimizations for a total of about 1% speed-up on PLT
1716
1717         * khtml/html/htmltokenizer.cpp:
1718         (khtml::fixUpChar): Changed to be more inlinable.
1719         (khtml::HTMLTokenizer::processListing): Simplified the skipLF handling.
1720         (khtml::HTMLTokenizer::parseSpecial): Changed to call the new fixUpChar.
1721         (khtml::HTMLTokenizer::parseText): Simplified the skipLF handling and
1722         changed to call the new fixUpChar.
1723         (khtml::HTMLTokenizer::parseEntity): Changed to call the new fixUpChar.
1724         (khtml::HTMLTokenizer::parseTag): Changed to call the new fixUpChar.
1725         (khtml::HTMLTokenizer::write): Changed to call the new fixUpChar.
1726
1727         * khtml/rendering/font.h: Removed the floatCharacterWidths function,
1728         since it's never needed. Made some more functions inline.
1729         * khtml/rendering/font.cpp: Removed lots of stuff that was only for the
1730         !APPLE_CHANGES case.
1731
1732         * kwq/KWQFontMetrics.h: Removed the single-character width overloads, charWidth,
1733         and floatCharacterWidths.
1734         * kwq/KWQFontMetrics.mm:
1735         (QFontMetrics::width): Use lroundf instead of the ROUND_TO_INT macro.
1736         (QFontMetrics::floatWidth): Removed the bogus unneeded call to the ROUND_TO_INT macro.
1737
1738         * khtml/rendering/render_text.cpp:
1739         (RenderText::cacheWidths): Use floatWidth instead of floatCharacterWidths.
1740
1741         * kwq/KWQComboBox.mm: (QComboBox::sizeHint): Update since the floatWidthForRun
1742         method no longer takes a widths parameter.
1743         * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Ditto.
1744         * kwq/KWQListBox.mm:
1745         (QListBox::sizeForNumberOfLines): Ditto.
1746         (-[KWQTableView drawRow:clipRect:]): Ditto.
1747         * kwq/KWQPainter.mm: (QPainter::drawText): Ditto. Also use lroundf instead of the
1748         ROUND_TO_INT macro.
1749
1750         * kwq/WebCoreTextRenderer.h: Removed the ROUND_TO_INT macro. Changed to use bool
1751         instead of bit fields. Removed the widths parameter from the floatWidthForRun method.
1752
1753 2005-10-19  Maciej Stachowiak  <mjs@apple.com>
1754
1755         Reviewed by Dave.
1756
1757         - instead of walking the render tree to update widget positions, instead
1758         keep a set of widgets per canvas, maintained by the constructor and destroy method
1759         for RenderWidget. About a .5% speedup.
1760
1761         * khtml/khtmlview.cpp:
1762         (KHTMLView::layout):
1763         * khtml/rendering/render_canvas.cpp:
1764         (RenderCanvas::updateWidgetPositions):
1765         (RenderCanvas::addWidget):
1766         (RenderCanvas::removeWidget):
1767         * khtml/rendering/render_canvas.h:
1768         * khtml/rendering/render_frames.cpp:
1769         (RenderPart::updateWidgetPosition):
1770         (RenderPart::needWidgetPositionUpdating):
1771         * khtml/rendering/render_frames.h:
1772         * khtml/rendering/render_layer.cpp:
1773         (khtml::RenderLayer::scrollToOffset):
1774         * khtml/rendering/render_object.cpp:
1775         (RenderObject::updateWidgetPosition):
1776         (RenderObject::needWidgetPositionUpdating):
1777         * khtml/rendering/render_object.h:
1778         * khtml/rendering/render_replaced.cpp:
1779         (RenderWidget::RenderWidget):
1780         (RenderWidget::destroy):
1781         (RenderWidget::updateWidgetPosition):
1782         (RenderWidget::needWidgetPositionUpdating):
1783         * khtml/rendering/render_replaced.h:
1784
1785 2005-10-18  Darin Adler  <darin@apple.com>
1786
1787         Reviewed and landed by Maciej.
1788
1789         - some simple changes that amount to a < 1% speedup.
1790
1791         * khtml/css/cssstyleselector.cpp:
1792         (khtml::CSSStyleSelector::applyProperty):
1793         * khtml/rendering/bidi.cpp:
1794         (khtml::BidiIterator::direction):
1795         * kwq/KWQKURL.mm:
1796         (hasSlashDotOrDotDot):
1797         * kwq/KWQString.mm:
1798         (QString::~QString):
1799         * kwq/WebCoreTextRendererFactory.h:
1800
1801 2005-10-18  Maciej Stachowiak  <mjs@apple.com>
1802
1803         - back out the last change, it caused a regression with painting of offscreen plugins
1804
1805         * khtml/khtmlview.cpp:
1806         (KHTMLView::layout):
1807         * khtml/rendering/render_form.cpp:
1808         (RenderFormElement::layout):
1809         * khtml/rendering/render_frames.cpp:
1810         (RenderPartObject::layout):
1811         (RenderPart::updateWidgetPositions):
1812         * khtml/rendering/render_frames.h:
1813         * khtml/rendering/render_layer.cpp:
1814         (khtml::RenderLayer::scrollToOffset):
1815         * khtml/rendering/render_object.cpp:
1816         (RenderObject::updateWidgetPositions):
1817         * khtml/rendering/render_object.h:
1818         * khtml/rendering/render_replaced.cpp:
1819         (RenderWidget::layout):
1820         (RenderWidget::updateWidgetPositions):
1821         * khtml/rendering/render_replaced.h:
1822
1823 2005-10-18  Maciej Stachowiak  <mjs@apple.com>
1824
1825         Reviewed by Dave Hyatt.
1826         Committed by John Sullivan.
1827
1828         - .5% or so speedup by removing updateWidgetPositions
1829
1830         Instead, widget sizes are calculated in layout and widget positions are set at
1831         paint time, with the same kind of special handling for incremental repaint that
1832         RenderImage does.
1833
1834         * khtml/khtmlview.cpp:
1835         (KHTMLView::layout):
1836         * khtml/rendering/render_form.cpp:
1837         (RenderFormElement::layout):
1838         * khtml/rendering/render_frames.cpp:
1839         (RenderPartObject::layout):
1840         * khtml/rendering/render_frames.h:
1841         * khtml/rendering/render_layer.cpp:
1842         (khtml::RenderLayer::scrollToOffset):
1843         * khtml/rendering/render_object.cpp:
1844         * khtml/rendering/render_object.h:
1845         * khtml/rendering/render_replaced.cpp:
1846         (RenderWidget::layout):
1847         * khtml/rendering/render_replaced.h:
1848
1849 2005-10-17  Maciej Stachowiak  <mjs@apple.com>
1850
1851         Reviewed by Geoff.
1852
1853         Speed up the tokenizer by keeping more state on the stack instead of in the object,
1854         to avoid load-store traffic. About a .5% speedup.
1855
1856         * khtml/html/htmltokenizer.cpp:
1857         (khtml::HTMLTokenizer::HTMLTokenizer):
1858         (khtml::HTMLTokenizer::reset):
1859         (khtml::HTMLTokenizer::begin):
1860         (khtml::HTMLTokenizer::setForceSynchronous):
1861         (khtml::HTMLTokenizer::processListing):
1862         (khtml::HTMLTokenizer::parseSpecial):
1863         (khtml::HTMLTokenizer::scriptHandler):
1864         (khtml::HTMLTokenizer::scriptExecution):
1865         (khtml::HTMLTokenizer::parseComment):
1866         (khtml::HTMLTokenizer::parseServer):
1867         (khtml::HTMLTokenizer::parseProcessingInstruction):
1868         (khtml::HTMLTokenizer::parseText):
1869         (khtml::HTMLTokenizer::parseEntity):
1870         (khtml::HTMLTokenizer::parseTag):
1871         (khtml::HTMLTokenizer::continueProcessing):
1872         (khtml::HTMLTokenizer::write):
1873         (khtml::HTMLTokenizer::allDataProcessed):
1874         (khtml::HTMLTokenizer::end):
1875         (khtml::HTMLTokenizer::finish):
1876         (khtml::HTMLTokenizer::notifyFinished):
1877         (khtml::HTMLTokenizer::isWaitingForScripts):
1878         * khtml/html/htmltokenizer.h:
1879         (khtml::HTMLTokenizer::):
1880         (khtml::HTMLTokenizer::State::State):
1881         (khtml::HTMLTokenizer::State::tagState):
1882         (khtml::HTMLTokenizer::State::setTagState):
1883         (khtml::HTMLTokenizer::State::entityState):
1884         (khtml::HTMLTokenizer::State::setEntityState):
1885         (khtml::HTMLTokenizer::State::inScript):
1886         (khtml::HTMLTokenizer::State::setInScript):
1887         (khtml::HTMLTokenizer::State::inStyle):
1888         (khtml::HTMLTokenizer::State::setInStyle):
1889         (khtml::HTMLTokenizer::State::inSelect):
1890         (khtml::HTMLTokenizer::State::setInSelect):
1891         (khtml::HTMLTokenizer::State::inXmp):
1892         (khtml::HTMLTokenizer::State::setInXmp):
1893         (khtml::HTMLTokenizer::State::inTitle):
1894         (khtml::HTMLTokenizer::State::setInTitle):
1895         (khtml::HTMLTokenizer::State::inPlainText):
1896         (khtml::HTMLTokenizer::State::setInPlainText):
1897         (khtml::HTMLTokenizer::State::inProcessingInstruction):
1898         (khtml::HTMLTokenizer::State::setInProcessingInstruction):
1899         (khtml::HTMLTokenizer::State::inComment):
1900         (khtml::HTMLTokenizer::State::setInComment):
1901         (khtml::HTMLTokenizer::State::inTextArea):
1902         (khtml::HTMLTokenizer::State::setInTextArea):
1903         (khtml::HTMLTokenizer::State::escaped):
1904         (khtml::HTMLTokenizer::State::setEscaped):
1905         (khtml::HTMLTokenizer::State::inServer):
1906         (khtml::HTMLTokenizer::State::setInServer):
1907         (khtml::HTMLTokenizer::State::skipLF):
1908         (khtml::HTMLTokenizer::State::setSkipLF):
1909         (khtml::HTMLTokenizer::State::startTag):
1910         (khtml::HTMLTokenizer::State::setStartTag):
1911         (khtml::HTMLTokenizer::State::discardLF):
1912         (khtml::HTMLTokenizer::State::setDiscardLF):
1913         (khtml::HTMLTokenizer::State::allowYield):
1914         (khtml::HTMLTokenizer::State::setAllowYield):
1915         (khtml::HTMLTokenizer::State::loadingExtScript):
1916         (khtml::HTMLTokenizer::State::setLoadingExtScript):
1917         (khtml::HTMLTokenizer::State::forceSynchronous):
1918         (khtml::HTMLTokenizer::State::setForceSynchronous):
1919         (khtml::HTMLTokenizer::State::inAnySpecial):
1920         (khtml::HTMLTokenizer::State::hasTagState):
1921         (khtml::HTMLTokenizer::State::hasEntityState):
1922         (khtml::HTMLTokenizer::State::):
1923         (khtml::HTMLTokenizer::State::setBit):
1924         (khtml::HTMLTokenizer::State::testBit):
1925         * khtml/rendering/bidi.cpp:
1926         (khtml::RenderBlock::checkLinesForTextOverflow):
1927         * khtml/rendering/render_block.cpp:
1928         (khtml::RenderBlock::updateFirstLetter):
1929         * khtml/rendering/render_flow.cpp:
1930         (RenderFlow::caretRect):
1931         * khtml/rendering/render_line.cpp:
1932         (khtml::EllipsisBox::paint):
1933         * khtml/rendering/render_object.cpp:
1934         (RenderObject::firstLineStyle):
1935         * khtml/rendering/render_object.h:
1936         (khtml::RenderObject::style):
1937
1938 2005-10-17  Maciej Stachowiak  <mjs@apple.com>
1939
1940         - temporarily back out hyatt's recent changes since the tree was closed
1941
1942         * khtml/rendering/render_container.cpp:
1943         (RenderContainer::destroy):
1944         (RenderContainer::destroyChildren):
1945         * khtml/rendering/render_container.h:
1946         * khtml/rendering/render_flow.cpp:
1947         (RenderFlow::destroy):
1948         * khtml/rendering/render_layer.cpp:
1949         (khtml::RenderLayer::isTransparent):
1950         (khtml::RenderLayer::paintLayer):
1951         (khtml::sortByZOrder):
1952         * khtml/rendering/render_layer.h:
1953
1954 2005-10-17  David Hyatt  <hyatt@apple.com>
1955
1956         Fix for bugzilla bug 5283.  Make overflow layers lose to other kinds of
1957         layers if z-index is equivalent.  Technically overflow isn't even supposed
1958         to establish a stacking context, so the use of RenderLayer for overflow,
1959         although elegant and simple, isn't correct.  This patch is essentially a hack
1960         to make the common problem go away, but the deeper mistake remains.
1961         
1962         Reviewed by eseidel
1963
1964         * khtml/rendering/render_layer.cpp:
1965         (khtml::RenderLayer::isTransparent):
1966         (khtml::RenderLayer::paintLayer):
1967         (khtml::isOverflowOnly):
1968         (khtml::compare):
1969         (khtml::sortByZOrder):
1970         * khtml/rendering/render_layer.h:
1971
1972 2005-10-16  David Hyatt  <hyatt@apple.com>
1973
1974         Clean up the deletion of anonymous boxes in the render tree.
1975         Renamed methods to make it more clear and also added comments.
1976         
1977         Reviewed by bdakin
1978
1979         * khtml/rendering/render_container.cpp:
1980         (RenderContainer::destroy):
1981         (RenderContainer::destroyLeftoverAnonymousChildren):
1982         * khtml/rendering/render_container.h:
1983         * khtml/rendering/render_flow.cpp:
1984         (RenderFlow::destroy):
1985
1986 2005-10-15  Maciej Stachowiak  <mjs@apple.com>
1987
1988         Backed out the following changes, since they are in a range that
1989         provably caused a performance regression:
1990
1991         <rdar://problem/4302874> Denver Regression: crash repeatedly reloading www.supermanhomepage.com
1992         <rdar://problem/4302879> Re-land SVG object element fix
1993         <rdar://problem/4302880> Re-land isSameNode change
1994         <rdar://problem/4065748> Repro crash at http://www.vanaqua.org using menu system (KHTMLParser::setCurrent(DOM::NodeImpl*))
1995         
1996         * khtml/ecma/kjs_dom.cpp:
1997         (KJS::DOMNodeProtoFunc::callAsFunction):
1998         * khtml/ecma/kjs_dom.h:
1999         (KJS::DOMNode::):
2000         * khtml/ecma/kjs_events.cpp:
2001         (KJS::JSAbstractEventListener::handleEvent):
2002         * khtml/html/html_objectimpl.cpp:
2003         (DOM::HTMLObjectElementImpl::isImageType):
2004         * khtml/html/htmlparser.cpp:
2005         (HTMLStackElem::HTMLStackElem):
2006         (HTMLParser::popNestedHeaderTag):
2007         (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
2008         (HTMLParser::popOneBlock):
2009         * khtml/xml/dom_nodeimpl.h:
2010         * kwq/DOM.mm:
2011
2012 2005-10-14  Geoffrey Garen  <ggaren@apple.com>
2013
2014         Style change suggested by Darin.
2015
2016         * khtml/html/htmltokenizer.cpp:
2017         (khtml::HTMLTokenizer::scriptHandler): Added "Bugzilla" prefix to bug #.
2018
2019 2005-10-14  Julien Palmas <julien.palmas@mac.com>
2020
2021         Reviewed by eseidel.
2022
2023         Fixed crash when animating unsupported elements.
2024         http://bugzilla.opendarwin.org/show_bug.cgi?id=5336
2025
2026         * ksvg2/svg/SVGAnimationElementImpl.cpp:
2027         (SVGAnimationElementImpl::targetElement):
2028
2029 2005-10-13  Justin Garcia  <justin.garcia@apple.com>
2030
2031         Reviewed by hyatt
2032
2033         <rdar://problem/3643259> contentEditable=true elements do not acquire the caret or focus halo when overflow:scroll
2034
2035         Test cases added:
2036         * fast/clip/outline-overflowClip
2037         Test cases changed (since I added the outline rect to the render tree dump)
2038         * fast/clip/001
2039         * fast/clip/009
2040         * fast/clip/010
2041         * fast/clip/011
2042         * fast/clip/012
2043         * fast/clip/013
2044         * fast/clip/014
2045         * fast/clip/016
2046
2047         * khtml/rendering/render_layer.cpp: 
2048         Clip the outline by a new rect, which is equal to the foreground rect w/o clipping
2049         by the overflow rect.
2050         
2051         (khtml::RenderLayer::paintLayer):
2052         (khtml::RenderLayer::hitTestLayer):
2053         (khtml::RenderLayer::calculateRects):
2054         * khtml/rendering/render_layer.h:
2055         * kwq/KWQRenderTreeDebug.cpp:
2056         (write):
2057         (writeLayers):
2058
2059 2005-10-13  Antti Koivisto  <koivisto@iki.fi>
2060
2061         Reviewed by Darin.
2062
2063         no need to calculate linewidth multiple times in findnextlinebreak()
2064         http://bugzilla.opendarwin.org/show_bug.cgi?id=5319
2065
2066         No test case needed, this is a simple optimization.
2067
2068         * khtml/rendering/bidi.cpp:
2069         (khtml::RenderBlock::findNextLineBreak):
2070
2071 2005-10-13  Geoffrey Garen  <ggaren@apple.com>
2072
2073         - Fixed <rdar://problem/4259434> Safari crashes in HTMLTokenizer::~HTMLTokenizer() 
2074           at http://www.timewarner.com/corp/careers/jobtools_us/index.html
2075
2076         I changed the test for whether to put a script in the "to be executed" queue to
2077         match the test for whether to ref a script, so that scripts can't end up in the
2078         queue without being refed.
2079
2080         I also renamed cachedScript to pendingScripts.
2081
2082         Reviewed by Darin.
2083
2084         No test case because the crash isn't deterministically reproducible.
2085         However, I did add assertions that should catch the underlying bug
2086         in the future.
2087
2088         * khtml/html/htmltokenizer.cpp:
2089         (khtml::HTMLTokenizer::reset):
2090         (khtml::HTMLTokenizer::scriptHandler):
2091         (khtml::HTMLTokenizer::write):
2092         (khtml::HTMLTokenizer::notifyFinished):
2093         * khtml/html/htmltokenizer.h:
2094
2095 2005-10-13  Rob Buis  <rwlbuis@xs4all.nl>
2096
2097         Reviewed by eseidel.
2098
2099         Test cases updated:
2100         * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.checksum:
2101         * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.png:
2102         * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.txt:
2103         * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.checksum:
2104         * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.png:
2105         * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
2106
2107         Fixed <svg> to base %lengths off of the nearest viewbox.
2108         http://bugzilla.opendarwin.org/show_bug.cgi?id=5326
2109
2110         * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
2111         (SVGPreserveAspectRatioImpl::SVGPreserveAspectRatioImpl):
2112         * ksvg2/svg/SVGSVGElementImpl.cpp:
2113         (SVGSVGElementImpl::x):
2114         (SVGSVGElementImpl::y):
2115         (SVGSVGElementImpl::width):
2116         (SVGSVGElementImpl::height):
2117
2118 2005-10-12  Vicki Murley  <vicki@apple.com>
2119
2120         Reviewed by Hyatt.
2121
2122         - fix <rdar://problem/4288266> createElement does not validate names when called in an HTML document (4566)
2123
2124         * khtml/html/html_documentimpl.cpp:
2125         (DOM::HTMLDocumentImpl::createElement): 
2126
2127 2005-10-12  Beth Dakin  <bdakin@apple.com>
2128
2129         Reviewed by Hyatt
2130
2131         Fix for <rdar://problem/4112378> CSS :hover:after crash - khtml::inlineWidth
2132         RenderFlows needed to destroy all of their children within RenderFlow. This
2133         used to happen only in RenderFlow's parent class, RenderContainer. But for
2134         some children to be completely destroyed, the parent flow still needs to be
2135         around. Specifically in the case when there is generated content and a line
2136         break, which maintained a stray reference to the destroyed RenderObject through 
2137         the lineBreakObj() of a RootInlineBox. 
2138
2139         * khtml/rendering/render_container.cpp: 
2140         (RenderContainer::destroy): Took the destruction of children out of destroy(),
2141                                 moved to new function, and only call function when m_first
2142                                 is still around.
2143         (RenderContainer::destroyChildren): New function for destruction of children.
2144         * khtml/rendering/render_container.h:
2145         * khtml/rendering/render_flow.cpp:
2146         (RenderFlow::destroy): Call RenderContainer::destroyChildren() at the beginning.
2147
2148 2005-10-11  Darin Adler  <darin@apple.com>
2149
2150         Reviewed by Eric.
2151
2152         Crash: Drag element with CSS ::Before absolute positioning applied to it
2153         http://bugzilla.opendarwin.org/show_bug.cgi?id=4088
2154
2155         * kwq/KWQKHTMLPart.mm:
2156         (KWQKHTMLPart::khtmlMouseMoveEvent):
2157
2158 2005-10-11  Timothy Hatcher  <timothy@apple.com>
2159
2160         Reviewed by Darin.
2161
2162         workaround for <rdar://problem/4294625> to fix our build
2163         
2164         * kwq/KWQPointArray.h:
2165         * kwq/KWQSize.h:
2166
2167 2005-10-10  Justin Garcia  <justin.garcia@apple.com>
2168
2169         Reviewed by eric
2170         
2171         <rdar://problem/4283218> M-JPEG / Server Push and JavaScript
2172         
2173         Ignore multipart loads in numRequests, call checkCompleted() after each section is complete.
2174
2175         * khtml/misc/loader.cpp:
2176         
2177 2005-10-11  Adele Peterson  <adele@apple.com>
2178
2179         Rolling out fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5195
2180         since it caused:
2181
2182         REGRESSION text areas draw focus ring around each glyph, no caret in text fields
2183         http://bugzilla.opendarwin.org/show_bug.cgi?id=5335
2184
2185         And updated expected results.
2186         * fast/clip/014-expected.checksum: Updated.
2187         * fast/clip/014-expected.png: Updated.
2188
2189         * kwq/KWQTextArea.h:
2190         * kwq/KWQTextArea.mm:
2191         (-[KWQTextAreaTextView displayRectIgnoringOpacity:]):
2192         (-[KWQTextAreaTextView textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
2193         * kwq/KWQTextField.h:
2194         * kwq/KWQTextField.mm:
2195         (-[KWQTextFieldController setInDrawingMachinery:]):
2196         (-[KWQTextFieldController textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
2197         (-[KWQTextField displayRectIgnoringOpacity:]):
2198         (-[KWQSecureTextField displayRectIgnoringOpacity:]):
2199         (-[KWQSearchField displayRectIgnoringOpacity:]):
2200         * kwq/KWQWidget.h:
2201         * kwq/KWQWidget.mm:
2202         (QWidget::QWidget):
2203         (QWidget::~QWidget):
2204         (QWidget::paint):
2205         (QWidget::setDeferFirstResponderChanges):
2206
2207 2005-10-11  Rob Buis  <rwlbuis@xs4all.nl>>
2208
2209         Reviewed by eseidel.
2210
2211         Fix SVGSymbolElementImpl to not warn when inheriting viewbox.
2212         http://bugzilla.opendarwin.org/show_bug.cgi?id=5278
2213
2214         * ksvg2/svg/SVGUseElementImpl.cpp:
2215         (SVGUseElementImpl::close):
2216
2217 2005-10-11  Julien Palmas <julien.palmas@mac.com>
2218
2219         Reviewed by eseidel.
2220
2221         Fixes WebCore+SVG build under gcc 3.3
2222         http://bugzilla.opendarwin.org/show_bug.cgi?id=5301
2223
2224         * WebCore+SVG/DrawCanvasItem.mm:
2225         * WebCore+SVG/DrawView.mm:
2226         (-[DrawDocument drawRect:initWithDrawView:]):
2227         * kwq/KWQSlot.mm:
2228
2229 2005-10-10  Geoffrey Garen  <ggaren@apple.com>
2230
2231         - Fixed <rdar://problem/4245682> Regression: CrashTracer: 923 crashes 
2232           in Safari at com.apple.WebCore: KJS::Window::clear + 132
2233
2234         Reviewed by mjs.
2235
2236         No test case because this crash isn't reliably reproducible.
2237
2238         * khtml/ecma/kjs_window.cpp:
2239         (KJS::Window::Window): Initialize m_returnValueSlot to 0, so that we
2240         know not to write to it until it's explicitly set to a valid address.
2241
2242 2005-10-10  Darin Adler  <darin@apple.com>
2243
2244         Reviewed by Maciej.
2245
2246         - finished fixing http://bugzilla.opendarwin.org/show_bug.cgi?id=5195
2247           Would like API to flush rendering of pending DOM changes
2248
2249         The first half of the fix alone broke DumpRenderTree. Better now.
2250
2251         * kwq/KWQWidget.h: Made paint non-virtual (it had no reason to be virtual in KWQ) and
2252         added an isPainting function.
2253         * kwq/KWQWidget.mm:
2254         (QWidget::QWidget): Added painting boolean (actually a count).
2255         (QWidget::~QWidget): Check that painting is 0 when the widget is destroyed.
2256         (QWidget::paint): Use SPI to draw in a way that works no matter what context we are in.
2257         (QWidget::isPainting): Return true if inside the paint function.
2258
2259         * kwq/KWQTextArea.h: Remove inDrawingMachinery field since we can use isPainting now.
2260         * kwq/KWQTextArea.mm:
2261         (-[KWQTextAreaTextView textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
2262         Use isPainting() instead of inDrawingMachinery. inDrawingMachinery required that we
2263         use displayRectIgnoringOpacity: to paint, which we no longer do.
2264         * kwq/KWQTextField.h: More of the same.
2265         * kwq/KWQTextField.mm:
2266         (-[KWQTextFieldController textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
2267         Ditto.
2268
2269 2005-10-10  Darin Adler  <darin@apple.com>
2270
2271         Reviewed by eseidel.
2272
2273         Mem leak fixes in xslt code.
2274         http://bugzilla.opendarwin.org/show_bug.cgi?id=5320
2275
2276         * khtml/xml/dom_docimpl.cpp:
2277         (DocumentImpl::applyXSLTransform):
2278         (DocumentImpl::setTransformSourceDocument):
2279         * khtml/xml/xml_tokenizer.cpp:
2280         (khtml::parseXMLDocumentFragment):
2281         * khtml/xsl/xslt_processorimpl.cpp:
2282         (DOM::XSLTProcessorImpl::XSLTProcessorImpl):
2283         (DOM::XSLTProcessorImpl::~XSLTProcessorImpl):
2284         (DOM::stylesheetLoadFunc):
2285         (DOM::XSLTProcessorImpl::transformDocument):
2286         (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
2287         * khtml/xsl/xslt_processorimpl.h:
2288         (DOM::XSLTProcessorImpl::stylesheet):
2289         (DOM::XSLTProcessorImpl::sourceDocument):
2290
2291 2005-10-09  David Hyatt  <hyatt@apple.com>
2292
2293         Land fix for bugzilla bug 4974, make sure to only move below floats in line layout if white-space is normal.
2294         One case was using !isPre and including nowrap incorrectly as a result.  Patch from koivisto.
2295         
2296         Reviewed by hyatt
2297
2298         * khtml/rendering/bidi.cpp:
2299         (khtml::RenderBlock::findNextLineBreak):
2300
2301 2005-10-08  Alexey Proskuryakov  <ap@nypop.com>
2302
2303         Reviewed by Maciej.
2304
2305         - support for WebKit fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5187
2306           UTF-8 in long text files breaks at some point
2307
2308         No layout test added: only affects plain text view and requires loading the
2309         file in multiple chunks.
2310
2311         * WebCore.exp: Added WebCoreTextDecoder.
2312         * kwq/WebCoreTextDecoder.h: Added.
2313         * kwq/WebCoreTextDecoder.mm: Added.
2314         * WebCore.xcodeproj/project.pbxproj: Added files, made header private (SPI).
2315
2316 2005-10-08  Alexey Proskuryakov  <ap@nypop.com>
2317
2318         Reviewed by Maciej.
2319
2320         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4821
2321           Text in submitted forms should be entity-encoded if the current encoding doesn't support it
2322
2323         Added one layout test.
2324
2325         * khtml/html/html_formimpl.cpp:
2326         (DOM::HTMLFormElementImpl::formData): Pass true to the fromUnicode function to request entity encoding.
2327         (DOM::FormDataList::appendString): Ditto.
2328
2329         * kwq/KWQTextCodec.h: Add boolean parameter to request entity-style encoding for characters that can't
2330         be expressed in the desired encoding.
2331         * kwq/KWQTextCodec.mm: (QTextCodec::fromUnicode): Added code to entity-encode characters that can't be
2332         expressed in the desired encoding.
2333
2334 2005-10-08  Rosyna  <rosyna@unsanity.com>
2335
2336         Reviewed by Darin.
2337
2338         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3852
2339           typeahead doesn't work in multiple row select boxes.
2340
2341         * kwq/KWQListBox.mm:
2342         (KWQTableViewTypeSelectCallback): Added.
2343         (-[KWQTableView finalize]): Deallocate the UCTypeSelect object.
2344         (-[KWQTableView dealloc]): Ditto.
2345         (-[KWQTableView keyUp:]): If character typed is a graphic character, pass it along to
2346         the UCTypeSelect object and use it to type select, otherwise flush the object.
2347
2348         * manual-tests/select-element-type-select.html: Added.
2349
2350 2005-10-08  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2351
2352         Reviewed by Darin.
2353
2354         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3245
2355           Support the 'bdo' element
2356
2357         Fixes the results of some existing layout tests.
2358
2359         * khtml/xml/dom_elementimpl.h: Add eBDO to the list of entry types so there's a way to
2360         keep <bdo> dir attribute mappings separate from those of other elements.
2361
2362         * khtml/html/html_elementimpl.cpp:
2363         (HTMLElementImpl::mapToEntry): Add special case to use eBDO for the dir attribute on
2364         elements with the <bdo> tag.
2365         (HTMLElementImpl::parseMappedAttribute): Use bidi-override for the unicode-bidi CSS property
2366         when setting it based on the dir attribute on a <bdo> tag. Along with the change above this
2367         obviates the need for an HTMLElementImpl subclass for <bdo>, but we could refactor it that
2368         way later if we decide there's an advantage to doing it that way.
2369
2370         * khtml/css/html4.css: Remove the rules about <bdo>. They are insufficient, and now
2371         they are also unnecessary with the changes above.
2372
2373 2005-10-08  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2374
2375         Reviewed by Darin.
2376
2377         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4898
2378           Failures in dbaron's bidi ordering tests
2379
2380         Added 3 dbaron bidi ordering tests to layout tests.
2381
2382         * khtml/rendering/bidi.cpp:
2383         (khtml::deleteBidiRuns): Set emptyRun back to true.
2384         (khtml::Bidinext): Remove emptyRun checks here.
2385         (khtml::appendRunsForObject): Add a check here to avoid adding an empty run.
2386         (khtml::embed): Add handling for various cases that was missing before.
2387         (khtml::RenderBlock::bidiReorderLine): Many different fixes.
2388
2389 2005-10-08  Rob Buis  <rwlbuis@xs4all.nl>
2390
2391         Reviewed by eseidel.
2392
2393         Almost forgot the layout test for the last commit. ;)
2394         http://bugzilla.opendarwin.org/show_bug.cgi?id=5240
2395
2396         * svg-tests/custom/use-forward-refs-expected.checksum: Added.
2397         * svg-tests/custom/use-forward-refs-expected.png: Added.
2398         * svg-tests/custom/use-forward-refs-expected.txt: Added.
2399         * svg-tests/custom/use-forward-refs.svg: Added.
2400
2401 2005-10-08  Rob Buis  <rwlbuis@xs4all.nl>
2402
2403         Reviewed by eseidel.
2404
2405         Fix to handle forward referencing <use> elements.
2406         http://bugzilla.opendarwin.org/show_bug.cgi?id=5240
2407
2408         * ksvg2/svg/SVGDocumentImpl.cpp:
2409         (SVGDocumentImpl::executeScripts): delayed close.
2410         (SVGDocumentImpl::addForwardReference): new function.
2411         * ksvg2/svg/SVGDocumentImpl.h:
2412         * ksvg2/svg/SVGUseElementImpl.cpp:
2413         (SVGUseElementImpl::close): delay close, if missing reference.
2414
2415 2005-10-07  David Harrison  <harrison@apple.com>
2416
2417         Reviewed by Justin.
2418
2419         "<rdar://problem/4064017> Safari crashes at -[WebCoreBridge firstRectForDOMRange:] + 92"
2420
2421         * khtml/editing/delete_selection_command.cpp:
2422         (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
2423         Do not insert placeholder if selection ends at a BR.
2424         
2425         (khtml::DeleteSelectionCommand::handleGeneralDelete):
2426         No need to preserve starting BR because insertPlaceholderForAncestorBlockContent already did.
2427         
2428         * khtml/xml/dom_position.cpp:
2429         (DOM::Position::upstream):
2430         (DOM::Position::downstream):
2431         Fixed to return original position instead of invisible position when no suitable position found upstream.
2432
2433 2005-10-07  Vicki Murley  <vicki@apple.com>
2434
2435         Reviewed by Hyatt.
2436  
2437         - pass the current form to the isindex constructor, so that isindex doesn't malfunction in the 
2438         case of a misnested form
2439
2440         * khtml/html/htmlparser.cpp:
2441         (HTMLParser::handleIsindex):
2442
2443 2005-10-06  Justin Garcia  <justin.garcia@apple.com>
2444
2445         Reviewed by harrison
2446
2447         <rdar://problem/4073133> Tabbing between editable elements leads to loss of keyboard focus
2448         <rdar://problem/3690719> "Select All" when in an editable area selects the whole containing document
2449         <rdar://problem/3690703> selection is allowed to span editable area and rest of document
2450
2451         * khtml/editing/SelectionController.cpp:
2452         (khtml::SelectionController::adjustExtentForEditableContent): Added.
2453         Ensures that a selection based in an editable element cannot extend outside that element's root editable element.
2454         Also ensures that a selection that's based outside of editable content cannot extend into an editable element.
2455         (khtml::SelectionController::validate):
2456         * khtml/editing/SelectionController.h:
2457         * khtml/editing/visible_position.h:
2458         * khtml/khtml_part.cpp:
2459         (KHTMLPart::setSelection):
2460         (KHTMLPart::setFocusNodeIfNeeded):
2461         (KHTMLPart::selectAll):
2462         If the current selection is inside an editable element, only select the contents of the root editable element.
2463         * khtml/xml/dom_nodeimpl.cpp:
2464         (DOM::ContainerNodeImpl::setFocus): Clicking on an editable element used to change the selection twice.
2465         * kwq/KWQKHTMLPart.mm:
2466         (KWQKHTMLPart::nextKeyViewInFrame): Does a select all when tabbing into an editable element, to match <textarea>s.
2467
2468 2005-10-06  Vicki Murley  <vicki@apple.com>
2469
2470         Reviewed by Beth Dakin.
2471  
2472         - fix <rdar://problem/4288307> <form> element is created for <isindex> outside <form>; that's not correct (4828)
2473
2474         * khtml/html/htmlparser.cpp:
2475         (HTMLParser::handleIsindex): if there's no current form, don't create one
2476
2477 2005-10-06  Beth Dakin  <bdakin@apple.com>
2478
2479         Reviewed by Vicki.
2480
2481         Fix for <rdar://problem/4145535> Crash in khtml::RenderBlock::addOverhangingFloats 
2482         with simple HTML test file.
2483
2484         * khtml/rendering/render_block.cpp: Added nil check
2485         (khtml::RenderBlock::addOverhangingFloats):
2486
2487 2005-10-06  John Sullivan  <sullivan@apple.com>
2488
2489         Reviewed by Beth Dakin.
2490
2491         No test cases added because this does not affect layout.
2492
2493         * kwq/KWQTextArea.mm:
2494         (-[KWQTextAreaTextView setLineHeight:]):
2495         Don't call [textView didChangeText] here, because the text itself did not change.
2496
2497 EW2005-10-06  Beth Dakin  <bdakin@apple.com>
2498
2499         Reviewed by nobody.
2500
2501         Rolling out the assertions I put in place earlier today
2502         because they break the layout tests. 
2503
2504         * khtml/rendering/render_container.cpp:
2505         (RenderContainer::destroy):
2506         * khtml/xml/dom_nodeimpl.cpp:
2507         (DOM::NodeImpl::dispatchEvent):
2508         (DOM::NodeImpl::dispatchGenericEvent):
2509         (DOM::NodeImpl::dispatchHTMLEvent):
2510         (DOM::NodeImpl::dispatchWindowEvent):
2511         (DOM::NodeImpl::dispatchMouseEvent):
2512         (DOM::NodeImpl::dispatchSimulatedMouseEvent):
2513         (DOM::NodeImpl::dispatchUIEvent):
2514         (DOM::NodeImpl::dispatchKeyEvent):
2515         (DOM::NodeImpl::dispatchWheelEvent):
2516         (DOM::NodeImpl::detach):
2517         (DOM::ContainerNodeImpl::insertBefore):
2518         (DOM::ContainerNodeImpl::replaceChild):
2519         (DOM::ContainerNodeImpl::removeChild):
2520         (DOM::ContainerNodeImpl::removeChildren):
2521         (DOM::ContainerNodeImpl::appendChild):
2522         (DOM::ContainerNodeImpl::addChild):
2523         (DOM::ContainerNodeImpl::dispatchChildInsertedEvents):
2524
2525 2005-10-06  Beth Dakin  <bdakin@apple.com>
2526
2527         Reviewed by Dave Harrison
2528
2529         No test cases added because this does not affect layout.
2530
2531         Added assertions to catch WebCore whenever it tries to dispatch an event
2532         while it is modifying the DOM tree. This does not fix any bugs but was 
2533         inspired by 4134884 and 4132581. 
2534
2535         * khtml/rendering/render_container.cpp: Assert that m_first is anonymous
2536         (RenderContainer::destroy):
2537         * khtml/xml/dom_nodeimpl.cpp: Added static int eventDispatchForbidden, and
2538                                         forbidEventDispatch() and allowEventDispatch()
2539                                         to wrap code that modifies the tree.
2540         (DOM::forbidEventDispatch):
2541         (DOM::allowEventDispatch): 
2542         (DOM::NodeImpl::dispatchEvent): Added assertion.
2543         (DOM::NodeImpl::dispatchGenericEvent): Added assertion.
2544         (DOM::NodeImpl::dispatchHTMLEvent): Added assertion.
2545         (DOM::NodeImpl::dispatchWindowEvent): Added assertion.
2546         (DOM::NodeImpl::dispatchMouseEvent): Added assertion.
2547         (DOM::NodeImpl::dispatchSimulatedMouseEvent): Added assertion.
2548         (DOM::NodeImpl::dispatchUIEvent): Added assertion.
2549         (DOM::NodeImpl::dispatchKeyEvent): Added assertion.
2550         (DOM::NodeImpl::dispatchWheelEvent): Added assertion.
2551         (DOM::NodeImpl::detach): Added assertion.
2552         (DOM::ContainerNodeImpl::insertBefore): Wrapped tree-modifying code.
2553         (DOM::ContainerNodeImpl::replaceChild): Wrapped tree-modifying code.
2554         (DOM::ContainerNodeImpl::removeChild): Wrapped tree-modifying code.
2555         (DOM::ContainerNodeImpl::removeChildren): Wrapped tree-modifying code.
2556         (DOM::ContainerNodeImpl::appendChild): Wrapped tree-modifying code.
2557         (DOM::ContainerNodeImpl::addChild): Wrapped tree-modifying code.
2558         (DOM::ContainerNodeImpl::dispatchChildInsertedEvents): Added. assertion. 
2559
2560 2005-10-06  Beth Dakin  <bdakin@apple.com>
2561
2562         Reviewed by Hyatt
2563
2564         No test case added because you need to interact with a page to see this crash. 
2565
2566         Fix for <rdar://problem/3918278> CSS: :hover:before or :hover crashes in 
2567         RenderObject::repaintObjectsBeforeLayout()
2568
2569         * khtml/rendering/render_container.cpp:
2570         (RenderContainer::updatePseudoChild): Deleted call to removeChild() because destroy() takes
2571                                                 care of that, and we don't want to remove the
2572                                                 node before we destroy it anyway, or positioned
2573                                                 objects won't be appropriately deleted. 
2574
2575 2005-10-06  David Harrison  <harrison@apple.com>
2576
2577         Reviewed by hyatt.
2578
2579         No test cases added or changed because this patch does not address a bug.
2580         
2581         Fix two detach/destroy renames I missed yesterday.
2582         
2583         * khtml/rendering/bidi.cpp:
2584         (khtml::BidiRun::destroy):
2585         (khtml::BidiRun::operator delete):
2586         Renamed inBidiRunDetach to inBidiRunDestroy.
2587         
2588         * khtml/rendering/render_layer.cpp:
2589         (khtml::RenderLayer::operator delete):
2590         (khtml::RenderLayer::destroy):
2591         Renamed inRenderLayerDetach to inRenderLayerDestroy.
2592
2593 2005-10-06  Darin Adler  <darin@apple.com>
2594
2595         Reviewed by Hyatt.
2596
2597         - fixed <rdar://problem/3217793> Monaco bold comes out as Helvetica bold, very bad if you choose Monaco as your fixed-width font
2598         - fixed <rdar://problem/3256269> CSS1: bold/italic font styles not programmatically created if font doesn't include them (3231)
2599           also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3231>
2600
2601         * kwq/WebCoreTextRendererFactory.h: Added WebCoreFont structure, and made this header work for
2602         non-Objective-C compiles. Changed all the methods to take and return WebCoreFont instead of
2603         NSFont *.
2604         * kwq/WebCoreTextRendererFactory.mm:
2605         (WebCoreInitializeFont): Added.
2606         (-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]): Updated to use ERROR so we notice
2607         cases where the subclass does not override these methods.
2608         (-[WebCoreTextRendererFactory isFontFixedPitch:]): Ditto.
2609         (-[WebCoreTextRendererFactory rendererWithFont:]): Ditto.
2610
2611         * WebCore.exp: Added WebCoreInititalizeFont.
2612
2613         * kwq/KWQFont.h: Added WebCoreFont support.
2614         * kwq/KWQFont.mm:
2615         (QFont::QFont): Change to use WebCoreFont.
2616         (QFont::~QFont): Ditto.
2617         (QFont::operator=): Ditto.
2618         (QFont::setFamily): Ditto.
2619         (QFont::setFirstFamily): Ditto.
2620         (QFont::setPixelSize): Ditto.
2621         (QFont::setWeight): Ditto.
2622         (QFont::setItalic): Ditto.
2623         (QFont::determinePitch): Ditto.
2624         (QFont::getWebCoreFont): Added.
2625
2626         * kwq/KWQComboBox.mm: (QComboBox::sizeHint): Pass in WebCoreFont when creating text renderer.
2627         * kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getRenderer): Ditto.
2628         * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Ditto.
2629         * kwq/KWQListBox.mm:
2630         (itemTextRenderer): Ditto.
2631         (groupLabelTextRenderer): Ditto.
2632         (QListBox::sizeForNumberOfLines): Changed non-system-font case to use QFont rather than NSFont
2633         to add boldness, so that group label fonts are bolded even if it's synthesiized bold.
2634         (-[KWQTableView drawRow:clipRect:]): Ditto.
2635         * kwq/KWQPainter.mm: (QPainter::_updateRenderer): Pass in WebCoreFont when creating text renderer.
2636
2637 2005-10-05  Vicki Murley  <vicki@apple.com>
2638
2639         Reviewed by Maciej.
2640  
2641         - fix <rdar://problem/4288829> repro crash on isIndex tag with no attributes
2642
2643         * khtml/html/htmlparser.cpp:
2644         (HTMLParser::handleIsindex): only deref attributes if they exist
2645
2646 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
2647
2648         Reviewed by Eric.
2649
2650         <rdar://problem/4150976> Safari crashes in HTMLImageLoader::dispatchLoadEvent() on particular page (archive attached)
2651
2652         I couldn't figure out how to make an automated test for this; even once I got DumpRenderTree
2653         to mouse in and out it did not crash.
2654         
2655         * khtml/html/html_imageimpl.cpp:
2656         (HTMLImageLoader::dispatchLoadEvent): Check if CachedImage is null before using it.
2657
2658 2005-10-05  David Harrison  <harrison@apple.com>
2659
2660         Reviewed by Darin.
2661
2662         No test cases added or changed because this patch does not address a bug.
2663
2664         For clarity, renamed the "detach()" function to "destroy()" in the following classes:
2665         RenderObject (and subclasses),  BidiRun, ClipRects, InlineBox (and subclasses).
2666         
2667         * khtml/rendering/bidi.cpp:
2668         (khtml::BidiRun::destroy):
2669         (khtml::BidiRun::operator delete):
2670         (khtml::deleteBidiRuns):
2671         * khtml/rendering/bidi.h:
2672         * khtml/rendering/render_block.cpp:
2673         (khtml::RenderBlock::removeChild):
2674         (khtml::RenderBlock::updateFirstLetter):
2675         * khtml/rendering/render_box.cpp:
2676         (RenderBox::destroy):
2677         (RenderBox::dirtyLineBoxes):
2678         (RenderBox::position):
2679         (RenderBox::deleteLineBoxWrapper):
2680         * khtml/rendering/render_box.h:
2681         * khtml/rendering/render_container.cpp:
2682         (RenderContainer::destroy):
2683         (RenderContainer::updatePseudoChild):
2684         (RenderContainer::removeLeftoverAnonymousBoxes):
2685         * khtml/rendering/render_container.h:
2686         * khtml/rendering/render_flow.cpp:
2687         (RenderFlow::deleteLineBoxes):
2688         (RenderFlow::destroy):
2689         * khtml/rendering/render_flow.h:
2690         * khtml/rendering/render_form.cpp:
2691         (RenderTextArea::destroy):
2692         * khtml/rendering/render_form.h:
2693         * khtml/rendering/render_layer.cpp:
2694         (khtml::ClipRects::operator delete):
2695         (khtml::ClipRects::destroy):
2696         (khtml::RenderLayer::operator delete):
2697         (khtml::RenderLayer::destroy):
2698         (khtml::RenderLayer::removeOnlyThisLayer):
2699         * khtml/rendering/render_layer.h:
2700         (khtml::ClipRects::deref):
2701         * khtml/rendering/render_line.cpp:
2702         (khtml::InlineBox::destroy):
2703         (khtml::InlineBox::operator delete):
2704         (khtml::InlineBox::deleteLine):
2705         (khtml::InlineFlowBox::deleteLine):
2706         (khtml::RootInlineBox::destroy):
2707         (khtml::RootInlineBox::detachEllipsisBox):
2708         * khtml/rendering/render_line.h:
2709         * khtml/rendering/render_list.cpp:
2710         (RenderListItem::setStyle):
2711         (RenderListItem::destroy):
2712         * khtml/rendering/render_list.h:
2713         * khtml/rendering/render_object.cpp:
2714         (RenderObject::operator delete):
2715         (RenderObject::destroy):
2716         * khtml/rendering/render_object.h:
2717         * khtml/rendering/render_replaced.cpp:
2718         (RenderWidget::destroy):
2719         * khtml/rendering/render_replaced.h:
2720         * khtml/rendering/render_style.cpp:
2721         (RenderStyle::operator delete):
2722         * khtml/rendering/render_table.cpp:
2723         (RenderTableSection::destroy):
2724         (RenderTableRow::destroy):
2725         (RenderTableRow::removeChildNode):
2726         (RenderTableCell::destroy):
2727         * khtml/rendering/render_table.h:
2728         * khtml/rendering/render_text.cpp:
2729         (InlineTextBox::destroy):
2730         (InlineTextBox::operator delete):
2731         (InlineTextBox::deleteLine):
2732         (RenderText::destroy):
2733         (RenderText::deleteTextBoxes):
2734         (RenderText::position):
2735         * khtml/rendering/render_text.h:
2736         * khtml/xml/dom_docimpl.cpp:
2737         (DocumentImpl::detach):
2738         * khtml/xml/dom_nodeimpl.cpp:
2739         (DOM::NodeImpl::detach):
2740
2741 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
2742
2743         Reviewed by Eric.
2744
2745         - fixed <rdar://problem/3798746> hang in JavaScript getting at URL from frame; isc.fraunhofer.de (works in IE and Firefox)
2746         
2747         * khtml/xml/dom_docimpl.h:
2748         (DOM::DocumentImpl::URL): if the URL is empty, return "about:blank", the JS DOM
2749         at least counts on this, so we may as well do it for other languages too.
2750         (DOM::DocumentImpl::baseURL): base it on URL(), not m_url
2751
2752 2005-10-05  Eric Seidel  <eseidel@apple.com>
2753
2754         Reviewed by mjs.
2755
2756         Improves dependency checking so that SVG JavaScript wrapper files
2757         regenerate when the perl scripts change.
2758
2759         * WebCore.xcodeproj/project.pbxproj:
2760
2761 2005-10-05  Eric Seidel  <eseidel@apple.com>
2762
2763         Reviewed by mjs.
2764
2765         Makes <object> tags not use image mode for svg content:
2766         http://bugzilla.opendarwin.org/show_bug.cgi?id=5175
2767
2768         * khtml/html/html_objectimpl.cpp:
2769         (DOM::HTMLObjectElementImpl::isImageType):
2770
2771 2005-10-05  Anders Carlsson  <andersca@mac.com>
2772
2773         Reviewed by Maciej.
2774
2775         * khtml/ecma/kjs_dom.cpp:
2776         (KJS::DOMNodeProtoFunc::callAsFunction):
2777         * khtml/ecma/kjs_dom.h:
2778         Add JS binding for isSameNode.
2779         
2780         (KJS::DOMNode::):
2781         * khtml/xml/dom_nodeimpl.h:
2782         Implement isSameNode.
2783         
2784         (DOM::NodeImpl::isSameNode):
2785         * kwq/DOM.mm:
2786         (-[DOMNode isSameNode:]):
2787         Add ObjC binding for isSameNode.
2788         
2789 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
2790
2791         Reviewed by Eric.
2792
2793         - fixed a random crasher that happens because the HTMLParser accidentally was refing
2794         the document.
2795
2796         <rdar://problem/4065748> Repro crash at http://www.vanaqua.org using menu system (KHTMLParser::setCurrent(DOM::NodeImpl*))
2797         
2798         I couldn't figure out how to make a reproducible test case for this. The failure is
2799         random memory trashing.
2800
2801         * khtml/html/htmlparser.cpp:
2802         (HTMLStackElem::HTMLStackElem):
2803         (HTMLStackElem::~HTMLStackElem):
2804         (HTMLParser::popNestedHeaderTag):
2805         (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
2806         (HTMLParser::popOneBlock):
2807
2808 2005-10-04  Maciej Stachowiak  <mjs@apple.com>
2809
2810         Reviewed by Eric.
2811
2812         <rdar://problem/4285236> Denver Regression: crash repeatedly reloading www.supermanhomepage.com
2813         
2814         I couldn't figure out how to make a reproducible test case for this. The failure is
2815         random memory trashing.
2816
2817         * khtml/ecma/kjs_events.cpp:
2818         (KJS::JSAbstractEventListener::handleEvent): Move an unpaired deref to where it is paired.
2819
2820 2005-10-04  Eric Seidel  <eseidel@apple.com>
2821
2822         Reviewed by mjs.
2823
2824         Support direct named attribute lookkup, like FireFox,IE.
2825         This was causing a JavaScript exception for gap.com
2826         <rdar://problem/4285884> Gap.com throws exception "Undefined value" because of Safari doesn't support indexing into a named node map by name
2827
2828         * khtml/ecma/kjs_dom.cpp:
2829         (KJS::DOMNodeList::getOwnPropertySlot): if cleanup
2830         (KJS::DOMNamedNodeMap::nameGetter):
2831         (KJS::DOMNamedNodeMap::getOwnPropertySlot):
2832         * khtml/ecma/kjs_dom.h: added nameGetter
2833
2834 2005-10-04  Eric Seidel  <eseidel@apple.com>
2835
2836         No review, build fix only.
2837
2838         Fix to include "config.h" in every file.
2839         Necessary to support fastMalloc.
2840         http://bugzilla.opendarwin.org/show_bug.cgi?id=5254
2841
2842         * WebCore+SVG/DrawCanvasItem.mm:
2843         * WebCore+SVG/DrawDocument.mm:
2844         * WebCore+SVG/DrawView.mm:
2845         * WebCore+SVG/dom_kdomdocumentwrapper.cpp:
2846         * WebCore+SVG/dom_kdomnodetreewrapper.cpp:
2847         * WebCore+SVG/render_kcanvaswrapper.cpp:
2848         * WebCore+SVG/xml_kdomtokenizer.cpp:
2849         * kcanvas/KCanvas.cpp:
2850         * kcanvas/KCanvasContainer.cpp:
2851         * kcanvas/KCanvasCreator.cpp:
2852         * kcanvas/KCanvasFilters.cpp:
2853         * kcanvas/KCanvasImage.cpp:
2854         * kcanvas/KCanvasItem.cpp:
2855         * kcanvas/KCanvasMatrix.cpp:
2856         * kcanvas/KCanvasPath.cpp:
2857         * kcanvas/KCanvasRegistry.cpp:
2858         * kcanvas/KCanvasResources.cpp:
2859         * kcanvas/KCanvasTreeDebug.cpp:
2860         * kcanvas/KCanvasView.cpp:
2861         * kcanvas/device/KRenderingDevice.cpp:
2862         * kcanvas/device/KRenderingDeviceFactory.cpp:
2863         * kcanvas/device/KRenderingFillPainter.cpp:
2864         * kcanvas/device/KRenderingPaintServerGradient.cpp:
2865         * kcanvas/device/KRenderingPaintServerImage.cpp:
2866         * kcanvas/device/KRenderingPaintServerPattern.cpp:
2867         * kcanvas/device/KRenderingPaintServerSolid.cpp:
2868         * kcanvas/device/KRenderingStrokePainter.cpp:
2869         * kcanvas/device/KRenderingStyle.cpp:
2870         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2871         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
2872         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
2873         * kcanvas/device/quartz/KCanvasViewQuartz.mm:
2874         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2875         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
2876         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
2877         * kcanvas/device/quartz/QuartzSupport.mm:
2878         * kdom/DOMString.cpp:
2879         * kdom/Helper.cpp:
2880         * kdom/KDOMPart.cpp:
2881         * kdom/KDOMSettings.cpp:
2882         * kdom/KDOMView.cpp:
2883         * kdom/Shared.cpp:
2884         * kdom/backends/libxml/LibXMLParser.cpp:
2885         * kdom/bindings/IDLCodeGeneratorEcmaInterface.pm:
2886         * kdom/bindings/IDLCodeGeneratorJs.pm:
2887         * kdom/cache/ImageSource.cpp:
2888         * kdom/cache/KDOMCache.cpp:
2889         * kdom/cache/KDOMCachedDocument.cpp:
2890         * kdom/cache/KDOMCachedImage.cpp:
2891         * kdom/cache/KDOMCachedObject.cpp:
2892         * kdom/cache/KDOMCachedScript.cpp:
2893         * kdom/cache/KDOMCachedStyleSheet.cpp:
2894         * kdom/cache/KDOMLoader.cpp:
2895         * kdom/core/AttrImpl.cpp:
2896         * kdom/core/CDATASectionImpl.cpp:
2897         * kdom/core/CDFInterface.cpp:
2898         * kdom/core/CharacterDataImpl.cpp:
2899         * kdom/core/CommentImpl.cpp:
2900         * kdom/core/DOMConfigurationImpl.cpp:
2901         * kdom/core/DOMErrorHandlerImpl.cpp:
2902         * kdom/core/DOMErrorImpl.cpp:
2903         * kdom/core/DOMExceptionImpl.cpp:
2904         * kdom/core/DOMImplementationImpl.cpp:
2905         * kdom/core/DOMLocatorImpl.cpp:
2906         * kdom/core/DOMObjectImpl.cpp:
2907         * kdom/core/DOMStringImpl.cpp:
2908         * kdom/core/DOMStringListImpl.cpp:
2909         * kdom/core/DOMUserDataImpl.cpp:
2910         * kdom/core/DocumentFragmentImpl.cpp:
2911         * kdom/core/DocumentImpl.cpp:
2912         * kdom/core/DocumentTypeImpl.cpp:
2913         * kdom/core/ElementImpl.cpp:
2914         * kdom/core/EntityImpl.cpp:
2915         * kdom/core/EntityReferenceImpl.cpp:
2916         * kdom/core/NamedAttrMapImpl.cpp:
2917         * kdom/core/NamedNodeMapImpl.cpp:
2918         * kdom/core/NodeImpl.cpp:
2919         * kdom/core/NodeListImpl.cpp:
2920         * kdom/core/NotationImpl.cpp:
2921         * kdom/core/ProcessingInstructionImpl.cpp:
2922         * kdom/core/TagNodeListImpl.cpp:
2923         * kdom/core/TextImpl.cpp:
2924         * kdom/core/TypeInfoImpl.cpp:
2925         * kdom/core/XMLElementImpl.cpp:
2926         * kdom/css/CSSCharsetRuleImpl.cpp:
2927         * kdom/css/CSSFontFaceRuleImpl.cpp:
2928         * kdom/css/CSSImageValueImpl.cpp:
2929         * kdom/css/CSSImportRuleImpl.cpp:
2930         * kdom/css/CSSMediaRuleImpl.cpp:
2931         * kdom/css/CSSPageRuleImpl.cpp:
2932         * kdom/css/CSSPrimitiveValueImpl.cpp:
2933         * kdom/css/CSSRuleImpl.cpp:
2934         * kdom/css/CSSRuleListImpl.cpp:
2935         * kdom/css/CSSStyleDeclarationImpl.cpp:
2936         * kdom/css/CSSStyleRuleImpl.cpp:
2937         * kdom/css/CSSStyleSelector.cpp:
2938         * kdom/css/CSSStyleSheetImpl.cpp:
2939         * kdom/css/CSSUnknownRuleImpl.cpp:
2940         * kdom/css/CSSValueImpl.cpp:
2941         * kdom/css/CSSValueListImpl.cpp:
2942         * kdom/css/CounterImpl.cpp:
2943         * kdom/css/DocumentCSSImpl.cpp:
2944         * kdom/css/DocumentStyleImpl.cpp:
2945         * kdom/css/KDOMCSSParser.cpp:
2946         * kdom/css/LinkStyleImpl.cpp:
2947         * kdom/css/MediaListImpl.cpp:
2948         * kdom/css/RGBColorImpl.cpp:
2949         * kdom/css/RectImpl.cpp:
2950         * kdom/css/RenderStyle.cpp:
2951         * kdom/css/RenderStyleDefs.cpp:
2952         * kdom/css/StyleBaseImpl.cpp:
2953         * kdom/css/StyleSheetImpl.cpp:
2954         * kdom/css/StyleSheetListImpl.cpp:
2955         * kdom/css/kdomparsercss.y:
2956         * kdom/ecma/Ecma.cpp:
2957         * kdom/ecma/GlobalObject.cpp:
2958         * kdom/ecma/Helper.cpp:
2959         * kdom/ecma/ScriptInterpreter.cpp:
2960         * kdom/events/DocumentEventImpl.cpp:
2961         * kdom/events/EventExceptionImpl.cpp:
2962         * kdom/events/EventImpl.cpp:
2963         * kdom/events/EventListenerImpl.cpp:
2964         * kdom/events/EventTargetImpl.cpp:
2965         * kdom/events/KeyboardEventImpl.cpp:
2966         * kdom/events/MouseEventImpl.cpp:
2967         * kdom/events/MutationEventImpl.cpp:
2968         * kdom/events/RegisteredEventListener.cpp:
2969         * kdom/events/UIEventImpl.cpp:
2970         * kdom/ls/DOMImplementationLSImpl.cpp:
2971         * kdom/ls/LSExceptionImpl.cpp:
2972         * kdom/ls/LSInputImpl.cpp:
2973         * kdom/ls/LSOutputImpl.cpp:
2974         * kdom/ls/LSParserFilterImpl.cpp:
2975         * kdom/ls/LSParserImpl.cpp:
2976         * kdom/ls/LSResourceResolverImpl.cpp:
2977         * kdom/ls/LSSerializerFilterImpl.cpp:
2978         * kdom/ls/LSSerializerImpl.cpp:
2979         * kdom/parser/KDOMDocumentBuilder.cpp:
2980         * kdom/parser/KDOMParser.cpp:
2981         * kdom/range/DocumentRangeImpl.cpp:
2982         * kdom/range/RangeExceptionImpl.cpp:
2983         * kdom/range/RangeImpl.cpp:
2984         * kdom/traversal/DocumentTraversalImpl.cpp:
2985         * kdom/traversal/NodeFilterImpl.cpp:
2986         * kdom/traversal/NodeIteratorImpl.cpp:
2987         * kdom/traversal/TraversalImpl.cpp:
2988         * kdom/traversal/TreeWalkerImpl.cpp:
2989         * kdom/views/AbstractViewImpl.cpp:
2990         * kdom/views/DocumentViewImpl.cpp:
2991         * kdom/xpath/XPathEvaluatorImpl.cpp:
2992         * kdom/xpath/XPathExceptionImpl.cpp:
2993         * kdom/xpath/XPathExpressionImpl.cpp:
2994         * kdom/xpath/XPathNSResolverImpl.cpp:
2995         * kdom/xpath/XPathNamespaceImpl.cpp:
2996         * kdom/xpath/XPathResultImpl.cpp:
2997         * kdom/xpath/impl/expression.cpp:
2998         * kdom/xpath/impl/functions.cpp:
2999         * kdom/xpath/impl/parsedstatement.cpp:
3000         * kdom/xpath/impl/path.cpp:
3001         * kdom/xpath/impl/predicate.cpp:
3002         * kdom/xpath/impl/step.cpp:
3003         * kdom/xpath/impl/tokenizer.cpp:
3004         * kdom/xpath/impl/util.cpp:
3005         * kdom/xpath/impl/variablereference.cpp:
3006         * kdom/xpath/impl/xpath.y:
3007         * kdom/xpointer/ElementSchemeImpl.cpp:
3008         * kdom/xpointer/NBCImpl.cpp:
3009         * kdom/xpointer/PointerPartImpl.cpp:
3010         * kdom/xpointer/ShortHandImpl.cpp:
3011         * kdom/xpointer/XMLNSSchemeImpl.cpp:
3012         * kdom/xpointer/XPath1SchemeImpl.cpp:
3013         * kdom/xpointer/XPointerEvaluatorImpl.cpp:
3014         * kdom/xpointer/XPointerExceptionImpl.cpp:
3015         * kdom/xpointer/XPointerExpressionImpl.cpp:
3016         * kdom/xpointer/XPointerHelper.cpp:
3017         * kdom/xpointer/XPointerResultImpl.cpp:
3018         * kdom/xpointer/XPointerSchemeImpl.cpp:
3019         * ksvg2/KSVGFactory.cpp:
3020         * ksvg2/KSVGSettings.cpp:
3021         * ksvg2/KWQKSVGPart.mm:
3022         * ksvg2/KWQKSVGView.mm:
3023         * ksvg2/css/KSVGCSSParser.cpp:
3024         * ksvg2/css/SVGCSSStyleDeclarationImpl.cpp:
3025         * ksvg2/css/SVGCSSStyleSelector.cpp:
3026         * ksvg2/css/SVGCSSStyleSheetImpl.cpp:
3027         * ksvg2/css/SVGRenderStyle.cpp:
3028         * ksvg2/css/SVGRenderStyleDefs.cpp:
3029         * ksvg2/ecma/Ecma.cpp:
3030         * ksvg2/ecma/GlobalObject.cpp:
3031         * ksvg2/events/SVGEventImpl.cpp:
3032         * ksvg2/events/SVGZoomEventImpl.cpp:
3033         * ksvg2/misc/KCanvasRenderingStyle.cpp:
3034         * ksvg2/misc/KSVGDocumentBuilder.cpp:
3035         * ksvg2/misc/KSVGTimeScheduler.cpp:
3036         * ksvg2/svg/CDFInterface.cpp:
3037         * ksvg2/svg/SVGAElementImpl.cpp:
3038         * ksvg2/svg/SVGAngleImpl.cpp:
3039         * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
3040         * ksvg2/svg/SVGAnimateElementImpl.cpp:
3041         * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
3042         * ksvg2/svg/SVGAnimatedAngleImpl.cpp:
3043         * ksvg2/svg/SVGAnimatedBooleanImpl.cpp:
3044         * ksvg2/svg/SVGAnimatedEnumerationImpl.cpp:
3045         * ksvg2/svg/SVGAnimatedIntegerImpl.cpp:
3046         * ksvg2/svg/SVGAnimatedLengthImpl.cpp:
3047         * ksvg2/svg/SVGAnimatedLengthListImpl.cpp:
3048         * ksvg2/svg/SVGAnimatedNumberImpl.cpp:
3049         * ksvg2/svg/SVGAnimatedNumberListImpl.cpp:
3050         * ksvg2/svg/SVGAnimatedPathDataImpl.cpp:
3051         * ksvg2/svg/SVGAnimatedPointsImpl.cpp:
3052         * ksvg2/svg/SVGAnimatedPreserveAspectRatioImpl.cpp:
3053         * ksvg2/svg/SVGAnimatedRectImpl.cpp:
3054         * ksvg2/svg/SVGAnimatedStringImpl.cpp:
3055         * ksvg2/svg/SVGAnimatedTransformListImpl.cpp:
3056         * ksvg2/svg/SVGAnimationElementImpl.cpp:
3057         * ksvg2/svg/SVGCircleElementImpl.cpp:
3058         * ksvg2/svg/SVGClipPathElementImpl.cpp:
3059         * ksvg2/svg/SVGColorImpl.cpp:
3060         * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
3061         * ksvg2/svg/SVGCursorElementImpl.cpp:
3062         * ksvg2/svg/SVGDOMImplementationImpl.cpp:
3063         * ksvg2/svg/SVGDefsElementImpl.cpp:
3064         * ksvg2/svg/SVGDescElementImpl.cpp:
3065         * ksvg2/svg/SVGDocumentImpl.cpp:
3066         * ksvg2/svg/SVGElementImpl.cpp:
3067         * ksvg2/svg/SVGElementInstanceImpl.cpp:
3068         * ksvg2/svg/SVGElementInstanceListImpl.cpp:
3069         * ksvg2/svg/SVGEllipseElementImpl.cpp:
3070         * ksvg2/svg/SVGExceptionImpl.cpp:
3071         * ksvg2/svg/SVGExternalResourcesRequiredImpl.cpp:
3072         * ksvg2/svg/SVGFEBlendElementImpl.cpp:
3073         * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
3074         * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
3075         * ksvg2/svg/SVGFECompositeElementImpl.cpp:
3076         * ksvg2/svg/SVGFEFloodElementImpl.cpp:
3077         * ksvg2/svg/SVGFEFuncAElementImpl.cpp:
3078         * ksvg2/svg/SVGFEFuncBElementImpl.cpp:
3079         * ksvg2/svg/SVGFEFuncGElementImpl.cpp:
3080         * ksvg2/svg/SVGFEFuncRElementImpl.cpp:
3081         * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
3082         * ksvg2/svg/SVGFEImageElementImpl.cpp:
3083         * ksvg2/svg/SVGFEMergeElementImpl.cpp:
3084         * ksvg2/svg/SVGFEMergeNodeElementImpl.cpp:
3085         * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
3086         * ksvg2/svg/SVGFETileElementImpl.cpp:
3087         * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
3088         * ksvg2/svg/SVGFilterElementImpl.cpp:
3089         * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
3090         * ksvg2/svg/SVGFitToViewBoxImpl.cpp:
3091         * ksvg2/svg/SVGGElementImpl.cpp:
3092         * ksvg2/svg/SVGGradientElementImpl.cpp:
3093         * ksvg2/svg/SVGHelper.cpp:
3094         * ksvg2/svg/SVGImageElementImpl.cpp:
3095         * ksvg2/svg/SVGLangSpaceImpl.cpp:
3096         * ksvg2/svg/SVGLengthImpl.cpp:
3097         * ksvg2/svg/SVGLengthListImpl.cpp:
3098         * ksvg2/svg/SVGLineElementImpl.cpp:
3099         * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
3100         * ksvg2/svg/SVGLocatableImpl.cpp:
3101         * ksvg2/svg/SVGMarkerElementImpl.cpp:
3102         * ksvg2/svg/SVGMatrixImpl.cpp:
3103         * ksvg2/svg/SVGNumberImpl.cpp:
3104         * ksvg2/svg/SVGNumberListImpl.cpp:
3105         * ksvg2/svg/SVGPaintImpl.cpp:
3106         * ksvg2/svg/SVGPathElementImpl.cpp:
3107         * ksvg2/svg/SVGPathSegArcImpl.cpp:
3108         * ksvg2/svg/SVGPathSegClosePathImpl.cpp:
3109         * ksvg2/svg/SVGPathSegCurvetoCubicImpl.cpp:
3110         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothImpl.cpp:
3111         * ksvg2/svg/SVGPathSegCurvetoQuadraticImpl.cpp:
3112         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothImpl.cpp:
3113         * ksvg2/svg/SVGPathSegImpl.cpp:
3114         * ksvg2/svg/SVGPathSegLinetoHorizontalImpl.cpp:
3115         * ksvg2/svg/SVGPathSegLinetoImpl.cpp:
3116         * ksvg2/svg/SVGPathSegLinetoVerticalImpl.cpp:
3117         * ksvg2/svg/SVGPathSegListImpl.cpp:
3118         * ksvg2/svg/SVGPathSegMovetoImpl.cpp:
3119         * ksvg2/svg/SVGPatternElementImpl.cpp:
3120         * ksvg2/svg/SVGPointImpl.cpp:
3121         * ksvg2/svg/SVGPointListImpl.cpp:
3122         * ksvg2/svg/SVGPolyElementImpl.cpp:
3123         * ksvg2/svg/SVGPolygonElementImpl.cpp:
3124         * ksvg2/svg/SVGPolylineElementImpl.cpp:
3125         * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
3126         * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
3127         * ksvg2/svg/SVGRectElementImpl.cpp:
3128         * ksvg2/svg/SVGRectImpl.cpp:
3129         * ksvg2/svg/SVGSVGElementImpl.cpp:
3130         * ksvg2/svg/SVGScriptElementImpl.cpp:
3131         * ksvg2/svg/SVGSetElementImpl.cpp:
3132         * ksvg2/svg/SVGStopElementImpl.cpp:
3133         * ksvg2/svg/SVGStringListImpl.cpp:
3134         * ksvg2/svg/SVGStylableImpl.cpp:
3135         * ksvg2/svg/SVGStyleElementImpl.cpp:
3136         * ksvg2/svg/SVGStyledElementImpl.cpp:
3137         * ksvg2/svg/SVGSwitchElementImpl.cpp:
3138         * ksvg2/svg/SVGSymbolElementImpl.cpp:
3139         * ksvg2/svg/SVGTSpanElementImpl.cpp:
3140         * ksvg2/svg/SVGTestsImpl.cpp:
3141         * ksvg2/svg/SVGTextContentElementImpl.cpp:
3142         * ksvg2/svg/SVGTextElementImpl.cpp:
3143         * ksvg2/svg/SVGTextPositioningElementImpl.cpp:
3144         * ksvg2/svg/SVGTitleElementImpl.cpp:
3145         * ksvg2/svg/SVGTransformImpl.cpp:
3146         * ksvg2/svg/SVGTransformListImpl.cpp:
3147         * ksvg2/svg/SVGTransformableImpl.cpp:
3148         * ksvg2/svg/SVGURIReferenceImpl.cpp:
3149         * ksvg2/svg/SVGUseElementImpl.cpp:
3150         * ksvg2/svg/SVGViewElementImpl.cpp:
3151         * ksvg2/svg/SVGZoomAndPanImpl.cpp:
3152         * ksvg2/svg/svgpathparser.cpp:
3153
3154 2005-10-03  Eric Seidel  <eseidel@apple.com>
3155
3156         Reviewed by mjs.
3157
3158         Fixed AbstractView toString(), by giving it a prototype.
3159         <rdar://problem/4233558> toString on event.view Object fails with "No Default Value" in console
3160
3161         * khtml/ecma/kjs_views.cpp:
3162         (KJS::DOMAbstractView::DOMAbstractView): sets prototype
3163         (KJS::DOMAbstractView::getOwnPropertySlot): now getStaticValue
3164         (KJS::DOMAbstractViewProtoFunc::callAsFunction): renamed
3165         * khtml/ecma/kjs_views.h:
3166
3167 2005-10-03  David Hyatt  <hyatt@apple.com>
3168
3169         Fix regression caused by variable->auto change.  Accidentally removed a line of code from calcWidthUsing.
3170         
3171         Reviewed by mjs
3172
3173         * khtml/rendering/render_box.cpp:
3174         (RenderBox::calcWidthUsing):
3175
3176 2005-10-03  Justin Garcia  <justin.garcia@apple.com>
3177
3178         Reviewed by darin
3179         
3180         <rdar://problem/4060947> Safari crashes trying to save PDF file as web archive (NULL KHTMLPart)
3181
3182         * kwq/WebCoreBridge.mm:
3183         (+[WebCoreBridge bridgeForDOMDocument:]):
3184         Added a check for a null part.
3185
3186 2005-10-03  Justin Garcia  <justin.garcia@apple.com>
3187
3188         Reviewed by geoff, darin
3189
3190         * khtml/khtml_part.cpp:
3191         (KHTMLPart::handleFallbackContent):
3192         Don't handle fallback content for <embed> tags.
3193
3194 2005-10-03  Maciej Stachowiak  <mjs@apple.com>
3195
3196         - add missing config.h
3197
3198         * khtml/config.h: Added.
3199
3200 2005-10-03  Maciej Stachowiak  <mjs@apple.com>
3201
3202         Reviewed by Darin.
3203
3204         http://bugzilla.opendarwin.org/show_bug.cgi?id=5180
3205         event.stopPropagation() prevents the default action - it shouldn't
3206
3207         Amusingly this bug existed in 3 different places.
3208
3209         * khtml/ecma/kjs_events.cpp:
3210         (KJS::DOMEventProtoFunc::callAsFunction): Don't let stopPropagation fall through
3211         to preventDefault.
3212         * khtml/html/html_formimpl.cpp:
3213         (DOM::HTMLInputElementImpl::postDispatchEventHandler): Only consider preventDefault
3214         for purposes of reverting checkbox/radiobutton state change, not stopPropagation.
3215         * khtml/xml/dom_nodeimpl.cpp:
3216         (DOM::NodeImpl::dispatchGenericEvent): Don't let stopPropagation prevent calling
3217         default event handlers; only preventDefault does that.
3218
3219 2005-09-28  Maciej Stachowiak  <mjs@apple.com>
3220
3221         Reviewed by Darin.
3222
3223         <rdar://problem/4283967> REGRESSION: 3% regression on PLT from new FastMalloc
3224         http://bugzilla.opendarwin.org/show_bug.cgi?id=5243
3225         
3226         - use fastMalloc for everything - it now gets applied to all new/delete allocations
3227         via a private inline operator new that is now included into every file via config.h
3228
3229         * WebCore.xcodeproj/project.pbxproj:
3230         * WebCorePrefix.h:
3231         * khtml/css/css_base.cpp:
3232         * khtml/css/css_base.h:
3233         * khtml/css/css_computedstyle.cpp:
3234         * khtml/css/css_ruleimpl.cpp:
3235         * khtml/css/css_stylesheetimpl.cpp:
3236         * khtml/css/css_valueimpl.cpp:
3237         * khtml/css/css_valueimpl.h:
3238         * khtml/css/csshelper.cpp:
3239         * khtml/css/cssparser.cpp:
3240         (ValueList::ValueList):
3241         (ValueList::~ValueList):
3242         (ValueList::addValue):
3243         (CSSParser::CSSParser):
3244         (CSSParser::~CSSParser):
3245         (CSSParser::setupParser):
3246         (CSSParser::addProperty):
3247         * khtml/css/cssstyleselector.cpp:
3248         * khtml/css/cssstyleselector.h:
3249         * khtml/dom/dom2_events.cpp:
3250         * khtml/dom/dom2_traversal.cpp:
3251         * khtml/dom/dom_misc.cpp:
3252         * khtml/dom/dom_string.cpp:
3253         * khtml/ecma/domparser.cpp:
3254         * khtml/ecma/kjs_binding.cpp:
3255         * khtml/ecma/kjs_css.cpp:
3256         * khtml/ecma/kjs_dom.cpp:
3257         * khtml/ecma/kjs_events.cpp:
3258         * khtml/ecma/kjs_html.cpp:
3259         (KJS::KJS::Context2DFunction::callAsFunction):
3260         (KJS::Gradient::~Gradient):
3261         (KJS::Gradient::addColorStop):
3262         (KJS::Gradient::colorStops):
3263         * khtml/ecma/kjs_navigator.cpp:
3264         * khtml/ecma/kjs_proxy.cpp:
3265         * khtml/ecma/kjs_range.cpp:
3266         * khtml/ecma/kjs_traversal.cpp:
3267         * khtml/ecma/kjs_views.cpp:
3268         * khtml/ecma/kjs_window.cpp:
3269         * khtml/ecma/xmlhttprequest.cpp:
3270         * khtml/ecma/xmlserializer.cpp:
3271         * khtml/editing/SelectionController.cpp:
3272         * khtml/editing/append_node_command.cpp:
3273         * khtml/editing/apply_style_command.cpp:
3274         * khtml/editing/break_blockquote_command.cpp:
3275         * khtml/editing/composite_edit_command.cpp:
3276         * khtml/editing/delete_from_text_node_command.cpp:
3277         * khtml/editing/delete_selection_command.cpp:
3278         * khtml/editing/edit_command.cpp:
3279         * khtml/editing/html_interchange.cpp:
3280         * khtml/editing/htmlediting.cpp:
3281         * khtml/editing/insert_into_text_node_command.cpp:
3282         * khtml/editing/insert_line_break_command.cpp:
3283         * khtml/editing/insert_node_before_command.cpp:
3284         * khtml/editing/insert_paragraph_separator_command.cpp:
3285         * khtml/editing/insert_text_command.cpp:
3286         * khtml/editing/join_text_nodes_command.cpp:
3287         * khtml/editing/jsediting.cpp:
3288         * khtml/editing/markup.cpp:
3289         * khtml/editing/merge_identical_elements_command.cpp:
3290         * khtml/editing/move_selection_command.cpp:
3291         * khtml/editing/rebalance_whitespace_command.cpp:
3292         * khtml/editing/remove_css_property_command.cpp:
3293         * khtml/editing/remove_node_attribute_command.cpp:
3294         * khtml/editing/remove_node_command.cpp:
3295         * khtml/editing/remove_node_preserving_children_command.cpp:
3296         * khtml/editing/replace_selection_command.cpp:
3297         * khtml/editing/set_node_attribute_command.cpp:
3298         * khtml/editing/split_element_command.cpp:
3299         * khtml/editing/split_text_node_command.cpp:
3300         * khtml/editing/split_text_node_containing_element.cpp:
3301         * khtml/editing/typing_command.cpp:
3302         * khtml/editing/visible_position.cpp:
3303         * khtml/editing/visible_range.cpp:
3304         * khtml/editing/visible_text.cpp:
3305         (khtml::CircularSearchBuffer::~CircularSearchBuffer):
3306         (khtml::CircularSearchBuffer::CircularSearchBuffer):
3307         * khtml/editing/visible_units.cpp:
3308         * khtml/editing/wrap_contents_in_dummy_span_command.cpp:
3309         * khtml/html/html_baseimpl.cpp:
3310         * khtml/html/html_blockimpl.cpp:
3311         * khtml/html/html_canvasimpl.cpp:
3312         * khtml/html/html_documentimpl.cpp:
3313         * khtml/html/html_elementimpl.cpp:
3314         * khtml/html/html_formimpl.cpp:
3315         * khtml/html/html_headimpl.cpp:
3316         * khtml/html/html_imageimpl.cpp:
3317         * khtml/html/html_inlineimpl.cpp:
3318         * khtml/html/html_listimpl.cpp:
3319         * khtml/html/html_miscimpl.cpp:
3320         * khtml/html/html_objectimpl.cpp:
3321         * khtml/html/html_tableimpl.cpp:
3322         * khtml/html/htmlfactory.cpp:
3323         * khtml/html/htmlnames.cpp:
3324         * khtml/html/htmlparser.cpp:
3325         * khtml/html/htmltokenizer.cpp:
3326         (khtml::HTMLTokenizer::enlargeBuffer):
3327         (khtml::HTMLTokenizer::enlargeScriptBuffer):
3328         * khtml/khtml_events.cpp:
3329         * khtml/khtml_part.cpp:
3330         * khtml/khtmlview.cpp:
3331         * khtml/misc/arena.cpp:
3332         * khtml/misc/arena.h:
3333         * khtml/misc/decoder.cpp:
3334         * khtml/misc/formdata.cpp:
3335         * khtml/misc/helper.cpp:
3336         * khtml/misc/loader.cpp:
3337         * khtml/misc/stringit.cpp:
3338         * khtml/rendering/bidi.cpp:
3339         * khtml/rendering/break_lines.cpp:
3340         * khtml/rendering/font.cpp:
3341         * khtml/rendering/render_arena.cpp:
3342         * khtml/rendering/render_block.cpp:
3343         * khtml/rendering/render_box.cpp:
3344         * khtml/rendering/render_br.cpp:
3345         * khtml/rendering/render_canvas.cpp:
3346         * khtml/rendering/render_canvasimage.cpp:
3347         (RenderCanvasImage::~RenderCanvasImage):
3348         (RenderCanvasImage::createDrawingContext):
3349         * khtml/rendering/render_container.cpp:
3350         * khtml/rendering/render_flexbox.cpp:
3351         * khtml/rendering/render_flow.cpp:
3352         * khtml/rendering/render_form.cpp:
3353         * khtml/rendering/render_frames.cpp:
3354         * khtml/rendering/render_image.cpp:
3355         * khtml/rendering/render_inline.cpp:
3356         * khtml/rendering/render_layer.cpp:
3357         * khtml/rendering/render_line.cpp:
3358         * khtml/rendering/render_list.cpp:
3359         * khtml/rendering/render_object.cpp:
3360         * khtml/rendering/render_replaced.cpp:
3361         * khtml/rendering/render_style.cpp:
3362         * khtml/rendering/render_style.h:
3363         * khtml/rendering/render_table.cpp:
3364         * khtml/rendering/render_text.cpp:
3365         * khtml/rendering/render_theme.cpp:
3366         * khtml/rendering/render_theme_mac.mm:
3367         * khtml/rendering/table_layout.cpp:
3368         * khtml/xbl/xbl_binding.cpp:
3369         * khtml/xbl/xbl_binding_manager.cpp:
3370         * khtml/xbl/xbl_docimpl.cpp:
3371         * khtml/xbl/xbl_protobinding.cpp:
3372         * khtml/xbl/xbl_protohandler.cpp:
3373         * khtml/xbl/xbl_protoimplementation.cpp:
3374         * khtml/xbl/xbl_tokenizer.cpp:
3375         * khtml/xml/EventNames.cpp:
3376         * khtml/xml/dom2_eventsimpl.cpp:
3377         * khtml/xml/dom2_eventsimpl.h:
3378         * khtml/xml/dom2_rangeimpl.cpp:
3379         * khtml/xml/dom2_rangeimpl.h:
3380         * khtml/xml/dom2_traversalimpl.cpp:
3381         * khtml/xml/dom2_traversalimpl.h:
3382         * khtml/xml/dom2_viewsimpl.cpp:
3383         * khtml/xml/dom2_viewsimpl.h:
3384         * khtml/xml/dom_atomicstring.cpp:
3385         * khtml/xml/dom_docimpl.cpp:
3386         * khtml/xml/dom_docimpl.h:
3387         * khtml/xml/dom_elementimpl.cpp:
3388         * khtml/xml/dom_elementimpl.h:
3389         * khtml/xml/dom_nodeimpl.cpp:
3390         * khtml/xml/dom_nodeimpl.h:
3391         * khtml/xml/dom_position.cpp:
3392         * khtml/xml/dom_qname.cpp:
3393         * khtml/xml/dom_stringimpl.cpp:
3394         * khtml/xml/dom_stringimpl.h:
3395         * khtml/xml/dom_textimpl.cpp:
3396         * khtml/xml/dom_xmlimpl.cpp:
3397         * khtml/xml/xml_tokenizer.cpp:
3398         * khtml/xsl/xsl_stylesheetimpl.cpp:
3399         * khtml/xsl/xslt_processorimpl.cpp:
3400         * kwq/DOM-CSS.mm:
3401         * kwq/DOM.mm:
3402         * kwq/DOMEvents.mm:
3403         * kwq/DOMHTML.mm:
3404         * kwq/DOMInternal.mm:
3405         (DOMString::DOMString):
3406         * kwq/DOMUtility.mm:
3407         * kwq/DOMViews.mm:
3408         * kwq/KWQAccObject.mm:
3409         * kwq/KWQAccObjectCache.mm:
3410         * kwq/KWQApplication.mm:
3411         * kwq/KWQArrayImpl.h:
3412         * kwq/KWQArrayImpl.mm:
3413         * kwq/KWQBuffer.mm:
3414         * kwq/KWQButton.mm:
3415         * kwq/KWQCString.mm:
3416         * kwq/KWQCharsets.mm:
3417         * kwq/KWQClipboard.mm:
3418         * kwq/KWQCollection.mm:
3419         * kwq/KWQColor.mm:
3420         * kwq/KWQComboBox.mm:
3421         * kwq/KWQCursor.mm:
3422         * kwq/KWQDateTime.mm:
3423         * kwq/KWQDictImpl.mm:
3424         * kwq/KWQEditCommand.mm:
3425         * kwq/KWQEvent.mm:
3426         * kwq/KWQExceptions.mm:
3427         * kwq/KWQFile.mm:
3428         * kwq/KWQFileButton.mm:
3429         * kwq/KWQFont.mm:
3430         * kwq/KWQFontFamily.h:
3431         * kwq/KWQFontFamily.mm:
3432         * kwq/KWQFontMetrics.mm:
3433         * kwq/KWQFormData.mm:
3434         * kwq/KWQFrame.mm:
3435         * kwq/KWQGlobal.mm:
3436         * kwq/KWQGuardedPtr.mm:
3437         * kwq/KWQKCharsets.mm:
3438         * kwq/KWQKConfigBase.mm:
3439         * kwq/KWQKCookieJar.mm:
3440         * kwq/KWQKCursor.mm:
3441         * kwq/KWQKGlobal.mm:
3442         * kwq/KWQKGlobalSettings.mm:
3443         * kwq/KWQKHTMLFactory.mm:
3444         * kwq/KWQKHTMLPart.cpp:
3445         * kwq/KWQKHTMLPart.mm:
3446         * kwq/KWQKHTMLPartBrowserExtension.mm:
3447         * kwq/KWQKHTMLView.mm:
3448         * kwq/KWQKHistoryProvider.mm:
3449         * kwq/KWQKJavaAppletWidget.mm:
3450         * kwq/KWQKJob.mm:
3451         * kwq/KWQKJobClasses.mm:
3452         * kwq/KWQKLocale.mm:
3453         * kwq/KWQKPartsBrowserInterface.mm:
3454         * kwq/KWQKPartsEvent.mm:
3455         * kwq/KWQKPartsPart.mm:
3456         * kwq/KWQKSSLKeyGen.mm:
3457         * kwq/KWQKStandardDirs.mm:
3458         * kwq/KWQKStringHandler.mm:
3459         * kwq/KWQKURL.mm:
3460         (KURL::KURL):
3461         (KURL::decode_string):
3462         (KURL::parse):
3463         (KURL::encode_string):
3464         (encodeRelativeString):
3465         * kwq/KWQKWin.mm:
3466         * kwq/KWQKWinModule.mm:
3467         * kwq/KWQLabel.mm:
3468         * kwq/KWQLineEdit.mm:
3469         * kwq/KWQListBox.mm:
3470         * kwq/KWQListImpl.mm:
3471         * kwq/KWQLoader.mm:
3472         (KWQIsResponseURLEqualToURL):
3473         * kwq/KWQMapImpl.h:
3474         * kwq/KWQMapImpl.mm:
3475         * kwq/KWQMovie.mm:
3476         * kwq/KWQObject.mm:
3477         * kwq/KWQPageState.mm:
3478         * kwq/KWQPaintDeviceMetrics.mm:
3479         * kwq/KWQPainter.mm:
3480         * kwq/KWQPalette.mm:
3481         * kwq/KWQPen.mm:
3482         * kwq/KWQPixmap.mm:
3483         * kwq/KWQPoint.mm:
3484         * kwq/KWQPointArray.mm:
3485         * kwq/KWQPtrDictImpl.mm:
3486         * kwq/KWQPushButton.mm:
3487         * kwq/KWQRect.mm:
3488         * kwq/KWQRegExp.mm:
3489         * kwq/KWQRegion.mm:
3490         * kwq/KWQRenderTreeDebug.cpp:
3491         * kwq/KWQResourceLoader.mm:
3492         * kwq/KWQScrollBar.mm:
3493         * kwq/KWQScrollView.mm:
3494         * kwq/KWQSignal.mm:
3495         * kwq/KWQSignalStubs.mm:
3496         * kwq/KWQSize.mm:
3497         * kwq/KWQSlider.mm:
3498         * kwq/KWQSlot.mm:
3499         * kwq/KWQString.h:
3500         * kwq/KWQString.mm:
3501         (ALLOC_CHAR):
3502         (REALLOC_CHAR):
3503         (DELETE_CHAR):
3504         (ALLOC_QCHAR):
3505         (REALLOC_QCHAR):
3506         (DELETE_QCHAR):
3507         (_printQStringAllocationStatistics):
3508         (allocateHandle):
3509         (KWQStringData::operator new):
3510         (KWQStringData::operator delete):
3511         (freeHandle):
3512         * kwq/KWQStringList.mm:
3513         * kwq/KWQStyle.mm:
3514         * kwq/KWQTextArea.mm:
3515         * kwq/KWQTextCodec.mm:
3516         * kwq/KWQTextEdit.mm:
3517         * kwq/KWQTextField.mm:
3518         * kwq/KWQTextStream.mm:
3519         * kwq/KWQTextUtilities.mm:
3520         * kwq/KWQTimer.mm:
3521         * kwq/KWQValueListImpl.h:
3522         * kwq/KWQValueListImpl.mm:
3523         * kwq/KWQVariant.mm:
3524         * kwq/KWQVectorImpl.mm:
3525         (KWQVectorImpl::KWQVectorImpl):
3526         (KWQVectorImpl::~KWQVectorImpl):
3527         (KWQVectorImpl::clear):
3528         (KWQVectorImpl::resize):
3529         (KWQVectorImpl::assign):
3530         * kwq/KWQWMatrix.mm:
3531         * kwq/KWQWidget.mm:
3532         * kwq/KWQWindowWidget.mm:
3533         * kwq/WebCoreBridge.mm:
3534         * kwq/WebCoreCache.mm:
3535         * kwq/WebCoreEncodings.mm:
3536         * kwq/WebCoreJavaScript.mm:
3537         * kwq/WebCoreScriptDebugger.mm:
3538         * kwq/WebCoreSettings.mm:
3539         * kwq/WebCoreTextRendererFactory.mm:
3540         * kwq/can-convert.mm:
3541
3542 2005-10-03  Beth Dakin  <bdakin@apple.com>
3543
3544         Reviewed by Darin.
3545
3546         Fix for <rdar://problem/4235722> line-height style settings not reflected in 
3547         textarea. 
3548
3549         * khtml/rendering/render_form.cpp:
3550         (RenderTextArea::setStyle): Make setStyle call new setLineHeight function and
3551                                 computer correct line height using RenderObject::lineHeight
3552         * kwq/KWQTextArea.h:
3553         * kwq/KWQTextArea.mm:
3554         (-[KWQTextAreaTextView setFont:]): setFont updates lineHeight if necessary.
3555         (-[KWQTextAreaTextView setLineHeight:]): sets the line height
3556         (-[NSTextView _KWQ_updateTypingAttributes:forLineHeight:fontHeight:]): Applies the 
3557                                 new line height to the paragraph style attributes. 
3558         * kwq/KWQTextEdit.h:
3559         * kwq/KWQTextEdit.mm:
3560         (QTextEdit::setLineHeight): calls setLineHeight in KWQTextAreaTextView
3561
3562 2005-10-03  Rob Buis  <rwlbuis@xs4all.nl>
3563
3564         Reviewed by eseidel.
3565
3566         Fixes hang, caused by path parser spinning forever.
3567         http://bugzilla.opendarwin.org/show_bug.cgi?id=5239
3568
3569         * ksvg2/svg/svgpathparser.cpp:
3570         (SVGPathParser::parseSVG):
3571         * svg-tests/custom/path-bad-data-expected.checksum: Added.
3572         * svg-tests/custom/path-bad-data-expected.png: Added.
3573         * svg-tests/custom/path-bad-data-expected.txt: Added.
3574         * svg-tests/custom/path-bad-data.svg: Added.
3575
3576 2005-10-02  Eric Seidel  <eseidel@apple.com>
3577
3578        Reviewed by darin.
3579
3580        Closes large memory leak in KSVG.
3581        http://bugzilla.opendarwin.org/show_bug.cgi?id=5209
3582
3583        * ksvg2/svg/SVGStyledElementImpl.cpp:
3584         (SVGStyledElementImpl::attach): delete orphans unless PatternImpl
3585
3586 2005-10-02  Eric Seidel  <eseidel@apple.com>
3587
3588         Reviewed by mjs.
3589
3590         Fixes SVG animation support in Safari/WebKit.
3591         http://bugzilla.opendarwin.org/show_bug.cgi?id=5132
3592
3593         * WebCore+SVG/dom_kdomnodetreewrapper.cpp:
3594         (KDOMNodeTreeWrapperImpl::attach): setup kcanvasviewquartz
3595         (KDOMNodeTreeWrapperImpl::detach): tear down kcanvasviewquartz
3596         * WebCore+SVG/dom_kdomnodetreewrapper.h:
3597         * kcanvas/device/quartz/KCanvasViewQuartz.h:
3598         * kcanvas/device/quartz/KCanvasViewQuartz.mm: fix spaces
3599         (KCanvasViewQuartz::KCanvasViewQuartz):
3600         (KCanvasViewQuartz::~KCanvasViewQuartz):
3601         (KCanvasViewQuartz::view):
3602         (KCanvasViewQuartz::setView):
3603         (KCanvasViewQuartz::renderObject): alternative to view
3604         (KCanvasViewQuartz::setRenderObject):
3605         (KCanvasViewQuartz::invalidateCanvasRect):
3606         (KCanvasViewQuartz::viewToCanvasMatrix):
3607         (KCanvasViewQuartz::canvasSizeChanged):
3608         (KCanvasViewQuartz::viewHeight):
3609         (KCanvasViewQuartz::viewWidth):
3610
3611 2005-10-02  Alexey Proskuryakov  <ap@nypop.com>
3612
3613         Reviewed by eseidel.
3614
3615         Fix XSLT to preserve document.URL.
3616         http://bugzilla.opendarwin.org/show_bug.cgi?id=5219
3617
3618         * khtml/xsl/xslt_processorimpl.cpp:
3619         (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
3620
3621 2005-10-02  Eric Seidel  <eseidel@apple.com>
3622
3623         Reviewed by mjs.
3624
3625         Fix crash when encountering XML processing directives w/ KDOM:
3626         http://bugzilla.opendarwin.org/show_bug.cgi?id=5238
3627
3628         * ksvg2/svg/SVGDocumentImpl.cpp:
3629         (SVGDocumentImpl::recalcStyleSelector): null check.
3630
3631 2005-10-02  Eric Seidel  <eseidel@apple.com>
3632
3633         Removing unused SVG source files.
3634
3635         * WebCore.xcodeproj/project.pbxproj:
3636         * ksvg2/ecma/Constructors.cpp: Removed.
3637         * ksvg2/ecma/Constructors.h: Removed.
3638
3639 2005-10-02  Anders Carlsson  <andersca@mac.com>
3640
3641         Reviewed by Eric.
3642
3643         - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=5231>
3644         
3645         * khtml/xml/dom_elementimpl.cpp:
3646         (AttrImpl::localName):
3647         (AttrImpl::namespaceURI):
3648         * khtml/xml/dom_elementimpl.h:
3649         Implement localName and namespaceURI for attributes.
3650         
3651 2005-09-30  Eric Seidel  <eseidel@apple.com>
3652
3653         Reviewed by xenon.
3654         
3655         Moved layout-tests to ../LayoutTests
3656
3657 2005-09-30  Geoffrey Garen  <ggaren@apple.com>
3658
3659         Patch reviewed by john.
3660         
3661         * layout-tests/fast/js/date-parse-test.html: Added a test case for 
3662         <rdar://problem/4275206> Denver Regression: Seed: Past Editions of 
3663         Opinions display "NAN/Undefined" for www.washingtonpost.com
3664
3665 2005-09-29  Timothy Hatcher  <timothy@apple.com>
3666
3667         Fixes build failures on a future release train.
3668
3669         Reviewed by Maciej.
3670
3671         Test cases added: (None needed.)
3672
3673         * kwq/KWQPointArray.h: check if NSPoint is the same as CGPoint
3674         * kwq/KWQPoint.mm: ditto
3675         * kwq/KWQRect.h: check if NSRect is the same as CGRect
3676         * kwq/KWQRect.mm: ditto
3677         * kwq/KWQSize.h: check if NSSize is the same as CGSize
3678         * kwq/KWQSize.mm: ditto
3679
3680 2005-09-29  David Hyatt  <hyatt@apple.com>
3681
3682         Add support for parsing of the CSS3 box-sizing property.  This
3683         property will have to be fully implemented for form controls that
3684         respect border and padding (buttons, textfields, list boxes, etc.).
3685         
3686         Reviewed by john
3687
3688         Test cases added: (NONE, property just being parsed, not supported)
3689
3690         * khtml/css/cssparser.cpp:
3691         (CSSParser::parseValue):
3692         * khtml/css/cssproperties.in:
3693         * khtml/css/cssstyleselector.cpp:
3694         (khtml::CSSStyleSelector::applyProperty):
3695         * khtml/css/cssvalues.in:
3696         * khtml/rendering/render_style.cpp:
3697         (StyleBoxData::StyleBoxData):
3698         (StyleBoxData::operator==):
3699         (RenderStyle::diff):
3700         * khtml/rendering/render_style.h:
3701         (khtml::):
3702         (khtml::RenderStyle::boxSizing):
3703         (khtml::RenderStyle::setBoxSizing):
3704         (khtml::RenderStyle::initialBoxSizing):
3705
3706 2005-09-28  David Hyatt  <hyatt@apple.com>
3707
3708         Make all form controls treat width: auto as width:intrinsic and
3709         add support for intrinsic widths when computing sizes of 
3710         block-level flows.
3711
3712         Rename the term Variable to Auto, since this more accurately
3713         matches the term in the CSS spec.
3714
3715         Reviewed by darin
3716
3717         Test cases added: (None needed, <button> and <legend> test this)
3718
3719         * khtml/css/cssstyleselector.cpp:
3720         (khtml::CSSStyleSelector::adjustRenderStyle):
3721         * khtml/misc/khtmllayout.h:
3722         (khtml::):
3723         (khtml::Length::width):
3724         (khtml::Length::minWidth):
3725         (khtml::Length::isAuto):
3726         (khtml::Length::isIntrinsicOrAuto):
3727         * khtml/rendering/bidi.cpp:
3728         (khtml::getBPMWidth):
3729         * khtml/rendering/render_block.cpp:
3730         (khtml::RenderBlock::MarginInfo::MarginInfo):
3731         (khtml::RenderBlock::isSelfCollapsingBlock):
3732         (khtml::RenderBlock::layoutBlock):
3733         (khtml::RenderBlock::determineHorizontalPosition):
3734         (khtml::getBPMWidth):
3735         (khtml::RenderBlock::calcInlineMinMaxWidth):
3736         (khtml::shouldCheckLines):
3737         * khtml/rendering/render_box.cpp:
3738         (RenderBox::getClipRect):
3739         (RenderBox::relativePositionOffset):
3740         (RenderBox::calcWidth):
3741         (RenderBox::calcWidthUsing):
3742         (RenderBox::sizesToIntrinsicWidth):
3743         (RenderBox::calcHorizontalMargins):
3744         (RenderBox::calcHeight):
3745         (RenderBox::calcHeightUsing):
3746         (RenderBox::calcPercentageHeight):
3747         (RenderBox::availableHeightUsing):
3748         (RenderBox::calcAbsoluteHorizontal):
3749         (RenderBox::calcAbsoluteHorizontalValues):
3750         (RenderBox::calcAbsoluteVertical):
3751         (RenderBox::calcAbsoluteVerticalValues):
3752         * khtml/rendering/render_box.h:
3753         * khtml/rendering/render_flexbox.cpp:
3754         (khtml::RenderFlexibleBox::calcHorizontalMinMaxWidth):
3755         (khtml::RenderFlexibleBox::layoutVerticalBox):
3756         * khtml/rendering/render_form.cpp:
3757         (RenderFormElement::addIntrinsicMarginsIfAllowed):
3758         (RenderSlider::calcMinMaxWidth):
3759         * khtml/rendering/render_layer.cpp:
3760         (khtml::Marquee::updateMarqueeStyle):
3761         * khtml/rendering/render_line.cpp:
3762         (khtml::InlineFlowBox::marginLeft):
3763         (khtml::InlineFlowBox::marginRight):
3764         * khtml/rendering/render_object.cpp:
3765         (RenderObject::hasStaticX):
3766         (RenderObject::hasStaticY):
3767         (RenderObject::paddingTop):
3768         (RenderObject::paddingBottom):
3769         (RenderObject::paddingLeft):
3770         (RenderObject::paddingRight):
3771         (RenderObject::usesLineWidth):
3772         * khtml/rendering/render_object.h:
3773         * khtml/rendering/render_replaced.cpp:
3774         (RenderReplaced::calcMinMaxWidth):
3775         * khtml/rendering/render_style.cpp:
3776         (StyleSurroundData::StyleSurroundData):
3777         * khtml/rendering/render_style.h:
3778         (khtml::RenderStyle::resetPadding):
3779         (khtml::RenderStyle::initialPadding):
3780         * khtml/rendering/render_table.cpp:
3781         (RenderTable::setStyle):
3782         (RenderTable::calcWidth):
3783         (RenderTableSection::addCell):
3784         (RenderTableSection::layoutRows):
3785         * khtml/rendering/render_theme_mac.mm:
3786         (khtml::RenderThemeMac::setSizeFromFont):
3787         (khtml::RenderThemeMac::setCheckboxSize):
3788         (khtml::RenderThemeMac::setRadioSize):
3789         * khtml/rendering/table_layout.cpp:
3790         (FixedTableLayout::calcWidthArray):
3791         (FixedTableLayout::layout):
3792         (AutoTableLayout::recalcColumn):
3793         (AutoTableLayout::fullRecalc):
3794         (shouldScaleColumns):
3795         (AutoTableLayout::calcEffectiveWidth):
3796         (AutoTableLayout::layout):
3797
3798 2005-09-29  Justin Garcia  <justin.garcia@apple.com>
3799
3800         Reviewed by harrison
3801         
3802         <rdar://problem/4278698> Adding a space inside whitespace:pre text collapses space
3803         <rdar://problem/4076267> Mail behaves oddly when pasting in text with leading/trailing whitespace
3804         <rdar://problem/4063751> Redo Typing can add extra space characters
3805         <rdar://problem/4120558> Mail/WebKit: Repeated capitalizeWord command deletes spaces and does not capitalize
3806
3807         Reblance whitespace was finding the extent of surrounding whitespace incorrectly.  
3808         createFragmentFromMarkup was not dealing with the special cases for spaces at the start/end 
3809         of a line.  InsertTextCommand was removing collapsable whitespace without regard for the 
3810         whitespace mode.  createFragmentFromMarkup and RebalanceWhitespace command now use one method 
3811         to produce rebalanced sequences.  Removed special case whitespace handling from 
3812         InsertTextCommand, that's RebalanceWhiteSpaceCommand's job.
3813
3814         Test cases added:
3815         * layout-tests/editing/inserting/4278698.html: Added.
3816         * layout-tests/editing/pasteboard/4076267-2.html: Added.
3817         * layout-tests/editing/pasteboard/4076267-3.html: Added.
3818         * layout-tests/editing/pasteboard/4076267.html: Added.
3819         * layout-tests/editing/undo/4063751.html: Added.
3820
3821         * khtml/editing/composite_edit_command.cpp:
3822         (khtml::CompositeEditCommand::rebalanceWhitespaceAt):
3823         Added.  The old convenience method, rebalanceWhitespace, can probably
3824         be removed, because there is never a non-caret selection after an editing command.
3825         * khtml/editing/composite_edit_command.h:
3826         * khtml/editing/htmlediting.cpp:
3827         (khtml::rebalanceWhitespaceInTextNode):
3828         * khtml/editing/htmlediting.h:
3829         * khtml/editing/insert_text_command.cpp:
3830         (khtml::InsertTextCommand::input):
3831         * khtml/editing/insert_text_command.h:
3832         * khtml/editing/markup.cpp:
3833         (khtml::createParagraphContentsFromString):
3834         (khtml::createFragmentFromText):
3835         * khtml/editing/rebalance_whitespace_command.cpp:
3836         (khtml::RebalanceWhitespaceCommand::RebalanceWhitespaceCommand):
3837         (khtml::isWhitespace): Changed from isNBSP to include all forms of whitespace, to aid readability.
3838         (khtml::RebalanceWhitespaceCommand::doApply):
3839         (khtml::RebalanceWhitespaceCommand::doUnapply): Removed the unused m_downstreamOffset
3840         * layout-tests/editing/editingStyle.css: Added.
3841
3842 2005-09-27  Maciej Stachowiak  <mjs@apple.com>
3843
3844         Reviewed by Eric.
3845
3846         - move HashMap/HashSet code down to JavaScriptCore; adapt usage to the new header location
3847         http://bugzilla.opendarwin.org/show_bug.cgi?id=5161
3848
3849         * ForwardingHeaders/kxmlcore/HashMap.h: Added.
3850         * ForwardingHeaders/kxmlcore/HashSet.h: Added.
3851         * ForwardingHeaders/misc/hashmap.h: Removed.
3852         * ForwardingHeaders/misc/hashset.h: Removed.
3853         * ForwardingHeaders/misc/pointerhash.h: Removed.
3854         * WebCore.xcodeproj/project.pbxproj:
3855         * khtml/css/cssstyleselector.cpp:
3856         (khtml::CSSRuleSet::getIDRules):
3857         (khtml::CSSRuleSet::getClassRules):
3858         (khtml::CSSRuleSet::getTagRules):
3859         (khtml::CSSRuleSet::getUniversalRules):
3860         (khtml::CSSRuleSet::addToRuleSet):
3861         * khtml/css/cssstyleselector.h:
3862         * khtml/ecma/kjs_binding.cpp:
3863         * khtml/editing/jsediting.cpp:
3864         * khtml/html/html_documentimpl.cpp:
3865         (DOM::addItemToMap):
3866         * khtml/html/html_documentimpl.h:
3867         * khtml/html/html_elementimpl.cpp:
3868         * khtml/html/html_formimpl.cpp:
3869         (DOM::HTMLFormElementImpl::radioButtonChecked):
3870         * khtml/html/html_formimpl.h:
3871         * khtml/html/htmlfactory.cpp:
3872         (DOM::HTMLElementFactory::createHTMLElement):
3873         * khtml/html/htmlparser.cpp:
3874         (HTMLParser::getNode):
3875         * khtml/xml/dom_atomicstring.cpp:
3876         * khtml/xml/dom_qname.cpp:
3877         * khtml/xml/dom_stringimpl.h:
3878         (KXMLCore::):
3879         (KXMLCore::CaseInsensitiveHash::hash):
3880         (KXMLCore::CaseInsensitiveHash::equal):
3881         * khtml/xml/xml_tokenizer.cpp:
3882         * kwq/DOM.mm:
3883         (ObjCEventListener::ObjCEventListener):
3884
3885 2005-09-26  Darin Adler  <darin@apple.com>
3886
3887         * layout-tests/fast/js/array-every.html: Fixed test case; one of the tests was using
3888         the wrong function, so it wasn't testing what it claimed it was.
3889         * layout-tests/fast/js/array-every-expected.txt: Updated test result; one section now
3890         has a different result.
3891
3892         * layout-tests/fast/js/const.html: Added a test case that checks that variables after
3893         the first in a const declaration are also const; this was broken until my recent change
3894         to the JavaScript grammar.
3895         * layout-tests/fast/js/const-expected.txt: Updated test results.
3896
3897 2005-09-27  Eric Seidel  <eseidel@apple.com>
3898
3899         Reviewed by mjs.
3900
3901         Removed 19 uses of dynamic_cast.
3902         Part of this came by making EventTarget abstract, and moving
3903         the necessary implementations up into NodeImpl.
3904         http://bugzilla.opendarwin.org/show_bug.cgi?id=3914
3905
3906         * kdom/Helper.h: comment cleanup
3907         * kdom/bindings/IDLCodeGeneratorJs.pm: tabs -> spaces
3908         * kdom/core/NodeImpl.cpp: Moved EventTarget methods
3909         (NodeImpl::addEventListener):
3910         (NodeImpl::removeEventListener):
3911         (NodeImpl::dispatchEvent):
3912         * kdom/core/NodeImpl.h:
3913         (KDOM::NodeImpl::isSVGElement):
3914         * kdom/events/EventTargetImpl.cpp: Moved methods to NodeImpl
3915         * kdom/events/EventTargetImpl.h:
3916         * kdom/ls/DOMImplementationLSImpl.cpp: disabled LSParserImpl
3917         (DOMImplementationLSImpl::createLSParser):
3918         * ksvg2/ecma/Ecma.cpp:
3919         (Ecma::setupDocument):
3920         * ksvg2/misc/KSVGTimeScheduler.cpp:
3921         (SVGTimer::notifyAll):
3922         * ksvg2/svg/SVGAnimationElementImpl.cpp:
3923         (SVGAnimationElementImpl::targetElement):
3924         (SVGAnimationElementImpl::targetAttribute):
3925         (SVGAnimationElementImpl::setTargetAttribute):
3926         * ksvg2/svg/SVGElementImpl.h:
3927         (KSVG::SVGElementImpl::isSVGElement):
3928         (KSVG::SVGElementImpl::isStyled):
3929         (KSVG::SVGElementImpl::isSVG):
3930         (KSVG::svg_dynamic_cast):
3931         * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
3932         (SVGFilterPrimitiveStandardAttributesImpl::x):
3933         (SVGFilterPrimitiveStandardAttributesImpl::y):
3934         (SVGFilterPrimitiveStandardAttributesImpl::width):
3935         (SVGFilterPrimitiveStandardAttributesImpl::height):
3936         (SVGFilterPrimitiveStandardAttributesImpl::result):
3937         * ksvg2/svg/SVGHelper.cpp:
3938         (SVGHelper::PercentageOfViewport):
3939         * ksvg2/svg/SVGLocatableImpl.cpp:
3940         (SVGLocatableImpl::getCTM):
3941         * ksvg2/svg/SVGPatternElementImpl.cpp:
3942         (SVGPatternElementImpl::notifyAttributeChange):
3943         * ksvg2/svg/SVGSVGElementImpl.h:
3944         (KSVG::SVGSVGElementImpl::isSVG):
3945         * ksvg2/svg/SVGStyledElementImpl.cpp:
3946         (SVGStyledElementImpl::attach):
3947         (SVGStyledElementImpl::detach):
3948         * ksvg2/svg/SVGStyledElementImpl.h:
3949         (KSVG::SVGStyledElementImpl::isStyled):
3950         * ksvg2/svg/SVGUseElementImpl.cpp:
3951         (SVGUseElementImpl::close):
3952
3953 2005-09-27  Adele Peterson  <adele@apple.com>
3954
3955         Reviewed by Maciej.
3956
3957         Changing ints to size_t where appropriate.
3958
3959         * kwq/WebCoreJavaScript.h:
3960         * kwq/WebCoreJavaScript.mm:
3961         (+[WebCoreJavaScript objectCount]):
3962         (+[WebCoreJavaScript interpreterCount]):
3963         (+[WebCoreJavaScript noGCAllowedObjectCount]):
3964         (+[WebCoreJavaScript referencedObjectCount]):
3965
3966 2005-09-27  Eric Seidel  <eseidel@apple.com>
3967
3968         No review necessary, SVG build fix only.
3969
3970         * WebCore+SVG/DrawView.mm:
3971         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3972         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
3973         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
3974         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
3975         Updated from KWQAssertions.h to kxmlcore/Assertions.h
3976
3977 2005-09-27  Eric Seidel  <eseidel@apple.com>
3978
3979         Reviewed by mjs.
3980
3981         Test cases for JSC fix:
3982         http://bugzilla.opendarwin.org/show_bug.cgi?id=3537
3983
3984         Test cases added:
3985         * layout-tests/fast/js/object-prototype-constructor-expected.txt: Added.
3986         * layout-tests/fast/js/object-prototype-constructor.html: Added.
3987
3988 2005-09-26  Maciej Stachowiak  <mjs@apple.com>
3989
3990         Reviewed by John.
3991
3992         - replace dlmalloc with tcmalloc
3993         http://bugzilla.opendarwin.org/show_bug.cgi?id=5145
3994
3995         I also moved SharedPtr and the assertion code from WebCore into a
3996         new kxmlcore directory.
3997         
3998         * ForwardingHeaders/kjs/shared_ptr.h: Removed.
3999         * ForwardingHeaders/kxmlcore/Assertions.h: Added.
4000         * ForwardingHeaders/kxmlcore/FastMalloc.h: Added.
4001         * ForwardingHeaders/kxmlcore/SharedPtr.h: Added.
4002         * ForwardingHeaders/misc/main_thread_malloc.h: Removed.
4003         * WebCore.xcodeproj/project.pbxproj:
4004         * khtml/css/css_base.h:
4005         * khtml/css/css_computedstyle.cpp:
4006         * khtml/css/css_ruleimpl.h:
4007         * khtml/css/css_valueimpl.h:
4008         * khtml/css/cssstyleselector.h:
4009         * khtml/ecma/domparser.h:
4010         * khtml/ecma/kjs_css.h:
4011         * khtml/ecma/kjs_dom.cpp:
4012         * khtml/ecma/kjs_dom.h:
4013         * khtml/ecma/kjs_events.h:
4014         * khtml/ecma/kjs_html.cpp:
4015         * khtml/ecma/kjs_html.h:
4016         * khtml/ecma/kjs_range.h:
4017         * khtml/ecma/kjs_traversal.h:
4018         * khtml/ecma/kjs_views.cpp:
4019         * khtml/ecma/kjs_views.h:
4020         * khtml/ecma/kjs_window.cpp:
4021         * khtml/ecma/xmlhttprequest.h:
4022         * khtml/editing/SelectionController.cpp:
4023         * khtml/editing/append_node_command.cpp:
4024         * khtml/editing/apply_style_command.cpp: