1 2005-07-01 Geoffrey Garen <ggaren@apple.com>
3 -landed patch by Carsten Guenther <cguenther@gmail.com>
4 http://bugzilla.opendarwin.org/show_bug.cgi?id=3477
6 -corrects errors in date layout test
11 * layout-tests/fast/js/date-parse-test.html:
13 2005-07-01 Eric Seidel <eseidel@apple.com>
19 (QSize::operator CGSize): adding CGSize conversion support
21 2005-06-30 Bruce DiBello <bdibello@apple.com>
23 Reviewed by Geoff Garen.
25 Test cases added: getting and setting div.align
27 * layout-tests/fast/dom/HTMLDivElement/align/getset-expected.txt: Added.
28 * layout-tests/fast/dom/HTMLDivElement/align/getset.html: Added.
30 2005-06-29 Anders Carlsson <andersca@mac.com>
32 Reviewed and landed by Darin Adler.
34 - Fix <http://bugzilla.opendarwin.org/show_bug.cgi?id=3274>
35 document() not supported
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.
43 * khtml/xsl/xslt_processorimpl.cpp:
44 (DOM::parseErrorFunc):
45 Stub to prevent errors from getting written to the console.
47 (DOM::stylesheetLoadFunc):
48 Fetch and parse documents.
50 (DOM::XSLTProcessorImpl::transformDocument):
51 Use the processor as the global variable instead of the
54 * khtml/xsl/xslt_processorimpl.h:
55 (DOM::XSLTProcessorImpl::stylesheet):
56 (DOM::XSLTProcessorImpl::sourceDocument):
57 Add accessors for source document and stylesheet.
59 2005-06-29 Maciej Stachowiak <mjs@apple.com>
61 Unreviewed - fixing build breakage with gcc 4.
63 * khtml/misc/hashtable.h: Don't use a typedef when declaring a class friend.
65 2005-06-29 David Harrison <harrison@apple.com>
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
72 * khtml/editing/insert_text_command.cpp:
73 (khtml::InsertTextCommand::prepareForTextInsertion):
74 (khtml::InsertTextCommand::insertTab):
75 * khtml/editing/markup.cpp:
76 (khtml::createParagraphContentsFromString):
78 2005-06-29 David Harrison <harrison@apple.com>
80 Reviewed by Dave Hyatt (rendering) and Maciej (editing).
82 Test cases added: Coming soon. Will include with next round of changes for this bug.
84 This is the first checkin for...
86 <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
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.
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.
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:
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):
144 (Font::floatCharacterWidths):
145 (Font::checkSelectionPoint):
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):
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):
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:
224 2005-06-29 Geoffrey Garen <ggaren@apple.com>
226 Contributed by Francisco Tolmasky <tolmasky@gmail.com>
228 -test cases for fix to http://bugzilla.opendarwin.org/show_bug.cgi?id=3667
229 Core JavaScript 1.5 Reference:Objects:Array:forEach
231 See JavaScriptCore Changelog for details on the patch.
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.
243 2005-06-29 Bruce DiBello <bdibello@apple.com>
245 Reviewed by Geoff Garen
247 Test cases added: added expected results for previous check in
249 * layout-tests/fast/dom/HTMLDocument/url/getset-expected.txt: Added.
251 2005-06-29 Geoffrey Garen <ggaren@apple.com>
253 DOM compatibility tests for HTMLDocument::writeln
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.
264 2005-06-29 Bruce DiBello <bdibello@apple.com>
266 Reviewed by Geoff Garen.
268 Test cases added: added DOM test for document.URL
270 * layout-tests/fast/dom/HTMLDocument/url/getset.html: Added.
272 2005-06-29 Geoffrey Garen <ggaren@apple.com>
274 DOM compatibility tests for HTMLDocument::write
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.
284 2005-06-29 Geoffrey Garen <ggaren@apple.com>
286 DOM compatibility tests for HTMLDocument::title
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.
296 2005-06-28 Maciej Stachowiak <mjs@apple.com>
300 Added iterator support to new hashtable class, the HashSet API is
301 now essentially complete.
303 Added support for consistency check mode.
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
323 (khtml::HashTable::contains): Added (implemented in terms of find)
324 (khtml::HashTable::remove): Implemented key remove in terms of find and
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
344 2005-06-29 Geoffrey Garen <ggaren@apple.com>
346 -added test case for fix to http://bugzilla.opendarwin.org/show_bug.cgi?id=3743
347 Incorrect error message given for certain calls
349 See JavaScriptCore Changelog for details about the patch.
354 * layout-tests/fast/js/toString-stack-overflow-expected.txt: Added.
355 * layout-tests/fast/js/toString-stack-overflow.html: Added.
357 2005-06-29 Justin Garcia <justin.garcia@apple.com>
359 - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3714>
360 HTMLLabelElement's form property isn't implemented
362 Patch by Anders Carlsson <andersca@mac.com>
367 * layout-tests/fast/dom/HTMLLabelElement/properties/form-expected.txt: Added.
368 * layout-tests/fast/dom/HTMLLabelElement/properties/form.html: Added.
370 * khtml/html/html_formimpl.cpp:
371 (DOM::HTMLLabelElementImpl::form):
372 Traverse upwards looking for a form element.
374 2005-06-29 Geoffrey Garen <ggaren@apple.com>
376 Patch by Joost de Valk <webkit@joostdevalk.nl>
378 - http://bugzilla.opendarwin.org/show_bug.cgi?id=3732
379 Testcase for accesskeys that will run with run-webkit-tests.
384 * layout-tests/fast/forms/access-key-expected.txt: Added.
385 * layout-tests/fast/forms/access-key.html: Added.
387 2005-06-29 Justin Garcia <justin.garcia@apple.com>
389 Patch by Anders Carlsson <andersca@mac.com>
391 - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3715>
392 An HTMLObjectElement's form property was always null.
397 * layout-tests/fast/dom/htmlobject-form-expected.txt: Added.
398 * layout-tests/fast/dom/htmlobject-form.html: Added.
400 * khtml/html/html_objectimpl.cpp:
401 (DOM::HTMLObjectElementImpl::form):
402 Implement this function by traversing the parent nodes looking
405 2005-06-29 Geoffrey Garen <ggaren@apple.com>
407 Patch by Antoine Quint <ml@graougraou.com>
409 -fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=3648
410 quadraticCurveTo() method in <canvas> APIs JS bindings does not exist
415 * layout-tests/fast/dom/quadraticCurveTo-expected.txt: Added.
416 * layout-tests/fast/dom/quadraticCurveTo.xml: Added.
418 * khtml/ecma/kjs_html.cpp:
420 2005-06-29 Geoffrey Garen <ggaren@apple.com>
422 Patch by Hanspeter Schaub <Hanspeterschaub@mac.com>
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
431 * layout-tests/fast/css/list-outline-expected.txt: Added.
432 * layout-tests/fast/css/list-outline.html: Added.
434 * khtml/rendering/render_line.cpp:
435 (khtml::InlineFlowBox::paint):
437 2005-06-28 Vicki Murley <vicki@apple.com>
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.
445 * khtml/khtml_part.cpp:
446 (KHTMLPart::changeLocation): remove code that sets the reload flag
448 2005-06-28 Justin Garcia <justin.garcia@apple.com>
450 Patch by Kevin Ballard <kevin@sb.org>
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.
459 * layout-tests/fast/forms/cursor-position-expected.txt: Added.
460 * layout-tests/fast/forms/cursor-position.html: Added.
462 * kwq/KWQTextArea.mm:
463 (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]):
465 (-[KWQTextArea setCursorPositionToIndex:inParagraph:]):
467 2005-06-28 Justin Garcia <justin.garcia@apple.com>
469 Patch by Alexey Proskuryakov <ap@nypop.com>
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.
477 Test cases added: None required
479 * khtml/misc/decoder.cpp:
480 (Decoder::setEncoding):
482 2005-06-28 David Harrison <harrison@apple.com>
484 Reviewed by Chris Blumenberg.
486 Test cases added: (NONE)
488 (continued) <rdar://problem/4140688> assertion failure double-clicking text to select
489 Fixed my checkin from yesterday.
491 * khtml/rendering/render_text.cpp:
492 (InlineTextBox::paintMarkedTextBackground):
493 (InlineTextBox::positionForOffset):
494 Changed tabs to spaces.
496 (RenderText::positionForCoordinates):
497 Make sure affinity is downstream when in mid-line.
498 Changed tabs to spaces.
500 (RenderText::caretRect):
501 (RenderText::cacheWidths):
502 (RenderText::trimmedMinMaxWidth):
503 (RenderText::minXPos):
505 (RenderText::caretMaxOffset):
506 Changed tabs to spaces.
508 * layout-tests/editing/style/create-block-for-style-004-expected.txt:
509 Expected ending selection affinity is downstream.
511 2005-06-27 Maciej Stachowiak <mjs@apple.com>
513 Remove accidentally committed code that breaks the build. Oops!
515 * khtml/xml/dom_atomicstring.cpp:
516 (DOM::AtomicString::expand):
517 (DOM::AtomicString::shrink):
519 2005-06-26 Maciej Stachowiak <mjs@apple.com>
523 - replaced all our hash functions with the state of the art in hashing
524 - ~1% speedup on cvs-base
526 No test cases added, perf effects only.
528 * khtml/xml/dom_atomicstring.cpp:
529 (DOM::AtomicStringStatisticsExitLogger::~AtomicStringStatisticsExitLogger):
530 Improved stats gathering to track collisions in more detail and count reinserts
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.
545 2005-06-27 David Harrison <harrison@apple.com>
549 Test cases added: None because this relies on mouse clicking.
551 <rdar://problem/4140688> assertion failure double-clicking text to select
553 * khtml/rendering/render_text.cpp:
554 (RenderText::positionForCoordinates):
555 Use setAffinityUsingLinePosition.
557 2005-06-25 Darin Adler <darin@apple.com>
559 - updated a layout test so that it doesn't depend on a remote resource via http
561 * layout-tests/fast/backgrounds/001.html: Change image URL to be relative.
562 * layout-tests/fast/backgrounds/resources/bg_position_larger.gif: Added.
564 2005-06-24 Darin Adler <darin@apple.com>
566 Changes by Mitz Pettel.
570 * layout-tests/fast/text/international/bidi-explicit-embedding-expected.txt: Added.
571 * layout-tests/fast/text/international/bidi-explicit-embedding.html: Added.
573 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3599>
574 Incorrect layout of explicit embedding levels
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).
581 2005-06-24 Darin Adler <darin@apple.com>
583 Changes by Mitz Pettel.
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.
590 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3693>
591 Bug_72578 in KHTML: bidi algorithm misbehaves with CS after AN
593 * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Rolled in the
594 patch from the KDE tree.
596 2005-06-24 Justin Garcia <justin.garcia@apple.com>
598 - <http://bugzilla.opendarwin.org/show_bug.cgi?id=3673>
599 Adds QBuffer::setBuffer(QByteArray) support to KWQBuffer, and adds a QBuffer(QByteArray) constructor.
603 Test cases added: Non required
608 (QBuffer::setBuffer):
610 2005-06-24 Justin Garcia <justin.garcia@apple.com>
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
617 Test cases added: None required
626 (QRect::operator CGRect):
631 2005-06-24 Darin Adler <darin@apple.com>
633 Reviewed by Justin Garcia.
635 - fixed <rdar://problem/4151619> Safari changes "\" characters to "/" in the query part of links that start with "?"
638 * layout-tests/fast/dom/anchor-backslash-expected.txt: Added.
639 * layout-tests/fast/dom/anchor-backslash.html: Added.
641 * kwq/KWQKURL.mm: (substituteBackslashes): Fix error where we'd ignore
642 "?" and "#" characters if they were the first character in the string.
644 2005-06-23 Darin Adler <darin@apple.com>
646 * khtml/html/html_formimpl.cpp: (DOM::HTMLTextAreaElementImpl::setValue):
647 Took out an unneeded type cast (meant to do that before committing).
649 2005-06-23 Kevin Ballard <kevin@sb.org>
651 Reviewed and landed by Darin Adler.
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.
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.
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:
701 * kwq/KWQLineEdit.mm:
702 (QLineEdit::setCursorPosition):
703 (QLineEdit::cursorPosition):
704 (QLineEdit::selectAll):
705 (QLineEdit::selectionStart):
706 (QLineEdit::selectedText):
707 (QLineEdit::setSelection):
709 * kwq/KWQTextArea.mm:
710 (-[KWQTextArea setSelectedRange:]):
711 (-[KWQTextArea selectedRange]):
712 (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]):
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:]):
728 2005-06-23 Justin Garcia <justin.garcia@apple.com>
730 Patch by Eric Seidel <macdome@opendarwin.org>
732 Adds QTextIStream, QTextOStream to KWQ
736 Test cases added: None required
738 * kwq/KWQTextStream.h:
739 (QTextIStream::QTextIStream):
740 (QTextOStream::QTextOStream):
742 2005-06-23 Justin Garcia <justin.garcia@apple.com>
744 Patch by Eric Seidel <macdome@opendarwin.org>
746 This patch contains several small additions to KWQ
750 Test cases added: None required
752 * kwq/KWQApplication.h:
753 (QApplication::palette):
758 (QDictIterator::operator*):
760 (kdbgstream::operator<<):
762 (QMemArray::duplicate):
764 2005-06-23 David Harrison <harrison@apple.com>
766 Test cases added: None needed for this debug-only utility code.
768 - Make showTree() const.
769 - Add showTree() for InlineBox.
770 - Add showTree() for RenderObject.
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.
780 * khtml/rendering/render_line.cpp:
781 (khtml::InlineBox::showTree):
782 * khtml/rendering/render_line.h:
783 Add showTree() for InlineBox.
785 * khtml/rendering/render_object.cpp:
786 (RenderObject::showTree):
787 * khtml/rendering/render_object.h:
788 Add showTree() for RenderObject.
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.
798 2005-06-23 Vicki Murley <vicki@apple.com>
800 - added template to be used when writing manual tests
802 * manual-tests/template.html: Added.
804 2005-06-22 Darin Adler <darin@apple.com>
806 - added forwarding headers as needed for Eric Seidel's KDOM work
807 see <http://bugzilla.opendarwin.org/show_bug.cgi?id=3655>
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.
815 2005-06-22 Darin Adler <darin@apple.com>
820 * layout-tests/fast/css/apple-prefix-expected.txt: Added.
821 * layout-tests/fast/css/apple-prefix.html: Added.
823 - fixed <rdar://problem/4141650> REGRESSION: Safari RSS slider broken with TOT WebCore
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.
834 2005-06-22 Anders Carlsson <andersca@mac.com>
836 Reviewed and landed by Darin Adler.
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
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
849 * khtml/dom/html_head.cpp:
850 (HTMLTitleElement::text):
851 (HTMLTitleElement::setText):
852 Call HTMLTitleElementImpl::text() and ::setText().
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
862 (HTMLTitleElementImpl::text):
865 (HTMLTitleElementImpl::setText):
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.
878 2005-06-22 Darin Adler <darin@apple.com>
880 Changes by Mitz Pettel.
883 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3633>
884 Layout order of bidi level runs is incorrect
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.
890 * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Fixed mistake
891 where we'd advance too far after reversing a run.
893 2005-06-22 Darin Adler <darin@apple.com>
895 - added test case for JavaScriptCore fix
897 * layout-tests/fast/js/string-replace-2-expected.txt: Added.
898 * layout-tests/fast/js/string-replace-2.html: Added.
900 2005-06-22 Darin Adler <darin@apple.com>
902 Reviewed by John Sullivan.
905 * layout-tests/fast/dom/css-set-property-exception-expected.txt: Added.
906 * layout-tests/fast/dom/css-set-property-exception.html: Added.
908 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3616>
909 RSS search field, Dashboard widgets failing due to CSS exception
911 * khtml/ecma/kjs_css.cpp: (KJS::DOMCSSStyleDeclaration::tryPut):
912 Ignore exceptions when setting properties.
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).
918 2005-06-22 Darin Adler <darin@apple.com>
920 Change proposed by Eric Seidel.
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 ${}).
926 2005-06-21 Maciej Stachowiak <mjs@apple.com>
928 Patch from KevinBallard <kevin@sb.org>, reviewed by me.
930 - fix build for Xcode 2.1, use ${} for INPUT_FILE_BASE to fix build with Xcode 2.1
932 * WebCore.pbproj/project.pbxproj:
934 2005-06-21 Justin Garcia <justin.garcia@apple.com>
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.
942 In replacement, during insertion, some special case code was being called inappropriately.
946 Test cases added: None, requires manual interaction
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.
955 2005-06-21 Darin Adler <darin@apple.com>
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
961 * khtml/css/parser_wrapper.cpp: Removed.
963 2005-06-21 Adele Peterson <adele@apple.com>
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}
969 * layout-tests/fast/js/string_replace-expected.txt: Added.
970 * layout-tests/fast/js/string_replace.html: Added.
972 2005-06-21 Geoffrey Garen <ggaren@apple.com>
974 Patch contributed by Niels Leenheer <niels.leenheer@gmail.com>
976 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3370
977 (Safari can't handle strange frame dimensions)
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:
990 (DOM::DOMStringImpl::toCoordsArray):
991 (DOM::DOMStringImpl::toLengthArray):
992 * khtml/xml/dom_stringimpl.h:
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.
1000 2005-06-21 Geoffrey Garen <ggaren@apple.com>
1002 - fixed <rdar://problem/4155049> javascript function named as "opener" doesn't get called because of window.opener property
1004 Test cases only, fix is in JavaScriptCore
1010 * layout-tests/fast/js/global-opener-function-expected.txt: Added.
1011 * layout-tests/fast/js/global-opener-function.html: Added.
1013 2005-06-21 David Harrison <harrison@apple.com>
1017 - show class and style attributes for element nodes
1018 - nil check the node being showTree'd
1019 - add Position::showTree()
1021 Test cases added: None needed for this debug-only utility code.
1023 * khtml/editing/selection.cpp:
1024 (khtml::Selection::showTree):
1025 - nil check the node
1026 * khtml/editing/visible_position.cpp:
1027 (khtml::VisiblePosition::previousVisiblePosition):
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()
1040 2005-06-20 Maciej Stachowiak <mjs@apple.com>
1042 Reviewed by Darin(first pass) and Hyatt.
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
1051 Test cases only, fix is in JavaScriptCore
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.
1059 2005-06-20 Maciej Stachowiak <mjs@apple.com>
1061 Patch from Mark Rowe <opendarwin.org@bdash.net.nz>, reviewed by me.
1063 - fixed http://bugzilla.opendarwin.org/attachment.cgi?id=2483
1066 * layout-tests/fast/js/hasOwnProperty-expected.txt: Added.
1067 * layout-tests/fast/js/hasOwnProperty.html: Added.
1068 - also fixed two mozilla JS tests
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:
1088 2005-06-20 Geoffrey Garen <ggaren@apple.com>
1090 Changes by Darin. Layout tests by me. Reviewed by me.
1092 Fixed <rdar://problem/4152454> crash in KJS::ExprStatementNode::execute(KJS::ExecState*) in World Clock widget with TOT.
1095 * layout-tests/fast/dom/gc-4-expected.txt: Added.
1096 * layout-tests/fast/dom/gc-4.html: Added.
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).
1102 2005-06-19 Darin Adler <darin@apple.com>
1104 Changes by both Anders Carlsson and me.
1105 Reviewed by Maciej and me.
1108 * layout-tests/fast/forms/element-order-expected.txt: Added.
1109 * layout-tests/fast/forms/element-order.html: Added.
1111 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3503>
1112 form.elements[] not order-preserving when elements added via DOM
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.
1122 2005-06-19 Darin Adler <darin@apple.com>
1124 Changes by Anders Carlsson and me.
1125 Reviewed by Maciej and me.
1127 Test cases added: None. Could not figure out how to automate a test without
1128 making enhancements to DumpRenderTree.
1130 - fixed <rdar://problem/4141141> Onselect event is ignored with TEXTAREA and INPUT
1131 also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3256>
1133 * khtml/html/html_formimpl.cpp: (DOM::HTMLTextAreaElementImpl::select):
1134 Remove unneeded explicit call to onSelect() here -- now handled by the renderer.
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.
1145 * kwq/KWQLineEdit.h: Added declarations as needed below.
1146 * kwq/KWQLineEdit.mm:
1147 (QLineEdit::QLineEdit): Added selectionChanged signal.
1148 (QLineEdit::hasSelectedText): Added.
1151 (KWQSlot::KWQSlot): Make selectionChanged work on any form element.
1152 (KWQSlot::call): ditto.
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.
1164 * kwq/KWQTextEdit.h: Added declarations as needed below.
1165 * kwq/KWQTextEdit.mm:
1166 (QTextEdit::QTextEdit): Added selectionChanged signal.
1167 (QTextEdit::hasSelectedText): Added.
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
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
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.
1195 2005-06-18 Darin Adler <darin@apple.com>
1197 Changes by Anders Carlsson.
1201 * layout-tests/fast/dom/css-dom-read-expected.txt: Added.
1202 * layout-tests/fast/dom/css-dom-read.html: Added.
1204 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3534>
1205 CSSMutableStyleDeclarationImpl::item is unimplemented
1207 * khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::item):
1208 Get the style from the m_values list.
1210 2005-06-18 Darin Adler <darin@apple.com>
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)
1215 * khtml/html/html_formimpl.cpp:
1216 (DOM::HTMLLabelElementImpl::formElement): Don't include this when iterating.
1217 (DOM::HTMLLegendElementImpl::formElement): Ditto.
1219 2005-06-18 Darin Adler <darin@apple.com>
1221 - removing the applet tests, since they are causing other tests to fail
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.
1230 2005-06-18 Darin Adler <darin@apple.com>
1232 Changes by Anders Carlsson.
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.
1242 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3526>
1243 improve support for dynamically added <script> elements
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.
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.
1266 2005-06-18 Darin Adler <darin@apple.com>
1268 * khtml/html/html_formimpl.cpp: (DOM::HTMLLabelElementImpl::formElement):
1269 Oops, checked in a version that didn't even compile! Fixed now.
1271 2005-06-18 Darin Adler <darin@apple.com>
1273 Changes by Anders Carlsson.
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.
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
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.)
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.
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.
1302 2005-06-18 Darin Adler <darin@apple.com>
1304 Change by Niels Leenheer (also done by Dave Hyatt on stage at WWDC).
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.
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.
1316 2005-06-18 Darin Adler <darin@apple.com>
1318 Change by Niels Leenheer (also done by Dave Hyatt on stage at WWDC).
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.
1329 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3246>
1330 HSPACE and VSPACE attributes are ignored in APPLET element
1332 * khtml/html/html_objectimpl.cpp:
1333 (DOM::HTMLAppletElementImpl::mapToEntry): Add cases for ATTR_VSPACE and ATTR_HSPACE.
1334 (DOM::HTMLAppletElementImpl::parseMappedAttribute): Ditto.
1336 2005-06-18 Darin Adler <darin@apple.com>
1338 - removed some unused code from one of the KWQ headers
1340 * kwq/KWQKHTMLPartBrowserExtension.h:
1342 - added a layout test for a bug that's already fixed
1344 * layout-tests/fast/forms/element-by-name-expected.txt: Added.
1345 * layout-tests/fast/forms/element-by-name.html: Added.
1347 2005-06-17 Vicki Murley <vicki@apple.com>
1351 Test cases added: None, since this test requires manual interaction.
1353 - fixed <rdar://problem/4086793> Selects wrapped by Span or Label elements
1354 do not resize when options are added via javascript
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.
1362 2005-06-17 Justin Garcia <justin.garcia@apple.com>
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).
1369 Reviewed by hyatt and john
1372 * layout-tests/fast/table/cellindex.html: Added. Illustrates the fix.
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:
1378 2005-06-17 Adele Peterson <adele@apple.com>
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
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.
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.
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.
1400 2005-06-17 Justin Garcia <justin.garcia@apple.com>
1402 Fixed fprintf problem in gcc4.0
1406 Test cases added: See previous ChangeLog entry
1408 * khtml/xml/dom_nodeimpl.cpp:
1409 (NodeImpl::showTreeAndMark): Fixed fprintf warning in gcc4
1411 2005-06-17 Geoffrey Garen <ggaren@apple.com>
1413 Patch contributed by Anders Carlsson<andersca@mac.com>.
1415 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=3408
1419 Test cases added: None. Test requires manual interaction.
1420 Manual test available at: http://bugzilla.opendarwin.org/attachment.cgi?id=2207
1422 * khtml/html/html_formimpl.cpp: Eliminated HTMLButtonElementImpl::click. HTMLButtonElementImpl now inherits HTMLElementImpl::click.
1423 * khtml/html/html_formimpl.h: Ditto.
1425 2005-06-17 Darin Adler <darin@apple.com>
1429 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3556
1430 black diamond question mark shown for invalid UTF-8 sequences
1433 * layout-tests/fast/encoding/invalid-UTF-8-expected.txt: Added.
1434 * layout-tests/fast/encoding/invalid-UTF-8.html: Added.
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.
1442 2005-06-16 Justin Garcia <justin.garcia@apple.com>
1444 Added a few debugging methods to highlight Selections, VisiblePositions and Nodes in the DOM tree.
1446 Reviewed by Dave Harrison
1448 Test cases added: None, changes are only to aid debugging
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:
1462 2005-06-14 David Hyatt <hyatt@apple.com>
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.
1469 Test cases added: (None, does not affect build yet)
1471 * WebCore.pbproj/project.pbxproj:
1472 * khtml/xml/dom_qname.h,.cpp
1473 * khtml/html/htmlnames.h,.cpp
1475 2005-06-14 David Hyatt <hyatt@apple.com>
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
1482 Reviewed by sullivan
1484 Test cases added: fast/text/whitespace/030.html
1486 * khtml/html/htmltokenizer.cpp:
1487 (khtml::HTMLTokenizer::parseTag):
1488 (khtml::HTMLTokenizer::write):
1490 2005-06-13 Vicki Murley <vicki@apple.com>
1494 No test cases added since the steps to reproduce require use of showModalDialog.
1496 - fix for <rdar://problem/4145910> parameters not working in showModalDialog
1497 test page (dialogWidth, dialogHeight, etc.)
1499 * khtml/ecma/kjs_window.cpp:
1500 (KJS::parseFeatures): add a check for colon character in the feature string
1502 2005-06-13 Maciej Stachowiak <mjs@apple.com>
1504 Reviewed by Chris Blumenberg and Adele.
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
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.
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).
1521 2005-06-13 Maciej Stachowiak <mjs@apple.com>
1523 Patch from Andrew Wellington <proton@wiretapped.net>
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)
1529 No test cases addded since the repro steps require use of tabbed browsing.
1531 * khtml/khtml_part.cpp:
1532 (KHTMLPart::handleFallbackContent): check for nil
1534 2005-06-12 Darin Adler <darin@apple.com>
1536 - added expected test results for new tests
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.
1542 2005-06-11 Maciej Stachowiak <mjs@apple.com>
1544 Patch from Nicholas Shanks <contact@nickshanks.com>, reviewed by me.
1546 - Distinguish between pseudo-elements and pseudo-classes in CSS parsing.
1547 http://bugzilla.opendarwin.org/show_bug.cgi?id=3375
1549 Merge of svn log -v -r 399829 svn://anonsvn.kde.org/home/kde
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).
1555 * layout-tests/fast/selectors/159.html: Added.
1556 * layout-tests/fast/selectors/177a.html: Added.
1557 * layout-tests/fast/selectors/177b.html: Added.
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:
1571 2005-06-11 Maciej Stachowiak <mjs@apple.com>
1573 Patch from Timothy Hatcher <timothy@colloquy.info>, reviewed by me.
1576 * layout-tests/fast/dom/children-nodes-expected.txt: Added.
1577 * layout-tests/fast/dom/children-nodes.html: Added.
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.
1584 2005-06-11 Maciej Stachowiak <mjs@apple.com>
1586 Added missing expected results from the background image patch.
1588 * layout-tests/fast/backgrounds/001-expected.txt: Added.
1590 2005-06-10 David Hyatt <hyatt@apple.com>
1592 Fix for bugzilla bug 3335, add support for the CSS3 indirect adjacent sibling selector. Patch merge
1593 from KHTML tree by Nick Shanks.
1597 Test cases added: fast/selectors/046.html
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.
1609 2005-06-10 David Hyatt <hyatt@apple.com>
1611 Fix for 3237, background image repeats when it shouldn't. The Radar bug is 4005553. Patch from
1614 Reviewed by darin and hyatt
1616 Test cases added: fast/backgrounds/001.html
1618 * khtml/rendering/render_box.cpp:
1619 (RenderBox::paintBackgroundExtended):
1620 * layout-tests/fast/backgrounds/001.html: Added.
1622 2005-06-10 David Hyatt <hyatt@apple.com>
1624 Merge Allan Jensen's fix for 3236.
1628 Test cases added: None, test case already added for the bug.
1630 * khtml/css/cssstyleselector.cpp:
1631 (khtml::CSSStyleSelector::applyProperty):
1632 * khtml/rendering/render_style.cpp:
1633 (RenderStyle::setContent):
1635 2005-06-10 Darin Adler <darin@apple.com>
1637 Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
1638 Refined and reviewed by me.
1640 - test for exception file/line number fix
1641 http://bugzilla.opendarwin.org/show_bug.cgi?id=3327
1643 * layout-tests/fast/js/exception-linenums-expected.txt: Added.
1644 * layout-tests/fast/js/exception-linenums.html: Added.
1646 2005-06-09 David Hyatt <hyatt@apple.com>
1648 Fix from Carston Guenther for bugzilla bug 3236.
1650 attr(x) should work even if x is not present on the element.
1652 This is Radar bug #3584466
1656 Test cases added: fast/css-generated-content/013.html
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.
1663 2005-06-09 Darin Adler <darin@apple.com>
1665 Tested by Mark Rowe.
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.
1670 2005-06-08 Anders Carlsson <andersca@mac.com>
1672 Reviewed and committed by Maciej.
1674 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3337
1675 (Support the Mozilla DOMParser and XMLSerializer objects)
1677 <rdar://problem/3533735> implement Mozilla "DOMParser" extension for use with XMLHTTPRequest
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.
1685 * khtml/ecma/domparser.h:
1686 * khtml/ecma/domparser.cpp:
1687 Add files implementing the DOMParser object.
1689 * khtml/ecma/kjs_window.h:
1690 * khtml/ecma/kjs_window.cpp:
1691 Expose DOMParser object.
1693 2005-06-07 David Hyatt <hyatt@apple.com>
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.
1700 Test cases added: (Not testable with a layout test)
1703 (QSlider::setMinValue):
1704 (QSlider::setMaxValue):
1706 2005-06-07 Adele Peterson <adele@apple.com>
1708 Change by Darin, reviewed by Maciej and me.
1710 - fixed <rdar://problem/4139800> REGRESSION: Safari crashes at bebe.com
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.
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.
1728 2005-06-07 Darin Adler <darin@apple.com>
1730 Change by Toby Peterson <toby@opendarwin.org>.
1733 * WebCore.pbproj/project.pbxproj: Allow bison 2.0, which generates the file
1734 with a different name.
1736 2005-06-07 Darin Adler <darin@apple.com>
1738 Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
1741 - fixed the WebCore half of build failure with spaces in the path
1742 http://bugzilla.opendarwin.org/show_bug.cgi?id=3291
1744 * WebCore.pbproj/project.pbxproj: Add quotes to make LIBRARY_SEARCH_PATHS work even when
1745 the path has a space in it.
1747 2005-06-07 David Hyatt <hyatt@apple.com>
1749 Patch from Mark Rowe to fix a minor memory leak in WebCoreSettings.
1753 * kwq/WebCoreSettings.mm:
1754 (-[WebCoreSettings dealloc]):
1756 2005-06-04 Darin Adler <darin@apple.com>
1760 - import icu headers into project
1762 * WebCore.pbproj/project.pbxproj: Added icu directory to header search path.
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.
1785 2005-06-01 Darin Adler <darin@apple.com>
1787 Reviewed by John Sullivan.
1788 No layout tests added because showModalDialog won't work in DumpRenderTree at the moment.
1790 - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog
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.
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.
1809 * khtml/khtml_part.h: Added new changeLocation member function. Made setOpener, openedByJS, and
1810 setOpenedByJS public.
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.
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.
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.
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.
1838 * kwq/KWQKPartsBrowserExtension.h:
1839 (KParts::URLArgs::URLArgs): Initialize m_lockHistory to false.
1840 (KParts::WindowArgs::WindowArgs): Add a dialog boolean.
1842 * kwq/WebCoreBridge.h: Declared canRunModal, canRunModalNow, createModalDialogWithURL, and runModal methods.
1844 2005-06-01 Adele Peterson <adele@apple.com>
1846 fix for <rdar://problem/4135705> REGRESSION (412-TOT) crash in TV Tracker widget - KJS::XMLHttpRequest::removeFromRequestsByDocument()
1850 Synchronous loads don't get added to our requestsByDocument dictionary, so we should try to remove the request in this case.
1852 * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::removeFromRequestsByDocument): added checks to make sure request exists before trying to remove it.
1854 2005-05-30 Darin Adler <darin@apple.com>
1856 Reviewed by John (fix for Radar bug) and Vicki (all the rest).
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
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.
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.
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.
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.
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.
1889 2005-05-30 Darin Adler <darin@apple.com>
1892 No test case added because our layout test system doesn't allow us to do inline input.
1894 - fixed <rdar://problem/4094066> REGRESSION (1.2.5-1.3): unconfirmed inline input is ignored in <textarea>, lost when form is submitted
1896 * kwq/KWQTextArea.mm: (-[KWQTextArea _createTextView]): Call setWantsNotificationForMarkedText:YES.
1898 2005-05-30 Maciej Stachowiak <mjs@apple.com>
1902 - fixed <rdar://problem/4125222> Dashboard heap size grows over time (leak caused by JavaScript DOM node wrappers?)
1904 - changed per-document DOMObject caching to work with DOMNodes, since that is all it was used for anyway.
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).
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.
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.
1941 2005-05-30 Darin Adler <darin@apple.com>
1944 Could not figure out how to make an <object> fallback, so for now, no layout test.
1946 - fixed <rdar://problem/4134124> REGRESSION (tip of tree): crash in QWidget::getView handling onunload event (yahoo.com)
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.
1951 2005-05-27 Adele Peterson <adele@apple.com>
1953 Change by Darin, reviewed by me.
1955 fix for <rdar://problem/4067761> 8A425: reload stock widget over and over and crash in XMLHttpRequest::changeState
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
1968 2005-05-27 Adele Peterson <adele@apple.com>
1970 Reviewed by me, done by Darin.
1972 - Darin fixed a regression I found from Darin's recent DOM change that broke GMail
1974 * khtml/ecma/kjs_window.cpp:
1975 (KJS::Window::get): Added nil check for document.
1976 (KJS::Window::hasProperty): Ditto.
1978 Test cases added: None (Darin should write one).
1980 2005-05-27 Adele Peterson <adele@apple.com>
1984 fix for <rdar://problem/4121747> Cannot log into Cingular.com account page (load event delivered while still processing incoming data)
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.
1994 * layout-tests/fast/loader/loadInProgress.html: Added
1995 * layout-tests/fast/loader/loadInProgress-expected.html: Added
1997 2005-05-27 Darin Adler <darin@apple.com>
2001 - fixed <rdar://problem/4125212> form submission delayed until you are on the next page on XML/XSL page (security hole)
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.
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.
2013 2005-05-27 John Sullivan <sullivan@apple.com>
2017 * WebCore-tests.exp:
2018 took out symbol __ZNK5QChar7isPunctEv; it was obsolete and causing build trouble
2020 2005-05-27 Darin Adler <darin@apple.com>
2024 - remove HAVE_ICU_LIBRARY ifdefs
2026 * khtml/rendering/render_text.cpp: Just use ICU all the time; no ifdef.
2027 * kwq/KWQKURL.mm: Ditto.
2029 2005-05-26 Darin Adler <darin@apple.com>
2031 Reviewed by me, patch by Mitz Pettel.
2033 - fixed <rdar://problem/4106907> bidi algorithm bug fixed for KHTML should be fixed in WebCore too
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>.
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.
2042 2005-05-26 Darin Adler <darin@apple.com>
2044 Reviewed by Richard and Dave Harrison.
2045 No new test cases needed for this change.
2047 - eliminate WebCoreUnicode and use ICU directly instead
2048 - fixed compiling with gcc 4.0 (was broken for Development only)
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.
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.
2070 * kwq/KWQChar.mm: Removed.
2071 * kwq/WebCoreUnicode.cpp: Removed.
2072 * kwq/WebCoreUnicode.h: Removed.
2074 * WebCore.pbproj/project.pbxproj: Removed files.
2076 2005-05-26 David Harrison <harrison@apple.com>
2080 <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
2082 * kwq/WebCoreBridge.mm:
2083 (-[WebCoreBridge rangeOfCharactersAroundCaret]):
2084 Nil-check result of VisiblePosition previous() and next().
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().
2092 * khtml/editing/visible_units.cpp:
2093 (khtml::startOfEditableContent):
2094 (khtml::endOfEditableContent):
2095 Removed redundant check for isEditableContent().
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.
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.
2112 2005-05-24 Richard Williamson <rjw@apple.com>
2114 Fixed <rdar://problem/4127061> <canvas> backing store should be zero filled
2116 Use calloc instead of malloc to ensure zero filled backing store.
2120 * khtml/rendering/render_canvasimage.cpp:
2121 (RenderCanvasImage::createDrawingContext):
2123 2005-05-24 John Sullivan <sullivan@apple.com>
2125 Reviewed by Dave Hyatt.
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
2131 Test cases added: none; doesn't affect page layout
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
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:]):
2163 (-[KWQTextAreaTextView mouseDown:]):
2164 ditto; also, make the textarea handle the resize tracking now
2166 2005-05-24 Darin Adler <darin@apple.com>
2168 - another gcc 4.0 fix
2170 No new test cases needed.
2172 * khtml/dom/dom2_events.cpp: Moved constants out of the KHTML_NO_CPLUSPLUS_DOM #if.
2174 2005-05-24 Darin Adler <darin@apple.com>
2178 - fixed <rdar://problem/4128727> many DOM classes not exported (can't add categories or do other things that require class name linking)
2180 No new test cases needed.
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.
2185 2005-05-24 Maciej Stachowiak <mjs@apple.com>
2189 - fixed <rdar://problem/3598589> onunload handler doesn't fire when a window is closed
2192 * layout-tests/fast/events/onunload-expected.txt: Added.
2193 * layout-tests/fast/events/onunload.html: Added.
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.
2203 2005-05-24 John Sullivan <sullivan@apple.com>
2207 - WebCore part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
2209 * kwq/KWQKHTMLSettings.h:
2210 (KHTMLSettings::textAreasAreResizable):
2212 (KHTMLSettings::setTextAreasAreResizable):
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
2225 (-[KWQTextAreaTextView drawRect:]):
2226 now checks isResizableByUser
2227 (-[KWQTextAreaTextView mouseDown:]):
2230 * kwq/WebCoreSettings.h:
2231 * kwq/WebCoreSettings.mm:
2232 (-[WebCoreSettings setTextAreasAreResizable:]):
2234 (-[WebCoreSettings textAreasAreResizable]):
2237 2005-05-23 Maciej Stachowiak <mjs@apple.com>
2241 - split remaining editing command classes out of htmlediting.cpp
2242 - rename InsertParagraphSeparatorInQuotedContentCommand to BreakBlockquoteCommand
2244 No layout tests needed - this is a pure refactoring change.
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.
2291 2005-05-23 Darin Adler <darin@apple.com>
2293 * WebCore.exp: Sorted file for more readable diffs.
2295 2005-05-23 Adele Peterson <adele@apple.com>
2299 fix for <rdar://problem/4122661> Regression: 10.3.8-10.3.9: Next lesson doesn't work on Dale Carnegie Action Systems page
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.
2303 2005-05-23 David Harrison <harrison@apple.com>
2307 Prevent crash when going from no selection to selection with mispelling checks enabled.
2309 * kwq/KWQKHTMLPart.mm:
2310 (KWQKHTMLPart::markMisspellings):
2311 Repair check for null searchRange. Was inadvertently broken in recent checkin.
2313 2005-05-23 John Sullivan <sullivan@apple.com>
2315 Reviewed by Dave Hyatt.
2317 - fixed <rdar://problem/4123592> Can't resize textareas that have a width specified by a style
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
2326 2005-05-22 Adele Peterson <adele@apple.com>
2330 fix for <rdar://problem/4127101> REGRESSION(412-TOT) crash when creating Option element
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.
2335 2005-05-20 John Sullivan <sullivan@apple.com>
2339 - fixed <rdar://problem/4126160> Crash sending mouse-exited event after reloading
2340 page with resizable textarea
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.
2348 2005-05-19 Darin Adler <darin@apple.com>
2352 - turned off exceptions and RTTI; seems to cut WebCore code size by about 35%
2354 * WebCore.pbproj/project.pbxproj: Turn off exceptions and RTTI for the framework.
2356 2005-05-19 Darin Adler <darin@apple.com>
2358 Reviewed by Chris Petersen.
2360 - fixed a mistake I introduced in my previous check-in that caused a Deployment build failure
2362 * kwq/DOM.mm: (-[DOMDocument createTreeWalker::::]): Initialize cppFilter to 0, which fixes both
2363 the build failure and a potential bug!
2365 2005-05-17 Darin Adler <darin@apple.com>
2368 No new layout tests required.
2370 - remove all dependencies on exceptions and RTTI (but don't turn them off yet, that will be in a later patch)
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.
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.
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.
2382 * khtml/dom/dom2_range.h: Added KHTML_NO_CPLUSPLUS_DOM checks so that only the constants are defined,
2385 * khtml/dom/dom2_traversal.cpp: Put everything except for NodeFilterCondition inside KHTML_NO_CPLUSPLUS_DOM.
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.
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.
2396 * khtml/editing/visible_text.h: Added an include of <qstring.h>.
2398 * khtml/misc/loader.h: Added isKHTMLLoader.
2399 * khtml/misc/loader.cpp: (Loader::isKHTMLLoader): Added. Poor-man's replacement for dynamic_cast.
2401 * khtml/rendering/render_form.h:
2402 * khtml/rendering/render_form.cpp: (RenderFormElement::slotTextChanged): Added. Hack to make KWQSlot work
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.
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.
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.
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.
2430 * kwq/KWQFrame.mm: (QFrame::setFrameStyle): Use isKHTMLView instead of dynamic_cast.
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.
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.
2444 * kwq/KWQSlot.mm: Removed all uses of dynamic_cast.
2446 * kwq/WebCoreBridge.mm:
2447 (-[WebCoreBridge stringForRange:]): Used plainText instead of text.
2448 (-[WebCoreBridge copyRenderNode:copier:]): Used isWidget instead of dynamic_cast.
2450 2005-05-16 Darin Adler <darin@apple.com>
2452 - attempt to get things building under "Saffron" development tools
2454 * WebCore.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
2456 2005-05-16 Adele Peterson <adele@apple.com>
2458 Changes by Darin. Reviewed by myself.
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.
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)
2469 2005-05-16 Darin Adler <darin@apple.com>
2473 - fixed issues preventing us from compiling with newer versions of gcc 4.0
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.
2478 * khtml/editing/selection.h: Specified KHTMLPart friend class as ::KHTMLPart, since if it's
2479 not explicitly qualified, it means DOM::KHTMLPart.
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.
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.
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!
2506 * kwq/KWQTextArea.mm: (RangeOfParagraph): Change else structure to work around compiler
2509 2005-05-13 John Sullivan <sullivan@apple.com>
2511 * kwq/KWQTextArea.mm:
2512 (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
2513 added Radar numbers to FIXMEs about resizable textareas
2514 (-[KWQTextAreaTextView resetCursorRects]):
2516 (-[KWQTextAreaTextView mouseDown:]):
2519 2005-05-12 Darin Adler <darin@apple.com>
2521 Reviewed by Chris Blumenberg.
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.
2527 * khtml/dom/dom2_range.cpp:
2528 * khtml/dom/dom2_range.h:
2529 * khtml/ecma/kjs_window.cpp:
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:
2546 (khtml::startVisiblePosition):
2547 (khtml::endVisiblePosition):
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):
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:
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:
2586 (DOM::rangeOfContents):
2587 * khtml/xml/dom2_rangeimpl.h:
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:
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]):
2642 2005-05-13 Maciej Stachowiak <mjs@apple.com>
2646 - more splitting up of htmlediting.cpp
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.
2661 2005-05-12 Adele Peterson <adele@apple.com>
2665 fix for <rdar://problem/4117656> deleting an input element in its onBlur handler crashes Safari
2667 * khtml/rendering/render_form.cpp: (RenderLineEdit::handleFocusOut): added nil check for element
2669 2005-05-12 John Sullivan <sullivan@apple.com>
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.
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:]):
2693 2005-05-05 John Sullivan <sullivan@apple.com>
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.
2703 2005-05-02 John Sullivan <sullivan@apple.com>
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
2712 * Resources/textAreaResizeCorner.tiff: Added.
2713 * WebCore.pbproj/project.pbxproj:
2714 updated for added image file
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
2729 2005-04-18 John Sullivan <sullivan@apple.com>
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).
2737 * kwq/WebCoreBridge.h:
2738 add textDidChange: method
2740 * kwq/KWQTextArea.mm:
2741 (-[KWQTextArea textDidChange:]):
2742 call through to bridge
2744 2005-04-07 John Sullivan <sullivan@apple.com>
2746 WebCore support for find-as-you-type; needed an additional parameter
2747 to findString and searchFor:...
2749 Reviewed by Dave Hyatt.
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
2757 * kwq/WebCoreBridge.h:
2758 * kwq/WebCoreBridge.mm:
2759 (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):
2760 new findInSelection parameter; passed through to findString
2762 2005-05-12 Darin Adler <darin@apple.com>
2764 Reviewed by Maciej (except for some parts outside the ECMA directory).
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
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.
2777 * khtml/css/cssproperties.in: Fixed up comments.
2779 * khtml/css/makeprop: Added new maxCSSPropertyNameLength constant, used for
2780 buffer size in the propertyID function.
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.
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.
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.
2802 * khtml/khtml_part.cpp: Tweaked incluudes.
2803 * khtml/khtmlpart_p.h: Ditto.
2805 * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canCachePage): Change to use DOM impl. rather
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.
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):
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):
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):
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):
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):
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):
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):
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):
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):
3067 (KJS::RangeConstructor::tryGet):
3068 (KJS::getRangeConstructor):
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:
3105 (KJS::Window::hasProperty):
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):
3134 2005-05-11 David Hyatt <hyatt@apple.com>
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.
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.
3146 * khtml/ecma/kjs_window.cpp:
3148 (Window::updateLayout):
3149 * khtml/ecma/kjs_window.h:
3151 2005-05-11 Maciej Stachowiak <mjs@apple.com>
3155 - split some more individual classes out of htmlediting.cpp
3156 (CompositeEditcommand, AppendnodeCommand, ApplyStyleCommand)
3158 Also moves StyleChange directly into ApplyStyleCommand
3159 implementation file, it doesn't need to be in a header at all.
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:
3173 2005-05-11 Adele Peterson <adele@apple.com>
3177 fix for <rdar://problem/4061979> crash in DOM::ElementImpl::setAttribute at www.nitto-kohki.co.jp
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.
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.
3190 2005-05-10 Maciej Stachowiak <mjs@apple.com>
3194 - start on splitting htmlediting.cpp into smaller files - pull
3195 EditCommand and EditCommandPtr out.
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.
3203 2005-05-10 David Hyatt <hyatt@apple.com>
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.
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):
3336 (StyledElementImpl::addCSSProperty):
3337 (StyledElementImpl::addCSSStringProperty):
3338 (StyledElementImpl::addCSSImageProperty):
3339 (StyledElementImpl::addCSSLength):
3340 (StyledElementImpl::addCSSColor):
3341 (StyledElementImpl::createMappedDecl):
3342 * khtml/xml/dom_elementimpl.h:
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):
3362 2005-05-10 Darin Adler <darin@apple.com>
3364 Reviewed by Dave Hyatt.
3365 No new layout tests needed.
3367 - remove all remaining uses of QMIN/QMAX and KMIN/KMAX.
3369 * kwq/KWQDef.h: Remove the macros.
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).
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):
3405 2005-05-10 Darin Adler <darin@apple.com>
3407 Reviewed by Chris Blumenberg.
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)
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):
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:
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):
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):
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):
3787 (-[DOMCSSStyleSheet cssRules]):
3788 (-[DOMCSSStyleDeclaration getPropertyValue:]):
3789 (-[DOMCSSStyleDeclaration getPropertyCSSValue:]):
3790 (-[DOMCSSStyleDeclaration removeProperty:]):
3791 (-[DOMCSSStyleDeclaration getPropertyPriority:]):
3792 (-[DOMCSSStyleDeclaration setProperty:::]):
3793 (-[DOMCSSValue setCssText:]):
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):
3826 (isTextFirstInListItem):
3827 (KWQKHTMLPart::attributedString):
3828 (KWQKHTMLPart::snapshotDragImage):
3829 (KWQKHTMLPart::mousePressNode):
3830 * kwq/WebCoreBridge.mm:
3831 (updateRenderingForBindings):
3832 (-[WebCoreBridge _documentTypeString]):
3834 2005-05-10 Maciej Stachowiak <mjs@apple.com>
3838 - rename hasAnchor method to isLink
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):
3874 2005-05-09 Maciej Stachowiak <mjs@apple.com>
3878 - remove init hint argument from VisiblePosition
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:]):
3894 2005-05-10 Darin Adler <darin@apple.com>
3896 Reviewed by David Harrison.
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.)
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):
3991 (ElementImpl::attributes):
3992 (ElementImpl::isURLAttribute):