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