Web Inspector: Native Memory Instrumentation: instrument RenderBox descendants.
[WebKit-https.git] / Source / WebCore / ChangeLog-2005-12-19
1 2005-12-17  Maciej Stachowiak  <mjs@apple.com>
2
3         Rubber stamped by Eric.
4
5         - removed unused SPI headers
6
7         * WebCore.xcodeproj/project.pbxproj:
8         * kwq/DOM-compat.h: Removed.
9
10 2005-12-18  Darin Adler  <darin@apple.com>
11
12         Reviewed by Geoff.
13
14         - fix http://bugs.webkit.org/show_bug.cgi?id=6144
15           REGRESSION: DOMStringImpl leak in code to make DOMString from NSString
16
17         * kwq/DOMInternal.mm: (DOMString::DOMString): Remove now-unneeded ref.
18
19 2005-12-18  Darin Adler  <darin@apple.com>
20
21         Reviewed by Geoff.
22
23         - fix http://bugs.webkit.org/show_bug.cgi?id=5680
24           containsOnlyWhitespace does not need to be a virtual function
25
26         * khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget): Cast
27         pointer to a TextImpl before calling containsOnlyWhitespace; the code already
28         checked isTextNode.
29         * khtml/rendering/render_line.cpp: (khtml::shouldDrawDecoration): Expanded an
30         if statement into a few separate ones for slight additional clarity. Added a
31         check of isTextNode and cast pointer to a TextImpl.
32
33         * khtml/xml/dom_nodeimpl.h: Remove containsOnlyWhitespace function.
34         * khtml/xml/dom_textimpl.h: Remove virtual keyword from containsOnlyWhitespace.
35
36 2005-12-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
37
38         Reviewed by Hyatt, landed by Darin.
39
40         Test: fast/text/international/bidi-ignored-for-first-child-inline.html
41
42         Fix for: http://bugs.webkit.org/show_bug.cgi?id=5980
43         Bidi properties of an inline container whose first child is an
44         inline container are ignored
45
46         * khtml/rendering/bidi.cpp:
47         (khtml::RenderBlock::bidiNext):
48         Adjust embedding at inline containers' boundaries instead of inside.
49         (khtml::RenderBlock::bidiFirst):
50         (khtml::RenderBlock::determineStartPosition):
51
52 2005-12-18  Alexey Proskuryakov  <ap@nypop.com>
53
54         Reviewed and landed by Darin.
55
56         - fix http://bugs.webkit.org/show_bug.cgi?id=5932
57           Wrong encoding used for http://www.miel.ru
58
59         * kwq/KWQCharsets.mm: (KWQCFStringEncodingFromIANACharsetName):
60         Fall back on ICU encoding names if we don't find the name in the WebCore
61         encoding names table.
62
63 2005-12-18  Alexey Proskuryakov  <ap@nypop.com>
64
65         Reviewed and landed by Darin.
66
67         - fix http://bugs.webkit.org/show_bug.cgi?id=5927
68           Result of XSLT transformation has no charset defined
69
70         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::applyXSLTransform):
71         Get encoding from transform and pass in to XSLTProcessor.
72
73         * khtml/xsl/xslt_processorimpl.h:
74         * khtml/xsl/xslt_processorimpl.cpp:
75         (DOM::XSLTProcessorImpl::createDocumentFromSource): Added encoding parameter.
76         Create a Decoder and use it to decode the source document (default encoding UTF-8).
77         (DOM::XSLTProcessorImpl::transformToString): Add an encoding result. Set it to the
78         encoding from the libxml2 document object.
79         (DOM::XSLTProcessorImpl::transformToDocument): Get encoding from transform and pass
80         in to XSLTProcessor.
81         (DOM::XSLTProcessorImpl::transformToFragment): Ditto.
82
83 2005-12-18  Alexey Proskuryakov  <ap@nypop.com>
84
85         Reviewed by Eric, landed by Darin.
86
87         - fix http://bugs.webkit.org/show_bug.cgi?id=5631
88           KWQKHTMLPart::attributedString ignores many tags
89
90         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString):
91         Fix incorrectly nested else.
92
93 2005-12-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
94
95         Reviewed and landed by Darin.
96
97         - fix http://bugs.webkit.org/show_bug.cgi?id=5768
98           pages with frames that are all "fixed" get no layout and are blank (like www.farnell.nl)
99
100         * khtml/rendering/render_frames.cpp: (RenderFrameSet::layout):
101         * manual-tests/bugzilla-5768.html: Added. Can't seem to get it to work (fail) as an automated test.
102         * manual-tests/resources/frame1.html: Added.
103         * manual-tests/resources/frame2.html: Added.
104
105 2005-12-17  Anders Carlsson  <andersca@mac.com>
106
107         Reviewed by Darin.
108
109         - Fix <http://bugs.webkit.org/show_bug.cgi?id=6120>
110         Random crashes when running the test suite
111         
112         * khtml/css/css_ruleimpl.h:
113         (DOM::CSSMediaRuleImpl::media):
114         Make m_lstMedia a smart pointer.
115
116 2005-12-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
117
118         Reviewed and landed by Darin.
119
120         - fix http://bugs.webkit.org/show_bug.cgi?id=5479
121           Can't select text with RTL override rendered by ATSUI
122
123         * khtml/rendering/font.h: Remove reversed parameter from checkSelectionPoint, replacing
124         it with a text direction parameter.
125         * khtml/rendering/render_text.cpp: (InlineTextBox::offsetForPosition): Ditto.
126         * kwq/KWQFontMetrics.h: Add a directional override parameter to checkSelectionPoint.
127         * kwq/KWQFontMetrics.mm: (QFontMetrics::checkSelectionPoint): Pass the directional override
128         through to the text renderer. Don't pass the reversed flag redundantly -- use the rtl flag
129         in the style instead.
130         * kwq/WebCoreTextRenderer.h: Remove reversed parameter from pointToOffset.
131
132 2005-12-16  Eric Seidel  <eseidel@apple.com>
133
134         Reviewed by darin.
135
136         DOMString should hold its impl in a RefPtr
137         http://bugs.webkit.org/show_bug.cgi?id=6106
138         I also cleaned up spacing in dom_string.cpp
139         No tests needed (no functionality changes).
140
141         * khtml/dom/dom_string.cpp:
142         (DOM::DOMString::DOMString):
143         (DOM::DOMString::operator += ):
144         (DOM::DOMString::insert):
145         (DOM::DOMString::operator []):
146         (DOM::DOMString::find):
147         (DOM::DOMString::length):
148         (DOM::DOMString::truncate):
149         (DOM::DOMString::remove):
150         (DOM::DOMString::split):
151         (DOM::DOMString::lower):
152         (DOM::DOMString::upper):
153         (DOM::DOMString::percentage):
154         (DOM::DOMString::unicode):
155         (DOM::DOMString::qstring):
156         (DOM::DOMString::toInt):
157         (DOM::DOMString::copy):
158         (DOM::strcasecmp):
159         (DOM::DOMString::toCoordsArray):
160         (DOM::DOMString::toLengthArray):
161         (DOM::operator==):
162         * khtml/dom/dom_string.h:
163         (DOM::DOMString::DOMString):
164         (DOM::DOMString::impl):
165
166 2005-12-16  Eric Seidel  <eseidel@apple.com>
167
168         Reviewed by darin.
169
170         XSLTProcessorImpl should use RefPtr instead of manual ref/deref
171         http://bugs.webkit.org/show_bug.cgi?id=6110
172         No test cases needed (no functionality changes).
173
174         * khtml/xsl/xsl_stylesheetimpl.cpp:
175         (DOM::XSLImportRuleImpl::XSLImportRuleImpl):
176         (DOM::XSLImportRuleImpl::~XSLImportRuleImpl):
177         (DOM::XSLImportRuleImpl::setStyleSheet):
178         * khtml/xsl/xsl_stylesheetimpl.h:
179         (DOM::XSLImportRuleImpl::styleSheet):
180
181 2005-12-16  Adele Peterson  <adele@apple.com>
182
183         Reviewed by Maciej.
184
185         Fix for <rdar://problem/4381546> Safari crash at www.dallascowboys.com in KWQListIteratorImpl::current()
186
187         * khtml/khtml_part.cpp:
188         (KHTMLPart::slotFinishedParsing): ref the part before calling checkCompleted.
189
190 2005-12-16  Vicki Murley  <vicki@apple.com>
191
192         Reviewed by Tim O.
193  
194         - fix <rdar://problem/4380428> window.onbeforeunload works on IE but not on Safari
195
196         * khtml/ecma/kjs_window.cpp:
197
198 2005-12-16  Geoffrey Garen  <ggaren@apple.com>
199
200         Reviewed by Eric.
201
202         Fixed http://bugs.webkit.org/show_bug.cgi?id=6112
203         REGRESSION: navigator.plugins empty.
204
205         Layout test added:
206         * fast/js/Plug-ins-expected.checksum: Added.
207         * fast/js/Plug-ins-expected.png: Added.
208         * fast/js/Plug-ins-expected.txt: Added.
209         * fast/js/Plug-ins.html: Added.
210
211         * khtml/ecma/kjs_navigator.cpp:
212         (KJS::PluginBase::PluginBase): Changed initialization of KConfig from
213         empty string to pluginsinfo.
214
215 2005-12-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
216
217         Reviewed and landed by Darin.
218
219         Test: fast/text/international/bidi-european-terminators.html
220
221         Fix for: http://bugs.webkit.org/show_bug.cgi?id=6014
222         Bidi algorithm: incorrect resolved levels for neutrals between R and
223         ET ON L
224
225         * khtml/rendering/bidi.cpp:
226         (khtml::RenderBlock::bidiReorderLine):
227         Keep track of the last position before the current run of ETs directly
228         using a new BidiState member, lastBeforeET.
229
230 2005-12-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
231
232         Reviewed and landed by Darin.
233
234         - fix http://bugs.webkit.org/show_bug.cgi?id=5486
235           DumpRenderTree should print the RTL and directional override flags for text runs
236
237         * kwq/KWQRenderTreeDebug.cpp: (writeTextRun): Dump the additional flags.
238
239 2005-12-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
240
241         Reviewed and landed by Darin.
242
243         Fix for: http://bugs.webkit.org/show_bug.cgi?id=6043
244         Incorrect selection highlighting in pre-formatted text with tabs
245
246         * khtml/rendering/render_text.cpp: Correct parameters in calls to RenderText::width().
247         (InlineTextBox::selectionRect):
248         (InlineTextBox::placeEllipsisBox):
249         (InlineTextBox::paintDecoration):
250         (InlineTextBox::paintMarker):
251         (InlineTextBox::paintMarkedTextUnderline):
252         * manual-tests/pre-tab-selection-rect.html: Added.
253
254 2005-12-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
255
256         Reviewed and landed by Darin.
257         
258         Test: fast/js/replace-child-siblings.html
259
260         Fix for: http://bugs.webkit.org/show_bug.cgi?id=6069
261         Assertion failure in RenderBlock::addChildToFlow during replaceChild
262         
263         * khtml/xml/dom_nodeimpl.cpp:
264         (DOM::ContainerNodeImpl::replaceChild): If the new child was right
265         before or right after the old child, then it just stays.
266         
267 2005-12-15  Darin Adler  <darin@apple.com>
268
269         Reviewed by Maciej.
270
271         - fix http://bugs.webkit.org/show_bug.cgi?id=5688
272           speed up JavaScript parsing by not creating a UString just to parse
273
274         * khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::getListener): Use listenerObj instead of
275         listenerObjImp.
276         * khtml/ecma/kjs_html.cpp: (KJS::Image::getValueProperty): Ditto.
277         * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::getValueProperty): Ditto.
278         * khtml/ecma/kjs_window.h:
279         * khtml/ecma/kjs_window.cpp:
280         (KJS::Window::getListener): Ditto.
281         (KJS::Window::getJSLazyEventListener): Take code as a DOMString, not QString.
282
283         * khtml/ecma/kjs_events.cpp:
284         (KJS::jsStringOrUndefined): Renamed function and moved it to the top of the file.
285         (KJS::JSAbstractEventListener::handleEvent): Cleaned up function, removed double
286         logging, and fixed code path to not use UString::ascii().
287         (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Updated since type
288         of the window object is now Window.
289         (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): Ditto.
290         (KJS::JSUnprotectedEventListener::windowObj): Ditto.
291         (KJS::JSEventListener::JSEventListener): Ditto.
292         (KJS::JSEventListener::~JSEventListener): Ditto.
293         (KJS::JSEventListener::windowObj): Ditto.
294         (KJS::JSLazyEventListener::JSLazyEventListener): Ditto. Also changed code to be
295         a DOMString instead of a QString.
296         (KJS::JSLazyEventListener::handleEvent): Removed function because the base class
297         handleEvent already calls listenerObj which takes care of parseCode -- no need to
298         do an additional parseCode here.
299         (KJS::JSLazyEventListener::parseCode): Rearrange and clean up a bit. Code is now
300         a DOMString instead of a QString.
301         (KJS::Clipboard::Clipboard): Remove explicit ref since we now use a RefPtr for
302         the clipboard object.
303         (KJS::Clipboard::getValueProperty): Update to call jsStringOrUndefined.
304
305         * khtml/ecma/kjs_events.h: Reformatted the file. Changed windowObj functions to
306         return Window* instead of ObjectImp*. Removed listenerObjImp function. Removed
307         destructors from many classes that don't need them. Used a RefPtr for the
308         ClipboardImpl in a Clipboard object.
309
310         * khtml/ecma/kjs_proxy.h:
311         * khtml/ecma/kjs_proxy.cpp:
312         (KJSProxyImpl::evaluate): Take filename and code as DOMString instead of QString.
313         (KJSProxyImpl::createHTMLEventHandler): Take URL and code as DOMString.
314
315         * khtml/xml/dom_docimpl.h:
316         * khtml/xml/dom_docimpl.cpp:
317         (DocumentImpl::createHTMLEventListener): Take a DOMString rather than a QString for the
318         JavaScript code.
319         (DocumentImpl::setHTMLWindowEventListener): Added an overload that takes an attribute
320         pointer. Calls through after extracting the code from the attribute value.
321
322         * khtml/html/html_elementimpl.h:
323         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::setHTMLEventListener): New
324         version of function that takes an attribute pointer; calls through to the base class
325         after extracting the code from the attribute value.
326
327         * khtml/html/html_baseimpl.cpp:
328         (HTMLBodyElementImpl::parseMappedAttribute): Change to use new setHTMLWindowEventListener
329         and setHTMLEventListener that takes an attribute pointer.
330         (HTMLFrameElementImpl::parseMappedAttribute): Ditto.
331         (HTMLFrameSetElementImpl::parseMappedAttribute): Ditto.
332         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseMappedAttribute): Ditto.
333         * khtml/html/html_formimpl.cpp:
334         (DOM::HTMLFormElementImpl::parseMappedAttribute): Ditto.
335         (DOM::HTMLButtonElementImpl::parseMappedAttribute): Ditto.
336         (DOM::HTMLInputElementImpl::parseMappedAttribute): Ditto.
337         (DOM::HTMLLabelElementImpl::parseMappedAttribute): Ditto.
338         (DOM::HTMLSelectElementImpl::parseMappedAttribute): Ditto.
339         (DOM::HTMLTextAreaElementImpl::parseMappedAttribute): Ditto.
340         * khtml/html/html_imageimpl.cpp:
341         (DOM::HTMLImageElementImpl::parseMappedAttribute): Ditto.
342         * khtml/html/html_objectimpl.cpp:
343         (DOM::HTMLObjectElementImpl::parseMappedAttribute): Ditto.
344
345         * khtml/html/html_headimpl.h:
346         * khtml/html/html_headimpl.cpp:
347         (HTMLScriptElementImpl::notifyFinished): Don't convert URL to QString since we now take
348         a DOMString.
349         (HTMLScriptElementImpl::evaluateScript): Change to take script as a DOMString.
350
351         * khtml/khtml_part.h:
352         * khtml/khtml_part.cpp: (KHTMLPart::createHTMLEventListener): Take a DOMString rather than
353         a QString for the JavaScript code.
354
355         * kwq/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame evaluateWebScript:]): Change
356         code path so it doesn't convert an NSString to UTF-8 to get it into the JavaScript
357         machinery. Use QString::fromNSString instead for now.
358
359 2005-12-15  Darin Adler  <darin@apple.com>
360
361         - fix crash caused by my last check-in
362
363         * khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction):
364         Use RefPtr to ref/deref the tokenizer.
365
366 2005-12-15  Darin Adler  <darin@apple.com>
367
368         * khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::exitText):
369         Add missing null check.
370
371 2005-12-15  Geoffrey Garen  <ggaren@apple.com>
372
373         Fixed <rdar://problem/4381444> Remove GMail-specific work-around 
374         previously added.
375
376         Reviewed by Darin.
377
378         No test case because this patch just turns on already-tested behavior
379         for GMail.
380
381         * khtml/ecma/kjs_html.cpp:
382         (KJS::HTMLElement::textAreaGetter): Removed code that hid the
383         selectionEnd property from sites on the GMail domain.
384
385 2005-12-15  Darin Adler  <darin@apple.com>
386
387         Reviewed by Eric.
388
389         - fix http://bugs.webkit.org/show_bug.cgi?id=6092
390           REGRESSION: dom/xhtml/level2/html//HTMLInputElement01.xhtml crashes
391
392         * khtml/xml/xml_tokenizer.cpp:
393         (khtml::XMLTokenizer::XMLTokenizer): Initialize the new m_currentNodeIsReferenced
394         field to false for the document case, and true for the non-0 fragment case. Also
395         don't reference the document in the document tokenizer case to avoid a circular
396         reference -- HTML parser already does both of these things.
397         (khtml::XMLTokenizer::~XMLTokenizer): Call setCurrentNode(0) to release the current
398         node in case the tokenizer is being destroyed without finishing parsing. Only call
399         deref on the document inthe fragment-parsing case.
400         (khtml::XMLTokenizer::setCurrentNode): Added. Reference the current node only if
401         it's not the document. Just as with the HTML parser, use a boolean to track whether
402         the current node needs a deref or not.
403         (khtml::XMLTokenizer::startElementNs): Use a RefPtr to keep the newly created element
404         alive at least until setCurrentNode is called. Remove the bogus explicit delete of
405         of the node after calling addChild, since reference counting takes care of it.
406         Stop parsing if we fail to create an element.
407         (khtml::XMLTokenizer::endElementNs): Use setCurrentNode and use a local variable
408         to avoid reference count thrash.
409         (khtml::XMLTokenizer::characters): Changed to only support text nodes. CDATA no
410         longer calls this function. 
411         (khtml::XMLTokenizer::enterText): Use setCurrentNode, and remove bogus delete call. 
412         (khtml::XMLTokenizer::exitText): Add checks for stopped parser and for whether
413         the current node is a text node so this can be called unconditionally.
414         (khtml::XMLTokenizer::cdataBlock): Use setCurrentNode and move the call before the
415         call to attach to make sure the node is already ref'd when attach is called.
416         (khtml::XMLTokenizer::finish): Call setCurrentNode(0) to release the nodes we've
417         been parsing.
418         (khtml::XMLTokenizer::executeScripts): Fixed incorrect cast to TextImpl to cast to
419         the base class CharacterDataImpl instead.
420
421 2005-12-15  Eric Seidel  <eseidel@apple.com>
422
423         Reviewed by Tim Hatcher.
424
425         Made SVG on by default!
426         Also removed last two KHTML_NO_CPLUSPLUS_DOM #ifs and turned off.
427         Removed APPLE_COMPILE_HACK, fixing or replacing with #if 0 for now.
428
429         * WebCore.xcodeproj/project.pbxproj: Made SVG default!
430         * ksvg2/KSVGSettings.cpp: Removed.
431         * ksvg2/css/SVGCSSStyleSelector.cpp: fixed copyright.
432         * ksvg2/svg/SVGCursorElementImpl.cpp:
433         (SVGCursorElementImpl::notifyFinished): fixed
434         * ksvg2/svg/SVGElementImpl.cpp:
435         (SVGElementImpl::parseMappedAttribute): removed dead code.
436         * ksvg2/svg/SVGImageElementImpl.cpp:
437         (SVGImageElementImpl::createRenderer): #if 0
438         (SVGImageElementImpl::notifyFinished): #if 0
439         * ksvg2/svg/SVGSVGElementImpl.cpp:
440         (SVGSVGElementImpl::pixelUnitToMillimeterX): #if 0
441         (SVGSVGElementImpl::pixelUnitToMillimeterY): #if 0
442         * kwq/DOM.mm: removed KHTML_NO_CPLUSPLUS_DOM
443         (ObjCNodeFilterCondition::acceptNode):
444         * kwq/KWQKHTMLPart.mm: removed KHTML_NO_CPLUSPLUS_DOM
445
446 2005-12-15  Eric Seidel  <eseidel@apple.com>
447
448         Fix build break.  (Files missed in previous commit.)
449
450         * khtml/css/csshelper.cpp:
451         * khtml/ecma/kjs_navigator.cpp:
452         * khtml/rendering/render_canvasimage.cpp:
453         * khtml/rendering/render_image.cpp:
454
455 2005-12-15  Adele Peterson  <adele@apple.com>
456
457         Reviewed by John.
458
459         - Fix for <rdar://problem/4258232> Crash in HTMLOptionElementImpl::index when option element has no corresponding select - http://www.mattkruse.com/javascript/datadumper/
460
461         Test: fast/forms/option-index.html
462
463         * khtml/html/html_formimpl.cpp:
464         (DOM::HTMLOptionElementImpl::index): nil check for select element.
465
466 2005-12-15  Eric Seidel  <eseidel@apple.com>
467
468         Reviewed by darin.
469
470         Remove more legacy code from khtml/kwq
471         http://bugs.webkit.org/show_bug.cgi?id=6091
472
473         No tests needed, no functionality changes.
474
475         * ForwardingHeaders/kapplication.h: Removed.
476         * ForwardingHeaders/kcompletionbox.h: Removed.
477         * ForwardingHeaders/kdatastream.h: Removed.
478         * ForwardingHeaders/kfiledialog.h: Removed.
479         * ForwardingHeaders/kfileitem.h: Removed.
480         * ForwardingHeaders/khtml_iface.h: Removed.
481         * ForwardingHeaders/khtml_pagecache.h: Removed.
482         * ForwardingHeaders/khtml_printsettings.h: Removed.
483         * ForwardingHeaders/khtml_run.h: Removed.
484         * ForwardingHeaders/kiconloader.h: Removed.
485         * ForwardingHeaders/kio/kprotocolmanager.h: Removed.
486         * ForwardingHeaders/kio/netaccess.h: Removed.
487         * ForwardingHeaders/kmessagebox.h: Removed.
488         * ForwardingHeaders/kmimetype.h: Removed.
489         * ForwardingHeaders/kmultipledrag.h: Removed.
490         * ForwardingHeaders/kparts/partmanager.h: Removed.
491         * ForwardingHeaders/kprinter.h: Removed.
492         * ForwardingHeaders/kprotocolmanager.h: Removed.
493         * ForwardingHeaders/ksimpleconfig.h: Removed.
494         * ForwardingHeaders/ksslcertchain.h: Removed.
495         * ForwardingHeaders/ksslinfodlg.h: Removed.
496         * ForwardingHeaders/kstdaction.h: Removed.
497         * ForwardingHeaders/ktempfile.h: Removed.
498         * ForwardingHeaders/ktrader.h: Removed.
499         * ForwardingHeaders/kurldrag.h: Removed.
500         * ForwardingHeaders/kxmlguifactory.h: Removed.
501         * ForwardingHeaders/netaccess.h: Removed.
502         * ForwardingHeaders/private/qucomextra_p.h: Removed.
503         * ForwardingHeaders/qasyncimageio.h: Removed.
504         * ForwardingHeaders/qbitmap.h: Removed.
505         * ForwardingHeaders/qclipboard.h: Removed.
506         * ForwardingHeaders/qdir.h: Removed.
507         * ForwardingHeaders/qdrawutil.h: Removed.
508         * ForwardingHeaders/qfontdatabase.h: Removed.
509         * ForwardingHeaders/qfontinfo.h: Removed.
510         * ForwardingHeaders/qglobal.h: Removed.
511         * ForwardingHeaders/qhbox.h: Removed.
512         * ForwardingHeaders/qinputdialog.h: Removed.
513         * ForwardingHeaders/qintcache.h: Removed.
514         * ForwardingHeaders/qmetaobject.h: Removed.
515         * ForwardingHeaders/qmovie.h: Removed.
516         * ForwardingHeaders/qobjectlist.h: Removed.
517         * ForwardingHeaders/qtooltip.h: Removed.
518         * ForwardingHeaders/scheduler.h: Removed.
519         * WebCore.xcodeproj/project.pbxproj:
520         * khtml/css/cssstyleselector.cpp:
521         * khtml/ecma/kjs_proxy.cpp:
522         (KJSProxyImpl::KJSProxyImpl):
523         (KJSProxyImpl::initScript):
524         * khtml/ecma/kjs_window.cpp:
525         * khtml/ecma/kjs_window.moc: Removed.
526         * khtml/html/html_documentimpl.cpp:
527         (DOM::HTMLDocumentImpl::HTMLDocumentImpl):
528         * khtml/html/html_documentimpl.moc: Removed.
529         * khtml/html/html_formimpl.cpp:
530         * khtml/html/html_formimpl.h:
531         * khtml/html/html_objectimpl.cpp:
532         * khtml/html/html_objectimpl.h:
533         * khtml/html/htmltokenizer.moc: Removed.
534         * khtml/khtml_part.cpp:
535         (KHTMLPart::didOpenURL):
536         (KHTMLPart::stopLoading):
537         (KHTMLPart::createJavaContext):
538         (KHTMLPart::begin):
539         (KHTMLPart::slotRedirection):
540         (KHTMLPart::setSelection):
541         (KHTMLPart::handleFallbackContent):
542         * khtml/khtml_part.h:
543         * khtml/khtml_part.moc: Removed.
544         * khtml/khtmlpart_p.h:
545         (KHTMLPartPrivate::KHTMLPartPrivate):
546         (KHTMLPartPrivate::~KHTMLPartPrivate):
547         * khtml/khtmlview.cpp:
548         (KHTMLViewPrivate::KHTMLViewPrivate):
549         (KHTMLViewPrivate::~KHTMLViewPrivate):
550         (KHTMLView::KHTMLView):
551         (KHTMLView::init):
552         (KHTMLView::resizeEvent):
553         (KHTMLView::layout):
554         (KHTMLView::viewportMousePressEvent):
555         (KHTMLView::viewportMouseDoubleClickEvent):
556         (KHTMLView::viewportMouseReleaseEvent):
557         (KHTMLView::scrollTo):
558         (KHTMLView::focusNextPrevNode):
559         (KHTMLView::focusInEvent):
560         (KHTMLView::focusOutEvent):
561         * khtml/khtmlview.h:
562         * khtml/khtmlview.moc: Removed.
563         * khtml/misc/loader.cpp:
564         (CachedImage::CachedImage):
565         (CachedImage::ref):
566         (CachedImage::deref):
567         (CachedImage::pixmap_size):
568         (CachedImage::valid_rect):
569         (CachedImage::clear):
570         (CachedXSLStyleSheet::CachedXSLStyleSheet):
571         (Cache::clear):
572         (Cache::flush):
573         (Cache::getStatistics):
574         (Cache::setCacheDisabled):
575         * khtml/misc/loader.h:
576         * khtml/misc/loader.moc: Removed.
577         * khtml/rendering/render_form.cpp:
578         (ComboBoxWidget::ComboBoxWidget):
579         (RenderSelect::createListBox):
580         (RenderSlider::slotClicked):
581         * khtml/rendering/render_form.h:
582         * khtml/rendering/render_form.moc: Removed.
583         * khtml/rendering/render_frames.cpp:
584         (RenderFrameSet::userResize):
585         (RenderPart::updateWidgetPosition):
586         * khtml/rendering/render_frames.moc: Removed.
587         * khtml/rendering/render_layer.cpp:
588         (khtml::RenderLayer::isTransparent):
589         * khtml/rendering/render_replaced.cpp:
590         (RenderWidget::destroy):
591         (RenderWidget::setSelectionState):
592         * khtml/rendering/render_replaced.moc: Removed.
593         * khtml/xml/dom_docimpl.cpp:
594         (DocumentTypeImpl::cloneNode):
595         * khtml/xml/dom_docimpl.moc: Removed.
596         * khtml/xml/xml_tokenizer.cpp:
597         * khtml/xml/xml_tokenizer.moc: Removed.
598         * ksvg2/svg/SVGImageElementImpl.cpp:
599         * kwq/KWQApplication.h:
600         (QApplication::sendEvent):
601         * kwq/KWQComboBox.h:
602         * kwq/KWQKApplication.h: Removed.
603         * kwq/KWQKHTMLPageCache.h: Removed.
604         * kwq/KWQKHTMLPart.mm:
605         (KWQKHTMLPart::openURLFromPageCache):
606         * kwq/KWQKHTMLPartBrowserExtension.h:
607         * kwq/KWQKHistoryProvider.mm:
608         * kwq/KWQKJavaAppletContext.h:
609         (KJavaAppletContext::KJavaAppletContext):
610         * kwq/KWQKPartsHistoryProvider.h:
611         * kwq/KWQKPartsPartManager.h: Removed.
612         * kwq/KWQMovie.h: Removed.
613         * kwq/KWQMovie.mm: Removed.
614         * kwq/KWQObject.h:
615         * kwq/KWQScrollView.h:
616         * kwq/KWQScrollView.mm:
617         * kwq/KWQWidget.h:
618
619 2005-12-15  Eric Seidel  <eseidel@apple.com>
620
621         Reviewed by darin.
622
623         khtml/css should use RefPtr instead of manual ref() deref()
624         http://bugs.webkit.org/show_bug.cgi?id=6094
625
626         No functionality changes, thus no tests.
627
628         * khtml/css/css_computedstyle.cpp:
629         (DOM::CSSComputedStyleDeclarationImpl::getPropertyValue):
630         * khtml/css/css_ruleimpl.cpp:
631         (DOM::CSSFontFaceRuleImpl::CSSFontFaceRuleImpl):
632         (DOM::CSSFontFaceRuleImpl::~CSSFontFaceRuleImpl):
633         (DOM::CSSImportRuleImpl::CSSImportRuleImpl):
634         (DOM::CSSImportRuleImpl::~CSSImportRuleImpl):
635         (DOM::CSSImportRuleImpl::setStyleSheet):
636         (DOM::CSSMediaRuleImpl::CSSMediaRuleImpl):
637         (DOM::CSSMediaRuleImpl::~CSSMediaRuleImpl):
638         (DOM::CSSPageRuleImpl::CSSPageRuleImpl):
639         (DOM::CSSPageRuleImpl::~CSSPageRuleImpl):
640         (DOM::CSSStyleRuleImpl::CSSStyleRuleImpl):
641         (DOM::CSSStyleRuleImpl::~CSSStyleRuleImpl):
642         (DOM::CSSStyleRuleImpl::setDeclaration):
643         * khtml/css/css_ruleimpl.h:
644         (DOM::CSSFontFaceRuleImpl::style):
645         (DOM::CSSImportRuleImpl::media):
646         (DOM::CSSImportRuleImpl::styleSheet):
647         (DOM::CSSMediaRuleImpl::cssRules):
648         (DOM::CSSPageRuleImpl::style):
649         (DOM::CSSStyleRuleImpl::style):
650         (DOM::CSSStyleRuleImpl::declaration):
651         * khtml/css/css_stylesheetimpl.cpp:
652         (StyleSheetImpl::StyleSheetImpl):
653         (StyleSheetImpl::~StyleSheetImpl):
654         (StyleSheetImpl::setMedia):
655         * khtml/css/css_stylesheetimpl.h:
656         (DOM::StyleSheetImpl::media):
657         * khtml/css/css_valueimpl.cpp:
658         (DOM::CSSMutableStyleDeclarationImpl::get4Values):
659         (DOM::CSSMutableStyleDeclarationImpl::getShortHandValue):
660         (DOM::CSSMutableStyleDeclarationImpl::merge):
661         (DOM::CSSStyleDeclarationImpl::diff):
662         (DOM::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
663         (DOM::CSSPrimitiveValueImpl::cleanup):
664         (DOM::CSSPrimitiveValueImpl::cssText):
665         (DOM::RectImpl::RectImpl):
666         (DOM::RectImpl::~RectImpl):
667         (DOM::RectImpl::setTop):
668         (DOM::RectImpl::setRight):
669         (DOM::RectImpl::setBottom):
670         (DOM::RectImpl::setLeft):
671         (DOM::PairImpl::PairImpl):
672         (DOM::PairImpl::~PairImpl):
673         (DOM::PairImpl::setFirst):
674         (DOM::PairImpl::setSecond):
675         (DOM::CSSBorderImageValueImpl::CSSBorderImageValueImpl):
676         (DOM::CSSBorderImageValueImpl::~CSSBorderImageValueImpl):
677         * khtml/css/css_valueimpl.h:
678         (DOM::RectImpl::top):
679         (DOM::RectImpl::right):
680         (DOM::RectImpl::bottom):
681         (DOM::RectImpl::left):
682         (DOM::PairImpl::first):
683         (DOM::PairImpl::second):
684         (DOM::DashboardRegionImpl::setNext):
685         (DOM::CSSProperty::CSSProperty):
686         (DOM::CSSProperty::operator=):
687         (DOM::CSSProperty::~CSSProperty):
688         (DOM::CSSProperty::setValue):
689         (DOM::CSSProperty::value):
690         * khtml/css/cssparser.cpp:
691         (CSSParser::parseColor):
692         * khtml/css/cssstyleselector.cpp:
693         (khtml::CSSStyleSelector::applyProperty):
694
695 2005-12-15  Adele Peterson  <adele@apple.com>
696
697         Reviewed by Darin and Hyatt.
698
699         Fixed <rdar://problem/4381360> REGRESSION: Focus ring on contenteditable div outlines text in overflow area instead of div (6100)
700         http://bugs.webkit.org/show_bug.cgi?id=6100
701
702         Test: fast/overflow/overflow-focus-ring.html
703
704         * khtml/rendering/render_flow.cpp:
705         (RenderFlow::addFocusRingRects): For overflow, we don't need to compute the rects for the children.
706
707 2005-12-15  Darin Adler  <darin@apple.com>
708
709         Reviewed by Tim Hatcher.
710
711         - removed unnecessary conversion between AtomicString and QString
712
713         * khtml/html/html_headimpl.cpp:
714         (HTMLScriptElementImpl::parseMappedAttribute): Remove extra conversions.
715         (HTMLScriptElementImpl::insertedIntoDocument): Ditto.
716
717 2005-12-14  Adele Peterson  <adele@apple.com>
718
719         Reviewed by Darin and Tim Hatcher.
720
721         - fixed <rdar://problem/4375502> 10.4.4 REGRESSION: Clicking on anchor tag in email causes unwanted horizontal scroll
722
723         When scrolling views, we were failing to take the current scroll position into account when calculating the new scroll position. 
724
725         * kwq/KWQScrollView.h: Added scrollPointRecursively.
726         * kwq/KWQScrollView.mm:
727         (QScrollView::scrollXOffset): Calculates the x-coordinate scroll offset for a view.
728         (QScrollView::scrollYOffset): Calculates the y-coordinate scroll offset for a view.
729         (QScrollView::scrollPointRecursively): This function walks up the view hierarchy to scroll to a point.  
730         I moved this from setContentsPos so that function would only have an effect on the current view.
731         (QScrollView::setContentsPos): return to old behavior where this function calls scrollPoint on a view and doesn't recurse.
732
733         * khtml/rendering/render_layer.cpp: (khtml::RenderLayer::scrollRectToVisible): 
734         Uses new QScrollView functions scrollXOffset and scrollYOffset to correctly calculate how a view should scroll.
735         Also determines whether or not QScrollView should try to scroll recursively (which happens when scrollRectToVisible is done calling itself recursively).
736
737 2005-12-14  Eric Seidel  <eseidel@apple.com>
738
739         Reviewed by darin.
740
741         SVG test cases changed (now the svg.css is loaded properly).
742         No other functionality changes, just code removal.
743         http://bugs.webkit.org/show_bug.cgi?id=6078
744
745         * ForwardingHeaders/klibloader.h: Removed.
746         * WebCore.xcodeproj/project.pbxproj:
747         * khtml/css/csshelper.cpp:
748         * khtml/css/cssstyleselector.cpp:
749         (khtml::CSSStyleSelector::CSSStyleSelector):
750         (khtml::parseUASheet):
751         (khtml::CSSStyleSelector::loadDefaultStyle):
752         * khtml/css/cssstyleselector.h:
753         * khtml/ecma/kjs_dom.h:
754         * khtml/ecma/kjs_events.cpp:
755         (KJS::JSAbstractEventListener::handleEvent):
756         (KJS::JSLazyEventListener::eventParameterName):
757         (KJS::JSLazyEventListener::parseCode):
758         * khtml/ecma/kjs_events.h:
759         * khtml/ecma/kjs_html.cpp:
760         (KJS::KJS::HTMLElement::implementsCall):
761         * khtml/ecma/kjs_navigator.cpp:
762         (KJS::Navigator::getValueProperty):
763         (KJS::PluginBase::PluginBase):
764         * khtml/ecma/kjs_proxy.cpp:
765         (KJSProxyImpl::KJSProxyImpl):
766         (KJSProxyImpl::evaluate):
767         (KJSProxyImpl::clear):
768         (KJSProxyImpl::createHTMLEventHandler):
769         (KJSProxyImpl::initScript):
770         * khtml/ecma/kjs_proxy.h:
771         (KJSProxyImpl::setEventHandlerLineno):
772         * khtml/ecma/kjs_traversal.cpp:
773         (KJS::JSNodeFilterCondition::acceptNode):
774         * khtml/ecma/kjs_window.cpp:
775         (KJS::Window::interpreter):
776         (KJS::Window::retrieve):
777         (KJS::Window::clear):
778         (KJS::ScheduledAction::execute):
779         * khtml/ecma/kjs_window.h:
780         * khtml/html/html_canvasimpl.cpp:
781         * khtml/html/html_documentimpl.cpp:
782         * khtml/html/html_formimpl.cpp:
783         (DOM::HTMLFormElementImpl::formData):
784         * khtml/html/html_headimpl.cpp:
785         (HTMLScriptElementImpl::evaluateScript):
786         * khtml/html/html_imageimpl.cpp:
787         * khtml/html/html_tableimpl.cpp:
788         * khtml/html/htmltokenizer.cpp:
789         (khtml::HTMLTokenizer::HTMLTokenizer):
790         (khtml::HTMLTokenizer::processToken):
791         * khtml/khtml_part.cpp:
792         (KHTMLPart::KHTMLPart):
793         (KHTMLPart::init):
794         (KHTMLPart::~KHTMLPart):
795         (KHTMLPart::restoreURL):
796         (KHTMLPart::didOpenURL):
797         (KHTMLPart::jScript):
798         (KHTMLPart::executeScript):
799         (KHTMLPart::write):
800         (KHTMLPart::reparseConfiguration):
801         (KHTMLPart::createHTMLEventListener):
802         * khtml/khtml_part.h:
803         * khtml/khtmlpart_p.h:
804         (KHTMLPartPrivate::KHTMLPartPrivate):
805         (KHTMLPartPrivate::~KHTMLPartPrivate):
806         * khtml/misc/decoder.cpp:
807         * khtml/misc/loader.cpp:
808         (CachedCSSStyleSheet::CachedCSSStyleSheet):
809         (CachedScript::CachedScript):
810         * khtml/rendering/render_flow.cpp:
811         * khtml/rendering/render_frames.cpp:
812         * khtml/rendering/render_inline.cpp:
813         * khtml/rendering/render_line.cpp:
814         * khtml/rendering/render_table.cpp:
815         * khtml/rendering/table_layout.cpp:
816         * khtml/xml/dom_docimpl.cpp:
817         (DocumentImpl::implicitOpen):
818         (DocumentImpl::write):
819         * khtml/xml/dom_nodeimpl.cpp:
820         * ksvg2/svg/SVGTestsImpl.cpp:
821         (SVGTestsImpl::isValid):
822         * kwq/DOMInternal.mm:
823         (-[WebScriptObject _initializeScriptDOMNodeImp]):
824         * kwq/KWQKGlobal.h:
825         * kwq/KWQKHTMLFactory.h:
826         (KHTMLFactory::vLinks):
827         * kwq/KWQKHTMLFactory.mm:
828         * kwq/KWQKHTMLPart.mm:
829         (KWQKHTMLPart::KWQKHTMLPart):
830         (KWQKHTMLPart::userGestureHint):
831         (KWQKHTMLPart::bindingRootObject):
832         * kwq/KWQKHTMLSettings.h:
833         (KHTMLSettings::fantasyFontName):
834         (KHTMLSettings::isJavaScriptEnabled):
835         * kwq/KWQKInstance.h: Removed.
836         * kwq/KWQKLibrary.h: Removed.
837         * kwq/KWQKPartsFactory.h: Removed.
838         * kwq/KWQKPartsPart.h:
839         (KParts::ReadOnlyPart::name):
840         * kwq/KWQKStandardDirs.h:
841         * kwq/KWQKStandardDirs.mm:
842         (locate):
843         * kwq/WebCoreBridge.mm:
844         (-[WebCoreBridge executionContextForView:]):
845
846 2005-12-14  Beth Dakin  <bdakin@apple.com>
847
848         Reviewed by John.
849
850         Extra fix for <rdar://problem/4374783> 10.4.4 REGRESSION: caret 
851         disappears when typing at the bottom of a scrollable textarea.
852
853         Should be floorf and not floor.
854
855         * kwq/KWQTextArea.mm:
856         (-[NSTextView _KWQ_updateTypingAttributes:forLineHeight:font:]):
857
858 2005-12-14  Beth Dakin  <bdakin@apple.com>
859
860         Reviewed by Eric.
861
862         Fix for <rdar://problem/4374783> 10.4.4 REGRESSION: caret 
863         disappears when typing at the bottom of a scrollable textarea.
864
865         This regression occurred because we were calculating the font
866         height incorrectly. Made changes that Doug suggested in the bug.
867
868         * kwq/KWQTextArea.mm:
869         (-[KWQTextAreaTextView setFont:]): Send the font itself to 
870         _KWQ_updateTypingAttributes
871         (-[KWQTextAreaTextView setLineHeight:]): Same.
872         (-[NSTextView _KWQ_updateTypingAttributes:forLineHeight:font:]):
873         Calculate the font height using defaultLineHeightForFont.
874
875 2005-12-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
876  
877          Reviewed by Darin & Geoff, committed by Adele.
878          
879          Test: fast/overflow/overflow-text-hit-testing.html
880  
881          Fix for <http://bugs.webkit.org/show_bug.cgi?id=5921>
882          Hit-testing text in overflows does not take scrolling into account.
883  
884          * khtml/rendering/render_text.cpp:
885          (RenderText::positionForCoordinates): Adjust for containing block scroll
886          
887 2005-12-14  Alexey Proskuryakov  <ap@nypop.com>
888
889         Reviewed by Darin, committed by Adele.
890
891         Fix for http://bugs.webkit.org/show_bug.cgi?id=4362
892         Add mac-cyrillic to the list of encodings
893
894         * kwq/mac-encodings.txt: Added maccyrillic
895
896 2005-12-13  Adele Peterson  <adele@apple.com>
897
898         Reviewed by Maciej.
899
900         Fix for http://bugs.webkit.org/show_bug.cgi?id=5465
901         REGRESSION: check box onchange event doesn't fire (radio buttons do not get disabled in Bugzilla)
902
903         Test: fast/forms/checkbox-radio-onchange.html
904
905         * khtml/html/html_formimpl.cpp:
906         (DOM::HTMLInputElementImpl::setChecked): call onChange after setting the checked state.  
907         This will match our old behavior, and Firefox behavior.  
908         This will also fire onChange for radio buttons which matches Firefox behavior.
909
910 2005-12-13  Beth Dakin  <bdakin@apple.com>
911
912         Reviewed by Hyatt and Darin.
913
914         Fix for <rdar://problem/4335884> REGRESSION: assertion failure 
915         after adding DOM element (render_container.cpp:365: beforeChild->
916         parent() == this).
917
918         When adding a child, tables should send the next to last box
919         instead of the last box as beforeChild because that is what
920         RenderContainer::insertChildNode() expects. RenderContainer
921         ::insertChildNode() will not recurse to the correct box for
922         tables because tables won't pass the isAnonymousBlock() check,
923         so tables must send the correct information to start with.
924
925         * khtml/rendering/render_table.cpp:
926         (RenderTable::addChild): Keep track of the nextToLastBox and
927         send that one to the other addChild() functions instead of the
928         lastBox.
929
930 === Safari-521~5 ===
931
932 2005-12-13  Timothy Hatcher  <timothy@apple.com>
933
934         Reviewed by Dave Hyatt.
935
936         Test: fast/dom/css-shortHands.html
937
938         First cut at leaving off implicit values in shorthand properties.
939         Need to account for multipl backgrounds and "border" later.
940
941         * khtml/css/css_valueimpl.cpp:
942         (DOM::CSSMutableStyleDeclarationImpl::get4Values):
943         (DOM::CSSMutableStyleDeclarationImpl::getShortHandValue):
944
945 2005-12-13  Anders Carlsson  <andersca@mac.com>
946
947         * ChangeLog: Add titles to the recent bugzilla bugs.
948
949 2005-12-13  Anders Carlsson  <andersca@mac.com>
950
951         Reviewed by Darin.
952
953         * khtml/ecma/kjs_css.cpp:
954         (KJS::DOMCSSStyleDeclaration::indexGetter):
955         (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
956         (KJS::DOMStyleSheetList::indexGetter):
957         (KJS::DOMStyleSheetList::nameGetter):
958         (KJS::DOMMediaList::indexGetter):
959         (KJS::DOMCSSRuleList::indexGetter):
960         (KJS::DOMCSSValueList::indexGetter):
961         * khtml/ecma/kjs_css.h:
962         * khtml/ecma/kjs_dom.cpp:
963         (KJS::DOMNodeList::indexGetter):
964         (KJS::DOMNodeList::nameGetter):
965         (KJS::DOMElement::attributeGetter):
966         (KJS::DOMNamedNodeMap::lengthGetter):
967         (KJS::DOMNamedNodeMap::indexGetter):
968         (KJS::DOMNamedNodeMap::nameGetter):
969         (KJS::DOMNamedNodesCollection::lengthGetter):
970         (KJS::DOMNamedNodesCollection::indexGetter):
971         * khtml/ecma/kjs_dom.h:
972         * khtml/ecma/kjs_html.cpp:
973         (KJS::HTMLDocument::namedItemGetter):
974         (KJS::HTMLElement::formIndexGetter):
975         (KJS::HTMLElement::formNameGetter):
976         (KJS::HTMLElement::selectIndexGetter):
977         (KJS::HTMLElement::framesetNameGetter):
978         (KJS::HTMLElement::frameWindowPropertyGetter):
979         (KJS::HTMLElement::runtimeObjectGetter):
980         (KJS::HTMLElement::runtimeObjectPropertyGetter):
981         (KJS::HTMLCollection::lengthGetter):
982         (KJS::HTMLCollection::indexGetter):
983         (KJS::HTMLCollection::nameGetter):
984         (KJS::HTMLSelectCollection::selectedIndexGetter):
985         * khtml/ecma/kjs_html.h:
986         * khtml/ecma/kjs_navigator.cpp:
987         (KJS::Plugins::indexGetter):
988         (KJS::Plugins::nameGetter):
989         (KJS::MimeTypes::indexGetter):
990         (KJS::MimeTypes::nameGetter):
991         (KJS::Plugin::indexGetter):
992         (KJS::Plugin::nameGetter):
993         * khtml/ecma/kjs_window.cpp:
994         (KJS::Window::childFrameGetter):
995         (KJS::Window::namedFrameGetter):
996         (KJS::Window::indexGetter):
997         (KJS::Window::namedItemGetter):
998         (KJS::FrameArray::indexGetter):
999         (KJS::FrameArray::nameGetter):
1000         * khtml/ecma/kjs_window.h:
1001         Update for changes to PropertySlot::GetValueFunc.
1002
1003 2005-12-13  Eric Seidel  <eseidel@apple.com>
1004
1005         Reviewed by darin.
1006
1007         Fix crash on malformed transform attributes and transforms with
1008         trailing spaces:
1009         http://bugs.webkit.org/show_bug.cgi?id=6061
1010
1011         * ksvg2/svg/SVGTransformableImpl.cpp:
1012         (SVGTransformableImpl::parseTransformAttribute):
1013
1014 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
1015
1016         - build fix for last-minute part of previous change
1017
1018         * khtml/ecma/kjs_binding.cpp:
1019
1020 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
1021
1022         Reviewed by Eric.
1023
1024         - updated for new HashCountedSet class
1025
1026         * ForwardingHeaders/kxmlcore/HashCountedSet.h: Added forwarding header.
1027         * khtml/ecma/kjs_binding.cpp: Moved #define to disable pointer specialization higher
1028         in the file.
1029
1030 2005-12-12  Justin Garcia  <justin.garcia@apple.com>
1031
1032         Reviewed by harrison
1033         
1034         <rdar://problem/4040763> VisiblePosition constructor can return a result outside of the original 
1035
1036         This bug was filed as a reminder to remove the workaround for 
1037         <rdar://problem/4033202>.  We fixed the problems with 
1038         VisiblePosition causing 4033202, so I removed the workaround 
1039         and added a layout test.
1040
1041         * khtml/editing/visible_units.cpp:
1042         (khtml::previousLinePosition):
1043
1044 2005-12-12  David Harrison  <harrison@apple.com>
1045
1046         Reviewed by Justin.
1047
1048         <rdar://problem/4027704> Paste of HTML list content can break list structure by dropping empty list items
1049
1050         Fixed by having ReplaceSelectionCommand remove empty nodes just
1051         from the ancestors of the node(s) moved by mergeStart, rather
1052         than scanning the whole fragment.
1053         
1054         Layout tests added:
1055             editing/pasteboard/paste-table-001.html
1056             editing/pasteboard/paste-list-001.html
1057             
1058         * khtml/editing/replace_selection_command.cpp:
1059         (khtml::ReplaceSelectionCommand::isProbablyTableStructureNode):
1060         (khtml::ReplaceSelectionCommand::pruneEmptyNodes):
1061         Removed no longer needed functions.
1062         
1063         (khtml::ReplaceSelectionCommand::doApply):
1064         Remove ancestor nodes emptied by mergeStart.
1065         Do that instead of calling pruneEmptyNodes().
1066         
1067         * khtml/editing/replace_selection_command.h:
1068         (khtml::ReplacementFragment::desiredStyles):
1069         Removed pruneEmptyNodes().
1070
1071 2005-12-12  Timothy Hatcher  <timothy@apple.com>
1072
1073         Reviewed by Dave Hyatt.
1074
1075         Test: fast/dom/css-selectorText.html
1076
1077         Fixes selecotrText serialization to only print "*"
1078         when it is stand alone. Fixes the attribute set selector,
1079         along with general cleanup. Also print chained selectors.
1080
1081         * khtml/css/css_base.cpp:
1082         (CSSSelector::extractPseudoType):
1083         (CSSSelector::selectorText):
1084         * khtml/css/css_ruleimpl.cpp:
1085         (DOM::CSSStyleRuleImpl::selectorText):
1086
1087 2005-12-12  Eric Seidel  <eseidel@apple.com>
1088
1089         Reviewed by ggaren.
1090
1091         Test: fast/forms/textarea-setinnerhtml.html
1092
1093         Fixes setInnerHTML for <textarea>
1094         <rdar://problem/4372143>
1095
1096         * khtml/html/html_formimpl.cpp:
1097         (DOM::HTMLTextAreaElementImpl::setValue):
1098
1099 2005-12-12  Adele Peterson  <adele@apple.com>
1100
1101         Reviewed by Dave Harrison.
1102
1103         - fixed <rdar://problem/4374673> Regression: Safari fails to scroll to top of page if (name="top") attribute is not present
1104
1105         When there's no node corresponding to the anchor (the name is empty or "top"), we still want to scroll to the top of the document.  This got left out in the conversion to the new scrolling code.
1106
1107         * khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor):
1108
1109 2005-12-12  Rob Buis  <rwlbuis@xs4all.nl>
1110
1111         Reviewed by eseidel.  Committed by eseidel.
1112
1113         Test: svg/custom/control-points-for-S-and-T.svg
1114
1115         "S" and "T" path types handle control points incorrectly
1116         http://bugs.webkit.org/show_bug.cgi?id=6042
1117
1118         * ksvg2/svg/svgpathparser.cpp:
1119         (SVGPathParser::parseSVG):
1120
1121 2005-12-12  Eric Seidel  <eseidel@apple.com>
1122
1123         Reviewed by darin.
1124
1125         No test cases needed, no functionality change.
1126         Corrected spacing, and conformance with style guidelines.
1127         http://bugs.webkit.org/show_bug.cgi?id=6039
1128
1129         * kcanvas/KCanvasFilters.cpp:
1130         * kcanvas/KCanvasFilters.h:
1131         (KCanvasFEComponentTransfer::setRedFunction):
1132         (KCanvasFEComponentTransfer::setGreenFunction):
1133         (KCanvasFEComponentTransfer::setBlueFunction):
1134         (KCanvasFEComponentTransfer::setAlphaFunction):
1135         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1136         (ciVector):
1137         (KCanvasFilterQuartz::prepareFilter):
1138         (KCanvasFilterQuartz::applyFilter):
1139         (KCanvasFilterQuartz::filterBBoxForItemBBox):
1140         (KCanvasFilterQuartz::getCIFilterStack):
1141         (KCanvasFilterQuartz::imageForName):
1142         (KCanvasFilterQuartz::setImageForName):
1143         (KCanvasFilterQuartz::setOutputImage):
1144         (alphaImageForImage):
1145         (KCanvasFilterQuartz::inputImage):
1146         (KCanvasFEBlendQuartz::getCIFilter):
1147         (KCanvasFEColorMatrixQuartz::getCIFilter):
1148         (KCanvasFECompositeQuartz::getCIFilter):
1149         (getPointLightVectors):
1150         (getLightVectors):
1151         (getNormalMap):
1152         (KCanvasFEDiffuseLightingQuartz::getCIFilter):
1153         (KCanvasFEFloodQuartz::getCIFilter):
1154         (KCanvasFEGaussianBlurQuartz::getCIFilter):
1155         (KCanvasFEMergeQuartz::getCIFilter):
1156         (KCanvasFEOffsetQuartz::getCIFilter):
1157         (KCanvasFESpecularLightingQuartz::getCIFilter):
1158         (KCanvasFETileQuartz::getCIFilter):
1159
1160 2005-12-11  Darin Adler  <darin@apple.com>
1161
1162         Reviewed by Eric.
1163
1164         - fixed http://bugs.webkit.org/show_bug.cgi?id=5538
1165           XSLT crashes with multi-word internal entity declarations
1166
1167         Added the crashing specimen as a layout test.
1168
1169         * khtml/xsl/xsl_stylesheetimpl.cpp: (DOM::XSLStyleSheetImpl::loadChildSheets):
1170         Check that the node is an element node before calling IS_XSLT_ELEM.
1171
1172 2005-12-11  Eric Seidel  <eseidel@apple.com>
1173
1174         Reviewed by darin & mjs.
1175
1176         Fixes SVG to load external scripts and report parse errors.
1177         http://bugs.webkit.org/show_bug.cgi?id=5875
1178
1179         Added 7 layout tests to exercise parse error code.
1180
1181         * khtml/xml/xml_tokenizer.cpp:
1182         (khtml::createXHTMLParserErrorHeader):
1183         (khtml::XMLTokenizer::insertErrorMessageBlock):
1184         (khtml::XMLTokenizer::executeScripts):
1185         * ksvg2/svg/SVGStyledElementImpl.h: removed broken code
1186         * ksvg2/svg/SVGStyledElementImpl.cpp: removed broken attach()
1187
1188 2005-12-11  Eric Seidel  <eseidel@apple.com>
1189
1190         Reviewed by hyatt.
1191
1192         Small fixes made during SVG code review.
1193         http://bugs.webkit.org/show_bug.cgi?id=5999
1194
1195         One test case added for conditional processing directives
1196         used outside of switch statements.
1197
1198         * WebCore+SVG/DrawDocument.mm:
1199         (-[DrawView description]):
1200         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1201         (KCanvasFEGaussianBlurQuartz::getCIFilter):
1202         * khtml/css/cssparser.cpp:
1203         (CSSParser::parseValue):
1204         * khtml/css/cssparser.h:
1205         * khtml/css/cssstyleselector.cpp:
1206         (khtml::CSSStyleSelector::loadDefaultStyle):
1207         (khtml::CSSStyleSelector::applyProperty):
1208         * khtml/css/cssstyleselector.h:
1209         * khtml/ecma/kjs_window.cpp:
1210         (KJS::Window::retrieveWindow):
1211         (KJS::Window::retrieveActive):
1212         * khtml/html/html_objectimpl.cpp:
1213         (DOM::HTMLObjectElementImpl::isImageType):
1214         * khtml/khtml_part.h:
1215         * khtml/rendering/DataRef.h:
1216         (khtml::DataRef::operator == ):
1217         (khtml::DataRef::operator != ):
1218         * khtml/rendering/render_canvas.cpp:
1219         * khtml/rendering/render_object.h:
1220         (khtml::RenderObject::localTransform):
1221         * khtml/rendering/render_style.cpp:
1222         (RenderStyle::diff):
1223         * khtml/xml/dom_docimpl.cpp:
1224         (DocumentImpl::createElementNS):
1225         (DocumentImpl::createEvent):
1226         * khtml/xml/dom_elementimpl.cpp:
1227         * khtml/xml/dom_elementimpl.h:
1228         * khtml/xml/dom_textimpl.cpp:
1229         (TextImpl::rendererIsNeeded):
1230         * ksvg2/css/KSVGCSSParser.cpp:
1231         (DOM::CSSParser::parseSVGValue):
1232         * ksvg2/css/svg.css:
1233         * ksvg2/svg/SVGDocumentImpl.cpp:
1234         * ksvg2/svg/SVGElementImpl.cpp:
1235         (SVGElementImpl::childShouldCreateRenderer):
1236         * ksvg2/svg/SVGElementImpl.h:
1237         (KSVG::SVGElementImpl::isValid):
1238
1239 2005-12-10  Maciej Stachowiak  <mjs@apple.com>
1240
1241         Not reviewed, build fix.
1242
1243         - fix SVG build for recent QTimer changes.
1244
1245         * ksvg2/misc/KSVGTimeScheduler.cpp:
1246         (KSVG::SVGTimer::SVGTimer):
1247
1248 2005-12-10  Darin Adler  <darin@apple.com>
1249
1250         Rubber stamped by Maciej.
1251
1252         - updated for KJS class renaming
1253
1254         * many files and functions
1255
1256 2005-12-10  Maciej Stachowiak  <mjs@apple.com>
1257
1258         Reviewed by Darin and Eric.
1259
1260         * Makefile.am: Support --enable-svg
1261
1262 2005-12-10  Darin Adler  <darin@apple.com>
1263
1264         Reviewed by Maciej.
1265
1266         - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
1267
1268         Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
1269
1270         * khtml/ecma/domparser.cpp:
1271         (KJS::DOMParserProtoFunc::callAsFunction):
1272         * khtml/ecma/kjs_binding.cpp:
1273         (KJS::jsStringOrNull):
1274         (KJS::setDOMException):
1275         * khtml/ecma/kjs_binding.h:
1276         (KJS::DOMFunction::toPrimitive):
1277         * khtml/ecma/kjs_css.cpp:
1278         (KJS::DOMCSSStyleDeclaration::indexGetter):
1279         (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
1280         (KJS::DOMCSSStyleDeclaration::getValueProperty):
1281         (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
1282         (KJS::DOMStyleSheet::getValueProperty):
1283         (KJS::getDOMStyleSheet):
1284         (KJS::DOMStyleSheetList::getValueProperty):
1285         (KJS::getDOMStyleSheetList):
1286         (KJS::DOMStyleSheetListFunc::callAsFunction):
1287         (KJS::DOMMediaList::getValueProperty):
1288         (KJS::DOMMediaList::indexGetter):
1289         (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
1290         (KJS::DOMCSSStyleSheet::getValueProperty):
1291         (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
1292         (KJS::DOMCSSRuleList::getValueProperty):
1293         (KJS::DOMCSSRuleListFunc::callAsFunction):
1294         (KJS::DOMCSSRule::getValueProperty):
1295         (KJS::DOMCSSRuleFunc::callAsFunction):
1296         (KJS::CSSRuleConstructor::getValueProperty):
1297         (KJS::DOMCSSValue::getValueProperty):
1298         (KJS::getDOMCSSValue):
1299         (KJS::CSSValueConstructor::getValueProperty):
1300         (KJS::DOMCSSPrimitiveValue::getValueProperty):
1301         (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
1302         (KJS::CSSPrimitiveValueConstructor::getValueProperty):
1303         (KJS::DOMCSSValueList::getValueProperty):
1304         (KJS::DOMCSSValueListFunc::callAsFunction):
1305         (KJS::DOMCounter::getValueProperty):
1306         * khtml/ecma/kjs_dom.cpp:
1307         (KJS::DOMNode::getValueProperty):
1308         (KJS::DOMNode::toPrimitive):
1309         (KJS::DOMNode::getListener):
1310         (KJS::DOMNodeProtoFunc::callAsFunction):
1311         (KJS::DOMNodeList::toPrimitive):
1312         (KJS::DOMNodeList::getValueProperty):
1313         (KJS::DOMNodeList::callAsFunction):
1314         (KJS::DOMAttr::getValueProperty):
1315         (KJS::DOMDocument::getValueProperty):
1316         (KJS::DOMDocumentProtoFunc::callAsFunction):
1317         (KJS::DOMElement::getValueProperty):
1318         (KJS::DOMElement::attributeGetter):
1319         (KJS::DOMElementProtoFunc::callAsFunction):
1320         (KJS::DOMDOMImplementationProtoFunc::callAsFunction):
1321         (KJS::DOMDocumentType::getValueProperty):
1322         (KJS::DOMNamedNodeMap::lengthGetter):
1323         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
1324         (KJS::DOMProcessingInstruction::getValueProperty):
1325         (KJS::DOMNotation::getValueProperty):
1326         (KJS::DOMEntity::getValueProperty):
1327         (KJS::getDOMNode):
1328         (KJS::NodeConstructor::getValueProperty):
1329         (KJS::DOMExceptionConstructor::getValueProperty):
1330         (KJS::DOMNamedNodesCollection::lengthGetter):
1331         (KJS::DOMCharacterData::getValueProperty):
1332         (KJS::DOMCharacterDataProtoFunc::callAsFunction):
1333         (KJS::DOMTextProtoFunc::callAsFunction):
1334         * khtml/ecma/kjs_events.cpp:
1335         (KJS::JSLazyEventListener::parseCode):
1336         (KJS::EventConstructor::getValueProperty):
1337         (KJS::DOMEvent::getValueProperty):
1338         (KJS::DOMEventProtoFunc::callAsFunction):
1339         (KJS::getDOMEvent):
1340         (KJS::EventExceptionConstructor::getValueProperty):
1341         (KJS::DOMUIEvent::getValueProperty):
1342         (KJS::DOMUIEventProtoFunc::callAsFunction):
1343         (KJS::DOMMouseEvent::getValueProperty):
1344         (KJS::DOMMouseEventProtoFunc::callAsFunction):
1345         (KJS::DOMKeyboardEvent::getValueProperty):
1346         (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
1347         (KJS::MutationEventConstructor::getValueProperty):
1348         (KJS::DOMMutationEvent::getValueProperty):
1349         (KJS::DOMMutationEventProtoFunc::callAsFunction):
1350         (KJS::DOMWheelEvent::getValueProperty):
1351         (KJS::DOMWheelEventProtoFunc::callAsFunction):
1352         (KJS::stringOrUndefined):
1353         (KJS::Clipboard::getValueProperty):
1354         (KJS::ClipboardProtoFunc::callAsFunction):
1355         * khtml/ecma/kjs_html.cpp:
1356         (KJS::KJS::HTMLDocFunction::callAsFunction):
1357         (KJS::HTMLDocument::getValueProperty):
1358         (KJS::HTMLElement::framesetNameGetter):
1359         (KJS::HTMLElement::frameWindowPropertyGetter):
1360         (KJS::HTMLElement::runtimeObjectPropertyGetter):
1361         (KJS::KJS::HTMLElement::callAsFunction):
1362         (KJS::HTMLElement::htmlGetter):
1363         (KJS::HTMLElement::headGetter):
1364         (KJS::HTMLElement::linkGetter):
1365         (KJS::HTMLElement::titleGetter):
1366         (KJS::HTMLElement::metaGetter):
1367         (KJS::HTMLElement::baseGetter):
1368         (KJS::HTMLElement::isIndexGetter):
1369         (KJS::HTMLElement::styleGetter):
1370         (KJS::HTMLElement::bodyGetter):
1371         (KJS::HTMLElement::formGetter):
1372         (KJS::HTMLElement::selectGetter):
1373         (KJS::HTMLElement::optGroupGetter):
1374         (KJS::HTMLElement::optionGetter):
1375         (KJS::getInputSelectionStart):
1376         (KJS::getInputSelectionEnd):
1377         (KJS::HTMLElement::inputGetter):
1378         (KJS::HTMLElement::textAreaGetter):
1379         (KJS::HTMLElement::buttonGetter):
1380         (KJS::HTMLElement::labelGetter):
1381         (KJS::HTMLElement::fieldSetGetter):
1382         (KJS::HTMLElement::legendGetter):
1383         (KJS::HTMLElement::uListGetter):
1384         (KJS::HTMLElement::oListGetter):
1385         (KJS::HTMLElement::dListGetter):
1386         (KJS::HTMLElement::dirGetter):
1387         (KJS::HTMLElement::menuGetter):
1388         (KJS::HTMLElement::liGetter):
1389         (KJS::HTMLElement::divGetter):
1390         (KJS::HTMLElement::paragraphGetter):
1391         (KJS::HTMLElement::headingGetter):
1392         (KJS::HTMLElement::blockQuoteGetter):
1393         (KJS::HTMLElement::quoteGetter):
1394         (KJS::HTMLElement::preGetter):
1395         (KJS::HTMLElement::brGetter):
1396         (KJS::HTMLElement::baseFontGetter):
1397         (KJS::HTMLElement::fontGetter):
1398         (KJS::HTMLElement::hrGetter):
1399         (KJS::HTMLElement::modGetter):
1400         (KJS::HTMLElement::anchorGetter):
1401         (KJS::HTMLElement::imageGetter):
1402         (KJS::HTMLElement::objectGetter):
1403         (KJS::HTMLElement::paramGetter):
1404         (KJS::HTMLElement::appletGetter):
1405         (KJS::HTMLElement::mapGetter):
1406         (KJS::HTMLElement::areaGetter):
1407         (KJS::HTMLElement::scriptGetter):
1408         (KJS::HTMLElement::tableGetter):
1409         (KJS::HTMLElement::tableCaptionGetter):
1410         (KJS::HTMLElement::tableColGetter):
1411         (KJS::HTMLElement::tableSectionGetter):
1412         (KJS::HTMLElement::tableRowGetter):
1413         (KJS::HTMLElement::tableCellGetter):
1414         (KJS::HTMLElement::frameSetGetter):
1415         (KJS::HTMLElement::frameGetter):
1416         (KJS::HTMLElement::iFrameGetter):
1417         (KJS::HTMLElement::marqueeGetter):
1418         (KJS::HTMLElement::getValueProperty):
1419         (KJS::HTMLElementFunction::HTMLElementFunction):
1420         (KJS::KJS::HTMLElementFunction::callAsFunction):
1421         (KJS::HTMLCollection::lengthGetter):
1422         (KJS::KJS::HTMLCollection::callAsFunction):
1423         (KJS::KJS::HTMLCollection::getNamedItems):
1424         (KJS::KJS::HTMLCollectionProtoFunc::callAsFunction):
1425         (KJS::HTMLSelectCollection::selectedIndexGetter):
1426         (KJS::HTMLSelectCollection::getOwnPropertySlot):
1427         (KJS::OptionConstructorImp::OptionConstructorImp):
1428         (KJS::Image::getValueProperty):
1429         (KJS::KJS::Context2DFunction::callAsFunction):
1430         (KJS::Context2D::getValueProperty):
1431         (KJS::Context2D::Context2D):
1432         (KJS::GradientFunction::callAsFunction):
1433         (KJS::Gradient::getValueProperty):
1434         (KJS::ImagePattern::getValueProperty):
1435         (KJS::getSelectHTMLCollection):
1436         * khtml/ecma/kjs_navigator.cpp:
1437         (KJS::Navigator::getValueProperty):
1438         (KJS::Plugins::getValueProperty):
1439         (KJS::Plugins::nameGetter):
1440         (KJS::MimeTypes::getValueProperty):
1441         (KJS::MimeTypes::nameGetter):
1442         (KJS::Plugin::getValueProperty):
1443         (KJS::Plugin::nameGetter):
1444         (KJS::MimeType::getValueProperty):
1445         (KJS::PluginsFunc::callAsFunction):
1446         (KJS::NavigatorFunc::callAsFunction):
1447         * khtml/ecma/kjs_proxy.cpp:
1448         (TestFunctionImp::callAsFunction):
1449         * khtml/ecma/kjs_range.cpp:
1450         (KJS::DOMRange::getValueProperty):
1451         (KJS::DOMRangeProtoFunc::callAsFunction):
1452         (KJS::RangeConstructor::getValueProperty):
1453         * khtml/ecma/kjs_traversal.cpp:
1454         (KJS::DOMNodeIterator::getValueProperty):
1455         (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
1456         (KJS::NodeFilterConstructor::getValueProperty):
1457         (KJS::DOMNodeFilterProtoFunc::callAsFunction):
1458         (KJS::DOMTreeWalker::getValueProperty):
1459         (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
1460         * khtml/ecma/kjs_views.cpp:
1461         (KJS::DOMAbstractViewProtoFunc::callAsFunction):
1462         * khtml/ecma/kjs_window.cpp:
1463         (KJS::Screen::getValueProperty):
1464         (KJS::Window::retrieve):
1465         (KJS::showModalDialog):
1466         (KJS::Window::getValueProperty):
1467         (KJS::Window::getListener):
1468         (KJS::WindowFunc::callAsFunction):
1469         (KJS::FrameArray::getValueProperty):
1470         (KJS::FrameArray::indexGetter):
1471         (KJS::FrameArray::nameGetter):
1472         (KJS::Location::getValueProperty):
1473         (KJS::Location::toPrimitive):
1474         (KJS::LocationFunc::callAsFunction):
1475         (KJS::Selection::getValueProperty):
1476         (KJS::Selection::toPrimitive):
1477         (KJS::SelectionFunc::callAsFunction):
1478         (KJS::BarInfo::getValueProperty):
1479         (KJS::History::getValueProperty):
1480         (KJS::HistoryFunc::callAsFunction):
1481         * khtml/ecma/xmlhttprequest.cpp:
1482         (KJS::XMLHttpRequest::getValueProperty):
1483         (KJS::XMLHttpRequest::getAllResponseHeaders):
1484         (KJS::XMLHttpRequest::getResponseHeader):
1485         (KJS::XMLHttpRequest::getStatus):
1486         (KJS::XMLHttpRequest::getStatusText):
1487         (KJS::XMLHttpRequestProtoFunc::callAsFunction):
1488         * khtml/ecma/xmlserializer.cpp:
1489         (KJS::XMLSerializerProtoFunc::callAsFunction):
1490         * ksvg2/ecma/Ecma.cpp:
1491         (KSVG::getSVGPathSeg):
1492         * ksvg2/ecma/GlobalObject.cpp:
1493         (GlobalObject::get):
1494         * kwq/WebCoreScriptDebugger.mm:
1495         (-[WebCoreScriptCallFrame evaluateWebScript:]):
1496
1497 2005-12-10  Maciej Stachowiak  <mjs@apple.com>
1498
1499         Reviewed by Darin and Tim Hatcher.
1500
1501         - fix WebCore SVG build for gcc 3.3 (don't know why it has these complaints)
1502
1503         * kcanvas/KCanvasFilters.h:
1504         (QPointF::QPointF): Add a default constructor
1505         (KCanvasFEConvolveMatrix::KCanvasFEConvolveMatrix): ditto
1506         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1507         (KCanvasFEBlendQuartz::getCIFilter): Move a variable declaration
1508         instead exception blocking
1509         (KCanvasFECompositeQuartz::getCIFilter): ditto
1510         (KCanvasFEMergeQuartz::getCIFilter): ditto
1511
1512 2005-12-10  Darin Adler  <darin@apple.com>
1513
1514         Reviewed by John Sullivan.
1515
1516         - fix http://bugs.webkit.org/show_bug.cgi?id=6032
1517           REGRESSION: Uncaught exception when image is dragged out of webpage
1518
1519         * WebCore.exp: Export the new WebCoreElementImageRendererKey and remove the old
1520         WebCoreElementImageKey.
1521         * kwq/WebCoreBridge.h: Add WebCoreElementImageRendererKey, remove WebCoreElementImageKey.
1522         * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Pass the image renderer in the
1523         dictionary, but not the NSImage.
1524
1525 2005-12-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1526
1527         Reviewed and landed by Darin.
1528
1529         - fix http://bugs.webkit.org/show_bug.cgi?id=6029
1530           plainText() returns a partial result when the node contains RTL text
1531
1532         Test: fast/dom/inner-text-rtl.html
1533
1534         * khtml/editing/visible_text.cpp:
1535         (khtml::TextIterator::handleTextBox): Avoid advancing m_sortedTextBoxes if textBoxEnd wasn't reached.
1536         * kwq/KWQListImpl.h:
1537         * kwq/KWQListImpl.mm:
1538         (KWQListImpl::getNext): Added.
1539         (KWQListImpl::getPrev): Added.
1540         * kwq/KWQPtrList.h:
1541         (QPtrList::getNext): Added.
1542         (QPtrList::getPrev): Added.
1543
1544 2005-12-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1545
1546         Reviewed by Hyatt, landed by Darin.
1547
1548         - fixed http://bugs.webkit.org/show_bug.cgi?id=5826
1549           Blocks with direction:rtl and overflow:auto or scroll have incorrect scrollbars
1550
1551         * khtml/rendering/render_block.cpp: (khtml::RenderBlock::leftmostPosition):
1552         * khtml/rendering/render_layer.cpp:
1553         (khtml::RenderLayer::RenderLayer): Initialize
1554         (khtml::RenderLayer::scrollOffset):
1555         (khtml::RenderLayer::subtractScrollOffset):
1556         (khtml::RenderLayer::scrollToOffset):
1557         (khtml::RenderLayer::scrollRectToVisible):
1558         (khtml::RenderLayer::updateScrollPositionFromScrollbars):
1559         (khtml::RenderLayer::computeScrollDimensions):
1560         (khtml::RenderLayer::updateScrollInfoAfterLayout):
1561         * khtml/rendering/render_layer.h:
1562         (khtml::RenderLayer::scrollXOffset):
1563         (khtml::RenderLayer::scrollToYOffset):
1564
1565 2005-12-10  Graham Dennis  <Graham.Dennis@gmail.com>
1566
1567         Reviewed by Hyatt, landed by Darin.
1568
1569         - fix http://bugs.webkit.org/show_bug.cgi?id=3983
1570           outline:auto improperly puts outline around contained elements, not the actual div
1571
1572         * khtml/rendering/render_flow.cpp: (RenderFlow::addFocusRingRects):
1573         Only add the rect if this is a RenderBlock.
1574
1575 2005-12-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1576
1577         Reviewed and landed by Darin.
1578
1579         - fixed http://bugs.webkit.org/show_bug.cgi?id=5784
1580           Assertion failure in DocumentImpl::removeElementById() (idCount > 0)
1581           Another symptom is that getElementById doesn't work when the ID is on a duplicate
1582           <html> or <body> element.
1583
1584         Added a new layout test that checks for at least one symptom of the bug.
1585
1586         * khtml/html/htmlparser.cpp: (HTMLParser::handleError): Use setAttribute here instead
1587         of using insertAttribute and calling recalcStyle explicitly. That's because setAttribute
1588         does other things that are needed to change an attribute in an attribute map that's
1589         already connected to an element, including updating the ID map if the attribute is
1590         the ID attribute.
1591
1592         * khtml/xml/dom_elementimpl.h: (DOM::NamedAttrMapImpl::insertAttribute):
1593         Assert that this parser-only function is only used on attribute maps that aren't yet
1594         attached to elements.
1595
1596 2005-12-10  Darin Adler  <darin@apple.com>
1597
1598         Reviewed by Eric and Tim Omernick.
1599
1600         - speed up timers by using CFTimerRunLoopRef instead of NSTimer
1601           http://bugs.webkit.org/show_bug.cgi?id=5677
1602
1603         * kwq/KWQObject.h: Removed pauseTimer, resumeTimers, and _addTimer, added timerIntervals and
1604         restartTimer. Made KWQObjectSenderScope functions be inline.
1605         * kwq/KWQObject.mm:
1606         (timerFired): Added. Function called when the CFRunLoopTimerRef fires. Puts the timer into the
1607         deferred timer array if timers are deferred, otherwise makes a QTimerEvent and calls timerEvent
1608         on the target.
1609         (QObject::startTimer): Moved most of the code inside restartTimer. This now just picks a new
1610         timer ID and calls restartTimer.
1611         (QObject::restartTimer): Added. Creates a KWQObjectTimer and puts it in a timers dictionary.
1612         That includes creating a CFRunLoopTimer and scheduling it on the current run loop.
1613         (QObject::timerIntervals): Added. Looks up a timer and returns the intervals for next time to
1614         fire and the "fire again" interval.
1615         (deleteTimer): Added. Invalidates and then removes a timer.
1616         (QObject::killTimer): Changed to use deleteTimer to do most of its work.
1617         (deleteOneTimer): Added. Calls deleteTimer.
1618         (QObject::killTimers): Changed to use deleteOneTimer to do most of its work.
1619         (sendDeferredTimerEvent): Added. Creates a QTimerEvent and calls timerEvent on the target.
1620         (sendDeferredTimerEvents): Added. Calls sendDeferredTimerEvent in a loop on all the deferred timers.
1621         (QObject::setDefersTimers): Updated to call sendDeferredTimerEvents as needed.
1622
1623         * kwq/KWQTimer.h:
1624         (QTimer::QTimer): Made constructor inline and removed the optional parameter.
1625         (QTimer::isActive): Made inline.
1626         (QTimer::fireDate): Added. Inline function.
1627         Got rid of the NSTimer and added a CFRunLoopTimer.
1628         * kwq/KWQTimer.mm:
1629         (timerFired): Added. Calls fire on the QTimer object.
1630         (QTimer::start): Changed to create a CFRunLoopTimer.
1631         (QTimer::stop): Changed to use CFRunLoopTimer functions.
1632         (QTimer::fire): Ditto.
1633
1634         * khtml/ecma/kjs_window.h: Added PausedTimeouts class. Moved WindowQObject class up in the
1635         file so it can be used inline in the implementation of the Window class, and changed to
1636         use the PausedTimeouts class intead of a QMap to store the paused timeouts.
1637         * khtml/ecma/kjs_window.cpp:
1638         (KJS::ScheduledAction::execute): Put a check for nil part at the start; this replaces
1639         a check in the caller and a check partway down this function (after the part was
1640         already dereferenced). Fixed message handling so the message is not converted to ascii
1641         and back. Added an isObject() check so we won't crash if the passed function is a value
1642         that's not an object. Changed check for function vs. script to check for a function
1643         of nil instead of using a separate boolean.
1644         (KJS::WindowQObject::pauseTimeouts): Updated to create the new PausedTimeouts object,
1645         using the new QObject::timerIntervals function rather than the old QObject::pauseTimer
1646         function. This means that the paused timers are entirely stored in the PausedTimeouts
1647         object instead of being half in a QMap and the other half inside the QObject itself.
1648         (KJS::WindowQObject::resumeTimeouts): Ditto, using the new QObject::restartTimer function.
1649         (KJS::PausedTimeouts::~PausedTimeouts): Added. Deletes the stored timeouts, including
1650         the scheduled actions, unless the timeouts have already been resumed (in which case the
1651         m_array field will be 0).
1652
1653         * kwq/KWQKHTMLPart.h: Renamed pause/resumeActions to pause/resumeTimeouts and made them
1654         use the PausedTimeouts class and no longer take a key parameter.
1655         * kwq/KWQKHTMLPart.mm:
1656         (KWQKHTMLPart::redirectionTimerStartedOrStopped): Use the new fireDate() function rathe than
1657         the old getNSTimer() function to get the fire date.
1658         (KWQKHTMLPart::pauseTimeouts): Remove the call to hasTimeouts and the key parameter.
1659         (KWQKHTMLPart::resumeTimeouts): Remove the key parameter.
1660         (KWQKHTMLPart::openURLFromPageCache): Change the timeout handling to use PausedTimeouts instead
1661         of a QMap for the paused timeouts.
1662
1663         * kwq/KWQPageState.h: Changed to use PausedTimeouts instead of a QMap for timeouts.
1664         Added a pausedTimeouts parameter to the initializer and removed the setPausedActions: method.
1665         * kwq/KWQPageState.mm:
1666         (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:interpreterBuiltins:pausedTimeouts:]):
1667         Added code where it sets the pausedTimouts.
1668         (-[KWQPageState pausedTimeouts]): Added.
1669         (-[KWQPageState clear]): Added code to delete the pausedTimeouts and to deref mousePressNode.
1670         (-[KWQPageState invalidate]): Fixed bug where document would not be deref'd if the view was 0.
1671         (-[KWQPageState dealloc]): Removed code to deref mousePressNode since that's now handled in the clear method.
1672         (-[KWQPageState finalize]): Set document to 0 after deref for consistency.
1673
1674         * kwq/WebCoreBridge.mm: (-[WebCoreBridge saveDocumentToPageCache]): Changed to pass in the
1675         paused timeouts using the new pauseTimeouts function.
1676
1677 2005-12-09  Justin Garcia  <justin.garcia@apple.com>
1678
1679         <rdar://problem/4370209> Reproducible crash when pasting over whitespace:pre text
1680         <rdar://problem/4370220> Double or triple clicking in whitespace:pre text creates incorrect selections
1681         Some preparation for a fix for:
1682         <radar://problem/4364427> triple-click includes first item on next line (www.apple.com, but I think I've seen it elsewhere)
1683         
1684         There were a few bugs in endOfParagraph's and endOfLine's handling of IncludeLineBreak.
1685         The IncludeLinebreak concept also doesn't make sense: when asked to 
1686         IncludeLineBreak, "endOfParagraph" would return the start of the next paragraph.  
1687         Callers that want this funtionality should just call endOfParagraph and then get next() 
1688         if it exists.
1689         In endOfParagraph's whitespace:pre handling, when the input visible position
1690         was at the end of a text node with whitespace:pre, that text node was searched
1691         for '/n'.  It should be skipped.
1692         
1693         Reviewed by harrison
1694
1695         Added new layout tests in editing/pasting and editing/selection
1696
1697         * khtml/editing/SelectionController.cpp:
1698         (khtml::SelectionController::validate):
1699         * khtml/editing/composite_edit_command.cpp:
1700         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
1701         * khtml/editing/visible_units.cpp:
1702         (khtml::endOfLine):
1703         (khtml::isEndOfLine):
1704         (khtml::endOfParagraph):
1705         (khtml::isEndOfParagraph):
1706         * khtml/editing/visible_units.h:
1707
1708 2005-12-09  Tim Omernick  <timo@apple.com>
1709
1710         Reviewed by Darin.
1711
1712         <rdar://problem/4371187> 10.4.4 Regression: Anchor tags for navigation
1713         within messages in HTML mail no longer working
1714
1715         A kwq category on NSView used to ensure scrolling the super NSClipViews, but that is gone now.
1716         Implemented equivalent functionality by walking up the view hierarchy in QScrollView::setContentsPos().
1717
1718         * kwq/KWQScrollView.mm:
1719         (QScrollView::setContentsPos):
1720
1721 2005-12-08  Tim Omernick  <timo@apple.com>
1722
1723         Reviewed by Maciej.
1724
1725         <rdar://problem/4311703> Crash in NPN_Invoke receiving contents of http://www.woodieschilidogs.com/ in Mail.app
1726
1727         * kwq/KWQKHTMLPart.mm:
1728         (KWQKHTMLPart::windowScriptNPObject):
1729         The window script object can be 0 if JavaScript is disabled.  However, callers (like plugins) expect us to
1730         always return a window script object here.  By substituting a plain ObjectImp for the window's ObjectImp,
1731         we can satisfy callers' assumptions and let them try to manipulate the dummy object when JavaScript is
1732         disabled.
1733
1734 2005-12-08  David Harrison  <harrison@apple.com>
1735
1736         Reviewed by Geoff.
1737         
1738         <rdar://problem/4366496> 10.4.4 Regression: "Corel Painter IX (v9.1)"
1739         crashed when going from the "Open a template" menu to "Select recent
1740         Document" in the "Welcome to Corel XI!" window.
1741         
1742         These are the parts of that bug fix that were not already fixed in TOT.
1743
1744         * kwq/KWQComboBox.mm:
1745         (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
1746         Retain the event because it is the [NSApp currentEvent], which can
1747         change and therefore be released during [super trackMouse:...]
1748         
1749         * kwq/KWQKHTMLPart.mm:
1750         (KWQKHTMLPart::sendFakeEventsAfterWidgetTracking):
1751         Allow for the event not being leftmousedown or keydown
1752
1753 2005-12-08  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1754
1755         Reviewed by eseidel.  Committed by eseidel.
1756         
1757         No test possible since this fixes random behavior.
1758
1759         Fixed http://bugs.webkit.org/show_bug.cgi?id=5997
1760         REGRESSION: Focus rings around links are not erased when focus is lost
1761
1762         * khtml/xml/dom_nodeimpl.cpp:
1763         (DOM::NodeImpl::NodeImpl): Initialize m_inDetach to false.
1764
1765 2005-12-08  Eric Seidel  <eseidel@apple.com>
1766
1767         Reviewed by darin.
1768
1769         No applet test (mjs says DRT has kittens in that case)
1770         SVG is covered by <use> test cases (5 tests).
1771
1772         Fixes <applet> in xhtml, as well as <use> in SVG.
1773         http://bugs.webkit.org/show_bug.cgi?id=5987
1774
1775         * khtml/xml/xml_tokenizer.cpp:
1776         (khtml::XMLTokenizer::endElementNs): call closeRenderer()
1777
1778 2005-12-08  Darin Adler  <darin@apple.com>
1779
1780         Reviewed by Eric.
1781
1782         - fix http://bugs.webkit.org/show_bug.cgi?id=5686
1783           make Shared::deref faster by eliminating multiple branches
1784
1785         * khtml/misc/shared.h: Rewrote both Shared and TreeShared to be functionally
1786         the same, but used signed reference counts and remove the extra
1787         check inside deref that handles the case of extra derefs (a programming
1788         mistake in any case). This elimnates a branch from a hot code path.
1789         Also added license header. New versions have private data members, unlike
1790         the old ones that used protected.
1791
1792         * khtml/rendering/render_replaced.h: Removed private inheritance from
1793         Shared, and instead just declared a variable that holds a reference count,
1794         because that's the only thing that was being used from Shared.
1795         * khtml/rendering/render_replaced.cpp:
1796         (RenderWidget::RenderWidget): Initialized m_refCount.
1797         (RenderWidget::~RenderWidget): Use m_refCount.
1798         (RenderWidget::eventFilter): Ditto.
1799         (RenderWidget::deref): Use m_refCount and the new faster idiom (although here
1800         it's not important becaue the function isn't even inlined).
1801
1802 2005-12-08  Eric Seidel  <eseidel@apple.com>
1803
1804         No review needed, build fix only.
1805
1806         * ksvg2/css/KSVGCSSParser.cpp:
1807         (DOM::CSSParser::parseSVGValue): parseShorthand rename
1808         * ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp: missing header
1809         * ksvg2/svg/SVGFELightElementImpl.cpp: missing header
1810         * ksvg2/svg/SVGFESpecularLightingElementImpl.cpp: missing header
1811
1812 2005-12-08  Darin Adler  <darin@apple.com>
1813
1814         Reviewed by Eric.
1815
1816         - fixed http://bugs.webkit.org/show_bug.cgi?id=5689
1817           add support for CSS "custom cursors" (cursor images)
1818
1819         * khtml/css/css_computedstyle.cpp:
1820         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Added code to the
1821         CSS_PROP_CURSOR case to handle cursor images.
1822         * khtml/css/cssparser.cpp: (CSSParser::parseValue): Allow and parse a URL for the
1823         cursor for the image case.
1824         * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty): Do
1825         the appropriate inherit and initial for CSS_PROP_CURSOR, and allow either an
1826         identifier or a URL for the value.
1827         * khtml/html/html_inlineimpl.cpp: (DOM::HTMLAnchorElementImpl::defaultEventHandler):
1828         Removed inappropriate call to resetCursor. We don't change the cursor shape just
1829         because we're following a link.
1830         * khtml/khtmlview.cpp:
1831         (selectCursor): Added. New function that chooses the appropriate cursor.
1832         Includes new logic to handle image cursors.
1833         (KHTMLView::viewportMouseMoveEvent): Refactored to use selectCursor to choose
1834         the appropriate cursor.
1835         * kwq/KWQClipboard.mm: (KWQClipboard::dragNSImage): Call the function to get an
1836         image renderer by its new name, imageRenderer().
1837         * kwq/KWQCursor.mm:
1838         (createCustomCursor): Added.
1839         (QCursor::QCursor): Changed constructor that takes a QPixmap to call createCustomCursor.
1840         * kwq/KWQKHTMLPart.mm:
1841         (KWQKHTMLPart::khtmlMouseMoveEvent): Replaced a call to resetCursor with a call to
1842         setCursor(QCursor()).
1843         (KWQKHTMLPart::fileWrapperForElement): Fixed code that assumed the render object is always
1844         a RenderImage. Call TIFFRepresentation on the image renderer instead of incorrectly assuming
1845         it's always an NSImage.
1846         * kwq/KWQPainter.mm:
1847         (QPainter::drawFloatPixmap): Call imageRenderer function instead of getting right at the
1848         data member.
1849         (QPainter::drawTiledPixmap): Ditto.
1850         (QPainter::drawScaledAndTiledPixmap): Ditto.
1851         * kwq/KWQPixmap.h: Removed convertToImage(), renamed image() to imageRenderer().
1852         * kwq/KWQPixmap.mm: Similar name changes.
1853         * kwq/KWQWidget.mm: (QWidget::setCursor): To workaround extra work done by AppKit when you set
1854         the cursor to the same one, check if the cursor is already set before calling setDocumentCursor.
1855         * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Call the image method on the image
1856         renderer instead of incorrectly assuming the renderer itself is an image.
1857
1858         * kwq/WebCoreImageRenderer.h: Added a TIFFRepresentation method to this protocol.
1859
1860 2005-12-07  David Hyatt  <hyatt@apple.com>
1861
1862         Fix for Radar bug #4333923, typing tab character into empty
1863         document in Mail doesn't work.  This was just a silly regression
1864         from my pre-wrap/pre-line implementation.  I accidentally changed
1865         code to examine the wrong style().
1866         
1867         Reviewed by harrison
1868
1869         * khtml/rendering/bidi.cpp:
1870         (khtml::RenderBlock::findNextLineBreak):
1871
1872 2005-12-07  David Hyatt  <hyatt@apple.com>
1873
1874         Fix the DHTML menus on monster.com.  offsetParent should only return RenderObjects that
1875         have corresponding DOM elements.
1876         
1877         Reviewed by Eric Seidel
1878
1879         * khtml/rendering/render_object.cpp:
1880         (RenderObject::offsetParent):
1881
1882 2005-12-07  Eric Seidel  <eseidel@apple.com>
1883
1884         No review needed, removing dead (svg only) files.
1885
1886         Removing unused files.
1887
1888         * kcanvas/KCanvasRegistry.cpp: Removed.
1889         * kcanvas/KCanvasRegistry.h: Removed.
1890
1891 2005-12-05  David Hyatt  <hyatt@apple.com>
1892
1893         Add support for more methods for exposing more useful style information.
1894
1895         getMatchedCSSRules can be used to obtain the matched sheet rules for an element.  In Obj-C
1896         it will also include user/user agent sheet rules.
1897
1898         Also add support for tracking the original shorthand in which a property was declared, as well
1899         as whether the property was just implicitly set rather than explicitly mentioned (e.g., if it was
1900         an omitted piece of a shorthand).  The new methods on CSSStyleDeclaration are getPropertyShorthand
1901         and isPropertyImplicit.
1902         
1903         Reviewed by mjs
1904
1905         Test: fast/inspector/style.html
1906
1907         * khtml/css/css_computedstyle.h:
1908         (DOM::CSSComputedStyleDeclarationImpl::getPropertyShorthand):
1909         (DOM::CSSComputedStyleDeclarationImpl::isPropertyImplicit):
1910         * khtml/css/css_valueimpl.cpp:
1911         (DOM::CSSStyleDeclarationImpl::getPropertyShorthand):
1912         (DOM::CSSStyleDeclarationImpl::isPropertyImplicit):
1913         (DOM::CSSMutableStyleDeclarationImpl::getPropertyPriority):
1914         (DOM::CSSMutableStyleDeclarationImpl::getPropertyShorthand):
1915         (DOM::CSSMutableStyleDeclarationImpl::isPropertyImplicit):
1916         (DOM::CSSProperty::cssText):
1917         (DOM::operator==):
1918         * khtml/css/css_valueimpl.h:
1919         (DOM::CSSProperty::CSSProperty):
1920         (DOM::CSSProperty::operator=):
1921         (DOM::CSSProperty::~CSSProperty):
1922         (DOM::CSSProperty::setValue):
1923         (DOM::CSSProperty::shorthandID):
1924         (DOM::CSSProperty::isImportant):
1925         (DOM::CSSProperty::isImplicit):
1926         * khtml/css/cssparser.cpp:
1927         (CSSParser::CSSParser):
1928         (CSSParser::addProperty):
1929         (CSSParser::parseValue):
1930         (CSSParser::parseBackgroundShorthand):
1931         (CSSParser::parseShorthand):
1932         (CSSParser::parse4Values):
1933         (CSSParser::parseBackgroundPosition):
1934         (CSSParser::parseBackgroundProperty):
1935         * khtml/css/cssparser.h:
1936         (DOM::CSSParser::enterShorthand):
1937         (DOM::CSSParser::exitShorthand):
1938         (DOM::CSSParser::inShorthand):
1939         * khtml/css/cssstyleselector.cpp:
1940         (khtml::CSSStyleSelector::CSSStyleSelector):
1941         (khtml::CSSStyleSelector::matchRules):
1942         (khtml::CSSStyleSelector::matchRulesForList):
1943         (khtml::CSSStyleSelector::initForStyleResolve):
1944         (khtml::CSSStyleSelector::styleRulesForElement):
1945         (khtml::CSSStyleSelector::pseudoStyleRulesForElement):
1946         * khtml/css/cssstyleselector.h:
1947         * khtml/ecma/kjs_css.cpp:
1948         (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
1949         * khtml/ecma/kjs_css.h:
1950         (KJS::DOMCSSStyleDeclaration::):
1951         * khtml/ecma/kjs_views.cpp:
1952         (KJS::DOMAbstractViewProtoFunc::callAsFunction):
1953         * khtml/ecma/kjs_views.h:
1954         (KJS::DOMAbstractView::):
1955         * khtml/xml/dom2_viewsimpl.cpp:
1956         (DOM::AbstractViewImpl::getComputedStyle):
1957         (DOM::AbstractViewImpl::getMatchedCSSRules):
1958         * khtml/xml/dom2_viewsimpl.h:
1959         * kwq/DOM-CSS.mm:
1960         (-[DOMCSSStyleDeclaration getPropertyShorthand:]):
1961         (-[DOMCSSStyleDeclaration isPropertyImplicit:]):
1962         (-[DOMDocument getMatchedCSSRules::]):
1963         * kwq/DOMPrivate.h:
1964
1965 2005-12-04  Maciej Stachowiak  <mjs@apple.com>
1966
1967         Reviewed by Eric.
1968
1969         - add PassRefPtr, a smart pointer class that works in conjunction
1970         with RefPtr but has transfer-of-ownership semantics
1971         - apply RefPtr and PassRefPtr to UString
1972
1973         * khtml/ecma/kjs_binding.cpp:
1974         (KJS::UString::UString):
1975
1976 2005-12-05  Justin Garcia  <justin.garcia@apple.com>
1977
1978         <http://bugs.webkit.org/show_bug.cgi?id=5936>
1979         REGRESSION: selection keeps growing after double-click
1980         Also filed as <rdar://problem/4364425>
1981
1982         Reviewed by darin, harrison
1983         
1984         Rolled back previous change, simplified expansion, fixed 
1985         adjustForEditableContent to work in cases where start/end are 
1986         distinct from base/extent, renamed m_baseIsStart to m_baseIsFirst.
1987         
1988         Added two new layout tests in editing/selection to test
1989         modifying selections created with double and triple clicks.
1990
1991         * khtml/editing/SelectionController.cpp:
1992         (khtml::SelectionController::SelectionController):
1993         (khtml::SelectionController::init):
1994         (khtml::SelectionController::operator=):
1995         (khtml::SelectionController::expandUsingGranularity):
1996         (khtml::SelectionController::adjustForEditableContent):
1997         (khtml::SelectionController::validate):
1998         * khtml/editing/SelectionController.h:
1999         * khtml/khtml_part.cpp:
2000         (KHTMLPart::handleMouseMoveEventSelection):
2001         (KHTMLPart::khtmlMouseMoveEvent):
2002
2003 2005-12-05  Eric Seidel  <eseidel@apple.com>
2004
2005         Rubber-stamped by mjs.
2006
2007         * WebCore.xcodeproj/project.pbxproj: updated paths for SVG move.
2008
2009 2005-12-05  Eric Seidel  <eseidel@apple.com>
2010
2011         Reviewed by darin.
2012
2013         No test cases possible/necessary.
2014
2015         Removing unused ForwardingHeaders, as well as header cleanup in SVG
2016         Fixed KSVG2 files to include proper KDOM headers.
2017         Fixed KDOM forwarding headers to point to correct khtml headers.
2018         Added DataRef.h to hold khtml::DataRef.
2019         Made SVGRenderStyle a DataRef on RenderStyle.
2020         (Landing two bugs at once as their project file changes intertwine)
2021
2022         http://bugs.webkit.org/show_bug.cgi?id=5942
2023         http://bugs.webkit.org/show_bug.cgi?id=5943
2024
2025         * ForwardingHeaders/kdom/DOMString.h:
2026         * ForwardingHeaders/kdom/KDOMSettings.h:
2027         * ForwardingHeaders/kdom/cache/KDOMCachedDocument.h:
2028         * ForwardingHeaders/kdom/cache/KDOMCachedImage.h:
2029         * ForwardingHeaders/kdom/cache/KDOMCachedObject.h:
2030         * ForwardingHeaders/kdom/cache/KDOMCachedObjectClient.h:
2031         * ForwardingHeaders/kdom/cache/KDOMCachedScript.h:
2032         * ForwardingHeaders/kdom/cache/KDOMLoader.h:
2033         * ForwardingHeaders/kdom/core/AttrImpl.h:
2034         * ForwardingHeaders/kdom/core/CDFInterface.h: Removed.
2035         * ForwardingHeaders/kdom/core/DOMImplementationImpl.h:
2036         * ForwardingHeaders/kdom/core/DOMStringImpl.h:
2037         * ForwardingHeaders/kdom/core/DocumentImpl.h:
2038         * ForwardingHeaders/kdom/core/ElementImpl.h:
2039         * ForwardingHeaders/kdom/core/NodeImpl.h:
2040         * ForwardingHeaders/kdom/core/XMLElementImpl.h:
2041         * ForwardingHeaders/kdom/css/CSSPrimitiveValueImpl.h:
2042         * ForwardingHeaders/kdom/css/CSSStyleRuleImpl.h:
2043         * ForwardingHeaders/kdom/css/CSSStyleSelector.h:
2044         * ForwardingHeaders/kdom/css/CSSStyleSheetImpl.h:
2045         * ForwardingHeaders/kdom/css/CSSValueImpl.h:
2046         * ForwardingHeaders/kdom/css/KDOMCSSParser.h:
2047         * ForwardingHeaders/kdom/css/RGBColorImpl.h:
2048         * ForwardingHeaders/kdom/events/UIEventImpl.h:
2049         * ForwardingHeaders/kdom/events/kdomevents.h:
2050         * ForwardingHeaders/kdom/kdom.h:
2051         * ForwardingHeaders/ksvg2/KSVGPart.h:
2052         * ForwardingHeaders/ksvg2/KSVGView.h:
2053         * WebCore+SVG/KDOMHeaders.h:
2054         * WebCore+SVG/KDOMStubClasses.h: Removed.
2055         * WebCore+SVG/kdomcss.h: Removed.
2056         * WebCore+SVG/kdomls.h: Removed.
2057         * WebCore+SVG/kdomrange.h: Removed.
2058         * WebCore+SVG/kdomtraversal.h: Removed.
2059         * WebCore.xcodeproj/project.pbxproj:
2060         * kcanvas/KCanvasTreeDebug.cpp:
2061         (writeStyle):
2062         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
2063         (KCanvasItemQuartz::drawMarkersIfNeeded):
2064         * khtml/rendering/DataRef.h: Added.
2065         (khtml::DataRef::DataRef):
2066         (khtml::DataRef::~DataRef):
2067         (khtml::DataRef::operator->):
2068         (khtml::DataRef::get):
2069         (khtml::DataRef::access):
2070         (khtml::DataRef::init):
2071         (khtml::DataRef::operator=):
2072         (khtml::DataRef::operator == ):
2073         (khtml::DataRef::operator != ):
2074         * khtml/rendering/render_style.cpp:
2075         (m_affectedByAttributeSelectors):
2076         (RenderStyle::RenderStyle):
2077         (RenderStyle::inheritFrom):
2078         (RenderStyle::~RenderStyle):
2079         (RenderStyle::operator==):
2080         (RenderStyle::inheritedNotEqual):
2081         (RenderStyle::diff):
2082         * khtml/rendering/render_style.h:
2083         (khtml::RenderStyle::svgStyle):
2084         (khtml::RenderStyle::accessSVGStyle):
2085         * ksvg2/css/SVGCSSStyleSelector.cpp:
2086         (KDOM::CSSStyleSelector::applySVGProperty):
2087         * ksvg2/css/SVGRenderStyle.cpp:
2088         (SVGRenderStyle::SVGRenderStyle):
2089         (SVGRenderStyle::inheritedNotEqual):
2090         * ksvg2/css/SVGRenderStyle.h:
2091         (KSVG::SVGRenderStyle::operator!=):
2092         * ksvg2/css/SVGRenderStyleDefs.cpp:
2093         * ksvg2/misc/KCanvasRenderingStyle.h:
2094         * ksvg2/svg/SVGAElementImpl.cpp:
2095         (SVGAElementImpl::defaultEventHandler):
2096         * ksvg2/svg/SVGAnimationElementImpl.cpp:
2097         * ksvg2/svg/SVGClipPathElementImpl.cpp:
2098         * ksvg2/svg/SVGCursorElementImpl.cpp:
2099         * ksvg2/svg/SVGDOMImplementationImpl.cpp:
2100         * ksvg2/svg/SVGDOMImplementationImpl.h:
2101         * ksvg2/svg/SVGDocumentImpl.cpp:
2102         * ksvg2/svg/SVGDocumentImpl.h:
2103         * ksvg2/svg/SVGElementImpl.h:
2104         * ksvg2/svg/SVGFEFloodElementImpl.cpp:
2105         (SVGFEFloodElementImpl::filterEffect):
2106         * ksvg2/svg/SVGGradientElementImpl.cpp:
2107         * ksvg2/svg/SVGStyleElementImpl.cpp:
2108         * ksvg2/svg/SVGStyledElementImpl.cpp:
2109         * ksvg2/svg/SVGURIReferenceImpl.h:
2110         * ksvg2/svg/SVGZoomAndPanImpl.h:
2111
2112 2005-12-05  Eric Seidel  <eseidel@apple.com>
2113
2114         Reviewed by timo.
2115
2116         5 test cases updated, no additional tests needed.
2117
2118         Removed KCPathData, KCPathDataList and KCanvasUserData.
2119         Added KCanvasPath and KCanvasPathQuartz instead.
2120         Updated methods to expect KCanvasPath* types and use RefPtr.
2121         Removed no longer needed KCPathDataList -> KCanvasUserData routines
2122         http://bugs.webkit.org/show_bug.cgi?id=5747
2123
2124         * WebCore.xcodeproj/project.pbxproj: added KCanvasPath(Quartz)
2125         * kcanvas/KCanvasCreator.cpp:
2126         (KCanvasCreator::createRoundedRectangle): updated to KCanvasPath*
2127         (KCanvasCreator::createRectangle): updated to KCanvasPath*
2128         (KCanvasCreator::createEllipse): updated to KCanvasPath*
2129         (KCanvasCreator::createCircle): updated to KCanvasPath*
2130         (KCanvasCreator::createLine): updated to KCanvasPath*
2131         * kcanvas/KCanvasCreator.h:
2132         * kcanvas/KCanvasItem.cpp:
2133         (RenderPath::Private::Private): updated to KCanvasPath*
2134         (RenderPath::~RenderPath):
2135         (RenderPath::changePath):
2136         (RenderPath::path): updated to KCanvasPath*
2137         * kcanvas/KCanvasItem.h:
2138         * kcanvas/KCanvasMatrix.cpp:
2139         * kcanvas/KCanvasMatrix.h:
2140         * kcanvas/KCanvasPath.cpp:
2141         (operator<<): updated to call device->stringForPath()
2142         * kcanvas/KCanvasPath.h:
2143         (KCanvasPath::~KCanvasPath):
2144         (KCClipDataList::addPath): updated to KCanvasPath*
2145         * kcanvas/KCanvasResources.cpp:
2146         (KCanvasClipper::addClipData): updated to KCanvasPath*
2147         * kcanvas/KCanvasResources.h:
2148         * kcanvas/KCanvasTypes.h:
2149         * kcanvas/device/KRenderingDevice.cpp:
2150         (KCanvasCommonArgs::path): updated to KCanvasPath*
2151         (KCanvasCommonArgs::setPath): updated to KCanvasPath*
2152         (KRenderingDevice::KRenderingDevice):
2153         * kcanvas/device/KRenderingDevice.h:
2154         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
2155         (KCanvasItemQuartz::paint): updated to KCanvasPath*
2156         (KCanvasItemQuartz::bboxForPath): updated to KCanvasPath*
2157         (KCanvasItemQuartz::hitsPath): updated to KCanvasPath*
2158         * kcanvas/device/quartz/KCanvasPathQuartz.h: Added.
2159         (KCanvasPathQuartz::cgPath): updated to KCanvasPath*
2160         * kcanvas/device/quartz/KCanvasPathQuartz.mm: Added.
2161         (KCanvasPathQuartz::KCanvasPathQuartz): added
2162         (KCanvasPathQuartz::~KCanvasPathQuartz): added
2163         (KCanvasPathQuartz::isEmpty): added
2164         (KCanvasPathQuartz::moveTo): added
2165         (KCanvasPathQuartz::lineTo): added
2166         (KCanvasPathQuartz::curveTo): added
2167         (KCanvasPathQuartz::closeSubpath): added
2168         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
2169         (KCanvasClipperQuartz::applyClip): updated to KCanvasPath*
2170         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2171         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2172         (KRenderingDeviceQuartz::createPath): added
2173         (KRenderingDeviceQuartz::stringForPath): updated to KCanvasPath*
2174         (KRenderingDeviceQuartz::createItem): updated to KCanvasPath*
2175         * kcanvas/device/quartz/QuartzSupport.h:
2176         * kcanvas/device/quartz/QuartzSupport.mm:
2177         * ksvg2/svg/SVGCircleElementImpl.cpp:
2178         (SVGCircleElementImpl::toPathData): updated to KCanvasPath*
2179         * ksvg2/svg/SVGCircleElementImpl.h:
2180         * ksvg2/svg/SVGClipPathElementImpl.cpp:
2181         (SVGClipPathElementImpl::canvasResource): updated to KCanvasPath*
2182         * ksvg2/svg/SVGEllipseElementImpl.cpp:
2183         (KSVG::SVGEllipseElementImpl::toPathData): updated to KCanvasPath*
2184         * ksvg2/svg/SVGEllipseElementImpl.h:
2185         * ksvg2/svg/SVGImageElementImpl.cpp:
2186         (SVGImageElementImpl::createRenderer): updated to KCanvasPath*
2187         * ksvg2/svg/SVGLineElementImpl.cpp:
2188         (SVGLineElementImpl::toPathData): updated to KCanvasPath*
2189         * ksvg2/svg/SVGLineElementImpl.h:
2190         * ksvg2/svg/SVGPathElementImpl.cpp:
2191         (KSVG::SVGPathElementImpl::toPathData): updated to KCanvasPath*
2192         * ksvg2/svg/SVGPathElementImpl.h:
2193         * ksvg2/svg/SVGPolygonElementImpl.cpp:
2194         (SVGPolygonElementImpl::toPathData): updated to KCanvasPath*
2195         * ksvg2/svg/SVGPolygonElementImpl.h:
2196         * ksvg2/svg/SVGPolylineElementImpl.cpp:
2197         (SVGPolylineElementImpl::toPathData): updated to KCanvasPath*
2198         * ksvg2/svg/SVGPolylineElementImpl.h:
2199         * ksvg2/svg/SVGRectElementImpl.cpp:
2200         (SVGRectElementImpl::toPathData): updated to KCanvasPath*
2201         * ksvg2/svg/SVGRectElementImpl.h:
2202         * ksvg2/svg/SVGStyledElementImpl.cpp:
2203         (SVGStyledElementImpl::createRenderer): updated to KCanvasPath*
2204         (SVGStyledElementImpl::updateCanvasItem): updated to KCanvasPath*
2205         (SVGStyledElementImpl::pushAttributeContext):
2206         * ksvg2/svg/SVGStyledElementImpl.h:
2207         (KSVG::SVGStyledElementImpl::toPathData): updated to KCanvasPath*
2208
2209 2005-12-05  Darin Adler  <darin@apple.com>
2210
2211         Reviewed by Eric.
2212
2213         - fixed <rdar://problem/4364374> Denver Regression: ModBlog.com user menus don't stay visible due to extra mouseout events (5668)
2214           http://bugs.webkit.org/show_bug.cgi?id=5668
2215
2216         * khtml/khtmlview.cpp: (KHTMLView::dispatchMouseEvent): Do the same "skip text node"
2217         logic for the "oldUnder" variable as for the "targetNode" variable.
2218
2219 2005-12-05  John Sullivan  <sullivan@apple.com>
2220
2221         Reviewed by Darin Adler.
2222
2223         Fixed a problem from the patch to fix <rdar://problem/4365690>. After that checkin, KWQKHTMLPart was
2224         inadvertently left with both centerSelectionInVisibleArea() and centerSelectionInVisibleArea() const.
2225
2226         * kwq/KWQKHTMLPart.h:
2227         renamed centerSelectionInVisibleArea() to revealSelection(). This is the method that
2228         was named jumpToSelection() before my recent checkin.
2229         
2230         * kwq/KWQKHTMLPart.mm:
2231         (KWQKHTMLPart::findString):
2232         call revealSelection() rather than centerSelectionInVisibleArea(); this restores the
2233         behavior from before my recent checkin.
2234         (KWQKHTMLPart::revealSelection):
2235         renamed from centerSelectionInVisibleArea()
2236         (KWQKHTMLPart::advanceToNextMisspelling):
2237         call revealSelection() rather than centerSelectionInVisibleArea(); this restores the
2238         behavior from before my recent checkin.
2239
2240         * kwq/WebCoreBridge.h:
2241         removed one of the two declarations of centerSelectionInVisibleArea()
2242
2243 2005-12-05  John Sullivan  <sullivan@apple.com>
2244
2245         Reviewed by Tim Omernick.
2246         
2247         Removed some dead code I happened to stumble across. No test cases added.
2248
2249         * kwq/KWQTimer.h:
2250         removed unused immediateSingleShotOnMainThread()
2251         * kwq/KWQTimer.mm:
2252         removed unused immediateSingleShotOnMainThread() and the class KWQMainThreadPerformTarget
2253         that was used to implement it.
2254
2255 2005-12-05  John Sullivan  <sullivan@apple.com>
2256
2257         Reviewed by Tim Omernick.
2258
2259         - WebCore part of fix for 
2260         <rdar://problem/4365690> Find > Jump to Selection does nothing on plain-text documents (inc. source HTML)
2261         
2262         No behavioral changes here. This patch just eliminates the name "jumpToSelection" in favor of
2263         "centerSelectionInVisibleArea" to match WebKit and AppKit.
2264
2265         * kwq/KWQKHTMLPart.h:
2266         eliminate jumpToSelection(); add centerSelectionInVisibleArea()
2267
2268         * kwq/KWQKHTMLPart.mm:
2269         (KWQKHTMLPart::findString):
2270         use centerSelectionInVisibleArea() instead of jumpToSelection()
2271         (KWQKHTMLPart::centerSelectionInVisibleArea):
2272         renamed from jumpToSelection
2273         (KWQKHTMLPart::advanceToNextMisspelling):
2274         use centerSelectionInVisibleArea() instead of jumpToSelection()
2275
2276         * kwq/WebCoreBridge.h:
2277         eliminate jumpToSelection; add centerSelectionInVisibleArea
2278         * kwq/WebCoreBridge.mm:
2279         eliminate jumpToSelection. We had been implementing both jumpToSelection and
2280         centerSelectionInVisibleArea here, but jumpToSelection now has no more callers.
2281
2282 2005-12-05  Vicki Murley  <vicki@apple.com>
2283
2284         Reviewed by John.
2285  
2286         - fix <rdar://problem/4363132> Regression: status bar shows wrong text when mousing over links 
2287         in wacky frameset at directory.apple.com
2288
2289         * kwq/WebCoreBridge.mm:
2290         (-[WebCoreBridge elementAtPoint:]): reuse point to work with nested frames; add the overflow clip to 
2291         accommodate any scrolling
2292
2293 2005-12-04  Eric Seidel  <eseidel@apple.com>
2294
2295         Reviewed by ggaren.
2296
2297         No additional test cases needed (or possible).
2298
2299         Further dom/* cleanup, also removing extra forwarding headers
2300         http://bugs.webkit.org/show_bug.cgi?id=5930
2301
2302         * ForwardingHeaders/dom/dom2_views.h: Removed.
2303         * ForwardingHeaders/dom/dom_core.h: Removed.
2304         * ForwardingHeaders/dom/dom_doc.h: Removed.
2305         * ForwardingHeaders/dom/dom_element.h: Removed.
2306         * ForwardingHeaders/dom/dom_misc.h: Removed.
2307         * ForwardingHeaders/dom/dom_text.h: Removed.
2308         * ForwardingHeaders/dom/dom_xml.h: Removed.
2309         * ForwardingHeaders/dom/html_base.h: Removed.
2310         * ForwardingHeaders/dom/html_block.h: Removed.
2311         * ForwardingHeaders/dom/html_document.h: Removed.
2312         * ForwardingHeaders/dom/html_element.h: Removed.
2313         * ForwardingHeaders/dom/html_form.h: Removed.
2314         * ForwardingHeaders/dom/html_head.h: Removed.
2315         * ForwardingHeaders/dom/html_image.h: Removed.
2316         * ForwardingHeaders/dom/html_inline.h: Removed.
2317         * ForwardingHeaders/dom/html_list.h: Removed.
2318         * ForwardingHeaders/dom/html_misc.h: Removed.
2319         * ForwardingHeaders/dom/html_object.h: Removed.
2320         * ForwardingHeaders/dom/html_table.h: Removed.
2321         * ForwardingHeaders/ecma/kjs_css.h: Removed.
2322         * ForwardingHeaders/ecma/kjs_html.h: Removed.
2323         * ForwardingHeaders/ecma/kjs_html.lut.h: Removed.
2324         * ForwardingHeaders/ecma/kjs_views.h: Removed.
2325         * ForwardingHeaders/ecma/kjs_views.lut.h: Removed.
2326         * ForwardingHeaders/ecma/kjs_window.h: Removed.
2327         * ForwardingHeaders/html/dtd.h: Removed.
2328         * ForwardingHeaders/kdom/KDOMPart.h: Removed.
2329         * ForwardingHeaders/kdom/KDOMView.h: Removed.
2330         * ForwardingHeaders/kdom/core/NodeListImpl.h: Removed.
2331         * ForwardingHeaders/kdom/css/CSSMediaRuleImpl.h: Removed.
2332         * ForwardingHeaders/kdom/css/CSSRuleImpl.h: Removed.
2333         * ForwardingHeaders/kdom/css/CSSRuleListImpl.h: Removed.
2334         * ForwardingHeaders/kdom/css/cssproperties.h: Removed.
2335         * ForwardingHeaders/kdom/css/cssvalues.h: Removed.
2336         * ForwardingHeaders/kdom/events/DocumentEventImpl.h: Removed.
2337         * ForwardingHeaders/kdom/parser/KDOMDocumentBuilder.h: Removed.
2338         * ForwardingHeaders/kdomcssproperties.h: Removed.
2339         * ForwardingHeaders/kdomcssvalues.h: Removed.
2340         * ForwardingHeaders/kinstance.h: Removed.
2341         * ForwardingHeaders/kjs/identifier.h: Removed.
2342         * ForwardingHeaders/kjs/property_map.h: Removed.
2343         * ForwardingHeaders/kjs/protected_object.h: Removed.
2344         * ForwardingHeaders/kjs/scope_chain.h: Removed.
2345         * ForwardingHeaders/kjs/ustring.h: Removed.
2346         * ForwardingHeaders/kjs/value.h: Removed.
2347         * ForwardingHeaders/ksvg2/svg/svgtags.h: Removed.
2348         * ForwardingHeaders/q3intdict.h: Removed.
2349         * ForwardingHeaders/q3memarray.h: Removed.
2350         * ForwardingHeaders/q3ptrcollection.h: Removed.
2351         * ForwardingHeaders/q3ptrdict.h: Removed.
2352         * ForwardingHeaders/qcstring.h: Removed.
2353         * ForwardingHeaders/qcursor.h: Removed.
2354         * ForwardingHeaders/qintdict.h: Removed.
2355         * ForwardingHeaders/qpair.h: Removed.
2356         * ForwardingHeaders/qprinter.h: Removed.
2357         * ForwardingHeaders/qptrcollection.h: Removed.
2358         * ForwardingHeaders/qsize.h: Removed.
2359         * ForwardingHeaders/qsortedlist.h: Removed.
2360         * ForwardingHeaders/qvaluevector.h: Removed.
2361         * ForwardingHeaders/xml/dom_positioniterator.h: Removed.
2362         * khtml/css/css_ruleimpl.cpp:
2363         * khtml/dom/css_value.h:
2364         * khtml/dom/dom2_events.cpp:
2365         * khtml/dom/dom2_events.h:
2366         * khtml/dom/dom2_range.h:
2367         * khtml/dom/dom2_traversal.cpp:
2368         * khtml/dom/dom_exception.h:
2369         * khtml/dom/dom_node.h:
2370         * khtml/dom/dom_string.cpp:
2371         * khtml/ecma/kjs_traversal.cpp:
2372
2373 2005-12-04  Anders Carlsson  <andersca@mac.com>
2374
2375         Reviewed by Darin and Geoffrey.
2376
2377         - Fixes <http://bugs.webkit.org/show_bug.cgi?id=4194>
2378         Reproducible Poof Crash when using search field at mathworks.com
2379         
2380         * khtml/xml/dom_docimpl.cpp:
2381         (DocumentImpl::setFocusNode):
2382         Don't send onblur to a node if m_inDetach is true.
2383
2384         * khtml/xml/dom_nodeimpl.cpp:
2385         (DOM::NodeImpl::detach):
2386         Set m_inDetach to true while calling RenderObject::destroy.
2387
2388         * khtml/xml/dom_nodeimpl.h:
2389                   Add m_inDetach flag.
2390
2391         * manual-tests/onblur-remove.html: Added.
2392
2393 2005-12-04  Eric Seidel  <eseidel@apple.com>
2394
2395         No review needed, WebCore+SVG build fix only.
2396
2397         I broke the WebCore+SVG build when removing dom_misc.h, fixing.
2398
2399         * WebCore+SVG/KDOMHeaders.h: remove reference to dom_misc.h
2400
2401 2005-12-04  Eric Seidel  <eseidel@apple.com>
2402
2403         Reviewed by darin.
2404
2405         No functionality changes, no test cases possible or necessary.
2406
2407         Removed dom_misc.* and changed to use Shared instead of DOMShared.
2408         Also removed FilterNode typedef, now using NodeImpl* directly.
2409         http://bugs.webkit.org/show_bug.cgi?id=5929
2410
2411         * WebCore.xcodeproj/project.pbxproj:
2412         * khtml/css/css_base.h:
2413         * khtml/dom/dom2_events.h:
2414         * khtml/dom/dom2_traversal.cpp:
2415         (DOM::NodeFilterCondition::acceptNode):
2416         * khtml/dom/dom2_traversal.h:
2417         * khtml/dom/dom_exception.h:
2418         * khtml/dom/dom_misc.cpp: Removed.
2419         * khtml/dom/dom_misc.h: Removed.
2420         * khtml/ecma/kjs_traversal.cpp:
2421         (KJS::JSNodeFilterCondition::acceptNode):
2422         * khtml/ecma/kjs_traversal.h:
2423         * kwq/DOM.mm:
2424         (ObjCNodeFilterCondition::acceptNode):
2425
2426 2005-12-04  Eric Seidel  <eseidel@apple.com>
2427
2428         Reviewed by mjs.
2429
2430         No test cases possible, no function changes.
2431
2432         Remove rotten #ifdef'd code from the source:
2433         APPLE_CHANGES & KHTML_NO_CPLUSPLUS_DOM
2434         http://bugs.webkit.org/show_bug.cgi?id=5877
2435
2436         * khtml/dom/css_rule.h:
2437         (DOM::CSSRule::):
2438         * khtml/dom/css_stylesheet.h:
2439         * khtml/dom/css_value.h:
2440         (DOM::CSSValue::):
2441         (DOM::CSSPrimitiveValue::):
2442         * khtml/dom/dom2_events.cpp:
2443         (DOM::EventListener::handleEventImpl):
2444         * khtml/dom/dom2_events.h:
2445         (DOM::Event::):
2446         (DOM::EventException::):
2447         (DOM::MutationEvent::):
2448         * khtml/dom/dom2_range.h:
2449         (DOM::RangeException::):
2450         (DOM::Range::):
2451         * khtml/dom/dom2_traversal.cpp:
2452         * khtml/dom/dom2_traversal.h:
2453         (DOM::NodeFilter::):
2454         * khtml/dom/dom_exception.h:
2455         (DOM::DOMException::):
2456         * khtml/dom/dom_misc.cpp:
2457         (DOM::DomShared::~DomShared):
2458         * khtml/dom/dom_misc.h:
2459         (DOM::DomShared::deleteMe):
2460         * khtml/dom/dom_node.h:
2461         (DOM::Node::):
2462         * khtml/ecma/kjs_events.cpp:
2463         (KJS::JSAbstractEventListener::handleEvent):
2464         * khtml/ecma/kjs_traversal.cpp:
2465         (KJS::JSNodeFilterCondition::acceptNode):
2466         * khtml/khtml_part.cpp:
2467         (KHTMLPart::stopLoading):
2468         * khtml/khtml_part.h:
2469         * khtml/khtmlview.cpp:
2470         (KHTMLView::viewportMousePressEvent):
2471         (KHTMLView::focusNextPrevNode):
2472         * kwq/KWQKConfigBase.h:
2473         * kwq/KWQKHTMLPageCache.h:
2474         * kwq/KWQPointArray.h:
2475
2476 2005-12-03  Geoffrey Garen  <ggaren@apple.com>
2477
2478         Reviewed by Darin.
2479
2480         Fixed <rdar://problem/4364302> leftmargin and topmargin should match 
2481         marginwidth and marginheight respectively
2482
2483         Layout test added:
2484         positioning/leftmargin-topmargin-expected.txt
2485         positioning/leftmargin-topmargin.html
2486
2487         * khtml/html/html_baseimpl.cpp:
2488         (HTMLBodyElementImpl::parseMappedAttribute): Merged
2489         leftmargin/marginwidth, topmargin/marginheight
2490
2491 2005-12-03  Justin Garcia  <justin.garcia@apple.com>
2492
2493         <http://bugs.webkit.org/show_bug.cgi?id=5856>
2494         Selection based in an editable block can extend outside
2495         
2496         validate() used to do expansion of the selection.  The expansion 
2497         itself wasn't validated, so it could create a selection
2498         that extended outside an editable area.  Also m_base and 
2499         m_extent weren't updated with the results of the expansion.
2500
2501         Reviewed by darin
2502
2503         Layout tests added: 
2504         * editing/selection/expanding-selections
2505         * editing/selection/expanding-selections2
2506
2507         * khtml/editing/SelectionController.cpp:
2508         (khtml::SelectionController::expandUsingGranularity): Does the expansion.
2509         (khtml::SelectionController::validate): Removed the granularity parameter.
2510         * khtml/editing/SelectionController.h:
2511
2512 2005-12-03  Geoffrey Garen  <ggaren@apple.com>
2513
2514         Reviewed by Kevin.
2515
2516         Fixed <rdar://problem/3918897> trailer windows at haroldandkumar.com 
2517         show up wrong size (with scroll bars)
2518
2519         We had the wrong default features for new windows. The IE rule is:
2520         all features except for channelmode and fullscreen default to YES, but
2521         if the user specifies a feature string, all features default to NO.
2522         (There is no public standard that applies to this method.)
2523
2524         <http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/open_0.asp>
2525
2526         No test case because testing requires a call to window.open, which
2527         DumpRenderTree can't simulate.
2528
2529         * khtml/ecma/kjs_window.cpp:
2530         (KJS::WindowFunc::callAsFunction):
2531         * kwq/KWQKPartsBrowserExtension.h:
2532         (KParts::WindowArgs::WindowArgs):
2533
2534 2005-12-01  Anders Carlsson  <andersca@mac.com>
2535
2536         Reviewed by Darin.
2537
2538         - Fix <http://bugs.webkit.org/show_bug.cgi?id=4340>
2539         Safari not supporting disabled in multi select option tag.
2540
2541         * khtml/rendering/render_form.cpp:
2542         (RenderSelect::updateFromElement):
2543         Update calls to append functions to set the enabled state of items.
2544
2545         * kwq/KWQComboBox.h:
2546         (QComboBox::appendItem):
2547         (QComboBox::appendGroupLabel):
2548         (QComboBox::appendSeparator):
2549         Add enabled parameter to append functions.
2550        
2551         * kwq/KWQComboBox.mm:
2552         (QComboBox::QComboBox):
2553         Don't autoenable menu items on the popup button since that's handled
2554         manually now.
2555
2556         (QComboBox::setTitle):
2557         Set enabled state on menu items.
2558
2559         (QComboBox::appendItem):
2560         Add enabled parameter.
2561
2562         * kwq/KWQListBox.h:
2563         (KWQListBoxItem::KWQListBoxItem):
2564         Add enabled variable to item struct.
2565
2566         (QListBox::appendItem):
2567         (QListBox::appendGroupLabel):
2568         Add enabled parameter to append functions.
2569
2570         * kwq/KWQListBox.mm:
2571         (QListBox::appendItem):
2572         Add enabled parameter.
2573
2574         (-[KWQTableView tableView:shouldSelectRow:]):
2575         Only select the row if the item is enabled.
2576
2577         (-[KWQTableView drawRow:clipRect:]):
2578         Draw using the disabled color if the row is disabled.
2579
2580         * manual-tests/disabled-option-elements.html: Added.
2581
2582 2005-12-02  Darin Adler  <darin@apple.com>
2583
2584         Reviewed by Beth
2585
2586         Fix for <rdar://problem/4358898> TOT/GLENDALE REGRESSION: Table 
2587         layout issue occurs at http://www.pixar.com/shorts/index.html and
2588         http://www.mitzpettel.com. 
2589
2590         This fix rolls out a line from the fix for <rdar://problem/3871165> 
2591         text box in nested table disappears when you click on it (3452) 
2592         (Safari PSOFT: US EDU PS8: Lead List searches). This line causes
2593         the above regressions. To fix the original problem, we realized 
2594         that TableLayout::calcEffectiveWidth() essentially ignored setting
2595         the minimum and maximum widths of cells of width 0 (thereby ignoring 
2596         cells in colspans when every cell in a column was part of a colspan). 
2597
2598         * khtml/rendering/render_table.cpp:
2599         (RenderTableSection::addCell): Roll out from the original fix.
2600         * khtml/rendering/table_layout.cpp:
2601         (AutoTableLayout::calcEffectiveWidth): Set effMinWidth and effMaxWidth 
2602         of a cell even when maxw or maxWidth is 0.
2603
2604 2005-12-02  Eric Seidel  <eseidel@apple.com>
2605
2606         Reviewed by Tim H.
2607
2608         Added ending newlines to files missing them.
2609
2610         * ForwardingHeaders/kjs/property_map.h:
2611         * khtml/rendering/break_lines.cpp:
2612         * khtml/xbl/xbl_binding.h:
2613         * khtml/xbl/xbl_protobinding.h:
2614         * khtml/xbl/xbl_protohandler.h:
2615         * kwq/DOM-compat.h:
2616         * kwq/KWQTextUtilities.h:
2617         * kwq/WebCoreKeyboardAccess.h:
2618
2619 2005-12-02  Eric Seidel  <eseidel@apple.com>
2620
2621         No review needed, SVG build fix only.
2622
2623         SVG Build fix after SharedPtr -> RefPtr changes.
2624
2625         * ksvg2/events/SVGZoomEventImpl.h:
2626         * ksvg2/svg/SVGAElementImpl.h:
2627         * ksvg2/svg/SVGAnimateColorElementImpl.h:
2628         * ksvg2/svg/SVGAnimateTransformElementImpl.h:
2629         * ksvg2/svg/SVGAnimatedTemplate.h:
2630         * ksvg2/svg/SVGAnimationElementImpl.cpp:
2631         (SVGAnimationElementImpl::parseMappedAttribute):
2632         * ksvg2/svg/SVGAnimationElementImpl.h:
2633         * ksvg2/svg/SVGCircleElementImpl.h:
2634         * ksvg2/svg/SVGClipPathElementImpl.h:
2635         * ksvg2/svg/SVGComponentTransferFunctionElementImpl.h:
2636         * ksvg2/svg/SVGCursorElementImpl.h:
2637         * ksvg2/svg/SVGEllipseElementImpl.h:
2638         * ksvg2/svg/SVGExternalResourcesRequiredImpl.h:
2639         * ksvg2/svg/SVGFEBlendElementImpl.h:
2640         * ksvg2/svg/SVGFEColorMatrixElementImpl.h:
2641         * ksvg2/svg/SVGFEComponentTransferElementImpl.h:
2642         * ksvg2/svg/SVGFECompositeElementImpl.h:
2643         * ksvg2/svg/SVGFEDiffuseLightingElementImpl.h:
2644         * ksvg2/svg/SVGFEFloodElementImpl.h:
2645         * ksvg2/svg/SVGFEGaussianBlurElementImpl.h:
2646         * ksvg2/svg/SVGFEImageElementImpl.h:
2647         * ksvg2/svg/SVGFELightElementImpl.h:
2648         * ksvg2/svg/SVGFEMergeNodeElementImpl.h:
2649         * ksvg2/svg/SVGFEOffsetElementImpl.h:
2650         * ksvg2/svg/SVGFESpecularLightingElementImpl.h:
2651         * ksvg2/svg/SVGFETileElementImpl.h:
2652         * ksvg2/svg/SVGFETurbulenceElementImpl.h:
2653         * ksvg2/svg/SVGFilterElementImpl.h:
2654         * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.h:
2655         * ksvg2/svg/SVGFitToViewBoxImpl.h:
2656         * ksvg2/svg/SVGGradientElementImpl.h:
2657         * ksvg2/svg/SVGHelper.h:
2658         (KSVG::lazy_create):
2659         * ksvg2/svg/SVGImageElementImpl.h:
2660         * ksvg2/svg/SVGLineElementImpl.h:
2661         * ksvg2/svg/SVGLinearGradientElementImpl.h:
2662         * ksvg2/svg/SVGMarkerElementImpl.h:
2663         * ksvg2/svg/SVGPathElementImpl.h:
2664         * ksvg2/svg/SVGPatternElementImpl.h:
2665         * ksvg2/svg/SVGPolyElementImpl.h:
2666         * ksvg2/svg/SVGRadialGradientElementImpl.h:
2667         * ksvg2/svg/SVGRectElementImpl.h:
2668         * ksvg2/svg/SVGSVGElementImpl.h:
2669         * ksvg2/svg/SVGStopElementImpl.h:
2670         * ksvg2/svg/SVGStyleElementImpl.h:
2671         * ksvg2/svg/SVGStyledElementImpl.h:
2672         * ksvg2/svg/SVGStyledTransformableElementImpl.h:
2673         * ksvg2/svg/SVGTestsImpl.h:
2674         * ksvg2/svg/SVGTextContentElementImpl.h:
2675         * ksvg2/svg/SVGTextPositioningElementImpl.h:
2676         * ksvg2/svg/SVGTransformImpl.h:
2677         * ksvg2/svg/SVGURIReferenceImpl.h:
2678         * ksvg2/svg/SVGUseElementImpl.h:
2679         * ksvg2/svg/SVGViewElementImpl.h:
2680
2681 2005-12-02  Eric Seidel  <eseidel@apple.com>
2682
2683         No review needed.
2684
2685         * ksvg2/scripts/make_names.pl: Add standard license header.
2686
2687 2005-12-02  Adele Peterson  <adele@apple.com>
2688
2689         Reviewed by Hyatt.
2690
2691         - fix for <rdar://problem/4360657> Regression: Seed: WebKit image scaling broken
2692
2693         We're backing out the fix for <rdar://problem/3952698>.
2694         With the new button implementation, the buttons will
2695         not overlap for the telia webmail case.  We may need to address
2696         the minWidth behavior for other elements at a later time.
2697
2698         * khtml/rendering/render_form.cpp:
2699         (RenderLineEdit::calcMinMaxWidth):
2700         (RenderTextArea::calcMinMaxWidth):
2701         * khtml/rendering/render_replaced.cpp:
2702         (RenderReplaced::calcMinMaxWidth):
2703
2704 2005-12-02  Geoffrey Garen  <ggaren@apple.com>
2705
2706         Reviewed by NOBODY (OOPS!).
2707
2708         Fixed <rdar://problem/4344954> Glendale REGRESSION (Safari 416.12-417.2)
2709         cannot tab to next input field after tab-completing an email address in
2710         gmail.
2711
2712         Implemented work-around to conceal the selectionEnd property if the
2713         document is on the gmail domain. We'll remove this code once Google
2714         fixes its site.
2715
2716         No testcase because this is a domain-specific work-around.
2717
2718         * khtml/ecma/kjs_html.cpp:
2719         (KJS::HTMLElement::textAreaGetter):
2720
2721 2005-12-01  Maciej Stachowiak  <mjs@apple.com>
2722
2723         SVG build fix, not reviewed.
2724
2725         - land the ksvg2 part of my SharedPtr --> RefPtr change, which I
2726         forgot about before.
2727
2728         * ksvg2/misc/KSVGTimeScheduler.cpp:
2729         (KSVG::SVGTimer::notifyAll):
2730         * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
2731         (SVGAnimateColorElementImpl::handleTimerEvent):
2732         * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
2733         (SVGAnimateTransformElementImpl::handleTimerEvent):
2734         (SVGAnimateTransformElementImpl::parseTransformValue):
2735         (SVGAnimateTransformElementImpl::initialMatrix):
2736         * ksvg2/svg/SVGAnimationElementImpl.cpp:
2737         (SVGAnimationElementImpl::parseMappedAttribute):
2738         * ksvg2/svg/SVGDocumentImpl.cpp:
2739         (SVGDocumentImpl::~SVGDocumentImpl):
2740         (SVGDocumentImpl::dispatchZoomEvent):
2741         (SVGDocumentImpl::dispatchScrollEvent):
2742         (SVGDocumentImpl::dispatchKeyEvent):
2743         (SVGDocumentImpl::executeScripts):
2744         (SVGDocumentImpl::dispatchUIEvent):
2745         (SVGDocumentImpl::dispatchMouseEvent):
2746         * ksvg2/svg/SVGLocatableImpl.cpp:
2747         (SVGLocatableImpl::getCTM):
2748         (SVGLocatableImpl::getScreenCTM):
2749         * ksvg2/svg/SVGMarkerElementImpl.cpp:
2750         (SVGMarkerElementImpl::canvasResource):
2751         * ksvg2/svg/SVGPatternElementImpl.cpp:
2752         (SVGPatternElementImpl::drawPatternContentIntoTile):
2753         (SVGPatternElementImpl::getCTM):
2754         * ksvg2/svg/SVGSVGElementImpl.cpp:
2755         (SVGSVGElementImpl::viewport):
2756         (SVGSVGElementImpl::checkIntersection):
2757         (SVGSVGElementImpl::checkEnclosure):
2758         (SVGSVGElementImpl::getCTM):
2759         (SVGSVGElementImpl::getScreenCTM):
2760         * ksvg2/svg/SVGScriptElementImpl.cpp:
2761         (SVGScriptElementImpl::executeScript):
2762         * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
2763         (SVGStyledTransformableElementImpl::updateLocalTransform):
2764
2765 2005-12-02  Vicki Murley  <vicki@apple.com>
2766
2767         Reviewed by Darin.
2768  
2769         - fix <rdar://problem/4361048> Regression: Seed: scrolling with scrollwheel, trackpad 
2770         doesn't work for nested framesets at gmail.com
2771
2772         * kwq/KWQKHTMLPart.mm:
2773         (KWQKHTMLPart::passWheelEventToChildWidget): 
2774         * manual-tests/resources/lorem-text.html: Added.
2775         * manual-tests/resources/nestedframesets.html: Added.
2776         * manual-tests/scrolling-nestedframesets.html: Added.
2777
2778 2005-12-02  Andre Boule  <aboule@apple.com>
2779
2780         Reviewed by rjw.
2781
2782         Added #else for XSLT ifdef to make sure switch case 
2783         doesn't fall through when feature turned off.
2784         
2785         * khtml/ecma/kjs_window.cpp:
2786         (KJS::Window::getValueProperty):
2787
2788 2005-12-02  David Hyatt  <hyatt@apple.com>
2789
2790         <rdar://problem/4356387> Glendale Regression: Some text
2791         does not render in the CIFilterBrowser widget anymore (tables overflow)
2792
2793         Fix for overflow clipping bug when a positioned element is
2794         inserted in between two overflow:hidden elements in a 
2795         document.
2796         
2797         Reviewed by beth
2798
2799         fast/clip/018.html
2800
2801         * khtml/rendering/render_layer.cpp:
2802         (khtml::RenderLayer::calculateClipRects):
2803
2804 2005-12-02  Anders Carlsson  <andersca@mac.com>
2805
2806         Reviewed by Timothy.
2807
2808         * WebCore.xcodeproj/project.pbxproj:
2809         Remove KWQRefPtr.h
2810
2811         * kwq/KWQKHTMLPart.mm:
2812         (KWQKHTMLPart::paint):
2813         Remove a call to notNull here.
2814
2815 2005-12-02  Timothy Hatcher  <timothy@apple.com>
2816
2817         Reviewed by Maciej.
2818
2819         Cache the lastItem and lastItemOffset for fast retrieval of the
2820         same index or indeicies greater than lastItemOffset. Also cache
2821         the length. Like other node lists these cached values rest when the
2822         subtree under the root node changes.
2823
2824         * khtml/xml/dom_nodeimpl.cpp:
2825         (ChildNodeListImpl::length): Use cachedLength when possible.
2826         (ChildNodeListImpl::item): Use lastItemOffset and lastItem if we can.
2827
2828 2005-12-01  Graham Dennis  <Graham.Dennis@gmail.com>
2829     
2830         <http://bugs.webkit.org/show_bug.cgi?id=4003>
2831         contentEditable div cannot be edited if it starts out with empty or <p/>
2832         
2833         Reviewed/tweaked/landed by justin
2834
2835         * khtml/editing/visible_position.cpp:
2836         (khtml::VisiblePosition::init): A position at the original block
2837         shouldn't be considered 'outside' the original block.
2838         (khtml::hasRenderedChildrenWithHeight): Added.
2839         (khtml::VisiblePosition::isCandidate): A block flow element with 
2840         rendered children may be considered a candidate for a visible 
2841         position, as long as its children do not have a positive height.
2842
2843 2005-12-01  Maciej Stachowiak  <mjs@apple.com>
2844
2845         Reviewed by Tim Hatcher.
2846
2847         - removed deprecated reset, isNull and nonNull methods
2848         - replaced use of KWQRefPtr with RefPtr
2849
2850         * khtml/ecma/kjs_dom.cpp:
2851         (KJS::DOMNode::toBoolean):
2852         (KJS::DOMNode::toPrimitive):
2853         (KJS::DOMNode::toString):
2854         (KJS::DOMNodeList::toPrimitive):
2855         * khtml/ecma/kjs_html.cpp:
2856         (KJS::OptionConstructorImp::construct):
2857         * khtml/ecma/xmlhttprequest.cpp:
2858         (KJS::XMLHttpRequest::getValueProperty):
2859         (KJS::XMLHttpRequest::putValueProperty):
2860         (KJS::XMLHttpRequest::mark):
2861         (KJS::XMLHttpRequest::changeState):
2862         (KJS::XMLHttpRequest::open):
2863         * khtml/editing/edit_command.cpp:
2864         * khtml/html/html_tableimpl.cpp:
2865         (DOM::HTMLTableSectionElementImpl::insertRow):
2866         (DOM::HTMLTableSectionElementImpl::deleteRow):
2867         (DOM::HTMLTableRowElementImpl::insertCell):
2868         (DOM::HTMLTableRowElementImpl::deleteCell):
2869         * khtml/khtml_part.cpp:
2870         (KHTMLPart::scheduleScript):
2871         (KHTMLPart::executeScheduledScript):
2872         (KHTMLPart::clear):
2873         (KHTMLPart::khtmlMousePressEvent):
2874         * khtml/khtmlview.cpp:
2875         (KHTMLViewPrivate::reset):
2876         (KHTMLView::updateDragAndDrop):
2877         (KHTMLView::cancelDragAndDrop):
2878         (KHTMLView::performDragAndDrop):
2879         * khtml/rendering/render_block.cpp:
2880         (khtml::RenderBlock::updateFirstLetter):
2881         * khtml/rendering/render_text.cpp:
2882         (RenderText::setStyle):
2883         * khtml/xml/dom_docimpl.cpp:
2884         (DocumentImpl::prepareMouseEvent):
2885         * khtml/xml/dom_elementimpl.cpp:
2886         (NamedAttrMapImpl::setNamedItem):
2887         * khtml/xml/dom_nodeimpl.h:
2888         (DOM::NodeImpl::MouseEvent::MouseEvent):
2889         * kwq/KWQArrayImpl.h:
2890         * kwq/KWQArrayImpl.mm:
2891         (KWQArrayImpl::KWQArrayPrivate::KWQArrayPrivate):
2892         (KWQArrayImpl::duplicate):
2893         (KWQArrayImpl::detach):
2894         * kwq/KWQClipboard.mm:
2895         (KWQClipboard::setDragImage):
2896         (KWQClipboard::dragNSImage):
2897         * kwq/KWQFontMetrics.h:
2898         * kwq/KWQFontMetrics.mm:
2899         (QFontMetricsPrivate::QFontMetricsPrivate):
2900         (QFontMetrics::setFont):
2901         (QFontMetrics::ascent):
2902         (QFontMetrics::descent):
2903         (QFontMetrics::lineSpacing):
2904         (QFontMetrics::xHeight):
2905         (QFontMetrics::width):
2906         (QFontMetrics::floatWidth):
2907         (QFontMetrics::checkSelectionPoint):
2908         * kwq/KWQKHTMLPart.mm:
2909         (KWQKHTMLPart::paint):
2910         (KWQKHTMLPart::openURLFromPageCache):
2911         (KWQKHTMLPart::khtmlMousePressEvent):
2912         (KWQKHTMLPart::khtmlMouseMoveEvent):
2913         (KWQKHTMLPart::dragSourceMovedTo):
2914         (KWQKHTMLPart::dragSourceEndedAt):
2915         (KWQKHTMLPart::mouseDown):
2916         (KWQKHTMLPart::snapshotDragImage):
2917         (KWQKHTMLPart::markMisspellings):
2918         (KWQKHTMLPart::setMarkedTextRange):
2919         * kwq/KWQMapImpl.h:
2920         * kwq/KWQMapImpl.mm:
2921         (KWQMapImpl::KWQMapPrivate::KWQMapPrivate):
2922         (KWQMapImpl::copyOnWrite):
2923         (KWQMapImpl::swap):
2924         * kwq/KWQRefPtr.h: Removed.
2925         * kwq/KWQRegExp.h:
2926         * kwq/KWQRegExp.mm:
2927         (QRegExp::KWQRegExpPrivate::KWQRegExpPrivate):
2928         (QRegExp::operator=):
2929         * kwq/KWQValueListImpl.h:
2930         * kwq/KWQValueListImpl.mm:
2931         (KWQValueListImpl::KWQValueListPrivate::KWQValueListPrivate):
2932         (KWQValueListImpl::operator=):
2933         (KWQValueListImpl::copyOnWrite):
2934         * kwq/KWQVariant.h:
2935         * kwq/KWQVariant.mm:
2936         (QVariant::QVariantPrivate::):
2937         (QVariant::QVariantPrivate::QVariantPrivate):
2938
2939 2005-12-01  Timothy Hatcher  <timothy@apple.com>
2940
2941         Reviewed by Beth.
2942         
2943         Another fix for 4098083 to apply to sliders.
2944
2945         <rdar://problem/4098083> REGRESSION (125-312): crash 
2946         in [KWQTableView resignFirstResponder] selecting from JS menu 
2947         (car4you.at, etc.)
2948
2949         Since it is possible that a render widget's eventFilterObject
2950         has been destroyed even though the render widget is still ref-ed,
2951         we need to nil-check the eventFilterObject before we use it to get
2952         the eventFilter.
2953
2954         * kwq/KWQSlider.mm:
2955         (-[KWQSlider becomeFirstResponder]): Added nil check.
2956         (-[KWQSlider resignFirstResponder]): Added nil check.
2957
2958 2005-12-01  Adele Peterson  <adele@apple.com>
2959
2960         Reviewed by Vicki and Dave Harrsion.
2961
2962         - fixed <rdar://problem/4356771> Regression: Mail always scrolls to the bottom of a message when replying/forwarding
2963
2964         Fixed a bug in getRect where the code would return a zero sized rect at the 
2965         lower right corner if the origin was 0,0.  This was causing the scrolling code to
2966         attempt to scroll to the lower left corner of the editable html element in Mail.
2967
2968         Added test: 
2969         * editing/selection/focus_editable_html.html
2970
2971         * khtml/xml/dom_nodeimpl.cpp:
2972         (DOM::ContainerNodeImpl::getRect):
2973
2974 2005-12-01  Maciej Stachowiak  <mjs@apple.com>
2975
2976         Rubber stamped by Eric.
2977
2978         - renamed SharedPtr to RefPtr via script
2979
2980         * ForwardingHeaders/kxmlcore/RefPtr.h: Added.
2981         * ForwardingHeaders/kxmlcore/SharedPtr.h: Removed.
2982         * khtml/css/css_computedstyle.h:
2983         * khtml/ecma/XSLTProcessor.cpp:
2984         (KJS::XSLTProcessorProtoFunc::callAsFunction):
2985         * khtml/ecma/XSLTProcessor.h:
2986         * khtml/ecma/domparser.h:
2987         * khtml/ecma/kjs_css.h:
2988         * khtml/ecma/kjs_dom.cpp:
2989         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
2990         (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
2991         * khtml/ecma/kjs_dom.h:
2992         * khtml/ecma/kjs_events.h:
2993         * khtml/ecma/kjs_html.cpp:
2994         (KJS::HTMLDocument::namedItemGetter):
2995         (KJS::KJS::HTMLCollection::getNamedItems):
2996         (KJS::OptionConstructorImp::construct):
2997         * khtml/ecma/kjs_html.h:
2998         * khtml/ecma/kjs_range.h:
2999         * khtml/ecma/kjs_traversal.h:
3000         * khtml/ecma/kjs_views.h:
3001         * khtml/ecma/kjs_window.cpp:
3002         (KJS::Window::namedItemGetter):
3003         * khtml/ecma/xmlhttprequest.h:
3004         * khtml/editing/SelectionController.cpp:
3005         (khtml::SelectionController::toRange):
3006         * khtml/editing/SelectionController.h:
3007         * khtml/editing/apply_style_command.cpp:
3008         (khtml::StyleChange::init):
3009         (khtml::StyleChange::currentlyHasStyle):
3010         (khtml::ApplyStyleCommand::doApply):
3011         (khtml::ApplyStyleCommand::applyRelativeFontStyleChange):
3012         (khtml::ApplyStyleCommand::removeCSSStyle):
3013         (khtml::hasTextDecorationProperty):
3014         (khtml::ApplyStyleCommand::extractTextDecorationStyle):
3015         (khtml::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
3016         (khtml::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode):
3017         (khtml::ApplyStyleCommand::removeInlineStyle):
3018         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
3019         (khtml::ApplyStyleCommand::computedFontSize):
3020         * khtml/editing/apply_style_command.h:
3021         * khtml/editing/edit_command.cpp:
3022         (khtml::EditCommandPtr::EditCommandPtr):
3023         (khtml::EditCommandPtr::operator=):
3024         * khtml/editing/edit_command.h:
3025         * khtml/editing/markup.cpp:
3026         (khtml::startMarkup):
3027         * khtml/editing/visible_position.cpp:
3028         (khtml::makeRange):
3029         * khtml/editing/visible_position.h:
3030         * khtml/editing/visible_range.h:
3031         * khtml/editing/visible_text.cpp:
3032         (khtml::TextIterator::range):
3033         (khtml::SimplifiedBackwardsTextIterator::range):
3034         (khtml::CharacterIterator::range):
3035         (khtml::TextIterator::rangeFromLocationAndLength):
3036         (khtml::findPlainText):
3037         * khtml/editing/visible_text.h:
3038         (khtml::WordAwareIterator::range):
3039         * khtml/editing/visible_units.cpp:
3040         (khtml::previousBoundary):
3041         (khtml::nextBoundary):
3042         * khtml/html/html_elementimpl.cpp:
3043         (HTMLElementImpl::children):
3044         * khtml/html/html_elementimpl.h:
3045         * khtml/html/html_formimpl.cpp:
3046         (DOM::HTMLFormElementImpl::elements):
3047         (DOM::HTMLSelectElementImpl::add):
3048         (DOM::HTMLSelectElementImpl::optionsHTMLCollection):
3049         * khtml/html/html_formimpl.h:
3050         * khtml/html/html_imageimpl.cpp:
3051         (DOM::HTMLMapElementImpl::areas):
3052         * khtml/html/html_imageimpl.h:
3053         * khtml/html/html_miscimpl.cpp:
3054         (DOM::HTMLCollectionImpl::namedItems):
3055         * khtml/html/html_miscimpl.h:
3056         * khtml/html/html_tableimpl.cpp:
3057         (DOM::HTMLTableElementImpl::rows):
3058         (DOM::HTMLTableElementImpl::tBodies):
3059         (DOM::HTMLTableSectionElementImpl::insertRow):
3060         (DOM::HTMLTableSectionElementImpl::deleteRow):
3061         (DOM::HTMLTableSectionElementImpl::rows):
3062         (DOM::HTMLTableRowElementImpl::insertCell):
3063         (DOM::HTMLTableRowElementImpl::deleteCell):
3064         (DOM::HTMLTableRowElementImpl::cells):
3065         * khtml/html/html_tableimpl.h:
3066         * khtml/html/htmlparser.cpp:
3067         (HTMLParser::parseToken):
3068         (HTMLParser::insertNode):
3069         * khtml/khtml_events.h:
3070         * khtml/khtml_part.cpp:
3071         (KHTMLPart::selectionHasStyle):
3072         (KHTMLPart::selectionStartHasStyle):
3073         (KHTMLPart::selectionComputedStyle):
3074         (KHTMLPart::applyEditingStyleToBodyElement):
3075         (KHTMLPart::removeEditingStyleFromBodyElement):
3076         * khtml/khtmlpart_p.h:
3077         * khtml/khtmlview.cpp:
3078         (KHTMLView::viewportMousePressEvent):
3079         (KHTMLView::viewportMouseDoubleClickEvent):
3080         (KHTMLView::viewportMouseReleaseEvent):
3081         (KHTMLView::dispatchMouseEvent):
3082         * khtml/misc/shared.h:
3083         * khtml/rendering/bidi.cpp:
3084         * khtml/rendering/render_block.cpp:
3085         (khtml::RenderBlock::updateFirstLetter):
3086         * khtml/rendering/render_line.h:
3087         * khtml/rendering/render_text.cpp:
3088         (RenderText::setStyle):
3089         (RenderText::originalString):
3090         (RenderTextFragment::originalString):
3091         * khtml/rendering/render_text.h:
3092         * khtml/xml/dom2_eventsimpl.h:
3093         * khtml/xml/dom2_rangeimpl.cpp:
3094         (DOM::rangeOfContents):
3095         * khtml/xml/dom2_rangeimpl.h:
3096         * khtml/xml/dom_docimpl.cpp:
3097         (DocumentImpl::adoptNode):
3098         (DocumentImpl::setFocusNode):
3099         (DocumentImpl::addMarker):
3100         (DocumentImpl::removeMarkers):
3101         (DocumentImpl::applyXSLTransform):
3102         (DocumentImpl::images):
3103         (DocumentImpl::applets):
3104         (DocumentImpl::embeds):
3105         (DocumentImpl::objects):
3106         (DocumentImpl::links):
3107         (DocumentImpl::forms):
3108         (DocumentImpl::anchors):
3109         (DocumentImpl::all):
3110         (DocumentImpl::windowNamedItems):
3111         (DocumentImpl::documentNamedItems):
3112         (DocumentImpl::getElementsByName):
3113         * khtml/xml/dom_docimpl.h:
3114         (DOM::DocumentImpl::transformSourceDocument):
3115         * khtml/xml/dom_elementimpl.cpp:
3116         (ElementImpl::setAttributeNode):
3117         (ElementImpl::removeAttributeNode):
3118         (NamedAttrMapImpl::removeNamedItemNS):
3119         (NamedAttrMapImpl::setNamedItem):
3120         (NamedAttrMapImpl::removeNamedItem):
3121         * khtml/xml/dom_elementimpl.h:
3122         (DOM::ElementImpl::setAttributeNodeNS):
3123         * khtml/xml/dom_nodeimpl.cpp:
3124         (DOM::NodeImpl::childNodes):
3125         (DOM::NodeImpl::dispatchWindowEvent):
3126         (DOM::NodeImpl::dispatchMouseEvent):
3127         (DOM::NodeImpl::getElementsByTagNameNS):
3128         (DOM::ContainerNodeImpl::insertBefore):
3129         (DOM::ContainerNodeImpl::replaceChild):
3130         (DOM::ContainerNodeImpl::appendChild):
3131         (DOM::ContainerNodeImpl::addChild):
3132         * khtml/xml/dom_nodeimpl.h:
3133         (DOM::NodeImpl::getElementsByTagName):
3134         (DOM::NamedNodeMapImpl::removeNamedItem):
3135         (DOM::NamedNodeMapImpl::setNamedItemNS):
3136         * khtml/xml/dom_xmlimpl.h:
3137         * khtml/xsl/xslt_processorimpl.cpp:
3138         (DOM::XSLTProcessorImpl::createDocumentFromSource):
3139         (DOM::createFragmentFromSource):
3140         (DOM::xsltStylesheetPointer):
3141         (DOM::xmlDocPtrFromNode):
3142         (DOM::XSLTProcessorImpl::transformToString):
3143         (DOM::XSLTProcessorImpl::transformToDocument):
3144         (DOM::XSLTProcessorImpl::transformToFragment):
3145         (DOM::XSLTProcessorImpl::getParameter):
3146         * khtml/xsl/xslt_processorimpl.h:
3147         * kwq/KWQClipboard.h:
3148         * kwq/KWQKHTMLPart.h:
3149         * kwq/KWQKHTMLPart.mm:
3150         (KWQKHTMLPart::findString):
3151         (KWQKHTMLPart::advanceToNextMisspelling):
3152         (KWQKHTMLPart::fontForSelection):
3153         (KWQKHTMLPart::markMisspellings):
3154         (KWQKHTMLPart::shouldClose):
3155         * kwq/WebCoreBridge.mm:
3156         (-[WebCoreBridge convertToNSRange:DOM::]):
3157
3158 2005-11-30  Maciej Stachowiak  <mjs@apple.com>
3159
3160         Reviewed by Dave Hyatt.
3161         
3162         - change idiom used for implicit bool conversion of smart pointers, because the old one gives weird error messages sometimes
3163
3164         * khtml/xml/DocPtr.h:
3165         (DOM::DocPtr::operator UnspecifiedBoolType):
3166
3167 2005-11-30  Eric Seidel  <eseidel@apple.com>
3168
3169         Reviewed by darin.
3170
3171         No additional tests needed, acid2 covers this case.
3172
3173         * khtml/xml/dom_elementimpl.cpp:
3174         (ElementImpl::rendererIsNeeded): call down into NodeImpl if needed.
3175
3176 2005-11-30  Eric Seidel  <eseidel@apple.com>
3177
3178         Reviewed by mjs.
3179
3180         No functionality change, no tests needed.
3181
3182         Make make_names.pl namespace agnostic and add XLinkNames.* for SVG
3183
3184         * WebCore+SVG/XLinkNamesWrapper.cpp: Added.
3185         * WebCore.xcodeproj/project.pbxproj: added files, build rule.
3186         * khtml/khtml_part.cpp:
3187         (KHTMLPart::init): init XLinkNames
3188         * khtml/xml/dom_elementimpl.cpp:
3189         (ElementImpl::rendererIsNeeded): remove foreignObjectTag (temp.)
3190         * ksvg2/misc/xlinkattrs.in: Added.
3191         * ksvg2/scripts/make_names.pl: make namespace agnostic
3192         * ksvg2/svg/SVGLocatableImpl.cpp: remove foreignObjectTag (temp.)
3193         (SVGLocatableImpl::nearestViewportElement):
3194         (SVGLocatableImpl::farthestViewportElement):
3195         * ksvg2/svg/SVGURIReferenceImpl.cpp: use XLinkNames
3196         (SVGURIReferenceImpl::parseMappedAttribute):
3197         * ksvg2/svg/svgattrs.in: remove href
3198         * ksvg2/svg/svgtags.in: comment out unused tags
3199
3200 2005-11-30  Rob Buis  <rwlbuis@xs4all.nl>
3201
3202         Reviewed by eseidel.  Committed by eseidel.
3203
3204         Fixes 5 test cases:
3205         - paths-data-02-t.svg (most noticeable)
3206         - fonts-elem-01-t.svg
3207         - fonts-elem-02-t.svg
3208         - fonts-elem-03-t.svg
3209         - fonts-elem-04-t.svg
3210
3211         http://bugs.webkit.org/show_bug.cgi?id=5881
3212         Quadratic bezier path render error
3213
3214         * ksvg2/svg/svgpathparser.cpp:
3215         (SVGPathParser::parseSVG):
3216
3217 2005-11-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3218
3219         Reviewed by darin.
3220
3221         Test: fast/dom/HTMLScriptElement/script-set-src.html
3222
3223         Fix for: http://bugs.webkit.org/show_bug.cgi?id=4403
3224         Script element doesn't load if on set src if already in document
3225
3226         * khtml/html/html_headimpl.cpp:
3227         (HTMLScriptElementImpl::parseMappedAttribute):
3228         (HTMLScriptElementImpl::closeRenderer):
3229         * khtml/html/html_headimpl.h:
3230
3231 2005-11-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3232
3233         Reviewed by darin.  Committed by eseidel.
3234
3235         Test: fast/table/cell-width-auto.html
3236
3237         Fix for: http://bugs.webkit.org/show_bug.cgi?id=5820
3238         Table cells with width:auto should use width from their <col>
3239
3240         * khtml/rendering/render_block.cpp:
3241         (khtml::RenderBlock::calcMinMaxWidth):
3242         * khtml/rendering/render_table.cpp:
3243         (RenderTableCell::styleOrColWidth):
3244         (RenderTableCell::calcMinMaxWidth):
3245         * khtml/rendering/render_table.h:
3246         * khtml/rendering/table_layout.cpp:
3247         (FixedTableLayout::calcWidthArray):
3248         (AutoTableLayout::recalcColumn):
3249         (AutoTableLayout::calcEffectiveWidth):
3250
3251 2005-11-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3252
3253         Reviewed by hyatt.  Committed by eseidel.
3254
3255         Test: fast/text/span-in-word-space-causes-overflow.html
3256
3257         Fix for: http://bugs.webkit.org/show_bug.cgi?id=4695
3258         <span> in word-spaced text breaks width calc, causes overflow
3259
3260         * khtml/rendering/bidi.cpp:
3261         (khtml::RenderBlock::findNextLineBreak):
3262
3263 2005-11-29  Andrew Wellington  <proton@wiretapped.net>
3264
3265         Reviewed by darin.  Committed by eseidel.
3266
3267         No automated test possible.
3268
3269         Fix for: http://bugs.webkit.org/show_bug.cgi?id=4726
3270         Drop of multiple non-image file URLs only yields one item
3271
3272         * khtml/editing/markup.cpp:
3273         (khtml::createFragmentFromNodeList):
3274         * khtml/editing/markup.h:
3275         * kwq/WebCoreBridge.h:
3276         * kwq/WebCoreBridge.mm:
3277         (-[WebCoreBridge documentFragmentWithNodesAsParagraphs:]):
3278
3279 2005-11-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3280
3281         Reviewed by darin.  Committed by eseidel.
3282
3283         Test case: fast/css/absolute-poition-in-rtl-parent.html
3284         Fix for bug: http://bugs.webkit.org/show_bug.cgi?id=5800
3285
3286         * khtml/rendering/render_box.cpp:
3287         (RenderBox::calcAbsoluteHorizontal):
3288
3289 2005-11-29  Beth Dakin  <bdakin@apple.com>
3290
3291         Reviewed by Darin
3292
3293         Fix for <rdar://problem/4098083> REGRESSION (125-312): crash 
3294         in [KWQTableView resignFirstResponder] selecting from JS menu 
3295         (car4you.at, etc.)
3296
3297         Though this crash is only currently reproducible on the branch
3298         and not on TOT, the fix should be in both. 
3299
3300         * kwq/KWQWidget.mm:
3301         (QWidget::removeFromSuperview): The call to removeFromSuperview
3302         could destroy data, so we should only reference it before the 
3303         call.
3304
3305 2005-11-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3306
3307         Reviewed by eseidel.  Committed by eseidel.
3308
3309         Fixed http://bugs.webkit.org/show_bug.cgi?id=5879
3310         REGRESSION: Buttons go into pushed state when moused over when text field has focus
3311
3312         * khtml/xml/dom_nodeimpl.cpp:
3313         (DOM::NodeImpl::NodeImpl): Initialize m_inActiveChain to false.
3314
3315 2005-11-29  Eric Seidel  <eseidel@apple.com>
3316
3317         Reviewed by darin.
3318
3319         Fixes W3C events tests, no additional tests necessary.
3320         http://bugs.webkit.org/show_bug.cgi?id=5876
3321
3322         * ksvg2/css/svg.css: added namespace declaration
3323         * ksvg2/svg/SVGElementImpl.cpp:
3324         (SVGElementImpl::parseMappedAttribute): added support of on* attrs
3325
3326 2005-11-29  David Harrison  <harrison@apple.com>
3327
3328         Reviewed by John Sullivan.
3329
3330         Test cases added: None.  Manual testing is way to awkward, and automated testing
3331         is not possible.  See following bug...
3332         <rdar://problem/4256882> Need automated testing support for accessibility APIs
3333
3334         * khtml/html/html_formimpl.cpp:
3335         (DOM::HTMLGenericFormElementImpl::removedFromTree):
3336         Replace tab with spaces.  Remove braces from one line "if".
3337         * kwq/KWQAccObject.mm:
3338         (-[KWQAccObject detach]):
3339         Send unregisterUniqueIdForUIElement unconditionally, for safety.
3340         (-[KWQAccObject dealloc]):
3341         New.  Send [self detach] so KWQObject gets unregistered and other cleanup happens as well.
3342         (CreateCGColorIfDifferent):
3343         Replace tab with spaces.
3344         (-[KWQAccObject removeAccObjectID]):
3345         Early to prevent a crash if called on a detached KWQAccObject (i.e. m_renderer == 0).
3346
3347 2005-11-29  Vicki Murley  <vicki@apple.com>
3348
3349         Changes by Mitz Pettel, reviewed by Maciej.
3350
3351         - fix http://bugs.webkit.org/show_bug.cgi?id=5829 (REGRESSION: cursor tracking and hit 
3352         testing in scrollable block don't take borders into account)
3353
3354         * khtml/rendering/render_layer.cpp:
3355         (khtml::RenderLayer::hitTestLayer): don't add left and bottom borders when hit testing
3356         * manual-tests/scrollbar-hittest.html: Added.
3357
3358 2005-11-29  Darin Adler  <darin@apple.com>
3359
3360         Reviewed by Maciej.
3361
3362       &