a8c54c3023fae9d44043733b28f98760fae55514
[WebKit-https.git] / WebCore / ChangeLog-2005-08-23
1 2005-06-29  Justin Garcia  <justin.garcia@apple.com>
2
3         - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3714>
4         HTMLLabelElement's form property isn't implemented
5
6         Patch by Anders Carlsson <andersca@mac.com>
7
8         Reviewed by Darin
9
10         Test cases added:
11         * layout-tests/fast/dom/HTMLLabelElement/properties/form-expected.txt: Added.
12         * layout-tests/fast/dom/HTMLLabelElement/properties/form.html: Added.
13         
14         * khtml/html/html_formimpl.cpp:
15         (DOM::HTMLLabelElementImpl::form):
16         Traverse upwards looking for a form element.
17
18 2005-06-29  Geoffrey Garen  <ggaren@apple.com>
19
20         Patch by Joost de Valk <webkit@joostdevalk.nl>
21
22         - http://bugzilla.opendarwin.org/show_bug.cgi?id=3732
23         Testcase for accesskeys that will run with run-webkit-tests.
24
25         Reviewed by Darin.
26
27         Test cases added: 
28         * layout-tests/fast/forms/access-key-expected.txt: Added.
29         * layout-tests/fast/forms/access-key.html: Added.
30
31 2005-06-29  Justin Garcia  <justin.garcia@apple.com>
32
33         Patch by Anders Carlsson  <andersca@mac.com>
34
35         - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3715>
36         An HTMLObjectElement's form property was always null.
37
38         Reviewed by Darin
39
40         Test cases added:
41         * layout-tests/fast/dom/htmlobject-form-expected.txt: Added.
42         * layout-tests/fast/dom/htmlobject-form.html: Added.
43
44         * khtml/html/html_objectimpl.cpp:
45         (DOM::HTMLObjectElementImpl::form):
46         Implement this function by traversing the parent nodes looking
47         for a form element.
48
49 2005-06-29  Geoffrey Garen  <ggaren@apple.com>
50
51         Patch by Antoine Quint <ml@graougraou.com>
52
53         -fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=3648
54         quadraticCurveTo() method in <canvas> APIs JS bindings does not exist
55
56         Reviewed by Darin.
57
58         Test cases added: 
59         * layout-tests/fast/dom/quadraticCurveTo-expected.txt: Added.
60         * layout-tests/fast/dom/quadraticCurveTo.xml: Added.
61
62         * khtml/ecma/kjs_html.cpp:
63
64 2005-06-29  Geoffrey Garen  <ggaren@apple.com>
65
66         Patch by Hanspeter Schaub <Hanspeterschaub@mac.com>
67
68         -fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=3317
69         REGRESSION: CSS2: outline is applied to both <li> element 
70         and its enclosing text with context dependent selector
71
72         Reviewed by Hyatt.
73
74         Test cases added: 
75         * layout-tests/fast/css/list-outline-expected.txt: Added.
76         * layout-tests/fast/css/list-outline.html: Added.
77
78         * khtml/rendering/render_line.cpp:
79         (khtml::InlineFlowBox::paint):
80
81 2005-06-28  Vicki Murley  <vicki@apple.com>
82
83         Reviewed by Maciej.
84  
85         - fix our part of <rdar://problem/4122332> extra HTTP GET when iframe requests file 
86         already fetched by parent that should have been cached. Setting location via javascript
87         should not signal a full reload of the destination page and all its subresources.
88
89         * khtml/khtml_part.cpp:
90         (KHTMLPart::changeLocation): remove code that sets the reload flag
91
92 2005-06-28  Justin Garcia  <justin.garcia@apple.com>
93
94         Patch by Kevin Ballard <kevin@sb.org>
95
96         Reviewed by Darin
97         
98         - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3654> 
99         Updating the value of a textarea wasn't saving the cursor position 
100         in a line ending-agnostic fashion.
101
102         Test cases added:
103         * layout-tests/fast/forms/cursor-position-expected.txt: Added.
104         * layout-tests/fast/forms/cursor-position.html: Added.
105
106         * kwq/KWQTextArea.mm:
107         (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]):
108         (RangeOfParagraph):
109         (-[KWQTextArea setCursorPositionToIndex:inParagraph:]):
110
111 2005-06-28  Justin Garcia  <justin.garcia@apple.com>
112
113         Patch by Alexey Proskuryakov <ap@nypop.com>
114         
115         - <http://bugzilla.opendarwin.org/show_bug.cgi?id=3727>
116         When a DECODE_DEBUG preprocessor symbol is defined in khtml/misc/decoder.cpp, 
117         compilation fails because a non-existent variable "force" is used.
118
119         Reviewed by Darin
120
121         Test cases added: None required
122
123         * khtml/misc/decoder.cpp:
124         (Decoder::setEncoding):
125
126 2005-06-28  David Harrison  <harrison@apple.com>
127
128         Reviewed by Chris Blumenberg.
129
130         Test cases added: (NONE)
131         
132         (continued) <rdar://problem/4140688> assertion failure double-clicking text to select
133         Fixed my checkin from yesterday.
134
135         * khtml/rendering/render_text.cpp:
136         (InlineTextBox::paintMarkedTextBackground):
137         (InlineTextBox::positionForOffset):
138         Changed tabs to spaces.
139         
140         (RenderText::positionForCoordinates):
141         Make sure affinity is downstream when in mid-line.
142         Changed tabs to spaces.
143
144         (RenderText::caretRect):
145         (RenderText::cacheWidths):
146         (RenderText::trimmedMinMaxWidth):
147         (RenderText::minXPos):
148         (RenderText::width):
149         (RenderText::caretMaxOffset):
150         Changed tabs to spaces.
151
152         * layout-tests/editing/style/create-block-for-style-004-expected.txt:
153         Expected ending selection affinity is downstream.
154
155 2005-06-27  Maciej Stachowiak  <mjs@apple.com>
156
157         Remove accidentally committed code that breaks the build. Oops!
158
159         * khtml/xml/dom_atomicstring.cpp:
160         (DOM::AtomicString::expand):
161         (DOM::AtomicString::shrink):
162
163 2005-06-26  Maciej Stachowiak  <mjs@apple.com>
164
165         Reviewed by Darin.
166
167         - replaced all our hash functions with the state of the art in hashing
168         - ~1% speedup on cvs-base
169         
170         No test cases added, perf effects only.
171
172         * khtml/xml/dom_atomicstring.cpp:
173         (DOM::AtomicStringStatisticsExitLogger::~AtomicStringStatisticsExitLogger):
174         Improved stats gathering to track collisions in more detail and count reinserts
175         on remove.
176         (DOM::addToCollisionCount): ditto
177         (DOM::AtomicString::add): ditto
178         (DOM::AtomicString::insert): ditto
179         (DOM::AtomicString::remove): ditto
180         * khtml/xml/dom_stringimpl.cpp:
181         (DOM::DOMStringImpl::computeHash): Replace with SuperFastHash algorithm.
182         * kwq/KWQCharsets.mm:
183         (encodingNameHash): Clean up mistaken shift in the wrong direction.
184         * kwq/KWQString.h: Removed unused hashing code.
185         * kwq/KWQString.mm: ditto
186         * kwq/KWQTextCodec.mm:
187         (QTextCodec::hash): Use a variant of the SuperFastHash algorithm.
188
189 2005-06-27  David Harrison  <harrison@apple.com>
190
191         Reviewed by Ken.
192
193         Test cases added: None because this relies on mouse clicking.
194
195         <rdar://problem/4140688> assertion failure double-clicking text to select
196
197         * khtml/rendering/render_text.cpp:
198         (RenderText::positionForCoordinates):
199         Use setAffinityUsingLinePosition.
200
201 2005-06-25  Darin Adler  <darin@apple.com>
202
203         - updated a layout test so that it doesn't depend on a remote resource via http
204
205         * layout-tests/fast/backgrounds/001.html: Change image URL to be relative.
206         * layout-tests/fast/backgrounds/resources/bg_position_larger.gif: Added.
207
208 2005-06-24  Darin Adler  <darin@apple.com>
209
210         Changes by Mitz Pettel.
211         Reviewed by me.
212
213         Test cases added:
214         * layout-tests/fast/text/international/bidi-explicit-embedding-expected.txt: Added.
215         * layout-tests/fast/text/international/bidi-explicit-embedding.html: Added.
216
217         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3599>
218           Incorrect layout of explicit embedding levels
219
220         * khtml/rendering/bidi.cpp:
221         (khtml::embed): Set up the new run correctly following an embed/pop.
222         (khtml::RenderBlock::bidiReorderLine): Close the "dangling" run when we see an explicit
223         embedding character (or PDF).
224
225 2005-06-24  Darin Adler  <darin@apple.com>
226
227         Changes by Mitz Pettel.
228         Reviewed by me.
229
230         Test cases added:
231         * layout-tests/fast/text/international/bidi-CS-after-AN-expected.txt: Added.
232         * layout-tests/fast/text/international/bidi-CS-after-AN.html: Added.
233
234         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3693>
235           Bug_72578 in KHTML: bidi algorithm misbehaves with CS after AN
236
237         * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Rolled in the
238         patch from the KDE tree.
239
240 2005-06-24  Justin Garcia  <justin.garcia@apple.com>
241
242         - <http://bugzilla.opendarwin.org/show_bug.cgi?id=3673> 
243             Adds QBuffer::setBuffer(QByteArray) support to KWQBuffer, and adds a QBuffer(QByteArray) constructor.
244
245         Reviewed by Darin
246
247         Test cases added: Non required
248
249         * kwq/KWQBuffer.h:
250         (QBuffer::QBuffer):
251         * kwq/KWQBuffer.mm:
252         (QBuffer::setBuffer):
253
254 2005-06-24  Justin Garcia  <justin.garcia@apple.com>
255
256         - <http://bugzilla.opendarwin.org/show_bug.cgi?id=3672> KWQRect -- CGRect and other small additions
257         - <http://bugzilla.opendarwin.org/show_bug.cgi?id=3670> Add remove and byteOrderMark support to KWQString for kdom
258
259         Reviewed by Darin
260
261         Test cases added: None required
262
263         * kwq/KWQRect.h:
264         (QRect::contains):
265         * kwq/KWQRect.mm:
266         (QRect::QRect):
267         (QRect::topRight):
268         (QRect::bottomLeft):
269         (QRect::normalize):
270         (QRect::operator CGRect):
271         * kwq/KWQString.h:
272         (QChar::):
273         (QString::remove):
274
275 2005-06-24  Darin Adler  <darin@apple.com>
276
277         Reviewed by Justin Garcia.
278
279         - fixed <rdar://problem/4151619> Safari changes "\" characters to "/" in the query part of links that start with "?"
280
281         Test cases added:
282         * layout-tests/fast/dom/anchor-backslash-expected.txt: Added.
283         * layout-tests/fast/dom/anchor-backslash.html: Added.
284
285         * kwq/KWQKURL.mm: (substituteBackslashes): Fix error where we'd ignore
286         "?" and "#" characters if they were the first character in the string.
287
288 2005-06-23  Darin Adler  <darin@apple.com>
289
290         * khtml/html/html_formimpl.cpp: (DOM::HTMLTextAreaElementImpl::setValue):
291         Took out an unneeded type cast (meant to do that before committing).
292
293 2005-06-23  Kevin Ballard  <kevin@sb.org>
294
295         Reviewed and landed by Darin Adler.
296
297         Test cases added:
298         * layout-tests/fast/forms/selection-functions-expected.txt: Added.
299         * layout-tests/fast/forms/selection-functions.html: Added.
300         * layout-tests/fast/forms/textarea-crlf-expected.txt: Added.
301         * layout-tests/fast/forms/textarea-crlf.html: Added.
302
303         - Fixes bug <http://bugzilla.opendarwin.org/show_bug.cgi?id=3401>.
304           Also fixes issue where setting text of a textarea in code and then
305           retrieving it would leave the \r\n sequences in the text, despite
306           the textarea translating to \n in all other cases.
307
308         * khtml/ecma/kjs_html.h:
309         * khtml/ecma/kjs_html.cpp:
310         (KJS::getInputSelectionStart):
311         (KJS::getInputSelectionEnd):
312         (KJS::KJS::HTMLElement::getValueProperty):
313         (KJS::KJS::HTMLElement::hasProperty):
314         (KJS::KJS::HTMLElementFunction::tryCall):
315         (KJS::HTMLElement::putValue):
316         * khtml/html/html_formimpl.cpp:
317         (DOM::HTMLInputElementImpl::canHaveSelection):
318         (DOM::HTMLInputElementImpl::selectionStart):
319         (DOM::HTMLInputElementImpl::selectionEnd):
320         (DOM::HTMLInputElementImpl::setSelectionStart):
321         (DOM::HTMLInputElementImpl::setSelectionEnd):
322         (DOM::HTMLInputElementImpl::setSelectionRange):
323         (DOM::HTMLInputElementImpl::setValue):
324         (DOM::HTMLTextAreaElementImpl::selectionStart):
325         (DOM::HTMLTextAreaElementImpl::selectionEnd):
326         (DOM::HTMLTextAreaElementImpl::setSelectionStart):
327         (DOM::HTMLTextAreaElementImpl::setSelectionEnd):
328         (DOM::HTMLTextAreaElementImpl::setSelectionRange):
329         (DOM::HTMLTextAreaElementImpl::setValue):
330         * khtml/html/html_formimpl.h:
331         * khtml/rendering/render_form.cpp:
332         (RenderLineEdit::selectionStart):
333         (RenderLineEdit::selectionEnd):
334         (RenderLineEdit::setSelectionStart):
335         (RenderLineEdit::setSelectionEnd):
336         (RenderLineEdit::setSelectionRange):
337         (RenderTextArea::selectionStart):
338         (RenderTextArea::selectionEnd):
339         (RenderTextArea::setSelectionStart):
340         (RenderTextArea::setSelectionEnd):
341         (RenderTextArea::select):
342         (RenderTextArea::setSelectionRange):
343         * khtml/rendering/render_form.h:
344         * kwq/KWQLineEdit.h:
345         * kwq/KWQLineEdit.mm:
346         (QLineEdit::setCursorPosition):
347         (QLineEdit::cursorPosition):
348         (QLineEdit::selectAll):
349         (QLineEdit::selectionStart):
350         (QLineEdit::selectedText):
351         (QLineEdit::setSelection):
352         * kwq/KWQTextArea.h:
353         * kwq/KWQTextArea.mm:
354         (-[KWQTextArea setSelectedRange:]):
355         (-[KWQTextArea selectedRange]):
356         (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]):
357         (RangeOfParagraph):
358         * kwq/KWQTextEdit.h:
359         * kwq/KWQTextEdit.mm:
360         (QTextEdit::getCursorPosition):
361         (QTextEdit::selectionStart):
362         (QTextEdit::selectionEnd):
363         (QTextEdit::setSelectionStart):
364         (QTextEdit::setSelectionEnd):
365         (QTextEdit::selectAll):
366         (QTextEdit::setSelectionRange):
367         * kwq/KWQTextField.h:
368         * kwq/KWQTextField.mm:
369         (-[KWQTextFieldController selectedRange]):
370         (-[KWQTextFieldController setSelectedRange:]):
371
372 2005-06-23  Justin Garcia  <justin.garcia@apple.com>
373
374         Patch by Eric Seidel <macdome@opendarwin.org>
375
376         Adds QTextIStream, QTextOStream to KWQ
377
378         Reviewed by Darin
379
380         Test cases added: None required
381
382         * kwq/KWQTextStream.h:
383         (QTextIStream::QTextIStream):
384         (QTextOStream::QTextOStream):
385
386 2005-06-23  Justin Garcia  <justin.garcia@apple.com>
387
388         Patch by Eric Seidel <macdome@opendarwin.org>
389
390         This patch contains several small additions to KWQ
391
392         Reviewed by Darin
393
394         Test cases added: None required
395
396         * kwq/KWQApplication.h:
397         (QApplication::palette):
398         * kwq/KWQDateTime.h:
399         (QDateTime::time):
400         * kwq/KWQDict.h:
401         (QDict::operator[]):
402         (QDictIterator::operator*):
403         * kwq/KWQKDebug.h:
404         (kdbgstream::operator<<):
405         * kwq/KWQMemArray.h:
406         (QMemArray::duplicate):
407
408 2005-06-23  David Harrison  <harrison@apple.com>
409
410         Test cases added: None needed for this debug-only utility code.
411
412         - Make showTree() const.
413         - Add showTree() for InlineBox.
414         - Add showTree() for RenderObject.
415
416         * khtml/editing/selection.cpp:
417         (khtml::Selection::showTree):
418         * khtml/editing/selection.h:
419         * khtml/editing/visible_position.cpp:
420         (khtml::VisiblePosition::showTree):
421         * khtml/editing/visible_position.h:
422         Make showTree() const.
423         
424         * khtml/rendering/render_line.cpp:
425         (khtml::InlineBox::showTree):
426         * khtml/rendering/render_line.h:
427         Add showTree() for InlineBox.
428         
429         * khtml/rendering/render_object.cpp:
430         (RenderObject::showTree):
431         * khtml/rendering/render_object.h:
432         Add showTree() for RenderObject.
433         
434         * khtml/xml/dom_nodeimpl.cpp:
435         (appendAttributeDesc):
436         (NodeImpl::showNode):
437         (NodeImpl::showTree):
438         (NodeImpl::showTreeAndMark):
439         * khtml/xml/dom_nodeimpl.h:
440         Make showTree() const.
441
442 2005-06-23  Vicki Murley  <vicki@apple.com>
443
444         - added template to be used when writing manual tests
445
446         * manual-tests/template.html: Added.
447
448 2005-06-22  Darin Adler  <darin@apple.com>
449
450         - added forwarding headers as needed for Eric Seidel's KDOM work
451           see <http://bugzilla.opendarwin.org/show_bug.cgi?id=3655>
452
453         * ForwardingHeaders/kjs/value.h: Added.
454         * ForwardingHeaders/qintdict.h: Added an include.
455         * ForwardingHeaders/qptrcollection.h: Added.
456         * ForwardingHeaders/qsize.h: Added.
457         * kwq/KWQIntDict.h: Added. Empty file.
458
459 2005-06-22  Darin Adler  <darin@apple.com>
460
461         Reviewed by Vicki.
462
463         Test cases added:
464         * layout-tests/fast/css/apple-prefix-expected.txt: Added.
465         * layout-tests/fast/css/apple-prefix.html: Added.
466
467         - fixed <rdar://problem/4141650> REGRESSION: Safari RSS slider broken with TOT WebCore
468
469         * khtml/css/parser.y:
470         (getPropertyID): Fix lifetime problem on the QString. Also construct the QString
471         using length, since the passed-in char * is not necessarily null-terminated. Also do
472         the mapping only if it's a "-apple-" prefix -- the old code would do it for, e.g.,
473         "-applex-" too. The old code would not successfully map the "apple" in "appleLineClamp"
474         to "khtml", and Dave changed things so that the internal name of all CSS attributes
475         is "khtml" back in his 2005-05-03 check-in, breaking the use of appleLineClamp in RSS.
476         (getValueID): Ditto.
477
478 2005-06-22  Anders Carlsson  <andersca@mac.com>
479
480         Reviewed and landed by Darin Adler.
481
482         Test cases added: 
483         * layout-tests/fast/dom/title-text-property-expected.txt: Added
484         * layout-tests/fast/dom/title-text-property.html: Added
485         * layout-tests/fast/dom/title-text-property-expected-2.txt: Added
486         * layout-tests/fast/dom/title-text-property-2.html: Added
487
488         - fixed <rdar://problem/3831364> getting or setting text for a <title> element doesn't work
489         - fixed <rdar://problem/4091225> REGRESSION (1.2.4-1.3): many titles with non-ASCII characters do not display properly (XHTML strict only)
490         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3586>
491           Setting and getting title's text attribute does not work
492
493         * khtml/dom/html_head.cpp:
494         (HTMLTitleElement::text):
495         (HTMLTitleElement::setText):
496         Call HTMLTitleElementImpl::text() and ::setText().
497
498         * khtml/html/html_headimpl.cpp:
499         (HTMLTitleElementImpl::HTMLTitleElementImpl):
500         (HTMLTitleElementImpl::insertedIntoDocument):
501         (HTMLTitleElementImpl::removedFromDocument):
502         (HTMLTitleElementImpl::childrenChanged):
503         Pass the current title node to DocumentImpl::setTitle
504         and ::removeTitle.
505
506         (HTMLTitleElementImpl::text):
507         Return the title.
508
509         (HTMLTitleElementImpl::setText):
510         Set the new title.
511
512         * khtml/xml/dom_docimpl.cpp:
513         (DocumentImpl::DocumentImpl):
514         (DocumentImpl::~DocumentImpl):
515         (DocumentImpl::updateTitle):
516         (DocumentImpl::setTitle):
517         (DocumentImpl::removeTitle):
518         * khtml/xml/dom_docimpl.h:
519         Only update the title if it's done by setting document.title
520         or by changing the child nodes of the title element.
521
522 2005-06-22  Darin Adler  <darin@apple.com>
523
524         Changes by Mitz Pettel.
525         Reviewed by me.
526
527         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3633>
528           Layout order of bidi level runs is incorrect
529
530         Test cases added:
531         * layout-tests/fast/text/international/bidi-L2-run-reordering-expected.txt: Added.
532         * layout-tests/fast/text/international/bidi-L2-run-reordering.html: Added.
533
534         * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Fixed mistake
535         where we'd advance too far after reversing a run.
536
537 2005-06-22  Darin Adler  <darin@apple.com>
538
539         - added test case for JavaScriptCore fix
540
541         * layout-tests/fast/js/string-replace-2-expected.txt: Added.
542         * layout-tests/fast/js/string-replace-2.html: Added.
543
544 2005-06-22  Darin Adler  <darin@apple.com>
545
546         Reviewed by John Sullivan.
547
548         Test cases added:
549         * layout-tests/fast/dom/css-set-property-exception-expected.txt: Added.
550         * layout-tests/fast/dom/css-set-property-exception.html: Added.
551
552         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3616>
553           RSS search field, Dashboard widgets failing due to CSS exception
554
555         * khtml/ecma/kjs_css.cpp: (KJS::DOMCSSStyleDeclaration::tryPut):
556         Ignore exceptions when setting properties.
557
558         * layout-tests/fast/js/exception-linenums.html: Changed test case that
559         involved setting style to one that involved setting another property that
560         raises an exception when you try to set it (setting prefix on a text node).
561
562 2005-06-22  Darin Adler  <darin@apple.com>
563
564         Change proposed by Eric Seidel.
565
566         * WebCore.pbproj/project.pbxproj: Fix build rule to match the one in JavaScriptCore.
567         The one here accidentally had hard-coded paths in it and also had the $() vs. ${}
568         issue that broke building on Xcode 2.1 for no good reason (it didn't need $() or ${}).
569
570 2005-06-21  Maciej Stachowiak  <mjs@apple.com>
571
572         Patch from KevinBallard <kevin@sb.org>, reviewed by me.
573
574         - fix build for Xcode 2.1, use ${} for INPUT_FILE_BASE to fix build with Xcode 2.1
575
576         * WebCore.pbproj/project.pbxproj:
577
578 2005-06-21  Justin Garcia  <justin.garcia@apple.com>
579
580         - Fixes <rdar://problem/4114192>.
581         - Fixes a crash in TOT Mail/Blot if you Edit -> Add Hyperlink on a Selection 
582            that ends at the end of the document
583         - Fixes a problem in TOT Mail/Blot where Edit -> Add Hyperlink creates 
584            a link one character beyond what is expected.
585         
586         In replacement, during insertion, some special case code was being called inappropriately.
587         
588         Reviewed by Harrison
589
590         Test cases added: None, requires manual interaction
591
592         * khtml/editing/replace_selection_command.cpp:
593         (khtml::ReplaceSelectionCommand::doApply): In "step 2" of a replacement, we should 
594         only next() the insertion point if the special pre-insertion-merge actually occured.
595         mergeStart used to be the correct check for the occurence of a pre-insertion-merge, but
596         a bug fix made this not the case.  A non-null m_lastNodeInserted correctly signals 
597         that some pre-insertion merging occured.
598
599 2005-06-21  Darin Adler  <darin@apple.com>
600
601         * WebCore.pbproj/project.pbxproj: Switched to a build rule rather than a build phase for the
602         .y files -- this gets rid of the problem where modifying the .y file would not cause sufficient
603         compilation.
604
605         * khtml/css/parser_wrapper.cpp: Removed.
606
607 2005-06-21  Adele Peterson  <adele@apple.com>
608
609         Test cases for:
610         <http://bugzilla.opendarwin.org/show_bug.cgi?id=3450>
611         <rdar://problem/3881901> String.replace() method not working when regex pattern contains {n, m}
612
613         * layout-tests/fast/js/string_replace-expected.txt: Added.
614         * layout-tests/fast/js/string_replace.html: Added.
615
616 2005-06-21  Geoffrey Garen  <ggaren@apple.com>
617
618         Patch contributed by Niels Leenheer <niels.leenheer@gmail.com>
619
620         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3370
621         (Safari can't handle strange frame dimensions)
622
623         Reviewed by Darin.
624
625         * khtml/dom/dom_string.cpp:
626         (DOM::DOMString::toCoordsArray):
627         * khtml/dom/dom_string.h:
628         * khtml/html/html_imageimpl.cpp:
629         (HTMLAreaElementImpl::parseMappedAttribute):
630         * khtml/xml/dom_atomicstring.h:
631         (DOM::AtomicString::toCoordsArray):
632         * khtml/xml/dom_stringimpl.cpp:
633         (DOM::parseLength):
634         (DOM::DOMStringImpl::toCoordsArray):
635         (DOM::DOMStringImpl::toLengthArray):
636         * khtml/xml/dom_stringimpl.h:
637
638         Test cases added: 
639         * layout-tests/fast/frames/invalid-expected.txt: Added.
640         * layout-tests/fast/frames/invalid.html: Added.
641         * layout-tests/fast/frames/valid-expected.txt: Added.
642         * layout-tests/fast/frames/valid.html: Added.
643
644 2005-06-21  Geoffrey Garen  <ggaren@apple.com>
645
646         - fixed <rdar://problem/4155049> javascript function named as "opener" doesn't get called because of window.opener property
647
648         Test cases only, fix is in JavaScriptCore
649
650         Reviewed by cblu.
651
652         Test cases added: 
653
654         * layout-tests/fast/js/global-opener-function-expected.txt: Added.
655         * layout-tests/fast/js/global-opener-function.html: Added.
656
657 2005-06-21  David Harrison  <harrison@apple.com>
658
659         Reviewed by Justin.
660         
661         - show class and style attributes for element nodes
662         - nil check the node being showTree'd
663         - add Position::showTree()
664
665         Test cases added: None needed for this debug-only utility code.
666
667         * khtml/editing/selection.cpp:
668         (khtml::Selection::showTree):
669         - nil check the node
670         * khtml/editing/visible_position.cpp:
671         (khtml::VisiblePosition::previousVisiblePosition):
672         - comments
673         (khtml::VisiblePosition::showTree):
674         - nil check the node
675         * khtml/xml/dom_nodeimpl.cpp:
676         (appendAttributeDesc):
677         (NodeImpl::showNode):
678         - show class and style attributes for element nodes
679         * khtml/xml/dom_position.cpp:
680         (DOM::Position::showTree):
681         * khtml/xml/dom_position.h:
682         - add Position::showTree()
683
684 2005-06-20  Maciej Stachowiak  <mjs@apple.com>
685
686         Reviewed by Darin(first pass) and Hyatt.
687
688         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3576
689         (roll in support for "const" keyword from KDE tree)
690         - make processVarDecls handle deletability of variables declared
691         in an eval block the same as evaluate would
692         - make eval() call processVarDecls - needed to match mozilla and
693         to make the second change testable
694
695         Test cases only, fix is in JavaScriptCore
696         
697         Test cases added:
698         * layout-tests/fast/js/const-expected.txt: Added.
699         * layout-tests/fast/js/const.html: Added.
700         * layout-tests/fast/js/eval-var-decl-expected.txt: Added.
701         * layout-tests/fast/js/eval-var-decl.html: Added.
702
703 2005-06-20  Maciej Stachowiak  <mjs@apple.com>
704
705         Patch from Mark Rowe <opendarwin.org@bdash.net.nz>, reviewed by me.
706
707         - fixed http://bugzilla.opendarwin.org/attachment.cgi?id=2483
708         
709         Test cases added: 
710         * layout-tests/fast/js/hasOwnProperty-expected.txt: Added.
711         * layout-tests/fast/js/hasOwnProperty.html: Added.
712         - also fixed two mozilla JS tests
713         
714         * khtml/ecma/kjs_binding.h:
715         * khtml/ecma/kjs_css.cpp:
716         (KJS::DOMCSSStyleDeclaration::hasOwnProperty):
717         * khtml/ecma/kjs_css.h:
718         * khtml/ecma/kjs_dom.cpp:
719         (KJS::DOMNodeList::hasOwnProperty):
720         (KJS::DOMNamedNodeMap::hasOwnProperty):
721         * khtml/ecma/kjs_dom.h:
722         * khtml/ecma/kjs_html.cpp:
723         (KJS::HTMLDocument::hasOwnProperty):
724         (KJS::KJS::HTMLElement::hasOwnProperty):
725         (KJS::KJS::HTMLCollection::hasOwnProperty):
726         * khtml/ecma/kjs_html.h:
727         * khtml/ecma/kjs_window.cpp:
728         (KJS::Window::hasOwnProperty):
729         (KJS::Konqueror::hasOwnProperty):
730         * khtml/ecma/kjs_window.h:
731
732 2005-06-20  Geoffrey Garen  <ggaren@apple.com>
733
734         Changes by Darin. Layout tests by me. Reviewed by me.
735
736         Fixed <rdar://problem/4152454> crash in KJS::ExprStatementNode::execute(KJS::ExecState*) in World Clock widget with TOT.
737
738         Test cases added: 
739         * layout-tests/fast/dom/gc-4-expected.txt: Added.
740         * layout-tests/fast/dom/gc-4.html: Added.
741
742         * khtml/ecma/kjs_html.cpp: 
743         (KJS::Context2D::mark): mark now (1) checks for NULL pointers and (2) 
744         calls mark on its parent class (DOMObject::mark).
745
746 2005-06-19  Darin Adler  <darin@apple.com>
747
748         Changes by both Anders Carlsson and me.
749         Reviewed by Maciej and me.
750
751         Test cases added:
752         * layout-tests/fast/forms/element-order-expected.txt: Added.
753         * layout-tests/fast/forms/element-order.html: Added.
754
755         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3503>
756           form.elements[] not order-preserving when elements added via DOM
757
758         * khtml/html/html_formimpl.h: Added formElementIndex.
759         * khtml/html/html_formimpl.cpp:
760         (DOM::insertIntoVector): Added.
761         (DOM::HTMLFormElementImpl::formElementIndex): Added. Computes an appropriate
762         index for a form element, given the document position relative to the other elements.
763         (DOM::HTMLFormElementImpl::registerFormElement): Use formElementIndex to determine
764         where to insert the element in the formElements array.
765
766 2005-06-19  Darin Adler  <darin@apple.com>
767
768         Changes by Anders Carlsson and me.
769         Reviewed by Maciej and me.
770
771         Test cases added: None. Could not figure out how to automate a test without
772         making enhancements to DumpRenderTree.
773
774         - fixed <rdar://problem/4141141> Onselect event is ignored with TEXTAREA and INPUT
775           also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3256>
776
777         * khtml/html/html_formimpl.cpp: (DOM::HTMLTextAreaElementImpl::select):
778         Remove unneeded explicit call to onSelect() here -- now handled by the renderer.
779
780         * khtml/rendering/render_form.h: Added declarations as needed below.
781         * khtml/rendering/render_form.cpp:
782         (RenderFormElement::slotSelectionChanged): Add base class implementation that does nothing.
783         (RenderLineEdit::RenderLineEdit): Connect the selection changed signal to our slot.
784         (RenderLineEdit::slotSelectionChanged): Call onSelect when selection changes to something
785         that's a selection (not a caret).
786         (RenderTextArea::RenderTextArea): Connect as above.
787         (RenderTextArea::slotSelectionChanged): Call as above.
788
789         * kwq/KWQLineEdit.h: Added declarations as needed below.
790         * kwq/KWQLineEdit.mm:
791         (QLineEdit::QLineEdit): Added selectionChanged signal.
792         (QLineEdit::hasSelectedText): Added.
793
794         * kwq/KWQSlot.mm:
795         (KWQSlot::KWQSlot): Make selectionChanged work on any form element.
796         (KWQSlot::call): ditto.
797
798         * kwq/KWQTextArea.h: Added hasSelection method.
799         * kwq/KWQTextArea.mm:
800         (-[KWQTextArea textViewDidChangeSelection:]): Added. Sends selectionChanged signal, except if
801         we're in the middle of gaining or losing first responder.
802         (-[KWQTextArea hasSelection]): Added.
803         (-[KWQTextAreaTextView becomeFirstResponder]): Added. Sets flag to tell us we're in a responder
804         change (using a count to avoid trouble if we reenter).
805         (-[KWQTextAreaTextView resignFirstResponder]): Ditto.
806         (-[KWQTextAreaTextView inResponderChange]): Added.
807
808         * kwq/KWQTextEdit.h: Added declarations as needed below.
809         * kwq/KWQTextEdit.mm:
810         (QTextEdit::QTextEdit): Added selectionChanged signal.
811         (QTextEdit::hasSelectedText): Added.
812
813         * kwq/KWQTextField.h: Added declarations as needed below.
814         * kwq/KWQTextField.mm:
815         (-[KWQTextFieldController initWithTextField:QLineEdit:]): Fixed up to do the right
816         thing with the result of the init function we call.
817         (-[KWQTextFieldController controlTextDidEndEditing:]): Removed call to setHasFocus:NO
818         since it's a little too late by the time the control is called; now handled by the
819         text view delegate methods below.
820         (-[KWQTextFieldController hasSelection]): Added.
821         (-[KWQTextFieldController setHasFocus:]): Sets the new hasFocusAndSelectionSet after
822         new focus and selection are both set up.
823         (-[KWQTextFieldController textViewDidChangeSelection:]): Added. Sends the selection
824         changed signal.
825         (-[KWQTextField initWithQLineEdit:]): Fixed up to do the right thing with the result
826         of the init function we call.
827         (-[KWQTextField textViewDidChangeSelection:]): Added. Calls super and then calls the
828         controller.
829         (-[KWQTextField textDidEndEditing:]): Added. Calls setHasFocus:NO and then calls super.
830         (-[KWQSecureTextField initWithQLineEdit:]): Same as above, but for secure text fields.
831         (-[KWQSecureTextField textViewDidChangeSelection:]): Ditto.
832         (-[KWQSecureTextField textDidEndEditing:]): Ditto.
833         (-[KWQSearchField initWithQLineEdit:]): Same as above, but for search fields.
834         (-[KWQSearchField textViewDidChangeSelection:]): Ditto.
835         (-[KWQSearchField textDidEndEditing:]): Ditto.
836         (-[KWQTextFieldFormatter init]): Fixed up to do the right thing with the result of
837         the init function we call.
838
839 2005-06-18  Darin Adler  <darin@apple.com>
840
841         Changes by Anders Carlsson.
842         Reviewed by me.
843
844         Test cases added:
845         * layout-tests/fast/dom/css-dom-read-expected.txt: Added.
846         * layout-tests/fast/dom/css-dom-read.html: Added.
847
848         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3534>
849           CSSMutableStyleDeclarationImpl::item is unimplemented
850
851         * khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::item):
852         Get the style from the m_values list.
853
854 2005-06-18  Darin Adler  <darin@apple.com>
855
856         - undid a last minute change I made that broke a patch I landed
857           (layout tests caught the mistake, all should work again now)
858
859         * khtml/html/html_formimpl.cpp:
860         (DOM::HTMLLabelElementImpl::formElement): Don't include this when iterating.
861         (DOM::HTMLLegendElementImpl::formElement): Ditto.
862
863 2005-06-18  Darin Adler  <darin@apple.com>
864
865         - removing the applet tests, since they are causing other tests to fail
866
867         * layout-tests/fast/replaced/applet-hspace-expected.txt: Removed.
868         * layout-tests/fast/replaced/applet-hspace.html: Removed.
869         * layout-tests/fast/replaced/applet-vspace-expected.txt: Removed.
870         * layout-tests/fast/replaced/applet-vspace.html: Removed.
871         * layout-tests/fast/replaced/resources/applet.class: Removed.
872         * layout-tests/fast/replaced/resources/applet.java: Removed.
873
874 2005-06-18  Darin Adler  <darin@apple.com>
875
876         Changes by Anders Carlsson.
877         Reviewed by me.
878
879         Test cases added:
880         * layout-tests/fast/dom/resources/script3.js: Added.
881         * layout-tests/fast/dom/resources/script4.js: Added.
882         * layout-tests/fast/dom/resources/script5.js: Added.
883         * layout-tests/fast/dom/script-add-expected.txt: Added.
884         * layout-tests/fast/dom/script-add.html: Added.
885
886         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3526>
887           improve support for dynamically added <script> elements
888
889         * khtml/html/html_headimpl.h: Added override of childrenChanged, new evaluateScript
890         function, and m_evaluated boolean.
891         * khtml/html/html_headimpl.cpp:
892         (HTMLScriptElementImpl::HTMLScriptElementImpl): Init m_evaluated to false.
893         (HTMLScriptElementImpl::childrenChanged): Added code to evaluate the script the first
894         time a child is added (except for nodes created by parsing).
895         (HTMLScriptElementImpl::insertedIntoDocument): Refactored to use the new text and
896         evaluateScript functions. Also changed to not try to evaluate the script if the element
897         is entirely empty. This allows you to declare an empty <script> element and fill the
898         content in later using DHTML.
899         (HTMLScriptElementImpl::notifyFinished): Refactored to use the new evaluateScript function.
900         (HTMLScriptElementImpl::evaluateScript): Added. Checks and sets a new m_evaluated boolean
901         to implement the "evaluate each script only once" rule.
902         (HTMLScriptElementImpl::text): Replaced bogus implementation with one that works.
903         (HTMLScriptElementImpl::setText): Ditto.
904
905         * khtml/dom/html_head.cpp:
906         (HTMLScriptElement::text): Replaced bogus implementation with one that calls through to
907         the implementation class. This change doesn't really matter since we don't compile this file.
908         (HTMLScriptElement::setText): Ditto.
909
910 2005-06-18  Darin Adler  <darin@apple.com>
911
912         * khtml/html/html_formimpl.cpp: (DOM::HTMLLabelElementImpl::formElement):
913         Oops, checked in a version that didn't even compile! Fixed now.
914
915 2005-06-18  Darin Adler  <darin@apple.com>
916
917         Changes by Anders Carlsson.
918         Reviewed by me.
919
920         Test cases added:
921         * layout-tests/fast/forms/focus-expected.txt: Added.
922         * layout-tests/fast/forms/focus.html: Added.
923         * layout-tests/fast/forms/legend-access-key-expected.txt: Added.
924         * layout-tests/fast/forms/legend-access-key.html: Added.
925
926         - fixed <rdar://problem/3481846> HTML4: accesskey not supported by HTML legend elements
927           also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3407>
928         - added focus methods for <label> and <legend> elements
929         - fixed crash when using JavaScript-created events that prevented tests from running
930
931         * khtml/ecma/kjs_html.h: Added focus methods.
932         * khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLElementFunction::tryCall): Added bindings for
933         focus for <label> and <legend>. (Sorry about the merging, Dave.)
934
935         * khtml/html/html_formimpl.h: Added new functions.
936         * khtml/html/html_formimpl.cpp:
937         (DOM::HTMLLabelElementImpl::focus): Added.
938         (DOM::HTMLLegendElementImpl::formElement): Added.
939         (DOM::HTMLLegendElementImpl::focus): Added.
940         (DOM::HTMLLegendElementImpl::accessKeyAction): Added.
941
942         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::defaultEventHandler): If there's no QKeyEvent,
943         then get the key name from keyIdentifier() instead of the QKeyEvent's unmodifiedText().
944         The old code would just do a nil-deref.
945
946 2005-06-18  Darin Adler  <darin@apple.com>
947
948         Change by Niels Leenheer (also done by Dave Hyatt on stage at WWDC).
949         Reviewed by me.
950
951         Test cases added:
952         * layout-tests/fast/replaced/object-align-hspace-vspace-expected.txt: Added.
953         * layout-tests/fast/replaced/object-align-hspace-vspace.html: Added.
954         * layout-tests/fast/replaced/resources/webkit-background.png: Added.
955
956         * khtml/html/html_objectimpl.cpp:
957         (DOM::HTMLObjectElementImpl::mapToEntry): Add cases for ATTR_ALIGN, ATTR_VSPACE and ATTR_HSPACE.
958         (DOM::HTMLObjectElementImpl::parseMappedAttribute): Ditto.
959
960 2005-06-18  Darin Adler  <darin@apple.com>
961
962         Change by Niels Leenheer (also done by Dave Hyatt on stage at WWDC).
963         Reviewed by me.
964
965         Test cases added:
966         * layout-tests/fast/replaced/applet-hspace-expected.txt: Added.
967         * layout-tests/fast/replaced/applet-hspace.html: Added.
968         * layout-tests/fast/replaced/applet-vspace-expected.txt: Added.
969         * layout-tests/fast/replaced/applet-vspace.html: Added.
970         * layout-tests/fast/replaced/resources/applet.class: Added.
971         * layout-tests/fast/replaced/resources/applet.java: Added.
972
973         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3246>
974           HSPACE and VSPACE attributes are ignored in APPLET element
975
976         * khtml/html/html_objectimpl.cpp:
977         (DOM::HTMLAppletElementImpl::mapToEntry): Add cases for ATTR_VSPACE and ATTR_HSPACE.
978         (DOM::HTMLAppletElementImpl::parseMappedAttribute): Ditto.
979
980 2005-06-18  Darin Adler  <darin@apple.com>
981
982         - removed some unused code from one of the KWQ headers
983
984         * kwq/KWQKHTMLPartBrowserExtension.h:
985
986         - added a layout test for a bug that's already fixed
987
988         * layout-tests/fast/forms/element-by-name-expected.txt: Added.
989         * layout-tests/fast/forms/element-by-name.html: Added.
990
991 2005-06-17  Vicki Murley  <vicki@apple.com>
992
993         Reviewed by Maciej. 
994
995         Test cases added: None, since this test requires manual interaction.
996
997         - fixed <rdar://problem/4086793> Selects wrapped by Span or Label elements 
998         do not resize when options are added via javascript
999         
1000         * khtml/rendering/render_form.cpp:
1001         (RenderSelect::layout): Remove call setting setNeedsLayout to true. setNeedsLayout
1002         is already true at this point, and this additional call has the negative effect of 
1003         marking m_normalChildNeedsLayout on the element's parent, which keeps layout from 
1004         propagating all the way up to the root later on.
1005
1006 2005-06-17  Justin Garcia  <justin.garcia@apple.com>
1007
1008         Fix for rdar://3756860, (also listed as) http://bugzilla.opendarwin.org/show_bug.cgi?id=3295
1009         The cellIndex property for HTMLTableCellElement was always zero because the method to support it was just a stub.
1010         KHTML fix was to simply call nodeIndex(), but this is incorrect because a table row can have as children <script>s
1011         and <form>s (and perhaps others).
1012         
1013         Reviewed by hyatt and john
1014
1015         Test cases added:
1016         * layout-tests/fast/table/cellindex.html: Added.  Illustrates the fix.
1017
1018         * khtml/html/html_tableimpl.cpp:
1019         (DOM::HTMLTableCellElementImpl::cellIndex): Iterate through siblings only counting <th> and <td> elements
1020         * khtml/html/html_tableimpl.h:
1021
1022 2005-06-17  Adele Peterson  <adele@apple.com>
1023
1024         Reviewed by Maciej.
1025
1026         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3419
1027         <rdar://problem/4111752> REGRESSION (125-312/412): Safari doesn't display edmunds.com pages first time through
1028
1029         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): set 'script' flag when 
1030           parsing <script src="foo" /> case.  In this case, parseTag calls the scriptHandler function which expects 
1031           that flag to be set, and sets it back to false at the appropriate time.
1032
1033         Test cases added: These still don't test the cached script cases, but they're good regression 
1034         tests for the tokenizer.  We'll have to come up with a good way to test the cached cases later.
1035
1036         * layout-tests/fast/tokenizer/external-script-document-write_2-expected.txt: Added.
1037         * layout-tests/fast/tokenizer/external-script-document-write_2.html: Added.
1038         * layout-tests/fast/tokenizer/resources/empty_script.js: Added.
1039         * layout-tests/fast/tokenizer/script_extra_close-expected.txt: Added.
1040         * layout-tests/fast/tokenizer/script_extra_close.html: Added.
1041         * layout-tests/fast/tokenizer/script_quirk-expected.txt: Added.
1042         * layout-tests/fast/tokenizer/script_quirk.html: Added.
1043
1044 2005-06-17  Justin Garcia  <justin.garcia@apple.com>
1045
1046         Fixed fprintf problem in gcc4.0
1047         
1048         Reviewed by Darin
1049
1050         Test cases added: See previous ChangeLog entry
1051
1052         * khtml/xml/dom_nodeimpl.cpp:
1053         (NodeImpl::showTreeAndMark): Fixed fprintf warning in gcc4
1054
1055 2005-06-17  Geoffrey Garen  <ggaren@apple.com>
1056
1057         Patch contributed by Anders Carlsson<andersca@mac.com>.
1058
1059         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=3408      
1060
1061         Reviewed by Darin.
1062
1063         Test cases added: None. Test requires manual interaction.
1064         Manual test available at: http://bugzilla.opendarwin.org/attachment.cgi?id=2207
1065
1066         * khtml/html/html_formimpl.cpp: Eliminated HTMLButtonElementImpl::click. HTMLButtonElementImpl now inherits HTMLElementImpl::click. 
1067         * khtml/html/html_formimpl.h: Ditto.
1068
1069 2005-06-17  Darin Adler  <darin@apple.com>
1070
1071         Reviewed by John.
1072
1073         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3556
1074           black diamond question mark shown for invalid UTF-8 sequences
1075
1076         Test cases added:
1077         * layout-tests/fast/encoding/invalid-UTF-8-expected.txt: Added.
1078         * layout-tests/fast/encoding/invalid-UTF-8.html: Added.
1079
1080         * kwq/KWQTextCodec.mm:
1081         (unwanted): Added. Returns true for BOM, replacement, and null characters.
1082         (KWQTextDecoder::appendOmittingUnwanted): Renamed from appendOmittingNullsAndBOMs and
1083         changed to use the new "unwanted" function, which causes it to omit replacement characters.
1084         (KWQTextDecoder::convertUsingTEC): Call append function by its new name.
1085
1086 2005-06-16  Justin Garcia  <justin.garcia@apple.com>
1087
1088         Added a few debugging methods to highlight Selections, VisiblePositions and Nodes in the DOM tree.
1089         
1090         Reviewed by Dave Harrison
1091
1092         Test cases added: None, changes are only to aid debugging
1093
1094         * khtml/editing/selection.cpp:
1095         (khtml::Selection::showTree):
1096         * khtml/editing/selection.h:
1097         * khtml/editing/visible_position.cpp:
1098         (khtml::VisiblePosition::showTree):
1099         * khtml/editing/visible_position.h:
1100         * khtml/xml/dom_nodeimpl.cpp:
1101         (NodeImpl::showNode):
1102         (NodeImpl::showTree):
1103         (NodeImpl::showTreeAndMark): 
1104         * khtml/xml/dom_nodeimpl.h:
1105
1106 2005-06-14  David Hyatt  <hyatt@apple.com>
1107
1108         Add an initial implementation of QualifiedName and HTMLNames.  These classes are not used by anyone yet.
1109         Progress being recorded in bugzilla bug 3405.
1110         
1111         Reviewed by mjs
1112
1113         Test cases added: (None, does not affect build yet)
1114
1115         * WebCore.pbproj/project.pbxproj:
1116         * khtml/xml/dom_qname.h,.cpp
1117         * khtml/html/htmlnames.h,.cpp
1118
1119 2005-06-14  David Hyatt  <hyatt@apple.com>
1120
1121         The behavior of <pre> is broken so that the newline
1122         is not always properly being eaten after the open of the tag.  In addition we were eating the first newline
1123         after all other tags.  This patch stops eating newlines after other tags and refines the behavior for pre
1124         to catch all cases.
1125         
1126         Reviewed by sullivan
1127
1128         Test cases added: fast/text/whitespace/030.html
1129
1130         * khtml/html/htmltokenizer.cpp:
1131         (khtml::HTMLTokenizer::parseTag):
1132         (khtml::HTMLTokenizer::write):
1133
1134 2005-06-13  Vicki Murley  <vicki@apple.com>
1135
1136         Reviewed by Darin.
1137
1138         No test cases added since the steps to reproduce require use of showModalDialog.
1139
1140         - fix for <rdar://problem/4145910> parameters not working in showModalDialog 
1141         test page (dialogWidth, dialogHeight, etc.)
1142
1143         * khtml/ecma/kjs_window.cpp:
1144         (KJS::parseFeatures): add a check for colon character in the feature string
1145
1146 2005-06-13  Maciej Stachowiak  <mjs@apple.com>
1147
1148         Reviewed by Chris Blumenberg and Adele.
1149
1150         - better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
1151         http://bugzilla.opendarwin.org/show_bug.cgi?id=3445
1152
1153         With this change and the matching WebKit change we'll still stop loading the moment you click
1154         a download link, but the unload event and detaching of event handlers will not happen early any more.
1155         
1156         * khtml/khtml_part.cpp:
1157         (KHTMLPart::stopLoading): Factored out from closeURL, make firing of unload
1158         and detaching of event handlers optional.
1159         (KHTMLPart::closeURL): call stopLoading(true)
1160         * khtml/khtml_part.h:
1161         * kwq/WebCoreBridge.h:
1162         * kwq/WebCoreBridge.mm:
1163         (-[WebCoreBridge stopLoading]): Call stopLoading(false).
1164
1165 2005-06-13  Maciej Stachowiak  <mjs@apple.com>
1166
1167         Patch from Andrew Wellington <proton@wiretapped.net>
1168         Reviewed by me.
1169
1170         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3302
1171         (Safari crashes when going to acid2 test page once it's in cache)
1172         
1173         No test cases addded since the repro steps require use of tabbed browsing.
1174
1175         * khtml/khtml_part.cpp:
1176         (KHTMLPart::handleFallbackContent): check for nil
1177
1178 2005-06-12  Darin Adler  <darin@apple.com>
1179
1180         - added expected test results for new tests
1181
1182         * layout-tests/fast/selectors/159-expected.txt: Added.
1183         * layout-tests/fast/selectors/177a-expected.txt: Added.
1184         * layout-tests/fast/selectors/177b-expected.txt: Added.
1185
1186 2005-06-11  Maciej Stachowiak  <mjs@apple.com>
1187
1188         Patch from Nicholas Shanks <contact@nickshanks.com>, reviewed by me.
1189
1190         - Distinguish between pseudo-elements and pseudo-classes in CSS parsing.
1191         http://bugzilla.opendarwin.org/show_bug.cgi?id=3375
1192
1193         Merge of svn log -v -r 399829 svn://anonsvn.kde.org/home/kde
1194         
1195         Test cases added: Added the following from CSS selector test suite,
1196         unfortunately 159 and 117a do not show any difference with and without the
1197         patch since layout tests do not dump selection style (yet).
1198         
1199         * layout-tests/fast/selectors/159.html: Added.
1200         * layout-tests/fast/selectors/177a.html: Added.
1201         * layout-tests/fast/selectors/177b.html: Added.
1202
1203         * khtml/css/css_base.cpp:
1204         (CSSSelector::specificity):
1205         (CSSSelector::extractPseudoType):
1206         (CSSSelector::selectorText):
1207         * khtml/css/css_base.h:
1208         (DOM::CSSSelector::):
1209         (DOM::CSSSelector::pseudoType):
1210         * khtml/css/cssstyleselector.cpp:
1211         (khtml::CSSStyleSelector::checkSelector):
1212         (khtml::CSSStyleSelector::checkOneSelector):
1213         * khtml/css/parser.y:
1214
1215 2005-06-11  Maciej Stachowiak  <mjs@apple.com>
1216
1217         Patch from Timothy Hatcher  <timothy@colloquy.info>, reviewed by me.
1218
1219         Test cases added:
1220         * layout-tests/fast/dom/children-nodes-expected.txt: Added.
1221         * layout-tests/fast/dom/children-nodes.html: Added.
1222
1223         * khtml/html/html_miscimpl.cpp:
1224         (DOM::HTMLCollectionImpl::traverseNextItem): For "children"
1225         collection, use nextSibling() instead of traverseNextNext() to avoid
1226         doing deep traversal.
1227
1228 2005-06-11  Maciej Stachowiak  <mjs@apple.com>
1229
1230         Added missing expected results from the background image patch.
1231
1232         * layout-tests/fast/backgrounds/001-expected.txt: Added.
1233
1234 2005-06-10  David Hyatt  <hyatt@apple.com>
1235
1236         Fix for bugzilla bug 3335, add support for the CSS3 indirect adjacent sibling selector.  Patch merge
1237         from KHTML tree by Nick Shanks.
1238         
1239         Reviewed by hyatt
1240
1241         Test cases added: fast/selectors/046.html
1242
1243         * khtml/css/css_base.cpp:
1244         (CSSSelector::selectorText):
1245         * khtml/css/css_base.h:
1246         (DOM::CSSSelector::):
1247         * khtml/css/cssstyleselector.cpp:
1248         (khtml::CSSStyleSelector::checkSelector):
1249         * khtml/css/parser.y:
1250         * layout-tests/fast/selectors/046-expected.txt: Added.
1251         * layout-tests/fast/selectors/046.html: Added.
1252
1253 2005-06-10  David Hyatt  <hyatt@apple.com>
1254
1255         Fix for 3237, background image repeats when it shouldn't.  The Radar bug is 4005553.  Patch from
1256         Nate Cook.
1257         
1258         Reviewed by darin and hyatt
1259
1260         Test cases added: fast/backgrounds/001.html
1261
1262         * khtml/rendering/render_box.cpp:
1263         (RenderBox::paintBackgroundExtended):
1264         * layout-tests/fast/backgrounds/001.html: Added.
1265
1266 2005-06-10  David Hyatt  <hyatt@apple.com>
1267
1268         Merge Allan Jensen's fix for 3236.
1269         
1270         Reviewed by hyatt
1271
1272         Test cases added: None, test case already added for the bug.
1273
1274         * khtml/css/cssstyleselector.cpp:
1275         (khtml::CSSStyleSelector::applyProperty):
1276         * khtml/rendering/render_style.cpp:
1277         (RenderStyle::setContent):
1278
1279 2005-06-10  Darin Adler  <darin@apple.com>
1280
1281         Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
1282         Refined and reviewed by me.
1283
1284         - test for exception file/line number fix
1285           http://bugzilla.opendarwin.org/show_bug.cgi?id=3327
1286
1287         * layout-tests/fast/js/exception-linenums-expected.txt: Added.
1288         * layout-tests/fast/js/exception-linenums.html: Added.
1289
1290 2005-06-09  David Hyatt  <hyatt@apple.com>
1291
1292         Fix from Carston Guenther for bugzilla bug 3236.
1293
1294         attr(x) should work even if x is not present on the element.
1295
1296         This is Radar bug #3584466
1297         
1298         Reviewed by hyatt
1299
1300         Test cases added: fast/css-generated-content/013.html
1301
1302         * khtml/css/cssstyleselector.cpp:
1303         (khtml::CSSStyleSelector::applyProperty):
1304         * layout-tests/fast/css-generated-content/013-expected.txt: Added.
1305         * layout-tests/fast/css-generated-content/013.html: Added.
1306
1307 2005-06-09  Darin Adler  <darin@apple.com>
1308
1309         Tested by Mark Rowe.
1310
1311         * layout-tests/fast/js/date-parse-test.html: Updated this test to use a time zone offset
1312         for one of the test cases that's time zone dependent; was working in CA, US, failing in NZ.
1313
1314 2005-06-08  Anders Carlsson  <andersca@mac.com>
1315
1316         Reviewed and committed by Maciej.
1317
1318         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3337
1319         (Support the Mozilla DOMParser and XMLSerializer objects)
1320
1321         <rdar://problem/3533735> implement Mozilla "DOMParser" extension for use with XMLHTTPRequest
1322
1323         Test cases added:
1324         * layout-tests/fast/dom/dom-parse-serialize-display-expected.txt: Added.
1325         * layout-tests/fast/dom/dom-parse-serialize-display.html: Added.
1326         * layout-tests/fast/dom/dom-parse-serialize-expected.txt: Added.
1327         * layout-tests/fast/dom/dom-parse-serialize.html: Added.
1328
1329         * khtml/ecma/domparser.h:
1330         * khtml/ecma/domparser.cpp:
1331         Add files implementing the DOMParser object.
1332
1333         * khtml/ecma/kjs_window.h:
1334         * khtml/ecma/kjs_window.cpp:
1335         Expose DOMParser object.
1336         
1337 2005-06-07  David Hyatt  <hyatt@apple.com>
1338
1339         Patch from Brian Campbell.  Make sure the min and max values of slider properly update.
1340         Fixes bugilla bug 3323, internal Radar # is 4098892.
1341         
1342         Reviewed by hyatt
1343
1344         Test cases added: (Not testable with a layout test)
1345
1346         * kwq/KWQSlider.mm:
1347         (QSlider::setMinValue):
1348         (QSlider::setMaxValue):
1349
1350 2005-06-07  Adele Peterson  <adele@apple.com>
1351
1352         Change by Darin, reviewed by Maciej and me.
1353
1354         - fixed <rdar://problem/4139800> REGRESSION: Safari crashes at bebe.com
1355
1356         There were cases where the DOMNode mark function would end up not even
1357         marking the node that it was called on. The old code tried to skip any
1358         subtrees that were already marked, but that code was wrong.
1359
1360         * khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::mark): Changed three things:
1361           1) Instead of a boolean, keep a set of trees that we are marking, that
1362              prevents problems if we mark things that have references between
1363              separate trees of DOM nodes.
1364           2) Don't do the "outermost node with a wrapper" check, just start marking
1365              at the root of the entire tree, because there's no way to have an
1366              unreachable node pointing to a reachable node.
1367           3) Handle the unusual case where the document's wrapper dictionary is
1368              gone by marking just this node explicitly.
1369         This passes the layout tests, still fixes the Dashboard memory leak from
1370         bug 4125222, and makes bebe.com work again.
1371
1372 2005-06-07  Darin Adler  <darin@apple.com>
1373
1374         Change by Toby Peterson <toby@opendarwin.org>.
1375         Reviewed by me.
1376
1377         * WebCore.pbproj/project.pbxproj: Allow bison 2.0, which generates the file
1378         with a different name.
1379
1380 2005-06-07  Darin Adler  <darin@apple.com>
1381
1382         Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
1383         Reviewed by me.
1384
1385         - fixed the WebCore half of build failure with spaces in the path
1386           http://bugzilla.opendarwin.org/show_bug.cgi?id=3291
1387
1388         * WebCore.pbproj/project.pbxproj: Add quotes to make LIBRARY_SEARCH_PATHS work even when
1389         the path has a space in it.
1390
1391 2005-06-07  David Hyatt  <hyatt@apple.com>
1392
1393         Patch from Mark Rowe to fix a minor memory leak in WebCoreSettings.
1394         
1395         Reviewed by hyatt
1396
1397         * kwq/WebCoreSettings.mm:
1398         (-[WebCoreSettings dealloc]):
1399
1400 2005-06-04  Darin Adler  <darin@apple.com>
1401
1402         Reviewed by Maciej.
1403
1404         - import icu headers into project
1405
1406         * WebCore.pbproj/project.pbxproj: Added icu directory to header search path.
1407
1408         * icu/README: Added.
1409         * icu/unicode/parseerr.h: Added.
1410         * icu/unicode/platform.h: Added.
1411         * icu/unicode/putil.h: Added.
1412         * icu/unicode/ubrk.h: Added.
1413         * icu/unicode/uchar.h: Added.
1414         * icu/unicode/uconfig.h: Added.
1415         * icu/unicode/uenum.h: Added.
1416         * icu/unicode/uidna.h: Added.
1417         * icu/unicode/uiter.h: Added.
1418         * icu/unicode/uloc.h: Added.
1419         * icu/unicode/umachine.h: Added.
1420         * icu/unicode/urename.h: Added.
1421         * icu/unicode/ustring.h: Added.
1422         * icu/unicode/utf.h: Added.
1423         * icu/unicode/utf16.h: Added.
1424         * icu/unicode/utf8.h: Added.
1425         * icu/unicode/utf_old.h: Added.
1426         * icu/unicode/utypes.h: Added.
1427         * icu/unicode/uversion.h: Added.
1428
1429 2005-06-01  Darin Adler  <darin@apple.com>
1430
1431         Reviewed by John Sullivan.
1432         No layout tests added because showModalDialog won't work in DumpRenderTree at the moment.
1433
1434         - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog
1435
1436         * khtml/ecma/kjs_window.cpp:
1437         (KJS::allowPopUp): Added. Used by showModalDialog now and should be used by window.open later.
1438         (KJS::parseFeatures): Ditto.
1439         (KJS::boolFeature): Ditto.
1440         (KJS::intFeature): Ditto.
1441         (KJS::createNewWindow): Ditto.
1442         (KJS::canShowModalDialog): Added.
1443         (KJS::canShowModalDialogNow): Added.
1444         (KJS::showModalDialog): Added.
1445         (KJS::Window::get): Return the showModalDialog function object if the extension can run modal.
1446         (KJS::Window::clear): Add code to store the return value for the case where the window is a modal dialog.
1447         (KJS::WindowFunc::tryCall): Add the call to the showModalDialog function.
1448
1449         * khtml/ecma/kjs_window.h: Add setReturnValueSlot function so showModalDialog can get the return
1450         value from the dialog it creates. Also add a data member to keep track of the pointer and a constant
1451         for the ShowModalDialog method.
1452
1453         * khtml/khtml_part.h: Added new changeLocation member function. Made setOpener, openedByJS, and
1454         setOpenedByJS public.
1455
1456         * khtml/khtml_part.cpp:
1457         (KHTMLPart::changeLocation): Broke out the part of slotRedirect that actually does the location change
1458         into a separate function so it can be called when needed. The case using it now is to load the content
1459         of a new window in KJS::createNewWindow.
1460         (KHTMLPart::slotRedirect): Call changeLocation to do most of the work.
1461         (KHTMLPart::urlSelected): Fixed a broken case where the "lack of referrer" in a new window would cause
1462         the referrer passed in by JavaScript to be ignored when opening a new window -- match logic elsewhere
1463         that leaves the referrer in the args alone if one is not set in the window.
1464
1465         * khtml/khtmlpart_p.h: Initialize m_bCleared to true to avoid an unnecessary clear before loading the
1466         first URL in a new window. This change is needed to avoid blowing away the "dialogArguments" value in
1467         a modal dialog window, but it also avoid unnecessary work for each new window.
1468
1469         * kwq/KWQApplication.h: Add availableGeometry function for QDesktopWidget. Used by the showModalDialog
1470         function inside kjs_window.cpp (and should be used elsewhere eventually too). Matches a Qt function that
1471         we just didn't have implemented before.
1472         * kwq/KWQApplication.mm: (QDesktopWidget::availableGeometry): Added.
1473
1474         * kwq/KWQKHTMLPartBrowserExtension.h: Added new canRunModal, canRunModalNow, and runModal functions.
1475         * kwq/KWQKHTMLPartBrowserExtension.mm:
1476         (KHTMLPartBrowserExtension::createNewWindow): Call createModalDialogWithURL on the bridge if the
1477         new window is a dialog. Also fixed the early return case for when the bridge returns nil.
1478         (KHTMLPartBrowserExtension::canRunModal): Added. Calls bridge.
1479         (KHTMLPartBrowserExtension::canRunModalNow): Ditto.
1480         (KHTMLPartBrowserExtension::runModal): Ditto.
1481
1482         * kwq/KWQKPartsBrowserExtension.h:
1483         (KParts::URLArgs::URLArgs): Initialize m_lockHistory to false.
1484         (KParts::WindowArgs::WindowArgs): Add a dialog boolean.
1485
1486         * kwq/WebCoreBridge.h: Declared canRunModal, canRunModalNow, createModalDialogWithURL, and runModal methods.
1487
1488 2005-06-01  Adele Peterson  <adele@apple.com>
1489
1490         fix for <rdar://problem/4135705> REGRESSION (412-TOT) crash in TV Tracker widget - KJS::XMLHttpRequest::removeFromRequestsByDocument()
1491
1492         Reviewed by Darin.
1493
1494         Synchronous loads don't get added to our requestsByDocument dictionary, so we should try to remove the request in this case. 
1495
1496         * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::removeFromRequestsByDocument): added checks to make sure request exists before trying to remove it.
1497
1498 2005-05-30  Darin Adler  <darin@apple.com>
1499
1500         Reviewed by John (fix for Radar bug) and Vicki (all the rest).
1501
1502         - fixed <rdar://problem/4105097> REGRESSION (138-139): Hitting Enter on a checkbox toggles check mark instead of submitting form
1503         - fixed other problems discovered while trying to make a layout test to test this work:
1504             - added newer DOM 3 event type constants
1505             - fixed prototype setup bug preventing event initialization functions from being called
1506             - fixed bug where any function taking an event parameter would crash with a nil-deref
1507             - fixed incorrect ref/deref bug in MutationEventImpl that would cause a crash crash
1508
1509         Test cases added:
1510         * layout-tests/fast/forms/check-box-enter-key-expected.txt: Added.
1511         * layout-tests/fast/forms/check-box-enter-key.html: Added.
1512         * layout-tests/fast/events/event-creation-expected.txt: Added.
1513         * layout-tests/fast/events/event-creation.html: Added.
1514
1515         * khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::defaultEventHandler): Separate the checks for
1516         the space bar and the Enter key and make Enter submit the form on a check box or radio button.
1517
1518         * khtml/ecma/kjs_events.cpp:
1519         (KJS::toEvent): Fixed bug where this was checking for DOMNode rather than DOMEvent, so always returning 0.
1520         Without this, both test cases above will crash.
1521         (KJS::DOMUIEvent::DOMUIEvent): Set prototype; without this, the event-creation test case will fail.
1522         (KJS::DOMMouseEvent::DOMMouseEvent): Set prototype; without this, the event-creation test case will fail.
1523         (KJS::DOMKeyboardEvent::DOMKeyboardEvent): Set prototype; without this, both test cases above will fail.
1524         (KJS::DOMMutationEvent::DOMMutationEvent): Set prototype; without this, both test cases above will fail.
1525
1526         * khtml/xml/dom2_eventsimpl.cpp:
1527         (MutationEventImpl::MutationEventImpl): Fix typo where the wrong object was ref'd.
1528         (MutationEventImpl::initMutationEvent): Ditto. This was causing the layout tests to crash with the new tests above.
1529
1530         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::createEvent): Added new event types to match the current DOM
1531         Level 3 specification. The test above tests both the new event types and the old ones.
1532
1533 2005-05-30  Darin Adler  <darin@apple.com>
1534
1535         Reviewed by John.
1536         No test case added because our layout test system doesn't allow us to do inline input.
1537
1538         - fixed <rdar://problem/4094066> REGRESSION (1.2.5-1.3): unconfirmed inline input is ignored in <textarea>, lost when form is submitted
1539
1540         * kwq/KWQTextArea.mm: (-[KWQTextArea _createTextView]): Call setWantsNotificationForMarkedText:YES.
1541
1542 2005-05-30  Maciej Stachowiak  <mjs@apple.com>
1543
1544         Reviewed by Darin.
1545
1546         - fixed <rdar://problem/4125222> Dashboard heap size grows over time (leak caused by JavaScript DOM node wrappers?)
1547
1548         - changed per-document DOMObject caching to work with DOMNodes, since that is all it was used for anyway.
1549         
1550         Test cases added: (these tests actually ensure that DOM wrappers
1551         are sufficiently protected from GC to match other browsers, they
1552         do not verify that the leak is fixed since there's no way to test
1553         that with layout tests).
1554
1555         * layout-tests/fast/dom/gc-1-expected.txt: Added.
1556         * layout-tests/fast/dom/gc-1.html: Added.
1557         * layout-tests/fast/dom/gc-2-expected.txt: Added.
1558         * layout-tests/fast/dom/gc-2.html: Added.
1559         * layout-tests/fast/dom/gc-3-expected.txt: Added.
1560         * layout-tests/fast/dom/gc-3.html: Added.
1561
1562         * khtml/ecma/kjs_binding.cpp:
1563         (KJS::ScriptInterpreter::forgetDOMObjectForDocument): New function - allows nodes
1564         that get removed from the document to go away from the cache if not referenced.
1565         (KJS::ScriptInterpreter::mark): Don't mark nodes that aren't in the document,
1566         they can stay in the cache but only if they have another source of life.
1567         (KJS::ScriptInterpreter::domNodesPerDocument): Renamed and changed parameter types.
1568         (KJS::ScriptInterpreter::getDOMNodeForDocument): Renamed and changed parameter types.
1569         (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Renamed and changed parameter types.
1570         (KJS::ScriptInterpreter::putDOMNodeForDocument): Renamed and changed parameter types.
1571         (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Renamed and changed parameter types.
1572         (KJS::ScriptInterpreter::updateDOMNodeDocument): Renamed and changed parameter types.
1573         * khtml/ecma/kjs_binding.h:
1574         * khtml/ecma/kjs_dom.cpp: 
1575         (KJS::DOMNode::~DOMNode): call forgetDOMObjectForDocument.
1576         (KJS::DOMNode::mark): If the node is not in the document, make sure to mark
1577         all wrappers in its detached piece of the tree.
1578         (KJS::getDOMNode): Updated for renames
1579         * khtml/ecma/kjs_dom.h:
1580         * khtml/xml/dom_docimpl.cpp:
1581         (DocumentImpl::~DocumentImpl): Updated for renames.
1582         * khtml/xml/dom_nodeimpl.cpp:
1583         (NodeImpl::checkAddChild): Updated for renames.
1584
1585 2005-05-30  Darin Adler  <darin@apple.com>
1586
1587         Reviewed by John.
1588         Could not figure out how to make an <object> fallback, so for now, no layout test.
1589
1590         - fixed <rdar://problem/4134124> REGRESSION (tip of tree): crash in QWidget::getView handling onunload event (yahoo.com)
1591
1592         * khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::getObjectInstance):
1593         Check type of RenderObject to be sure it is a RenderWidget before calling widget() on it.
1594
1595 2005-05-27  Adele Peterson  <adele@apple.com>
1596
1597         Change by Darin, reviewed by me.
1598
1599         fix for <rdar://problem/4067761> 8A425: reload stock widget over and over and crash in XMLHttpRequest::changeState
1600
1601         * khtml/khtml_part.cpp: (KHTMLPart::closeURL): now cancels XMLHttpRequests
1602         * khtml/ecma/xmlhttprequest.h: Added cancelRequests, addToRequestsByDocument, and RemoveFromRequestsByDocument methods. Added requestsByDocument dictionary.
1603         * khtml/ecma/xmlhttprequest.cpp:
1604         (KJS::XMLHttpRequest::send): calls addToRequestsByDocument
1605         (KJS::XMLHttpRequest::abort): calls removeFromRequestsByDocument
1606         (KJS::XMLHttpRequest::slotFinished): calls removeFromRequestsByDocument
1607         (KJS::XMLHttpRequest::requestsByDocument):  creates dictionary to manage requests.
1608         (KJS::XMLHttpRequest::addToRequestsByDocument): adds this request to dict.
1609         (KJS::XMLHttpRequest::removeFromRequestsByDocument): removes this request from dict.
1610         (KJS::XMLHttpRequest::cancelRequests): goes and cancels requests in the doc
1611
1612 2005-05-27  Adele Peterson  <adele@apple.com>
1613
1614         Reviewed by me, done by Darin.
1615
1616         - Darin fixed a regression I found from Darin's recent DOM change that broke GMail
1617
1618         * khtml/ecma/kjs_window.cpp:
1619         (KJS::Window::get): Added nil check for document.
1620         (KJS::Window::hasProperty): Ditto.
1621
1622         Test cases added: None (Darin should write one).
1623
1624 2005-05-27  Adele Peterson  <adele@apple.com>
1625
1626         Reviewed by Darin.
1627
1628         fix for <rdar://problem/4121747> Cannot log into Cingular.com account page (load event delivered while still processing incoming data)
1629        
1630         * khtml/misc/loader.cpp:
1631         (DocLoader::DocLoader): Initialized m_loadInProgress to false.
1632         (DocLoader::setLoadInProgress): Added.
1633         (Loader::slotFinished): sets the m_loadInProgress flag to reflect the fact that we're not really done loading this request until we emit the signal with the request status.
1634         (Loader::numRequests): If there's a load in progress, we increment the number of requests so it doesn't seem like the load is done.
1635         * khtml/misc/loader.h: (khtml::DocLoader::loadInProgress): Added.
1636
1637         Test cases added: 
1638         * layout-tests/fast/loader/loadInProgress.html: Added
1639         * layout-tests/fast/loader/loadInProgress-expected.html: Added
1640
1641 2005-05-27  Darin Adler  <darin@apple.com>
1642
1643         Reviewed by Vicki.
1644
1645         - fixed <rdar://problem/4125212> form submission delayed until you are on the next page on XML/XSL page (security hole)
1646
1647         * khtml/xsl/xslt_processorimpl.cpp: (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
1648         Call setParsing(false) explicitly here. It's really annoying that setParsing(true) is done
1649         inside DOM::DocumentImpl and setParsing(false) is done by KHTMLPart, so that should be fixed
1650         some day, but for now this is the way to do it.
1651
1652         Test cases added:
1653         * layout-tests/fast/events/xsl-onload-expected.txt: Added.
1654         * layout-tests/fast/events/xsl-onload.xhtml: Added.
1655         * layout-tests/fast/events/xsl-onload.xsl: Added.
1656
1657 2005-05-27  John Sullivan  <sullivan@apple.com>
1658
1659         Reviewed by Darin
1660
1661         * WebCore-tests.exp:
1662         took out symbol __ZNK5QChar7isPunctEv; it was obsolete and causing build trouble
1663
1664 2005-05-27  Darin Adler  <darin@apple.com>
1665
1666         Reviewed by Adele.
1667
1668         - remove HAVE_ICU_LIBRARY ifdefs
1669
1670         * khtml/rendering/render_text.cpp: Just use ICU all the time; no ifdef.
1671         * kwq/KWQKURL.mm: Ditto.
1672
1673 2005-05-26  Darin Adler  <darin@apple.com>
1674
1675         Reviewed by me, patch by Mitz Pettel.
1676
1677         - fixed <rdar://problem/4106907> bidi algorithm bug fixed for KHTML should be fixed in WebCore too
1678
1679         * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Integrated the patch that Mitz did
1680         for the KDE bug, details at <http://www.mitzpettel.com/software/WebCorePatch2.html>.
1681
1682         Test cases added:
1683         * layout-tests/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt: Added.
1684         * layout-tests/fast/text/international/bidi-neutral-directionality-paragraph-start.html: Added.
1685
1686 2005-05-26  Darin Adler  <darin@apple.com>
1687
1688         Reviewed by Richard and Dave Harrison.
1689         No new test cases needed for this change.
1690
1691         - eliminate WebCoreUnicode and use ICU directly instead
1692         - fixed compiling with gcc 4.0 (was broken for Development only)
1693
1694         * WebCore.exp: Removed the WebCoreXXXFunction exports.
1695         * WebCore-tests.exp: Removed some QChar functions that are now inlines.
1696         Removed some typeinfo exports that are no longer appropriate since we use -fno-rtti.
1697
1698         * kwq/KWQString.h:
1699         (QChar::isDigit): Changed to call u_isdigit when non-ASCII. We should probably phase
1700         this out since it's only used in places where we don't want to handle non-ASCII decimal digits.
1701         (QChar::isLetter): Changed to call u_isalpha when non-ASCII.
1702         (QChar::isNumber): Changed to call u_isdigit when non-ASCII. This probably should be removed, since
1703         we always want to call isDigit instead.
1704         (QChar::isLetterOrNumber): Changed to call u_isalnum when non-ASCII.
1705         (QChar::isPunct): Changed to call u_ispunct when non-ASCII.
1706         (QChar::digitValue): Changed to call u_charDigitValue when not '0'-'9'. We should probably phase
1707         this out since it's only used in places where we don't want to handle non-ASCII decimal digits.
1708         (QChar::lower): Changed to call u_tolower when non-ASCII.
1709         (QChar::upper): Changed to call u_toupper when non-ASCII.
1710         (QChar::direction): Made inline. Calls u_charDirection.
1711         (QChar::mirrored): Made inline. Calls u_isMirrored.
1712         (QChar::mirroredChar): Made inline. Calls u_charMirror.
1713
1714         * kwq/KWQChar.mm: Removed.
1715         * kwq/WebCoreUnicode.cpp: Removed.
1716         * kwq/WebCoreUnicode.h: Removed.
1717
1718         * WebCore.pbproj/project.pbxproj: Removed files.
1719
1720 2005-05-26  David Harrison  <harrison@apple.com>
1721
1722         Reviewed by John.
1723
1724         <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
1725         
1726         * kwq/WebCoreBridge.mm:
1727         (-[WebCoreBridge rangeOfCharactersAroundCaret]):
1728         Nil-check result of VisiblePosition previous() and next().
1729
1730         * khtml/editing/visible_position.cpp:
1731         (khtml::VisiblePosition::previous):
1732         (khtml::VisiblePosition::previousVisiblePosition):
1733         Make sure previous() does not return the original position.  Also, simplified.
1734         Commented odd, but required, behavior in previousVisiblePosition().
1735
1736         * khtml/editing/visible_units.cpp:
1737         (khtml::startOfEditableContent):
1738         (khtml::endOfEditableContent):
1739         Removed redundant check for isEditableContent().
1740         
1741         * khtml/editing/jsediting.cpp:
1742         * khtml/khtml_part.cpp:
1743         (KHTMLPart::transpose):
1744         * khtml/khtml_part.h:
1745         * kwq/KWQKHTMLPart.h:
1746         * kwq/KWQKHTMLPart.mm:
1747         (KWQKHTMLPart::issueTransposeCommand):
1748         * layout-tests/editing/editing.js:
1749         * kwq/WebCoreBridge.h:
1750         Add support for transpose command in JavaScript and therefore layout tests.
1751         
1752         * layout-tests/editing/deleting/transpose-empty-expected.txt: Added.
1753         * layout-tests/editing/deleting/transpose-empty.html: Added.
1754         New test for this bug.
1755         
1756 2005-05-24  Richard Williamson   <rjw@apple.com>
1757
1758         Fixed <rdar://problem/4127061> <canvas> backing store should be zero filled
1759
1760         Use calloc instead of malloc to ensure zero filled backing store.
1761
1762         Reviewed by Darin.
1763
1764         * khtml/rendering/render_canvasimage.cpp:
1765         (RenderCanvasImage::createDrawingContext):
1766
1767 2005-05-24  John Sullivan  <sullivan@apple.com>
1768
1769         Reviewed by Dave Hyatt.
1770         
1771         - fixed these bugs:
1772         <rdar://problem/4118510> Textareas with a vertical scroll bar should have their resize corner under the scroll bar
1773         <rdar://problem/4118523> Resize image in textareas is drawn repeatedly when scrolling vertically with scrollbar
1774
1775         Test cases added: none; doesn't affect page layout
1776
1777         * kwq/KWQTextArea.h:
1778         added inInitWithFrame ivar
1779         * kwq/KWQTextArea.mm:
1780         (+[KWQTextArea _resizeCornerImage]):
1781         moved here from KWQTextAreaTextView; now it's a class method so we only look up the image once.
1782         (-[KWQTextArea initWithFrame:]):
1783         set and clear inInitWithFrame ivar, used by -tile
1784         (-[KWQTextArea _isResizableByUser]):
1785         renamed with an underscore for consistency
1786         (-[KWQTextArea _textViewShouldHandleResizing]):
1787         new method, returns YES if the textarea is user-resizable and the enclosed textview is responsible for drawing
1788         and tracking the resize corner.
1789         (-[KWQTextArea tile]):
1790         shrink the vertical scroller if appropriate to account for the resize corner
1791         (-[KWQTextArea _resizeCornerRect]):
1792         new method, returns the bottom-right corner rect, where the resize image goes
1793         (-[KWQTextArea _trackResizeFromMouseDown:]):
1794         moved here from KWQTextAreaTextView. The only changes were to move the [NSCursor set] call inside here (was in
1795         the caller), and to use self where it was using [self _enclosingTextArea], and to move a comment in here that
1796         was in the caller
1797         (-[KWQTextArea mouseDown:]):
1798         track resizing if appropriate
1799         (-[KWQTextArea drawRect:]):
1800         draw the resize corner if appropriate
1801         (-[KWQTextAreaTextView _resizeCornerRect]):
1802         get the resize image from KWQTextArea
1803         (-[KWQTextAreaTextView resetCursorRects]):
1804         check _textViewShouldHandleResizing
1805         (-[KWQTextAreaTextView drawRect:]):
1806         ditto
1807         (-[KWQTextAreaTextView mouseDown:]):
1808         ditto; also, make the textarea handle the resize tracking now
1809
1810 2005-05-24  Darin Adler  <darin@apple.com>
1811
1812         - another gcc 4.0 fix
1813
1814         No new test cases needed.
1815
1816         * khtml/dom/dom2_events.cpp: Moved constants out of the KHTML_NO_CPLUSPLUS_DOM #if.
1817
1818 2005-05-24  Darin Adler  <darin@apple.com>
1819
1820         Reviewed by Vicki.
1821
1822         - fixed <rdar://problem/4128727> many DOM classes not exported (can't add categories or do other things that require class name linking)
1823
1824         No new test cases needed.
1825
1826         * WebCore.exp: Added exports for many classes in the public DOM headers that were omitted before.
1827         Also removed one symbol that was listed twice.
1828
1829 2005-05-24  Maciej Stachowiak  <mjs@apple.com>
1830
1831         Reviewed by John.
1832
1833         - fixed <rdar://problem/3598589> onunload handler doesn't fire when a window is closed
1834
1835         Test cases added: 
1836         * layout-tests/fast/events/onunload-expected.txt: Added.
1837         * layout-tests/fast/events/onunload.html: Added.
1838
1839         * khtml/xml/dom_docimpl.cpp:
1840         (DocumentImpl::detach): Don't remove all event handlers from the document here...
1841         * khtml/khtml_part.cpp:
1842         (KHTMLPart::closeURL): ...instead do it here, after firing the unload event, but only
1843         if the document is not in the back/forward cache...
1844         * kwq/KWQPageState.mm:
1845         (-[KWQPageState finalize]): ...and take care of the back/forward cache case here.
1846
1847 2005-05-24  John Sullivan  <sullivan@apple.com>
1848
1849         Reviewed by Kevin.
1850         
1851         - WebCore part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
1852
1853         * kwq/KWQKHTMLSettings.h:
1854         (KHTMLSettings::textAreasAreResizable):
1855         new getter
1856         (KHTMLSettings::setTextAreasAreResizable):
1857         new setter
1858         
1859         * kwq/KWQTextArea.h:
1860         * kwq/KWQTextArea.mm:
1861         eliminated ALLOW_RESIZING_TEXT_AREAS #define in favor of using runtime setting
1862         (-[KWQTextArea isResizableByUser]):
1863         get value from settings, and cache it in KWQTextArea instance
1864         (-[KWQTextAreaTextView _enclosingTextArea]):
1865         new convenience method, extracted from _trackResizeFromMouseDown:
1866         (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
1867         now uses extracted method
1868         
1869         (-[KWQTextAreaTextView drawRect:]):
1870         now checks isResizableByUser
1871         (-[KWQTextAreaTextView mouseDown:]):
1872         ditto
1873         
1874         * kwq/WebCoreSettings.h:
1875         * kwq/WebCoreSettings.mm:
1876         (-[WebCoreSettings setTextAreasAreResizable:]):
1877         new setter
1878         (-[WebCoreSettings textAreasAreResizable]):
1879         new getter
1880
1881 2005-05-23  Maciej Stachowiak  <mjs@apple.com>
1882
1883         Reviewed by John.
1884
1885         - split remaining editing command classes out of htmlediting.cpp
1886         - rename InsertParagraphSeparatorInQuotedContentCommand to BreakBlockquoteCommand
1887
1888         No layout tests needed - this is a pure refactoring change.
1889         
1890         * WebCore.pbproj/project.pbxproj:
1891         * khtml/editing/apply_style_command.cpp:
1892         * khtml/editing/break_blockquote_command.cpp: Added.
1893         * khtml/editing/break_blockquote_command.h: Added.
1894         * khtml/editing/composite_edit_command.cpp:
1895         * khtml/editing/delete_selection_command.cpp:
1896         * khtml/editing/edit_command.cpp:
1897         * khtml/editing/htmlediting.cpp:
1898         * khtml/editing/htmlediting.h:
1899         * khtml/editing/insert_line_break_command.cpp: Added.
1900         * khtml/editing/insert_line_break_command.h: Added.
1901         * khtml/editing/insert_paragraph_separator_command.cpp: Added.
1902         * khtml/editing/insert_paragraph_separator_command.h: Added.
1903         * khtml/editing/insert_text_command.cpp: Added.
1904         * khtml/editing/insert_text_command.h: Added.
1905         * khtml/editing/join_text_nodes_command.cpp: Added.
1906         * khtml/editing/join_text_nodes_command.h: Added.
1907         * khtml/editing/merge_identical_elements_command.cpp: Added.
1908         * khtml/editing/merge_identical_elements_command.h: Added.
1909         * khtml/editing/move_selection_command.cpp: Added.
1910         * khtml/editing/move_selection_command.h: Added.
1911         * khtml/editing/rebalance_whitespace_command.cpp: Added.
1912         * khtml/editing/rebalance_whitespace_command.h: Added.
1913         * khtml/editing/remove_css_property_command.cpp: Added.
1914         * khtml/editing/remove_css_property_command.h: Added.
1915         * khtml/editing/remove_node_attribute_command.cpp: Added.
1916         * khtml/editing/remove_node_attribute_command.h: Added.
1917         * khtml/editing/remove_node_command.cpp: Added.
1918         * khtml/editing/remove_node_command.h: Added.
1919         * khtml/editing/remove_node_preserving_children_command.cpp: Added.
1920         * khtml/editing/remove_node_preserving_children_command.h: Added.
1921         * khtml/editing/replace_selection_command.cpp: Added.
1922         * khtml/editing/replace_selection_command.h: Added.
1923         * khtml/editing/set_node_attribute_command.cpp: Added.
1924         * khtml/editing/set_node_attribute_command.h: Added.
1925         * khtml/editing/split_element_command.cpp: Added.
1926         * khtml/editing/split_element_command.h: Added.
1927         * khtml/editing/split_text_node_command.cpp: Added.
1928         * khtml/editing/split_text_node_command.h: Added.
1929         * khtml/editing/split_text_node_containing_element_command.h: Added.
1930         * khtml/editing/typing_command.cpp: Added.
1931         * khtml/editing/typing_command.h: Added.
1932         * khtml/editing/wrap_contents_in_dummy_span_command.cpp: Added.
1933         * khtml/editing/wrap_contents_in_dummy_span_command.h: Added.
1934
1935 2005-05-23  Darin Adler  <darin@apple.com>
1936
1937         * WebCore.exp: Sorted file for more readable diffs.
1938
1939 2005-05-23  Adele Peterson  <adele@apple.com>
1940
1941         Reviewed by Darin.
1942
1943         fix for <rdar://problem/4122661> Regression: 10.3.8-10.3.9: Next lesson doesn't work on Dale Carnegie Action Systems page
1944
1945         * khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::tryCall): added checks for NaN, in case it is passed into window.open for screenx, screeny, left, top, height, or width.
1946
1947 2005-05-23  David Harrison  <harrison@apple.com>
1948
1949         Reviewed by Darin.
1950
1951         Prevent crash when going from no selection to selection with mispelling checks enabled.
1952                 
1953         * kwq/KWQKHTMLPart.mm:
1954         (KWQKHTMLPart::markMisspellings):
1955         Repair check for null searchRange.  Was inadvertently broken in recent checkin.
1956
1957 2005-05-23  John Sullivan  <sullivan@apple.com>
1958
1959         Reviewed by Dave Hyatt.
1960         
1961         - fixed <rdar://problem/4123592> Can't resize textareas that have a width specified by a style
1962
1963         * kwq/KWQTextArea.mm:
1964         (-[KWQTextArea getNumColumns:andNumRows:forSize:]):
1965         removed this method, which I had added earlier to set cols and rows correctly
1966         (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
1967         set width and height instead of cols and rows; handle the intrinsic margin that sometimes appears
1968         on form elements
1969
1970 2005-05-22  Adele Peterson  <adele@apple.com>
1971
1972         Reviewed by Maciej.
1973
1974         fix for <rdar://problem/4127101> REGRESSION(412-TOT) crash when creating Option element
1975
1976         * khtml/ecma/kjs_html.cpp: (KJS::OptionConstructorImp::construct):
1977         Changed ElementImpl pointer to a SharedPtr because it was getting destroyed before we were done with it.  
1978
1979 2005-05-20  John Sullivan  <sullivan@apple.com>
1980
1981         Reviewed by Chris.
1982         
1983         - fixed <rdar://problem/4126160> Crash sending mouse-exited event after reloading 
1984         page with resizable textarea
1985
1986         * kwq/KWQTextArea.mm:
1987         (-[KWQTextAreaTextView resetCursorRects]):
1988         This was some side effect of tracking rect code used for resizable textareas. I discovered
1989         that I didn't need the tracking rect code at all (at least to achieve the level of only-somewhat-working
1990         cursor behavior that I already had). Removing it caused the bug to vanish.
1991
1992 2005-05-19  Darin Adler  <darin@apple.com>
1993
1994         Reviewed by Maciej.
1995         
1996         - turned off exceptions and RTTI; seems to cut WebCore code size by about 35%
1997
1998         * WebCore.pbproj/project.pbxproj: Turn off exceptions and RTTI for the framework.
1999
2000 2005-05-19  Darin Adler  <darin@apple.com>
2001
2002         Reviewed by Chris Petersen.
2003
2004         - fixed a mistake I introduced in my previous check-in that caused a Deployment build failure
2005
2006         * kwq/DOM.mm: (-[DOMDocument createTreeWalker::::]): Initialize cppFilter to 0, which fixes both
2007         the build failure and a potential bug!
2008
2009 2005-05-17  Darin Adler  <darin@apple.com>
2010
2011         Reviewed by Maciej.
2012         No new layout tests required.
2013
2014         - remove all dependencies on exceptions and RTTI (but don't turn them off yet, that will be in a later patch)
2015
2016         * WebCore.pbproj/project.pbxproj: Set a new KHTML_NO_CPLUSPLUS_DOM define.
2017         Removed all C++ DOM wrapper files that we don't need to compile any more.
2018
2019         * khtml/dom/css_stylesheet.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any
2020         headers when including this file.
2021
2022         * khtml/dom/dom2_events.h: Fixed up KHTML_NO_CPLUSPLUS_DOM checks so that everything but EventListener
2023         is turned off when that's on. Also moved the public so that the constants from KeyboardEvent are public.
2024         * khtml/dom/dom2_events.cpp: Put everything except for EventListener inside KHTML_NO_CPLUSPLUS_DOM.
2025
2026         * khtml/dom/dom2_range.h: Added KHTML_NO_CPLUSPLUS_DOM checks so that only the constants are defined,
2027         no classes.
2028
2029         * khtml/dom/dom2_traversal.cpp: Put everything except for NodeFilterCondition inside KHTML_NO_CPLUSPLUS_DOM.
2030
2031         * khtml/dom/dom_node.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any
2032         headers when including this file.
2033
2034         * khtml/ecma/kjs_binding.cpp:
2035         (KJS::DOMObject::get): Removed exception-handling code. Now we can eliminate tryGet altogether.
2036         (KJS::DOMObject::put): Ditto.
2037         (KJS::DOMFunction::get): Ditto.
2038         (KJS::DOMFunction::call): Ditto.
2039
2040         * khtml/editing/visible_text.h: Added an include of <qstring.h>.
2041
2042         * khtml/misc/loader.h: Added isKHTMLLoader.
2043         * khtml/misc/loader.cpp: (Loader::isKHTMLLoader): Added. Poor-man's replacement for dynamic_cast.
2044
2045         * khtml/rendering/render_form.h:
2046         * khtml/rendering/render_form.cpp: (RenderFormElement::slotTextChanged): Added. Hack to make KWQSlot work
2047         for this function.
2048
2049         * khtml/xml/dom2_rangeimpl.h: Added a forward declaration of class DOMString, needed now that the C++
2050         DOM wrappers aren't defining it.
2051
2052         * khtml/xml/dom_docimpl.cpp:
2053         (DocumentImpl::defaultEventHandler): Changed to call handleEventImpl so we don't have to make the
2054         C++ DOM wrapper for the event.
2055         * khtml/xml/dom_nodeimpl.cpp:
2056         (NodeImpl::handleLocalEvents): Ditto.
2057         (ContainerNodeImpl::insertBefore): Used SharedPtr<NodeImpl> rather than Node to protect the child node.
2058         (ContainerNodeImpl::replaceChild): Ditto.
2059         (ContainerNodeImpl::appendChild): Ditto.
2060         (ContainerNodeImpl::addChild): Ditto.
2061
2062         * kwq/DOM.mm:
2063         (ObjCNodeFilterCondition::acceptNode): Update to add a KHTML_NO_CPLUSPLUS_DOM check since FilterCondition
2064         has a different API depending on the state.
2065         (-[DOMDocument createNodeIterator::::]): Rewrote to use NodeFilterImpl instead of NodeFilter.
2066         (-[DOMDocument createTreeWalker::::]): Ditto.
2067
2068         * kwq/KWQAccObject.mm:
2069         (-[KWQAccObject role]): Use identifier instead of casting to Node and using elementId.
2070         (-[KWQAccObject title]): Ditto.
2071         (-[KWQAccObject accessibilityIsIgnored]): Ditto.
2072         (-[KWQAccObject rendererForView:]): Ditto.
2073
2074         * kwq/KWQFrame.mm: (QFrame::setFrameStyle): Use isKHTMLView instead of dynamic_cast.
2075
2076         * kwq/KWQKHTMLPart.mm:
2077         (KWQKHTMLPart::currentForm): Use focusNode instead of activeNode.
2078         (KWQKHTMLPart::nextKeyViewInFrame): Use isWidget instead of dynamic_cast.
2079         (KWQKHTMLPart::currentEventIsMouseDownInWidget): Use KHTMLView's nodeUnderMouse instead of our public one
2080         that uses a DOM C++ wrapper.
2081         (KWQKHTMLPart::partForWidget): Use isKHTMLView instead of dynamic_cast.
2082         (KWQKHTMLPart::passSubframeEventToSubframe): Use isWidget instead of dynamic_cast.
2083
2084         * kwq/KWQObject.h: Made isXXX functions all public since we use them in a few more places now.
2085         Also added isKHTMLLoader.
2086         * kwq/KWQObject.mm: (QObject::isKHTMLLoader): Added. Returns false by default.
2087
2088         * kwq/KWQSlot.mm: Removed all uses of dynamic_cast.
2089
2090         * kwq/WebCoreBridge.mm:
2091         (-[WebCoreBridge stringForRange:]): Used plainText instead of text.
2092         (-[WebCoreBridge copyRenderNode:copier:]): Used isWidget instead of dynamic_cast.
2093
2094 2005-05-16  Darin Adler  <darin@apple.com>
2095
2096         - attempt to get things building under "Saffron" development tools
2097
2098         * WebCore.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
2099
2100 2005-05-16  Adele Peterson  <adele@apple.com>
2101
2102         Changes by Darin. Reviewed by myself.
2103
2104         Changed the Render Tree debug code to write out an indication that the affinity is upstream
2105         when writing out caret position. Updated the one layout test with output affected by the change.
2106         Also updated one test to use the new dumpAsText method in dumpRenderTree.
2107
2108         * kwq/KWQRenderTreeDebug.cpp: (writeSelection): writes out affinity if it's upstream in the caret case
2109         * layout-tests/editing/style/create-block-for-style-004-expected.txt: new results that contain the affinity
2110         * layout-tests/fast/js/char-at.html: now calls layoutController.dumpAsText()
2111         * layout-tests/fast/js/char-at-expected.txt: plain text result (replaces old render tree result)
2112
2113 2005-05-16  Darin Adler  <darin@apple.com>
2114
2115         Reviewed by Adele.
2116
2117         - fixed issues preventing us from compiling with newer versions of gcc 4.0
2118
2119         * khtml/dom/dom2_events.cpp: Add definitions of some static data member constants, as required
2120         by the C++ standard and the gcc 4.0 compiler.
2121
2122         * khtml/editing/selection.h: Specified KHTMLPart friend class as ::KHTMLPart, since if it's
2123         not explicitly qualified, it means DOM::KHTMLPart.
2124
2125         * khtml/dom/dom_string.cpp:
2126         (DOM::strcasecmp): Removed redundant and illegal DOM:: prefix.
2127         (DOM::operator==): Ditto.
2128         * khtml/ecma/kjs_binding.cpp:
2129         (KJS::getStringOrNull): Removed redundant and illegal KJS:: prefix.
2130         (KJS::ValueToVariant): Ditto.
2131         * khtml/ecma/kjs_css.cpp:
2132         (KJS::getCSSRuleConstructor): Ditto.
2133         (KJS::getCSSValueConstructor): Ditto.
2134         (KJS::getCSSPrimitiveValueConstructor): Ditto.
2135         * khtml/ecma/kjs_events.cpp:
2136         (KJS::getEventConstructor): Ditto.
2137         (KJS::getEventExceptionConstructor): Ditto.
2138         (KJS::getMutationEventConstructor): Ditto.
2139         * khtml/ecma/kjs_traversal.cpp:
2140         (KJS::getNodeFilterConstructor): Ditto.
2141
2142         * khtml/misc/loader_client.h: Added an empty virtual destructor to CachedObjectClient
2143         to quiet the compiler. This doesn't really do any good, but also does no harm.
2144         * khtml/misc/loader.cpp: (CachedObjectClient::~CachedObjectClient): Added.
2145
2146         * khtml/rendering/render_block.cpp: (khtml::RenderBlock::fillBlockSelectionGaps):
2147         Initialize a couple of variables that should have been initialized to 0.
2148         Not just about making the compiler happy -- warning found a real bug!
2149
2150         * kwq/KWQTextArea.mm: (RangeOfParagraph): Change else structure to work around compiler
2151         warning bug.
2152
2153 2005-05-13  John Sullivan  <sullivan@apple.com>
2154
2155         * kwq/KWQTextArea.mm:
2156         (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
2157         added Radar numbers to FIXMEs about resizable textareas
2158         (-[KWQTextAreaTextView resetCursorRects]):
2159         ditto
2160         (-[KWQTextAreaTextView mouseDown:]):
2161         ditto
2162
2163 2005-05-12  Darin Adler  <darin@apple.com>
2164
2165         Reviewed by Chris Blumenberg.
2166
2167         - more "getting off the C++ DOM wrappers" changes
2168           This pass involves replacing uses of DOM::Range with use of DOM::RangeImpl
2169           plus some more use of DOM::DocumentImpl instead of DOM::Document.
2170
2171         * khtml/dom/dom2_range.cpp:
2172         * khtml/dom/dom2_range.h:
2173         * khtml/ecma/kjs_window.cpp:
2174         (KJS::Window::get):
2175         (KJS::WindowFunc::tryCall):
2176         (KJS::Window::updateLayout):
2177         (KJS::ScheduledAction::execute):
2178         (KJS::Selection::toString):
2179         * khtml/ecma/xmlhttprequest.cpp:
2180         (KJS::XMLHttpRequestProtoFunc::tryCall):
2181         * khtml/editing/htmlediting.cpp:
2182         (khtml::InsertLineBreakCommand::doApply):
2183         * khtml/editing/selection.cpp:
2184         (khtml::Selection::Selection):
2185         (khtml::Selection::moveTo):
2186         (khtml::Selection::toRange):
2187         * khtml/editing/selection.h:
2188         * khtml/editing/visible_position.cpp:
2189         (khtml::makeRange):
2190         (khtml::startVisiblePosition):
2191         (khtml::endVisiblePosition):
2192         (khtml::setStart):
2193         (khtml::setEnd):
2194         * khtml/editing/visible_position.h:
2195         * khtml/editing/visible_range.h:
2196         * khtml/editing/visible_text.cpp:
2197         (khtml::TextIterator::TextIterator):
2198         (khtml::TextIterator::range):
2199         (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
2200         (khtml::SimplifiedBackwardsTextIterator::range):
2201         (khtml::CharacterIterator::CharacterIterator):
2202         (khtml::CharacterIterator::range):
2203         (khtml::WordAwareIterator::WordAwareIterator):
2204         (khtml::WordAwareIterator::advance):
2205         (khtml::TextIterator::rangeLength):
2206         (khtml::TextIterator::rangeFromLocationAndLength):
2207         (khtml::plainText):
2208         (khtml::findPlainText):
2209         * khtml/editing/visible_text.h:
2210         (khtml::WordAwareIterator::range):
2211         * khtml/editing/visible_units.cpp:
2212         (khtml::previousBoundary):
2213         (khtml::nextBoundary):
2214         * khtml/html/html_elementimpl.cpp:
2215         (HTMLElementImpl::innerText):
2216         * khtml/html/htmltokenizer.cpp:
2217         (khtml::HTMLTokenizer::scriptExecution):
2218         * khtml/khtml_part.cpp:
2219         (KHTMLPart::text):
2220         (KHTMLPart::selectedText):
2221         (KHTMLPart::shouldBeginEditing):
2222         (KHTMLPart::shouldEndEditing):
2223         (KHTMLPart::selectionComputedStyle):
2224         * khtml/khtml_part.h:
2225         * khtml/khtmlview.h:
2226         * khtml/rendering/render_text.cpp:
2227         (InlineTextBox::paint):
2228         * khtml/xml/dom2_rangeimpl.cpp:
2229         (DOM::operator==):
2230         (DOM::rangeOfContents):
2231         * khtml/xml/dom2_rangeimpl.h:
2232         (DOM::operator!=):
2233         * khtml/xml/dom_docimpl.cpp:
2234         (DocumentImpl::relinquishesEditingFocus):
2235         (DocumentImpl::acceptsEditingFocus):
2236         (DocumentImpl::addMarker):
2237         (DocumentImpl::removeMarker):
2238         * khtml/xml/dom_docimpl.h:
2239         * khtml/xml/dom_position.cpp:
2240         (DOM::startPosition):
2241         * khtml/xml/dom_position.h:
2242         * kwq/DOMHTML.mm:
2243         (-[DOMHTMLLinkElement href]):
2244         (-[DOMHTMLBaseElement href]):
2245         (-[DOMHTMLInputElement src]):
2246         (-[DOMHTMLAnchorElement href]):
2247         (-[DOMHTMLImageElement src]):
2248         (-[DOMHTMLAreaElement href]):
2249         * kwq/KWQAccObject.mm:
2250         (-[KWQAccObject textUnderElement]):
2251         (-[KWQAccObject value]):
2252         (-[KWQAccObject doAXStringForTextMarkerRange:]):
2253         (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
2254         * kwq/KWQKHTMLPart.h:
2255         (KWQKHTMLPart::markedTextRange):
2256         * kwq/KWQKHTMLPart.mm:
2257         (KWQKHTMLPart::findString):
2258         (KWQKHTMLPart::advanceToNextMisspelling):
2259         (KWQKHTMLPart::fontForSelection):
2260         (KWQKHTMLPart::markMisspellings):
2261         (KWQKHTMLPart::respondToChangedSelection):
2262         (KWQKHTMLPart::shouldBeginEditing):
2263         (KWQKHTMLPart::shouldEndEditing):
2264         (convertAttributesToUnderlines):
2265         (KWQKHTMLPart::setMarkedTextRange):
2266         * kwq/WebCoreBridge.mm:
2267         (-[WebCoreBridge elementAtPoint:]):
2268         (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
2269         (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
2270         (-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:]):
2271         (-[WebCoreBridge selectedDOMRange]):
2272         (-[WebCoreBridge convertToNSRange:DOM::]):
2273         (-[WebCoreBridge convertToDOMRange:]):
2274         (-[WebCoreBridge convertToObjCDOMRange:]):
2275         (-[WebCoreBridge selectNSRange:]):
2276         (-[WebCoreBridge selectedNSRange]):
2277         (-[WebCoreBridge markDOMRange]):
2278         (-[WebCoreBridge markedTextDOMRange]):
2279         (-[WebCoreBridge markedTextNSRange]):
2280         (-[WebCoreBridge replaceMarkedTextWithText:]):
2281         (-[WebCoreBridge smartDeleteRangeForProposedRange:]):
2282         (-[WebCoreBridge dragCaretDOMRange]):
2283         (-[WebCoreBridge editableDOMRangeForPoint:]):
2284         (-[WebCoreBridge rangeOfCharactersAroundCaret]):
2285
2286 2005-05-13  Maciej Stachowiak  <mjs@apple.com>
2287
2288         Reviewed by Dave.
2289
2290         - more splitting up of htmlediting.cpp
2291
2292         * WebCore.pbproj/project.pbxproj:
2293         * khtml/editing/composite_edit_command.cpp:
2294         * khtml/editing/delete_from_text_node_command.cpp: Added.
2295         * khtml/editing/delete_from_text_node_command.h: Added.
2296         * khtml/editing/delete_selection_command.cpp: Added.
2297         * khtml/editing/delete_selection_command.h: Added.
2298         * khtml/editing/htmlediting.cpp:
2299         * khtml/editing/htmlediting.h:
2300         * khtml/editing/insert_into_text_node_command.cpp: Added.
2301         * khtml/editing/insert_into_text_node_command.h: Added.
2302         * khtml/editing/insert_node_before_command.cpp: Added.
2303         * khtml/editing/insert_node_before_command.h: Added.
2304
2305 2005-05-12  Adele Peterson  <adele@apple.com>
2306
2307         Reviewed by Maciej.
2308
2309         fix for  <rdar://problem/4117656> deleting an input element in its onBlur handler crashes Safari
2310
2311         * khtml/rendering/render_form.cpp: (RenderLineEdit::handleFocusOut): added nil check for element
2312
2313 2005-05-12  John Sullivan  <sullivan@apple.com>
2314
2315         Reviewed by Kevin.
2316         
2317         - rolled in changes from experimental-ui-branch to support resizable textareas
2318         and find-as-you-type. The files/functions modified are listed just below. After
2319         that are the ChangeLog comments from the branch.
2320
2321         * Resources/textAreaResizeCorner.tiff: Added.
2322         * WebCore.pbproj/project.pbxproj:
2323         * kwq/KWQKHTMLPart.h:
2324         * kwq/KWQKHTMLPart.mm:
2325         (KWQKHTMLPart::findString):
2326         * kwq/KWQTextArea.mm:
2327         (-[KWQTextArea textDidChange:]):
2328         (-[KWQTextAreaTextView _resizeCornerImage]):
2329         (-[KWQTextAreaTextView _resizeCornerRect]):
2330         (-[KWQTextAreaTextView resetCursorRects]):
2331         (-[KWQTextAreaTextView drawRect:]):
2332         (-[KWQTextAreaTextView mouseDown:]):
2333         * kwq/WebCoreBridge.h:
2334         * kwq/WebCoreBridge.mm:
2335         (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):
2336
2337         2005-05-05  John Sullivan  <sullivan@apple.com>
2338
2339                 Reviewed by Chris.
2340
2341                 * kwq/KWQTextArea.mm:
2342                 (-[KWQTextAreaTextView _resizeCornerRect]):
2343                 Get corner rect from enclosing clipView, rather than using visibleRect.
2344                 VisibleRect would return the wrong result when the textarea was clipped
2345                 by the bottom of the window, leading to redraw schmutz among other things.
2346
2347         2005-05-02  John Sullivan  <sullivan@apple.com>
2348
2349                 Reviewed by Chris.
2350                 
2351                 Improvements to resizable textarea experiment:
2352                 - resize image is now drawn in the resize corner
2353                 - cursor sometimes tracks to arrow when over resize corner (but usually not)
2354                 - cursor changes to arrow on mouse down in any case
2355
2356                 * Resources/textAreaResizeCorner.tiff: Added.
2357                 * WebCore.pbproj/project.pbxproj:
2358                 updated for added image file
2359                 
2360                 * kwq/KWQTextArea.mm:
2361                 (-[KWQTextAreaTextView _resizeCornerImage]):
2362                 new method, reads resize image once and caches it
2363                 (-[KWQTextAreaTextView _resizeCornerRect]):
2364                 new method, computes rect from image
2365                 (-[KWQTextAreaTextView resetCursorRects]):
2366                 overridden to attempt to make the cursor change to an arrow when over this
2367                 corner. Only works sometimes, as explained in comments.
2368                 (-[KWQTextAreaTextView drawRect:]):
2369                 overridden to draw resize image
2370                 (-[KWQTextAreaTextView mouseDown:]):
2371                 now uses _resizeCornerRect, and sets cursor to arrow when pressed in resize corner
2372
2373         2005-04-18  John Sullivan  <sullivan@apple.com>
2374
2375                 WebCore support for notifying a form delegate when a
2376                 textarea's contents have changed (as opposed to a 
2377                 textfield, which was already handled).
2378
2379                 Reviewed by Maciej.
2380
2381                 * kwq/WebCoreBridge.h:
2382                 add textDidChange: method
2383
2384                 * kwq/KWQTextArea.mm:
2385                 (-[KWQTextArea textDidChange:]):
2386                 call through to bridge
2387
2388         2005-04-07  John Sullivan  <sullivan@apple.com>
2389
2390                 WebCore support for find-as-you-type; needed an additional parameter
2391                 to findString and searchFor:...
2392
2393                 Reviewed by Dave Hyatt.
2394
2395                 * kwq/KWQKHTMLPart.h:
2396                 * kwq/KWQKHTMLPart.mm:
2397                 (KWQKHTMLPart::findString):
2398                 new findInSelection parameter; if true, start from the beginning of the selection
2399                 when searching forward, or the end of the selection when searching backward
2400                 
2401                 * kwq/WebCoreBridge.h:
2402                 * kwq/WebCoreBridge.mm:
2403                 (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):
2404                 new findInSelection parameter; passed through to findString
2405
2406 2005-05-12  Darin Adler  <darin@apple.com>
2407
2408         Reviewed by Maciej (except for some parts outside the ECMA directory).
2409
2410         - switch KJS wrappers over to using the DOM impl. classes rather than using
2411           the DOM wrappers; will allow us to not even compile the DOM wrappers and
2412           make the code smaller
2413
2414         * khtml/css/css_valueimpl.h: Added CSSStyleDeclarationImpl::isPropertyName,
2415         removed CSSStyleDeclarationImpl::propertyID.
2416         * khtml/css/css_valueimpl.cpp:
2417         (DOM::propertyID): Added. Gets property ID given a DOM string. Replaces the
2418         previous version that had hacks that we want to leave in the JS wrapper for now.
2419         (DOM::CSSStyleDeclarationImpl::isPropertyName): Added.
2420
2421         * khtml/css/cssproperties.in: Fixed up comments.
2422
2423         * khtml/css/makeprop: Added new maxCSSPropertyNameLength constant, used for
2424         buffer size in the propertyID function.
2425
2426         * khtml/dom/dom2_events.h: Added handleEventImpl, making it easier to call
2427         handleEvent in a way that works either with or without the C++ DOM wrappers.
2428         * khtml/dom/dom2_events.cpp: (EventListener::handleEventImpl): Added.
2429
2430         * khtml/dom/dom2_views.cpp: Added now-needed include.
2431         * khtml/dom/dom_doc.cpp: Added now-needed include.
2432         * khtml/dom/dom_element.cpp: Tweaked includes.
2433
2434         * khtml/editing/htmlediting.cpp: Removed now-unneeded include.
2435         * khtml/html/html_baseimpl.cpp: Ditto.
2436         * khtml/html/html_formimpl.h: Ditto.
2437         * khtml/rendering/render_form.h: Ditto.
2438         * khtml/rendering/render_style.h: Ditto.
2439         * khtml/xml/dom2_eventsimpl.cpp: Ditto.
2440         * khtml/xml/dom2_viewsimpl.h: Ditto.
2441         * khtml/xml/dom_elementimpl.h: Ditto.
2442         * khtml/xml/dom_stringimpl.h: Ditto.
2443         * kwq/DOM.mm: Ditto.
2444         * kwq/DOMHTML.mm: Ditto.
2445
2446         * khtml/khtml_part.cpp: Tweaked incluudes.
2447         * khtml/khtmlpart_p.h: Ditto.
2448
2449         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canCachePage): Change to use DOM impl. rather
2450         than C++ DOM.
2451
2452         * khtml/xml/dom_docimpl.cpp:
2453         (DOMImplementationImpl::createDocumentType): Disabled the calls to the not-implemented
2454         name checks in the C++ DOM wrappers. If we add name changes, we'll want them inside the
2455         impl, not in the wrappers.
2456         (DOMImplementationImpl::createDocument): Ditto.
2457         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::checkSetPrefix): Ditto.
2458
2459         * khtml/ecma/kjs_binding.cpp:
2460         (KJS::ScriptInterpreter::wasRunByUserGesture):
2461         (KJS::KJS::ValueToVariant):
2462         (KJS::setDOMException):
2463         * khtml/ecma/kjs_binding.h:
2464         (KJS::ScriptInterpreter::setCurrentEvent):
2465         (KJS::ScriptInterpreter::getCurrentEvent):
2466         (KJS::cacheDOMObject):
2467         (KJS::DOMExceptionTranslator::DOMExceptionTranslator):
2468         (KJS::DOMExceptionTranslator::~DOMExceptionTranslator):
2469         (KJS::DOMExceptionTranslator::operator int &):
2470         (KJS::cacheGlobalObject):
2471         * khtml/ecma/kjs_css.cpp:
2472         (KJS::cssPropertyName):
2473         (KJS::isCSSPropertyName):
2474         (KJS::DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
2475         (KJS::DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration):
2476         (KJS::DOMCSSStyleDeclaration::hasProperty):
2477         (KJS::DOMCSSStyleDeclaration::tryGet):
2478         (KJS::DOMCSSStyleDeclaration::tryPut):
2479         (KJS::DOMCSSStyleDeclarationProtoFunc::tryCall):
2480         (KJS::getDOMCSSStyleDeclaration):
2481         (KJS::DOMStyleSheet::~DOMStyleSheet):
2482         (KJS::DOMStyleSheet::getValueProperty):
2483         (KJS::DOMStyleSheet::tryPut):
2484         (KJS::getDOMStyleSheet):
2485         (KJS::DOMStyleSheetList::~DOMStyleSheetList):
2486         (KJS::DOMStyleSheetList::tryGet):
2487         (KJS::getDOMStyleSheetList):
2488         (KJS::DOMStyleSheetListFunc::tryCall):
2489         (KJS::DOMMediaList::DOMMediaList):
2490         (KJS::DOMMediaList::~DOMMediaList):
2491         (KJS::DOMMediaList::tryGet):
2492         (KJS::DOMMediaList::tryPut):
2493         (KJS::getDOMMediaList):
2494         (KJS::KJS::DOMMediaListProtoFunc::tryCall):
2495         (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet):
2496         (KJS::DOMCSSStyleSheet::tryGet):
2497         (KJS::DOMCSSStyleSheetProtoFunc::tryCall):
2498         (KJS::DOMCSSRuleList::~DOMCSSRuleList):
2499         (KJS::DOMCSSRuleList::tryGet):
2500         (KJS::DOMCSSRuleListFunc::tryCall):
2501         (KJS::getDOMCSSRuleList):
2502         (KJS::DOMCSSRule::~DOMCSSRule):
2503         (KJS::DOMCSSRule::classInfo):
2504         (KJS::DOMCSSRule::tryGet):
2505         (KJS::DOMCSSRule::getValueProperty):
2506         (KJS::DOMCSSRule::putValue):
2507         (KJS::DOMCSSRuleFunc::tryCall):
2508         (KJS::getDOMCSSRule):
2509         (KJS::DOMCSSValue::~DOMCSSValue):
2510         (KJS::DOMCSSValue::tryGet):
2511         (KJS::DOMCSSValue::tryPut):
2512         (KJS::getDOMCSSValue):
2513         (KJS::DOMCSSPrimitiveValue::DOMCSSPrimitiveValue):
2514         (KJS::DOMCSSPrimitiveValue::tryGet):
2515         (KJS::DOMCSSPrimitiveValueProtoFunc::tryCall):
2516         (KJS::DOMCSSValueList::DOMCSSValueList):
2517         (KJS::DOMCSSValueList::tryGet):
2518         (KJS::DOMCSSValueListFunc::tryCall):
2519         (KJS::DOMRGBColor::getValueProperty):
2520         (KJS::getDOMRGBColor):
2521         (KJS::DOMRect::~DOMRect):
2522         (KJS::DOMRect::getValueProperty):
2523         (KJS::getDOMRect):
2524         (KJS::DOMCounter::~DOMCounter):
2525         (KJS::DOMCounter::getValueProperty):
2526         (KJS::getDOMCounter):
2527         * khtml/ecma/kjs_css.h:
2528         (KJS::DOMCSSStyleDeclaration::impl):
2529         (KJS::DOMStyleSheet::DOMStyleSheet):
2530         (KJS::DOMStyleSheet::impl):
2531         (KJS::DOMStyleSheetList::DOMStyleSheetList):
2532         (KJS::DOMStyleSheetList::impl):
2533         (KJS::DOMMediaList::impl):
2534         (KJS::DOMCSSStyleSheet::):
2535         (KJS::DOMCSSRuleList::DOMCSSRuleList):
2536         (KJS::DOMCSSRuleList::impl):
2537         (KJS::DOMCSSRule::DOMCSSRule):
2538         (KJS::DOMCSSRule::impl):
2539         (KJS::DOMCSSValue::DOMCSSValue):
2540         (KJS::DOMCSSValue::impl):
2541         (KJS::DOMCSSValueList::):
2542         (KJS::DOMRGBColor::DOMRGBColor):
2543         (KJS::DOMRect::DOMRect):
2544         (KJS::DOMCounter::DOMCounter):
2545         * khtml/ecma/kjs_dom.cpp:
2546         (KJS::DOMNodeListFunc::):
2547         (KJS::DOMNode::DOMNode):
2548         (KJS::DOMNode::toBoolean):
2549         (KJS::DOMNode::getValueProperty):
2550         (KJS::DOMNode::putValue):
2551         (KJS::DOMNode::toPrimitive):
2552         (KJS::DOMNode::toString):
2553         (KJS::DOMNode::setListener):
2554         (KJS::DOMNode::getListener):
2555         (KJS::DOMNodeProtoFunc::tryCall):
2556         (KJS::toNode):
2557         (KJS::DOMNodeList::~DOMNodeList):
2558         (KJS::DOMNodeList::toPrimitive):
2559         (KJS::DOMNodeList::tryGet):
2560         (KJS::DOMNodeList::tryCall):
2561         (KJS::DOMNodeListFunc::tryCall):
2562         (KJS::DOMAttr::DOMAttr):
2563         (KJS::DOMAttr::getValueProperty):
2564         (KJS::DOMAttr::putValue):
2565         (KJS::toAttr):
2566         (KJS::DOMDocument::DOMDocument):
2567         (KJS::DOMDocument::~DOMDocument):
2568         (KJS::DOMDocument::getValueProperty):
2569         (KJS::DOMDocument::putValue):
2570         (KJS::DOMDocumentProtoFunc::tryCall):
2571         (KJS::DOMElement::DOMElement):
2572         (KJS::DOMElement::tryGet):
2573         (KJS::DOMElementProtoFunc::tryCall):
2574         (KJS::toElement):
2575         (KJS::DOMDOMImplementation::DOMDOMImplementation):
2576         (KJS::DOMDOMImplementation::~DOMDOMImplementation):
2577         (KJS::DOMDOMImplementationProtoFunc::tryCall):
2578         (KJS::DOMDocumentType::DOMDocumentType):
2579         (KJS::DOMDocumentType::getValueProperty):
2580         (KJS::toDocumentType):
2581         (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
2582         (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
2583         (KJS::DOMNamedNodeMap::tryGet):
2584         (KJS::DOMNamedNodeMapProtoFunc::tryCall):
2585         (KJS::DOMProcessingInstruction::DOMProcessingInstruction):
2586         (KJS::DOMProcessingInstruction::getValueProperty):
2587         (KJS::DOMProcessingInstruction::tryPut):
2588         (KJS::DOMNotation::DOMNotation):
2589         (KJS::DOMNotation::getValueProperty):
2590         (KJS::DOMEntity::DOMEntity):
2591         (KJS::DOMEntity::getValueProperty):
2592         (KJS::getDOMDocumentNode):
2593         (KJS::checkNodeSecurity):
2594         (KJS::getDOMNode):
2595         (KJS::getDOMNamedNodeMap):
2596         (KJS::getRuntimeObject):
2597         (KJS::getDOMNodeList):
2598         (KJS::getDOMDOMImplementation):
2599         (KJS::getNodeConstructor):
2600         (KJS::getDOMExceptionConstructor):
2601         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
2602         (KJS::DOMNamedNodesCollection::tryGet):
2603         (KJS::DOMCharacterData::DOMCharacterData):
2604         (KJS::DOMCharacterData::getValueProperty):
2605         (KJS::DOMCharacterData::tryPut):
2606         (KJS::DOMCharacterDataProtoFunc::tryCall):
2607         (KJS::DOMText::DOMText):
2608         (KJS::DOMTextProtoFunc::tryCall):
2609         * khtml/ecma/kjs_dom.h:
2610         (KJS::DOMNode::impl):
2611         (KJS::DOMNodeList::DOMNodeList):
2612         (KJS::DOMNodeList::impl):
2613         (KJS::DOMDOMImplementation::impl):
2614         (KJS::DOMNamedNodeMap::impl):
2615         * khtml/ecma/kjs_events.cpp:
2616         (KJS::JSAbstractEventListener::handleEvent):
2617         (KJS::JSLazyEventListener::handleEvent):
2618         (KJS::getNodeEventListener):
2619         (KJS::DOMEvent::DOMEvent):
2620         (KJS::DOMEvent::~DOMEvent):
2621         (KJS::DOMEvent::getValueProperty):
2622         (KJS::DOMEvent::putValue):
2623         (KJS::DOMEventProtoFunc::tryCall):
2624         (KJS::getDOMEvent):
2625         (KJS::toEvent):
2626         (KJS::DOMUIEvent::DOMUIEvent):
2627         (KJS::DOMUIEvent::getValueProperty):
2628         (KJS::DOMUIEventProtoFunc::tryCall):
2629         (KJS::DOMMouseEvent::DOMMouseEvent):
2630         (KJS::DOMMouseEvent::getValueProperty):
2631         (KJS::DOMMouseEventProtoFunc::tryCall):
2632         (KJS::DOMKeyboardEvent::DOMKeyboardEvent):
2633         (KJS::DOMKeyboardEvent::getValueProperty):
2634         (KJS::DOMKeyboardEventProtoFunc::tryCall):
2635         (KJS::DOMMutationEvent::DOMMutationEvent):
2636         (KJS::DOMMutationEvent::getValueProperty):
2637         (KJS::DOMMutationEventProtoFunc::tryCall):
2638         (KJS::DOMWheelEvent::DOMWheelEvent):
2639         (KJS::DOMWheelEvent::getValueProperty):
2640         (KJS::ClipboardProtoFunc::tryCall):
2641         * khtml/ecma/kjs_events.h:
2642         (KJS::DOMEvent::impl):
2643         (KJS::DOMUIEvent::):
2644         (KJS::DOMMouseEvent::):
2645         (KJS::DOMKeyboardEvent::):
2646         (KJS::DOMMutationEvent::):
2647         * khtml/ecma/kjs_html.cpp:
2648         (KJS::KJS::HTMLDocFunction::tryCall):
2649         (KJS::HTMLDocument::HTMLDocument):
2650         (KJS::HTMLDocument::hasProperty):
2651         (KJS::HTMLDocument::tryGet):
2652         (KJS::KJS::HTMLDocument::putValue):
2653         (KJS::KJS::HTMLElement::classInfo):
2654         (KJS::HTMLElement::HTMLElement):
2655         (KJS::KJS::HTMLElement::tryGet):
2656         (KJS::KJS::HTMLElement::implementsCall):
2657         (KJS::KJS::HTMLElement::call):
2658         (KJS::KJS::HTMLElement::getValueProperty):
2659         (KJS::KJS::HTMLElement::hasProperty):
2660         (KJS::KJS::HTMLElement::toString):
2661         (KJS::getForm):
2662         (KJS::KJS::HTMLElement::pushEventHandlerScope):
2663         (KJS::KJS::HTMLElementFunction::tryCall):
2664         (KJS::KJS::HTMLElement::tryPut):
2665         (KJS::HTMLElement::putValue):
2666         (KJS::toHTMLElement):
2667         (KJS::toHTMLTableCaptionElement):
2668         (KJS::toHTMLTableSectionElement):
2669         (KJS::HTMLCollection::HTMLCollection):
2670         (KJS::HTMLCollection::~HTMLCollection):
2671         (KJS::KJS::HTMLCollection::tryGet):
2672         (KJS::KJS::HTMLCollection::tryCall):
2673         (KJS::KJS::HTMLCollection::getNamedItems):
2674         (KJS::KJS::HTMLCollectionProtoFunc::tryCall):
2675         (KJS::HTMLSelectCollection::HTMLSelectCollection):
2676         (KJS::KJS::HTMLSelectCollection::tryGet):
2677         (KJS::KJS::HTMLSelectCollection::tryPut):
2678         (KJS::OptionConstructorImp::OptionConstructorImp):
2679         (KJS::OptionConstructorImp::construct):
2680         (KJS::ImageConstructorImp::ImageConstructorImp):
2681         (KJS::ImageConstructorImp::construct):
2682         (KJS::Image::notifyFinished):
2683         (KJS::Image::Image):
2684         (KJS::KJS::Context2DFunction::tryCall):
2685         (KJS::):
2686         (KJS::colorRefFromValue):
2687         (KJS::colorFromValue):
2688         (KJS::Context2D::putValue):
2689         (KJS::Context2D::Context2D):
2690         (KJS::Context2D::mark):
2691         (KJS::GradientFunction::tryCall):
2692         (KJS::ImagePattern::tryGet):
2693         (KJS::getHTMLCollection):
2694         (KJS::getSelectHTMLCollection):
2695         * khtml/ecma/kjs_html.h:
2696         (KJS::HTMLDocument::):
2697         (KJS::HTMLElement::):
2698         (KJS::HTMLCollection::impl):
2699         * khtml/ecma/kjs_navigator.cpp:
2700         * khtml/ecma/kjs_proxy.cpp:
2701         (KJSProxyImpl::evaluate):
2702         (KJSProxyImpl::finishedWithEvent):
2703         * khtml/ecma/kjs_proxy.h:
2704         * khtml/ecma/kjs_range.cpp:
2705         (KJS::DOMRange::DOMRange):
2706         (KJS::DOMRange::~DOMRange):
2707         (KJS::DOMRange::tryGet):
2708         (KJS::DOMRange::getValueProperty):
2709         (KJS::DOMRangeProtoFunc::tryCall):
2710         (KJS::getDOMRange):
2711         (KJS::RangeConstructor::tryGet):
2712         (KJS::getRangeConstructor):
2713         (KJS::toRange):
2714         * khtml/ecma/kjs_range.h:
2715         (KJS::DOMRange::impl):
2716         * khtml/ecma/kjs_traversal.cpp:
2717         (KJS::DOMNodeIterator::DOMNodeIterator):
2718         (KJS::DOMNodeIterator::~DOMNodeIterator):
2719         (KJS::DOMNodeIterator::getValueProperty):
2720         (KJS::DOMNodeIteratorProtoFunc::tryCall):
2721         (KJS::getDOMNodeIterator):
2722         (KJS::DOMNodeFilter::DOMNodeFilter):
2723         (KJS::DOMNodeFilter::~DOMNodeFilter):
2724         (KJS::DOMNodeFilterProtoFunc::tryCall):
2725         (KJS::getDOMNodeFilter):
2726         (KJS::toNodeFilter):
2727         (KJS::DOMTreeWalker::DOMTreeWalker):
2728         (KJS::DOMTreeWalker::~DOMTreeWalker):
2729         (KJS::DOMTreeWalker::getValueProperty):
2730         (KJS::DOMTreeWalker::tryPut):
2731         (KJS::DOMTreeWalkerProtoFunc::tryCall):
2732         (KJS::getDOMTreeWalker):
2733         (KJS::JSNodeFilterCondition::acceptNode):
2734         * khtml/ecma/kjs_traversal.h:
2735         (KJS::DOMNodeIterator::impl):
2736         (KJS::DOMNodeFilter::impl):
2737         (KJS::DOMTreeWalker::impl):
2738         * khtml/ecma/kjs_views.cpp:
2739         (KJS::DOMAbstractView::~DOMAbstractView):
2740         (KJS::DOMAbstractView::tryGet):
2741         (KJS::DOMAbstractViewFunc::tryCall):
2742         (KJS::getDOMAbstractView):
2743         (KJS::toAbstractView):
2744         * khtml/ecma/kjs_views.h:
2745         (KJS::DOMAbstractView::DOMAbstractView):
2746         (KJS::DOMAbstractView::impl):
2747         * khtml/ecma/kjs_window.cpp:
2748         (KJS::Window::get):
2749         (KJS::Window::hasProperty):
2750         (KJS::Window::put):
2751         (KJS::Window::setListener):
2752         (KJS::Window::getListener):
2753         (KJS::Window::setCurrentEvent):
2754         (KJS::WindowFunc::tryCall):
2755         (KJS::Location::put):
2756         (KJS::LocationFunc::tryCall):
2757         (KJS::Selection::get):
2758         (KJS::SelectionFunc::tryCall):
2759         * khtml/ecma/kjs_window.h:
2760         * khtml/ecma/xmlhttprequest.cpp:
2761         (KJS::XMLHttpRequestConstructorImp::XMLHttpRequestConstructorImp):
2762         (KJS::XMLHttpRequestConstructorImp::~XMLHttpRequestConstructorImp):
2763         (KJS::XMLHttpRequestConstructorImp::construct):
2764         (KJS::XMLHttpRequest::getValueProperty):
2765         (KJS::XMLHttpRequest::XMLHttpRequest):
2766         (KJS::XMLHttpRequest::changeState):
2767         (KJS::XMLHttpRequest::open):
2768         (KJS::XMLHttpRequestProtoFunc::tryCall):
2769         * khtml/ecma/xmlhttprequest.h:
2770         * khtml/ecma/xmlserializer.cpp:
2771         (KJS::XMLSerializerProtoFunc::tryCall):
2772         * khtml/ecma/xmlserializer.h:
2773         * kwq/DOMInternal.mm:
2774         (-[WebScriptObject _initializeScriptDOMNodeImp]):
2775         * kwq/DOMUtility.mm:
2776         (KJS::ScriptInterpreter::createObjcInstanceForValue):
2777
2778 2005-05-11  David Hyatt  <hyatt@apple.com>
2779
2780         Improve the display of apple.com.  innerWidth and innerHeight refer to the size of the visible view and
2781         so they do not need to do a layout in order to yield correct values from JS.  Removing this stops an
2782         early layout and paint before the apple.com images are typically loaded.
2783
2784         This is an improvement of the fix for wired.com's FOUC.  For that bug I eliminated the need to ignore pending
2785         stylesheets, but now I'm going further and just eliminating the layout all together.  This means that the old
2786         updateLayout function can be reverted to how it was before the wired.com fix.
2787         
2788         Reviewed by john
2789
2790         * khtml/ecma/kjs_window.cpp:
2791         (Window::get):
2792         (Window::updateLayout):
2793         * khtml/ecma/kjs_window.h:
2794
2795 2005-05-11  Maciej Stachowiak  <mjs@apple.com>
2796
2797         Reviewed by Kevin.
2798
2799         - split some more individual classes out of htmlediting.cpp
2800         (CompositeEditcommand, AppendnodeCommand, ApplyStyleCommand)
2801
2802         Also moves StyleChange directly into ApplyStyleCommand
2803         implementation file, it doesn't need to be in a header at all.
2804         
2805         * WebCore.pbproj/project.pbxproj:
2806         * khtml/editing/append_node_command.cpp: Added.
2807         * khtml/editing/append_node_command.h: Added.
2808         * khtml/editing/apply_style_command.cpp: Added.
2809         * khtml/editing/apply_style_command.h: Added.
2810         * khtml/editing/composite_edit_command.cpp: Added.
2811         * khtml/editing/composite_edit_command.h: Added.
2812         * khtml/editing/edit_command.cpp: Minor clean-ups.
2813         * khtml/editing/edit_command.h:
2814         * khtml/editing/htmlediting.cpp:
2815         * khtml/editing/htmlediting.h:
2816
2817 2005-05-11  Adele Peterson  <adele@apple.com>
2818
2819         Reviewed by Darin.
2820
2821         fix for <rdar://problem/4061979> crash in DOM::ElementImpl::setAttribute at www.nitto-kohki.co.jp
2822
2823         * khtml/html/html_imageimpl.cpp: (HTMLImageLoader::updateFromElement): added a nil check for the document
2824         * khtml/xml/dom_nodeimpl.h: (DOM::NodeImpl::inDocument): added check for document in case the document has been destroyed before the node has been removed.  A lot of code already assumes that if inDocument returns true, a document exists.
2825  
2826         * layout-tests/fast/events/onload-re-entry.html: removed alert.
2827         * layout-tests/fast/events/onload-re-entry-expected.txt: updated.
2828         * layout-tests/fast/dom/attr_dead_doc-expected.txt: Added.
2829         * layout-tests/fast/dom/attr_dead_doc.html: Added.
2830         * layout-tests/fast/dom/resources/apple.gif: Added.
2831         * layout-tests/fast/dom/resources/mozilla.gif: Added.
2832         * layout-tests/fast/dom/resources/top.html: Added.
2833
2834 2005-05-10  Maciej Stachowiak  <mjs@apple.com>
2835
2836         Reviewed by Kevin.
2837
2838         - start on splitting htmlediting.cpp into smaller files - pull
2839         EditCommand and EditCommandPtr out.
2840
2841         * WebCore.pbproj/project.pbxproj:
2842         * khtml/editing/edit_command.cpp: Added.
2843         * khtml/editing/edit_command.h: Added.
2844         * khtml/editing/htmlediting.cpp: Took EditCommand and EditCommandPtr out.
2845         * khtml/editing/htmlediting.h: Ditto.
2846
2847 2005-05-10  David Hyatt  <hyatt@apple.com>
2848
2849         Refactor the DOM so that the concept of class/style/id is no longer unique to HTML elements.  This paves the way
2850         for SVG and MathML elements to also support these capabilities.  In addition the concept of presentational
2851         attributes has also been factored out.
2852         
2853         Reviewed by mjs
2854
2855         * khtml/css/css_ruleimpl.cpp:
2856         (CSSStyleRuleImpl::setDeclaration):
2857         * khtml/css/cssstyleselector.cpp:
2858         (khtml::parseUASheet):
2859         (khtml::CSSStyleSelector::loadDefaultStyle):
2860         (khtml::CSSStyleSelector::initElementAndPseudoState):
2861         (khtml::CSSStyleSelector::canShareStyleWithElement):
2862         (khtml::CSSStyleSelector::locateSharedStyle):
2863         (khtml::CSSStyleSelector::styleForElement):
2864         (khtml::CSSStyleSelector::checkOneSelector):
2865         * khtml/css/cssstyleselector.h:
2866         * khtml/html/html_baseimpl.cpp:
2867         (HTMLBodyElementImpl::parseMappedAttribute):
2868         (HTMLFrameElementImpl::parseMappedAttribute):
2869         (HTMLFrameSetElementImpl::parseMappedAttribute):
2870         (HTMLIFrameElementImpl::parseMappedAttribute):
2871         * khtml/html/html_baseimpl.h:
2872         * khtml/html/html_blockimpl.cpp:
2873         (HTMLDivElementImpl::parseMappedAttribute):
2874         (HTMLHRElementImpl::parseMappedAttribute):
2875         (HTMLParagraphElementImpl::parseMappedAttribute):
2876         (HTMLMarqueeElementImpl::parseMappedAttribute):
2877         * khtml/html/html_blockimpl.h:
2878         * khtml/html/html_canvasimpl.cpp:
2879         (HTMLCanvasElementImpl::parseMappedAttribute):
2880         * khtml/html/html_canvasimpl.h:
2881         * khtml/html/html_elementimpl.cpp:
2882         (HTMLElementImpl::HTMLElementImpl):
2883         (HTMLElementImpl::~HTMLElementImpl):
2884         (HTMLElementImpl::mapToEntry):
2885         (HTMLElementImpl::parseMappedAttribute):
2886         (HTMLElementImpl::addHTMLAlignment):
2887         (HTMLElementImpl::setContentEditable):
2888         (HTMLElementImpl::toString):
2889         * khtml/html/html_elementimpl.h:
2890         * khtml/html/html_formimpl.cpp:
2891         (DOM::HTMLFormElementImpl::parseMappedAttribute):
2892         (DOM::HTMLGenericFormElementImpl::parseMappedAttribute):
2893         (DOM::HTMLButtonElementImpl::parseMappedAttribute):
2894         (DOM::HTMLInputElementImpl::setType):
2895         (DOM::HTMLInputElementImpl::parseMappedAttribute):
2896         (DOM::HTMLLabelElementImpl::parseMappedAttribute):
2897         (DOM::HTMLSelectElementImpl::parseMappedAttribute):
2898         (DOM::HTMLKeygenElementImpl::parseMappedAttribute):
2899         (DOM::HTMLOptGroupElementImpl::parseMappedAttribute):
2900         (DOM::HTMLOptionElementImpl::parseMappedAttribute):
2901         (DOM::HTMLTextAreaElementImpl::parseMappedAttribute):
2902         (DOM::HTMLIsIndexElementImpl::parseMappedAttribute):
2903         * khtml/html/html_formimpl.h:
2904         * khtml/html/html_headimpl.cpp:
2905         (HTMLBaseElementImpl::parseMappedAttribute):
2906         (HTMLLinkElementImpl::parseMappedAttribute):
2907         (HTMLMetaElementImpl::parseMappedAttribute):
2908         (HTMLStyleElementImpl::parseMappedAttribute):
2909         * khtml/html/html_headimpl.h:
2910         * khtml/html/html_imageimpl.cpp:
2911         (HTMLImageElementImpl::parseMappedAttribute):
2912         (HTMLMapElementImpl::parseMappedAttribute):
2913         (HTMLAreaElementImpl::parseMappedAttribute):
2914         * khtml/html/html_imageimpl.h:
2915         * khtml/html/html_inlineimpl.cpp:
2916         (DOM::HTMLAnchorElementImpl::parseMappedAttribute):
2917         (DOM::HTMLBRElementImpl::parseMappedAttribute):
2918         (DOM::HTMLFontElementImpl::parseMappedAttribute):
2919         * khtml/html/html_inlineimpl.h:
2920         * khtml/html/html_listimpl.cpp:
2921         (DOM::HTMLUListElementImpl::parseMappedAttribute):
2922         (DOM::HTMLOListElementImpl::parseMappedAttribute):
2923         (DOM::HTMLLIElementImpl::parseMappedAttribute):
2924         * khtml/html/html_listimpl.h:
2925         * khtml/html/html_objectimpl.cpp:
2926         (DOM::HTMLAppletElementImpl::parseMappedAttribute):
2927         (DOM::HTMLEmbedElementImpl::parseMappedAttribute):
2928         (DOM::HTMLObjectElementImpl::parseMappedAttribute):
2929         (DOM::HTMLParamElementImpl::parseMappedAttribute):
2930         * khtml/html/html_objectimpl.h:
2931         * khtml/html/html_tableimpl.cpp:
2932         (DOM::HTMLTableElementImpl::parseMappedAttribute):
2933         (DOM::HTMLTableElementImpl::additionalAttributeStyleDecl):
2934         (DOM::HTMLTableElementImpl::getSharedCellDecl):
2935         (DOM::HTMLTablePartElementImpl::parseMappedAttribute):
2936         (DOM::HTMLTableCellElementImpl::parseMappedAttribute):
2937         (DOM::HTMLTableColElementImpl::parseMappedAttribute):
2938         (DOM::HTMLTableCaptionElementImpl::parseMappedAttribute):
2939         * khtml/html/html_tableimpl.h:
2940         * khtml/html/htmltokenizer.h:
2941         (khtml::Token::addAttribute):
2942         * khtml/misc/htmlattrs.in:
2943         * khtml/misc/htmltags.in:
2944         * khtml/xml/dom_docimpl.cpp:
2945         (DocumentImpl::createAttribute):
2946         (DocumentImpl::createElementNS):
2947         (DocumentImpl::createHTMLElement):
2948         * khtml/xml/dom_elementimpl.cpp:
2949         (XMLElementImpl::cloneNode):
2950         (NamedAttrMapImpl::isMappedAttributeMap):
2951         (CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl):
2952         (StyledElementImpl::getMappedAttributeDecl):
2953         (StyledElementImpl::setMappedAttributeDecl):
2954         (StyledElementImpl::removeMappedAttributeDecl):
2955         (StyledElementImpl::invalidateStyleAttribute):
2956         (StyledElementImpl::updateStyleAttributeIfNeeded):
2957         (MappedAttributeImpl::~MappedAttributeImpl):
2958         (MappedAttributeImpl::clone):
2959         (m_mappedAttributeCount):
2960         (NamedMappedAttrMapImpl::clearAttributes):
2961         (NamedMappedAttrMapImpl::isMappedAttributeMap):
2962         (NamedMappedAttrMapImpl::declCount):
2963         (NamedMappedAttrMapImpl::mapsEquivalent):
2964         (NamedMappedAttrMapImpl::parseClassAttribute):
2965         (StyledElementImpl::StyledElementImpl):
2966         (StyledElementImpl::~StyledElementImpl):
2967         (StyledElementImpl::createAttribute):
2968         (StyledElementImpl::createInlineStyleDecl):
2969         (StyledElementImpl::destroyInlineStyleDecl):
2970         (StyledElementImpl::attributeChanged):
2971         (StyledElementImpl::mapToEntry):
2972         (StyledElementImpl::parseMappedAttribute):
2973         (StyledElementImpl::createAttributeMap):
2974         (StyledElementImpl::getInlineStyleDecl):
2975         (StyledElementImpl::style):
2976         (StyledElementImpl::additionalAttributeStyleDecl):
2977         (StyledElementImpl::getClassList):
2978         (isHexDigit):
2979         (toHex):
2980         (StyledElementImpl::addCSSProperty):
2981         (StyledElementImpl::addCSSStringProperty):
2982         (StyledElementImpl::addCSSImageProperty):
2983         (StyledElementImpl::addCSSLength):
2984         (StyledElementImpl::addCSSColor):
2985         (StyledElementImpl::createMappedDecl):
2986         * khtml/xml/dom_elementimpl.h:
2987         (DOM::):
2988         (DOM::CSSMappedAttributeDeclarationImpl::CSSMappedAttributeDeclarationImpl):
2989         (DOM::CSSMappedAttributeDeclarationImpl::setMappedState):
2990         (DOM::MappedAttributeImpl::MappedAttributeImpl):
2991         (DOM::MappedAttributeImpl::decl):
2992         (DOM::MappedAttributeImpl::setDecl):
2993         (DOM::NamedMappedAttrMapImpl::getClassList):
2994         (DOM::NamedMappedAttrMapImpl::hasMappedAttributes):
2995         (DOM::NamedMappedAttrMapImpl::declRemoved):
2996         (DOM::NamedMappedAttrMapImpl::declAdded):
2997         (DOM::NamedMappedAttrMapImpl::attributeItem):
2998         (DOM::StyledElementImpl::isStyledElement):
2999         (DOM::StyledElementImpl::hasMappedAttributes):
3000         (DOM::StyledElementImpl::mappedAttributes):
3001         (DOM::StyledElementImpl::isMappedAttribute):
3002         (DOM::StyledElementImpl::inlineStyleDecl):
3003         * khtml/xml/dom_nodeimpl.h:
3004         (DOM::NodeImpl::isStyledElement):
3005
3006 2005-05-10  Darin Adler  <darin@apple.com>
3007
3008         Reviewed by Dave Hyatt.
3009         No new layout tests needed.
3010
3011         - remove all remaining uses of QMIN/QMAX and KMIN/KMAX.
3012
3013         * kwq/KWQDef.h: Remove the macros.
3014
3015         Remove all use of the macros (and fix a few compile errors by changing the types of
3016         some integer and floating point constants).
3017
3018         * khtml/css/cssparser.cpp:
3019         (CSSParser::parseColorFromValue):
3020         * khtml/css/cssstyleselector.cpp:
3021         (khtml::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
3022         * khtml/html/html_elementimpl.cpp:
3023         (HTMLElementImpl::addHTMLColor):
3024         * khtml/html/html_formimpl.cpp:
3025         (DOM::HTMLSelectElementImpl::parseHTMLAttribute):
3026         * khtml/html/htmltokenizer.cpp:
3027         (khtml::HTMLTokenizer::parseComment):
3028         * khtml/rendering/render_block.cpp:
3029         (khtml::RenderBlock::nearestFloatBottom):
3030         (khtml::RenderBlock::calcMinMaxWidth):
3031         * khtml/rendering/render_flow.cpp:
3032         (RenderFlow::paintOutlineForLine):
3033         * khtml/rendering/render_form.cpp:
3034         (RenderLineEdit::calcMinMaxWidth):
3035         (RenderFieldset::layoutLegend):
3036         (RenderFileButton::calcMinMaxWidth):
3037         (RenderSelect::layout):
3038         (RenderTextArea::calcMinMaxWidth):
3039         * khtml/rendering/render_object.cpp:
3040         (RenderObject::drawBorder):
3041         * khtml/rendering/render_replaced.cpp:
3042         (RenderWidget::resizeWidget):
3043         * khtml/rendering/render_table.cpp:
3044         (RenderTableSection::layoutRows):
3045         * khtml/rendering/table_layout.cpp:
3046         (AutoTableLayout::recalcColumn):
3047         (AutoTableLayout::calcEffectiveWidth):
3048
3049 2005-05-10  Darin Adler  <darin@apple.com>
3050
3051         Reviewed by Chris Blumenberg.
3052
3053         - next pass of moving code from C++ DOM wrappers into the DOM impl. classes
3054           (this step adds still more member functions missing from the DOM impl. and
3055            changes some of the C++ and Objective-C DOM to call the new ones; also
3056            changes various places that use the C++ DOM to use the DOM impl. instead)
3057
3058         * khtml/css/css_computedstyle.cpp:
3059         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
3060         * khtml/css/css_computedstyle.h:
3061         * khtml/css/css_stylesheetimpl.cpp:
3062         (CSSStyleSheetImpl::cssRules):
3063         * khtml/css/css_stylesheetimpl.h:
3064         * khtml/css/css_valueimpl.cpp:
3065         (DOM::CSSStyleDeclarationImpl::getPropertyCSSValue):
3066         (DOM::CSSStyleDeclarationImpl::getPropertyValue):
3067         (DOM::CSSStyleDeclarationImpl::getPropertyPriority):
3068         (DOM::CSSStyleDeclarationImpl::setProperty):
3069         (DOM::CSSStyleDeclarationImpl::removeProperty):
3070         (DOM::CSSMutableStyleDeclarationImpl::getPropertyValue):
3071         (DOM::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
3072         (DOM::operator==):
3073         (DOM::CSSStyleDeclarationImpl::propertyID):
3074         * khtml/css/css_valueimpl.h:
3075         (DOM::CSSValueImpl::setCssText):
3076         (DOM::CSSPrimitiveValueImpl::getDashboardRegionValue):
3077         * khtml/dom/css_rule.cpp:
3078         * khtml/dom/css_rule.h:
3079         * khtml/dom/css_stylesheet.h:
3080         (DOM::CSSException::):
3081         * khtml/dom/css_value.cpp:
3082         (DOM::CSSStyleDeclaration::getPropertyValue):
3083         (DOM::CSSStyleDeclaration::getPropertyCSSValue):
3084         (DOM::CSSStyleDeclaration::removeProperty):
3085         (DOM::CSSStyleDeclaration::getPropertyPriority):
3086         (DOM::CSSStyleDeclaration::setProperty):
3087         * khtml/dom/css_value.h:
3088         * khtml/dom/dom2_events.cpp:
3089         (EventListener::handleEvent):
3090         * khtml/dom/dom2_events.h:
3091         * khtml/dom/dom2_traversal.h:
3092         * khtml/dom/dom_doc.cpp:
3093         (DOM::DOMImplementation::createHTMLDocument):
3094         (DOM::DOMImplementation::createCSSStyleSheet):
3095         (DOM::Document::doctype):
3096         (DOM::Document::createAttribute):
3097         (DOM::Document::createAttributeNS):
3098         (DOM::Document::queryCommandValue):
3099         (DOM::Document::handle):
3100         * khtml/dom/dom_doc.h:
3101         * khtml/dom/dom_element.cpp:
3102         (Attr::name):
3103         (Attr::value):
3104         (Element::getAttribute):
3105         (Element::setAttribute):
3106         (Element::removeAttribute):
3107         (Element::getAttributeNode):
3108         (Element::setAttributeNode):
3109         (Element::removeAttributeNode):
3110         (Element::getElementsByTagName):
3111         (Element::getElementsByTagNameNS):
3112         (Element::getAttributeNS):
3113         (Element::setAttributeNS):
3114         (Element::removeAttributeNS):
3115         (Element::getAttributeNodeNS):
3116         (Element::setAttributeNodeNS):
3117         (Element::hasAttribute):
3118         (Element::hasAttributeNS):
3119         (Element::style):
3120         * khtml/dom/dom_exception.h:
3121         * khtml/dom/dom_misc.cpp:
3122         (DOM::DomShared::deleteMe):
3123         * khtml/dom/dom_misc.h:
3124         (DOM::DomShared::deleteMe):
3125         * khtml/dom/dom_node.cpp:
3126         (NamedNodeMap::getNamedItemNS):
3127         (NamedNodeMap::setNamedItemNS):
3128         (NamedNodeMap::removeNamedItemNS):
3129         (Node::ownerDocument):
3130         (Node::hasAttributes):
3131         (Node::isSupported):
3132         (Node::addEventListener):
3133         (Node::removeEventListener):
3134         * khtml/dom/dom_node.h:
3135         * khtml/dom/html_document.cpp:
3136         (HTMLDocument::setTitle):
3137         (HTMLDocument::completeURL):
3138         (HTMLDocument::getElementsByName):
3139         * khtml/dom/html_element.cpp:
3140         (HTMLElement::setInnerHTML):
3141         (HTMLElement::setInnerText):
3142         (HTMLElement::setOuterHTML):
3143         (HTMLElement::setOuterText):
3144         * khtml/dom/html_form.cpp:
3145         (HTMLLabelElement::form):
3146         (HTMLSelectElement::setValue):
3147         (HTMLSelectElement::options):
3148         (HTMLOptionElement::setValue):
3149         * khtml/dom/html_inline.cpp:
3150         (HTMLAnchorElement::accessKey):
3151         (HTMLAnchorElement::setAccessKey):
3152         (HTMLAnchorElement::charset):
3153         (HTMLAnchorElement::setCharset):
3154         (HTMLAnchorElement::coords):
3155         (HTMLAnchorElement::setCoords):
3156         (HTMLAnchorElement::href):
3157         (HTMLAnchorElement::setHref):
3158         (HTMLAnchorElement::hreflang):
3159         (HTMLAnchorElement::setHreflang):
3160         (HTMLAnchorElement::name):
3161         (HTMLAnchorElement::setName):
3162         (HTMLAnchorElement::rel):
3163         (HTMLAnchorElement::setRel):
3164         (HTMLAnchorElement::rev):
3165         (HTMLAnchorElement::setRev):
3166         (HTMLAnchorElement::shape):
3167         (HTMLAnchorElement::setShape):
3168         (HTMLAnchorElement::tabIndex):
3169         (HTMLAnchorElement::setTabIndex):
3170         (HTMLAnchorElement::target):
3171         (HTMLAnchorElement::setTarget):
3172         (HTMLAnchorElement::type):
3173         (HTMLAnchorElement::setType):
3174         (HTMLAnchorElement::blur):
3175         (HTMLAnchorElement::focus):
3176         (HTMLBRElement::clear):
3177         (HTMLBRElement::setClear):
3178         (HTMLFontElement::color):
3179         (HTMLFontElement::setColor):
3180         (HTMLFontElement::face):
3181         (HTMLFontElement::setFace):
3182         (HTMLFontElement::size):
3183         (HTMLFontElement::setSize):
3184         (HTMLModElement::cite):
3185         (HTMLModElement::setCite):
3186         (HTMLModElement::dateTime):
3187         (HTMLModElement::setDateTime):
3188         (HTMLQuoteElement::cite):
3189         (HTMLQuoteElement::setCite):
3190         * khtml/dom/html_misc.cpp:
3191         (HTMLCollection::HTMLCollection):
3192         (HTMLCollection::base):
3193         (HTMLCollection::namedItems):
3194         * khtml/dom/html_misc.h:
3195         * khtml/editing/htmlediting.cpp:
3196         * khtml/editing/selection.cpp:
3197         * khtml/html/html_documentimpl.cpp:
3198         (DOM::HTMLDocumentImpl::determineParseMode):
3199         (DOM::HTMLDocumentImpl::doctype):
3200         * khtml/html/html_documentimpl.h:
3201         * khtml/html/html_elementimpl.cpp:
3202         (HTMLElementImpl::setInnerHTML):
3203         (HTMLElementImpl::setOuterHTML):
3204         (HTMLElementImpl::setInnerText):
3205         (HTMLElementImpl::setOuterText):
3206         (HTMLElementImpl::style):
3207         (HTMLElementImpl::idDOM):
3208         (HTMLElementImpl::setId):
3209         (HTMLElementImpl::title):
3210         (HTMLElementImpl::setTitle):
3211         (HTMLElementImpl::lang):
3212         (HTMLElementImpl::setLang):
3213         (HTMLElementImpl::dir):
3214         (HTMLElementImpl::setDir):
3215         (HTMLElementImpl::className):
3216         (HTMLElementImpl::setClassName):
3217         (HTMLElementImpl::children):
3218         (HTMLGenericElementImpl::HTMLGenericElementImpl):
3219         (HTMLGenericElementImpl::id):
3220         * khtml/html/html_elementimpl.h:
3221         (DOM::HTMLElementImpl::isGenericFormElement):
3222         * khtml/html/html_formimpl.cpp:
3223         (DOM::HTMLFormElementImpl::parseEnctype):
3224         (DOM::HTMLFormElementImpl::parseHTMLAttribute):
3225         (DOM::HTMLFormElementImpl::elements):
3226         (DOM::HTMLFormElementImpl::name):
3227         (DOM::HTMLFormElementImpl::setName):
3228         (DOM::HTMLFormElementImpl::acceptCharset):
3229         (DOM::HTMLFormElementImpl::setAcceptCharset):
3230         (DOM::HTMLFormElementImpl::action):
3231         (DOM::HTMLFormElementImpl::setAction):
3232         (DOM::HTMLFormElementImpl::setEnctype):
3233         (DOM::HTMLFormElementImpl::method):
3234         (DOM::HTMLFormElementImpl::setMethod):
3235         (DOM::HTMLFormElementImpl::target):
3236         (DOM::HTMLFormElementImpl::setTarget):
3237         (DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl):
3238         (DOM::HTMLGenericFormElementImpl::~HTMLGenericFormElementImpl):
3239         (DOM::HTMLGenericFormElementImpl::parseHTMLAttribute):
3240         (DOM::HTMLGenericFormElementImpl::name):
3241         (DOM::HTMLGenericFormElementImpl::setName):
3242         (DOM::HTMLGenericFormElementImpl::setOverrideName):
3243         (DOM::HTMLGenericFormElementImpl::setDisabled):
3244         (DOM::HTMLGenericFormElementImpl::setReadOnly):
3245         (DOM::HTMLGenericFormElementImpl::tabIndex):
3246         (DOM::HTMLGenericFormElementImpl::setTabIndex):
3247         (DOM::HTMLButtonElementImpl::accessKey):
3248         (DOM::HTMLButtonElementImpl::setAccessKey):
3249         (DOM::HTMLButtonElementImpl::value):
3250         (DOM::HTMLButtonElementImpl::setValue):
3251         (DOM::HTMLInputElementImpl::HTMLInputElementImpl):
3252         (DOM::HTMLInputElementImpl::parseHTMLAttribute):
3253         (DOM::HTMLInputElementImpl::defaultValue):
3254         (DOM::HTMLInputElementImpl::setDefaultValue):
3255         (DOM::HTMLInputElementImpl::defaultChecked):
3256         (DOM::HTMLInputElementImpl::setDefaultChecked):
3257         (DOM::HTMLInputElementImpl::accept):
3258         (DOM::HTMLInputElementImpl::setAccept):
3259         (DOM::HTMLInputElementImpl::accessKey):
3260         (DOM::HTMLInputElementImpl::setAccessKey):
3261         (DOM::HTMLInputElementImpl::align):
3262         (DOM::HTMLInputElementImpl::setAlign):
3263         (DOM::HTMLInputElementImpl::alt):
3264         (DOM::HTMLInputElementImpl::setAlt):
3265         (DOM::HTMLInputElementImpl::setMaxLength):
3266         (DOM::HTMLInputElementImpl::sizeDOM):
3267         (DOM::HTMLInputElementImpl::setSize):
3268         (DOM::HTMLInputElementImpl::src):
3269         (DOM::HTMLInputElementImpl::setSrc):
3270         (DOM::HTMLInputElementImpl::useMap):
3271         (DOM::HTMLInputElementImpl::setUseMap):
3272         (DOM::HTMLLabelElementImpl::form):
3273         (DOM::HTMLLabelElementImpl::accessKey):
3274         (DOM::HTMLLabelElementImpl::setAccessKey):
3275         (DOM::HTMLLabelElementImpl::htmlFor):
3276         (DOM::HTMLLabelElementImpl::setHtmlFor):
3277         (DOM::HTMLLegendElementImpl::accessKey):
3278         (DOM::HTMLLegendElementImpl::setAccessKey):
3279         (DOM::HTMLLegendElementImpl::align):
3280         (DOM::HTMLLegendElementImpl::setAlign):
3281         (DOM::HTMLSelectElementImpl::setValue):
3282         (DOM::HTMLSelectElementImpl::optionsHTMLCollection):
3283         (DOM::HTMLSelectElementImpl::setMultiple):
3284         (DOM::HTMLSelectElementImpl::setSize):
3285         (DOM::HTMLOptGroupElementImpl::label):
3286         (DOM::HTMLOptGroupElementImpl::setLabel):
3287         (DOM::HTMLOptionElementImpl::setText):
3288         (DOM::HTMLOptionElementImpl::setIndex):
3289         (DOM::HTMLOptionElementImpl::setValue):
3290         (DOM::HTMLOptionElementImpl::defaultSelected):
3291         (DOM::HTMLOptionElementImpl::setDefaultSelected):
3292         (DOM::HTMLOptionElementImpl::label):
3293         (DOM::HTMLOptionElementImpl::setLabel):
3294         (DOM::HTMLTextAreaElementImpl::accessKey):
3295         (DOM::HTMLTextAreaElementImpl::setAccessKey):
3296         (DOM::HTMLTextAreaElementImpl::setCols):
3297         (DOM::HTMLTextAreaElementImpl::setRows):
3298         (DOM::HTMLIsIndexElementImpl::HTMLIsIndexElementImpl):
3299         (DOM::HTMLIsIndexElementImpl::parseHTMLAttribute):
3300         (DOM::HTMLIsIndexElementImpl::prompt):
3301         (DOM::HTMLIsIndexElementImpl::setPrompt):
3302         * khtml/html/html_formimpl.h:
3303         * khtml/html/html_headimpl.cpp:
3304         (HTMLBaseElementImpl::setHref):
3305         (HTMLBaseElementImpl::setTarget):
3306         (HTMLLinkElementImpl::disabled):
3307         (HTMLLinkElementImpl::setDisabled):
3308         (HTMLLinkElementImpl::charset):
3309         (HTMLLinkElementImpl::setCharset):
3310         (HTMLLinkElementImpl::href):
3311         (HTMLLinkElementImpl::setHref):
3312         (HTMLLinkElementImpl::hreflang):
3313         (HTMLLinkElementImpl::setHreflang):
3314         (HTMLLinkElementImpl::media):
3315         (HTMLLinkElementImpl::setMedia):
3316         (HTMLLinkElementImpl::rel):
3317         (HTMLLinkElementImpl::setRel):
3318         (HTMLLinkElementImpl::rev):
3319         (HTMLLinkElementImpl::setRev):
3320         (HTMLLinkElementImpl::target):
3321         (HTMLLinkElementImpl::setTarget):
3322         (HTMLLinkElementImpl::type):
3323         (HTMLLinkElementImpl::setType):
3324         (HTMLMetaElementImpl::content):
3325         (HTMLMetaElementImpl::setContent):
3326         (HTMLMetaElementImpl::httpEquiv):
3327         (HTMLMetaElementImpl::setHttpEquiv):
3328         (HTMLMetaElementImpl::name):
3329         (HTMLMetaElementImpl::setName):
3330         (HTMLMetaElementImpl::scheme):
3331         (HTMLMetaElementImpl::setScheme):
3332         (HTMLScriptElementImpl::id):
3333         (HTMLScriptElementImpl::isURLAttribute):
3334         (HTMLScriptElementImpl::insertedIntoDocument):
3335         (HTMLScriptElementImpl::notifyFinished):
3336         (HTMLScriptElementImpl::text):
3337         (HTMLScriptElementImpl::setText):
3338         (HTMLScriptElementImpl::htmlFor):
3339         (HTMLScriptElementImpl::setHtmlFor):
3340         (HTMLScriptElementImpl::event):
3341         (HTMLScriptElementImpl::setEvent):
3342         (HTMLScriptElementImpl::charset):
3343         (HTMLScriptElementImpl::setCharset):
3344         (HTMLScriptElementImpl::defer):
3345         (HTMLScriptElementImpl::setDefer):
3346         (HTMLScriptElementImpl::src):
3347         (HTMLScriptElementImpl::setSrc):
3348         (HTMLScriptElementImpl::type):
3349         (HTMLScriptElementImpl::setType):
3350         (HTMLStyleElementImpl::disabled):
3351         (HTMLStyleElementImpl::setDisabled):
3352         (HTMLStyleElementImpl::media):
3353         (HTMLStyleElementImpl::setMedia):
3354         (HTMLStyleElementImpl::type):
3355         (HTMLStyleElementImpl::setType):
3356         (HTMLTitleElementImpl::insertedIntoDocument):
3357         (HTMLTitleElementImpl::childrenChanged):
3358         (HTMLTitleElementImpl::text):
3359         (HTMLTitleElementImpl::setText):
3360         * khtml/html/html_headimpl.h:
3361         * khtml/html/html_miscimpl.cpp:
3362         (DOM::HTMLBaseFontElementImpl::id):
3363         (DOM::HTMLBaseFontElementImpl::color):
3364         (DOM::HTMLBaseFontElementImpl::setColor):
3365         (DOM::HTMLBaseFontElementImpl::face):
3366         (DOM::HTMLBaseFontElementImpl::setFace):
3367         (DOM::HTMLBaseFontElementImpl::size):
3368         (DOM::HTMLBaseFontElementImpl::setSize):
3369         (DOM::HTMLCollectionImpl::HTMLCollectionImpl):
3370         (DOM::HTMLCollectionImpl::~HTMLCollectionImpl):
3371         (DOM::HTMLCollectionImpl::resetCollectionInfo):
3372         (DOM::HTMLCollectionImpl::traverseNextItem):
3373         (DOM::HTMLCollectionImpl::calcLength):
3374         (DOM::HTMLCollectionImpl::item):
3375         (DOM::HTMLCollectionImpl::namedItem):
3376         (DOM::HTMLCollectionImpl::updateNameCache):
3377         (DOM::HTMLCollectionImpl::namedItems):
3378         (DOM::HTMLCollectionImpl::nextNamedItem):
3379         (DOM::HTMLFormCollectionImpl::HTMLFormCollectionImpl):
3380         (DOM::HTMLFormCollectionImpl::calcLength):
3381         (DOM::HTMLFormCollectionImpl::item):
3382         (DOM::HTMLFormCollectionImpl::getNamedFormItem):
3383         (DOM::HTMLFormCollectionImpl::nextNamedItemInternal):
3384         (DOM::HTMLFormCollectionImpl::namedItem):
3385         (DOM::HTMLFormCollectionImpl::updateNameCache):
3386         * khtml/html/html_miscimpl.h:
3387         (DOM::HTMLCollectionImpl::base):
3388         * khtml/html/htmlparser.cpp:
3389         (KHTMLParser::parseToken):
3390         (KHTMLParser::insertNode):
3391         * khtml/html/htmltokenizer.cpp:
3392         (khtml::HTMLTokenizer::scriptExecution):
3393         * khtml/khtml_events.cpp:
3394         (khtml::MouseEvent::MouseEvent):
3395         (khtml::MouseEvent::offset):
3396         * khtml/khtml_events.h:
3397         (khtml::MouseEvent::innerNode):
3398         (khtml::MousePressEvent::MousePressEvent):
3399         (khtml::MouseDoubleClickEvent::MouseDoubleClickEvent):
3400         (khtml::MouseMoveEvent::MouseMoveEvent):
3401         (khtml::MouseReleaseEvent::MouseReleaseEvent):
3402         * khtml/khtml_part.cpp:
3403         (KHTMLPart::closeURL):
3404         (KHTMLPart::executeScript):
3405         (KHTMLPart::scheduleScript):
3406         (KHTMLPart::executeScheduledScript):
3407         (KHTMLPart::clear):
3408         (KHTMLPart::selectClosestWordFromMouseEvent):
3409         (KHTMLPart::handleMousePressEventDoubleClick):
3410         (KHTMLPart::handleMousePressEventTripleClick):
3411         (KHTMLPart::handleMousePressEventSingleClick):
3412         (KHTMLPart::khtmlMousePressEvent):
3413         (KHTMLPart::handleMouseMoveEventDrag):
3414         (KHTMLPart::handleMouseMoveEventOver):
3415         (KHTMLPart::handleMouseMoveEventSelection):
3416         (KHTMLPart::khtmlMouseReleaseEvent):
3417         (KHTMLPart::selectionHasStyle):
3418         (KHTMLPart::selectionStartHasStyle):
3419         * khtml/khtml_part.h:
3420         * khtml/khtmlpart_p.h:
3421         * khtml/khtmlview.cpp:
3422         (KHTMLViewPrivate::reset):
3423         (KHTMLView::viewportMousePressEvent):
3424         (KHTMLView::viewportMouseDoubleClickEvent):
3425         (KHTMLView::contentsContextMenuEvent):
3426         (KHTMLView::updateDragAndDrop):
3427         (KHTMLView::cancelDragAndDrop):
3428         (KHTMLView::performDragAndDrop):
3429         (KHTMLView::focusNextPrevNode):
3430         * kwq/DOM-CSS.mm:
3431         (-[DOMCSSStyleSheet cssRules]):
3432         (-[DOMCSSStyleDeclaration getPropertyValue:]):
3433         (-[DOMCSSStyleDeclaration getPropertyCSSValue:]):
3434         (-[DOMCSSStyleDeclaration removeProperty:]):
3435         (-[DOMCSSStyleDeclaration getPropertyPriority:]):
3436         (-[DOMCSSStyleDeclaration setProperty:::]):
3437         (-[DOMCSSValue setCssText:]):
3438         * kwq/DOMCSS.h:
3439         * kwq/DOMHTML.mm:
3440         (-[DOMHTMLElement setInnerHTML:]):
3441         (-[DOMHTMLElement setOuterHTML:]):
3442         (-[DOMHTMLElement setInnerText:]):
3443         (-[DOMHTMLElement setOuterText:]):
3444         (-[DOMHTMLSelectElement setLength:]):
3445         (-[DOMHTMLTableSectionElement insertRow:]):
3446         * kwq/DOMInternal.h:
3447         * kwq/DOMInternal.mm:
3448         (raiseDOMException):
3449         (-[WebScriptObject _initializeScriptDOMNodeImp]):
3450         * kwq/DOMUtility.mm:
3451         (KJS::ScriptInterpreter::createObjcInstanceForValue):
3452         * kwq/KWQAccObject.mm:
3453         (-[KWQAccObject accessibilityAttributeValue:]):
3454         * kwq/KWQKHTMLPart.h:
3455         * kwq/KWQKHTMLPart.mm:
3456         (KWQKHTMLPart::KWQKHTMLPart):
3457         (KWQKHTMLPart::advanceToNextMisspelling):
3458         (KWQKHTMLPart::scrollOverflow):
3459         (KWQKHTMLPart::paint):
3460         (KWQKHTMLPart::openURLFromPageCache):
3461         (KWQKHTMLPart::khtmlMousePressEvent):
3462         (KWQKHTMLPart::passWidgetMouseDownEventToWidget):
3463         (KWQKHTMLPart::dispatchDragSrcEvent):
3464         (KWQKHTMLPart::eventMayStartDrag):
3465         (KWQKHTMLPart::khtmlMouseMoveEvent):
3466         (KWQKHTMLPart::dragSourceEndedAt):
3467         (KWQKHTMLPart::mouseDown):
3468         (KWQKHTMLPart::sendContextMenuEvent):
3469         (listParent):
3470         (isTextFirstInListItem):
3471         (KWQKHTMLPart::attributedString):
3472         (KWQKHTMLPart::snapshotDragImage):
3473         (KWQKHTMLPart::mousePressNode):
3474         * kwq/WebCoreBridge.mm:
3475         (updateRenderingForBindings):
3476         (-[WebCoreBridge _documentTypeString]):
3477
3478 2005-05-10  Maciej Stachowiak  <mjs@apple.com>
3479
3480         Reviewed by John.
3481
3482         - rename hasAnchor method to isLink
3483
3484         * khtml/css/cssstyleselector.cpp:
3485         (khtml::checkPseudoState):
3486         (khtml::CSSStyleSelector::canShareStyleWithElement):
3487         (khtml::CSSStyleSelector::styleForElement):
3488         (khtml::CSSStyleSelector::checkOneSelector):
3489         * khtml/editing/htmlediting.cpp:
3490         (khtml::isSpecialElement):
3491         * khtml/html/html_imageimpl.cpp:
3492         (HTMLImageElementImpl::parseHTMLAttribute):
3493         * khtml/html/html_inlineimpl.cpp:
3494         (DOM::HTMLAnchorElementImpl::isFocusable):
3495         (DOM::HTMLAnchorElementImpl::defaultEventHandler):
3496         (DOM::HTMLAnchorElementImpl::parseHTMLAttribute):
3497         * khtml/rendering/render_flexbox.cpp:
3498         (khtml::RenderFlexibleBox::layoutVerticalBox):
3499         * khtml/rendering/render_layer.cpp:
3500         (RenderLayer::hitTest):
3501         * khtml/rendering/render_object.cpp:
3502         (RenderObject::information):
3503         * khtml/xml/dom_nodeimpl.cpp:
3504         (NodeImpl::NodeImpl):
3505         * khtml/xml/dom_nodeimpl.h:
3506         (DOM::NodeImpl::isLink):
3507         * kwq/KWQAccObject.mm:
3508         (-[KWQAccObject anchorElement]):
3509         (-[KWQAccObject addChildrenToArray:]):
3510         (-[KWQAccObject role]):
3511         (-[KWQAccObject title]):
3512         (-[KWQAccObject accessibilityIsIgnored]):
3513         (-[KWQAccObject accessibilityAttributeNames]):
3514         (-[KWQAccObject accessibilityAttributeValue:]):
3515         * kwq/KWQKHTMLPart.mm:
3516         (KWQKHTMLPart::khtmlMouseMoveEvent):
3517
3518 2005-05-09  Maciej Stachowiak  <mjs@apple.com>
3519
3520         Reviewed by John.
3521
3522         - remove init hint argument from VisiblePosition 
3523
3524         * khtml/editing/visible_position.cpp:
3525         (khtml::VisiblePosition::VisiblePosition):
3526         (khtml::VisiblePosition::init):
3527         * khtml/editing/visible_position.h:
3528         * khtml/editing/visible_units.cpp:
3529         (khtml::previousBoundary):
3530         (khtml::nextBoundary):
3531         * khtml/xml/dom_docimpl.cpp:
3532         (DocumentImpl::updateSelection):
3533         * kwq/KWQKHTMLPart.mm:
3534         (KWQKHTMLPart::styleForSelectionStart):
3535         * kwq/WebCoreBridge.mm:
3536         (-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]):
3537
3538 2005-05-10  Darin Adler  <darin@apple.com>
3539
3540         Reviewed by David Harrison.
3541
3542         - next pass of moving code from C++ DOM wrappers into the DOM impl. classes
3543           (this step adds more member functions missing from the DOM impl. and
3544            changes some of the Objective-C DOM to call the new ones; also changes some
3545            parameter types in the DOM impl.)
3546
3547         * khtml/dom/dom2_events.cpp:
3548         (UIEvent::initUIEvent):
3549         (MouseEvent::initMouseEvent):
3550         (MutationEvent::initMutationEvent):
3551         (KeyboardEvent::initKeyboardEvent):
3552         * khtml/dom/dom_doc.cpp:
3553         (DOM::DOMImplementation::createDocument):
3554         (DOM::Document::getElementsByTagName):
3555         (DOM::Document::getElementsByTagNameNS):
3556         * khtml/dom/dom_element.cpp:
3557         (Element::removeAttributeNode):
3558         (Element::getElementsByTagName):
3559         (Element::getElementsByTagNameNS):
3560         (Element::setAttributeNodeNS):
3561         * khtml/dom/dom_node.cpp:
3562         (NamedNodeMap::setNamedItemNS):
3563         (NamedNodeMap::removeNamedItemNS):
3564         * khtml/ecma/kjs_binding.cpp:
3565         * khtml/ecma/kjs_events.cpp:
3566         (ClipboardProtoFunc::tryCall):
3567         * khtml/editing/jsediting.cpp:
3568         * khtml/khtml_part.cpp:
3569         (KHTMLPart::applyEditingStyleToBodyElement):
3570         (KHTMLPart::removeEditingStyleFromBodyElement):
3571         * khtml/khtmlview.cpp:
3572         (KHTMLView::viewportMousePressEvent):
3573         (KHTMLView::viewportMouseDoubleClickEvent):
3574         (KHTMLView::viewportMouseMoveEvent):
3575         (KHTMLView::viewportMouseReleaseEvent):
3576         (KHTMLView::updateDragAndDrop):
3577         (KHTMLView::dispatchMouseEvent):
3578         * khtml/misc/shared.h:
3579         (khtml::SharedPtr::reset):
3580         (khtml::::operator):
3581         (khtml::static_pointer_cast):
3582         (khtml::const_pointer_cast):
3583         * khtml/xml/dom2_eventsimpl.cpp:
3584         (UIEventImpl::initUIEvent):
3585         (UIEventImpl::keyCode):
3586         (UIEventImpl::charCode):
3587         (UIEventImpl::layerX):
3588         (UIEventImpl::layerY):
3589         (UIEventImpl::pageX):
3590         (UIEventImpl::pageY):
3591         (UIEventImpl::which):
3592         (MouseRelatedEventImpl::pageX):
3593         (MouseRelatedEventImpl::pageY):
3594         (MouseEventImpl::initMouseEvent):
3595         (MouseEventImpl::which):
3596         (KeyboardEventImpl::initKeyboardEvent):
3597         (KeyboardEventImpl::which):
3598         (MutationEventImpl::MutationEventImpl):
3599         (MutationEventImpl::initMutationEvent):
3600         * khtml/xml/dom2_eventsimpl.h:
3601         (DOM::MutationEventImpl::relatedNode):
3602         * khtml/xml/dom2_rangeimpl.h:
3603         * khtml/xml/dom2_traversalimpl.cpp:
3604         (DOM::NodeFilterImpl::acceptNode):
3605         * khtml/xml/dom2_traversalimpl.h:
3606         * khtml/xml/dom_docimpl.cpp:
3607         (DOMImplementationImpl::createDocument):
3608         (DOMImplementationImpl::createCSSStyleSheet):
3609         (DOMImplementationImpl::createHTMLDocument):
3610         (DocumentImpl::createAttribute):
3611         (DocumentImpl::createHTMLElement):
3612         (DocumentImpl::getOverrideStyle):
3613         (DocumentImpl::defaultEventHandler):
3614         (DocumentImpl::completeURL):
3615         (DocumentImpl::topDocument):
3616         (DocumentImpl::createAttributeNS):
3617         (DocumentImpl::images):
3618         (DocumentImpl::applets):
3619         (DocumentImpl::embeds):
3620         (DocumentImpl::objects):
3621         (DocumentImpl::links):
3622         (DocumentImpl::forms):
3623         (DocumentImpl::anchors):
3624         (DocumentImpl::all):
3625         (DocumentImpl::nameableItems):
3626         (DocumentImpl::getElementsByName):
3627         * khtml/xml/dom_docimpl.h:
3628         (DOM::DocumentImpl::realDocType):
3629         (DOM::DocumentImpl::createAttribute):
3630         * khtml/xml/dom_elementimpl.cpp:
3631         (AttrImpl::nodeName):
3632         (AttrImpl::nodeValue):
3633         (AttrImpl::name):
3634         (AttrImpl::value):
3635         (ElementImpl::attributes):
3636         (ElementImpl::isURLAttribute):
3637         (ElementImpl::setAttributeNode):
3638         (ElementImpl::removeAttributeNode):
3639         (ElementImpl::setAttributeNS):
3640         (ElementImpl::removeAttributeNS):
3641         (ElementImpl::getAttributeNodeNS):
3642         (ElementImpl::hasAttributeNS):
3643         (ElementImpl::style):
3644         (XMLElementImpl::cloneNode):
3645         (NamedAttrMapImpl::setNamedItem):
3646         (NamedAttrMapImpl::removeNamedItem):
3647         * khtml/xml/dom_elementimpl.h:
3648         (DOM::ElementImpl::hasAttribute):
3649         (DOM::ElementImpl::getAttribute):
3650         (DOM::ElementImpl::setAttribute):
3651         (DOM::ElementImpl::removeAttribute):
3652         (DOM::ElementImpl::getAttributeNode):
3653         (DOM::ElementImpl::setAttributeNodeNS):
3654         * khtml/xml/dom_nodeimpl.cpp:
3655         (NodeImpl::handleLocalEvents):
3656         (NodeImpl::isAncestor):
3657         (NodeImpl::addEventListener):
3658         (NodeImpl::removeEventListener):
3659         (NodeImpl::getElementsByTagNameNS):
3660         (NodeImpl::isSupported):
3661         (NodeImpl::ownerDocument):
3662         (NodeImpl::hasAttributes):
3663         (NodeImpl::attributes):
3664         (ContainerNodeImpl::removeChildren):
3665         (NamedNodeMapImpl::~NamedNodeMapImpl):
3666         (NamedNodeMapImpl::getNamedItemNS):
3667         (NamedNodeMapImpl::removeNamedItemNS):
3668         * khtml/xml/dom_nodeimpl.h:
3669         (DOM::NodeImpl::getElementsByTagName):
3670         (DOM::NamedNodeMapImpl::NamedNodeMapImpl):
3671         (DOM::NamedNodeMapImpl::getNamedItem):
3672         (DOM::NamedNodeMapImpl::removeNamedItem):
3673         (DOM::NamedNodeMapImpl::setNamedItemNS):
3674         (DOM::NamedNodeMapImpl::isReadOnly):
3675         * khtml/xml/dom_textimpl.h:
3676         * khtml/xml/dom_xmlimpl.h:
3677         * kwq/DOM.mm:
3678         (-[DOMNode isSupported::]):
3679         (-[DOMNode namespaceURI]):
3680         (-[DOMNode hasAttributes]):
3681         (-[DOMNamedNodeMap getNamedItem:]):
3682         (-[DOMNamedNodeMap setNamedItem:]):
3683         (-[DOMNamedNodeMap removeNamedItem:]):
3684         (-[DOMNamedNodeMap getNamedItemNS::]):
3685         (-[DOMNamedNodeMap setNamedItemNS:]):
3686         (-[DOMNamedNodeMap removeNamedItemNS::]):
3687         (-[DOMImplementation createDocument:::]):
3688         (-[DOMImplementation createCSSStyleSheet::]):
3689         (-[DOMDocument createAttribute:]):
3690         (-[DOMDocument getElementsByTagName:]):
3691         (-[DOMDocument createAttributeNS::]):
3692         (-[DOMDocument getElementsByTagNameNS::]):
3693         (-[DOMElement setAttribute::]):
3694         (-[DOMElement removeAttribute:]):
3695         (-[DOMElement getAttributeNode:]):
3696         (-[DOMElement setAttributeNode:]):
3697         (-[DOMElement removeAttributeNode:]):
3698         (-[DOMElement getElementsByTagName:]):
3699         (-[DOMElement getAttributeNS::]):
3700         (-[DOMElement setAttributeNS:::]):
3701         (-[DOMElement removeAttributeNS::]):
3702         (-[DOMElement getAttributeNodeNS::]):
3703         (-[DOMElement setAttributeNodeNS:]):
3704         (-[DOMElement getElementsByTagNameNS::]):
3705         (-[DOMElement hasAttribute:]):
3706         (-[DOMElement hasAttributeNS::]):
3707         (-[DOMElement style]):
3708         (-[DOMDocumentType _documentTypeImpl]):
3709         (ObjCNodeFilterCondition::acceptNode):
3710         * kwq/DOMEvents.mm:
3711         (-[DOMMutationEvent relatedNode]):
3712         * kwq/KWQClipboard.h:
3713         * kwq/KWQClipboard.mm:
3714         (KWQClipboard::KWQClipboard):
3715         (KWQClipboard::setDragImage):
3716         (KWQClipboard::dragImageElement):
3717         (KWQClipboard::setDragImageElement):
3718         (KWQClipboard::dragNSImage):
3719         * kwq/KWQKHTMLPart.mm:
3720         (KWQKHTMLPart::khtmlMouseMoveEvent):
3721         (KWQKHTMLPart::passSubframeEventToSubframe):
3722         (KWQKHTMLPart::sendContextMenuEvent):
3723
3724 2005-05-10  Darin Adler  <darin@apple.com>
3725
3726         Reviewed by David Harrison.
3727
3728         - first pass of moving code from C++ DOM wrappers into the DOM impl. classes
3729           (this step mostly adds member functions missing from the DOM impl.; later steps
3730            will change the C++, JavaScript, and ObjC wrappers to call these functions)
3731
3732         * khtml/css/parser.y:
3733         * khtml/css/css_ruleimpl.cpp:
3734         (CSSRuleListImpl::CSSRuleListImpl):
3735         * khtml/css/css_ruleimpl.h:
3736         (DOM::CSSRuleListImpl::CSSRuleListImpl):
3737         * khtml/html/html_baseimpl.cpp:
3738         (HTMLBodyElementImpl::aLink):
3739         (HTMLBodyElementImpl::setALink):
3740         (HTMLBodyElementImpl::background):
3741         (HTMLBodyElementImpl::setBackground):
3742         (HTMLBodyElementImpl::bgColor):
3743         (HTMLBodyElementImpl::setBgColor):
3744         (HTMLBodyElementImpl::link):
3745         (HTMLBodyElementImpl::setLink):
3746         (HTMLBodyElementImpl::text):
3747         (HTMLBodyElementImpl::setText):
3748         (HTMLBodyElementImpl::vLink):
3749         (HTMLBodyElementImpl::setVLink):
3750         (HTMLFrameElementImpl::HTMLFrameElementImpl):
3751         (HTMLFrameElementImpl::updateForNewURL):
3752         (HTMLFrameElementImpl::openURL):
3753         (HTMLFrameElementImpl::parseHTMLAttribute):
3754         (HTMLFrameElementImpl::rendererIsNeeded):
3755         (HTMLFrameElementImpl::attach):
3756         (HTMLFrameElementImpl::detach):
3757         (HTMLFrameElementImpl::setLocation):
3758         (HTMLFrameElementImpl::contentPart):
3759         (HTMLFrameElementImpl::frameBorder):
3760         (HTMLFrameElementImpl::setFrameBorder):
3761         (HTMLFrameElementImpl::longDesc):
3762         (HTMLFrameElementImpl::setLongDesc):
3763         (HTMLFrameElementImpl::marginHeight):
3764         (HTMLFrameElementImpl::setMarginHeight):
3765         (HTMLFrameElementImpl::marginWidth):
3766         (HTMLFrameElementImpl::setMarginWidth):
3767         (HTMLFrameElementImpl::name):
3768         (HTMLFrameElementImpl::setName):
3769         (HTMLFrameElementImpl::setNoResize):
3770         (HTMLFrameElementImpl::scrolling):
3771         (HTMLFrameElementImpl::setScrolling):
3772         (HTMLFrameElementImpl::src):
3773         (HTMLFrameElementImpl::setSrc):
3774         (HTMLFrameSetElementImpl::parseHTMLAttribute):
3775         (HTMLFrameSetElementImpl::cols):
3776         (HTMLFrameSetElementImpl::setCols):
3777         (HTMLFrameSetElementImpl::rows):
3778         (HTMLFrameSetElementImpl::setRows):
3779         (HTMLHeadElementImpl::profile):
3780         (HTMLHeadElementImpl::setProfile):
3781         (HTMLHtmlElementImpl::version):
3782         (HTMLHtmlElementImpl::setVersion):
3783         (HTMLIFrameElementImpl::HTMLIFrameElementImpl):
3784         (HTMLIFrameElementImpl::rendererIsNeeded):
3785         (HTMLIFrameElementImpl::attach):
3786         (HTMLIFrameElementImpl::isURLAttribute):
3787         (HTMLIFrameElementImpl::align):
3788         (HTMLIFrameElementImpl::setAlign):
3789         (HTMLIFrameElementImpl::height):
3790         (HTMLIFrameElementImpl::setHeight):
3791         (HTMLIFrameElementImpl::src):
3792         (HTMLIFrameElementImpl::width):
3793         (HTMLIFrameElementImpl::setWidth):
3794         * khtml/html/html_baseimpl.h:
3795         (DOM::HTMLFrameElementImpl::noResize):
3796         (DOM::HTMLFrameElementImpl::scrollingMode):
3797         (DOM::HTMLFrameElementImpl::getMarginWidth):
3798         (DOM::HTMLFrameElementImpl::getMarginHeight):
3799         * khtml/html/html_blockimpl.cpp:
3800         (HTMLBlockquoteElementImpl::cite):
3801         (HTMLBlockquoteElementImpl::setCite):
3802         (HTMLDivElementImpl::align):
3803         (HTMLDivElementImpl::setAlign):
3804         (HTMLHRElementImpl::align):
3805         (HTMLHRElementImpl::setAlign):
3806         (HTMLHRElementImpl::noShade):
3807         (HTMLHRElementImpl::setNoShade):
3808         (HTMLHRElementImpl::size):
3809         (HTMLHRElementImpl::setSize):
3810         (HTMLHRElementImpl::width):
3811         (HTMLHRElementImpl::setWidth):
3812         (HTMLHeadingElementImpl::align):
3813         (HTMLHeadingElementImpl::setAlign):
3814         (HTMLParagraphElementImpl::align):
3815         (HTMLParagraphElementImpl::setAlign):
3816         (HTMLPreElementImpl::width):
3817         (HTMLPreElementImpl::setWidth):
3818         * khtml/html/html_blockimpl.h:
3819         * khtml/html/html_imageimpl.cpp:
3820         (HTMLImageElementImpl::name):
3821         (HTMLImageElementImpl::setName):
3822         (HTMLImageElementImpl::align):
3823         (HTMLImageElementImpl::setAlign):
3824         (HTMLImageElementImpl::alt):
3825         (HTMLImageElementImpl::setAlt):
3826         (HTMLImageElementImpl::border):
3827         (HTMLImageElementImpl::setBorder):
3828         (HTMLImageElementImpl::setHeight):
3829         (HTMLImageElementImpl::hspace):
3830         (HTMLImageElementImpl::setHspace):
3831         (HTMLImageElementImpl::isMap):
3832         (HTMLImageElementImpl::setIsMap):
3833         (HTMLImageElementImpl::longDesc):
3834         (HTMLImageElementImpl::setLongDesc):
3835         (HTMLImageElementImpl::src):
3836         (HTMLImageElementImpl::setSrc):
3837         (HTMLImageElementImpl::useMap):
3838         (HTMLImageElementImpl::setUseMap):
3839         (HTMLImageElementImpl::vspace):
3840         (HTMLImageElementImpl::setVspace):
3841         (HTMLImageElementImpl::setWidth):
3842         (HTMLImageElementImpl::x):
3843         (HTMLImageElementImpl::y):
3844         (HTMLMapElementImpl::parseHTMLAttribute):
3845         (HTMLMapElementImpl::areas):
3846         (HTMLMapElementImpl::name):
3847         (HTMLMapElementImpl::setName):
3848         (HTMLAreaElementImpl::HTMLAreaElementImpl):
3849         (HTMLAreaElementImpl::parseHTMLAttribute):
3850         (HTMLAreaElementImpl::getRegion):
3851         (HTMLAreaElementImpl::accessKey):
3852         (HTMLAreaElementImpl::setAccessKey):
3853         (HTMLAreaElementImpl::alt):
3854         (HTMLAreaElementImpl::setAlt):
3855         (HTMLAreaElementImpl::coords):
3856         (HTMLAreaElementImpl::setCoords):
3857         (HTMLAreaElementImpl::href):
3858         (HTMLAreaElementImpl::setHref):
3859         (HTMLAreaElementImpl::noHref):
3860         (HTMLAreaElementImpl::setNoHref):
3861         (HTMLAreaElementImpl::shape):
3862         (HTMLAreaElementImpl::setShape):
3863         (HTMLAreaElementImpl::tabIndex):
3864         (HTMLAreaElementImpl::setTabIndex):
3865         (HTMLAreaElementImpl::target):
3866         (HTMLAreaElementImpl::setTarget):
3867         * khtml/html/html_imageimpl.h:
3868         (DOM::HTMLImageElementImpl::pixmap):
3869         (DOM::HTMLAreaElementImpl::isDefault):
3870         (DOM::HTMLMapElementImpl::getName):
3871         * khtml/html/html_inlineimpl.cpp:
3872         (DOM::HTMLAnchorElementImpl::accessKey):
3873         (DOM::HTMLAnchorElementImpl::setAccessKey):
3874         (DOM::HTMLAnchorElementImpl::charset):
3875         (DOM::HTMLAnchorElementImpl::setCharset):
3876         (DOM::HTMLAnchorElementImpl::coords):
3877         (DOM::HTMLAnchorElementImpl::setCoords):
3878         (DOM::HTMLAnchorElementImpl::href):
3879         (DOM::HTMLAnchorElementImpl::setHref):
3880         (DOM::HTMLAnchorElementImpl::hreflang):
3881         (DOM::HTMLAnchorElementImpl::setHreflang):
3882         (DOM::HTMLAnchorElementImpl::name):
3883         (DOM::HTMLAnchorElementImpl::setName):
3884         (DOM::HTMLAnchorElementImpl::rel):
3885         (DOM::HTMLAnchorElementImpl::setRel):
3886         (DOM::HTMLAnchorElementImpl::rev):
3887         (DOM::HTMLAnchorElementImpl::setRev):
3888         (DOM::HTMLAnchorElementImpl::shape):
3889         (DOM::HTMLAnchorElementImpl::setShape):
3890         (DOM::HTMLAnchorElementImpl::tabIndex):
3891         (DOM::HTMLAnchorElementImpl::setTabIndex):
3892         (DOM::HTMLAnchorElementImpl::target):
3893         (DOM::HTMLAnchorElementImpl::setTarget):
3894         (DOM::HTMLAnchorElementImpl::type):
3895         (DOM::HTMLAnchorElementImpl::setType):
3896         (DOM::HTMLAnchorElementImpl::blur):
3897         (DOM::HTMLAnchorElementImpl::focus):
3898         (DOM::HTMLBRElementImpl::clear):
3899         (DOM::HTMLBRElementImpl::setClear):
3900         (DOM::HTMLFontElementImpl::parseHTMLAttribute):
3901         (DOM::HTMLFontElementImpl::color):
3902         (DOM::HTMLFontElementImpl::setColor):
3903         (DOM::HTMLFontElementImpl::face):
3904         (DOM::HTMLFontElementImpl::setFace):
3905         (DOM::HTMLFontElementImpl::size):
3906         (DOM::HTMLFontElementImpl::setSize):
3907         (DOM::HTMLModElementImpl::HTMLModElementImpl):
3908         (DOM::HTMLModElementImpl::cite):
3909         (DOM::HTMLModElementImpl::setCite):
3910         (DOM::HTMLModElementImpl::dateTime):
3911         (DOM::HTMLModElementImpl::setDateTime):
3912         (DOM::HTMLQuoteElementImpl::HTMLQuoteElementImpl):
3913         (DOM::HTMLQuoteElementImpl::id):
3914         (DOM::HTMLQuoteElementImpl::cite):
3915         (DOM::HTMLQuoteElementImpl::setCite):
3916         * khtml/html/html_inlineimpl.h:
3917         * khtml/html/html_listimpl.cpp:
3918         (DOM::HTMLUListElementImpl::compact):
3919         (DOM::HTMLUListElementImpl::setCompact):
3920         (DOM::HTMLUListElementImpl::type):
3921         (DOM::HTMLUListElementImpl::setType):
3922         (DOM::HTMLDirectoryElementImpl::compact):
3923         (DOM::HTMLDirectoryElementImpl::setCompact):
3924         (DOM::HTMLMenuElementImpl::compact):
3925         (DOM::HTMLMenuElementImpl::setCompact):
3926         (DOM::HTMLOListElementImpl::compact):
3927         (DOM::HTMLOListElementImpl::setCompact):
3928         (DOM::HTMLOListElementImpl::setStart):
3929         (DOM::HTMLOListElementImpl::type):
3930         (DOM::HTMLOListElementImpl::setType):
3931         (DOM::HTMLLIElementImpl::type):
3932         (DOM::HTMLLIElementImpl::setType):
3933         (DOM::HTMLLIElementImpl::value):
3934         (DOM::HTMLLIElementImpl::setValue):
3935         (DOM::HTMLDListElementImpl::compact):
3936         (DOM::HTMLDListElementImpl::setCompact):
3937         * khtml/html/html_listimpl.h:
3938         (DOM::HTMLUListElementImpl::start):
3939         (DOM::HTMLDirectoryElementImpl::HTMLDirectoryElementImpl):
3940         (DOM::HTMLMenuElementImpl::HTMLMenuElementImpl):
3941         (DOM::HTMLOListElementImpl::HTMLOListElementImpl):
3942         (DOM::HTMLOListElementImpl::start):
3943         * khtml/html/html_objectimpl.cpp:
3944         (DOM::HTMLAppletElementImpl::align):
3945         (DOM::HTMLAppletElementImpl::setAlign):
3946         (DOM::HTMLAppletElementImpl::alt):
3947         (DOM::HTMLAppletElementImpl::setAlt):
3948         (DOM::HTMLAppletElementImpl::archive):
3949         (DOM::HTMLAppletElementImpl::setArchive):
3950         (DOM::HTMLAppletElementImpl::code):
3951         (DOM::HTMLAppletElementImpl::setCode):
3952         (DOM::HTMLAppletElementImpl::codeBase):
3953         (DOM::HTMLAppletElementImpl::setCodeBase):
3954         (DOM::HTMLAppletElementImpl::height):
3955         (DOM::HTMLAppletElementImpl::setHeight):
3956         (DOM::HTMLAppletElementImpl::hspace):
3957         (DOM::HTMLAppletElementImpl::setHspace):
3958         (DOM::HTMLAppletElementImpl::name):
3959         (DOM::HTMLAppletElementImpl::setName):
3960         (DOM::HTMLAppletElementImpl::object):
3961         (DOM::HTMLAppletElementImpl::setObject):
3962         (DOM::HTMLAppletElementImpl::vspace):
3963         (DOM::HTMLAppletElementImpl::setVspace):
3964         (DOM::HTMLAppletElementImpl::width):
3965         (DOM::HTMLAppletElementImpl::setWidth):
3966         (DOM::HTMLObjectElementImpl::code):
3967         (DOM::HTMLObjectElementImpl::setCode):
3968         (DOM::HTMLObjectElementImpl::align):
3969         (DOM::HTMLObjectElementImpl::setAlign):
3970         (DOM::HTMLObjectElementImpl::archive):
3971         (DOM::HTMLObjectElementImpl::setArchive):
3972         (DOM::HTMLObjectElementImpl::border):
3973         (DOM::HTMLObjectElementImpl::setBorder):
3974         (DOM::HTMLObjectElementImpl::codeBase):
3975         (DOM::HTMLObjectElementImpl::setCodeBase):
3976         (DOM::HTMLObjectElementImpl::codeType):
3977         (DOM::HTMLObjectElementImpl::setCodeType):
3978         (DOM::HTMLObjectElementImpl::data):
3979         (DOM::HTMLObjectElementImpl::setData):
3980         (DOM::HTMLObjectElementImpl::declare):
3981         (DOM::HTMLObjectElementImpl::setDeclare):
3982         (DOM::HTMLObjectElementImpl::height):
3983         (DOM::HTMLObjectElementImpl::setHeight):
3984         (DOM::HTMLObjectElementImpl::hspace):
3985         (DOM::HTMLObjectElementImpl::setHspace):
3986         (DOM::HTMLObjectElementImpl::name):
3987         (DOM::HTMLObjectElementImpl::setName):
3988         (DOM::HTMLObjectElementImpl::standby):
3989         (DOM::HTMLObjectElementImpl::setStandby):