1 2005-07-01 Geoffrey Garen <ggaren@apple.com>
3 -landed patch by Eric Seidel <macdome@opendarwin.org>
5 -for http://bugzilla.opendarwin.org/show_bug.cgi?id=3657
6 GroundWork: Moving some functions from khtml->jsc following kjs TOT
8 - no layout test necessary yet - only groundwork
12 * ForwardingHeaders/qintdict.h:
13 * khtml/ecma/kjs_binding.h:
15 2005-07-01 Geoffrey Garen <ggaren@apple.com>
17 -landed patch by Carsten Guenther <cguenther@gmail.com>
18 http://bugzilla.opendarwin.org/show_bug.cgi?id=3477
20 -corrects errors in date layout test
25 * layout-tests/fast/js/date-parse-test.html:
27 2005-07-01 Eric Seidel <eseidel@apple.com>
33 (QSize::operator CGSize): adding CGSize conversion support
35 2005-06-30 Bruce DiBello <bdibello@apple.com>
37 Reviewed by Geoff Garen.
39 Test cases added: getting and setting div.align
41 * layout-tests/fast/dom/HTMLDivElement/align/getset-expected.txt: Added.
42 * layout-tests/fast/dom/HTMLDivElement/align/getset.html: Added.
44 2005-06-29 Anders Carlsson <andersca@mac.com>
46 Reviewed and landed by Darin Adler.
48 - Fix <http://bugzilla.opendarwin.org/show_bug.cgi?id=3274>
49 document() not supported
52 * layout-tests/fast/xsl/document-function-expected.txt: Added.
53 * layout-tests/fast/xsl/document-function.xml: Added.
54 * layout-tests/fast/xsl/document-function.xsl: Added.
55 * layout-tests/fast/xsl/resources/document-function-source.xml: Added.
57 * khtml/xsl/xslt_processorimpl.cpp:
58 (DOM::parseErrorFunc):
59 Stub to prevent errors from getting written to the console.
61 (DOM::stylesheetLoadFunc):
62 Fetch and parse documents.
64 (DOM::XSLTProcessorImpl::transformDocument):
65 Use the processor as the global variable instead of the
68 * khtml/xsl/xslt_processorimpl.h:
69 (DOM::XSLTProcessorImpl::stylesheet):
70 (DOM::XSLTProcessorImpl::sourceDocument):
71 Add accessors for source document and stylesheet.
73 2005-06-29 Maciej Stachowiak <mjs@apple.com>
75 Unreviewed - fixing build breakage with gcc 4.
77 * khtml/misc/hashtable.h: Don't use a typedef when declaring a class friend.
79 2005-06-29 David Harrison <harrison@apple.com>
81 Temporarily enable tab coalescing ahead of white-space:pre-wrap
82 change because of problems with keeping the tabs separate. Will
83 revert when problems are fixed or remove if I do pre-wrap
86 * khtml/editing/insert_text_command.cpp:
87 (khtml::InsertTextCommand::prepareForTextInsertion):
88 (khtml::InsertTextCommand::insertTab):
89 * khtml/editing/markup.cpp:
90 (khtml::createParagraphContentsFromString):
92 2005-06-29 David Harrison <harrison@apple.com>
94 Reviewed by Dave Hyatt (rendering) and Maciej (editing).
96 Test cases added: Coming soon. Will include with next round of changes for this bug.
98 This is the first checkin for...
100 <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
102 Basic strategy is to put tabs into spans with white-space:pre style, and
103 render them with tabs stops every 8th space, where the space width and
104 the left margin are those of the enclosing block.
106 What's left is to switch to implement white-space:pre-wrap so
107 that we can coalesce consecutive tabs while maintaining proper
108 line breaking. That will keep the markup smaller.
110 * khtml/editing/apply_style_command.cpp:
111 (khtml::createStyleSpanElement):
112 (khtml::ApplyStyleCommand::removeCSSStyle):
113 (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
114 * khtml/editing/delete_selection_command.cpp:
115 (khtml::DeleteSelectionCommand::saveTypingStyleState):
116 * khtml/editing/edit_command.cpp:
117 (khtml::EditCommand::styleAtPosition):
118 * khtml/editing/html_interchange.h:
119 * khtml/editing/htmlediting.cpp:
120 (khtml::isSpecialElement):
121 (khtml::isTabSpanNode):
122 (khtml::isTabSpanTextNode):
123 (khtml::positionBeforeTabSpan):
124 (khtml::createTabSpanElement):
125 * khtml/editing/htmlediting.h:
126 * khtml/editing/insert_text_command.cpp:
127 (khtml::InsertTextCommand::prepareForTextInsertion):
128 (khtml::InsertTextCommand::input):
129 (khtml::InsertTextCommand::insertTab):
130 * khtml/editing/insert_text_command.h:
131 * khtml/editing/markup.cpp:
132 (khtml::createParagraphContentsFromString):
133 (khtml::createFragmentFromText):
134 * khtml/editing/replace_selection_command.cpp:
135 (khtml::ReplacementFragment::removeStyleNodes):
136 * khtml/html/htmltokenizer.cpp:
137 (khtml::HTMLTokenizer::begin):
138 (khtml::HTMLTokenizer::processListing):
139 (khtml::HTMLTokenizer::parseEntity):
140 (khtml::HTMLTokenizer::parseTag):
141 (khtml::HTMLTokenizer::addPending):
142 (khtml::HTMLTokenizer::write):
143 * khtml/html/htmltokenizer.h:
144 (khtml::HTMLTokenizer::):
145 * khtml/rendering/bidi.cpp:
147 (khtml::RenderBlock::tabWidth):
148 (khtml::RenderBlock::computeHorizontalPositionsForLine):
149 (khtml::RenderBlock::skipWhitespace):
150 (khtml::RenderBlock::findNextLineBreak):
151 (khtml::RenderBlock::checkLinesForTextOverflow):
152 * khtml/rendering/break_lines.cpp:
153 (khtml::isBreakable):
154 * khtml/rendering/font.cpp:
155 (Font::drawHighlightForText):
158 (Font::floatCharacterWidths):
159 (Font::checkSelectionPoint):
161 * khtml/rendering/font.h:
162 * khtml/rendering/render_block.cpp:
163 (khtml::stripTrailingSpace):
164 (khtml::RenderBlock::calcInlineMinMaxWidth):
165 * khtml/rendering/render_block.h:
166 * khtml/rendering/render_br.h:
167 (khtml::RenderBR::width):
168 * khtml/rendering/render_flexbox.cpp:
169 (khtml::RenderFlexibleBox::layoutVerticalBox):
170 * khtml/rendering/render_image.cpp:
171 (RenderImage::setPixmap):
172 (RenderImage::paint):
173 * khtml/rendering/render_line.cpp:
174 (khtml::EllipsisBox::paint):
175 * khtml/rendering/render_line.h:
176 (khtml::InlineBox::width):
177 (khtml::InlineBox::xPos):
178 (khtml::InlineBox::yPos):
179 (khtml::InlineBox::height):
180 (khtml::InlineBox::baseline):
181 * khtml/rendering/render_list.cpp:
182 (RenderListMarker::paint):
183 (RenderListMarker::calcMinMaxWidth):
184 * khtml/rendering/render_object.cpp:
185 (RenderObject::tabWidth):
186 (RenderObject::recalcMinMaxWidths):
187 * khtml/rendering/render_object.h:
188 * khtml/rendering/render_replaced.cpp:
189 * khtml/rendering/render_text.cpp:
190 (InlineTextBox::selectionRect):
191 (InlineTextBox::paint):
192 (InlineTextBox::paintSelection):
193 (InlineTextBox::paintMarkedTextBackground):
194 (InlineTextBox::textPos):
195 (InlineTextBox::offsetForPosition):
196 (InlineTextBox::positionForOffset):
197 (RenderText::cacheWidths):
198 (RenderText::widthFromCache):
199 (RenderText::trimmedMinMaxWidth):
200 (RenderText::calcMinMaxWidth):
201 (RenderText::containsOnlyWhitespace):
203 * khtml/rendering/render_text.h:
204 * kwq/KWQFontMetrics.h:
205 * kwq/KWQFontMetrics.mm:
206 (QFontMetrics::width):
207 (QFontMetrics::charWidth):
208 (QFontMetrics::floatWidth):
209 (QFontMetrics::floatCharacterWidths):
210 (QFontMetrics::checkSelectionPoint):
211 (QFontMetrics::boundingRect):
212 (QFontMetrics::size):
215 (QPainter::drawText):
216 (QPainter::drawHighlightForText):
217 * kwq/WebCoreTextRenderer.h:
218 * kwq/WebCoreTextRendererFactory.mm:
219 (WebCoreInitializeEmptyTextStyle):
220 * layout-tests/editing/deleting/delete-tab-001-expected.txt:
221 * layout-tests/editing/deleting/delete-tab-001.html:
222 * layout-tests/editing/deleting/delete-tab-002-expected.txt:
223 * layout-tests/editing/deleting/delete-tab-002.html:
224 * layout-tests/editing/deleting/delete-tab-003-expected.txt:
225 * layout-tests/editing/deleting/delete-tab-003.html:
226 * layout-tests/editing/deleting/delete-tab-004-expected.txt:
227 * layout-tests/editing/deleting/delete-tab-004.html:
228 * layout-tests/editing/inserting/insert-tab-001-expected.txt:
229 * layout-tests/editing/inserting/insert-tab-002-expected.txt:
230 * layout-tests/editing/inserting/insert-tab-003-expected.txt:
231 * layout-tests/editing/inserting/insert-tab-004-expected.txt:
232 * layout-tests/fast/dom/quadraticCurveTo-expected.txt:
233 * layout-tests/fast/js/string-replace-2-expected.txt:
234 * layout-tests/fast/table/039-expected.txt:
235 * layout-tests/fast/table/border-collapsing/004-expected.txt:
236 * layout-tests/fast/tokenizer/script_extra_close-expected.txt:
238 2005-06-29 Geoffrey Garen <ggaren@apple.com>
240 Contributed by Francisco Tolmasky <tolmasky@gmail.com>
242 -test cases for fix to http://bugzilla.opendarwin.org/show_bug.cgi?id=3667
243 Core JavaScript 1.5 Reference:Objects:Array:forEach
245 See JavaScriptCore Changelog for details on the patch.
250 * layout-tests/fast/js/array-every-expected.txt: Added.
251 * layout-tests/fast/js/array-every.html: Added.
252 * layout-tests/fast/js/array-foreach-expected.txt: Added.
253 * layout-tests/fast/js/array-foreach.html: Added.
254 * layout-tests/fast/js/array-some-expected.txt: Added.
255 * layout-tests/fast/js/array-some.html: Added.
257 2005-06-29 Bruce DiBello <bdibello@apple.com>
259 Reviewed by Geoff Garen
261 Test cases added: added expected results for previous check in
263 * layout-tests/fast/dom/HTMLDocument/url/getset-expected.txt: Added.
265 2005-06-29 Geoffrey Garen <ggaren@apple.com>
267 DOM compatibility tests for HTMLDocument::writeln
273 * layout-tests/fast/dom/HTMLDocument/writeln/call-expected.txt: Added.
274 * layout-tests/fast/dom/HTMLDocument/writeln/call.html: Added.
275 * layout-tests/fast/dom/HTMLDocument/writeln/multiple-calls-expected.txt: Added.
276 * layout-tests/fast/dom/HTMLDocument/writeln/multiple-calls.html: Added.
278 2005-06-29 Bruce DiBello <bdibello@apple.com>
280 Reviewed by Geoff Garen.
282 Test cases added: added DOM test for document.URL
284 * layout-tests/fast/dom/HTMLDocument/url/getset.html: Added.
286 2005-06-29 Geoffrey Garen <ggaren@apple.com>
288 DOM compatibility tests for HTMLDocument::write
293 * layout-tests/fast/dom/HTMLDocument/write/call-expected.txt: Added.
294 * layout-tests/fast/dom/HTMLDocument/write/call.html: Added.
295 * layout-tests/fast/dom/HTMLDocument/write/multiple-calls-expected.txt: Added.
296 * layout-tests/fast/dom/HTMLDocument/write/multiple-calls.html: Added.
298 2005-06-29 Geoffrey Garen <ggaren@apple.com>
300 DOM compatibility tests for HTMLDocument::title
305 * layout-tests/fast/dom/HTMLDocument/title/get-expected.txt: Added.
306 * layout-tests/fast/dom/HTMLDocument/title/get.html: Added.
307 * layout-tests/fast/dom/HTMLDocument/title/set-expected.txt: Added.
308 * layout-tests/fast/dom/HTMLDocument/title/set.html: Added.
310 2005-06-28 Maciej Stachowiak <mjs@apple.com>
314 Added iterator support to new hashtable class, the HashSet API is
315 now essentially complete.
317 Added support for consistency check mode.
319 * khtml/misc/hashset.h:
320 (khtml::HashSet::capacity): Added
321 (khtml::HashSet::begin): Added (both const and non-const)
322 (khtml::HashSet::end): Added (both const and non-const)
323 (khtml::HashSet::insert): Made both versions return an iterator
324 (khtml::HashSet::find): Added (both const and on-const, returning appropriate iterator)
325 (khtml::HashSet::contains): Added
326 (khtml::HashSet::remove): Added version that takes an iterator argument
327 (khtml::HashSet::clear): Added
328 * khtml/misc/hashtable.h:
329 (khtml::HashTableIterator): New class with all the obvious iterator stuff.
330 (khtml::HashTableConstIterator::HashTableConstIterator): New class with all the obvious
331 const iterator stuff.
332 (khtml::HashTable::begin): Added (both const and non-consts)
333 (khtml::HashTable::end): Added (both const and non-consts)
334 (khtml::HashTable::capacity): Added
335 (khtml::HashTable::insert): Implement non-template method in terms
337 (khtml::HashTable::contains): Added (implemented in terms of find)
338 (khtml::HashTable::remove): Implemented key remove in terms of find and
340 (khtml::HashTable::hash): Made static
341 (khtml::HashTable::equal): Made static
342 (khtml::HashTable::identityConvert): Added - no-op convert method so template insert
343 method can be implemented in terms of non-template
344 (khtml::HashTable::insert): Changed to return iterator
345 (khtml::HashTable::reinsert): Recoded to be more like the other functions
346 (khtml::HashTable::find): Added
347 (khtml::HashTable::remove): Added iterator version
348 (khtml::HashTable::clear): Added
349 * khtml/xml/dom_atomicstring.cpp:
350 (DOM::AtomicString::add): Updated to deal with the fact that insert returns an iterator
351 (khtml::HashTable::shouldExpand): New helper.
352 (khtml::HashTable::shouldShrink): ditto
353 (khtml::HashTable::makeIterator): ditto
354 (khtml::HashTable::makeConstIterator): ditto
355 (khtml::HashTable::checkConsistency): consistency check method
356 (khtml::HashTable::checkConsistencyExceptSize): consistency check method
358 2005-06-29 Geoffrey Garen <ggaren@apple.com>
360 -added test case for fix to http://bugzilla.opendarwin.org/show_bug.cgi?id=3743
361 Incorrect error message given for certain calls
363 See JavaScriptCore Changelog for details about the patch.
368 * layout-tests/fast/js/toString-stack-overflow-expected.txt: Added.
369 * layout-tests/fast/js/toString-stack-overflow.html: Added.
371 2005-06-29 Justin Garcia <justin.garcia@apple.com>
373 - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3714>
374 HTMLLabelElement's form property isn't implemented
376 Patch by Anders Carlsson <andersca@mac.com>
381 * layout-tests/fast/dom/HTMLLabelElement/properties/form-expected.txt: Added.
382 * layout-tests/fast/dom/HTMLLabelElement/properties/form.html: Added.
384 * khtml/html/html_formimpl.cpp:
385 (DOM::HTMLLabelElementImpl::form):
386 Traverse upwards looking for a form element.
388 2005-06-29 Geoffrey Garen <ggaren@apple.com>
390 Patch by Joost de Valk <webkit@joostdevalk.nl>
392 - http://bugzilla.opendarwin.org/show_bug.cgi?id=3732
393 Testcase for accesskeys that will run with run-webkit-tests.
398 * layout-tests/fast/forms/access-key-expected.txt: Added.
399 * layout-tests/fast/forms/access-key.html: Added.
401 2005-06-29 Justin Garcia <justin.garcia@apple.com>
403 Patch by Anders Carlsson <andersca@mac.com>
405 - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3715>
406 An HTMLObjectElement's form property was always null.
411 * layout-tests/fast/dom/htmlobject-form-expected.txt: Added.
412 * layout-tests/fast/dom/htmlobject-form.html: Added.
414 * khtml/html/html_objectimpl.cpp:
415 (DOM::HTMLObjectElementImpl::form):
416 Implement this function by traversing the parent nodes looking
419 2005-06-29 Geoffrey Garen <ggaren@apple.com>
421 Patch by Antoine Quint <ml@graougraou.com>
423 -fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=3648
424 quadraticCurveTo() method in <canvas> APIs JS bindings does not exist
429 * layout-tests/fast/dom/quadraticCurveTo-expected.txt: Added.
430 * layout-tests/fast/dom/quadraticCurveTo.xml: Added.
432 * khtml/ecma/kjs_html.cpp:
434 2005-06-29 Geoffrey Garen <ggaren@apple.com>
436 Patch by Hanspeter Schaub <Hanspeterschaub@mac.com>
438 -fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=3317
439 REGRESSION: CSS2: outline is applied to both <li> element
440 and its enclosing text with context dependent selector
445 * layout-tests/fast/css/list-outline-expected.txt: Added.
446 * layout-tests/fast/css/list-outline.html: Added.
448 * khtml/rendering/render_line.cpp:
449 (khtml::InlineFlowBox::paint):
451 2005-06-28 Vicki Murley <vicki@apple.com>
455 - fix our part of <rdar://problem/4122332> extra HTTP GET when iframe requests file
456 already fetched by parent that should have been cached. Setting location via javascript
457 should not signal a full reload of the destination page and all its subresources.
459 * khtml/khtml_part.cpp:
460 (KHTMLPart::changeLocation): remove code that sets the reload flag
462 2005-06-28 Justin Garcia <justin.garcia@apple.com>
464 Patch by Kevin Ballard <kevin@sb.org>
468 - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3654>
469 Updating the value of a textarea wasn't saving the cursor position
470 in a line ending-agnostic fashion.
473 * layout-tests/fast/forms/cursor-position-expected.txt: Added.
474 * layout-tests/fast/forms/cursor-position.html: Added.
476 * kwq/KWQTextArea.mm:
477 (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]):
479 (-[KWQTextArea setCursorPositionToIndex:inParagraph:]):
481 2005-06-28 Justin Garcia <justin.garcia@apple.com>
483 Patch by Alexey Proskuryakov <ap@nypop.com>
485 - <http://bugzilla.opendarwin.org/show_bug.cgi?id=3727>
486 When a DECODE_DEBUG preprocessor symbol is defined in khtml/misc/decoder.cpp,
487 compilation fails because a non-existent variable "force" is used.
491 Test cases added: None required
493 * khtml/misc/decoder.cpp:
494 (Decoder::setEncoding):
496 2005-06-28 David Harrison <harrison@apple.com>
498 Reviewed by Chris Blumenberg.
500 Test cases added: (NONE)
502 (continued) <rdar://problem/4140688> assertion failure double-clicking text to select
503 Fixed my checkin from yesterday.
505 * khtml/rendering/render_text.cpp:
506 (InlineTextBox::paintMarkedTextBackground):
507 (InlineTextBox::positionForOffset):
508 Changed tabs to spaces.
510 (RenderText::positionForCoordinates):
511 Make sure affinity is downstream when in mid-line.
512 Changed tabs to spaces.
514 (RenderText::caretRect):
515 (RenderText::cacheWidths):
516 (RenderText::trimmedMinMaxWidth):
517 (RenderText::minXPos):
519 (RenderText::caretMaxOffset):
520 Changed tabs to spaces.
522 * layout-tests/editing/style/create-block-for-style-004-expected.txt:
523 Expected ending selection affinity is downstream.
525 2005-06-27 Maciej Stachowiak <mjs@apple.com>
527 Remove accidentally committed code that breaks the build. Oops!
529 * khtml/xml/dom_atomicstring.cpp:
530 (DOM::AtomicString::expand):
531 (DOM::AtomicString::shrink):
533 2005-06-26 Maciej Stachowiak <mjs@apple.com>
537 - replaced all our hash functions with the state of the art in hashing
538 - ~1% speedup on cvs-base
540 No test cases added, perf effects only.
542 * khtml/xml/dom_atomicstring.cpp:
543 (DOM::AtomicStringStatisticsExitLogger::~AtomicStringStatisticsExitLogger):
544 Improved stats gathering to track collisions in more detail and count reinserts
546 (DOM::addToCollisionCount): ditto
547 (DOM::AtomicString::add): ditto
548 (DOM::AtomicString::insert): ditto
549 (DOM::AtomicString::remove): ditto
550 * khtml/xml/dom_stringimpl.cpp:
551 (DOM::DOMStringImpl::computeHash): Replace with SuperFastHash algorithm.
552 * kwq/KWQCharsets.mm:
553 (encodingNameHash): Clean up mistaken shift in the wrong direction.
554 * kwq/KWQString.h: Removed unused hashing code.
555 * kwq/KWQString.mm: ditto
556 * kwq/KWQTextCodec.mm:
557 (QTextCodec::hash): Use a variant of the SuperFastHash algorithm.
559 2005-06-27 David Harrison <harrison@apple.com>
563 Test cases added: None because this relies on mouse clicking.
565 <rdar://problem/4140688> assertion failure double-clicking text to select
567 * khtml/rendering/render_text.cpp:
568 (RenderText::positionForCoordinates):
569 Use setAffinityUsingLinePosition.
571 2005-06-25 Darin Adler <darin@apple.com>
573 - updated a layout test so that it doesn't depend on a remote resource via http
575 * layout-tests/fast/backgrounds/001.html: Change image URL to be relative.
576 * layout-tests/fast/backgrounds/resources/bg_position_larger.gif: Added.
578 2005-06-24 Darin Adler <darin@apple.com>
580 Changes by Mitz Pettel.
584 * layout-tests/fast/text/international/bidi-explicit-embedding-expected.txt: Added.
585 * layout-tests/fast/text/international/bidi-explicit-embedding.html: Added.
587 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3599>
588 Incorrect layout of explicit embedding levels
590 * khtml/rendering/bidi.cpp:
591 (khtml::embed): Set up the new run correctly following an embed/pop.
592 (khtml::RenderBlock::bidiReorderLine): Close the "dangling" run when we see an explicit
593 embedding character (or PDF).
595 2005-06-24 Darin Adler <darin@apple.com>
597 Changes by Mitz Pettel.
601 * layout-tests/fast/text/international/bidi-CS-after-AN-expected.txt: Added.
602 * layout-tests/fast/text/international/bidi-CS-after-AN.html: Added.
604 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3693>
605 Bug_72578 in KHTML: bidi algorithm misbehaves with CS after AN
607 * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Rolled in the
608 patch from the KDE tree.
610 2005-06-24 Justin Garcia <justin.garcia@apple.com>
612 - <http://bugzilla.opendarwin.org/show_bug.cgi?id=3673>
613 Adds QBuffer::setBuffer(QByteArray) support to KWQBuffer, and adds a QBuffer(QByteArray) constructor.
617 Test cases added: Non required
622 (QBuffer::setBuffer):
624 2005-06-24 Justin Garcia <justin.garcia@apple.com>
626 - <http://bugzilla.opendarwin.org/show_bug.cgi?id=3672> KWQRect -- CGRect and other small additions
627 - <http://bugzilla.opendarwin.org/show_bug.cgi?id=3670> Add remove and byteOrderMark support to KWQString for kdom
631 Test cases added: None required
640 (QRect::operator CGRect):
645 2005-06-24 Darin Adler <darin@apple.com>
647 Reviewed by Justin Garcia.
649 - fixed <rdar://problem/4151619> Safari changes "\" characters to "/" in the query part of links that start with "?"
652 * layout-tests/fast/dom/anchor-backslash-expected.txt: Added.
653 * layout-tests/fast/dom/anchor-backslash.html: Added.
655 * kwq/KWQKURL.mm: (substituteBackslashes): Fix error where we'd ignore
656 "?" and "#" characters if they were the first character in the string.
658 2005-06-23 Darin Adler <darin@apple.com>
660 * khtml/html/html_formimpl.cpp: (DOM::HTMLTextAreaElementImpl::setValue):
661 Took out an unneeded type cast (meant to do that before committing).
663 2005-06-23 Kevin Ballard <kevin@sb.org>
665 Reviewed and landed by Darin Adler.
668 * layout-tests/fast/forms/selection-functions-expected.txt: Added.
669 * layout-tests/fast/forms/selection-functions.html: Added.
670 * layout-tests/fast/forms/textarea-crlf-expected.txt: Added.
671 * layout-tests/fast/forms/textarea-crlf.html: Added.
673 - Fixes bug <http://bugzilla.opendarwin.org/show_bug.cgi?id=3401>.
674 Also fixes issue where setting text of a textarea in code and then
675 retrieving it would leave the \r\n sequences in the text, despite
676 the textarea translating to \n in all other cases.
678 * khtml/ecma/kjs_html.h:
679 * khtml/ecma/kjs_html.cpp:
680 (KJS::getInputSelectionStart):
681 (KJS::getInputSelectionEnd):
682 (KJS::KJS::HTMLElement::getValueProperty):
683 (KJS::KJS::HTMLElement::hasProperty):
684 (KJS::KJS::HTMLElementFunction::tryCall):
685 (KJS::HTMLElement::putValue):
686 * khtml/html/html_formimpl.cpp:
687 (DOM::HTMLInputElementImpl::canHaveSelection):
688 (DOM::HTMLInputElementImpl::selectionStart):
689 (DOM::HTMLInputElementImpl::selectionEnd):
690 (DOM::HTMLInputElementImpl::setSelectionStart):
691 (DOM::HTMLInputElementImpl::setSelectionEnd):
692 (DOM::HTMLInputElementImpl::setSelectionRange):
693 (DOM::HTMLInputElementImpl::setValue):
694 (DOM::HTMLTextAreaElementImpl::selectionStart):
695 (DOM::HTMLTextAreaElementImpl::selectionEnd):
696 (DOM::HTMLTextAreaElementImpl::setSelectionStart):
697 (DOM::HTMLTextAreaElementImpl::setSelectionEnd):
698 (DOM::HTMLTextAreaElementImpl::setSelectionRange):
699 (DOM::HTMLTextAreaElementImpl::setValue):
700 * khtml/html/html_formimpl.h:
701 * khtml/rendering/render_form.cpp:
702 (RenderLineEdit::selectionStart):
703 (RenderLineEdit::selectionEnd):
704 (RenderLineEdit::setSelectionStart):
705 (RenderLineEdit::setSelectionEnd):
706 (RenderLineEdit::setSelectionRange):
707 (RenderTextArea::selectionStart):
708 (RenderTextArea::selectionEnd):
709 (RenderTextArea::setSelectionStart):
710 (RenderTextArea::setSelectionEnd):
711 (RenderTextArea::select):
712 (RenderTextArea::setSelectionRange):
713 * khtml/rendering/render_form.h:
715 * kwq/KWQLineEdit.mm:
716 (QLineEdit::setCursorPosition):
717 (QLineEdit::cursorPosition):
718 (QLineEdit::selectAll):
719 (QLineEdit::selectionStart):
720 (QLineEdit::selectedText):
721 (QLineEdit::setSelection):
723 * kwq/KWQTextArea.mm:
724 (-[KWQTextArea setSelectedRange:]):
725 (-[KWQTextArea selectedRange]):
726 (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]):
729 * kwq/KWQTextEdit.mm:
730 (QTextEdit::getCursorPosition):
731 (QTextEdit::selectionStart):
732 (QTextEdit::selectionEnd):
733 (QTextEdit::setSelectionStart):
734 (QTextEdit::setSelectionEnd):
735 (QTextEdit::selectAll):
736 (QTextEdit::setSelectionRange):
737 * kwq/KWQTextField.h:
738 * kwq/KWQTextField.mm:
739 (-[KWQTextFieldController selectedRange]):
740 (-[KWQTextFieldController setSelectedRange:]):
742 2005-06-23 Justin Garcia <justin.garcia@apple.com>
744 Patch by Eric Seidel <macdome@opendarwin.org>
746 Adds QTextIStream, QTextOStream to KWQ
750 Test cases added: None required
752 * kwq/KWQTextStream.h:
753 (QTextIStream::QTextIStream):
754 (QTextOStream::QTextOStream):
756 2005-06-23 Justin Garcia <justin.garcia@apple.com>
758 Patch by Eric Seidel <macdome@opendarwin.org>
760 This patch contains several small additions to KWQ
764 Test cases added: None required
766 * kwq/KWQApplication.h:
767 (QApplication::palette):
772 (QDictIterator::operator*):
774 (kdbgstream::operator<<):
776 (QMemArray::duplicate):
778 2005-06-23 David Harrison <harrison@apple.com>
780 Test cases added: None needed for this debug-only utility code.
782 - Make showTree() const.
783 - Add showTree() for InlineBox.
784 - Add showTree() for RenderObject.
786 * khtml/editing/selection.cpp:
787 (khtml::Selection::showTree):
788 * khtml/editing/selection.h:
789 * khtml/editing/visible_position.cpp:
790 (khtml::VisiblePosition::showTree):
791 * khtml/editing/visible_position.h:
792 Make showTree() const.
794 * khtml/rendering/render_line.cpp:
795 (khtml::InlineBox::showTree):
796 * khtml/rendering/render_line.h:
797 Add showTree() for InlineBox.
799 * khtml/rendering/render_object.cpp:
800 (RenderObject::showTree):
801 * khtml/rendering/render_object.h:
802 Add showTree() for RenderObject.
804 * khtml/xml/dom_nodeimpl.cpp:
805 (appendAttributeDesc):
806 (NodeImpl::showNode):
807 (NodeImpl::showTree):
808 (NodeImpl::showTreeAndMark):
809 * khtml/xml/dom_nodeimpl.h:
810 Make showTree() const.
812 2005-06-23 Vicki Murley <vicki@apple.com>
814 - added template to be used when writing manual tests
816 * manual-tests/template.html: Added.
818 2005-06-22 Darin Adler <darin@apple.com>
820 - added forwarding headers as needed for Eric Seidel's KDOM work
821 see <http://bugzilla.opendarwin.org/show_bug.cgi?id=3655>
823 * ForwardingHeaders/kjs/value.h: Added.
824 * ForwardingHeaders/qintdict.h: Added an include.
825 * ForwardingHeaders/qptrcollection.h: Added.
826 * ForwardingHeaders/qsize.h: Added.
827 * kwq/KWQIntDict.h: Added. Empty file.
829 2005-06-22 Darin Adler <darin@apple.com>
834 * layout-tests/fast/css/apple-prefix-expected.txt: Added.
835 * layout-tests/fast/css/apple-prefix.html: Added.
837 - fixed <rdar://problem/4141650> REGRESSION: Safari RSS slider broken with TOT WebCore
839 * khtml/css/parser.y:
840 (getPropertyID): Fix lifetime problem on the QString. Also construct the QString
841 using length, since the passed-in char * is not necessarily null-terminated. Also do
842 the mapping only if it's a "-apple-" prefix -- the old code would do it for, e.g.,
843 "-applex-" too. The old code would not successfully map the "apple" in "appleLineClamp"
844 to "khtml", and Dave changed things so that the internal name of all CSS attributes
845 is "khtml" back in his 2005-05-03 check-in, breaking the use of appleLineClamp in RSS.
848 2005-06-22 Anders Carlsson <andersca@mac.com>
850 Reviewed and landed by Darin Adler.
853 * layout-tests/fast/dom/title-text-property-expected.txt: Added
854 * layout-tests/fast/dom/title-text-property.html: Added
855 * layout-tests/fast/dom/title-text-property-expected-2.txt: Added
856 * layout-tests/fast/dom/title-text-property-2.html: Added
858 - fixed <rdar://problem/3831364> getting or setting text for a <title> element doesn't work
859 - fixed <rdar://problem/4091225> REGRESSION (1.2.4-1.3): many titles with non-ASCII characters do not display properly (XHTML strict only)
860 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3586>
861 Setting and getting title's text attribute does not work
863 * khtml/dom/html_head.cpp:
864 (HTMLTitleElement::text):
865 (HTMLTitleElement::setText):
866 Call HTMLTitleElementImpl::text() and ::setText().
868 * khtml/html/html_headimpl.cpp:
869 (HTMLTitleElementImpl::HTMLTitleElementImpl):
870 (HTMLTitleElementImpl::insertedIntoDocument):
871 (HTMLTitleElementImpl::removedFromDocument):
872 (HTMLTitleElementImpl::childrenChanged):
873 Pass the current title node to DocumentImpl::setTitle
876 (HTMLTitleElementImpl::text):
879 (HTMLTitleElementImpl::setText):
882 * khtml/xml/dom_docimpl.cpp:
883 (DocumentImpl::DocumentImpl):
884 (DocumentImpl::~DocumentImpl):
885 (DocumentImpl::updateTitle):
886 (DocumentImpl::setTitle):
887 (DocumentImpl::removeTitle):
888 * khtml/xml/dom_docimpl.h:
889 Only update the title if it's done by setting document.title
890 or by changing the child nodes of the title element.
892 2005-06-22 Darin Adler <darin@apple.com>
894 Changes by Mitz Pettel.
897 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3633>
898 Layout order of bidi level runs is incorrect
901 * layout-tests/fast/text/international/bidi-L2-run-reordering-expected.txt: Added.
902 * layout-tests/fast/text/international/bidi-L2-run-reordering.html: Added.
904 * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Fixed mistake
905 where we'd advance too far after reversing a run.
907 2005-06-22 Darin Adler <darin@apple.com>
909 - added test case for JavaScriptCore fix
911 * layout-tests/fast/js/string-replace-2-expected.txt: Added.
912 * layout-tests/fast/js/string-replace-2.html: Added.
914 2005-06-22 Darin Adler <darin@apple.com>
916 Reviewed by John Sullivan.
919 * layout-tests/fast/dom/css-set-property-exception-expected.txt: Added.
920 * layout-tests/fast/dom/css-set-property-exception.html: Added.
922 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3616>
923 RSS search field, Dashboard widgets failing due to CSS exception
925 * khtml/ecma/kjs_css.cpp: (KJS::DOMCSSStyleDeclaration::tryPut):
926 Ignore exceptions when setting properties.
928 * layout-tests/fast/js/exception-linenums.html: Changed test case that
929 involved setting style to one that involved setting another property that
930 raises an exception when you try to set it (setting prefix on a text node).
932 2005-06-22 Darin Adler <darin@apple.com>
934 Change proposed by Eric Seidel.
936 * WebCore.pbproj/project.pbxproj: Fix build rule to match the one in JavaScriptCore.
937 The one here accidentally had hard-coded paths in it and also had the $() vs. ${}
938 issue that broke building on Xcode 2.1 for no good reason (it didn't need $() or ${}).
940 2005-06-21 Maciej Stachowiak <mjs@apple.com>
942 Patch from KevinBallard <kevin@sb.org>, reviewed by me.
944 - fix build for Xcode 2.1, use ${} for INPUT_FILE_BASE to fix build with Xcode 2.1
946 * WebCore.pbproj/project.pbxproj:
948 2005-06-21 Justin Garcia <justin.garcia@apple.com>
950 - Fixes <rdar://problem/4114192>.
951 - Fixes a crash in TOT Mail/Blot if you Edit -> Add Hyperlink on a Selection
952 that ends at the end of the document
953 - Fixes a problem in TOT Mail/Blot where Edit -> Add Hyperlink creates
954 a link one character beyond what is expected.
956 In replacement, during insertion, some special case code was being called inappropriately.
960 Test cases added: None, requires manual interaction
962 * khtml/editing/replace_selection_command.cpp:
963 (khtml::ReplaceSelectionCommand::doApply): In "step 2" of a replacement, we should
964 only next() the insertion point if the special pre-insertion-merge actually occured.
965 mergeStart used to be the correct check for the occurence of a pre-insertion-merge, but
966 a bug fix made this not the case. A non-null m_lastNodeInserted correctly signals
967 that some pre-insertion merging occured.
969 2005-06-21 Darin Adler <darin@apple.com>
971 * WebCore.pbproj/project.pbxproj: Switched to a build rule rather than a build phase for the
972 .y files -- this gets rid of the problem where modifying the .y file would not cause sufficient
975 * khtml/css/parser_wrapper.cpp: Removed.
977 2005-06-21 Adele Peterson <adele@apple.com>
980 <http://bugzilla.opendarwin.org/show_bug.cgi?id=3450>
981 <rdar://problem/3881901> String.replace() method not working when regex pattern contains {n, m}
983 * layout-tests/fast/js/string_replace-expected.txt: Added.
984 * layout-tests/fast/js/string_replace.html: Added.
986 2005-06-21 Geoffrey Garen <ggaren@apple.com>
988 Patch contributed by Niels Leenheer <niels.leenheer@gmail.com>
990 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3370
991 (Safari can't handle strange frame dimensions)
995 * khtml/dom/dom_string.cpp:
996 (DOM::DOMString::toCoordsArray):
997 * khtml/dom/dom_string.h:
998 * khtml/html/html_imageimpl.cpp:
999 (HTMLAreaElementImpl::parseMappedAttribute):
1000 * khtml/xml/dom_atomicstring.h:
1001 (DOM::AtomicString::toCoordsArray):
1002 * khtml/xml/dom_stringimpl.cpp:
1004 (DOM::DOMStringImpl::toCoordsArray):
1005 (DOM::DOMStringImpl::toLengthArray):
1006 * khtml/xml/dom_stringimpl.h:
1009 * layout-tests/fast/frames/invalid-expected.txt: Added.
1010 * layout-tests/fast/frames/invalid.html: Added.
1011 * layout-tests/fast/frames/valid-expected.txt: Added.
1012 * layout-tests/fast/frames/valid.html: Added.
1014 2005-06-21 Geoffrey Garen <ggaren@apple.com>
1016 - fixed <rdar://problem/4155049> javascript function named as "opener" doesn't get called because of window.opener property
1018 Test cases only, fix is in JavaScriptCore
1024 * layout-tests/fast/js/global-opener-function-expected.txt: Added.
1025 * layout-tests/fast/js/global-opener-function.html: Added.
1027 2005-06-21 David Harrison <harrison@apple.com>
1031 - show class and style attributes for element nodes
1032 - nil check the node being showTree'd
1033 - add Position::showTree()
1035 Test cases added: None needed for this debug-only utility code.
1037 * khtml/editing/selection.cpp:
1038 (khtml::Selection::showTree):
1039 - nil check the node
1040 * khtml/editing/visible_position.cpp:
1041 (khtml::VisiblePosition::previousVisiblePosition):
1043 (khtml::VisiblePosition::showTree):
1044 - nil check the node
1045 * khtml/xml/dom_nodeimpl.cpp:
1046 (appendAttributeDesc):
1047 (NodeImpl::showNode):
1048 - show class and style attributes for element nodes
1049 * khtml/xml/dom_position.cpp:
1050 (DOM::Position::showTree):
1051 * khtml/xml/dom_position.h:
1052 - add Position::showTree()
1054 2005-06-20 Maciej Stachowiak <mjs@apple.com>
1056 Reviewed by Darin(first pass) and Hyatt.
1058 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3576
1059 (roll in support for "const" keyword from KDE tree)
1060 - make processVarDecls handle deletability of variables declared
1061 in an eval block the same as evaluate would
1062 - make eval() call processVarDecls - needed to match mozilla and
1063 to make the second change testable
1065 Test cases only, fix is in JavaScriptCore
1068 * layout-tests/fast/js/const-expected.txt: Added.
1069 * layout-tests/fast/js/const.html: Added.
1070 * layout-tests/fast/js/eval-var-decl-expected.txt: Added.
1071 * layout-tests/fast/js/eval-var-decl.html: Added.
1073 2005-06-20 Maciej Stachowiak <mjs@apple.com>
1075 Patch from Mark Rowe <opendarwin.org@bdash.net.nz>, reviewed by me.
1077 - fixed http://bugzilla.opendarwin.org/attachment.cgi?id=2483
1080 * layout-tests/fast/js/hasOwnProperty-expected.txt: Added.
1081 * layout-tests/fast/js/hasOwnProperty.html: Added.
1082 - also fixed two mozilla JS tests
1084 * khtml/ecma/kjs_binding.h:
1085 * khtml/ecma/kjs_css.cpp:
1086 (KJS::DOMCSSStyleDeclaration::hasOwnProperty):
1087 * khtml/ecma/kjs_css.h:
1088 * khtml/ecma/kjs_dom.cpp:
1089 (KJS::DOMNodeList::hasOwnProperty):
1090 (KJS::DOMNamedNodeMap::hasOwnProperty):
1091 * khtml/ecma/kjs_dom.h:
1092 * khtml/ecma/kjs_html.cpp:
1093 (KJS::HTMLDocument::hasOwnProperty):
1094 (KJS::KJS::HTMLElement::hasOwnProperty):
1095 (KJS::KJS::HTMLCollection::hasOwnProperty):
1096 * khtml/ecma/kjs_html.h:
1097 * khtml/ecma/kjs_window.cpp:
1098 (KJS::Window::hasOwnProperty):
1099 (KJS::Konqueror::hasOwnProperty):
1100 * khtml/ecma/kjs_window.h:
1102 2005-06-20 Geoffrey Garen <ggaren@apple.com>
1104 Changes by Darin. Layout tests by me. Reviewed by me.
1106 Fixed <rdar://problem/4152454> crash in KJS::ExprStatementNode::execute(KJS::ExecState*) in World Clock widget with TOT.
1109 * layout-tests/fast/dom/gc-4-expected.txt: Added.
1110 * layout-tests/fast/dom/gc-4.html: Added.
1112 * khtml/ecma/kjs_html.cpp:
1113 (KJS::Context2D::mark): mark now (1) checks for NULL pointers and (2)
1114 calls mark on its parent class (DOMObject::mark).
1116 2005-06-19 Darin Adler <darin@apple.com>
1118 Changes by both Anders Carlsson and me.
1119 Reviewed by Maciej and me.
1122 * layout-tests/fast/forms/element-order-expected.txt: Added.
1123 * layout-tests/fast/forms/element-order.html: Added.
1125 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3503>
1126 form.elements[] not order-preserving when elements added via DOM
1128 * khtml/html/html_formimpl.h: Added formElementIndex.
1129 * khtml/html/html_formimpl.cpp:
1130 (DOM::insertIntoVector): Added.
1131 (DOM::HTMLFormElementImpl::formElementIndex): Added. Computes an appropriate
1132 index for a form element, given the document position relative to the other elements.
1133 (DOM::HTMLFormElementImpl::registerFormElement): Use formElementIndex to determine
1134 where to insert the element in the formElements array.
1136 2005-06-19 Darin Adler <darin@apple.com>
1138 Changes by Anders Carlsson and me.
1139 Reviewed by Maciej and me.
1141 Test cases added: None. Could not figure out how to automate a test without
1142 making enhancements to DumpRenderTree.
1144 - fixed <rdar://problem/4141141> Onselect event is ignored with TEXTAREA and INPUT
1145 also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3256>
1147 * khtml/html/html_formimpl.cpp: (DOM::HTMLTextAreaElementImpl::select):
1148 Remove unneeded explicit call to onSelect() here -- now handled by the renderer.
1150 * khtml/rendering/render_form.h: Added declarations as needed below.
1151 * khtml/rendering/render_form.cpp:
1152 (RenderFormElement::slotSelectionChanged): Add base class implementation that does nothing.
1153 (RenderLineEdit::RenderLineEdit): Connect the selection changed signal to our slot.
1154 (RenderLineEdit::slotSelectionChanged): Call onSelect when selection changes to something
1155 that's a selection (not a caret).
1156 (RenderTextArea::RenderTextArea): Connect as above.
1157 (RenderTextArea::slotSelectionChanged): Call as above.
1159 * kwq/KWQLineEdit.h: Added declarations as needed below.
1160 * kwq/KWQLineEdit.mm:
1161 (QLineEdit::QLineEdit): Added selectionChanged signal.
1162 (QLineEdit::hasSelectedText): Added.
1165 (KWQSlot::KWQSlot): Make selectionChanged work on any form element.
1166 (KWQSlot::call): ditto.
1168 * kwq/KWQTextArea.h: Added hasSelection method.
1169 * kwq/KWQTextArea.mm:
1170 (-[KWQTextArea textViewDidChangeSelection:]): Added. Sends selectionChanged signal, except if
1171 we're in the middle of gaining or losing first responder.
1172 (-[KWQTextArea hasSelection]): Added.
1173 (-[KWQTextAreaTextView becomeFirstResponder]): Added. Sets flag to tell us we're in a responder
1174 change (using a count to avoid trouble if we reenter).
1175 (-[KWQTextAreaTextView resignFirstResponder]): Ditto.
1176 (-[KWQTextAreaTextView inResponderChange]): Added.
1178 * kwq/KWQTextEdit.h: Added declarations as needed below.
1179 * kwq/KWQTextEdit.mm:
1180 (QTextEdit::QTextEdit): Added selectionChanged signal.
1181 (QTextEdit::hasSelectedText): Added.
1183 * kwq/KWQTextField.h: Added declarations as needed below.
1184 * kwq/KWQTextField.mm:
1185 (-[KWQTextFieldController initWithTextField:QLineEdit:]): Fixed up to do the right
1186 thing with the result of the init function we call.
1187 (-[KWQTextFieldController controlTextDidEndEditing:]): Removed call to setHasFocus:NO
1188 since it's a little too late by the time the control is called; now handled by the
1189 text view delegate methods below.
1190 (-[KWQTextFieldController hasSelection]): Added.
1191 (-[KWQTextFieldController setHasFocus:]): Sets the new hasFocusAndSelectionSet after
1192 new focus and selection are both set up.
1193 (-[KWQTextFieldController textViewDidChangeSelection:]): Added. Sends the selection
1195 (-[KWQTextField initWithQLineEdit:]): Fixed up to do the right thing with the result
1196 of the init function we call.
1197 (-[KWQTextField textViewDidChangeSelection:]): Added. Calls super and then calls the
1199 (-[KWQTextField textDidEndEditing:]): Added. Calls setHasFocus:NO and then calls super.
1200 (-[KWQSecureTextField initWithQLineEdit:]): Same as above, but for secure text fields.
1201 (-[KWQSecureTextField textViewDidChangeSelection:]): Ditto.
1202 (-[KWQSecureTextField textDidEndEditing:]): Ditto.
1203 (-[KWQSearchField initWithQLineEdit:]): Same as above, but for search fields.
1204 (-[KWQSearchField textViewDidChangeSelection:]): Ditto.
1205 (-[KWQSearchField textDidEndEditing:]): Ditto.
1206 (-[KWQTextFieldFormatter init]): Fixed up to do the right thing with the result of
1207 the init function we call.
1209 2005-06-18 Darin Adler <darin@apple.com>
1211 Changes by Anders Carlsson.
1215 * layout-tests/fast/dom/css-dom-read-expected.txt: Added.
1216 * layout-tests/fast/dom/css-dom-read.html: Added.
1218 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3534>
1219 CSSMutableStyleDeclarationImpl::item is unimplemented
1221 * khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::item):
1222 Get the style from the m_values list.
1224 2005-06-18 Darin Adler <darin@apple.com>
1226 - undid a last minute change I made that broke a patch I landed
1227 (layout tests caught the mistake, all should work again now)
1229 * khtml/html/html_formimpl.cpp:
1230 (DOM::HTMLLabelElementImpl::formElement): Don't include this when iterating.
1231 (DOM::HTMLLegendElementImpl::formElement): Ditto.
1233 2005-06-18 Darin Adler <darin@apple.com>
1235 - removing the applet tests, since they are causing other tests to fail
1237 * layout-tests/fast/replaced/applet-hspace-expected.txt: Removed.
1238 * layout-tests/fast/replaced/applet-hspace.html: Removed.
1239 * layout-tests/fast/replaced/applet-vspace-expected.txt: Removed.
1240 * layout-tests/fast/replaced/applet-vspace.html: Removed.
1241 * layout-tests/fast/replaced/resources/applet.class: Removed.
1242 * layout-tests/fast/replaced/resources/applet.java: Removed.
1244 2005-06-18 Darin Adler <darin@apple.com>
1246 Changes by Anders Carlsson.
1250 * layout-tests/fast/dom/resources/script3.js: Added.
1251 * layout-tests/fast/dom/resources/script4.js: Added.
1252 * layout-tests/fast/dom/resources/script5.js: Added.
1253 * layout-tests/fast/dom/script-add-expected.txt: Added.
1254 * layout-tests/fast/dom/script-add.html: Added.
1256 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3526>
1257 improve support for dynamically added <script> elements
1259 * khtml/html/html_headimpl.h: Added override of childrenChanged, new evaluateScript
1260 function, and m_evaluated boolean.
1261 * khtml/html/html_headimpl.cpp:
1262 (HTMLScriptElementImpl::HTMLScriptElementImpl): Init m_evaluated to false.
1263 (HTMLScriptElementImpl::childrenChanged): Added code to evaluate the script the first
1264 time a child is added (except for nodes created by parsing).
1265 (HTMLScriptElementImpl::insertedIntoDocument): Refactored to use the new text and
1266 evaluateScript functions. Also changed to not try to evaluate the script if the element
1267 is entirely empty. This allows you to declare an empty <script> element and fill the
1268 content in later using DHTML.
1269 (HTMLScriptElementImpl::notifyFinished): Refactored to use the new evaluateScript function.
1270 (HTMLScriptElementImpl::evaluateScript): Added. Checks and sets a new m_evaluated boolean
1271 to implement the "evaluate each script only once" rule.
1272 (HTMLScriptElementImpl::text): Replaced bogus implementation with one that works.
1273 (HTMLScriptElementImpl::setText): Ditto.
1275 * khtml/dom/html_head.cpp:
1276 (HTMLScriptElement::text): Replaced bogus implementation with one that calls through to
1277 the implementation class. This change doesn't really matter since we don't compile this file.
1278 (HTMLScriptElement::setText): Ditto.
1280 2005-06-18 Darin Adler <darin@apple.com>
1282 * khtml/html/html_formimpl.cpp: (DOM::HTMLLabelElementImpl::formElement):
1283 Oops, checked in a version that didn't even compile! Fixed now.
1285 2005-06-18 Darin Adler <darin@apple.com>
1287 Changes by Anders Carlsson.
1291 * layout-tests/fast/forms/focus-expected.txt: Added.
1292 * layout-tests/fast/forms/focus.html: Added.
1293 * layout-tests/fast/forms/legend-access-key-expected.txt: Added.
1294 * layout-tests/fast/forms/legend-access-key.html: Added.
1296 - fixed <rdar://problem/3481846> HTML4: accesskey not supported by HTML legend elements
1297 also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3407>
1298 - added focus methods for <label> and <legend> elements
1299 - fixed crash when using JavaScript-created events that prevented tests from running
1301 * khtml/ecma/kjs_html.h: Added focus methods.
1302 * khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLElementFunction::tryCall): Added bindings for
1303 focus for <label> and <legend>. (Sorry about the merging, Dave.)
1305 * khtml/html/html_formimpl.h: Added new functions.
1306 * khtml/html/html_formimpl.cpp:
1307 (DOM::HTMLLabelElementImpl::focus): Added.
1308 (DOM::HTMLLegendElementImpl::formElement): Added.
1309 (DOM::HTMLLegendElementImpl::focus): Added.
1310 (DOM::HTMLLegendElementImpl::accessKeyAction): Added.
1312 * khtml/xml/dom_docimpl.cpp: (DocumentImpl::defaultEventHandler): If there's no QKeyEvent,
1313 then get the key name from keyIdentifier() instead of the QKeyEvent's unmodifiedText().
1314 The old code would just do a nil-deref.
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/object-align-hspace-vspace-expected.txt: Added.
1323 * layout-tests/fast/replaced/object-align-hspace-vspace.html: Added.
1324 * layout-tests/fast/replaced/resources/webkit-background.png: Added.
1326 * khtml/html/html_objectimpl.cpp:
1327 (DOM::HTMLObjectElementImpl::mapToEntry): Add cases for ATTR_ALIGN, ATTR_VSPACE and ATTR_HSPACE.
1328 (DOM::HTMLObjectElementImpl::parseMappedAttribute): Ditto.
1330 2005-06-18 Darin Adler <darin@apple.com>
1332 Change by Niels Leenheer (also done by Dave Hyatt on stage at WWDC).
1336 * layout-tests/fast/replaced/applet-hspace-expected.txt: Added.
1337 * layout-tests/fast/replaced/applet-hspace.html: Added.
1338 * layout-tests/fast/replaced/applet-vspace-expected.txt: Added.
1339 * layout-tests/fast/replaced/applet-vspace.html: Added.
1340 * layout-tests/fast/replaced/resources/applet.class: Added.
1341 * layout-tests/fast/replaced/resources/applet.java: Added.
1343 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3246>
1344 HSPACE and VSPACE attributes are ignored in APPLET element
1346 * khtml/html/html_objectimpl.cpp:
1347 (DOM::HTMLAppletElementImpl::mapToEntry): Add cases for ATTR_VSPACE and ATTR_HSPACE.
1348 (DOM::HTMLAppletElementImpl::parseMappedAttribute): Ditto.
1350 2005-06-18 Darin Adler <darin@apple.com>
1352 - removed some unused code from one of the KWQ headers
1354 * kwq/KWQKHTMLPartBrowserExtension.h:
1356 - added a layout test for a bug that's already fixed
1358 * layout-tests/fast/forms/element-by-name-expected.txt: Added.
1359 * layout-tests/fast/forms/element-by-name.html: Added.
1361 2005-06-17 Vicki Murley <vicki@apple.com>
1365 Test cases added: None, since this test requires manual interaction.
1367 - fixed <rdar://problem/4086793> Selects wrapped by Span or Label elements
1368 do not resize when options are added via javascript
1370 * khtml/rendering/render_form.cpp:
1371 (RenderSelect::layout): Remove call setting setNeedsLayout to true. setNeedsLayout
1372 is already true at this point, and this additional call has the negative effect of
1373 marking m_normalChildNeedsLayout on the element's parent, which keeps layout from
1374 propagating all the way up to the root later on.
1376 2005-06-17 Justin Garcia <justin.garcia@apple.com>
1378 Fix for rdar://3756860, (also listed as) http://bugzilla.opendarwin.org/show_bug.cgi?id=3295
1379 The cellIndex property for HTMLTableCellElement was always zero because the method to support it was just a stub.
1380 KHTML fix was to simply call nodeIndex(), but this is incorrect because a table row can have as children <script>s
1381 and <form>s (and perhaps others).
1383 Reviewed by hyatt and john
1386 * layout-tests/fast/table/cellindex.html: Added. Illustrates the fix.
1388 * khtml/html/html_tableimpl.cpp:
1389 (DOM::HTMLTableCellElementImpl::cellIndex): Iterate through siblings only counting <th> and <td> elements
1390 * khtml/html/html_tableimpl.h:
1392 2005-06-17 Adele Peterson <adele@apple.com>
1396 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3419
1397 <rdar://problem/4111752> REGRESSION (125-312/412): Safari doesn't display edmunds.com pages first time through
1399 * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): set 'script' flag when
1400 parsing <script src="foo" /> case. In this case, parseTag calls the scriptHandler function which expects
1401 that flag to be set, and sets it back to false at the appropriate time.
1403 Test cases added: These still don't test the cached script cases, but they're good regression
1404 tests for the tokenizer. We'll have to come up with a good way to test the cached cases later.
1406 * layout-tests/fast/tokenizer/external-script-document-write_2-expected.txt: Added.
1407 * layout-tests/fast/tokenizer/external-script-document-write_2.html: Added.
1408 * layout-tests/fast/tokenizer/resources/empty_script.js: Added.
1409 * layout-tests/fast/tokenizer/script_extra_close-expected.txt: Added.
1410 * layout-tests/fast/tokenizer/script_extra_close.html: Added.
1411 * layout-tests/fast/tokenizer/script_quirk-expected.txt: Added.
1412 * layout-tests/fast/tokenizer/script_quirk.html: Added.
1414 2005-06-17 Justin Garcia <justin.garcia@apple.com>
1416 Fixed fprintf problem in gcc4.0
1420 Test cases added: See previous ChangeLog entry
1422 * khtml/xml/dom_nodeimpl.cpp:
1423 (NodeImpl::showTreeAndMark): Fixed fprintf warning in gcc4
1425 2005-06-17 Geoffrey Garen <ggaren@apple.com>
1427 Patch contributed by Anders Carlsson<andersca@mac.com>.
1429 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=3408
1433 Test cases added: None. Test requires manual interaction.
1434 Manual test available at: http://bugzilla.opendarwin.org/attachment.cgi?id=2207
1436 * khtml/html/html_formimpl.cpp: Eliminated HTMLButtonElementImpl::click. HTMLButtonElementImpl now inherits HTMLElementImpl::click.
1437 * khtml/html/html_formimpl.h: Ditto.
1439 2005-06-17 Darin Adler <darin@apple.com>
1443 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3556
1444 black diamond question mark shown for invalid UTF-8 sequences
1447 * layout-tests/fast/encoding/invalid-UTF-8-expected.txt: Added.
1448 * layout-tests/fast/encoding/invalid-UTF-8.html: Added.
1450 * kwq/KWQTextCodec.mm:
1451 (unwanted): Added. Returns true for BOM, replacement, and null characters.
1452 (KWQTextDecoder::appendOmittingUnwanted): Renamed from appendOmittingNullsAndBOMs and
1453 changed to use the new "unwanted" function, which causes it to omit replacement characters.
1454 (KWQTextDecoder::convertUsingTEC): Call append function by its new name.
1456 2005-06-16 Justin Garcia <justin.garcia@apple.com>
1458 Added a few debugging methods to highlight Selections, VisiblePositions and Nodes in the DOM tree.
1460 Reviewed by Dave Harrison
1462 Test cases added: None, changes are only to aid debugging
1464 * khtml/editing/selection.cpp:
1465 (khtml::Selection::showTree):
1466 * khtml/editing/selection.h:
1467 * khtml/editing/visible_position.cpp:
1468 (khtml::VisiblePosition::showTree):
1469 * khtml/editing/visible_position.h:
1470 * khtml/xml/dom_nodeimpl.cpp:
1471 (NodeImpl::showNode):
1472 (NodeImpl::showTree):
1473 (NodeImpl::showTreeAndMark):
1474 * khtml/xml/dom_nodeimpl.h:
1476 2005-06-14 David Hyatt <hyatt@apple.com>
1478 Add an initial implementation of QualifiedName and HTMLNames. These classes are not used by anyone yet.
1479 Progress being recorded in bugzilla bug 3405.
1483 Test cases added: (None, does not affect build yet)
1485 * WebCore.pbproj/project.pbxproj:
1486 * khtml/xml/dom_qname.h,.cpp
1487 * khtml/html/htmlnames.h,.cpp
1489 2005-06-14 David Hyatt <hyatt@apple.com>
1491 The behavior of <pre> is broken so that the newline
1492 is not always properly being eaten after the open of the tag. In addition we were eating the first newline
1493 after all other tags. This patch stops eating newlines after other tags and refines the behavior for pre
1496 Reviewed by sullivan
1498 Test cases added: fast/text/whitespace/030.html
1500 * khtml/html/htmltokenizer.cpp:
1501 (khtml::HTMLTokenizer::parseTag):
1502 (khtml::HTMLTokenizer::write):
1504 2005-06-13 Vicki Murley <vicki@apple.com>
1508 No test cases added since the steps to reproduce require use of showModalDialog.
1510 - fix for <rdar://problem/4145910> parameters not working in showModalDialog
1511 test page (dialogWidth, dialogHeight, etc.)
1513 * khtml/ecma/kjs_window.cpp:
1514 (KJS::parseFeatures): add a check for colon character in the feature string
1516 2005-06-13 Maciej Stachowiak <mjs@apple.com>
1518 Reviewed by Chris Blumenberg and Adele.
1520 - better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
1521 http://bugzilla.opendarwin.org/show_bug.cgi?id=3445
1523 With this change and the matching WebKit change we'll still stop loading the moment you click
1524 a download link, but the unload event and detaching of event handlers will not happen early any more.
1526 * khtml/khtml_part.cpp:
1527 (KHTMLPart::stopLoading): Factored out from closeURL, make firing of unload
1528 and detaching of event handlers optional.
1529 (KHTMLPart::closeURL): call stopLoading(true)
1530 * khtml/khtml_part.h:
1531 * kwq/WebCoreBridge.h:
1532 * kwq/WebCoreBridge.mm:
1533 (-[WebCoreBridge stopLoading]): Call stopLoading(false).
1535 2005-06-13 Maciej Stachowiak <mjs@apple.com>
1537 Patch from Andrew Wellington <proton@wiretapped.net>
1540 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3302
1541 (Safari crashes when going to acid2 test page once it's in cache)
1543 No test cases addded since the repro steps require use of tabbed browsing.
1545 * khtml/khtml_part.cpp:
1546 (KHTMLPart::handleFallbackContent): check for nil
1548 2005-06-12 Darin Adler <darin@apple.com>
1550 - added expected test results for new tests
1552 * layout-tests/fast/selectors/159-expected.txt: Added.
1553 * layout-tests/fast/selectors/177a-expected.txt: Added.
1554 * layout-tests/fast/selectors/177b-expected.txt: Added.
1556 2005-06-11 Maciej Stachowiak <mjs@apple.com>
1558 Patch from Nicholas Shanks <contact@nickshanks.com>, reviewed by me.
1560 - Distinguish between pseudo-elements and pseudo-classes in CSS parsing.
1561 http://bugzilla.opendarwin.org/show_bug.cgi?id=3375
1563 Merge of svn log -v -r 399829 svn://anonsvn.kde.org/home/kde
1565 Test cases added: Added the following from CSS selector test suite,
1566 unfortunately 159 and 117a do not show any difference with and without the
1567 patch since layout tests do not dump selection style (yet).
1569 * layout-tests/fast/selectors/159.html: Added.
1570 * layout-tests/fast/selectors/177a.html: Added.
1571 * layout-tests/fast/selectors/177b.html: Added.
1573 * khtml/css/css_base.cpp:
1574 (CSSSelector::specificity):
1575 (CSSSelector::extractPseudoType):
1576 (CSSSelector::selectorText):
1577 * khtml/css/css_base.h:
1578 (DOM::CSSSelector::):
1579 (DOM::CSSSelector::pseudoType):
1580 * khtml/css/cssstyleselector.cpp:
1581 (khtml::CSSStyleSelector::checkSelector):
1582 (khtml::CSSStyleSelector::checkOneSelector):
1583 * khtml/css/parser.y:
1585 2005-06-11 Maciej Stachowiak <mjs@apple.com>
1587 Patch from Timothy Hatcher <timothy@colloquy.info>, reviewed by me.
1590 * layout-tests/fast/dom/children-nodes-expected.txt: Added.
1591 * layout-tests/fast/dom/children-nodes.html: Added.
1593 * khtml/html/html_miscimpl.cpp:
1594 (DOM::HTMLCollectionImpl::traverseNextItem): For "children"
1595 collection, use nextSibling() instead of traverseNextNext() to avoid
1596 doing deep traversal.
1598 2005-06-11 Maciej Stachowiak <mjs@apple.com>
1600 Added missing expected results from the background image patch.
1602 * layout-tests/fast/backgrounds/001-expected.txt: Added.
1604 2005-06-10 David Hyatt <hyatt@apple.com>
1606 Fix for bugzilla bug 3335, add support for the CSS3 indirect adjacent sibling selector. Patch merge
1607 from KHTML tree by Nick Shanks.
1611 Test cases added: fast/selectors/046.html
1613 * khtml/css/css_base.cpp:
1614 (CSSSelector::selectorText):
1615 * khtml/css/css_base.h:
1616 (DOM::CSSSelector::):
1617 * khtml/css/cssstyleselector.cpp:
1618 (khtml::CSSStyleSelector::checkSelector):
1619 * khtml/css/parser.y:
1620 * layout-tests/fast/selectors/046-expected.txt: Added.
1621 * layout-tests/fast/selectors/046.html: Added.
1623 2005-06-10 David Hyatt <hyatt@apple.com>
1625 Fix for 3237, background image repeats when it shouldn't. The Radar bug is 4005553. Patch from
1628 Reviewed by darin and hyatt
1630 Test cases added: fast/backgrounds/001.html
1632 * khtml/rendering/render_box.cpp:
1633 (RenderBox::paintBackgroundExtended):
1634 * layout-tests/fast/backgrounds/001.html: Added.
1636 2005-06-10 David Hyatt <hyatt@apple.com>
1638 Merge Allan Jensen's fix for 3236.
1642 Test cases added: None, test case already added for the bug.
1644 * khtml/css/cssstyleselector.cpp:
1645 (khtml::CSSStyleSelector::applyProperty):
1646 * khtml/rendering/render_style.cpp:
1647 (RenderStyle::setContent):
1649 2005-06-10 Darin Adler <darin@apple.com>
1651 Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
1652 Refined and reviewed by me.
1654 - test for exception file/line number fix
1655 http://bugzilla.opendarwin.org/show_bug.cgi?id=3327
1657 * layout-tests/fast/js/exception-linenums-expected.txt: Added.
1658 * layout-tests/fast/js/exception-linenums.html: Added.
1660 2005-06-09 David Hyatt <hyatt@apple.com>
1662 Fix from Carston Guenther for bugzilla bug 3236.
1664 attr(x) should work even if x is not present on the element.
1666 This is Radar bug #3584466
1670 Test cases added: fast/css-generated-content/013.html
1672 * khtml/css/cssstyleselector.cpp:
1673 (khtml::CSSStyleSelector::applyProperty):
1674 * layout-tests/fast/css-generated-content/013-expected.txt: Added.
1675 * layout-tests/fast/css-generated-content/013.html: Added.
1677 2005-06-09 Darin Adler <darin@apple.com>
1679 Tested by Mark Rowe.
1681 * layout-tests/fast/js/date-parse-test.html: Updated this test to use a time zone offset
1682 for one of the test cases that's time zone dependent; was working in CA, US, failing in NZ.
1684 2005-06-08 Anders Carlsson <andersca@mac.com>
1686 Reviewed and committed by Maciej.
1688 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3337
1689 (Support the Mozilla DOMParser and XMLSerializer objects)
1691 <rdar://problem/3533735> implement Mozilla "DOMParser" extension for use with XMLHTTPRequest
1694 * layout-tests/fast/dom/dom-parse-serialize-display-expected.txt: Added.
1695 * layout-tests/fast/dom/dom-parse-serialize-display.html: Added.
1696 * layout-tests/fast/dom/dom-parse-serialize-expected.txt: Added.
1697 * layout-tests/fast/dom/dom-parse-serialize.html: Added.
1699 * khtml/ecma/domparser.h:
1700 * khtml/ecma/domparser.cpp:
1701 Add files implementing the DOMParser object.
1703 * khtml/ecma/kjs_window.h:
1704 * khtml/ecma/kjs_window.cpp:
1705 Expose DOMParser object.
1707 2005-06-07 David Hyatt <hyatt@apple.com>
1709 Patch from Brian Campbell. Make sure the min and max values of slider properly update.
1710 Fixes bugilla bug 3323, internal Radar # is 4098892.
1714 Test cases added: (Not testable with a layout test)
1717 (QSlider::setMinValue):
1718 (QSlider::setMaxValue):
1720 2005-06-07 Adele Peterson <adele@apple.com>
1722 Change by Darin, reviewed by Maciej and me.
1724 - fixed <rdar://problem/4139800> REGRESSION: Safari crashes at bebe.com
1726 There were cases where the DOMNode mark function would end up not even
1727 marking the node that it was called on. The old code tried to skip any
1728 subtrees that were already marked, but that code was wrong.
1730 * khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::mark): Changed three things:
1731 1) Instead of a boolean, keep a set of trees that we are marking, that
1732 prevents problems if we mark things that have references between
1733 separate trees of DOM nodes.
1734 2) Don't do the "outermost node with a wrapper" check, just start marking
1735 at the root of the entire tree, because there's no way to have an
1736 unreachable node pointing to a reachable node.
1737 3) Handle the unusual case where the document's wrapper dictionary is
1738 gone by marking just this node explicitly.
1739 This passes the layout tests, still fixes the Dashboard memory leak from
1740 bug 4125222, and makes bebe.com work again.
1742 2005-06-07 Darin Adler <darin@apple.com>
1744 Change by Toby Peterson <toby@opendarwin.org>.
1747 * WebCore.pbproj/project.pbxproj: Allow bison 2.0, which generates the file
1748 with a different name.
1750 2005-06-07 Darin Adler <darin@apple.com>
1752 Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
1755 - fixed the WebCore half of build failure with spaces in the path
1756 http://bugzilla.opendarwin.org/show_bug.cgi?id=3291
1758 * WebCore.pbproj/project.pbxproj: Add quotes to make LIBRARY_SEARCH_PATHS work even when
1759 the path has a space in it.
1761 2005-06-07 David Hyatt <hyatt@apple.com>
1763 Patch from Mark Rowe to fix a minor memory leak in WebCoreSettings.
1767 * kwq/WebCoreSettings.mm:
1768 (-[WebCoreSettings dealloc]):
1770 2005-06-04 Darin Adler <darin@apple.com>
1774 - import icu headers into project
1776 * WebCore.pbproj/project.pbxproj: Added icu directory to header search path.
1778 * icu/README: Added.
1779 * icu/unicode/parseerr.h: Added.
1780 * icu/unicode/platform.h: Added.
1781 * icu/unicode/putil.h: Added.
1782 * icu/unicode/ubrk.h: Added.
1783 * icu/unicode/uchar.h: Added.
1784 * icu/unicode/uconfig.h: Added.
1785 * icu/unicode/uenum.h: Added.
1786 * icu/unicode/uidna.h: Added.
1787 * icu/unicode/uiter.h: Added.
1788 * icu/unicode/uloc.h: Added.
1789 * icu/unicode/umachine.h: Added.
1790 * icu/unicode/urename.h: Added.
1791 * icu/unicode/ustring.h: Added.
1792 * icu/unicode/utf.h: Added.
1793 * icu/unicode/utf16.h: Added.
1794 * icu/unicode/utf8.h: Added.
1795 * icu/unicode/utf_old.h: Added.
1796 * icu/unicode/utypes.h: Added.
1797 * icu/unicode/uversion.h: Added.
1799 2005-06-01 Darin Adler <darin@apple.com>
1801 Reviewed by John Sullivan.
1802 No layout tests added because showModalDialog won't work in DumpRenderTree at the moment.
1804 - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog
1806 * khtml/ecma/kjs_window.cpp:
1807 (KJS::allowPopUp): Added. Used by showModalDialog now and should be used by window.open later.
1808 (KJS::parseFeatures): Ditto.
1809 (KJS::boolFeature): Ditto.
1810 (KJS::intFeature): Ditto.
1811 (KJS::createNewWindow): Ditto.
1812 (KJS::canShowModalDialog): Added.
1813 (KJS::canShowModalDialogNow): Added.
1814 (KJS::showModalDialog): Added.
1815 (KJS::Window::get): Return the showModalDialog function object if the extension can run modal.
1816 (KJS::Window::clear): Add code to store the return value for the case where the window is a modal dialog.
1817 (KJS::WindowFunc::tryCall): Add the call to the showModalDialog function.
1819 * khtml/ecma/kjs_window.h: Add setReturnValueSlot function so showModalDialog can get the return
1820 value from the dialog it creates. Also add a data member to keep track of the pointer and a constant
1821 for the ShowModalDialog method.
1823 * khtml/khtml_part.h: Added new changeLocation member function. Made setOpener, openedByJS, and
1824 setOpenedByJS public.
1826 * khtml/khtml_part.cpp:
1827 (KHTMLPart::changeLocation): Broke out the part of slotRedirect that actually does the location change
1828 into a separate function so it can be called when needed. The case using it now is to load the content
1829 of a new window in KJS::createNewWindow.
1830 (KHTMLPart::slotRedirect): Call changeLocation to do most of the work.
1831 (KHTMLPart::urlSelected): Fixed a broken case where the "lack of referrer" in a new window would cause
1832 the referrer passed in by JavaScript to be ignored when opening a new window -- match logic elsewhere
1833 that leaves the referrer in the args alone if one is not set in the window.
1835 * khtml/khtmlpart_p.h: Initialize m_bCleared to true to avoid an unnecessary clear before loading the
1836 first URL in a new window. This change is needed to avoid blowing away the "dialogArguments" value in
1837 a modal dialog window, but it also avoid unnecessary work for each new window.
1839 * kwq/KWQApplication.h: Add availableGeometry function for QDesktopWidget. Used by the showModalDialog
1840 function inside kjs_window.cpp (and should be used elsewhere eventually too). Matches a Qt function that
1841 we just didn't have implemented before.
1842 * kwq/KWQApplication.mm: (QDesktopWidget::availableGeometry): Added.
1844 * kwq/KWQKHTMLPartBrowserExtension.h: Added new canRunModal, canRunModalNow, and runModal functions.
1845 * kwq/KWQKHTMLPartBrowserExtension.mm:
1846 (KHTMLPartBrowserExtension::createNewWindow): Call createModalDialogWithURL on the bridge if the
1847 new window is a dialog. Also fixed the early return case for when the bridge returns nil.
1848 (KHTMLPartBrowserExtension::canRunModal): Added. Calls bridge.
1849 (KHTMLPartBrowserExtension::canRunModalNow): Ditto.
1850 (KHTMLPartBrowserExtension::runModal): Ditto.
1852 * kwq/KWQKPartsBrowserExtension.h:
1853 (KParts::URLArgs::URLArgs): Initialize m_lockHistory to false.
1854 (KParts::WindowArgs::WindowArgs): Add a dialog boolean.
1856 * kwq/WebCoreBridge.h: Declared canRunModal, canRunModalNow, createModalDialogWithURL, and runModal methods.
1858 2005-06-01 Adele Peterson <adele@apple.com>
1860 fix for <rdar://problem/4135705> REGRESSION (412-TOT) crash in TV Tracker widget - KJS::XMLHttpRequest::removeFromRequestsByDocument()
1864 Synchronous loads don't get added to our requestsByDocument dictionary, so we should try to remove the request in this case.
1866 * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::removeFromRequestsByDocument): added checks to make sure request exists before trying to remove it.
1868 2005-05-30 Darin Adler <darin@apple.com>
1870 Reviewed by John (fix for Radar bug) and Vicki (all the rest).
1872 - fixed <rdar://problem/4105097> REGRESSION (138-139): Hitting Enter on a checkbox toggles check mark instead of submitting form
1873 - fixed other problems discovered while trying to make a layout test to test this work:
1874 - added newer DOM 3 event type constants
1875 - fixed prototype setup bug preventing event initialization functions from being called
1876 - fixed bug where any function taking an event parameter would crash with a nil-deref
1877 - fixed incorrect ref/deref bug in MutationEventImpl that would cause a crash crash
1880 * layout-tests/fast/forms/check-box-enter-key-expected.txt: Added.
1881 * layout-tests/fast/forms/check-box-enter-key.html: Added.
1882 * layout-tests/fast/events/event-creation-expected.txt: Added.
1883 * layout-tests/fast/events/event-creation.html: Added.
1885 * khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::defaultEventHandler): Separate the checks for
1886 the space bar and the Enter key and make Enter submit the form on a check box or radio button.
1888 * khtml/ecma/kjs_events.cpp:
1889 (KJS::toEvent): Fixed bug where this was checking for DOMNode rather than DOMEvent, so always returning 0.
1890 Without this, both test cases above will crash.
1891 (KJS::DOMUIEvent::DOMUIEvent): Set prototype; without this, the event-creation test case will fail.
1892 (KJS::DOMMouseEvent::DOMMouseEvent): Set prototype; without this, the event-creation test case will fail.
1893 (KJS::DOMKeyboardEvent::DOMKeyboardEvent): Set prototype; without this, both test cases above will fail.
1894 (KJS::DOMMutationEvent::DOMMutationEvent): Set prototype; without this, both test cases above will fail.
1896 * khtml/xml/dom2_eventsimpl.cpp:
1897 (MutationEventImpl::MutationEventImpl): Fix typo where the wrong object was ref'd.
1898 (MutationEventImpl::initMutationEvent): Ditto. This was causing the layout tests to crash with the new tests above.
1900 * khtml/xml/dom_docimpl.cpp: (DocumentImpl::createEvent): Added new event types to match the current DOM
1901 Level 3 specification. The test above tests both the new event types and the old ones.
1903 2005-05-30 Darin Adler <darin@apple.com>
1906 No test case added because our layout test system doesn't allow us to do inline input.
1908 - fixed <rdar://problem/4094066> REGRESSION (1.2.5-1.3): unconfirmed inline input is ignored in <textarea>, lost when form is submitted
1910 * kwq/KWQTextArea.mm: (-[KWQTextArea _createTextView]): Call setWantsNotificationForMarkedText:YES.
1912 2005-05-30 Maciej Stachowiak <mjs@apple.com>
1916 - fixed <rdar://problem/4125222> Dashboard heap size grows over time (leak caused by JavaScript DOM node wrappers?)
1918 - changed per-document DOMObject caching to work with DOMNodes, since that is all it was used for anyway.
1920 Test cases added: (these tests actually ensure that DOM wrappers
1921 are sufficiently protected from GC to match other browsers, they
1922 do not verify that the leak is fixed since there's no way to test
1923 that with layout tests).
1925 * layout-tests/fast/dom/gc-1-expected.txt: Added.
1926 * layout-tests/fast/dom/gc-1.html: Added.
1927 * layout-tests/fast/dom/gc-2-expected.txt: Added.
1928 * layout-tests/fast/dom/gc-2.html: Added.
1929 * layout-tests/fast/dom/gc-3-expected.txt: Added.
1930 * layout-tests/fast/dom/gc-3.html: Added.
1932 * khtml/ecma/kjs_binding.cpp:
1933 (KJS::ScriptInterpreter::forgetDOMObjectForDocument): New function - allows nodes
1934 that get removed from the document to go away from the cache if not referenced.
1935 (KJS::ScriptInterpreter::mark): Don't mark nodes that aren't in the document,
1936 they can stay in the cache but only if they have another source of life.
1937 (KJS::ScriptInterpreter::domNodesPerDocument): Renamed and changed parameter types.
1938 (KJS::ScriptInterpreter::getDOMNodeForDocument): Renamed and changed parameter types.
1939 (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Renamed and changed parameter types.
1940 (KJS::ScriptInterpreter::putDOMNodeForDocument): Renamed and changed parameter types.
1941 (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Renamed and changed parameter types.
1942 (KJS::ScriptInterpreter::updateDOMNodeDocument): Renamed and changed parameter types.
1943 * khtml/ecma/kjs_binding.h:
1944 * khtml/ecma/kjs_dom.cpp:
1945 (KJS::DOMNode::~DOMNode): call forgetDOMObjectForDocument.
1946 (KJS::DOMNode::mark): If the node is not in the document, make sure to mark
1947 all wrappers in its detached piece of the tree.
1948 (KJS::getDOMNode): Updated for renames
1949 * khtml/ecma/kjs_dom.h:
1950 * khtml/xml/dom_docimpl.cpp:
1951 (DocumentImpl::~DocumentImpl): Updated for renames.
1952 * khtml/xml/dom_nodeimpl.cpp:
1953 (NodeImpl::checkAddChild): Updated for renames.
1955 2005-05-30 Darin Adler <darin@apple.com>
1958 Could not figure out how to make an <object> fallback, so for now, no layout test.
1960 - fixed <rdar://problem/4134124> REGRESSION (tip of tree): crash in QWidget::getView handling onunload event (yahoo.com)
1962 * khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::getObjectInstance):
1963 Check type of RenderObject to be sure it is a RenderWidget before calling widget() on it.
1965 2005-05-27 Adele Peterson <adele@apple.com>
1967 Change by Darin, reviewed by me.
1969 fix for <rdar://problem/4067761> 8A425: reload stock widget over and over and crash in XMLHttpRequest::changeState
1971 * khtml/khtml_part.cpp: (KHTMLPart::closeURL): now cancels XMLHttpRequests
1972 * khtml/ecma/xmlhttprequest.h: Added cancelRequests, addToRequestsByDocument, and RemoveFromRequestsByDocument methods. Added requestsByDocument dictionary.
1973 * khtml/ecma/xmlhttprequest.cpp:
1974 (KJS::XMLHttpRequest::send): calls addToRequestsByDocument
1975 (KJS::XMLHttpRequest::abort): calls removeFromRequestsByDocument
1976 (KJS::XMLHttpRequest::slotFinished): calls removeFromRequestsByDocument
1977 (KJS::XMLHttpRequest::requestsByDocument): creates dictionary to manage requests.
1978 (KJS::XMLHttpRequest::addToRequestsByDocument): adds this request to dict.
1979 (KJS::XMLHttpRequest::removeFromRequestsByDocument): removes this request from dict.
1980 (KJS::XMLHttpRequest::cancelRequests): goes and cancels requests in the doc
1982 2005-05-27 Adele Peterson <adele@apple.com>
1984 Reviewed by me, done by Darin.
1986 - Darin fixed a regression I found from Darin's recent DOM change that broke GMail
1988 * khtml/ecma/kjs_window.cpp:
1989 (KJS::Window::get): Added nil check for document.
1990 (KJS::Window::hasProperty): Ditto.
1992 Test cases added: None (Darin should write one).
1994 2005-05-27 Adele Peterson <adele@apple.com>
1998 fix for <rdar://problem/4121747> Cannot log into Cingular.com account page (load event delivered while still processing incoming data)
2000 * khtml/misc/loader.cpp:
2001 (DocLoader::DocLoader): Initialized m_loadInProgress to false.
2002 (DocLoader::setLoadInProgress): Added.
2003 (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.
2004 (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.
2005 * khtml/misc/loader.h: (khtml::DocLoader::loadInProgress): Added.
2008 * layout-tests/fast/loader/loadInProgress.html: Added
2009 * layout-tests/fast/loader/loadInProgress-expected.html: Added
2011 2005-05-27 Darin Adler <darin@apple.com>
2015 - fixed <rdar://problem/4125212> form submission delayed until you are on the next page on XML/XSL page (security hole)
2017 * khtml/xsl/xslt_processorimpl.cpp: (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
2018 Call setParsing(false) explicitly here. It's really annoying that setParsing(true) is done
2019 inside DOM::DocumentImpl and setParsing(false) is done by KHTMLPart, so that should be fixed
2020 some day, but for now this is the way to do it.
2023 * layout-tests/fast/events/xsl-onload-expected.txt: Added.
2024 * layout-tests/fast/events/xsl-onload.xhtml: Added.
2025 * layout-tests/fast/events/xsl-onload.xsl: Added.
2027 2005-05-27 John Sullivan <sullivan@apple.com>
2031 * WebCore-tests.exp:
2032 took out symbol __ZNK5QChar7isPunctEv; it was obsolete and causing build trouble
2034 2005-05-27 Darin Adler <darin@apple.com>
2038 - remove HAVE_ICU_LIBRARY ifdefs
2040 * khtml/rendering/render_text.cpp: Just use ICU all the time; no ifdef.
2041 * kwq/KWQKURL.mm: Ditto.
2043 2005-05-26 Darin Adler <darin@apple.com>
2045 Reviewed by me, patch by Mitz Pettel.
2047 - fixed <rdar://problem/4106907> bidi algorithm bug fixed for KHTML should be fixed in WebCore too
2049 * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Integrated the patch that Mitz did
2050 for the KDE bug, details at <http://www.mitzpettel.com/software/WebCorePatch2.html>.
2053 * layout-tests/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt: Added.
2054 * layout-tests/fast/text/international/bidi-neutral-directionality-paragraph-start.html: Added.
2056 2005-05-26 Darin Adler <darin@apple.com>
2058 Reviewed by Richard and Dave Harrison.
2059 No new test cases needed for this change.
2061 - eliminate WebCoreUnicode and use ICU directly instead
2062 - fixed compiling with gcc 4.0 (was broken for Development only)
2064 * WebCore.exp: Removed the WebCoreXXXFunction exports.
2065 * WebCore-tests.exp: Removed some QChar functions that are now inlines.
2066 Removed some typeinfo exports that are no longer appropriate since we use -fno-rtti.
2069 (QChar::isDigit): Changed to call u_isdigit when non-ASCII. We should probably phase
2070 this out since it's only used in places where we don't want to handle non-ASCII decimal digits.
2071 (QChar::isLetter): Changed to call u_isalpha when non-ASCII.
2072 (QChar::isNumber): Changed to call u_isdigit when non-ASCII. This probably should be removed, since
2073 we always want to call isDigit instead.
2074 (QChar::isLetterOrNumber): Changed to call u_isalnum when non-ASCII.
2075 (QChar::isPunct): Changed to call u_ispunct when non-ASCII.
2076 (QChar::digitValue): Changed to call u_charDigitValue when not '0'-'9'. We should probably phase
2077 this out since it's only used in places where we don't want to handle non-ASCII decimal digits.
2078 (QChar::lower): Changed to call u_tolower when non-ASCII.
2079 (QChar::upper): Changed to call u_toupper when non-ASCII.
2080 (QChar::direction): Made inline. Calls u_charDirection.
2081 (QChar::mirrored): Made inline. Calls u_isMirrored.
2082 (QChar::mirroredChar): Made inline. Calls u_charMirror.
2084 * kwq/KWQChar.mm: Removed.
2085 * kwq/WebCoreUnicode.cpp: Removed.
2086 * kwq/WebCoreUnicode.h: Removed.
2088 * WebCore.pbproj/project.pbxproj: Removed files.
2090 2005-05-26 David Harrison <harrison@apple.com>
2094 <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
2096 * kwq/WebCoreBridge.mm:
2097 (-[WebCoreBridge rangeOfCharactersAroundCaret]):
2098 Nil-check result of VisiblePosition previous() and next().
2100 * khtml/editing/visible_position.cpp:
2101 (khtml::VisiblePosition::previous):
2102 (khtml::VisiblePosition::previousVisiblePosition):
2103 Make sure previous() does not return the original position. Also, simplified.
2104 Commented odd, but required, behavior in previousVisiblePosition().
2106 * khtml/editing/visible_units.cpp:
2107 (khtml::startOfEditableContent):
2108 (khtml::endOfEditableContent):
2109 Removed redundant check for isEditableContent().
2111 * khtml/editing/jsediting.cpp:
2112 * khtml/khtml_part.cpp:
2113 (KHTMLPart::transpose):
2114 * khtml/khtml_part.h:
2115 * kwq/KWQKHTMLPart.h:
2116 * kwq/KWQKHTMLPart.mm:
2117 (KWQKHTMLPart::issueTransposeCommand):
2118 * layout-tests/editing/editing.js:
2119 * kwq/WebCoreBridge.h:
2120 Add support for transpose command in JavaScript and therefore layout tests.
2122 * layout-tests/editing/deleting/transpose-empty-expected.txt: Added.
2123 * layout-tests/editing/deleting/transpose-empty.html: Added.
2124 New test for this bug.
2126 2005-05-24 Richard Williamson <rjw@apple.com>
2128 Fixed <rdar://problem/4127061> <canvas> backing store should be zero filled
2130 Use calloc instead of malloc to ensure zero filled backing store.
2134 * khtml/rendering/render_canvasimage.cpp:
2135 (RenderCanvasImage::createDrawingContext):
2137 2005-05-24 John Sullivan <sullivan@apple.com>
2139 Reviewed by Dave Hyatt.
2142 <rdar://problem/4118510> Textareas with a vertical scroll bar should have their resize corner under the scroll bar
2143 <rdar://problem/4118523> Resize image in textareas is drawn repeatedly when scrolling vertically with scrollbar
2145 Test cases added: none; doesn't affect page layout
2147 * kwq/KWQTextArea.h:
2148 added inInitWithFrame ivar
2149 * kwq/KWQTextArea.mm:
2150 (+[KWQTextArea _resizeCornerImage]):
2151 moved here from KWQTextAreaTextView; now it's a class method so we only look up the image once.
2152 (-[KWQTextArea initWithFrame:]):
2153 set and clear inInitWithFrame ivar, used by -tile
2154 (-[KWQTextArea _isResizableByUser]):
2155 renamed with an underscore for consistency
2156 (-[KWQTextArea _textViewShouldHandleResizing]):
2157 new method, returns YES if the textarea is user-resizable and the enclosed textview is responsible for drawing
2158 and tracking the resize corner.
2159 (-[KWQTextArea tile]):
2160 shrink the vertical scroller if appropriate to account for the resize corner
2161 (-[KWQTextArea _resizeCornerRect]):
2162 new method, returns the bottom-right corner rect, where the resize image goes
2163 (-[KWQTextArea _trackResizeFromMouseDown:]):
2164 moved here from KWQTextAreaTextView. The only changes were to move the [NSCursor set] call inside here (was in
2165 the caller), and to use self where it was using [self _enclosingTextArea], and to move a comment in here that
2167 (-[KWQTextArea mouseDown:]):
2168 track resizing if appropriate
2169 (-[KWQTextArea drawRect:]):
2170 draw the resize corner if appropriate
2171 (-[KWQTextAreaTextView _resizeCornerRect]):
2172 get the resize image from KWQTextArea
2173 (-[KWQTextAreaTextView resetCursorRects]):
2174 check _textViewShouldHandleResizing
2175 (-[KWQTextAreaTextView drawRect:]):
2177 (-[KWQTextAreaTextView mouseDown:]):
2178 ditto; also, make the textarea handle the resize tracking now
2180 2005-05-24 Darin Adler <darin@apple.com>
2182 - another gcc 4.0 fix
2184 No new test cases needed.
2186 * khtml/dom/dom2_events.cpp: Moved constants out of the KHTML_NO_CPLUSPLUS_DOM #if.
2188 2005-05-24 Darin Adler <darin@apple.com>
2192 - fixed <rdar://problem/4128727> many DOM classes not exported (can't add categories or do other things that require class name linking)
2194 No new test cases needed.
2196 * WebCore.exp: Added exports for many classes in the public DOM headers that were omitted before.
2197 Also removed one symbol that was listed twice.
2199 2005-05-24 Maciej Stachowiak <mjs@apple.com>
2203 - fixed <rdar://problem/3598589> onunload handler doesn't fire when a window is closed
2206 * layout-tests/fast/events/onunload-expected.txt: Added.
2207 * layout-tests/fast/events/onunload.html: Added.
2209 * khtml/xml/dom_docimpl.cpp:
2210 (DocumentImpl::detach): Don't remove all event handlers from the document here...
2211 * khtml/khtml_part.cpp:
2212 (KHTMLPart::closeURL): ...instead do it here, after firing the unload event, but only
2213 if the document is not in the back/forward cache...
2214 * kwq/KWQPageState.mm:
2215 (-[KWQPageState finalize]): ...and take care of the back/forward cache case here.
2217 2005-05-24 John Sullivan <sullivan@apple.com>
2221 - WebCore part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
2223 * kwq/KWQKHTMLSettings.h:
2224 (KHTMLSettings::textAreasAreResizable):
2226 (KHTMLSettings::setTextAreasAreResizable):
2229 * kwq/KWQTextArea.h:
2230 * kwq/KWQTextArea.mm:
2231 eliminated ALLOW_RESIZING_TEXT_AREAS #define in favor of using runtime setting
2232 (-[KWQTextArea isResizableByUser]):
2233 get value from settings, and cache it in KWQTextArea instance
2234 (-[KWQTextAreaTextView _enclosingTextArea]):
2235 new convenience method, extracted from _trackResizeFromMouseDown:
2236 (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
2237 now uses extracted method
2239 (-[KWQTextAreaTextView drawRect:]):
2240 now checks isResizableByUser
2241 (-[KWQTextAreaTextView mouseDown:]):
2244 * kwq/WebCoreSettings.h:
2245 * kwq/WebCoreSettings.mm:
2246 (-[WebCoreSettings setTextAreasAreResizable:]):
2248 (-[WebCoreSettings textAreasAreResizable]):
2251 2005-05-23 Maciej Stachowiak <mjs@apple.com>
2255 - split remaining editing command classes out of htmlediting.cpp
2256 - rename InsertParagraphSeparatorInQuotedContentCommand to BreakBlockquoteCommand
2258 No layout tests needed - this is a pure refactoring change.
2260 * WebCore.pbproj/project.pbxproj:
2261 * khtml/editing/apply_style_command.cpp:
2262 * khtml/editing/break_blockquote_command.cpp: Added.
2263 * khtml/editing/break_blockquote_command.h: Added.
2264 * khtml/editing/composite_edit_command.cpp:
2265 * khtml/editing/delete_selection_command.cpp:
2266 * khtml/editing/edit_command.cpp:
2267 * khtml/editing/htmlediting.cpp:
2268 * khtml/editing/htmlediting.h:
2269 * khtml/editing/insert_line_break_command.cpp: Added.
2270 * khtml/editing/insert_line_break_command.h: Added.
2271 * khtml/editing/insert_paragraph_separator_command.cpp: Added.
2272 * khtml/editing/insert_paragraph_separator_command.h: Added.
2273 * khtml/editing/insert_text_command.cpp: Added.
2274 * khtml/editing/insert_text_command.h: Added.
2275 * khtml/editing/join_text_nodes_command.cpp: Added.
2276 * khtml/editing/join_text_nodes_command.h: Added.
2277 * khtml/editing/merge_identical_elements_command.cpp: Added.
2278 * khtml/editing/merge_identical_elements_command.h: Added.
2279 * khtml/editing/move_selection_command.cpp: Added.
2280 * khtml/editing/move_selection_command.h: Added.
2281 * khtml/editing/rebalance_whitespace_command.cpp: Added.
2282 * khtml/editing/rebalance_whitespace_command.h: Added.
2283 * khtml/editing/remove_css_property_command.cpp: Added.
2284 * khtml/editing/remove_css_property_command.h: Added.
2285 * khtml/editing/remove_node_attribute_command.cpp: Added.
2286 * khtml/editing/remove_node_attribute_command.h: Added.
2287 * khtml/editing/remove_node_command.cpp: Added.
2288 * khtml/editing/remove_node_command.h: Added.
2289 * khtml/editing/remove_node_preserving_children_command.cpp: Added.
2290 * khtml/editing/remove_node_preserving_children_command.h: Added.
2291 * khtml/editing/replace_selection_command.cpp: Added.
2292 * khtml/editing/replace_selection_command.h: Added.
2293 * khtml/editing/set_node_attribute_command.cpp: Added.
2294 * khtml/editing/set_node_attribute_command.h: Added.
2295 * khtml/editing/split_element_command.cpp: Added.
2296 * khtml/editing/split_element_command.h: Added.
2297 * khtml/editing/split_text_node_command.cpp: Added.
2298 * khtml/editing/split_text_node_command.h: Added.
2299 * khtml/editing/split_text_node_containing_element_command.h: Added.
2300 * khtml/editing/typing_command.cpp: Added.
2301 * khtml/editing/typing_command.h: Added.
2302 * khtml/editing/wrap_contents_in_dummy_span_command.cpp: Added.
2303 * khtml/editing/wrap_contents_in_dummy_span_command.h: Added.
2305 2005-05-23 Darin Adler <darin@apple.com>
2307 * WebCore.exp: Sorted file for more readable diffs.
2309 2005-05-23 Adele Peterson <adele@apple.com>
2313 fix for <rdar://problem/4122661> Regression: 10.3.8-10.3.9: Next lesson doesn't work on Dale Carnegie Action Systems page
2315 * 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.
2317 2005-05-23 David Harrison <harrison@apple.com>
2321 Prevent crash when going from no selection to selection with mispelling checks enabled.
2323 * kwq/KWQKHTMLPart.mm:
2324 (KWQKHTMLPart::markMisspellings):
2325 Repair check for null searchRange. Was inadvertently broken in recent checkin.
2327 2005-05-23 John Sullivan <sullivan@apple.com>
2329 Reviewed by Dave Hyatt.
2331 - fixed <rdar://problem/4123592> Can't resize textareas that have a width specified by a style
2333 * kwq/KWQTextArea.mm:
2334 (-[KWQTextArea getNumColumns:andNumRows:forSize:]):
2335 removed this method, which I had added earlier to set cols and rows correctly
2336 (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
2337 set width and height instead of cols and rows; handle the intrinsic margin that sometimes appears
2340 2005-05-22 Adele Peterson <adele@apple.com>
2344 fix for <rdar://problem/4127101> REGRESSION(412-TOT) crash when creating Option element
2346 * khtml/ecma/kjs_html.cpp: (KJS::OptionConstructorImp::construct):
2347 Changed ElementImpl pointer to a SharedPtr because it was getting destroyed before we were done with it.
2349 2005-05-20 John Sullivan <sullivan@apple.com>
2353 - fixed <rdar://problem/4126160> Crash sending mouse-exited event after reloading
2354 page with resizable textarea
2356 * kwq/KWQTextArea.mm:
2357 (-[KWQTextAreaTextView resetCursorRects]):
2358 This was some side effect of tracking rect code used for resizable textareas. I discovered
2359 that I didn't need the tracking rect code at all (at least to achieve the level of only-somewhat-working
2360 cursor behavior that I already had). Removing it caused the bug to vanish.
2362 2005-05-19 Darin Adler <darin@apple.com>
2366 - turned off exceptions and RTTI; seems to cut WebCore code size by about 35%
2368 * WebCore.pbproj/project.pbxproj: Turn off exceptions and RTTI for the framework.
2370 2005-05-19 Darin Adler <darin@apple.com>
2372 Reviewed by Chris Petersen.
2374 - fixed a mistake I introduced in my previous check-in that caused a Deployment build failure
2376 * kwq/DOM.mm: (-[DOMDocument createTreeWalker::::]): Initialize cppFilter to 0, which fixes both
2377 the build failure and a potential bug!
2379 2005-05-17 Darin Adler <darin@apple.com>
2382 No new layout tests required.
2384 - remove all dependencies on exceptions and RTTI (but don't turn them off yet, that will be in a later patch)
2386 * WebCore.pbproj/project.pbxproj: Set a new KHTML_NO_CPLUSPLUS_DOM define.
2387 Removed all C++ DOM wrapper files that we don't need to compile any more.
2389 * khtml/dom/css_stylesheet.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any
2390 headers when including this file.
2392 * khtml/dom/dom2_events.h: Fixed up KHTML_NO_CPLUSPLUS_DOM checks so that everything but EventListener
2393 is turned off when that's on. Also moved the public so that the constants from KeyboardEvent are public.
2394 * khtml/dom/dom2_events.cpp: Put everything except for EventListener inside KHTML_NO_CPLUSPLUS_DOM.
2396 * khtml/dom/dom2_range.h: Added KHTML_NO_CPLUSPLUS_DOM checks so that only the constants are defined,
2399 * khtml/dom/dom2_traversal.cpp: Put everything except for NodeFilterCondition inside KHTML_NO_CPLUSPLUS_DOM.
2401 * khtml/dom/dom_node.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any
2402 headers when including this file.
2404 * khtml/ecma/kjs_binding.cpp:
2405 (KJS::DOMObject::get): Removed exception-handling code. Now we can eliminate tryGet altogether.
2406 (KJS::DOMObject::put): Ditto.
2407 (KJS::DOMFunction::get): Ditto.
2408 (KJS::DOMFunction::call): Ditto.
2410 * khtml/editing/visible_text.h: Added an include of <qstring.h>.
2412 * khtml/misc/loader.h: Added isKHTMLLoader.
2413 * khtml/misc/loader.cpp: (Loader::isKHTMLLoader): Added. Poor-man's replacement for dynamic_cast.
2415 * khtml/rendering/render_form.h:
2416 * khtml/rendering/render_form.cpp: (RenderFormElement::slotTextChanged): Added. Hack to make KWQSlot work
2419 * khtml/xml/dom2_rangeimpl.h: Added a forward declaration of class DOMString, needed now that the C++
2420 DOM wrappers aren't defining it.
2422 * khtml/xml/dom_docimpl.cpp:
2423 (DocumentImpl::defaultEventHandler): Changed to call handleEventImpl so we don't have to make the
2424 C++ DOM wrapper for the event.
2425 * khtml/xml/dom_nodeimpl.cpp:
2426 (NodeImpl::handleLocalEvents): Ditto.
2427 (ContainerNodeImpl::insertBefore): Used SharedPtr<NodeImpl> rather than Node to protect the child node.
2428 (ContainerNodeImpl::replaceChild): Ditto.
2429 (ContainerNodeImpl::appendChild): Ditto.
2430 (ContainerNodeImpl::addChild): Ditto.
2433 (ObjCNodeFilterCondition::acceptNode): Update to add a KHTML_NO_CPLUSPLUS_DOM check since FilterCondition
2434 has a different API depending on the state.
2435 (-[DOMDocument createNodeIterator::::]): Rewrote to use NodeFilterImpl instead of NodeFilter.
2436 (-[DOMDocument createTreeWalker::::]): Ditto.
2438 * kwq/KWQAccObject.mm:
2439 (-[KWQAccObject role]): Use identifier instead of casting to Node and using elementId.
2440 (-[KWQAccObject title]): Ditto.
2441 (-[KWQAccObject accessibilityIsIgnored]): Ditto.
2442 (-[KWQAccObject rendererForView:]): Ditto.
2444 * kwq/KWQFrame.mm: (QFrame::setFrameStyle): Use isKHTMLView instead of dynamic_cast.
2446 * kwq/KWQKHTMLPart.mm:
2447 (KWQKHTMLPart::currentForm): Use focusNode instead of activeNode.
2448 (KWQKHTMLPart::nextKeyViewInFrame): Use isWidget instead of dynamic_cast.
2449 (KWQKHTMLPart::currentEventIsMouseDownInWidget): Use KHTMLView's nodeUnderMouse instead of our public one
2450 that uses a DOM C++ wrapper.
2451 (KWQKHTMLPart::partForWidget): Use isKHTMLView instead of dynamic_cast.
2452 (KWQKHTMLPart::passSubframeEventToSubframe): Use isWidget instead of dynamic_cast.
2454 * kwq/KWQObject.h: Made isXXX functions all public since we use them in a few more places now.
2455 Also added isKHTMLLoader.
2456 * kwq/KWQObject.mm: (QObject::isKHTMLLoader): Added. Returns false by default.
2458 * kwq/KWQSlot.mm: Removed all uses of dynamic_cast.
2460 * kwq/WebCoreBridge.mm:
2461 (-[WebCoreBridge stringForRange:]): Used plainText instead of text.
2462 (-[WebCoreBridge copyRenderNode:copier:]): Used isWidget instead of dynamic_cast.
2464 2005-05-16 Darin Adler <darin@apple.com>
2466 - attempt to get things building under "Saffron" development tools
2468 * WebCore.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
2470 2005-05-16 Adele Peterson <adele@apple.com>
2472 Changes by Darin. Reviewed by myself.
2474 Changed the Render Tree debug code to write out an indication that the affinity is upstream
2475 when writing out caret position. Updated the one layout test with output affected by the change.
2476 Also updated one test to use the new dumpAsText method in dumpRenderTree.
2478 * kwq/KWQRenderTreeDebug.cpp: (writeSelection): writes out affinity if it's upstream in the caret case
2479 * layout-tests/editing/style/create-block-for-style-004-expected.txt: new results that contain the affinity
2480 * layout-tests/fast/js/char-at.html: now calls layoutController.dumpAsText()
2481 * layout-tests/fast/js/char-at-expected.txt: plain text result (replaces old render tree result)
2483 2005-05-16 Darin Adler <darin@apple.com>
2487 - fixed issues preventing us from compiling with newer versions of gcc 4.0
2489 * khtml/dom/dom2_events.cpp: Add definitions of some static data member constants, as required
2490 by the C++ standard and the gcc 4.0 compiler.
2492 * khtml/editing/selection.h: Specified KHTMLPart friend class as ::KHTMLPart, since if it's
2493 not explicitly qualified, it means DOM::KHTMLPart.
2495 * khtml/dom/dom_string.cpp:
2496 (DOM::strcasecmp): Removed redundant and illegal DOM:: prefix.
2497 (DOM::operator==): Ditto.
2498 * khtml/ecma/kjs_binding.cpp:
2499 (KJS::getStringOrNull): Removed redundant and illegal KJS:: prefix.
2500 (KJS::ValueToVariant): Ditto.
2501 * khtml/ecma/kjs_css.cpp:
2502 (KJS::getCSSRuleConstructor): Ditto.
2503 (KJS::getCSSValueConstructor): Ditto.
2504 (KJS::getCSSPrimitiveValueConstructor): Ditto.
2505 * khtml/ecma/kjs_events.cpp:
2506 (KJS::getEventConstructor): Ditto.
2507 (KJS::getEventExceptionConstructor): Ditto.
2508 (KJS::getMutationEventConstructor): Ditto.
2509 * khtml/ecma/kjs_traversal.cpp:
2510 (KJS::getNodeFilterConstructor): Ditto.
2512 * khtml/misc/loader_client.h: Added an empty virtual destructor to CachedObjectClient
2513 to quiet the compiler. This doesn't really do any good, but also does no harm.
2514 * khtml/misc/loader.cpp: (CachedObjectClient::~CachedObjectClient): Added.
2516 * khtml/rendering/render_block.cpp: (khtml::RenderBlock::fillBlockSelectionGaps):
2517 Initialize a couple of variables that should have been initialized to 0.
2518 Not just about making the compiler happy -- warning found a real bug!
2520 * kwq/KWQTextArea.mm: (RangeOfParagraph): Change else structure to work around compiler
2523 2005-05-13 John Sullivan <sullivan@apple.com>
2525 * kwq/KWQTextArea.mm:
2526 (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
2527 added Radar numbers to FIXMEs about resizable textareas
2528 (-[KWQTextAreaTextView resetCursorRects]):
2530 (-[KWQTextAreaTextView mouseDown:]):
2533 2005-05-12 Darin Adler <darin@apple.com>
2535 Reviewed by Chris Blumenberg.
2537 - more "getting off the C++ DOM wrappers" changes
2538 This pass involves replacing uses of DOM::Range with use of DOM::RangeImpl
2539 plus some more use of DOM::DocumentImpl instead of DOM::Document.
2541 * khtml/dom/dom2_range.cpp:
2542 * khtml/dom/dom2_range.h:
2543 * khtml/ecma/kjs_window.cpp:
2545 (KJS::WindowFunc::tryCall):
2546 (KJS::Window::updateLayout):
2547 (KJS::ScheduledAction::execute):
2548 (KJS::Selection::toString):
2549 * khtml/ecma/xmlhttprequest.cpp:
2550 (KJS::XMLHttpRequestProtoFunc::tryCall):
2551 * khtml/editing/htmlediting.cpp:
2552 (khtml::InsertLineBreakCommand::doApply):
2553 * khtml/editing/selection.cpp:
2554 (khtml::Selection::Selection):
2555 (khtml::Selection::moveTo):
2556 (khtml::Selection::toRange):
2557 * khtml/editing/selection.h:
2558 * khtml/editing/visible_position.cpp:
2560 (khtml::startVisiblePosition):
2561 (khtml::endVisiblePosition):
2564 * khtml/editing/visible_position.h:
2565 * khtml/editing/visible_range.h:
2566 * khtml/editing/visible_text.cpp:
2567 (khtml::TextIterator::TextIterator):
2568 (khtml::TextIterator::range):
2569 (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
2570 (khtml::SimplifiedBackwardsTextIterator::range):
2571 (khtml::CharacterIterator::CharacterIterator):
2572 (khtml::CharacterIterator::range):
2573 (khtml::WordAwareIterator::WordAwareIterator):
2574 (khtml::WordAwareIterator::advance):
2575 (khtml::TextIterator::rangeLength):
2576 (khtml::TextIterator::rangeFromLocationAndLength):
2578 (khtml::findPlainText):
2579 * khtml/editing/visible_text.h:
2580 (khtml::WordAwareIterator::range):
2581 * khtml/editing/visible_units.cpp:
2582 (khtml::previousBoundary):
2583 (khtml::nextBoundary):
2584 * khtml/html/html_elementimpl.cpp:
2585 (HTMLElementImpl::innerText):
2586 * khtml/html/htmltokenizer.cpp:
2587 (khtml::HTMLTokenizer::scriptExecution):
2588 * khtml/khtml_part.cpp:
2590 (KHTMLPart::selectedText):
2591 (KHTMLPart::shouldBeginEditing):
2592 (KHTMLPart::shouldEndEditing):
2593 (KHTMLPart::selectionComputedStyle):
2594 * khtml/khtml_part.h:
2595 * khtml/khtmlview.h:
2596 * khtml/rendering/render_text.cpp:
2597 (InlineTextBox::paint):
2598 * khtml/xml/dom2_rangeimpl.cpp:
2600 (DOM::rangeOfContents):
2601 * khtml/xml/dom2_rangeimpl.h:
2603 * khtml/xml/dom_docimpl.cpp:
2604 (DocumentImpl::relinquishesEditingFocus):
2605 (DocumentImpl::acceptsEditingFocus):
2606 (DocumentImpl::addMarker):
2607 (DocumentImpl::removeMarker):
2608 * khtml/xml/dom_docimpl.h:
2609 * khtml/xml/dom_position.cpp:
2610 (DOM::startPosition):
2611 * khtml/xml/dom_position.h:
2613 (-[DOMHTMLLinkElement href]):
2614 (-[DOMHTMLBaseElement href]):
2615 (-[DOMHTMLInputElement src]):
2616 (-[DOMHTMLAnchorElement href]):
2617 (-[DOMHTMLImageElement src]):
2618 (-[DOMHTMLAreaElement href]):
2619 * kwq/KWQAccObject.mm:
2620 (-[KWQAccObject textUnderElement]):
2621 (-[KWQAccObject value]):
2622 (-[KWQAccObject doAXStringForTextMarkerRange:]):
2623 (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
2624 * kwq/KWQKHTMLPart.h:
2625 (KWQKHTMLPart::markedTextRange):
2626 * kwq/KWQKHTMLPart.mm:
2627 (KWQKHTMLPart::findString):
2628 (KWQKHTMLPart::advanceToNextMisspelling):
2629 (KWQKHTMLPart::fontForSelection):
2630 (KWQKHTMLPart::markMisspellings):
2631 (KWQKHTMLPart::respondToChangedSelection):
2632 (KWQKHTMLPart::shouldBeginEditing):
2633 (KWQKHTMLPart::shouldEndEditing):
2634 (convertAttributesToUnderlines):
2635 (KWQKHTMLPart::setMarkedTextRange):
2636 * kwq/WebCoreBridge.mm:
2637 (-[WebCoreBridge elementAtPoint:]):
2638 (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
2639 (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
2640 (-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:]):
2641 (-[WebCoreBridge selectedDOMRange]):
2642 (-[WebCoreBridge convertToNSRange:DOM::]):
2643 (-[WebCoreBridge convertToDOMRange:]):
2644 (-[WebCoreBridge convertToObjCDOMRange:]):
2645 (-[WebCoreBridge selectNSRange:]):
2646 (-[WebCoreBridge selectedNSRange]):
2647 (-[WebCoreBridge markDOMRange]):
2648 (-[WebCoreBridge markedTextDOMRange]):
2649 (-[WebCoreBridge markedTextNSRange]):
2650 (-[WebCoreBridge replaceMarkedTextWithText:]):
2651 (-[WebCoreBridge smartDeleteRangeForProposedRange:]):
2652 (-[WebCoreBridge dragCaretDOMRange]):
2653 (-[WebCoreBridge editableDOMRangeForPoint:]):
2654 (-[WebCoreBridge rangeOfCharactersAroundCaret]):
2656 2005-05-13 Maciej Stachowiak <mjs@apple.com>
2660 - more splitting up of htmlediting.cpp
2662 * WebCore.pbproj/project.pbxproj:
2663 * khtml/editing/composite_edit_command.cpp:
2664 * khtml/editing/delete_from_text_node_command.cpp: Added.
2665 * khtml/editing/delete_from_text_node_command.h: Added.
2666 * khtml/editing/delete_selection_command.cpp: Added.
2667 * khtml/editing/delete_selection_command.h: Added.
2668 * khtml/editing/htmlediting.cpp:
2669 * khtml/editing/htmlediting.h:
2670 * khtml/editing/insert_into_text_node_command.cpp: Added.
2671 * khtml/editing/insert_into_text_node_command.h: Added.
2672 * khtml/editing/insert_node_before_command.cpp: Added.
2673 * khtml/editing/insert_node_before_command.h: Added.
2675 2005-05-12 Adele Peterson <adele@apple.com>
2679 fix for <rdar://problem/4117656> deleting an input element in its onBlur handler crashes Safari
2681 * khtml/rendering/render_form.cpp: (RenderLineEdit::handleFocusOut): added nil check for element
2683 2005-05-12 John Sullivan <sullivan@apple.com>
2687 - rolled in changes from experimental-ui-branch to support resizable textareas
2688 and find-as-you-type. The files/functions modified are listed just below. After
2689 that are the ChangeLog comments from the branch.
2691 * Resources/textAreaResizeCorner.tiff: Added.
2692 * WebCore.pbproj/project.pbxproj:
2693 * kwq/KWQKHTMLPart.h:
2694 * kwq/KWQKHTMLPart.mm:
2695 (KWQKHTMLPart::findString):
2696 * kwq/KWQTextArea.mm:
2697 (-[KWQTextArea textDidChange:]):
2698 (-[KWQTextAreaTextView _resizeCornerImage]):
2699 (-[KWQTextAreaTextView _resizeCornerRect]):
2700 (-[KWQTextAreaTextView resetCursorRects]):
2701 (-[KWQTextAreaTextView drawRect:]):
2702 (-[KWQTextAreaTextView mouseDown:]):
2703 * kwq/WebCoreBridge.h:
2704 * kwq/WebCoreBridge.mm:
2705 (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):
2707 2005-05-05 John Sullivan <sullivan@apple.com>
2711 * kwq/KWQTextArea.mm:
2712 (-[KWQTextAreaTextView _resizeCornerRect]):
2713 Get corner rect from enclosing clipView, rather than using visibleRect.
2714 VisibleRect would return the wrong result when the textarea was clipped
2715 by the bottom of the window, leading to redraw schmutz among other things.
2717 2005-05-02 John Sullivan <sullivan@apple.com>
2721 Improvements to resizable textarea experiment:
2722 - resize image is now drawn in the resize corner
2723 - cursor sometimes tracks to arrow when over resize corner (but usually not)
2724 - cursor changes to arrow on mouse down in any case
2726 * Resources/textAreaResizeCorner.tiff: Added.
2727 * WebCore.pbproj/project.pbxproj:
2728 updated for added image file
2730 * kwq/KWQTextArea.mm:
2731 (-[KWQTextAreaTextView _resizeCornerImage]):
2732 new method, reads resize image once and caches it
2733 (-[KWQTextAreaTextView _resizeCornerRect]):
2734 new method, computes rect from image
2735 (-[KWQTextAreaTextView resetCursorRects]):
2736 overridden to attempt to make the cursor change to an arrow when over this
2737 corner. Only works sometimes, as explained in comments.
2738 (-[KWQTextAreaTextView drawRect:]):
2739 overridden to draw resize image
2740 (-[KWQTextAreaTextView mouseDown:]):
2741 now uses _resizeCornerRect, and sets cursor to arrow when pressed in resize corner
2743 2005-04-18 John Sullivan <sullivan@apple.com>
2745 WebCore support for notifying a form delegate when a
2746 textarea's contents have changed (as opposed to a
2747 textfield, which was already handled).
2751 * kwq/WebCoreBridge.h:
2752 add textDidChange: method
2754 * kwq/KWQTextArea.mm:
2755 (-[KWQTextArea textDidChange:]):
2756 call through to bridge
2758 2005-04-07 John Sullivan <sullivan@apple.com>
2760 WebCore support for find-as-you-type; needed an additional parameter
2761 to findString and searchFor:...
2763 Reviewed by Dave Hyatt.
2765 * kwq/KWQKHTMLPart.h:
2766 * kwq/KWQKHTMLPart.mm:
2767 (KWQKHTMLPart::findString):
2768 new findInSelection parameter; if true, start from the beginning of the selection
2769 when searching forward, or the end of the selection when searching backward
2771 * kwq/WebCoreBridge.h:
2772 * kwq/WebCoreBridge.mm:
2773 (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):
2774 new findInSelection parameter; passed through to findString
2776 2005-05-12 Darin Adler <darin@apple.com>
2778 Reviewed by Maciej (except for some parts outside the ECMA directory).
2780 - switch KJS wrappers over to using the DOM impl. classes rather than using
2781 the DOM wrappers; will allow us to not even compile the DOM wrappers and
2782 make the code smaller
2784 * khtml/css/css_valueimpl.h: Added CSSStyleDeclarationImpl::isPropertyName,
2785 removed CSSStyleDeclarationImpl::propertyID.
2786 * khtml/css/css_valueimpl.cpp:
2787 (DOM::propertyID): Added. Gets property ID given a DOM string. Replaces the
2788 previous version that had hacks that we want to leave in the JS wrapper for now.
2789 (DOM::CSSStyleDeclarationImpl::isPropertyName): Added.
2791 * khtml/css/cssproperties.in: Fixed up comments.
2793 * khtml/css/makeprop: Added new maxCSSPropertyNameLength constant, used for
2794 buffer size in the propertyID function.
2796 * khtml/dom/dom2_events.h: Added handleEventImpl, making it easier to call
2797 handleEvent in a way that works either with or without the C++ DOM wrappers.
2798 * khtml/dom/dom2_events.cpp: (EventListener::handleEventImpl): Added.
2800 * khtml/dom/dom2_views.cpp: Added now-needed include.
2801 * khtml/dom/dom_doc.cpp: Added now-needed include.
2802 * khtml/dom/dom_element.cpp: Tweaked includes.
2804 * khtml/editing/htmlediting.cpp: Removed now-unneeded include.
2805 * khtml/html/html_baseimpl.cpp: Ditto.
2806 * khtml/html/html_formimpl.h: Ditto.
2807 * khtml/rendering/render_form.h: Ditto.
2808 * khtml/rendering/render_style.h: Ditto.
2809 * khtml/xml/dom2_eventsimpl.cpp: Ditto.
2810 * khtml/xml/dom2_viewsimpl.h: Ditto.
2811 * khtml/xml/dom_elementimpl.h: Ditto.
2812 * khtml/xml/dom_stringimpl.h: Ditto.
2813 * kwq/DOM.mm: Ditto.
2814 * kwq/DOMHTML.mm: Ditto.
2816 * khtml/khtml_part.cpp: Tweaked incluudes.
2817 * khtml/khtmlpart_p.h: Ditto.
2819 * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canCachePage): Change to use DOM impl. rather
2822 * khtml/xml/dom_docimpl.cpp:
2823 (DOMImplementationImpl::createDocumentType): Disabled the calls to the not-implemented
2824 name checks in the C++ DOM wrappers. If we add name changes, we'll want them inside the
2825 impl, not in the wrappers.
2826 (DOMImplementationImpl::createDocument): Ditto.
2827 * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::checkSetPrefix): Ditto.
2829 * khtml/ecma/kjs_binding.cpp:
2830 (KJS::ScriptInterpreter::wasRunByUserGesture):
2831 (KJS::KJS::ValueToVariant):
2832 (KJS::setDOMException):
2833 * khtml/ecma/kjs_binding.h:
2834 (KJS::ScriptInterpreter::setCurrentEvent):
2835 (KJS::ScriptInterpreter::getCurrentEvent):
2836 (KJS::cacheDOMObject):
2837 (KJS::DOMExceptionTranslator::DOMExceptionTranslator):
2838 (KJS::DOMExceptionTranslator::~DOMExceptionTranslator):
2839 (KJS::DOMExceptionTranslator::operator int &):
2840 (KJS::cacheGlobalObject):
2841 * khtml/ecma/kjs_css.cpp:
2842 (KJS::cssPropertyName):
2843 (KJS::isCSSPropertyName):
2844 (KJS::DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
2845 (KJS::DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration):
2846 (KJS::DOMCSSStyleDeclaration::hasProperty):
2847 (KJS::DOMCSSStyleDeclaration::tryGet):
2848 (KJS::DOMCSSStyleDeclaration::tryPut):
2849 (KJS::DOMCSSStyleDeclarationProtoFunc::tryCall):
2850 (KJS::getDOMCSSStyleDeclaration):
2851 (KJS::DOMStyleSheet::~DOMStyleSheet):
2852 (KJS::DOMStyleSheet::getValueProperty):
2853 (KJS::DOMStyleSheet::tryPut):
2854 (KJS::getDOMStyleSheet):
2855 (KJS::DOMStyleSheetList::~DOMStyleSheetList):
2856 (KJS::DOMStyleSheetList::tryGet):
2857 (KJS::getDOMStyleSheetList):
2858 (KJS::DOMStyleSheetListFunc::tryCall):
2859 (KJS::DOMMediaList::DOMMediaList):
2860 (KJS::DOMMediaList::~DOMMediaList):
2861 (KJS::DOMMediaList::tryGet):
2862 (KJS::DOMMediaList::tryPut):
2863 (KJS::getDOMMediaList):
2864 (KJS::KJS::DOMMediaListProtoFunc::tryCall):
2865 (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet):
2866 (KJS::DOMCSSStyleSheet::tryGet):
2867 (KJS::DOMCSSStyleSheetProtoFunc::tryCall):
2868 (KJS::DOMCSSRuleList::~DOMCSSRuleList):
2869 (KJS::DOMCSSRuleList::tryGet):
2870 (KJS::DOMCSSRuleListFunc::tryCall):
2871 (KJS::getDOMCSSRuleList):
2872 (KJS::DOMCSSRule::~DOMCSSRule):
2873 (KJS::DOMCSSRule::classInfo):
2874 (KJS::DOMCSSRule::tryGet):
2875 (KJS::DOMCSSRule::getValueProperty):
2876 (KJS::DOMCSSRule::putValue):
2877 (KJS::DOMCSSRuleFunc::tryCall):
2878 (KJS::getDOMCSSRule):
2879 (KJS::DOMCSSValue::~DOMCSSValue):
2880 (KJS::DOMCSSValue::tryGet):
2881 (KJS::DOMCSSValue::tryPut):
2882 (KJS::getDOMCSSValue):
2883 (KJS::DOMCSSPrimitiveValue::DOMCSSPrimitiveValue):
2884 (KJS::DOMCSSPrimitiveValue::tryGet):
2885 (KJS::DOMCSSPrimitiveValueProtoFunc::tryCall):
2886 (KJS::DOMCSSValueList::DOMCSSValueList):
2887 (KJS::DOMCSSValueList::tryGet):
2888 (KJS::DOMCSSValueListFunc::tryCall):
2889 (KJS::DOMRGBColor::getValueProperty):
2890 (KJS::getDOMRGBColor):
2891 (KJS::DOMRect::~DOMRect):
2892 (KJS::DOMRect::getValueProperty):
2894 (KJS::DOMCounter::~DOMCounter):
2895 (KJS::DOMCounter::getValueProperty):
2896 (KJS::getDOMCounter):
2897 * khtml/ecma/kjs_css.h:
2898 (KJS::DOMCSSStyleDeclaration::impl):
2899 (KJS::DOMStyleSheet::DOMStyleSheet):
2900 (KJS::DOMStyleSheet::impl):
2901 (KJS::DOMStyleSheetList::DOMStyleSheetList):
2902 (KJS::DOMStyleSheetList::impl):
2903 (KJS::DOMMediaList::impl):
2904 (KJS::DOMCSSStyleSheet::):
2905 (KJS::DOMCSSRuleList::DOMCSSRuleList):
2906 (KJS::DOMCSSRuleList::impl):
2907 (KJS::DOMCSSRule::DOMCSSRule):
2908 (KJS::DOMCSSRule::impl):
2909 (KJS::DOMCSSValue::DOMCSSValue):
2910 (KJS::DOMCSSValue::impl):
2911 (KJS::DOMCSSValueList::):
2912 (KJS::DOMRGBColor::DOMRGBColor):
2913 (KJS::DOMRect::DOMRect):
2914 (KJS::DOMCounter::DOMCounter):
2915 * khtml/ecma/kjs_dom.cpp:
2916 (KJS::DOMNodeListFunc::):
2917 (KJS::DOMNode::DOMNode):
2918 (KJS::DOMNode::toBoolean):
2919 (KJS::DOMNode::getValueProperty):
2920 (KJS::DOMNode::putValue):
2921 (KJS::DOMNode::toPrimitive):
2922 (KJS::DOMNode::toString):
2923 (KJS::DOMNode::setListener):
2924 (KJS::DOMNode::getListener):
2925 (KJS::DOMNodeProtoFunc::tryCall):
2927 (KJS::DOMNodeList::~DOMNodeList):
2928 (KJS::DOMNodeList::toPrimitive):
2929 (KJS::DOMNodeList::tryGet):
2930 (KJS::DOMNodeList::tryCall):
2931 (KJS::DOMNodeListFunc::tryCall):
2932 (KJS::DOMAttr::DOMAttr):
2933 (KJS::DOMAttr::getValueProperty):
2934 (KJS::DOMAttr::putValue):
2936 (KJS::DOMDocument::DOMDocument):
2937 (KJS::DOMDocument::~DOMDocument):
2938 (KJS::DOMDocument::getValueProperty):
2939 (KJS::DOMDocument::putValue):
2940 (KJS::DOMDocumentProtoFunc::tryCall):
2941 (KJS::DOMElement::DOMElement):
2942 (KJS::DOMElement::tryGet):
2943 (KJS::DOMElementProtoFunc::tryCall):
2945 (KJS::DOMDOMImplementation::DOMDOMImplementation):
2946 (KJS::DOMDOMImplementation::~DOMDOMImplementation):
2947 (KJS::DOMDOMImplementationProtoFunc::tryCall):
2948 (KJS::DOMDocumentType::DOMDocumentType):
2949 (KJS::DOMDocumentType::getValueProperty):
2950 (KJS::toDocumentType):
2951 (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
2952 (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
2953 (KJS::DOMNamedNodeMap::tryGet):
2954 (KJS::DOMNamedNodeMapProtoFunc::tryCall):
2955 (KJS::DOMProcessingInstruction::DOMProcessingInstruction):
2956 (KJS::DOMProcessingInstruction::getValueProperty):
2957 (KJS::DOMProcessingInstruction::tryPut):
2958 (KJS::DOMNotation::DOMNotation):
2959 (KJS::DOMNotation::getValueProperty):
2960 (KJS::DOMEntity::DOMEntity):
2961 (KJS::DOMEntity::getValueProperty):
2962 (KJS::getDOMDocumentNode):
2963 (KJS::checkNodeSecurity):
2965 (KJS::getDOMNamedNodeMap):
2966 (KJS::getRuntimeObject):
2967 (KJS::getDOMNodeList):
2968 (KJS::getDOMDOMImplementation):
2969 (KJS::getNodeConstructor):
2970 (KJS::getDOMExceptionConstructor):
2971 (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
2972 (KJS::DOMNamedNodesCollection::tryGet):
2973 (KJS::DOMCharacterData::DOMCharacterData):
2974 (KJS::DOMCharacterData::getValueProperty):
2975 (KJS::DOMCharacterData::tryPut):
2976 (KJS::DOMCharacterDataProtoFunc::tryCall):
2977 (KJS::DOMText::DOMText):
2978 (KJS::DOMTextProtoFunc::tryCall):
2979 * khtml/ecma/kjs_dom.h:
2980 (KJS::DOMNode::impl):
2981 (KJS::DOMNodeList::DOMNodeList):
2982 (KJS::DOMNodeList::impl):
2983 (KJS::DOMDOMImplementation::impl):
2984 (KJS::DOMNamedNodeMap::impl):
2985 * khtml/ecma/kjs_events.cpp:
2986 (KJS::JSAbstractEventListener::handleEvent):
2987 (KJS::JSLazyEventListener::handleEvent):
2988 (KJS::getNodeEventListener):
2989 (KJS::DOMEvent::DOMEvent):
2990 (KJS::DOMEvent::~DOMEvent):
2991 (KJS::DOMEvent::getValueProperty):
2992 (KJS::DOMEvent::putValue):
2993 (KJS::DOMEventProtoFunc::tryCall):
2996 (KJS::DOMUIEvent::DOMUIEvent):
2997 (KJS::DOMUIEvent::getValueProperty):
2998 (KJS::DOMUIEventProtoFunc::tryCall):
2999 (KJS::DOMMouseEvent::DOMMouseEvent):
3000 (KJS::DOMMouseEvent::getValueProperty):
3001 (KJS::DOMMouseEventProtoFunc::tryCall):
3002 (KJS::DOMKeyboardEvent::DOMKeyboardEvent):
3003 (KJS::DOMKeyboardEvent::getValueProperty):
3004 (KJS::DOMKeyboardEventProtoFunc::tryCall):
3005 (KJS::DOMMutationEvent::DOMMutationEvent):
3006 (KJS::DOMMutationEvent::getValueProperty):
3007 (KJS::DOMMutationEventProtoFunc::tryCall):
3008 (KJS::DOMWheelEvent::DOMWheelEvent):
3009 (KJS::DOMWheelEvent::getValueProperty):
3010 (KJS::ClipboardProtoFunc::tryCall):
3011 * khtml/ecma/kjs_events.h:
3012 (KJS::DOMEvent::impl):
3013 (KJS::DOMUIEvent::):
3014 (KJS::DOMMouseEvent::):
3015 (KJS::DOMKeyboardEvent::):
3016 (KJS::DOMMutationEvent::):
3017 * khtml/ecma/kjs_html.cpp:
3018 (KJS::KJS::HTMLDocFunction::tryCall):
3019 (KJS::HTMLDocument::HTMLDocument):
3020 (KJS::HTMLDocument::hasProperty):
3021 (KJS::HTMLDocument::tryGet):
3022 (KJS::KJS::HTMLDocument::putValue):
3023 (KJS::KJS::HTMLElement::classInfo):
3024 (KJS::HTMLElement::HTMLElement):
3025 (KJS::KJS::HTMLElement::tryGet):
3026 (KJS::KJS::HTMLElement::implementsCall):
3027 (KJS::KJS::HTMLElement::call):
3028 (KJS::KJS::HTMLElement::getValueProperty):
3029 (KJS::KJS::HTMLElement::hasProperty):
3030 (KJS::KJS::HTMLElement::toString):
3032 (KJS::KJS::HTMLElement::pushEventHandlerScope):
3033 (KJS::KJS::HTMLElementFunction::tryCall):
3034 (KJS::KJS::HTMLElement::tryPut):
3035 (KJS::HTMLElement::putValue):
3036 (KJS::toHTMLElement):
3037 (KJS::toHTMLTableCaptionElement):
3038 (KJS::toHTMLTableSectionElement):
3039 (KJS::HTMLCollection::HTMLCollection):
3040 (KJS::HTMLCollection::~HTMLCollection):
3041 (KJS::KJS::HTMLCollection::tryGet):
3042 (KJS::KJS::HTMLCollection::tryCall):
3043 (KJS::KJS::HTMLCollection::getNamedItems):
3044 (KJS::KJS::HTMLCollectionProtoFunc::tryCall):
3045 (KJS::HTMLSelectCollection::HTMLSelectCollection):
3046 (KJS::KJS::HTMLSelectCollection::tryGet):
3047 (KJS::KJS::HTMLSelectCollection::tryPut):
3048 (KJS::OptionConstructorImp::OptionConstructorImp):
3049 (KJS::OptionConstructorImp::construct):
3050 (KJS::ImageConstructorImp::ImageConstructorImp):
3051 (KJS::ImageConstructorImp::construct):
3052 (KJS::Image::notifyFinished):
3053 (KJS::Image::Image):
3054 (KJS::KJS::Context2DFunction::tryCall):
3056 (KJS::colorRefFromValue):
3057 (KJS::colorFromValue):
3058 (KJS::Context2D::putValue):
3059 (KJS::Context2D::Context2D):
3060 (KJS::Context2D::mark):
3061 (KJS::GradientFunction::tryCall):
3062 (KJS::ImagePattern::tryGet):
3063 (KJS::getHTMLCollection):
3064 (KJS::getSelectHTMLCollection):
3065 * khtml/ecma/kjs_html.h:
3066 (KJS::HTMLDocument::):
3067 (KJS::HTMLElement::):
3068 (KJS::HTMLCollection::impl):
3069 * khtml/ecma/kjs_navigator.cpp:
3070 * khtml/ecma/kjs_proxy.cpp:
3071 (KJSProxyImpl::evaluate):
3072 (KJSProxyImpl::finishedWithEvent):
3073 * khtml/ecma/kjs_proxy.h:
3074 * khtml/ecma/kjs_range.cpp:
3075 (KJS::DOMRange::DOMRange):
3076 (KJS::DOMRange::~DOMRange):
3077 (KJS::DOMRange::tryGet):
3078 (KJS::DOMRange::getValueProperty):
3079 (KJS::DOMRangeProtoFunc::tryCall):
3081 (KJS::RangeConstructor::tryGet):
3082 (KJS::getRangeConstructor):
3084 * khtml/ecma/kjs_range.h:
3085 (KJS::DOMRange::impl):
3086 * khtml/ecma/kjs_traversal.cpp:
3087 (KJS::DOMNodeIterator::DOMNodeIterator):
3088 (KJS::DOMNodeIterator::~DOMNodeIterator):
3089 (KJS::DOMNodeIterator::getValueProperty):
3090 (KJS::DOMNodeIteratorProtoFunc::tryCall):
3091 (KJS::getDOMNodeIterator):
3092 (KJS::DOMNodeFilter::DOMNodeFilter):
3093 (KJS::DOMNodeFilter::~DOMNodeFilter):
3094 (KJS::DOMNodeFilterProtoFunc::tryCall):
3095 (KJS::getDOMNodeFilter):
3096 (KJS::toNodeFilter):
3097 (KJS::DOMTreeWalker::DOMTreeWalker):
3098 (KJS::DOMTreeWalker::~DOMTreeWalker):
3099 (KJS::DOMTreeWalker::getValueProperty):
3100 (KJS::DOMTreeWalker::tryPut):
3101 (KJS::DOMTreeWalkerProtoFunc::tryCall):
3102 (KJS::getDOMTreeWalker):
3103 (KJS::JSNodeFilterCondition::acceptNode):
3104 * khtml/ecma/kjs_traversal.h:
3105 (KJS::DOMNodeIterator::impl):
3106 (KJS::DOMNodeFilter::impl):
3107 (KJS::DOMTreeWalker::impl):
3108 * khtml/ecma/kjs_views.cpp:
3109 (KJS::DOMAbstractView::~DOMAbstractView):
3110 (KJS::DOMAbstractView::tryGet):
3111 (KJS::DOMAbstractViewFunc::tryCall):
3112 (KJS::getDOMAbstractView):
3113 (KJS::toAbstractView):
3114 * khtml/ecma/kjs_views.h:
3115 (KJS::DOMAbstractView::DOMAbstractView):
3116 (KJS::DOMAbstractView::impl):
3117 * khtml/ecma/kjs_window.cpp:
3119 (KJS::Window::hasProperty):
3121 (KJS::Window::setListener):
3122 (KJS::Window::getListener):
3123 (KJS::Window::setCurrentEvent):
3124 (KJS::WindowFunc::tryCall):
3125 (KJS::Location::put):
3126 (KJS::LocationFunc::tryCall):
3127 (KJS::Selection::get):
3128 (KJS::SelectionFunc::tryCall):
3129 * khtml/ecma/kjs_window.h:
3130 * khtml/ecma/xmlhttprequest.cpp:
3131 (KJS::XMLHttpRequestConstructorImp::XMLHttpRequestConstructorImp):
3132 (KJS::XMLHttpRequestConstructorImp::~XMLHttpRequestConstructorImp):
3133 (KJS::XMLHttpRequestConstructorImp::construct):
3134 (KJS::XMLHttpRequest::getValueProperty):
3135 (KJS::XMLHttpRequest::XMLHttpRequest):
3136 (KJS::XMLHttpRequest::changeState):
3137 (KJS::XMLHttpRequest::open):
3138 (KJS::XMLHttpRequestProtoFunc::tryCall):
3139 * khtml/ecma/xmlhttprequest.h:
3140 * khtml/ecma/xmlserializer.cpp:
3141 (KJS::XMLSerializerProtoFunc::tryCall):
3142 * khtml/ecma/xmlserializer.h:
3143 * kwq/DOMInternal.mm:
3144 (-[WebScriptObject _initializeScriptDOMNodeImp]):
3145 * kwq/DOMUtility.mm:
3146 (KJS::ScriptInterpreter::createObjcInstanceForValue):
3148 2005-05-11 David Hyatt <hyatt@apple.com>
3150 Improve the display of apple.com. innerWidth and innerHeight refer to the size of the visible view and
3151 so they do not need to do a layout in order to yield correct values from JS. Removing this stops an
3152 early layout and paint before the apple.com images are typically loaded.
3154 This is an improvement of the fix for wired.com's FOUC. For that bug I eliminated the need to ignore pending
3155 stylesheets, but now I'm going further and just eliminating the layout all together. This means that the old
3156 updateLayout function can be reverted to how it was before the wired.com fix.
3160 * khtml/ecma/kjs_window.cpp:
3162 (Window::updateLayout):
3163 * khtml/ecma/kjs_window.h:
3165 2005-05-11 Maciej Stachowiak <mjs@apple.com>
3169 - split some more individual classes out of htmlediting.cpp
3170 (CompositeEditcommand, AppendnodeCommand, ApplyStyleCommand)
3172 Also moves StyleChange directly into ApplyStyleCommand
3173 implementation file, it doesn't need to be in a header at all.
3175 * WebCore.pbproj/project.pbxproj:
3176 * khtml/editing/append_node_command.cpp: Added.
3177 * khtml/editing/append_node_command.h: Added.
3178 * khtml/editing/apply_style_command.cpp: Added.
3179 * khtml/editing/apply_style_command.h: Added.
3180 * khtml/editing/composite_edit_command.cpp: Added.
3181 * khtml/editing/composite_edit_command.h: Added.
3182 * khtml/editing/edit_command.cpp: Minor clean-ups.
3183 * khtml/editing/edit_command.h:
3184 * khtml/editing/htmlediting.cpp:
3185 * khtml/editing/htmlediting.h:
3187 2005-05-11 Adele Peterson <adele@apple.com>
3191 fix for <rdar://problem/4061979> crash in DOM::ElementImpl::setAttribute at www.nitto-kohki.co.jp
3193 * khtml/html/html_imageimpl.cpp: (HTMLImageLoader::updateFromElement): added a nil check for the document
3194 * 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.
3196 * layout-tests/fast/events/onload-re-entry.html: removed alert.
3197 * layout-tests/fast/events/onload-re-entry-expected.txt: updated.
3198 * layout-tests/fast/dom/attr_dead_doc-expected.txt: Added.
3199 * layout-tests/fast/dom/attr_dead_doc.html: Added.
3200 * layout-tests/fast/dom/resources/apple.gif: Added.
3201 * layout-tests/fast/dom/resources/mozilla.gif: Added.
3202 * layout-tests/fast/dom/resources/top.html: Added.
3204 2005-05-10 Maciej Stachowiak <mjs@apple.com>
3208 - start on splitting htmlediting.cpp into smaller files - pull
3209 EditCommand and EditCommandPtr out.
3211 * WebCore.pbproj/project.pbxproj:
3212 * khtml/editing/edit_command.cpp: Added.
3213 * khtml/editing/edit_command.h: Added.
3214 * khtml/editing/htmlediting.cpp: Took EditCommand and EditCommandPtr out.
3215 * khtml/editing/htmlediting.h: Ditto.
3217 2005-05-10 David Hyatt <hyatt@apple.com>
3219 Refactor the DOM so that the concept of class/style/id is no longer unique to HTML elements. This paves the way
3220 for SVG and MathML elements to also support these capabilities. In addition the concept of presentational
3221 attributes has also been factored out.
3225 * khtml/css/css_ruleimpl.cpp:
3226 (CSSStyleRuleImpl::setDeclaration):
3227 * khtml/css/cssstyleselector.cpp:
3228 (khtml::parseUASheet):
3229 (khtml::CSSStyleSelector::loadDefaultStyle):
3230 (khtml::CSSStyleSelector::initElementAndPseudoState):
3231 (khtml::CSSStyleSelector::canShareStyleWithElement):
3232 (khtml::CSSStyleSelector::locateSharedStyle):
3233 (khtml::CSSStyleSelector::styleForElement):
3234 (khtml::CSSStyleSelector::checkOneSelector):
3235 * khtml/css/cssstyleselector.h:
3236 * khtml/html/html_baseimpl.cpp:
3237 (HTMLBodyElementImpl::parseMappedAttribute):
3238 (HTMLFrameElementImpl::parseMappedAttribute):
3239 (HTMLFrameSetElementImpl::parseMappedAttribute):
3240 (HTMLIFrameElementImpl::parseMappedAttribute):
3241 * khtml/html/html_baseimpl.h:
3242 * khtml/html/html_blockimpl.cpp:
3243 (HTMLDivElementImpl::parseMappedAttribute):
3244 (HTMLHRElementImpl::parseMappedAttribute):
3245 (HTMLParagraphElementImpl::parseMappedAttribute):
3246 (HTMLMarqueeElementImpl::parseMappedAttribute):
3247 * khtml/html/html_blockimpl.h:
3248 * khtml/html/html_canvasimpl.cpp:
3249 (HTMLCanvasElementImpl::parseMappedAttribute):
3250 * khtml/html/html_canvasimpl.h:
3251 * khtml/html/html_elementimpl.cpp:
3252 (HTMLElementImpl::HTMLElementImpl):
3253 (HTMLElementImpl::~HTMLElementImpl):
3254 (HTMLElementImpl::mapToEntry):
3255 (HTMLElementImpl::parseMappedAttribute):
3256 (HTMLElementImpl::addHTMLAlignment):
3257 (HTMLElementImpl::setContentEditable):
3258 (HTMLElementImpl::toString):
3259 * khtml/html/html_elementimpl.h:
3260 * khtml/html/html_formimpl.cpp:
3261 (DOM::HTMLFormElementImpl::parseMappedAttribute):
3262 (DOM::HTMLGenericFormElementImpl::parseMappedAttribute):
3263 (DOM::HTMLButtonElementImpl::parseMappedAttribute):
3264 (DOM::HTMLInputElementImpl::setType):
3265 (DOM::HTMLInputElementImpl::parseMappedAttribute):
3266 (DOM::HTMLLabelElementImpl::parseMappedAttribute):
3267 (DOM::HTMLSelectElementImpl::parseMappedAttribute):
3268 (DOM::HTMLKeygenElementImpl::parseMappedAttribute):
3269 (DOM::HTMLOptGroupElementImpl::parseMappedAttribute):
3270 (DOM::HTMLOptionElementImpl::parseMappedAttribute):
3271 (DOM::HTMLTextAreaElementImpl::parseMappedAttribute):
3272 (DOM::HTMLIsIndexElementImpl::parseMappedAttribute):
3273 * khtml/html/html_formimpl.h:
3274 * khtml/html/html_headimpl.cpp:
3275 (HTMLBaseElementImpl::parseMappedAttribute):
3276 (HTMLLinkElementImpl::parseMappedAttribute):
3277 (HTMLMetaElementImpl::parseMappedAttribute):
3278 (HTMLStyleElementImpl::parseMappedAttribute):
3279 * khtml/html/html_headimpl.h:
3280 * khtml/html/html_imageimpl.cpp:
3281 (HTMLImageElementImpl::parseMappedAttribute):
3282 (HTMLMapElementImpl::parseMappedAttribute):
3283 (HTMLAreaElementImpl::parseMappedAttribute):
3284 * khtml/html/html_imageimpl.h:
3285 * khtml/html/html_inlineimpl.cpp:
3286 (DOM::HTMLAnchorElementImpl::parseMappedAttribute):
3287 (DOM::HTMLBRElementImpl::parseMappedAttribute):
3288 (DOM::HTMLFontElementImpl::parseMappedAttribute):
3289 * khtml/html/html_inlineimpl.h:
3290 * khtml/html/html_listimpl.cpp:
3291 (DOM::HTMLUListElementImpl::parseMappedAttribute):
3292 (DOM::HTMLOListElementImpl::parseMappedAttribute):
3293 (DOM::HTMLLIElementImpl::parseMappedAttribute):
3294 * khtml/html/html_listimpl.h:
3295 * khtml/html/html_objectimpl.cpp:
3296 (DOM::HTMLAppletElementImpl::parseMappedAttribute):
3297 (DOM::HTMLEmbedElementImpl::parseMappedAttribute):
3298 (DOM::HTMLObjectElementImpl::parseMappedAttribute):
3299 (DOM::HTMLParamElementImpl::parseMappedAttribute):
3300 * khtml/html/html_objectimpl.h:
3301 * khtml/html/html_tableimpl.cpp:
3302 (DOM::HTMLTableElementImpl::parseMappedAttribute):
3303 (DOM::HTMLTableElementImpl::additionalAttributeStyleDecl):
3304 (DOM::HTMLTableElementImpl::getSharedCellDecl):
3305 (DOM::HTMLTablePartElementImpl::parseMappedAttribute):
3306 (DOM::HTMLTableCellElementImpl::parseMappedAttribute):
3307 (DOM::HTMLTableColElementImpl::parseMappedAttribute):
3308 (DOM::HTMLTableCaptionElementImpl::parseMappedAttribute):
3309 * khtml/html/html_tableimpl.h:
3310 * khtml/html/htmltokenizer.h:
3311 (khtml::Token::addAttribute):
3312 * khtml/misc/htmlattrs.in:
3313 * khtml/misc/htmltags.in:
3314 * khtml/xml/dom_docimpl.cpp:
3315 (DocumentImpl::createAttribute):
3316 (DocumentImpl::createElementNS):
3317 (DocumentImpl::createHTMLElement):
3318 * khtml/xml/dom_elementimpl.cpp:
3319 (XMLElementImpl::cloneNode):
3320 (NamedAttrMapImpl::isMappedAttributeMap):
3321 (CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl):
3322 (StyledElementImpl::getMappedAttributeDecl):
3323 (StyledElementImpl::setMappedAttributeDecl):
3324 (StyledElementImpl::removeMappedAttributeDecl):
3325 (StyledElementImpl::invalidateStyleAttribute):
3326 (StyledElementImpl::updateStyleAttributeIfNeeded):
3327 (MappedAttributeImpl::~MappedAttributeImpl):
3328 (MappedAttributeImpl::clone):
3329 (m_mappedAttributeCount):
3330 (NamedMappedAttrMapImpl::clearAttributes):
3331 (NamedMappedAttrMapImpl::isMappedAttributeMap):
3332 (NamedMappedAttrMapImpl::declCount):
3333 (NamedMappedAttrMapImpl::mapsEquivalent):
3334 (NamedMappedAttrMapImpl::parseClassAttribute):
3335 (StyledElementImpl::StyledElementImpl):
3336 (StyledElementImpl::~StyledElementImpl):
3337 (StyledElementImpl::createAttribute):
3338 (StyledElementImpl::createInlineStyleDecl):
3339 (StyledElementImpl::destroyInlineStyleDecl):
3340 (StyledElementImpl::attributeChanged):
3341 (StyledElementImpl::mapToEntry):
3342 (StyledElementImpl::parseMappedAttribute):
3343 (StyledElementImpl::createAttributeMap):
3344 (StyledElementImpl::getInlineStyleDecl):
3345 (StyledElementImpl::style):
3346 (StyledElementImpl::additionalAttributeStyleDecl):
3347 (StyledElementImpl::getClassList):
3350 (StyledElementImpl::addCSSProperty):
3351 (StyledElementImpl::addCSSStringProperty):
3352 (StyledElementImpl::addCSSImageProperty):
3353 (StyledElementImpl::addCSSLength):
3354 (StyledElementImpl::addCSSColor):
3355 (StyledElementImpl::createMappedDecl):
3356 * khtml/xml/dom_elementimpl.h:
3358 (DOM::CSSMappedAttributeDeclarationImpl::CSSMappedAttributeDeclarationImpl):
3359 (DOM::CSSMappedAttributeDeclarationImpl::setMappedState):
3360 (DOM::MappedAttributeImpl::MappedAttributeImpl):
3361 (DOM::MappedAttributeImpl::decl):
3362 (DOM::MappedAttributeImpl::setDecl):
3363 (DOM::NamedMappedAttrMapImpl::getClassList):
3364 (DOM::NamedMappedAttrMapImpl::hasMappedAttributes):
3365 (DOM::NamedMappedAttrMapImpl::declRemoved):
3366 (DOM::NamedMappedAttrMapImpl::declAdded):
3367 (DOM::NamedMappedAttrMapImpl::attributeItem):
3368 (DOM::StyledElementImpl::isStyledElement):
3369 (DOM::StyledElementImpl::hasMappedAttributes):
3370 (DOM::StyledElementImpl::mappedAttributes):
3371 (DOM::StyledElementImpl::isMappedAttribute):
3372 (DOM::StyledElementImpl::inlineStyleDecl):
3373 * khtml/xml/dom_nodeimpl.h:
3374 (DOM::NodeImpl::isStyledElement):
3376 2005-05-10 Darin Adler <darin@apple.com>
3378 Reviewed by Dave Hyatt.
3379 No new layout tests needed.
3381 - remove all remaining uses of QMIN/QMAX and KMIN/KMAX.
3383 * kwq/KWQDef.h: Remove the macros.
3385 Remove all use of the macros (and fix a few compile errors by changing the types of
3386 some integer and floating point constants).
3388 * khtml/css/cssparser.cpp:
3389 (CSSParser::parseColorFromValue):
3390 * khtml/css/cssstyleselector.cpp:
3391 (khtml::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
3392 * khtml/html/html_elementimpl.cpp:
3393 (HTMLElementImpl::addHTMLColor):
3394 * khtml/html/html_formimpl.cpp:
3395 (DOM::HTMLSelectElementImpl::parseHTMLAttribute):
3396 * khtml/html/htmltokenizer.cpp:
3397 (khtml::HTMLTokenizer::parseComment):
3398 * khtml/rendering/render_block.cpp:
3399 (khtml::RenderBlock::nearestFloatBottom):
3400 (khtml::RenderBlock::calcMinMaxWidth):
3401 * khtml/rendering/render_flow.cpp:
3402 (RenderFlow::paintOutlineForLine):
3403 * khtml/rendering/render_form.cpp:
3404 (RenderLineEdit::calcMinMaxWidth):
3405 (RenderFieldset::layoutLegend):
3406 (RenderFileButton::calcMinMaxWidth):
3407 (RenderSelect::layout):
3408 (RenderTextArea::calcMinMaxWidth):
3409 * khtml/rendering/render_object.cpp: