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