1 2005-11-03 Timothy Hatcher <timothy@apple.com>
3 Reviewed by Darin and Vicki.
5 * WebCore.xcodeproj/project.pbxproj:
6 Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
7 $(NEXT_ROOT) in a few spots to make build-root work.
9 2005-11-03 David Hyatt <hyatt@apple.com>
11 Cleanup of bidi.cpp. This is bug 5532. I merged it nearly as is, although I
12 did one additional rename of my own (BidiIterator's "par" -> "block") and
13 I did not merge the * changes, since that particular style guideline is
18 * khtml/rendering/bidi.cpp:
19 (khtml::BidiIterator::BidiIterator):
20 (khtml::BidiIterator::pos):
21 (khtml::BidiState::BidiState):
23 (khtml::BidiContext::BidiContext):
24 (khtml::BidiContext::~BidiContext):
25 (khtml::BidiContext::deref):
30 (khtml::BidiIterator::increment):
31 (khtml::BidiIterator::atEnd):
32 (khtml::BidiIterator::current):
33 (khtml::chopMidpointsAt):
34 (khtml::checkMidpoints):
35 (khtml::appendRunsForObject):
38 (khtml::RenderBlock::constructLine):
39 (khtml::RenderBlock::tabWidth):
40 (khtml::RenderBlock::computeHorizontalPositionsForLine):
41 (khtml::RenderBlock::bidiReorderLine):
42 (khtml::buildCompactRuns):
43 (khtml::RenderBlock::layoutInlineChildren):
44 (khtml::RenderBlock::determineStartPosition):
45 (khtml::RenderBlock::skipWhitespace):
46 (khtml::RenderBlock::findNextLineBreak):
48 2005-11-03 David Hyatt <hyatt@apple.com>
50 Make pre-wrap collapse away spaces at the start of a line. There are
51 still several bugs, namely with overflow and with selection. This is bugzilla
56 fast/text/whitespace/pre-wrap.html
58 * khtml/rendering/bidi.cpp:
59 (khtml::skipNonBreakingSpace):
60 (khtml::shouldCollapseWhiteSpace):
61 (khtml::RenderBlock::skipWhitespace):
62 * khtml/rendering/render_block.h:
64 2005-11-03 Adele Peterson <adele@apple.com>
68 * khtml/rendering/render_layer.cpp:
69 (khtml::): Made global ScrollAlignment members const
70 (khtml::RenderLayer::scrollRectToVisible): Changed ScrollAlignment parameters to const ScrollAlignment&
71 (khtml::RenderLayer::getRectToExpose): ditto.
72 * khtml/rendering/render_layer.h:
73 (khtml::RenderLayer::): removed typedefs
74 (khtml::RenderLayer::getVisibleBehavior): Made this static.
75 (khtml::RenderLayer::getPartialBehavior): ditto.
76 (khtml::RenderLayer::getHiddenBehavior): ditto.
78 2005-11-03 Adele Peterson <adele@apple.com>
82 Clean up of layer scrolling code. Now we can clearly define what to do if a rectangle is fully visible, partially visible, or hidden.
83 This also fixes a bug with the previous implementation where nested layers/frames would get passed a rect that was too large.
85 Added fast/overflow/scrollRevealButton.html
87 * khtml/rendering/render_layer.h: (khtml::RenderLayer::):
88 Added ScrollBehavior enum, ScrollAlignment struct, and ScrollAlignment static members
89 to describe specific scrolling behaviors depending on how visible the rectangle is.
90 In the future, we can add other statics to easily describe desired behaviors.
91 * khtml/rendering/render_layer.cpp:
92 (khtml::): initialize ScrollAlignment static members:
93 alignCenterIfNeeded, alignToEdgeIfNeeded, alignCenterAlways, alignTopAlways, alignBottomAlways
94 (khtml::RenderLayer::scrollRectToVisible):
95 alignCenterIfNeeded is the default behavior for both directions.
96 Pass the original rect (adjusted if scrolling has occurred) when recursively calling this function.
97 (khtml::RenderLayer::getRectToExpose): Adjusted for new ScrollAlignment parameters.
98 * khtml/khtml_part.cpp:
99 (KHTMLPart::gotoAnchor): Use the node's rect to determine where to scroll.
100 We used to just use the origin, but this helps us match other browsers better.
101 (KHTMLPart::setActiveNode): Removed scrolling code, since this is now also done in setFocusNode
102 * khtml/xml/dom_elementimpl.cpp: (ElementImpl::scrollIntoView): Use new ScrollAlignment values to describe scrolling behavior.
103 * kwq/KWQKHTMLPart.mm:
104 (KWQKHTMLPart::nextKeyViewInFrame): Removed scrolling code, since this is now also done in setFocusNode
105 (KWQKHTMLPart::centerSelectionInVisibleArea): Use new ScrollAlignment values to describe scrolling behavior.
106 * kwq/WebCoreBridge.mm: (-[WebCoreBridge ensureSelectionVisible]): ditto.
107 * kwq/KWQScrollView.h: Removed ensureRectVisible, since we no longer use this.
108 * kwq/KWQScrollView.mm: ditto.
109 * khtml/khtmlview.cpp:
110 (KHTMLView::doAutoScroll): Removed unnecessary nil checks for enclosingLayer
111 (KHTMLView::focusNextPrevNode): ditto.
113 2005-11-02 David Harrison <harrison@apple.com>
117 Tests added in editing/inserting.
119 <rdar://problem/4017861> in reply, extra line is inserted after pressing return on blank quoted line
120 Also, did some minor cleanup.
122 * khtml/editing/break_blockquote_command.cpp:
123 (khtml::BreakBlockquoteCommand::BreakBlockquoteCommand):
124 (khtml::BreakBlockquoteCommand::doApply):
125 Make sure not to clone parent of skipped BR unless there are siblings to move over.
126 * khtml/editing/break_blockquote_command.h:
127 * khtml/editing/jsediting.cpp:
129 2005-11-02 Vicki Murley <vicki@apple.com>
133 - fix <rdar://problem/4303587> REGRESSION (TOT): Scrollwheel doesn't work on frameset pages (5450)
135 * kwq/KWQKHTMLPart.h:
136 * kwq/KWQKHTMLPart.mm:
137 (KWQKHTMLPart::wheelEvent): set _currentEvent to the wheel event
138 (KWQKHTMLPart::passWheelEventToChildWidget): New. Pass the event to the child widget, if we
139 haven't already handled the event
140 * khtml/khtmlview.cpp:
141 (KHTMLView::viewportWheelEvent): add passWheelEventToChildWidget check, and accept the event if
142 we're passing to the child widget
144 2005-11-02 David Hyatt <hyatt@apple.com>
146 Fix for 5587, implement pre-wrap and pre-line white-space values.
150 Tests Added in fast/text/whitespace
152 * khtml/css/css_computedstyle.cpp:
153 (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
154 * khtml/css/cssparser.cpp:
155 (CSSParser::parseValue):
156 * khtml/css/cssstyleselector.cpp:
157 (khtml::CSSStyleSelector::applyProperty):
158 * khtml/css/cssvalues.in:
159 * khtml/css/html4.css:
160 * khtml/ecma/kjs_html.cpp:
161 (KJS::HTMLElement::preGetter):
162 (KJS::HTMLElement::preSetter):
163 * khtml/ecma/kjs_html.h:
164 (KJS::HTMLElement::):
165 * khtml/editing/visible_text.cpp:
166 (khtml::TextIterator::handleTextNode):
167 * khtml/editing/visible_units.cpp:
168 (khtml::startOfParagraph):
169 (khtml::endOfParagraph):
170 * khtml/html/html_blockimpl.cpp:
171 (HTMLPreElementImpl::mapToEntry):
172 (HTMLPreElementImpl::parseMappedAttribute):
173 (HTMLPreElementImpl::wrap):
174 (HTMLPreElementImpl::setWrap):
175 * khtml/html/html_blockimpl.h:
176 * khtml/rendering/bidi.cpp:
177 (khtml::checkMidpoints):
178 (khtml::RenderBlock::computeHorizontalPositionsForLine):
179 (khtml::RenderBlock::layoutInlineChildren):
180 (khtml::RenderBlock::skipNonBreakingSpace):
181 (khtml::RenderBlock::skipWhitespace):
182 (khtml::RenderBlock::findNextLineBreak):
183 * khtml/rendering/render_block.cpp:
184 (khtml:::RenderFlow):
185 (khtml::RenderBlock::setStyle):
186 (khtml::RenderBlock::calcMinMaxWidth):
187 (khtml::stripTrailingSpace):
188 (khtml::RenderBlock::calcInlineMinMaxWidth):
189 (khtml::RenderBlock::dump):
190 * khtml/rendering/render_block.h:
191 * khtml/rendering/render_layer.h:
193 * khtml/rendering/render_line.cpp:
194 (khtml::shouldDrawDecoration):
195 * khtml/rendering/render_object.cpp:
196 (RenderObject::tabWidth):
197 * khtml/rendering/render_style.h:
199 (khtml::RenderStyle::autoWrap):
200 (khtml::RenderStyle::preserveNewline):
201 (khtml::RenderStyle::collapseWhiteSpace):
202 (khtml::RenderStyle::isCollapsibleWhiteSpace):
203 (khtml::RenderStyle::breakOnlyAfterWhiteSpace):
204 * khtml/rendering/render_table.cpp:
205 (RenderTableCell::calcMinMaxWidth):
206 * khtml/rendering/render_text.cpp:
207 (RenderText::caretRect):
208 (RenderText::trimmedMinMaxWidth):
209 (RenderText::calcMinMaxWidth):
211 * khtml/xml/dom_elementimpl.h:
213 * khtml/xml/dom_textimpl.cpp:
214 (TextImpl::rendererIsNeeded):
215 * kwq/KWQKHTMLPart.mm:
216 (KWQKHTMLPart::attributedString):
218 2005-11-01 David Hyatt <hyatt@apple.com>
220 Fix for bug 5580, slashdot regression with percentage height
225 Added fast/block/basic/021.html
227 * khtml/rendering/render_box.cpp:
228 (RenderBox::calcPercentageHeight):
230 2005-11-01 Justin Garcia <justin.garcia@apple.com>
234 Tweaked my previous fix for caret movement while scrolling.
236 * khtml/editing/SelectionController.cpp:
237 (khtml::SelectionController::SelectionController): Forgot to copy m_caretPositionOnLayout.
238 (khtml::SelectionController::operator=): Ditto.
239 (khtml::SelectionController::layout): Initialize m_caretPositionOnLayout to a dummy value when the selection isNone.
240 * khtml/editing/SelectionController.h: Tweaked my comment.
242 2005-11-01 Justin Garcia <justin.garcia@apple.com>
246 Fixes <rdar://problem/4074536> Seed: Mail crash adjusting quote level - KHTMLPart::computeAndSetTypingStyle
248 No test cases added, requires Mail
250 * kwq/WebCoreBridge.mm:
251 (-[WebCoreBridge typingStyle]):
252 Crashes were happening after a style was merged with itself. Mail was doing a setTypingStyle
253 with a pointer to our internal typing style. Fix is to only hand out copies of our typingStyle.
255 2005-11-01 Justin Garcia <justin.garcia@apple.com>
259 Fixed <rdar://problem/3690705> caret does not move when scrolling overflow: auto editable area
261 * manual-tests/caretScrolling.html: Added.
263 * khtml/editing/SelectionController.cpp:
264 (khtml::SelectionController::SelectionController): Removed the unused expectedVisibleRect
265 (khtml::SelectionController::operator=): Ditto.
266 (khtml::SelectionController::layout): Save the caret's absolute position on layout.
267 (khtml::SelectionController::caretRect): Adjust the returned caret rect for offset due to scrolling since the last layout.
268 (khtml::SelectionController::paintCaret):
269 * khtml/editing/SelectionController.h:
270 * kwq/KWQKHTMLPart.mm:
271 (KWQKHTMLPart::nextKeyViewInFrame): Small tweak to a previous change.
273 (QRect::moveTopLeft): Added.
275 2005-11-01 Mitz Pettel <opendarwin.org@mitzpettel.com>
277 Reviewed by Dave Hyatt.
278 Commited by Tim Hatcher.
280 Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=5256
281 Relayout during load causes duplicate plugin part.
283 This was a problem with <OBJECT>s that contain an <EMBED>, if
284 layout happened in the middle of the OBJECT but before the EMBED.
286 No test case added, requires manual testing.
288 * khtml/html/html_objectimpl.cpp:
289 (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl):
290 (DOM::HTMLObjectElementImpl::closeRenderer):
291 (DOM::HTMLObjectElementImpl::setComplete):
292 * khtml/html/html_objectimpl.h:
293 (DOM::HTMLObjectElementImpl::isComplete):
294 * khtml/html/htmlfactory.cpp:
295 (DOM::objectConstructor):
296 * khtml/rendering/render_frames.cpp:
297 (RenderPartObject::updateWidget):
299 2005-11-01 Alexey Proskuryakov <ap@nypop.com>
301 Reviewed by Dave Hyatt.
302 Commited by Tim Hatcher.
304 Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=5541
306 HTMLNames constants are not yet initialized at Safari startup,
307 when bookmarks are imported, which caused a crash in Decoder::decode().
309 * kwq/WebCoreEncodings.mm:
310 (+[WebCoreEncodings decodeData:]):
312 2005-11-01 John Sullivan <sullivan@apple.com>
314 Change by Alexey Proskuryakov, reviewed by Darin Adler.
317 (encodeRelativeString):
318 switched to use fastStrdup(), we can't use strdup because we
319 need to use fastFree(), not regular free()
321 2005-11-01 Anders Carlsson <andersca@mac.com>
325 * khtml/ecma/kjs_dom.cpp:
326 (KJS::DOMNode::getValueProperty):
327 (KJS::DOMNode::putValueProperty):
328 * khtml/ecma/kjs_dom.h:
330 Add setter and setter for textContent.
332 * khtml/xml/dom_nodeimpl.cpp:
333 (DOM::NodeImpl::textContent):
334 (DOM::NodeImpl::setTextContent):
335 * khtml/xml/dom_nodeimpl.h:
336 Implement textContent and setTextContent.
339 (-[DOMNode textContent]):
340 (-[DOMNode setTextContent:]):
341 Add Objective C wrappers.
343 2005-10-31 Eric Seidel <eseidel@apple.com>
347 Now ignores XSLT PIs in documents resulting from transforms.
348 http://bugzilla.opendarwin.org/show_bug.cgi?id=5529
350 * khtml/xml/dom_docimpl.cpp:
351 (DocumentImpl::recalcStyleSelector):
352 * khtml/xml/xml_tokenizer.cpp:
353 (khtml::XMLTokenizer::processingInstruction):
355 2005-10-31 David Harrison <harrison@apple.com>
357 Remove conditionalized away code added as part of tab character support.
359 * khtml/editing/insert_text_command.cpp:
360 (khtml::InsertTextCommand::prepareForTextInsertion):
361 (khtml::InsertTextCommand::insertTab):
362 * khtml/editing/markup.cpp:
363 (khtml::createParagraphContentsFromString):
365 2005-10-29 David Hyatt <hyatt@apple.com>
366 Fix the performance regression caused by doing too much copying of background/border values. This patch attempts to rectify things by doing the following:
368 (1) Don't initialize the border/background cached values on every single style resolution.
369 (2) Only cache the border/background values just after user agent styles have been resolved if the user agent set an appearance.
370 (3) Only check for appearance disabling if you had a UA appearance originally (and then continue to have an appearance after author/user styles have been resolved too)
371 (4) Make sure to patch the pseudoStyleForElement method too. With the removal of the initialization code for the values running over and over again, I needed to make sure to patch this function to match styleForElement.
375 * khtml/css/cssstyleselector.cpp:
376 (khtml::CSSStyleSelector::initForStyleResolve):
377 (khtml::CSSStyleSelector::styleForElement):
378 (khtml::CSSStyleSelector::pseudoStyleForElement):
379 (khtml::CSSStyleSelector::adjustRenderStyle):
380 * khtml/css/cssstyleselector.h:
382 2005-10-28 Beth Dakin <bdakin@apple.com>
386 Fix for <rdar://problem/4098083> REGRESSION (125-312): crash
387 in [KWQTableView resignFirstResponder] selecting from JS menu
390 Since it is possible that a render widget's eventFilterObject
391 has been destroyed even though the render widget is still ref-ed,
392 we need to nil-check the eventFilterObject before we use it to get
395 * kwq/KWQComboBox.mm:
396 (-[KWQPopUpButton becomeFirstResponder]): Added nil check.
397 (-[KWQPopUpButton resignFirstResponder]): Added nil check.
399 (-[KWQTableView becomeFirstResponder]): Added nil check.
400 (-[KWQTableView resignFirstResponder]): Added nil check.
401 * kwq/KWQTextArea.mm:
402 (-[KWQTextAreaTextView becomeFirstResponder]): Added nil check.
403 (-[KWQTextAreaTextView resignFirstResponder]): Added nil check.
404 * kwq/KWQTextField.mm:
405 (-[KWQTextFieldController setHasFocus:]): Added nil check.
406 * kwq/WebCoreBridge.mm:
407 (-[WebCoreBridge elementForView:]): Added nil check.
409 2005-10-28 Adele Peterson <adele@apple.com>
413 - fixed <rdar://problem/4319232> finding text in overflow area doesn't always scroll to the right place
415 * khtml/rendering/render_text.cpp:
416 (RenderText::selectionRect): Subtracts scroll offset of containing block layer.
418 2005-10-28 David Hyatt <hyatt@apple.com>
420 Make sure positioned content works with width:intrinsic. Fixes positioned buttons. The bug
425 fast/forms/positioned-button.html
427 * khtml/rendering/render_box.cpp:
428 (RenderBox::calcAbsoluteHorizontalValues):
430 2005-10-28 Adele Peterson <adele@apple.com>
434 -fixed <rdar://problem/4081091> focus() does not work properly on anchors
435 <rdar://problem/4317689> new form elements don't get revealed when focus() is called on them
437 * khtml/xml/dom_docimpl.cpp:
438 (DocumentImpl::setFocusNode): call scrollRectToVisible.
440 2005-10-27 David Hyatt <hyatt@apple.com>
442 Fix for bug 5519, buttons need to honor background/border: none and turn off styles.
443 This patch changes the default style rules so that buttons have both a border and
446 If the author changes the border/background so that it no longer matches these chosen
447 defaults, we assume that the button has now been styled and we turn off the Aqua
450 We also play more games with border and padding and juggle the values around so that
451 things look right with Aqua turned on and off.
455 * khtml/css/cssstyleselector.cpp:
456 (khtml::CSSStyleSelector::matchRules):
457 (khtml::CSSStyleSelector::initForStyleResolve):
458 (khtml::CSSStyleSelector::styleForElement):
459 (khtml::CSSStyleSelector::adjustRenderStyle):
460 (khtml::CSSStyleSelector::applyDeclarations):
461 * khtml/css/cssstyleselector.h:
462 * khtml/css/html4.css:
463 * khtml/rendering/render_style.h:
464 (khtml::BorderValue::BorderValue):
465 (khtml::BorderData::operator!=):
466 (khtml::RenderStyle::border):
467 * khtml/rendering/render_theme.cpp:
468 (khtml::RenderTheme::paint):
469 (khtml::RenderTheme::isControlStyled):
470 * khtml/rendering/render_theme.h:
471 * khtml/rendering/render_theme_mac.h:
472 * khtml/rendering/render_theme_mac.mm:
473 (khtml::RenderThemeMac::adjustButtonStyle):
474 (khtml::RenderThemeMac::setButtonCellState):
475 (khtml::RenderThemeMac::paintButton):
477 2005-10-26 Vicki Murley <vicki@apple.com>
481 Fix problems with link jumping. In the cases below, we were calculating the wrong position to scroll to.
483 <rdar://problem/4247537> link jumping should scroll to tallest object on line, not first object on line
484 <rdar://problem/3489554> when calculating position for link jumping, skip siblings that are unrendered whitespace
485 <rdar://problem/4244382> Safari - erratic behavior of empty anchor tags followed by whitespace
486 <rdar://problem/4256060> Link scrolling to last object on the page doesn't work if the link being scrolled to contains an empty inline
487 <rdar://problem/4276623> erratic link jumping when tables are involved
489 * khtml/xml/dom_nodeimpl.cpp:
490 (DOM::ContainerNodeImpl::getUpperLeftCorner):
492 2005-10-27 Eric Seidel <eseidel@apple.com>
494 Build fix, forgot to commit project file.
495 Also need to make XSLT #ifdef's work for portability.
496 http://bugzilla.opendarwin.org/show_bug.cgi?id=3275
498 * WebCore.xcodeproj/project.pbxproj:
499 * khtml/ecma/XSLTProcessor.cpp:
500 * khtml/ecma/XSLTProcessor.h:
501 * khtml/ecma/kjs_window.cpp:
502 (KJS::Window::getValueProperty):
504 2005-10-27 Eric Seidel <eseidel@apple.com>
506 No review needed, svg build fix only.
508 * kdom/xpointer/XPointerExpressionImpl.cpp: "Shared.h" to "kdom/Shared.h"
510 2005-10-27 David Harrison <harrison@apple.com>
512 Reviewed by Justin Garcia and Dave Hyatt.
514 <rdar://problem/4134884> crash trying to forward msg - khtml::RenderBlock::addChildToFlow
516 Problem was that onunload events were being fired while in the middle of trying to detach, which resulted in updateDocumentsRendering re-attaching the previously detached nodes. Similar problem with load events while attaching.
518 Solved by eliminating load and unload for object nodes, pre-sending unload before detach, and sending dom mutation and load events after attaching.
520 Also, added asserts to catch this problem more easily in the future.
523 * fast/events/event-targets.html
524 Make sure that load and unload events do not fire on certain objects.
526 * khtml/ecma/kjs_html.cpp:
527 (KJS::Image::notifyFinished):
528 Use constant string for "load" event name.
529 * khtml/ecma/xmlhttprequest.cpp:
530 (KJS::XMLHttpRequest::changeState):
531 Use constant strings for "load" and "readystatechange" event names.
532 * khtml/html/html_baseimpl.cpp:
533 (HTMLFrameElementImpl::close):
534 (HTMLFrameElementImpl::willRemove):
535 (HTMLFrameElementImpl::detach):
536 Add willRemove() function.
537 * khtml/html/html_baseimpl.h:
538 Add willRemove() function.
539 * khtml/html/html_objectimpl.cpp:
540 (DOM::HTMLObjectElementImpl::attach):
541 (DOM::HTMLObjectElementImpl::detach):
542 Stop needlessly sending load and unload events for OBJECT elements.
543 * khtml/xml/dom2_traversalimpl.cpp:
544 (DOM::NodeIteratorImpl::notifyBeforeNodeRemoval):
545 Rename local variable from willRemove to removedNode for clarity.
546 * khtml/xml/dom_docimpl.cpp:
547 (DocumentImpl::DocumentImpl):
548 (DocumentImpl::forbidEventDispatch):
549 (DocumentImpl::allowEventDispatch):
550 (DocumentImpl::eventDispatchForbidden):
551 (DocumentImpl::createEvent):
552 Add mechanism to prevent event dispatch.
553 * khtml/xml/dom_docimpl.h:
554 * khtml/xml/dom_nodeimpl.cpp:
555 (DOM::NodeImpl::dispatchEvent):
556 (DOM::NodeImpl::dispatchGenericEvent):
557 (DOM::NodeImpl::dispatchHTMLEvent):
558 (DOM::NodeImpl::dispatchWindowEvent):
559 (DOM::NodeImpl::dispatchMouseEvent):
560 (DOM::NodeImpl::dispatchSimulatedMouseEvent):
561 (DOM::NodeImpl::dispatchUIEvent):
562 (DOM::NodeImpl::dispatchSubtreeModifiedEvent):
563 (DOM::NodeImpl::dispatchKeyEvent):
564 (DOM::NodeImpl::dispatchWheelEvent):
565 (DOM::NodeImpl::willRemove):
566 (DOM::ContainerNodeImpl::insertBefore):
567 (DOM::ContainerNodeImpl::replaceChild):
568 (DOM::ContainerNodeImpl::willRemove):
569 (DOM::ContainerNodeImpl::willRemoveChild):
570 (DOM::ContainerNodeImpl::removeChild):
571 (DOM::ContainerNodeImpl::removeChildren):
572 (DOM::ContainerNodeImpl::appendChild):
573 (DOM::ContainerNodeImpl::addChild):
574 (DOM::ContainerNodeImpl::dispatchChildInsertedEvents):
575 (DOM::ContainerNodeImpl::dispatchChildRemovalEvents):
576 Prevent event dispatch during DOM node removals and additions.
577 * khtml/xml/dom_nodeimpl.h:
579 2005-10-27 David Harrison <harrison@apple.com>
581 Reviewed by Tim Omerick.
583 <rdar://problem/4251172> AX: Safari crashes on www.mozilla.org with Voice Over - khtml::RenderImage::imageMap
585 Test cases added: None. Manual testing is way to awkward, and automated testing
586 is not possible. See following bug...
587 <rdar://problem/4256882> Need automated testing support for accessibility APIs
590 * khtml/rendering/render_image.cpp:
591 (RenderImage::RenderImage):
592 (RenderImage::imageMap):
593 (RenderImage::updateAltText):
595 2005-10-27 Eric Seidel <eseidel@apple.com>
599 Add XSLTProcessor support to WebCore's JavaScript bindings.
600 <rdar://problem/3642402> add XSLTProcessor to WebCore's JavaScript support
601 http://bugzilla.opendarwin.org/show_bug.cgi?id=3275
603 * WebCore.xcodeproj/project.pbxproj:
604 * khtml/ecma/XSLTProcessor.cpp: Added.
606 (KJS::XSLTProcessor::XSLTProcessor):
607 (KJS::XSLTProcessor::~XSLTProcessor):
608 (KJS::XSLTProcessorProtoFunc::callAsFunction):
609 * khtml/ecma/XSLTProcessor.h: Added.
610 (KJS::XSLTProcessor::classInfo):
611 (KJS::XSLTProcessor::):
612 (KJS::XSLTProcessor::impl):
613 (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
614 (KJS::XSLTProcessorConstructorImp::implementsConstruct):
615 (KJS::XSLTProcessorConstructorImp::construct):
616 * khtml/ecma/kjs_window.cpp:
617 (KJS::Window::getValueProperty):
618 * khtml/ecma/kjs_window.h:
620 * khtml/khtml_part.cpp:
621 (KHTMLPart::replaceDocImpl):
622 * khtml/xml/dom_docimpl.cpp:
623 (DocumentImpl::DocumentImpl):
624 (DocumentImpl::~DocumentImpl):
625 (DocumentImpl::applyXSLTransform):
626 * khtml/xml/dom_docimpl.h:
627 (DOM::DocumentImpl::transformSourceDocument):
628 (DOM::DocumentImpl::setTransformSourceDocument):
629 * khtml/xml/xml_tokenizer.cpp:
630 (khtml::xmlDocPtrForString):
631 (khtml::XMLTokenizer::setTransformSource):
632 * khtml/xml/xml_tokenizer.h:
633 * khtml/xsl/xslt_processorimpl.cpp:
634 (DOM::parseErrorFunc):
635 (DOM::stylesheetLoadFunc):
636 (DOM::setXSLTLoadCallBack):
637 (DOM::writeToQString):
638 (DOM::saveResultToString):
639 (DOM::transformTextStringToXHTMLDocumentString):
640 (DOM::xsltParamArrayFromQDict):
641 (DOM::freeXsltParamArray):
642 (DOM::XSLTProcessorImpl::createDocumentFromSource):
643 (DOM::createFragmentFromSource):
644 (DOM::xsltStylesheetPointer):
645 (DOM::xmlDocPtrFromNode):
646 (DOM::resultMIMEType):
647 (DOM::XSLTProcessorImpl::transformToString):
648 (DOM::XSLTProcessorImpl::transformToDocument):
649 (DOM::XSLTProcessorImpl::transformToFragment):
650 (DOM::XSLTProcessorImpl::setParameter):
651 (DOM::XSLTProcessorImpl::getParameter):
652 (DOM::XSLTProcessorImpl::removeParameter):
653 * khtml/xsl/xslt_processorimpl.h:
654 (DOM::XSLTProcessorImpl::XSLTProcessorImpl):
655 (DOM::XSLTProcessorImpl::setXSLStylesheet):
656 (DOM::XSLTProcessorImpl::importStylesheet):
657 (DOM::XSLTProcessorImpl::clearParameters):
658 (DOM::XSLTProcessorImpl::reset):
659 (DOM::XSLTProcessorImpl::xslStylesheet):
661 2005-10-27 Adele Peterson <adele@apple.com>
665 Fixed bug that prevents overflow areas from scrolling to reveal anchor.
666 Part of <rdar://problem/3612121>.
668 * khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor):
670 2005-10-27 Adele Peterson <adele@apple.com>
674 - fixed <rdar://problem/4318167> REGRESSION: content doesn't scroll far enough to the left after clicking links at aplacecalledcommon.co.uk
676 * khtml/rendering/render_layer.cpp:
677 (khtml::RenderLayer::scrollRectToVisible): fixed a typo where verticalAlignment was being passed instead of horizontalAlignment.
678 * khtml/khtml_part.cpp:
679 (KHTMLPart::gotoAnchor): specified alignLeft as horizontal alignment.
681 2005-10-27 David Hyatt <hyatt@apple.com>
683 Fix form controls so that they can take advantage of
684 the style sharing optimization. Special-case the "type"
685 attribute to accomplish this.
687 Also add checks for missing pseudo-classes that the sharing
688 code now needs to check once form controls start sharing
689 style. These include enabled, checked and indeterminate.
691 Finally, :target should have been checked all along and was
692 broken by the original style sharing landing. Add it to the list
693 of things checked as well.
695 It's impossible to write a :target test. Other areas more than
696 covered by existing test cases.
700 * khtml/css/cssstyleselector.cpp:
701 (khtml::CSSStyleSelector::canShareStyleWithElement):
702 (khtml::CSSStyleSelector::checkOneSelector):
704 2005-10-27 David Hyatt <hyatt@apple.com>
706 Fix for bug 5517, percentage height relative block inside a percentage height absolute
707 block did not stretch properly to fill the absolute block.
709 Also fixing box-sizing bugs in percentage height calculations. Recurrence in
710 calcPercentageHeight needed a content box adjustment.
714 fast/block/positioning/062.html
715 fast/box-sizing/percentage-test.html
716 fast/box-sizing/panels-one.html
717 fast/box-sizing/panels-two.html
719 * khtml/rendering/render_box.cpp:
720 (RenderBox::calcPercentageHeight):
722 2005-10-27 Eric Seidel <eseidel@apple.com>
724 No review, SVG build fix only.
725 Fixing fallout from <rdar://problem/4098450>.
727 * WebCore+SVG/xml_kdomtokenizer.cpp:
728 (KDOMTokenizer::write): now returns bool
729 (KDOMTokenizer::finish): error check
731 2005-10-26 Eric Seidel <eseidel@apple.com>
733 Reviewed by mjs & darin.
735 Various fixes to createMarkup and toString code to properly
736 support serialization of XML.
737 http://bugzilla.opendarwin.org/show_bug.cgi?id=5404
739 * khtml/editing/markup.cpp:
740 (khtml::startMarkup):
741 (khtml::doesHTMLForbidEndTag):
742 (khtml::shouldSelfClose):
745 (khtml::createFragmentFromMarkup):
746 (khtml::createMarkup):
747 * khtml/html/html_elementimpl.cpp:
748 (HTMLElementImpl::createContextualFragment):
749 (HTMLElementImpl::toString):
750 * khtml/html/htmltokenizer.cpp:
751 (khtml::parseHTMLDocumentFragment):
752 * khtml/html/htmltokenizer.h:
753 * khtml/xml/dom_xmlimpl.cpp:
754 (DOM::ProcessingInstructionImpl::ProcessingInstructionImpl):
755 (DOM::ProcessingInstructionImpl::~ProcessingInstructionImpl):
756 (DOM::ProcessingInstructionImpl::toString):
757 * khtml/xml/dom_xmlimpl.h:
758 (DOM::ProcessingInstructionImpl::sheet):
759 (DOM::ProcessingInstructionImpl::setStyleSheet):
761 2005-10-26 David Hyatt <hyatt@apple.com>
763 Don't allow position:relative to apply to table sections. Fixes the crash described in
764 Radar bug 4107882. (http://cityoflakeforest.com/cs/pw/cs_pw2a3.htm)
768 * khtml/css/cssstyleselector.cpp:
769 (khtml::CSSStyleSelector::adjustRenderStyle):
771 2005-10-26 Adele Peterson <adele@apple.com>
775 Fixes a few problems with <rdar://problem/3612121> that I noticed with code inspection.
777 * khtml/rendering/render_layer.h: removed inline scrollToPoint
778 * khtml/rendering/render_layer.cpp: (khtml::RenderLayer::getRectToExpose):
779 * khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor): Used to call scrollToPoint, now calls scrollRectToVisible
780 * kwq/KWQKHTMLPart.mm:
781 (KWQKHTMLPart::jumpToSelection): Now uses the enclosing layer of the selection start, instead of the outermost layer.
782 (KWQKHTMLPart::centerSelectionInVisibleArea): ditto.
784 2005-10-26 Anders Carlsson <andersca@mac.com>
788 * khtml/ecma/kjs_dom.cpp:
789 (KJS::DOMNodeProtoFunc::callAsFunction):
790 * khtml/ecma/kjs_dom.h:
794 * khtml/xml/dom_nodeimpl.cpp:
795 (DOM::NodeImpl::isEqualNode):
796 * khtml/xml/dom_nodeimpl.h:
797 Implement isEqualNode.
800 (-[DOMNode isEqualNode:]):
801 Add Objective C wrapper.
803 2005-10-26 David Hyatt <hyatt@apple.com>
805 Add support for the indeterminate boolean for placing checkboxes
806 into a mixed state. This is a feature of WinIE.
808 Along with this feature, add support for the CSS3 :indeterminate
809 selector, although one wonders how this could be part of the selectors spec
810 when no DOM standard covers the ability to make a mixed checkbox
813 This implementation may seem like it's overlooking some things, but it's not.
814 Specifically "indeterminate" has no effect on form submission, it does not
815 get cleared by a form reset, and the pre/post reversal code for undoing clicks
816 only resets the state that changed in WinIE. This is all bizarre behavior,
817 but this is a WinIE extension, so we're going to match.
821 fast/forms/indeterminate.html
823 * khtml/css/css_base.cpp:
824 (CSSSelector::extractPseudoType):
825 * khtml/css/css_base.h:
826 (DOM::CSSSelector::):
827 * khtml/css/cssstyleselector.cpp:
828 (khtml::CSSStyleSelector::checkOneSelector):
829 * khtml/ecma/kjs_html.cpp:
830 (KJS::HTMLElement::inputGetter):
831 (KJS::HTMLElement::inputSetter):
832 * khtml/ecma/kjs_html.h:
833 (KJS::HTMLElement::):
834 * khtml/html/html_formimpl.cpp:
835 (DOM::HTMLInputElementImpl::init):
836 (DOM::HTMLInputElementImpl::setIndeterminate):
837 (DOM::HTMLInputElementImpl::preDispatchEventHandler):
838 (DOM::HTMLInputElementImpl::postDispatchEventHandler):
839 * khtml/html/html_formimpl.h:
840 (DOM::HTMLInputElementImpl::isIndeterminate):
841 (DOM::HTMLInputElementImpl::indeterminate):
842 * khtml/rendering/render_theme.cpp:
843 (khtml::RenderTheme::isIndeterminate):
844 * khtml/rendering/render_theme.h:
845 * khtml/rendering/render_theme_mac.mm:
846 (khtml::RenderThemeMac::updateCheckedState):
847 (khtml::RenderThemeMac::setCheckboxCellState):
848 * khtml/xml/dom_nodeimpl.h:
849 (DOM::NodeImpl::isIndeterminate):
851 2005-10-26 Maciej Stachowiak <mjs@apple.com>
853 Re-landed fix for the following bug:
855 <rdar://problem/4302874> crash repeatedly reloading www.supermanhomepage.com (fixed in Denver, broken on TOT)
857 * khtml/ecma/kjs_events.cpp:
858 (KJS::JSAbstractEventListener::handleEvent):
860 2005-10-25 Darin Adler <darin@apple.com>
864 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5315
865 need to set document type based on contents of <!DOCTYPE>
866 (fixes one layout test)
868 * khtml/html/html_documentimpl.cpp: (DOM::HTMLDocumentImpl::determineParseMode):
869 Use the new setDocType function instead of modifying m_doctype directly.
871 * khtml/xml/dom_docimpl.h: Changed to use SharedPtr more.
872 (DOM::DocumentImpl::realDocType): Add get() since we're using SharedPtr.
873 (DOM::DocumentImpl::setDocType): Added.
874 * khtml/xml/dom_docimpl.cpp:
875 (DOMImplementationImpl::createDocument): Use setDocType instead of using
876 realDocType()->copyFrom to set up the document type in the new document.
877 (DocumentImpl::DocumentImpl): Don't create an empty document type during constructor.
878 (DocumentImpl::~DocumentImpl): Remove explicit deref since we're using SharedPtr.
879 (DocumentImpl::doctype): Add get() since we're using SharedPtr.
880 (DocumentTypeImpl::DocumentTypeImpl): Streamlined implementation since we're using SharedPtr.
882 * khtml/xml/xml_tokenizer.cpp:
883 (khtml::XMLTokenizer::internalSubset): Added. Calls setDocType.
884 (khtml::internalSubsetHandler): Added. Calls xmlSAX2InternalSubset after calling our function.
885 (khtml::XMLTokenizer::finish): Changed to pass our internalSubsetHandler function pointer.
887 2005-10-25 David Hyatt <hyatt@apple.com>
889 This patch makes a number of refinements to buttons to make
890 the custom <input>s on hotwire.com look correct.
892 Also back out my fix for bug 5283, since it causes some bad
893 regressions and basically needs to be rethought. (This part
894 not reviewed, since it's just a backout.)
898 * khtml/css/html4.css:
899 Added rules to reset many more properties on form controls,
900 including text-align, letter-spacing, word-spacing, line-height
901 text-transform and others. Remove the !important from the
902 line-height reset, since WinIE honors line-height on buttons.
903 Mozilla does not, but we will match WinIE.
905 * khtml/rendering/render_button.cpp:
906 (khtml::RenderButton::setStyle):
907 Make sure to preserve the box-flex of our generated interior
908 block, so that it doesn't end up packing left inside its
909 container when styles change.
911 (khtml::RenderButton::paintObject):
912 Change the clipping heuristic to only clip to the border box.
913 This does mean text can run right up to the edge of an Aqua
914 button, but without this change we just don't match other
917 * khtml/rendering/render_flexbox.cpp:
918 (khtml::RenderFlexibleBox::layoutHorizontalBox):
919 (khtml::RenderFlexibleBox::layoutVerticalBox):
920 Change the behavior of box-align:center. If it would result
921 in spillage out the top or left when centering, then don't move
924 2005-10-25 Maciej Stachowiak <mjs@apple.com>
926 Re-landing the isSameNode fix from Anders, I verified there is no effect on performance:
928 <rdar://problem/4302880> Re-land isSameNode change
930 * khtml/ecma/kjs_dom.cpp:
931 * khtml/ecma/kjs_dom.h:
932 * khtml/xml/dom_nodeimpl.h:
935 2005-10-25 Maciej Stachowiak <mjs@apple.com>
937 Re-land the following fix, I tested to verify there is no performance regression:
939 Makes <object> tags not use image mode for svg content:
940 http://bugzilla.opendarwin.org/show_bug.cgi?id=5175
942 * khtml/html/html_objectimpl.cpp:
943 (DOM::HTMLObjectElementImpl::isImageType):
945 2005-10-25 Adele Peterson <adele@apple.com>
949 - fixed <rdar://problem/3612121> setting focus, by tabbing, searching, or with JavaScript does not scroll overflow:auto/scroll/overlay to reveal focused element (3480)
951 * khtml/rendering/render_layer.cpp:
952 (khtml::RenderLayer::scrollRectToVisible): Added case for when the renderer has an overflow clip, so we can scroll overflow and views recursively.
954 2005-10-25 Adele Peterson <adele@apple.com>
958 Fixed <rdar://problem/4098450> RoboHelp-generated html help system crashes in latest Safari -KWQValueListImpl::copyOnWrite
960 The tokenizer's timer was causing the tokenizer to be deleted twice.
961 In timerEvent, we'll now check to see if the write has destroyed the tokenizer before trying to do it again.
963 * khtml/html/htmltokenizer.cpp:
964 (khtml::HTMLTokenizer::write): Returns a boolean to indicate whether end() gets called
965 (khtml::HTMLTokenizer::timerEvent): Moved code from allDataProcessed, and now, checks to see if write() called end() to notify WebKit that processing is done.
966 * khtml/html/htmltokenizer.h: write() returns a bool.
967 * khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::write): returns a bool (always false in the XMLTokenizer case).
968 * khtml/xml/xml_tokenizer.h: ditto.
970 2005-10-25 Beth Dakin <bdakin@apple.com>
974 Fix for <rdar://problem/4148730> SureSec si#182 safari heap overflow.
975 When a table has a really huge rowSpan, Safari used to crash because
976 the malloc of the grid for the table failed. This fix just checks for
977 the success of the malloc.
979 * khtml/rendering/render_table.cpp:
980 (RenderTableSection::ensureRows): Return false if the grid resize is not
982 (RenderTableSection::addCell): Return early if ensureRows() returned false.
983 * khtml/rendering/render_table.h: Make ensureRows() return a bool instead
986 2005-10-25 Adele Peterson <adele@apple.com>
990 - first step of fix for <rdar://problem/3612121> setting focus, by tabbing, searching, or with JavaScript does not scroll overflow:auto/scroll/overlay to reveal focused element (3480)
991 This change moves the scrolling code for revealing elements to the RenderLayer, instead of being specific to the view.
993 * khtml/rendering/render_layer.h: Added scrollRectToVisible. Added getRectToExpose.
994 Added ScrollAlignment enum so callers can be more specific about exactly where they want to scroll.
995 (khtml::RenderLayer::scrollToPoint): Added inline function to scroll to a point.
996 * khtml/rendering/render_layer.cpp:
997 (khtml::RenderLayer::scrollRectToVisible): Replaces recursive view scrolling functions.
998 (khtml::RenderLayer::getRectToExpose): Calculates the rectangle to expose based on the alignment parameters.
1000 * khtml/khtml_part.cpp:
1001 (KHTMLPart::gotoAnchor): Changed use of setContentsPosRecursive to scrollToPoint.
1002 (KHTMLPart::setActiveNode): Changed use of ensureVisible to scrollRectToVisible.
1003 * khtml/khtmlview.cpp:
1004 (KHTMLView::doAutoScroll): Changed use of ensureVisible to scrollRectToVisible.
1005 (KHTMLView::focusNextPrevNode): ditto.
1006 * kwq/KWQKHTMLPart.mm:
1007 (KWQKHTMLPart::jumpToSelection): Changed use of _KWQ_scrollRectToVisible to scrollRectToVisible.
1008 (KWQKHTMLPart::nextKeyViewInFrame): Changed use of ensureRectVisibleCentered to scrollRectToVisible.
1009 (KWQKHTMLPart::centerSelectionInVisibleArea): ditto.
1010 * khtml/xml/dom_elementimpl.cpp: (ElementImpl::scrollIntoView): Changed use of setContentsPos and ensureVisible to scrollRectToVisible.
1011 * kwq/WebCoreBridge.mm: (-[WebCoreBridge ensureSelectionVisible]): Changed use of ensureRectVisibleCentered to scrollRectToVisible.
1013 * kwq/KWQComboBox.mm: (-[KWQPopUpButton becomeFirstResponder]): Changing use of _KWQ_scrollFrameToVisible to scrollRectToVisible.
1014 * kwq/KWQFileButton.mm: (KWQFileButton::focusChanged): ditto.
1015 * kwq/KWQListBox.mm: (-[KWQTableView becomeFirstResponder]): ditto.
1016 * kwq/KWQSlider.mm: (-[KWQSlider becomeFirstResponder]): ditto.
1017 * kwq/KWQTextArea.mm: (-[KWQTextAreaTextView becomeFirstResponder]): ditto.
1018 * kwq/KWQTextField.mm: (-[KWQTextFieldController setHasFocus:]): ditto.
1020 * kwq/KWQScrollView.h: Removed ensureVisible, and ensureRectVisibleCentered. Added ensureRectVisible which just calls across to AppKit to scroll the NSView.
1021 * kwq/KWQScrollView.mm: (QScrollView::ensureRectVisible): ditto.
1023 * WebCore.xcodeproj/project.pbxproj: Removed KWQNSViewExtras since it is no longer needed.
1024 * kwq/KWQNSViewExtras.h: Removed.
1025 * kwq/KWQNSViewExtras.m: Removed.
1027 2005-10-25 David Hyatt <hyatt@apple.com>
1029 Land box-sizing support and change button to work correctly
1032 Also stop honoring of font properties on <input> if
1033 Aqua is enabled. If you allow bold, but don't honor size, then
1034 you end up with poorly rendered buttons on cnn.com (box-sizing
1035 made this apparent, since the buttons got smaller).
1037 Fix the clipping code for button content to actually work. :)
1038 Function needed to be designated virtual in order to get
1043 fast/box-sizing/box-sizing.html is the new test case.
1046 * WebCore.xcodeproj/project.pbxproj:
1047 * khtml/rendering/render_block.cpp:
1048 (khtml::RenderBlock::calcMinMaxWidth):
1049 * khtml/rendering/render_block.h:
1050 * khtml/rendering/render_box.cpp:
1051 (RenderBox::calcBorderBoxWidth):
1052 (RenderBox::calcBorderBoxHeight):
1053 (RenderBox::calcContentBoxWidth):
1054 (RenderBox::calcContentBoxHeight):
1055 (RenderBox::calcWidth):
1056 (RenderBox::calcWidthUsing):
1057 (RenderBox::calcHeight):
1058 (RenderBox::calcHeightUsing):
1059 (RenderBox::calcPercentageHeight):
1060 (RenderBox::calcReplacedWidth):
1061 (RenderBox::calcReplacedWidthUsing):
1062 (RenderBox::calcReplacedHeightUsing):
1063 (RenderBox::availableHeightUsing):
1064 (RenderBox::calcAbsoluteHorizontalValues):
1065 (RenderBox::calcAbsoluteVerticalValues):
1066 * khtml/rendering/render_box.h:
1067 * khtml/rendering/render_button.cpp:
1068 (khtml::RenderButton::paintObject):
1069 * khtml/rendering/render_button.h:
1070 * khtml/rendering/render_flexbox.cpp:
1071 (khtml::RenderFlexibleBox::calcMinMaxWidth):
1072 * khtml/rendering/render_theme_mac.mm:
1073 (khtml::RenderThemeMac::setFontFromControlSize):
1074 (khtml::RenderThemeMac::adjustButtonStyle):
1076 2005-10-25 Vicki Murley <vicki@apple.com>
1080 - fix <rdar://problem/4288276> DOM tests expect hierarchy exception adding wrong types of nodes to parents (4568)
1082 Check that the node being added is an allowable child. If inserting a document fragment node, check each child of
1083 the node. Fixes 4 of the W3C DOM HTML tests and 11 of the XHTML tests.
1085 * khtml/xml/dom_nodeimpl.cpp:
1086 (DOM::NodeImpl::checkAddChild):
1088 2005-10-25 Darin Adler <darin@apple.com>
1090 Reviewed by Dave Hyatt.
1092 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4945
1093 event init calls should not do anything if the event has already been dispatched
1094 - made a small performance improvement to event creation by simplifying the date code
1096 - changed DOMTimestamp to be a 64-bit integer on Mac OS X (requested by the DOM standard)
1098 * khtml/dom/dom_node.h: Made DOMTimestamp be unsigned long long on Mac OS X.
1100 * khtml/xml/dom_nodeimpl.cpp:
1101 (DOM::NodeImpl::dispatchGenericEvent): Assert that the event has a target.
1102 (DOM::NodeImpl::dispatchWindowEvent): Set the event target to the document.
1104 * khtml/xml/dom2_eventsimpl.h: Changed many data members to use SharedPtr instead of
1105 explicit ref/deref. Changed m_createTime to be a DOMTimeStamp instead of a QDateTime.
1106 (DOM::EventImpl::setTarget): Now inlined.
1107 (DOM::EventImpl::timeStamp): Now inlined.
1108 (DOM::EventImpl::preventDefault): Now inlined.
1109 (DOM::EventImpl::dispatched): Added. Returns true if the event was already dispatched,
1110 meaning it already has a target.
1112 * khtml/xml/dom2_eventsimpl.cpp:
1113 (DOM::currentTimeStamp): Added. Faster inline version on Mac OS X, since this shows
1115 (DOM::EventImpl::EventImpl): Changed to use contructor syntax and set m_createTime to
1117 (DOM::EventImpl::~EventImpl): Removed explicit derefs; no longer needed.
1118 (DOM::EventImpl::initEvent): Do nothing if dispatched() is true. Simplify since
1119 SharedPtr handles ref/deref.
1120 (DOM::UIEventImpl::UIEventImpl): Changed to use contructor syntax and take advantage
1121 of the fact that some data members are now SharedPtr.
1122 (DOM::UIEventImpl::initUIEvent): Do nothing if dispatched() is true. Simplify since
1123 SharedPtr handles ref/deref.
1124 (DOM::MouseEventImpl::MouseEventImpl): Changed to use contructor syntax and take advantage
1125 of the fact that some data members are now SharedPtr.
1126 (DOM::MouseEventImpl::~MouseEventImpl): Removed explicit derefs; no longer needed.
1127 (DOM::MouseEventImpl::initMouseEvent): Do nothing if dispatched() is true. Simplify since
1128 SharedPtr handles ref/deref.
1129 (DOM::MouseEventImpl::isDragEvent): Use a local variable.
1130 (DOM::KeyboardEventImpl::KeyboardEventImpl): Changed to use contructor syntax and take
1131 advantage of the fact that some data members are now SharedPtr.
1132 (DOM::KeyboardEventImpl::~KeyboardEventImpl): Removed explicit derefs; no longer needed.
1133 (DOM::KeyboardEventImpl::initKeyboardEvent): Do nothing if dispatched() is true. Simplify
1134 since SharedPtr handles ref/deref.
1135 (DOM::MutationEventImpl::MutationEventImpl): Changed to use contructor syntax and take
1136 advantage of the fact that some data members are now SharedPtr.
1137 (DOM::MutationEventImpl::initMutationEvent): Do nothing if dispatched() is true. Simplify
1138 since SharedPtr handles ref/deref.
1139 (DOM::ClipboardEventImpl::ClipboardEventImpl): Simplify since SharedPtr handles initialization
1141 (DOM::RegisteredEventListener::RegisteredEventListener): Ditto.
1143 2005-10-24 Geoffrey Garen <ggaren@apple.com>
1145 Patch by Niels Leenheer.
1147 Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=3587
1148 http://bugzilla.opendarwin.org/show_bug.cgi?id=3587
1154 * dom/xhtml/level2/html/HTMLBaseElement02-expected.txt:
1155 * dom/xhtml/level2/html/frame-expected.txt:
1156 * fast/frames/calculate-fixed-expected.txt: Added.
1157 * fast/frames/calculate-fixed.html: Added.
1158 * fast/frames/calculate-order-expected.txt: Added.
1159 * fast/frames/calculate-order.html: Added.
1160 * fast/frames/calculate-percentage-expected.txt: Added.
1161 * fast/frames/calculate-percentage.html: Added.
1162 * fast/frames/calculate-relative-expected.txt: Added.
1163 * fast/frames/calculate-relative.html: Added.
1164 * fast/frames/calculate-round-expected.txt: Added.
1165 * fast/frames/calculate-round.html: Added.
1167 * khtml/rendering/render_frames.cpp:
1168 (RenderFrameSet::layout):
1170 2005-10-24 Darin Adler <darin@apple.com>
1174 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5054
1175 Crash with dataTransfer.setDragImage
1177 * khtml/ecma/kjs_events.cpp: (KJS::ClipboardProtoFunc::callAsFunction):
1178 Added type check in case the parameter passed is not an object.
1180 2005-10-24 Darin Adler <darin@apple.com>
1184 - got ready to make m_parent private by removing references to it
1185 also removed tabs (and used spaces instead) to files I touched
1186 - fixed code that initialized m_parent twice
1188 * khtml/css/css_base.cpp:
1189 (StyleBaseImpl::checkLoaded): Use parent().
1190 (StyleBaseImpl::stylesheet): Ditto.
1191 * khtml/css/css_base.h:
1192 (DOM::StyleBaseImpl::StyleBaseImpl): Initialize base TreeShared with the appropriate
1193 parent instead of first setting m_parent to 0 and then to the correct value. Also
1194 removed setParent, since the base class setParent works fine.
1195 * khtml/css/css_ruleimpl.cpp:
1196 (DOM::CSSRuleImpl::parentStyleSheet): Use parent().
1197 (DOM::CSSRuleImpl::parentRule): Ditto.
1198 * khtml/css/css_stylesheetimpl.cpp:
1199 (StyleSheetImpl::parentStyleSheet): Ditto.
1200 (MediaListImpl::parentStyleSheet): Ditto.
1201 (MediaListImpl::parentRule): Ditto.
1202 * khtml/css/css_valueimpl.cpp:
1203 (DOM::CSSStyleDeclarationImpl::parentRule): Ditto.
1204 * khtml/rendering/render_replaced.cpp: Reformatting only, and removed some
1205 APPLE_CHANGES-only instead.
1206 * khtml/xml/dom_nodeimpl.cpp:
1207 (DOM::NodeImpl::isContentEditable): Use parent().
1208 * khtml/xml/dom_nodeimpl.h:
1209 (DOM::NodeImpl::parentNode): Ditto.
1210 * khtml/xsl/xsl_stylesheetimpl.cpp:
1211 (DOM::XSLImportRuleImpl::parentStyleSheet): Ditto.
1213 2005-10-24 David Hyatt <hyatt@apple.com>
1215 Fix for 5485, make sure generated content's "rightmost selector"
1216 check does not apply once you move to another selector in the
1217 compound selector chain.
1221 * khtml/css/cssstyleselector.cpp:
1222 (khtml::CSSStyleSelector::checkSelector):
1224 2005-10-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
1226 Reviewed by Darin, committed by beth.
1228 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5384
1229 Soft hyphen displayed as hyphen when it is the first character
1232 * khtml/rendering/bidi.cpp:
1233 (khtml::checkMidpoints):
1234 (khtml::RenderBlock::skipWhitespace):
1235 (khtml::RenderBlock::findNextLineBreak):
1236 * khtml/rendering/render_text.cpp:
1237 (RenderText::calcMinMaxWidth):
1239 2005-10-23 David Hyatt <hyatt@apple.com>
1241 Make sure the button's generated text using the value with
1242 the default label so that Submit/Reset buttons aren't blank.
1246 Added fast/forms/blankbuttons.html
1248 * khtml/rendering/render_button.cpp:
1249 (khtml::RenderButton::updateFromElement):
1251 2005-10-24 Maciej Stachowiak <mjs@apple.com>
1253 Re-landing Dave Hyatt's changes from when the tree was closed.
1255 * khtml/rendering/render_container.cpp:
1256 (RenderContainer::destroy):
1257 (RenderContainer::destroyLeftoverAnonymousChildren):
1258 * khtml/rendering/render_container.h:
1259 * khtml/rendering/render_flow.cpp:
1260 (RenderFlow::destroy):
1261 * khtml/rendering/render_layer.cpp:
1262 (khtml::RenderLayer::isTransparent):
1263 (khtml::RenderLayer::paintLayer):
1264 (khtml::isOverflowOnly):
1266 (khtml::sortByZOrder):
1267 * khtml/rendering/render_layer.h:
1269 2005-10-24 Alexey Proskuryakov <ap@nypop.com>
1271 Reviewed by Darin Adler.
1272 Commited by Tim Hatcher.
1274 - fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=5484
1275 REGRESSION: reproducible crash in CachedCSSStyleSheet::setCharset
1277 * khtml/misc/loader.cpp:
1278 (CachedCSSStyleSheet::setCharset):
1279 (CachedScript::setCharset):
1281 2005-10-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
1283 Reviewed by Darin. Committed by David Harrison.
1285 http://bugzilla.opendarwin.org/show_bug.cgi?id=5449
1286 "OBJECT should be accessible by id/name as document property only if its only children are PARAMs"
1289 * fast/js/object-by-name-or-id-expected.txt: Added.
1290 * fast/js/object-by-name-or-id.html: Added.
1293 * khtml/html/html_miscimpl.cpp:
1294 (DOM::HTMLNameCollectionImpl::traverseNextItem):
1295 * khtml/html/html_objectimpl.cpp:
1296 (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl):
1297 (DOM::HTMLObjectElementImpl::parseMappedAttribute):
1298 (DOM::HTMLObjectElementImpl::insertedIntoDocument):
1299 (DOM::HTMLObjectElementImpl::removedFromDocument):
1300 (DOM::HTMLObjectElementImpl::childrenChanged):
1301 (DOM::HTMLObjectElementImpl::updateDocNamedItem):
1302 * khtml/html/html_objectimpl.h:
1303 (DOM::HTMLObjectElementImpl::isDocNamedItem):
1304 * manual-tests/drag_select_highlighting.html: Added.
1306 2005-10-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
1308 Reviewed by Darin. Committed by David Harrison.
1310 http://bugzilla.opendarwin.org/show_bug.cgi?id=5415
1311 "Left border of selection highlight leaves behind a trail"
1313 (Code changes are in WebKit)
1315 * manual-tests/drag_select_highlighting.html: Added.
1317 2005-10-24 Vicki Murley <vicki@apple.com>
1319 Changes by Mitz Pettel, reviewed by Maciej.
1321 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5306 (KHTMLPart::requestObject
1322 doesn't destroy old plugin content)
1324 * khtml/html/html_objectimpl.cpp:
1325 (DOM::HTMLObjectElementImpl::recalcStyle):
1327 2005-10-24 Vicki Murley <vicki@apple.com>
1329 Changes by Alexey Proskuryakov, reviewed by Maciej.
1331 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5140 (CachedObject loading
1332 ignores charset from HTTP headers)
1334 * khtml/misc/loader.cpp:
1335 (CachedCSSStyleSheet::setCharset):
1336 (CachedScript::setCharset):
1337 (CachedXSLStyleSheet::setCharset):
1338 (CachedXSLStyleSheet::data):
1339 (CachedXBLDocument::CachedXBLDocument):
1340 (CachedXBLDocument::setCharset):
1341 (CachedXBLDocument::data):
1342 (Loader::slotReceivedResponse):
1343 * khtml/misc/loader.h:
1345 2005-10-24 Antti Koivisto <koivisto@iki.fi>
1347 Reviewed by Hyatt, landed by beth.
1349 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5318
1350 forced line break should not be allowed after a list marker.
1352 * khtml/rendering/bidi.cpp:
1353 (khtml::RenderBlock::findNextLineBreak):
1355 2005-10-24 Darin Adler <darin@apple.com>
1359 Fix Qualified Name parsing to match spec.
1360 xhtml dom tests cover these cases.
1361 http://bugzilla.opendarwin.org/show_bug.cgi?id=5317
1363 * khtml/xml/dom_docimpl.cpp:
1366 (qualifiedNameIsMalformed):
1367 (DOMImplementationImpl::createDocumentType):
1368 (DOMImplementationImpl::createDocument):
1369 (DocumentImpl::createElementNS):
1370 (DocumentImpl::isValidName):
1371 (DocumentImpl::parseQualifiedName):
1372 * khtml/xml/dom_docimpl.h:
1373 * khtml/xml/dom_elementimpl.cpp:
1374 (ElementImpl::setAttributeNS):
1376 2005-10-23 Julien Palmas <julien.palmas@gmail.com>
1378 Reviewed by eseidel.
1380 Finally fix pattern "userspaceonuse" support.
1381 Several test cases already cover this.
1382 http://bugzilla.opendarwin.org/show_bug.cgi?id=5361
1384 * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
1385 (KRenderingPaintServerPatternQuartz::draw):
1386 * svg-tests/W3C-SVG-1.1/pservers-grad-03-b-expected.checksum:
1387 * svg-tests/W3C-SVG-1.1/pservers-grad-03-b-expected.png:
1388 * svg-tests/W3C-SVG-1.1/pservers-grad-06-b-expected.checksum:
1389 * svg-tests/W3C-SVG-1.1/pservers-grad-06-b-expected.png:
1390 * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-expected.checksum:
1391 * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-expected.png:
1393 2005-10-23 Julien Palmas <julien.palmas@gmail.com>
1395 Reviewed by eseidel.
1397 Merged over Shared -> Shared<T> change from kdom.
1398 http://bugzilla.opendarwin.org/show_bug.cgi?id=5391
1400 * WebCore.xcodeproj/project.pbxproj:
1402 (KDOM::Shared::Shared):
1403 (KDOM::Shared::~Shared):
1404 (KDOM::Shared::refCount):
1405 (KDOM::Shared::ref):
1406 (KDOM::Shared::deref):
1407 * kdom/SharedPtr.h: Added.
1408 (KDOM::SharedPtr::SharedPtr):
1409 (KDOM::SharedPtr::~SharedPtr):
1410 (KDOM::SharedPtr::isNull):
1411 (KDOM::SharedPtr::notNull):
1412 (KDOM::SharedPtr::reset):
1413 (KDOM::SharedPtr::get):
1414 (KDOM::SharedPtr::operator!):
1415 (KDOM::SharedPtr::operator bool):
1416 (KDOM::SharedPtr::operator==):
1418 * kdom/TreeShared.h:
1419 (KDOM::TreeShared::TreeShared):
1420 (KDOM::TreeShared::~TreeShared):
1421 (KDOM::TreeShared::refCount):
1422 (KDOM::TreeShared::ref):
1423 (KDOM::TreeShared::deref):
1424 (KDOM::TreeShared::parent):
1425 (KDOM::TreeShared::setParent):
1426 * kdom/core/DOMConfigurationImpl.cpp:
1427 (DOMConfigurationImpl::DOMConfigurationImpl):
1428 * kdom/core/DOMConfigurationImpl.h:
1429 * kdom/core/DOMErrorHandlerImpl.cpp:
1430 (DOMErrorHandlerImpl::DOMErrorHandlerImpl):
1431 * kdom/core/DOMErrorHandlerImpl.h:
1432 * kdom/core/DOMErrorImpl.cpp:
1433 (DOMErrorImpl::DOMErrorImpl):
1434 * kdom/core/DOMErrorImpl.h:
1436 * kdom/core/DOMExceptionImpl.cpp:
1437 (DOMExceptionImpl::DOMExceptionImpl):
1438 * kdom/core/DOMExceptionImpl.h:
1439 * kdom/core/DOMList.h:
1440 (KDOM::DOMList::DOMList):
1441 (KDOM::DOMList::~DOMList):
1442 * kdom/core/DOMLocatorImpl.cpp:
1443 (DOMLocatorImpl::DOMLocatorImpl):
1444 * kdom/core/DOMLocatorImpl.h:
1445 * kdom/core/DOMObjectImpl.cpp:
1446 (DOMObjectImpl::DOMObjectImpl):
1447 * kdom/core/DOMObjectImpl.h:
1448 * kdom/core/DOMStringImpl.cpp:
1449 (DOMStringImpl::DOMStringImpl):
1450 * kdom/core/DOMStringImpl.h:
1451 * kdom/core/DOMUserDataImpl.cpp:
1452 (DOMUserDataImpl::DOMUserDataImpl):
1453 * kdom/core/DOMUserDataImpl.h:
1454 * kdom/core/NamedNodeMapImpl.cpp:
1455 (NamedNodeMapImpl::NamedNodeMapImpl):
1456 * kdom/core/NamedNodeMapImpl.h:
1457 * kdom/core/NodeImpl.h:
1458 * kdom/core/NodeListImpl.cpp:
1459 (NodeListImpl::NodeListImpl):
1460 * kdom/core/NodeListImpl.h:
1461 * kdom/core/TypeInfoImpl.cpp:
1462 (TypeInfoImpl::TypeInfoImpl):
1463 * kdom/core/TypeInfoImpl.h:
1464 * kdom/css/CSSRuleListImpl.cpp:
1465 (CSSRuleListImpl::CSSRuleListImpl):
1466 * kdom/css/CSSRuleListImpl.h:
1467 * kdom/css/CounterImpl.cpp:
1468 (CounterImpl::CounterImpl):
1469 * kdom/css/CounterImpl.h:
1470 * kdom/css/RGBColorImpl.cpp:
1471 (RGBColorImpl::RGBColorImpl):
1472 * kdom/css/RGBColorImpl.h:
1473 * kdom/css/RectImpl.cpp:
1474 (RectImpl::RectImpl):
1475 * kdom/css/RectImpl.h:
1476 * kdom/css/RenderStyle.cpp:
1477 (RenderStyle::RenderStyle):
1478 * kdom/css/RenderStyle.h:
1479 (KDOM::RenderStyle::RenderStyle):
1480 * kdom/css/RenderStyleDefs.cpp:
1481 (StyleSurroundData::StyleSurroundData):
1482 (StyleBoxData::StyleBoxData):
1483 (StyleVisualData::StyleVisualData):
1484 (StyleBackgroundData::StyleBackgroundData):
1485 (StyleMarqueeData::StyleMarqueeData):
1486 (StyleCSS3NonInheritedData::StyleCSS3NonInheritedData):
1487 (StyleCSS3InheritedData::StyleCSS3InheritedData):
1488 (StyleInheritedData::StyleInheritedData):
1489 * kdom/css/RenderStyleDefs.h:
1490 (KDOM::BorderData::BorderData):
1491 * kdom/css/StyleSheetListImpl.cpp:
1492 (StyleSheetListImpl::StyleSheetListImpl):
1493 * kdom/css/StyleSheetListImpl.h:
1494 * kdom/events/EventExceptionImpl.cpp:
1495 (EventExceptionImpl::EventExceptionImpl):
1496 * kdom/events/EventExceptionImpl.h:
1497 * kdom/events/EventImpl.cpp:
1498 (EventImpl::EventImpl):
1499 * kdom/events/EventImpl.h:
1500 * kdom/events/EventListenerImpl.cpp:
1501 (EventListenerImpl::EventListenerImpl):
1502 * kdom/events/EventListenerImpl.h:
1503 * kdom/ls/LSExceptionImpl.cpp:
1504 (LSExceptionImpl::LSExceptionImpl):
1505 * kdom/ls/LSExceptionImpl.h:
1506 * kdom/ls/LSInputImpl.cpp:
1507 (LSInputImpl::LSInputImpl):
1508 * kdom/ls/LSInputImpl.h:
1509 * kdom/ls/LSOutputImpl.cpp:
1510 (LSOutputImpl::LSOutputImpl):
1511 * kdom/ls/LSOutputImpl.h:
1512 * kdom/ls/LSParserFilterImpl.cpp:
1513 (LSParserFilterImpl::LSParserFilterImpl):
1514 * kdom/ls/LSParserFilterImpl.h:
1515 * kdom/ls/LSResourceResolverImpl.cpp:
1516 (LSResourceResolverImpl::LSResourceResolverImpl):
1517 * kdom/ls/LSResourceResolverImpl.h:
1518 * kdom/ls/LSSerializerImpl.cpp:
1519 (LSSerializerImpl::LSSerializerImpl):
1520 * kdom/ls/LSSerializerImpl.h:
1521 * kdom/range/RangeExceptionImpl.cpp:
1522 (RangeExceptionImpl::RangeExceptionImpl):
1523 * kdom/range/RangeExceptionImpl.h:
1524 * kdom/range/RangeImpl.cpp:
1525 (RangeImpl::RangeImpl):
1526 * kdom/range/RangeImpl.h:
1527 * kdom/traversal/NodeFilterImpl.cpp:
1528 (NodeFilterImpl::NodeFilterImpl):
1529 * kdom/traversal/NodeFilterImpl.h:
1530 (KDOM::NodeFilterCondition::NodeFilterCondition):
1531 (KDOM::NodeFilterCondition::~NodeFilterCondition):
1532 (KDOM::NodeFilterCondition::acceptNode):
1533 * kdom/traversal/TraversalImpl.cpp:
1534 (TraversalImpl::TraversalImpl):
1535 * kdom/traversal/TraversalImpl.h:
1536 * kdom/views/AbstractViewImpl.cpp:
1537 (AbstractViewImpl::AbstractViewImpl):
1538 * kdom/views/AbstractViewImpl.h:
1539 * kdom/xpath/XPathExceptionImpl.h:
1540 * kdom/xpath/XPathExpressionImpl.h:
1541 * kdom/xpath/XPathNSResolverImpl.h:
1542 * kdom/xpath/XPathResultImpl.h:
1543 * kdom/xpointer/NBCImpl.cpp:
1545 * kdom/xpointer/NBCImpl.h:
1546 * kdom/xpointer/PointerPartImpl.cpp:
1547 (PointerPartImpl::PointerPartImpl):
1548 * kdom/xpointer/PointerPartImpl.h:
1549 * kdom/xpointer/XPointerExceptionImpl.cpp:
1550 (XPointerExceptionImpl::XPointerExceptionImpl):
1551 * kdom/xpointer/XPointerExceptionImpl.h:
1552 * kdom/xpointer/XPointerExpressionImpl.cpp:
1553 (XPointerExpressionImpl::XPointerExpressionImpl):
1554 * kdom/xpointer/XPointerExpressionImpl.h:
1555 * kdom/xpointer/XPointerResultImpl.cpp:
1556 (XPointerResultImpl::XPointerResultImpl):
1557 * kdom/xpointer/XPointerResultImpl.h:
1558 * ksvg2/css/SVGRenderStyleDefs.cpp:
1559 (StyleFillData::StyleFillData):
1560 (StyleStrokeData::StyleStrokeData):
1561 (StyleStopData::StyleStopData):
1562 (StyleClipData::StyleClipData):
1563 (StyleMarkerData::StyleMarkerData):
1564 (StyleMiscData::StyleMiscData):
1565 * ksvg2/css/SVGRenderStyleDefs.h:
1566 * ksvg2/svg/SVGAngleImpl.cpp:
1567 (SVGAngleImpl::SVGAngleImpl):
1568 * ksvg2/svg/SVGAngleImpl.h:
1569 * ksvg2/svg/SVGAnimatedBooleanImpl.cpp:
1570 (SVGAnimatedBooleanImpl::SVGAnimatedBooleanImpl):
1571 * ksvg2/svg/SVGAnimatedBooleanImpl.h:
1572 * ksvg2/svg/SVGAnimatedEnumerationImpl.cpp:
1573 (SVGAnimatedEnumerationImpl::SVGAnimatedEnumerationImpl):
1574 * ksvg2/svg/SVGAnimatedEnumerationImpl.h:
1575 * ksvg2/svg/SVGAnimatedIntegerImpl.cpp:
1576 (SVGAnimatedIntegerImpl::SVGAnimatedIntegerImpl):
1577 * ksvg2/svg/SVGAnimatedIntegerImpl.h:
1578 * ksvg2/svg/SVGAnimatedNumberImpl.cpp:
1579 (SVGAnimatedNumberImpl::SVGAnimatedNumberImpl):
1580 * ksvg2/svg/SVGAnimatedNumberImpl.h:
1581 * ksvg2/svg/SVGAnimatedTemplate.h:
1582 (KSVG::SVGAnimatedTemplate::SVGAnimatedTemplate):
1583 * ksvg2/svg/SVGExceptionImpl.cpp:
1584 (SVGExceptionImpl::SVGExceptionImpl):
1585 * ksvg2/svg/SVGExceptionImpl.h:
1586 * ksvg2/svg/SVGLengthImpl.cpp:
1587 (SVGLengthImpl::SVGLengthImpl):
1588 * ksvg2/svg/SVGLengthImpl.h:
1589 * ksvg2/svg/SVGMatrixImpl.cpp:
1590 (SVGMatrixImpl::SVGMatrixImpl):
1591 * ksvg2/svg/SVGMatrixImpl.h:
1592 * ksvg2/svg/SVGNumberImpl.cpp:
1593 (SVGNumberImpl::SVGNumberImpl):
1594 * ksvg2/svg/SVGNumberImpl.h:
1595 * ksvg2/svg/SVGPathSegImpl.cpp:
1596 (SVGPathSegImpl::SVGPathSegImpl):
1597 * ksvg2/svg/SVGPathSegImpl.h:
1598 * ksvg2/svg/SVGPointImpl.cpp:
1599 (SVGPointImpl::SVGPointImpl):
1600 * ksvg2/svg/SVGPointImpl.h:
1601 * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
1602 (SVGPreserveAspectRatioImpl::SVGPreserveAspectRatioImpl):
1603 * ksvg2/svg/SVGPreserveAspectRatioImpl.h:
1604 * ksvg2/svg/SVGRectImpl.cpp:
1605 (SVGRectImpl::SVGRectImpl):
1606 * ksvg2/svg/SVGRectImpl.h:
1607 * ksvg2/svg/SVGTransformImpl.cpp:
1608 (SVGTransformImpl::SVGTransformImpl):
1609 * ksvg2/svg/SVGTransformImpl.h:
1611 2005-10-23 Eric Seidel <eseidel@apple.com>
1613 No review, build fix only.
1615 * WebCore.xcodeproj/project.pbxproj: added RenderButton.cpp
1617 2005-10-23 Geoffrey Garen <ggaren@apple.com>
1621 Removed early return from stopLoading because it prevented
1622 onunload events from firing.
1624 Also, for better abstraction, made the tokenizer -- instead of the
1625 data source -- responsible for calling [WebFrame _checkLoadComplete]
1626 when the tokenizer stops.
1628 * khtml/html/htmltokenizer.cpp:
1629 (khtml::HTMLTokenizer::stopParsing):
1630 * khtml/khtml_part.cpp:
1631 (KHTMLPart::stopLoading):
1633 2005-10-23 Julien Palmas <julien.palmas@gmail.com>
1637 * WebCore+SVG/xml_kdomtokenizer.cpp:
1638 (KDOMTokenizer::KDOMTokenizer): build fix.
1639 http://bugzilla.opendarwin.org/show_bug.cgi?id=5462
1641 2005-10-23 Nicholas Shanks <contact@nickshanks.com>
1643 Reviewed by Dave Hyatt.
1645 http://bugzilla.opendarwin.org/show_bug.cgi?id=3442
1646 Adds support for :first-of-type CSS3 pseudo-selectors
1647 And builds foundations for :last-of-type and :only-of-type
1649 * khtml/css/css_base.cpp:
1650 (CSSSelector::extractPseudoType):
1651 * khtml/css/css_base.h:
1652 (DOM::CSSSelector::CSSSelector):
1653 (DOM::CSSSelector::~CSSSelector):
1654 (DOM::CSSSelector::):
1655 (DOM::CSSSelector::pseudoType):
1656 (DOM::StyleBaseImpl::StyleBaseImpl):
1657 (DOM::StyleBaseImpl::~StyleBaseImpl):
1658 (DOM::StyleBaseImpl::isStyleSheet):
1659 (DOM::StyleBaseImpl::isCSSStyleSheet):
1660 (DOM::StyleBaseImpl::isStyleSheetList):
1661 (DOM::StyleBaseImpl::isMediaList):
1662 (DOM::StyleBaseImpl::isRuleList):
1663 (DOM::StyleBaseImpl::isRule):
1664 (DOM::StyleBaseImpl::isStyleRule):
1665 (DOM::StyleBaseImpl::isCharetRule):
1666 (DOM::StyleBaseImpl::isImportRule):
1667 (DOM::StyleBaseImpl::isMediaRule):
1668 (DOM::StyleBaseImpl::isFontFaceRule):
1669 (DOM::StyleBaseImpl::isPageRule):
1670 (DOM::StyleBaseImpl::isUnknownRule):
1671 (DOM::StyleBaseImpl::isStyleDeclaration):
1672 (DOM::StyleBaseImpl::isValue):
1673 (DOM::StyleBaseImpl::isPrimitiveValue):
1674 (DOM::StyleBaseImpl::isValueList):
1675 (DOM::StyleBaseImpl::isValueCustom):
1676 (DOM::StyleBaseImpl::setParent):
1677 (DOM::StyleBaseImpl::parseString):
1678 (DOM::StyleBaseImpl::setStrictParsing):
1679 (DOM::StyleBaseImpl::useStrictParsing):
1680 (DOM::StyleListImpl::StyleListImpl):
1681 (DOM::StyleListImpl::length):
1682 (DOM::StyleListImpl::item):
1683 (DOM::StyleListImpl::append):
1684 * khtml/css/cssstyleselector.cpp:
1685 (khtml::CSSStyleSelector::checkSelector):
1686 (khtml::CSSStyleSelector::checkOneSelector):
1688 2005-10-21 David Hyatt <hyatt@apple.com>
1692 * khtml/css/cssstyleselector.cpp:
1693 Add support for the GrayText CSS2 system color to represent
1694 the disabled text color for controls.
1696 * khtml/css/html4.css:
1697 Make sure that the default cursor is set for all types of buttons
1698 and not just the HTML4 button.
1700 Set the foreground color for buttons using the CSS2 system color.
1701 Set the disabled text color using the CSS2 system color.
1703 Move the default padding for buttons into the CSS file. It will
1704 get overridden by Aqua buttons but be honored by all other types
1705 of buttons. This allows the author to override it as well when
1708 * khtml/rendering/render_block.h:
1709 Make paintChildren virtual so that RenderButton can push a clip
1710 and pop a clip when painting children.
1712 * khtml/rendering/render_box.cpp:
1713 (RenderBox::paintBoxDecorations):
1714 Let the theme now decide whether the border/background should
1715 still be painted after the theme has painted. This allows buttons
1716 to paint custom borders but still use a pretty OS X background for
1719 * khtml/rendering/render_button.cpp:
1720 (khtml::RenderButton::paintChildren):
1721 Overridden to push/pop a clip so that the contents of a button
1722 don't ever spill out.
1724 * khtml/rendering/render_button.h:
1725 Added paintChildren method.
1727 * khtml/rendering/render_style.h:
1728 (khtml::BorderData::hasBorder):
1729 Fixed a regression in hasBorder. The border-image logic was
1730 inverted, resulting in hasBorder being true for every element!
1732 * khtml/rendering/render_theme.cpp:
1733 (khtml::RenderTheme::paint):
1734 Patched to return a boolean indicating whether or not the
1735 border/background should be painted.
1737 * khtml/rendering/render_theme.h:
1738 * khtml/rendering/render_theme_mac.h:
1739 * khtml/rendering/render_theme_mac.mm:
1740 (khtml::RenderThemeMac::adjustRepaintRect):
1741 Forgot to include radio and button in this method so that repaint
1742 rects would be correct.
1744 (khtml::RenderThemeMac::paintCheckbox):
1745 (khtml::RenderThemeMac::paintRadio):
1746 Adjusted to return the boolean to indicate that painting of
1747 border/background should not occur.
1749 (khtml::RenderThemeMac::adjustButtonStyle):
1750 Added support for border/background/colors. Also locked
1751 white-space to nowrap for Aqua buttons to avoid line wrapping.
1753 (khtml::RenderThemeMac::setButtonCellState):
1754 (khtml::RenderThemeMac::paintButton):
1755 More support for custom border/background/color.
1757 2005-10-21 Geoffrey Garen <ggaren@apple.com>
1761 WebCore side of fix for <rdar://problem/4184719> window.print() followed by window.close()
1764 No test case added because I have another reviewed patch that will include a test
1765 for this bug as well as many others.
1767 Under some conditions, [WebDataSource stopLoading] did not set [WebDataSource isLoading]
1768 to false, so the didFInishLoad delegates never fired.
1770 The reason isLoading didn't become false was that the tokenizer was still running.
1771 The fix here is to add a call to Tokenizer::stopParsing inside HTMLPart::stopLoading.
1773 Since the WebKit side of the fix eliminates an early return that used to protect
1774 HTMLPart::stopLoading from multiple calls, I added an early return inside
1775 HTMLPart::stopLoading.
1777 I also merged stopped and stopLoading, and merged the way XMLTokenizer and HTMLTokenizer
1778 track whether they're in a stopped state, because anything less would be uncivilized.
1780 * khtml/html/htmltokenizer.cpp:
1781 (khtml::HTMLTokenizer::HTMLTokenizer):
1782 (khtml::HTMLTokenizer::write):
1783 (khtml::HTMLTokenizer::stopParsing):
1784 (khtml::HTMLTokenizer::processToken):
1785 * khtml/html/htmltokenizer.h:
1786 * khtml/khtml_part.cpp:
1787 (KHTMLPart::stopLoading):
1788 (KHTMLPart::endIfNotLoading):
1790 * khtml/xml/xml_tokenizer.cpp:
1791 (khtml::Tokenizer::Tokenizer):
1792 (khtml::Tokenizer::finishedParsing):
1793 (khtml::XMLTokenizer::XMLTokenizer):
1794 (khtml::XMLTokenizer::endElementNs):
1795 (khtml::XMLTokenizer::characters):
1796 (khtml::XMLTokenizer::error):
1797 (khtml::XMLTokenizer::processingInstruction):
1798 (khtml::XMLTokenizer::cdataBlock):
1799 (khtml::XMLTokenizer::comment):
1800 (khtml::XMLTokenizer::stopParsing):
1801 * khtml/xml/xml_tokenizer.h:
1802 (khtml::Tokenizer::stopParsing):
1803 * kwq/KWQSignalStubs.mm:
1804 (Loader::requestStarted):
1806 2005-10-21 Beth Dakin <bdakin@apple.com>
1810 Fix for <rdar://problem/3947202> certain sequence of DOM
1811 method calls involving CSS outline and display crashes Safari
1814 * khtml/rendering/render_flow.cpp:
1815 (RenderFlow::destroy): Need to set m_continuation to 0 after it
1816 is destroyed to prevent possible crashes.
1818 2005-10-21 Vicki Murley <vicki@apple.com>
1822 - fixed <rdar://problem/4304213> sometimes have to click twice to jump to top, on href=""
1824 * manual-tests/linkjump-1.html: Added.
1825 * khtml/khtml_part.cpp:
1826 (KHTMLPart::gotoAnchor): remove check for m_url.hasRef() - encodedHtmlRef and gotoAnchor handle empty
1827 strings for scrolling to the top of the document
1829 2005-10-21 John Sullivan <sullivan@apple.com>
1831 No test cases added.
1833 * khtml/rendering/render_theme_mac.mm:
1834 (khtml::RenderThemeMac::setButtonPaddingFromControlSize):
1835 fix deployment build by adding default: statement to button-size switch statement
1837 2005-10-21 Beth Dakin <bdakin@apple.com>
1841 Fix for <rdar://problem/3847926> crash due to infinite
1842 layout regression in RenderLayer::updateScrollInfoAfterLayout
1843 (was at ourmedia.org)
1845 Cannot use hasOverhangingFloats() in this case because
1846 borderBottom() has already been added into m_height.
1847 This was causing m_height to be off by a pixel in some
1848 cases and then causing infinite recursion in the scroll
1851 * khtml/rendering/render_block.cpp: Replaced call to
1852 hasOverhangingFloats()
1853 (khtml::RenderBlock::layoutBlock):
1855 2005-10-21 Beth Dakin <bdakin@apple.com>
1857 Reviewed by Hyatt...sort of.
1859 No test cases added.
1861 Fix for a build failure after Hyatt's button check-in. KWQSlider.mm was
1862 still importing the now deprecated KWQButton.h
1864 Changed it to import KWQLineEdit.h instead.
1868 2005-10-21 David Hyatt <hyatt@apple.com>
1870 Land the new "NSView-less" buttons. With this landing both
1871 <input type=button> and <button> will now look like OS X-style
1872 widgets. Customization of background and border is not yet
1873 enabled, but this is still a big improvement over the old
1878 * ForwardingHeaders/qpushbutton.h: Removed.
1879 * WebCore.xcodeproj/project.pbxproj:
1880 * khtml/css/cssstyleselector.cpp:
1881 (khtml::CSSStyleSelector::adjustRenderStyle):
1882 * khtml/css/cssstyleselector.h:
1883 (khtml::CSSStyleSelector::paintMetrics):
1884 * khtml/css/cssvalues.in:
1885 * khtml/css/html4.css:
1886 * khtml/html/html_formimpl.cpp:
1887 (DOM::HTMLButtonElementImpl::createRenderer):
1888 (DOM::HTMLInputElementImpl::click):
1889 (DOM::HTMLInputElementImpl::createRenderer):
1890 * khtml/html/html_formimpl.h:
1891 (DOM::HTMLInputElementImpl::isTextButton):
1892 * khtml/rendering/render_button.cpp: Added.
1894 (khtml::RenderButton::~RenderButton):
1895 (khtml::RenderButton::addChild):
1896 (khtml::RenderButton::removeChild):
1897 (khtml::RenderButton::setStyle):
1898 (khtml::RenderButton::updateFromElement):
1899 * khtml/rendering/render_button.h: Added.
1900 (khtml::RenderButton::removeLeftoverAnonymousBoxes):
1901 (khtml::RenderButton::renderName):
1902 * khtml/rendering/render_form.cpp:
1903 * khtml/rendering/render_form.h:
1904 (khtml::RenderFileButton::calcReplacedHeight):
1905 (khtml::RenderFileButton::isEditable):
1906 * khtml/rendering/render_style.h:
1908 * khtml/rendering/render_theme.cpp:
1909 (khtml::RenderTheme::adjustStyle):
1910 (khtml::RenderTheme::paint):
1911 (khtml::RenderTheme::adjustCheckboxStyle):
1912 (khtml::RenderTheme::adjustRadioStyle):
1913 (khtml::RenderTheme::adjustButtonStyle):
1914 * khtml/rendering/render_theme.h:
1915 (khtml::RenderTheme::setButtonSize):
1916 * khtml/rendering/render_theme_mac.h:
1917 * khtml/rendering/render_theme_mac.mm:
1918 (khtml::RenderThemeMac::setSizeFromFont):
1919 (khtml::RenderThemeMac::setFontFromControlSize):
1920 (khtml::RenderThemeMac::addIntrinsicMargins):
1921 (khtml::RenderThemeMac::setButtonPaddingFromControlSize):
1922 (khtml::RenderThemeMac::adjustButtonStyle):
1923 (khtml::RenderThemeMac::buttonSizes):
1924 (khtml::RenderThemeMac::buttonMargins):
1925 (khtml::RenderThemeMac::setButtonSize):
1926 (khtml::RenderThemeMac::setButtonCellState):
1927 (khtml::RenderThemeMac::paintButton):
1928 * kwq/KWQAccObject.mm:
1929 (-[KWQAccObject actionElement]):
1930 (-[KWQAccObject role]):
1931 (-[KWQAccObject title]):
1932 * kwq/KWQButton.h: Removed.
1933 * kwq/KWQButton.mm: Removed.
1934 * kwq/KWQComboBox.mm:
1935 * kwq/KWQLineEdit.h:
1936 * kwq/KWQLineEdit.mm:
1937 * kwq/KWQPushButton.h: Removed.
1938 * kwq/KWQPushButton.mm: Removed.
1940 2005-10-19 Darin Adler <darin@apple.com>
1944 - optimizations for a total of about 1% speed-up on PLT
1946 * khtml/html/htmltokenizer.cpp:
1947 (khtml::fixUpChar): Changed to be more inlinable.
1948 (khtml::HTMLTokenizer::processListing): Simplified the skipLF handling.
1949 (khtml::HTMLTokenizer::parseSpecial): Changed to call the new fixUpChar.
1950 (khtml::HTMLTokenizer::parseText): Simplified the skipLF handling and
1951 changed to call the new fixUpChar.
1952 (khtml::HTMLTokenizer::parseEntity): Changed to call the new fixUpChar.
1953 (khtml::HTMLTokenizer::parseTag): Changed to call the new fixUpChar.
1954 (khtml::HTMLTokenizer::write): Changed to call the new fixUpChar.
1956 * khtml/rendering/font.h: Removed the floatCharacterWidths function,
1957 since it's never needed. Made some more functions inline.
1958 * khtml/rendering/font.cpp: Removed lots of stuff that was only for the
1959 !APPLE_CHANGES case.
1961 * kwq/KWQFontMetrics.h: Removed the single-character width overloads, charWidth,
1962 and floatCharacterWidths.
1963 * kwq/KWQFontMetrics.mm:
1964 (QFontMetrics::width): Use lroundf instead of the ROUND_TO_INT macro.
1965 (QFontMetrics::floatWidth): Removed the bogus unneeded call to the ROUND_TO_INT macro.
1967 * khtml/rendering/render_text.cpp:
1968 (RenderText::cacheWidths): Use floatWidth instead of floatCharacterWidths.
1970 * kwq/KWQComboBox.mm: (QComboBox::sizeHint): Update since the floatWidthForRun
1971 method no longer takes a widths parameter.
1972 * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Ditto.
1973 * kwq/KWQListBox.mm:
1974 (QListBox::sizeForNumberOfLines): Ditto.
1975 (-[KWQTableView drawRow:clipRect:]): Ditto.
1976 * kwq/KWQPainter.mm: (QPainter::drawText): Ditto. Also use lroundf instead of the
1979 * kwq/WebCoreTextRenderer.h: Removed the ROUND_TO_INT macro. Changed to use bool
1980 instead of bit fields. Removed the widths parameter from the floatWidthForRun method.
1982 2005-10-19 Maciej Stachowiak <mjs@apple.com>
1986 - instead of walking the render tree to update widget positions, instead
1987 keep a set of widgets per canvas, maintained by the constructor and destroy method
1988 for RenderWidget. About a .5% speedup.
1990 * khtml/khtmlview.cpp:
1991 (KHTMLView::layout):
1992 * khtml/rendering/render_canvas.cpp:
1993 (RenderCanvas::updateWidgetPositions):
1994 (RenderCanvas::addWidget):
1995 (RenderCanvas::removeWidget):
1996 * khtml/rendering/render_canvas.h:
1997 * khtml/rendering/render_frames.cpp:
1998 (RenderPart::updateWidgetPosition):
1999 (RenderPart::needWidgetPositionUpdating):
2000 * khtml/rendering/render_frames.h:
2001 * khtml/rendering/render_layer.cpp:
2002 (khtml::RenderLayer::scrollToOffset):
2003 * khtml/rendering/render_object.cpp:
2004 (RenderObject::updateWidgetPosition):
2005 (RenderObject::needWidgetPositionUpdating):
2006 * khtml/rendering/render_object.h:
2007 * khtml/rendering/render_replaced.cpp:
2008 (RenderWidget::RenderWidget):
2009 (RenderWidget::destroy):
2010 (RenderWidget::updateWidgetPosition):
2011 (RenderWidget::needWidgetPositionUpdating):
2012 * khtml/rendering/render_replaced.h:
2014 2005-10-18 Darin Adler <darin@apple.com>
2016 Reviewed and landed by Maciej.
2018 - some simple changes that amount to a < 1% speedup.
2020 * khtml/css/cssstyleselector.cpp:
2021 (khtml::CSSStyleSelector::applyProperty):
2022 * khtml/rendering/bidi.cpp:
2023 (khtml::BidiIterator::direction):
2025 (hasSlashDotOrDotDot):
2027 (QString::~QString):
2028 * kwq/WebCoreTextRendererFactory.h:
2030 2005-10-18 Maciej Stachowiak <mjs@apple.com>
2032 - back out the last change, it caused a regression with painting of offscreen plugins
2034 * khtml/khtmlview.cpp:
2035 (KHTMLView::layout):
2036 * khtml/rendering/render_form.cpp:
2037 (RenderFormElement::layout):
2038 * khtml/rendering/render_frames.cpp:
2039 (RenderPartObject::layout):
2040 (RenderPart::updateWidgetPositions):
2041 * khtml/rendering/render_frames.h:
2042 * khtml/rendering/render_layer.cpp:
2043 (khtml::RenderLayer::scrollToOffset):
2044 * khtml/rendering/render_object.cpp:
2045 (RenderObject::updateWidgetPositions):
2046 * khtml/rendering/render_object.h:
2047 * khtml/rendering/render_replaced.cpp:
2048 (RenderWidget::layout):
2049 (RenderWidget::updateWidgetPositions):
2050 * khtml/rendering/render_replaced.h:
2052 2005-10-18 Maciej Stachowiak <mjs@apple.com>
2054 Reviewed by Dave Hyatt.
2055 Committed by John Sullivan.
2057 - .5% or so speedup by removing updateWidgetPositions
2059 Instead, widget sizes are calculated in layout and widget positions are set at
2060 paint time, with the same kind of special handling for incremental repaint that
2063 * khtml/khtmlview.cpp:
2064 (KHTMLView::layout):
2065 * khtml/rendering/render_form.cpp:
2066 (RenderFormElement::layout):
2067 * khtml/rendering/render_frames.cpp:
2068 (RenderPartObject::layout):
2069 * khtml/rendering/render_frames.h:
2070 * khtml/rendering/render_layer.cpp:
2071 (khtml::RenderLayer::scrollToOffset):
2072 * khtml/rendering/render_object.cpp:
2073 * khtml/rendering/render_object.h:
2074 * khtml/rendering/render_replaced.cpp:
2075 (RenderWidget::layout):
2076 * khtml/rendering/render_replaced.h:
2078 2005-10-17 Maciej Stachowiak <mjs@apple.com>
2082 Speed up the tokenizer by keeping more state on the stack instead of in the object,
2083 to avoid load-store traffic. About a .5% speedup.
2085 * khtml/html/htmltokenizer.cpp:
2086 (khtml::HTMLTokenizer::HTMLTokenizer):
2087 (khtml::HTMLTokenizer::reset):
2088 (khtml::HTMLTokenizer::begin):
2089 (khtml::HTMLTokenizer::setForceSynchronous):
2090 (khtml::HTMLTokenizer::processListing):
2091 (khtml::HTMLTokenizer::parseSpecial):
2092 (khtml::HTMLTokenizer::scriptHandler):
2093 (khtml::HTMLTokenizer::scriptExecution):
2094 (khtml::HTMLTokenizer::parseComment):
2095 (khtml::HTMLTokenizer::parseServer):
2096 (khtml::HTMLTokenizer::parseProcessingInstruction):
2097 (khtml::HTMLTokenizer::parseText):
2098 (khtml::HTMLTokenizer::parseEntity):
2099 (khtml::HTMLTokenizer::parseTag):
2100 (khtml::HTMLTokenizer::continueProcessing):
2101 (khtml::HTMLTokenizer::write):
2102 (khtml::HTMLTokenizer::allDataProcessed):
2103 (khtml::HTMLTokenizer::end):
2104 (khtml::HTMLTokenizer::finish):
2105 (khtml::HTMLTokenizer::notifyFinished):
2106 (khtml::HTMLTokenizer::isWaitingForScripts):
2107 * khtml/html/htmltokenizer.h:
2108 (khtml::HTMLTokenizer::):
2109 (khtml::HTMLTokenizer::State::State):
2110 (khtml::HTMLTokenizer::State::tagState):
2111 (khtml::HTMLTokenizer::State::setTagState):
2112 (khtml::HTMLTokenizer::State::entityState):
2113 (khtml::HTMLTokenizer::State::setEntityState):
2114 (khtml::HTMLTokenizer::State::inScript):
2115 (khtml::HTMLTokenizer::State::setInScript):
2116 (khtml::HTMLTokenizer::State::inStyle):
2117 (khtml::HTMLTokenizer::State::setInStyle):
2118 (khtml::HTMLTokenizer::State::inSelect):
2119 (khtml::HTMLTokenizer::State::setInSelect):
2120 (khtml::HTMLTokenizer::State::inXmp):
2121 (khtml::HTMLTokenizer::State::setInXmp):
2122 (khtml::HTMLTokenizer::State::inTitle):
2123 (khtml::HTMLTokenizer::State::setInTitle):
2124 (khtml::HTMLTokenizer::State::inPlainText):
2125 (khtml::HTMLTokenizer::State::setInPlainText):
2126 (khtml::HTMLTokenizer::State::inProcessingInstruction):
2127 (khtml::HTMLTokenizer::State::setInProcessingInstruction):
2128 (khtml::HTMLTokenizer::State::inComment):
2129 (khtml::HTMLTokenizer::State::setInComment):
2130 (khtml::HTMLTokenizer::State::inTextArea):
2131 (khtml::HTMLTokenizer::State::setInTextArea):
2132 (khtml::HTMLTokenizer::State::escaped):
2133 (khtml::HTMLTokenizer::State::setEscaped):
2134 (khtml::HTMLTokenizer::State::inServer):
2135 (khtml::HTMLTokenizer::State::setInServer):
2136 (khtml::HTMLTokenizer::State::skipLF):
2137 (khtml::HTMLTokenizer::State::setSkipLF):
2138 (khtml::HTMLTokenizer::State::startTag):
2139 (khtml::HTMLTokenizer::State::setStartTag):
2140 (khtml::HTMLTokenizer::State::discardLF):
2141 (khtml::HTMLTokenizer::State::setDiscardLF):
2142 (khtml::HTMLTokenizer::State::allowYield):
2143 (khtml::HTMLTokenizer::State::setAllowYield):
2144 (khtml::HTMLTokenizer::State::loadingExtScript):
2145 (khtml::HTMLTokenizer::State::setLoadingExtScript):
2146 (khtml::HTMLTokenizer::State::forceSynchronous):
2147 (khtml::HTMLTokenizer::State::setForceSynchronous):
2148 (khtml::HTMLTokenizer::State::inAnySpecial):
2149 (khtml::HTMLTokenizer::State::hasTagState):
2150 (khtml::HTMLTokenizer::State::hasEntityState):
2151 (khtml::HTMLTokenizer::State::):
2152 (khtml::HTMLTokenizer::State::setBit):
2153 (khtml::HTMLTokenizer::State::testBit):
2154 * khtml/rendering/bidi.cpp:
2155 (khtml::RenderBlock::checkLinesForTextOverflow):
2156 * khtml/rendering/render_block.cpp:
2157 (khtml::RenderBlock::updateFirstLetter):
2158 * khtml/rendering/render_flow.cpp:
2159 (RenderFlow::caretRect):
2160 * khtml/rendering/render_line.cpp:
2161 (khtml::EllipsisBox::paint):
2162 * khtml/rendering/render_object.cpp:
2163 (RenderObject::firstLineStyle):
2164 * khtml/rendering/render_object.h:
2165 (khtml::RenderObject::style):
2167 2005-10-17 Maciej Stachowiak <mjs@apple.com>
2169 - temporarily back out hyatt's recent changes since the tree was closed
2171 * khtml/rendering/render_container.cpp:
2172 (RenderContainer::destroy):
2173 (RenderContainer::destroyChildren):
2174 * khtml/rendering/render_container.h:
2175 * khtml/rendering/render_flow.cpp:
2176 (RenderFlow::destroy):
2177 * khtml/rendering/render_layer.cpp:
2178 (khtml::RenderLayer::isTransparent):
2179 (khtml::RenderLayer::paintLayer):
2180 (khtml::sortByZOrder):
2181 * khtml/rendering/render_layer.h:
2183 2005-10-17 David Hyatt <hyatt@apple.com>
2185 Fix for bugzilla bug 5283. Make overflow layers lose to other kinds of
2186 layers if z-index is equivalent. Technically overflow isn't even supposed
2187 to establish a stacking context, so the use of RenderLayer for overflow,
2188 although elegant and simple, isn't correct. This patch is essentially a hack
2189 to make the common problem go away, but the deeper mistake remains.
2193 * khtml/rendering/render_layer.cpp:
2194 (khtml::RenderLayer::isTransparent):
2195 (khtml::RenderLayer::paintLayer):
2196 (khtml::isOverflowOnly):
2198 (khtml::sortByZOrder):
2199 * khtml/rendering/render_layer.h:
2201 2005-10-16 David Hyatt <hyatt@apple.com>
2203 Clean up the deletion of anonymous boxes in the render tree.
2204 Renamed methods to make it more clear and also added comments.
2208 * khtml/rendering/render_container.cpp:
2209 (RenderContainer::destroy):
2210 (RenderContainer::destroyLeftoverAnonymousChildren):
2211 * khtml/rendering/render_container.h:
2212 * khtml/rendering/render_flow.cpp:
2213 (RenderFlow::destroy):
2215 2005-10-15 Maciej Stachowiak <mjs@apple.com>
2217 Backed out the following changes, since they are in a range that
2218 provably caused a performance regression:
2220 <rdar://problem/4302874> Denver Regression: crash repeatedly reloading www.supermanhomepage.com
2221 <rdar://problem/4302879> Re-land SVG object element fix
2222 <rdar://problem/4302880> Re-land isSameNode change
2223 <rdar://problem/4065748> Repro crash at http://www.vanaqua.org using menu system (KHTMLParser::setCurrent(DOM::NodeImpl*))
2225 * khtml/ecma/kjs_dom.cpp:
2226 (KJS::DOMNodeProtoFunc::callAsFunction):
2227 * khtml/ecma/kjs_dom.h:
2229 * khtml/ecma/kjs_events.cpp:
2230 (KJS::JSAbstractEventListener::handleEvent):
2231 * khtml/html/html_objectimpl.cpp:
2232 (DOM::HTMLObjectElementImpl::isImageType):
2233 * khtml/html/htmlparser.cpp:
2234 (HTMLStackElem::HTMLStackElem):
2235 (HTMLParser::popNestedHeaderTag):
2236 (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
2237 (HTMLParser::popOneBlock):
2238 * khtml/xml/dom_nodeimpl.h:
2241 2005-10-14 Geoffrey Garen <ggaren@apple.com>
2243 Style change suggested by Darin.
2245 * khtml/html/htmltokenizer.cpp:
2246 (khtml::HTMLTokenizer::scriptHandler): Added "Bugzilla" prefix to bug #.
2248 2005-10-14 Julien Palmas <julien.palmas@mac.com>
2250 Reviewed by eseidel.
2252 Fixed crash when animating unsupported elements.
2253 http://bugzilla.opendarwin.org/show_bug.cgi?id=5336
2255 * ksvg2/svg/SVGAnimationElementImpl.cpp:
2256 (SVGAnimationElementImpl::targetElement):
2258 2005-10-13 Justin Garcia <justin.garcia@apple.com>
2262 <rdar://problem/3643259> contentEditable=true elements do not acquire the caret or focus halo when overflow:scroll
2265 * fast/clip/outline-overflowClip
2266 Test cases changed (since I added the outline rect to the render tree dump)
2276 * khtml/rendering/render_layer.cpp:
2277 Clip the outline by a new rect, which is equal to the foreground rect w/o clipping
2278 by the overflow rect.
2280 (khtml::RenderLayer::paintLayer):
2281 (khtml::RenderLayer::hitTestLayer):
2282 (khtml::RenderLayer::calculateRects):
2283 * khtml/rendering/render_layer.h:
2284 * kwq/KWQRenderTreeDebug.cpp:
2288 2005-10-13 Antti Koivisto <koivisto@iki.fi>
2292 no need to calculate linewidth multiple times in findnextlinebreak()
2293 http://bugzilla.opendarwin.org/show_bug.cgi?id=5319
2295 No test case needed, this is a simple optimization.
2297 * khtml/rendering/bidi.cpp:
2298 (khtml::RenderBlock::findNextLineBreak):
2300 2005-10-13 Geoffrey Garen <ggaren@apple.com>
2302 - Fixed <rdar://problem/4259434> Safari crashes in HTMLTokenizer::~HTMLTokenizer()
2303 at http://www.timewarner.com/corp/careers/jobtools_us/index.html
2305 I changed the test for whether to put a script in the "to be executed" queue to
2306 match the test for whether to ref a script, so that scripts can't end up in the
2307 queue without being refed.
2309 I also renamed cachedScript to pendingScripts.
2313 No test case because the crash isn't deterministically reproducible.
2314 However, I did add assertions that should catch the underlying bug
2317 * khtml/html/htmltokenizer.cpp:
2318 (khtml::HTMLTokenizer::reset):
2319 (khtml::HTMLTokenizer::scriptHandler):
2320 (khtml::HTMLTokenizer::write):
2321 (khtml::HTMLTokenizer::notifyFinished):
2322 * khtml/html/htmltokenizer.h:
2324 2005-10-13 Rob Buis <rwlbuis@xs4all.nl>
2326 Reviewed by eseidel.
2329 * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.checksum:
2330 * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.png:
2331 * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.txt:
2332 * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.checksum:
2333 * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.png:
2334 * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
2336 Fixed <svg> to base %lengths off of the nearest viewbox.
2337 http://bugzilla.opendarwin.org/show_bug.cgi?id=5326
2339 * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
2340 (SVGPreserveAspectRatioImpl::SVGPreserveAspectRatioImpl):
2341 * ksvg2/svg/SVGSVGElementImpl.cpp:
2342 (SVGSVGElementImpl::x):
2343 (SVGSVGElementImpl::y):
2344 (SVGSVGElementImpl::width):
2345 (SVGSVGElementImpl::height):
2347 2005-10-12 Vicki Murley <vicki@apple.com>
2351 - fix <rdar://problem/4288266> createElement does not validate names when called in an HTML document (4566)
2353 * khtml/html/html_documentimpl.cpp:
2354 (DOM::HTMLDocumentImpl::createElement):
2356 2005-10-12 Beth Dakin <bdakin@apple.com>
2360 Fix for <rdar://problem/4112378> CSS :hover:after crash - khtml::inlineWidth
2361 RenderFlows needed to destroy all of their children within RenderFlow. This
2362 used to happen only in RenderFlow's parent class, RenderContainer. But for
2363 some children to be completely destroyed, the parent flow still needs to be
2364 around. Specifically in the case when there is generated content and a line
2365 break, which maintained a stray reference to the destroyed RenderObject through
2366 the lineBreakObj() of a RootInlineBox.
2368 * khtml/rendering/render_container.cpp:
2369 (RenderContainer::destroy): Took the destruction of children out of destroy(),
2370 moved to new function, and only call function when m_first
2372 (RenderContainer::destroyChildren): New function for destruction of children.
2373 * khtml/rendering/render_container.h:
2374 * khtml/rendering/render_flow.cpp:
2375 (RenderFlow::destroy): Call RenderContainer::destroyChildren() at the beginning.
2377 2005-10-11 Darin Adler <darin@apple.com>
2381 Crash: Drag element with CSS ::Before absolute positioning applied to it
2382 http://bugzilla.opendarwin.org/show_bug.cgi?id=4088
2384 * kwq/KWQKHTMLPart.mm:
2385 (KWQKHTMLPart::khtmlMouseMoveEvent):
2387 2005-10-11 Timothy Hatcher <timothy@apple.com>
2391 workaround for <rdar://problem/4294625> to fix our build
2393 * kwq/KWQPointArray.h:
2396 2005-10-10 Justin Garcia <justin.garcia@apple.com>
2400 <rdar://problem/4283218> M-JPEG / Server Push and JavaScript
2402 Ignore multipart loads in numRequests, call checkCompleted() after each section is complete.
2404 * khtml/misc/loader.cpp:
2406 2005-10-11 Adele Peterson <adele@apple.com>
2408 Rolling out fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5195
2411 REGRESSION text areas draw focus ring around each glyph, no caret in text fields
2412 http://bugzilla.opendarwin.org/show_bug.cgi?id=5335
2414 And updated expected results.
2415 * fast/clip/014-expected.checksum: Updated.
2416 * fast/clip/014-expected.png: Updated.
2418 * kwq/KWQTextArea.h:
2419 * kwq/KWQTextArea.mm:
2420 (-[KWQTextAreaTextView displayRectIgnoringOpacity:]):
2421 (-[KWQTextAreaTextView textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
2422 * kwq/KWQTextField.h:
2423 * kwq/KWQTextField.mm:
2424 (-[KWQTextFieldController setInDrawingMachinery:]):
2425 (-[KWQTextFieldController textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
2426 (-[KWQTextField displayRectIgnoringOpacity:]):
2427 (-[KWQSecureTextField displayRectIgnoringOpacity:]):
2428 (-[KWQSearchField displayRectIgnoringOpacity:]):
2432 (QWidget::~QWidget):
2434 (QWidget::setDeferFirstResponderChanges):
2436 2005-10-11 Rob Buis <rwlbuis@xs4all.nl>>
2438 Reviewed by eseidel.
2440 Fix SVGSymbolElementImpl to not warn when inheriting viewbox.
2441 http://bugzilla.opendarwin.org/show_bug.cgi?id=5278
2443 * ksvg2/svg/SVGUseElementImpl.cpp:
2444 (SVGUseElementImpl::close):
2446 2005-10-11 Julien Palmas <julien.palmas@mac.com>
2448 Reviewed by eseidel.
2450 Fixes WebCore+SVG build under gcc 3.3
2451 http://bugzilla.opendarwin.org/show_bug.cgi?id=5301
2453 * WebCore+SVG/DrawCanvasItem.mm:
2454 * WebCore+SVG/DrawView.mm:
2455 (-[DrawDocument drawRect:initWithDrawView:]):
2458 2005-10-10 Geoffrey Garen <ggaren@apple.com>
2460 - Fixed <rdar://problem/4245682> Regression: CrashTracer: 923 crashes
2461 in Safari at com.apple.WebCore: KJS::Window::clear + 132
2465 No test case because this crash isn't reliably reproducible.
2467 * khtml/ecma/kjs_window.cpp:
2468 (KJS::Window::Window): Initialize m_returnValueSlot to 0, so that we
2469 know not to write to it until it's explicitly set to a valid address.
2471 2005-10-10 Darin Adler <darin@apple.com>
2475 - finished fixing http://bugzilla.opendarwin.org/show_bug.cgi?id=5195
2476 Would like API to flush rendering of pending DOM changes
2478 The first half of the fix alone broke DumpRenderTree. Better now.
2480 * kwq/KWQWidget.h: Made paint non-virtual (it had no reason to be virtual in KWQ) and
2481 added an isPainting function.
2483 (QWidget::QWidget): Added painting boolean (actually a count).
2484 (QWidget::~QWidget): Check that painting is 0 when the widget is destroyed.
2485 (QWidget::paint): Use SPI to draw in a way that works no matter what context we are in.
2486 (QWidget::isPainting): Return true if inside the paint function.
2488 * kwq/KWQTextArea.h: Remove inDrawingMachinery field since we can use isPainting now.
2489 * kwq/KWQTextArea.mm:
2490 (-[KWQTextAreaTextView textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
2491 Use isPainting() instead of inDrawingMachinery. inDrawingMachinery required that we
2492 use displayRectIgnoringOpacity: to paint, which we no longer do.
2493 * kwq/KWQTextField.h: More of the same.
2494 * kwq/KWQTextField.mm:
2495 (-[KWQTextFieldController textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
2498 2005-10-10 Darin Adler <darin@apple.com>
2500 Reviewed by eseidel.
2502 Mem leak fixes in xslt code.
2503 http://bugzilla.opendarwin.org/show_bug.cgi?id=5320
2505 * khtml/xml/dom_docimpl.cpp:
2506 (DocumentImpl::applyXSLTransform):
2507 (DocumentImpl::setTransformSourceDocument):
2508 * khtml/xml/xml_tokenizer.cpp:
2509 (khtml::parseXMLDocumentFragment):
2510 * khtml/xsl/xslt_processorimpl.cpp:
2511 (DOM::XSLTProcessorImpl::XSLTProcessorImpl):
2512 (DOM::XSLTProcessorImpl::~XSLTProcessorImpl):
2513 (DOM::stylesheetLoadFunc):
2514 (DOM::XSLTProcessorImpl::transformDocument):
2515 (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
2516 * khtml/xsl/xslt_processorimpl.h:
2517 (DOM::XSLTProcessorImpl::stylesheet):
2518 (DOM::XSLTProcessorImpl::sourceDocument):
2520 2005-10-09 David Hyatt <hyatt@apple.com>
2522 Land fix for bugzilla bug 4974, make sure to only move below floats in line layout if white-space is normal.
2523 One case was using !isPre and including nowrap incorrectly as a result. Patch from koivisto.
2527 * khtml/rendering/bidi.cpp:
2528 (khtml::RenderBlock::findNextLineBreak):
2530 2005-10-08 Alexey Proskuryakov <ap@nypop.com>
2534 - support for WebKit fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5187
2535 UTF-8 in long text files breaks at some point
2537 No layout test added: only affects plain text view and requires loading the
2538 file in multiple chunks.
2540 * WebCore.exp: Added WebCoreTextDecoder.
2541 * kwq/WebCoreTextDecoder.h: Added.
2542 * kwq/WebCoreTextDecoder.mm: Added.
2543 * WebCore.xcodeproj/project.pbxproj: Added files, made header private (SPI).
2545 2005-10-08 Alexey Proskuryakov <ap@nypop.com>
2549 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4821
2550 Text in submitted forms should be entity-encoded if the current encoding doesn't support it
2552 Added one layout test.
2554 * khtml/html/html_formimpl.cpp:
2555 (DOM::HTMLFormElementImpl::formData): Pass true to the fromUnicode function to request entity encoding.
2556 (DOM::FormDataList::appendString): Ditto.
2558 * kwq/KWQTextCodec.h: Add boolean parameter to request entity-style encoding for characters that can't
2559 be expressed in the desired encoding.
2560 * kwq/KWQTextCodec.mm: (QTextCodec::fromUnicode): Added code to entity-encode characters that can't be
2561 expressed in the desired encoding.
2563 2005-10-08 Rosyna <rosyna@unsanity.com>
2567 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3852
2568 typeahead doesn't work in multiple row select boxes.
2570 * kwq/KWQListBox.mm:
2571 (KWQTableViewTypeSelectCallback): Added.
2572 (-[KWQTableView finalize]): Deallocate the UCTypeSelect object.
2573 (-[KWQTableView dealloc]): Ditto.
2574 (-[KWQTableView keyUp:]): If character typed is a graphic character, pass it along to
2575 the UCTypeSelect object and use it to type select, otherwise flush the object.
2577 * manual-tests/select-element-type-select.html: Added.
2579 2005-10-08 Mitz Pettel <opendarwin.org@mitzpettel.com>
2583 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3245
2584 Support the 'bdo' element
2586 Fixes the results of some existing layout tests.
2588 * khtml/xml/dom_elementimpl.h: Add eBDO to the list of entry types so there's a way to
2589 keep <bdo> dir attribute mappings separate from those of other elements.
2591 * khtml/html/html_elementimpl.cpp:
2592 (HTMLElementImpl::mapToEntry): Add special case to use eBDO for the dir attribute on
2593 elements with the <bdo> tag.
2594 (HTMLElementImpl::parseMappedAttribute): Use bidi-override for the unicode-bidi CSS property
2595 when setting it based on the dir attribute on a <bdo> tag. Along with the change above this
2596 obviates the need for an HTMLElementImpl subclass for <bdo>, but we could refactor it that
2597 way later if we decide there's an advantage to doing it that way.
2599 * khtml/css/html4.css: Remove the rules about <bdo>. They are insufficient, and now
2600 they are also unnecessary with the changes above.
2602 2005-10-08 Mitz Pettel <opendarwin.org@mitzpettel.com>
2606 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4898
2607 Failures in dbaron's bidi ordering tests
2609 Added 3 dbaron bidi ordering tests to layout tests.
2611 * khtml/rendering/bidi.cpp:
2612 (khtml::deleteBidiRuns): Set emptyRun back to true.
2613 (khtml::Bidinext): Remove emptyRun checks here.
2614 (khtml::appendRunsForObject): Add a check here to avoid adding an empty run.
2615 (khtml::embed): Add handling for various cases that was missing before.
2616 (khtml::RenderBlock::bidiReorderLine): Many different fixes.
2618 2005-10-08 Rob Buis <rwlbuis@xs4all.nl>
2620 Reviewed by eseidel.
2622 Almost forgot the layout test for the last commit. ;)
2623 http://bugzilla.opendarwin.org/show_bug.cgi?id=5240
2625 * svg-tests/custom/use-forward-refs-expected.checksum: Added.
2626 * svg-tests/custom/use-forward-refs-expected.png: Added.
2627 * svg-tests/custom/use-forward-refs-expected.txt: Added.
2628 * svg-tests/custom/use-forward-refs.svg: Added.
2630 2005-10-08 Rob Buis <rwlbuis@xs4all.nl>
2632 Reviewed by eseidel.
2634 Fix to handle forward referencing <use> elements.
2635 http://bugzilla.opendarwin.org/show_bug.cgi?id=5240
2637 * ksvg2/svg/SVGDocumentImpl.cpp:
2638 (SVGDocumentImpl::executeScripts): delayed close.
2639 (SVGDocumentImpl::addForwardReference): new function.
2640 * ksvg2/svg/SVGDocumentImpl.h:
2641 * ksvg2/svg/SVGUseElementImpl.cpp:
2642 (SVGUseElementImpl::close): delay close, if missing reference.
2644 2005-10-07 David Harrison <harrison@apple.com>
2648 "<rdar://problem/4064017> Safari crashes at -[WebCoreBridge firstRectForDOMRange:] + 92"
2650 * khtml/editing/delete_selection_command.cpp:
2651 (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
2652 Do not insert placeholder if selection ends at a BR.
2654 (khtml::DeleteSelectionCommand::handleGeneralDelete):
2655 No need to preserve starting BR because insertPlaceholderForAncestorBlockContent already did.
2657 * khtml/xml/dom_position.cpp:
2658 (DOM::Position::upstream):
2659 (DOM::Position::downstream):
2660 Fixed to return original position instead of invisible position when no suitable position found upstream.
2662 2005-10-07 Vicki Murley <vicki@apple.com>
2666 - pass the current form to the isindex constructor, so that isindex doesn't malfunction in the
2667 case of a misnested form
2669 * khtml/html/htmlparser.cpp:
2670 (HTMLParser::handleIsindex):
2672 2005-10-06 Justin Garcia <justin.garcia@apple.com>
2674 Reviewed by harrison
2676 <rdar://problem/4073133> Tabbing between editable elements leads to loss of keyboard focus
2677 <rdar://problem/3690719> "Select All" when in an editable area selects the whole containing document
2678 <rdar://problem/3690703> selection is allowed to span editable area and rest of document
2680 * khtml/editing/SelectionController.cpp:
2681 (khtml::SelectionController::adjustExtentForEditableContent): Added.
2682 Ensures that a selection based in an editable element cannot extend outside that element's root editable element.
2683 Also ensures that a selection that's based outside of editable content cannot extend into an editable element.
2684 (khtml::SelectionController::validate):
2685 * khtml/editing/SelectionController.h:
2686 * khtml/editing/visible_position.h:
2687 * khtml/khtml_part.cpp:
2688 (KHTMLPart::setSelection):
2689 (KHTMLPart::setFocusNodeIfNeeded):
2690 (KHTMLPart::selectAll):
2691 If the current selection is inside an editable element, only select the contents of the root editable element.
2692 * khtml/xml/dom_nodeimpl.cpp:
2693 (DOM::ContainerNodeImpl::setFocus): Clicking on an editable element used to change the selection twice.
2694 * kwq/KWQKHTMLPart.mm:
2695 (KWQKHTMLPart::nextKeyViewInFrame): Does a select all when tabbing into an editable element, to match <textarea>s.
2697 2005-10-06 Vicki Murley <vicki@apple.com>
2699 Reviewed by Beth Dakin.
2701 - fix <rdar://problem/4288307> <form> element is created for <isindex> outside <form>; that's not correct (4828)
2703 * khtml/html/htmlparser.cpp:
2704 (HTMLParser::handleIsindex): if there's no current form, don't create one
2706 2005-10-06 Beth Dakin <bdakin@apple.com>
2710 Fix for <rdar://problem/4145535> Crash in khtml::RenderBlock::addOverhangingFloats
2711 with simple HTML test file.
2713 * khtml/rendering/render_block.cpp: Added nil check
2714 (khtml::RenderBlock::addOverhangingFloats):
2716 2005-10-06 John Sullivan <sullivan@apple.com>
2718 Reviewed by Beth Dakin.
2720 No test cases added because this does not affect layout.
2722 * kwq/KWQTextArea.mm:
2723 (-[KWQTextAreaTextView setLineHeight:]):
2724 Don't call [textView didChangeText] here, because the text itself did not change.
2726 EW2005-10-06 Beth Dakin <bdakin@apple.com>
2730 Rolling out the assertions I put in place earlier today
2731 because they break the layout tests.
2733 * khtml/rendering/render_container.cpp:
2734 (RenderContainer::destroy):
2735 * khtml/xml/dom_nodeimpl.cpp:
2736 (DOM::NodeImpl::dispatchEvent):
2737 (DOM::NodeImpl::dispatchGenericEvent):
2738 (DOM::NodeImpl::dispatchHTMLEvent):
2739 (DOM::NodeImpl::dispatchWindowEvent):
2740 (DOM::NodeImpl::dispatchMouseEvent):
2741 (DOM::NodeImpl::dispatchSimulatedMouseEvent):
2742 (DOM::NodeImpl::dispatchUIEvent):
2743 (DOM::NodeImpl::dispatchKeyEvent):
2744 (DOM::NodeImpl::dispatchWheelEvent):
2745 (DOM::NodeImpl::detach):
2746 (DOM::ContainerNodeImpl::insertBefore):
2747 (DOM::ContainerNodeImpl::replaceChild):
2748 (DOM::ContainerNodeImpl::removeChild):
2749 (DOM::ContainerNodeImpl::removeChildren):
2750 (DOM::ContainerNodeImpl::appendChild):
2751 (DOM::ContainerNodeImpl::addChild):
2752 (DOM::ContainerNodeImpl::dispatchChildInsertedEvents):
2754 2005-10-06 Beth Dakin <bdakin@apple.com>
2756 Reviewed by Dave Harrison
2758 No test cases added because this does not affect layout.
2760 Added assertions to catch WebCore whenever it tries to dispatch an event
2761 while it is modifying the DOM tree. This does not fix any bugs but was
2762 inspired by 4134884 and 4132581.
2764 * khtml/rendering/render_container.cpp: Assert that m_first is anonymous
2765 (RenderContainer::destroy):
2766 * khtml/xml/dom_nodeimpl.cpp: Added static int eventDispatchForbidden, and
2767 forbidEventDispatch() and allowEventDispatch()
2768 to wrap code that modifies the tree.
2769 (DOM::forbidEventDispatch):
2770 (DOM::allowEventDispatch):
2771 (DOM::NodeImpl::dispatchEvent): Added assertion.
2772 (DOM::NodeImpl::dispatchGenericEvent): Added assertion.
2773 (DOM::NodeImpl::dispatchHTMLEvent): Added assertion.
2774 (DOM::NodeImpl::dispatchWindowEvent): Added assertion.
2775 (DOM::NodeImpl::dispatchMouseEvent): Added assertion.
2776 (DOM::NodeImpl::dispatchSimulatedMouseEvent): Added assertion.
2777 (DOM::NodeImpl::dispatchUIEvent): Added assertion.
2778 (DOM::NodeImpl::dispatchKeyEvent): Added assertion.
2779 (DOM::NodeImpl::dispatchWheelEvent): Added assertion.
2780 (DOM::NodeImpl::detach): Added assertion.
2781 (DOM::ContainerNodeImpl::insertBefore): Wrapped tree-modifying code.
2782 (DOM::ContainerNodeImpl::replaceChild): Wrapped tree-modifying code.
2783 (DOM::ContainerNodeImpl::removeChild): Wrapped tree-modifying code.
2784 (DOM::ContainerNodeImpl::removeChildren): Wrapped tree-modifying code.
2785 (DOM::ContainerNodeImpl::appendChild): Wrapped tree-modifying code.
2786 (DOM::ContainerNodeImpl::addChild): Wrapped tree-modifying code.
2787 (DOM::ContainerNodeImpl::dispatchChildInsertedEvents): Added. assertion.
2789 2005-10-06 Beth Dakin <bdakin@apple.com>
2793 No test case added because you need to interact with a page to see this crash.
2795 Fix for <rdar://problem/3918278> CSS: :hover:before or :hover crashes in
2796 RenderObject::repaintObjectsBeforeLayout()
2798 * khtml/rendering/render_container.cpp:
2799 (RenderContainer::updatePseudoChild): Deleted call to removeChild() because destroy() takes
2800 care of that, and we don't want to remove the
2801 node before we destroy it anyway, or positioned
2802 objects won't be appropriately deleted.
2804 2005-10-06 David Harrison <harrison@apple.com>
2808 No test cases added or changed because this patch does not address a bug.
2810 Fix two detach/destroy renames I missed yesterday.
2812 * khtml/rendering/bidi.cpp:
2813 (khtml::BidiRun::destroy):
2814 (khtml::BidiRun::operator delete):
2815 Renamed inBidiRunDetach to inBidiRunDestroy.
2817 * khtml/rendering/render_layer.cpp:
2818 (khtml::RenderLayer::operator delete):
2819 (khtml::RenderLayer::destroy):
2820 Renamed inRenderLayerDetach to inRenderLayerDestroy.
2822 2005-10-06 Darin Adler <darin@apple.com>
2826 - fixed <rdar://problem/3217793> Monaco bold comes out as Helvetica bold, very bad if you choose Monaco as your fixed-width font
2827 - fixed <rdar://problem/3256269> CSS1: bold/italic font styles not programmatically created if font doesn't include them (3231)
2828 also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3231>
2830 * kwq/WebCoreTextRendererFactory.h: Added WebCoreFont structure, and made this header work for
2831 non-Objective-C compiles. Changed all the methods to take and return WebCoreFont instead of
2833 * kwq/WebCoreTextRendererFactory.mm:
2834 (WebCoreInitializeFont): Added.
2835 (-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]): Updated to use ERROR so we notice
2836 cases where the subclass does not override these methods.
2837 (-[WebCoreTextRendererFactory isFontFixedPitch:]): Ditto.
2838 (-[WebCoreTextRendererFactory rendererWithFont:]): Ditto.
2840 * WebCore.exp: Added WebCoreInititalizeFont.
2842 * kwq/KWQFont.h: Added WebCoreFont support.
2844 (QFont::QFont): Change to use WebCoreFont.
2845 (QFont::~QFont): Ditto.
2846 (QFont::operator=): Ditto.
2847 (QFont::setFamily): Ditto.
2848 (QFont::setFirstFamily): Ditto.
2849 (QFont::setPixelSize): Ditto.
2850 (QFont::setWeight): Ditto.
2851 (QFont::setItalic): Ditto.
2852 (QFont::determinePitch): Ditto.
2853 (QFont::getWebCoreFont): Added.
2855 * kwq/KWQComboBox.mm: (QComboBox::sizeHint): Pass in WebCoreFont when creating text renderer.
2856 * kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getRenderer): Ditto.
2857 * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Ditto.
2858 * kwq/KWQListBox.mm:
2859 (itemTextRenderer): Ditto.
2860 (groupLabelTextRenderer): Ditto.
2861 (QListBox::sizeForNumberOfLines): Changed non-system-font case to use QFont rather than NSFont
2862 to add boldness, so that group label fonts are bolded even if it's synthesiized bold.
2863 (-[KWQTableView drawRow:clipRect:]): Ditto.
2864 * kwq/KWQPainter.mm: (QPainter::_updateRenderer): Pass in WebCoreFont when creating text renderer.
2866 2005-10-05 Vicki Murley <vicki@apple.com>
2870 - fix <rdar://problem/4288829> repro crash on isIndex tag with no attributes
2872 * khtml/html/htmlparser.cpp:
2873 (HTMLParser::handleIsindex): only deref attributes if they exist
2875 2005-10-05 Maciej Stachowiak <mjs@apple.com>
2879 <rdar://problem/4150976> Safari crashes in HTMLImageLoader::dispatchLoadEvent() on particular page (archive attached)
2881 I couldn't figure out how to make an automated test for this; even once I got DumpRenderTree
2882 to mouse in and out it did not crash.
2884 * khtml/html/html_imageimpl.cpp:
2885 (HTMLImageLoader::dispatchLoadEvent): Check if CachedImage is null before using it.
2887 2005-10-05 David Harrison <harrison@apple.com>
2891 No test cases added or changed because this patch does not address a bug.
2893 For clarity, renamed the "detach()" function to "destroy()" in the following classes:
2894 RenderObject (and subclasses), BidiRun, ClipRects, InlineBox (and subclasses).
2896 * khtml/rendering/bidi.cpp:
2897 (khtml::BidiRun::destroy):
2898 (khtml::BidiRun::operator delete):
2899 (khtml::deleteBidiRuns):
2900 * khtml/rendering/bidi.h:
2901 * khtml/rendering/render_block.cpp:
2902 (khtml::RenderBlock::removeChild):
2903 (khtml::RenderBlock::updateFirstLetter):
2904 * khtml/rendering/render_box.cpp:
2905 (RenderBox::destroy):
2906 (RenderBox::dirtyLineBoxes):
2907 (RenderBox::position):
2908 (RenderBox::deleteLineBoxWrapper):
2909 * khtml/rendering/render_box.h:
2910 * khtml/rendering/render_container.cpp:
2911 (RenderContainer::destroy):
2912 (RenderContainer::updatePseudoChild):
2913 (RenderContainer::removeLeftoverAnonymousBoxes):
2914 * khtml/rendering/render_container.h:
2915 * khtml/rendering/render_flow.cpp:
2916 (RenderFlow::deleteLineBoxes):
2917 (RenderFlow::destroy):
2918 * khtml/rendering/render_flow.h:
2919 * khtml/rendering/render_form.cpp:
2920 (RenderTextArea::destroy):
2921 * khtml/rendering/render_form.h:
2922 * khtml/rendering/render_layer.cpp:
2923 (khtml::ClipRects::operator delete):
2924 (khtml::ClipRects::destroy):
2925 (khtml::RenderLayer::operator delete):
2926 (khtml::RenderLayer::destroy):
2927 (khtml::RenderLayer::removeOnlyThisLayer):
2928 * khtml/rendering/render_layer.h:
2929 (khtml::ClipRects::deref):
2930 * khtml/rendering/render_line.cpp:
2931 (khtml::InlineBox::destroy):
2932 (khtml::InlineBox::operator delete):
2933 (khtml::InlineBox::deleteLine):
2934 (khtml::InlineFlowBox::deleteLine):
2935 (khtml::RootInlineBox::destroy):
2936 (khtml::RootInlineBox::detachEllipsisBox):
2937 * khtml/rendering/render_line.h:
2938 * khtml/rendering/render_list.cpp:
2939 (RenderListItem::setStyle):
2940 (RenderListItem::destroy):
2941 * khtml/rendering/render_list.h:
2942 * khtml/rendering/render_object.cpp:
2943 (RenderObject::operator delete):
2944 (RenderObject::destroy):
2945 * khtml/rendering/render_object.h:
2946 * khtml/rendering/render_replaced.cpp:
2947 (RenderWidget::destroy):
2948 * khtml/rendering/render_replaced.h:
2949 * khtml/rendering/render_style.cpp:
2950 (RenderStyle::operator delete):
2951 * khtml/rendering/render_table.cpp:
2952 (RenderTableSection::destroy):
2953 (RenderTableRow::destroy):
2954 (RenderTableRow::removeChildNode):
2955 (RenderTableCell::destroy):
2956 * khtml/rendering/render_table.h:
2957 * khtml/rendering/render_text.cpp:
2958 (InlineTextBox::destroy):
2959 (InlineTextBox::operator delete):
2960 (InlineTextBox::deleteLine):
2961 (RenderText::destroy):
2962 (RenderText::deleteTextBoxes):
2963 (RenderText::position):
2964 * khtml/rendering/render_text.h:
2965 * khtml/xml/dom_docimpl.cpp:
2966 (DocumentImpl::detach):
2967 * khtml/xml/dom_nodeimpl.cpp:
2968 (DOM::NodeImpl::detach):
2970 2005-10-05 Maciej Stachowiak <mjs@apple.com>
2974 - fixed <rdar://problem/3798746> hang in JavaScript getting at URL from frame; isc.fraunhofer.de (works in IE and Firefox)
2976 * khtml/xml/dom_docimpl.h:
2977 (DOM::DocumentImpl::URL): if the URL is empty, return "about:blank", the JS DOM
2978 at least counts on this, so we may as well do it for other languages too.
2979 (DOM::DocumentImpl::baseURL): base it on URL(), not m_url
2981 2005-10-05 Eric Seidel <eseidel@apple.com>
2985 Improves dependency checking so that SVG JavaScript wrapper files
2986 regenerate when the perl scripts change.
2988 * WebCore.xcodeproj/project.pbxproj:
2990 2005-10-05 Eric Seidel <eseidel@apple.com>
2994 Makes <object> tags not use image mode for svg content:
2995 http://bugzilla.opendarwin.org/show_bug.cgi?id=5175
2997 * khtml/html/html_objectimpl.cpp:
2998 (DOM::HTMLObjectElementImpl::isImageType):
3000 2005-10-05 Anders Carlsson <andersca@mac.com>
3004 * khtml/ecma/kjs_dom.cpp:
3005 (KJS::DOMNodeProtoFunc::callAsFunction):
3006 * khtml/ecma/kjs_dom.h:
3007 Add JS binding for isSameNode.
3010 * khtml/xml/dom_nodeimpl.h:
3011 Implement isSameNode.
3013 (DOM::NodeImpl::isSameNode):
3015 (-[DOMNode isSameNode:]):
3016 Add ObjC binding for isSameNode.
3018 2005-10-05 Maciej Stachowiak <mjs@apple.com>
3022 - fixed a random crasher that happens because the HTMLParser accidentally was refing
3025 <rdar://problem/4065748> Repro crash at http://www.vanaqua.org using menu system (KHTMLParser::setCurrent(DOM::NodeImpl*))
3027 I couldn't figure out how to make a reproducible test case for this. The failure is
3028 random memory trashing.
3030 * khtml/html/htmlparser.cpp:
3031 (HTMLStackElem::HTMLStackElem):
3032 (HTMLStackElem::~HTMLStackElem):
3033 (HTMLParser::popNestedHeaderTag):
3034 (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
3035 (HTMLParser::popOneBlock):
3037 2005-10-04 Maciej Stachowiak <mjs@apple.com>
3041 <rdar://problem/4285236> Denver Regression: crash repeatedly reloading www.supermanhomepage.com
3043 I couldn't figure out how to make a reproducible test case for this. The failure is
3044 random memory trashing.
3046 * khtml/ecma/kjs_events.cpp:
3047 (KJS::JSAbstractEventListener::handleEvent): Move an unpaired deref to where it is paired.
3049 2005-10-04 Eric Seidel <eseidel@apple.com>
3053 Support direct named attribute lookkup, like FireFox,IE.
3054 This was causing a JavaScript exception for gap.com
3055 <rdar://problem/4285884> Gap.com throws exception "Undefined value" because of Safari doesn't support indexing into a named node map by name
3057 * khtml/ecma/kjs_dom.cpp:
3058 (KJS::DOMNodeList::getOwnPropertySlot): if cleanup
3059 (KJS::DOMNamedNodeMap::nameGetter):
3060 (KJS::DOMNamedNodeMap::getOwnPropertySlot):
3061 * khtml/ecma/kjs_dom.h: added nameGetter
3063 2005-10-04 Eric Seidel <eseidel@apple.com>
3065 No review, build fix only.
3067 Fix to include "config.h" in every file.
3068 Necessary to support fastMalloc.
3069 http://bugzilla.opendarwin.org/show_bug.cgi?id=5254
3071 * WebCore+SVG/DrawCanvasItem.mm:
3072 * WebCore+SVG/DrawDocument.mm:
3073 * WebCore+SVG/DrawView.mm:
3074 * WebCore+SVG/dom_kdomdocumentwrapper.cpp:
3075 * WebCore+SVG/dom_kdomnodetreewrapper.cpp:
3076 * WebCore+SVG/render_kcanvaswrapper.cpp:
3077 * WebCore+SVG/xml_kdomtokenizer.cpp:
3078 * kcanvas/KCanvas.cpp:
3079 * kcanvas/KCanvasContainer.cpp:
3080 * kcanvas/KCanvasCreator.cpp:
3081 * kcanvas/KCanvasFilters.cpp:
3082 * kcanvas/KCanvasImage.cpp:
3083 * kcanvas/KCanvasItem.cpp:
3084 * kcanvas/KCanvasMatrix.cpp:
3085 * kcanvas/KCanvasPath.cpp:
3086 * kcanvas/KCanvasRegistry.cpp:
3087 * kcanvas/KCanvasResources.cpp:
3088 * kcanvas/KCanvasTreeDebug.cpp:
3089 * kcanvas/KCanvasView.cpp:
3090 * kcanvas/device/KRenderingDevice.cpp:
3091 * kcanvas/device/KRenderingDeviceFactory.cpp:
3092 * kcanvas/device/KRenderingFillPainter.cpp:
3093 * kcanvas/device/KRenderingPaintServerGradient.cpp:
3094 * kcanvas/device/KRenderingPaintServerImage.cpp:
3095 * kcanvas/device/KRenderingPaintServerPattern.cpp:
3096 * kcanvas/device/KRenderingPaintServerSolid.cpp:
3097 * kcanvas/device/KRenderingStrokePainter.cpp:
3098 * kcanvas/device/KRenderingStyle.cpp:
3099 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3100 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
3101 * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
3102 * kcanvas/device/quartz/KCanvasViewQuartz.mm:
3103 * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
3104 * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
3105 * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
3106 * kcanvas/device/quartz/QuartzSupport.mm:
3107 * kdom/DOMString.cpp:
3109 * kdom/KDOMPart.cpp:
3110 * kdom/KDOMSettings.cpp:
3111 * kdom/KDOMView.cpp:
3113 * kdom/backends/libxml/LibXMLParser.cpp:
3114 * kdom/bindings/IDLCodeGeneratorEcmaInterface.pm:
3115 * kdom/bindings/IDLCodeGeneratorJs.pm:
3116 * kdom/cache/ImageSource.cpp:
3117 * kdom/cache/KDOMCache.cpp:
3118 * kdom/cache/KDOMCachedDocument.cpp:
3119 * kdom/cache/KDOMCachedImage.cpp:
3120 * kdom/cache/KDOMCachedObject.cpp:
3121 * kdom/cache/KDOMCachedScript.cpp:
3122 * kdom/cache/KDOMCachedStyleSheet.cpp:
3123 * kdom/cache/KDOMLoader.cpp:
3124 * kdom/core/AttrImpl.cpp:
3125 * kdom/core/CDATASectionImpl.cpp:
3126 * kdom/core/CDFInterface.cpp:
3127 * kdom/core/CharacterDataImpl.cpp:
3128 * kdom/core/CommentImpl.cpp:
3129 * kdom/core/DOMConfigurationImpl.cpp:
3130 * kdom/core/DOMErrorHandlerImpl.cpp:
3131 * kdom/core/DOMErrorImpl.cpp:
3132 * kdom/core/DOMExceptionImpl.cpp:
3133 * kdom/core/DOMImplementationImpl.cpp:
3134 * kdom/core/DOMLocatorImpl.cpp:
3135 * kdom/core/DOMObjectImpl.cpp:
3136 * kdom/core/DOMStringImpl.cpp:
3137 * kdom/core/DOMStringListImpl.cpp:
3138 * kdom/core/DOMUserDataImpl.cpp:
3139 * kdom/core/DocumentFragmentImpl.cpp:
3140 * kdom/core/DocumentImpl.cpp:
3141 * kdom/core/DocumentTypeImpl.cpp:
3142 * kdom/core/ElementImpl.cpp:
3143 * kdom/core/EntityImpl.cpp:
3144 * kdom/core/EntityReferenceImpl.cpp:
3145 * kdom/core/NamedAttrMapImpl.cpp:
3146 * kdom/core/NamedNodeMapImpl.cpp:
3147 * kdom/core/NodeImpl.cpp:
3148 * kdom/core/NodeListImpl.cpp:
3149 * kdom/core/NotationImpl.cpp:
3150 * kdom/core/ProcessingInstructionImpl.cpp:
3151 * kdom/core/TagNodeListImpl.cpp:
3152 * kdom/core/TextImpl.cpp:
3153 * kdom/core/TypeInfoImpl.cpp:
3154 * kdom/core/XMLElementImpl.cpp:
3155 * kdom/css/CSSCharsetRuleImpl.cpp:
3156 * kdom/css/CSSFontFaceRuleImpl.cpp:
3157 * kdom/css/CSSImageValueImpl.cpp:
3158 * kdom/css/CSSImportRuleImpl.cpp:
3159 * kdom/css/CSSMediaRuleImpl.cpp:
3160 * kdom/css/CSSPageRuleImpl.cpp:
3161 * kdom/css/CSSPrimitiveValueImpl.cpp:
3162 * kdom/css/CSSRuleImpl.cpp:
3163 * kdom/css/CSSRuleListImpl.cpp:
3164 * kdom/css/CSSStyleDeclarationImpl.cpp:
3165 * kdom/css/CSSStyleRuleImpl.cpp:
3166 * kdom/css/CSSStyleSelector.cpp:
3167 * kdom/css/CSSStyleSheetImpl.cpp:
3168 * kdom/css/CSSUnknownRuleImpl.cpp:
3169 * kdom/css/CSSValueImpl.cpp:
3170 * kdom/css/CSSValueListImpl.cpp:
3171 * kdom/css/CounterImpl.cpp:
3172 * kdom/css/DocumentCSSImpl.cpp:
3173 * kdom/css/DocumentStyleImpl.cpp:
3174 * kdom/css/KDOMCSSParser.cpp:
3175 * kdom/css/LinkStyleImpl.cpp:
3176 * kdom/css/MediaListImpl.cpp:
3177 * kdom/css/RGBColorImpl.cpp:
3178 * kdom/css/RectImpl.cpp:
3179 * kdom/css/RenderStyle.cpp:
3180 * kdom/css/RenderStyleDefs.cpp:
3181 * kdom/css/StyleBaseImpl.cpp:
3182 * kdom/css/StyleSheetImpl.cpp:
3183 * kdom/css/StyleSheetListImpl.cpp:
3184 * kdom/css/kdomparsercss.y:
3185 * kdom/ecma/Ecma.cpp:
3186 * kdom/ecma/GlobalObject.cpp:
3187 * kdom/ecma/Helper.cpp:
3188 * kdom/ecma/ScriptInterpreter.cpp:
3189 * kdom/events/DocumentEventImpl.cpp:
3190 * kdom/events/EventExceptionImpl.cpp:
3191 * kdom/events/EventImpl.cpp:
3192 * kdom/events/EventListenerImpl.cpp:
3193 * kdom/events/EventTargetImpl.cpp:
3194 * kdom/events/KeyboardEventImpl.cpp:
3195 * kdom/events/MouseEventImpl.cpp:
3196 * kdom/events/MutationEventImpl.cpp:
3197 * kdom/events/RegisteredEventListener.cpp:
3198 * kdom/events/UIEventImpl.cpp:
3199 * kdom/ls/DOMImplementationLSImpl.cpp:
3200 * kdom/ls/LSExceptionImpl.cpp:
3201 * kdom/ls/LSInputImpl.cpp:
3202 * kdom/ls/LSOutputImpl.cpp:
3203 * kdom/ls/LSParserFilterImpl.cpp:
3204 * kdom/ls/LSParserImpl.cpp:
3205 * kdom/ls/LSResourceResolverImpl.cpp:
3206 * kdom/ls/LSSerializerFilterImpl.cpp:
3207 * kdom/ls/LSSerializerImpl.cpp:
3208 * kdom/parser/KDOMDocumentBuilder.cpp:
3209 * kdom/parser/KDOMParser.cpp:
3210 * kdom/range/DocumentRangeImpl.cpp:
3211 * kdom/range/RangeExceptionImpl.cpp:
3212 * kdom/range/RangeImpl.cpp:
3213 * kdom/traversal/DocumentTraversalImpl.cpp:
3214 * kdom/traversal/NodeFilterImpl.cpp:
3215 * kdom/traversal/NodeIteratorImpl.cpp:
3216 * kdom/traversal/TraversalImpl.cpp:
3217 * kdom/traversal/TreeWalkerImpl.cpp:
3218 * kdom/views/AbstractViewImpl.cpp:
3219 * kdom/views/DocumentViewImpl.cpp:
3220 * kdom/xpath/XPathEvaluatorImpl.cpp:
3221 * kdom/xpath/XPathExceptionImpl.cpp:
3222 * kdom/xpath/XPathExpressionImpl.cpp:
3223 * kdom/xpath/XPathNSResolverImpl.cpp:
3224 * kdom/xpath/XPathNamespaceImpl.cpp:
3225 * kdom/xpath/XPathResultImpl.cpp:
3226 * kdom/xpath/impl/expression.cpp:
3227 * kdom/xpath/impl/functions.cpp:
3228 * kdom/xpath/impl/parsedstatement.cpp:
3229 * kdom/xpath/impl/path.cpp:
3230 * kdom/xpath/impl/predicate.cpp:
3231 * kdom/xpath/impl/step.cpp:
3232 * kdom/xpath/impl/tokenizer.cpp:
3233 * kdom/xpath/impl/util.cpp:
3234 * kdom/xpath/impl/variablereference.cpp:
3235 * kdom/xpath/impl/xpath.y:
3236 * kdom/xpointer/ElementSchemeImpl.cpp:
3237 * kdom/xpointer/NBCImpl.cpp:
3238 * kdom/xpointer/PointerPartImpl.cpp:
3239 * kdom/xpointer/ShortHandImpl.cpp:
3240 * kdom/xpointer/XMLNSSchemeImpl.cpp:
3241 * kdom/xpointer/XPath1SchemeImpl.cpp:
3242 * kdom/xpointer/XPointerEvaluatorImpl.cpp:
3243 * kdom/xpointer/XPointerExceptionImpl.cpp:
3244 * kdom/xpointer/XPointerExpressionImpl.cpp:
3245 * kdom/xpointer/XPointerHelper.cpp:
3246 * kdom/xpointer/XPointerResultImpl.cpp:
3247 * kdom/xpointer/XPointerSchemeImpl.cpp:
3248 * ksvg2/KSVGFactory.cpp:
3249 * ksvg2/KSVGSettings.cpp:
3250 * ksvg2/KWQKSVGPart.mm:
3251 * ksvg2/KWQKSVGView.mm:
3252 * ksvg2/css/KSVGCSSParser.cpp:
3253 * ksvg2/css/SVGCSSStyleDeclarationImpl.cpp:
3254 * ksvg2/css/SVGCSSStyleSelector.cpp:
3255 * ksvg2/css/SVGCSSStyleSheetImpl.cpp:
3256 * ksvg2/css/SVGRenderStyle.cpp:
3257 * ksvg2/css/SVGRenderStyleDefs.cpp:
3258 * ksvg2/ecma/Ecma.cpp:
3259 * ksvg2/ecma/GlobalObject.cpp:
3260 * ksvg2/events/SVGEventImpl.cpp:
3261 * ksvg2/events/SVGZoomEventImpl.cpp:
3262 * ksvg2/misc/KCanvasRenderingStyle.cpp:
3263 * ksvg2/misc/KSVGDocumentBuilder.cpp:
3264 * ksvg2/misc/KSVGTimeScheduler.cpp:
3265 * ksvg2/svg/CDFInterface.cpp:
3266 * ksvg2/svg/SVGAElementImpl.cpp:
3267 * ksvg2/svg/SVGAngleImpl.cpp:
3268 * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
3269 * ksvg2/svg/SVGAnimateElementImpl.cpp:
3270 * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
3271 * ksvg2/svg/SVGAnimatedAngleImpl.cpp:
3272 * ksvg2/svg/SVGAnimatedBooleanImpl.cpp:
3273 * ksvg2/svg/SVGAnimatedEnumerationImpl.cpp:
3274 * ksvg2/svg/SVGAnimatedIntegerImpl.cpp:
3275 * ksvg2/svg/SVGAnimatedLengthImpl.cpp:
3276 * ksvg2/svg/SVGAnimatedLengthListImpl.cpp:
3277 * ksvg2/svg/SVGAnimatedNumberImpl.cpp:
3278 * ksvg2/svg/SVGAnimatedNumberListImpl.cpp:
3279 * ksvg2/svg/SVGAnimatedPathDataImpl.cpp:
3280 * ksvg2/svg/SVGAnimatedPointsImpl.cpp:
3281 * ksvg2/svg/SVGAnimatedPreserveAspectRatioImpl.cpp:
3282 * ksvg2/svg/SVGAnimatedRectImpl.cpp:
3283 * ksvg2/svg/SVGAnimatedStringImpl.cpp:
3284 * ksvg2/svg/SVGAnimatedTransformListImpl.cpp:
3285 * ksvg2/svg/SVGAnimationElementImpl.cpp:
3286 * ksvg2/svg/SVGCircleElementImpl.cpp:
3287 * ksvg2/svg/SVGClipPathElementImpl.cpp:
3288 * ksvg2/svg/SVGColorImpl.cpp:
3289 * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
3290 * ksvg2/svg/SVGCursorElementImpl.cpp:
3291 * ksvg2/svg/SVGDOMImplementationImpl.cpp:
3292 * ksvg2/svg/SVGDefsElementImpl.cpp:
3293 * ksvg2/svg/SVGDescElementImpl.cpp:
3294 * ksvg2/svg/SVGDocumentImpl.cpp:
3295 * ksvg2/svg/SVGElementImpl.cpp:
3296 * ksvg2/svg/SVGElementInstanceImpl.cpp:
3297 * ksvg2/svg/SVGElementInstanceListImpl.cpp:
3298 * ksvg2/svg/SVGEllipseElementImpl.cpp:
3299 * ksvg2/svg/SVGExceptionImpl.cpp:
3300 * ksvg2/svg/SVGExternalResourcesRequiredImpl.cpp:
3301 * ksvg2/svg/SVGFEBlendElementImpl.cpp:
3302 * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
3303 * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
3304 * ksvg2/svg/SVGFECompositeElementImpl.cpp:
3305 * ksvg2/svg/SVGFEFloodElementImpl.cpp:
3306 * ksvg2/svg/SVGFEFuncAElementImpl.cpp:
3307 * ksvg2/svg/SVGFEFuncBElementImpl.cpp:
3308 * ksvg2/svg/SVGFEFuncGElementImpl.cpp:
3309 * ksvg2/svg/SVGFEFuncRElementImpl.cpp:
3310 * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
3311 * ksvg2/svg/SVGFEImageElementImpl.cpp:
3312 * ksvg2/svg/SVGFEMergeElementImpl.cpp:
3313 * ksvg2/svg/SVGFEMergeNodeElementImpl.cpp:
3314 * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
3315 * ksvg2/svg/SVGFETileElementImpl.cpp:
3316 * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
3317 * ksvg2/svg/SVGFilterElementImpl.cpp:
3318 * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
3319 * ksvg2/svg/SVGFitToViewBoxImpl.cpp:
3320 * ksvg2/svg/SVGGElementImpl.cpp:
3321 * ksvg2/svg/SVGGradientElementImpl.cpp:
3322 * ksvg2/svg/SVGHelper.cpp:
3323 * ksvg2/svg/SVGImageElementImpl.cpp:
3324 * ksvg2/svg/SVGLangSpaceImpl.cpp:
3325 * ksvg2/svg/SVGLengthImpl.cpp:
3326 * ksvg2/svg/SVGLengthListImpl.cpp:
3327 * ksvg2/svg/SVGLineElementImpl.cpp:
3328 * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
3329 * ksvg2/svg/SVGLocatableImpl.cpp:
3330 * ksvg2/svg/SVGMarkerElementImpl.cpp:
3331 * ksvg2/svg/SVGMatrixImpl.cpp:
3332 * ksvg2/svg/SVGNumberImpl.cpp:
3333 * ksvg2/svg/SVGNumberListImpl.cpp:
3334 * ksvg2/svg/SVGPaintImpl.cpp:
3335 * ksvg2/svg/SVGPathElementImpl.cpp:
3336 * ksvg2/svg/SVGPathSegArcImpl.cpp:
3337 * ksvg2/svg/SVGPathSegClosePathImpl.cpp:
3338 * ksvg2/svg/SVGPathSegCurvetoCubicImpl.cpp:
3339 * ksvg2/svg/SVGPathSegCurvetoCubicSmoothImpl.cpp:
3340 * ksvg2/svg/SVGPathSegCurvetoQuadraticImpl.cpp:
3341 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothImpl.cpp:
3342 * ksvg2/svg/SVGPathSegImpl.cpp:
3343 * ksvg2/svg/SVGPathSegLinetoHorizontalImpl.cpp:
3344 * ksvg2/svg/SVGPathSegLinetoImpl.cpp:
3345 * ksvg2/svg/SVGPathSegLinetoVerticalImpl.cpp:
3346 * ksvg2/svg/SVGPathSegListImpl.cpp:
3347 * ksvg2/svg/SVGPathSegMovetoImpl.cpp:
3348 * ksvg2/svg/SVGPatternElementImpl.cpp:
3349 * ksvg2/svg/SVGPointImpl.cpp:
3350 * ksvg2/svg/SVGPointListImpl.cpp:
3351 * ksvg2/svg/SVGPolyElementImpl.cpp:
3352 * ksvg2/svg/SVGPolygonElementImpl.cpp:
3353 * ksvg2/svg/SVGPolylineElementImpl.cpp:
3354 * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
3355 * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
3356 * ksvg2/svg/SVGRectElementImpl.cpp:
3357 * ksvg2/svg/SVGRectImpl.cpp:
3358 * ksvg2/svg/SVGSVGElementImpl.cpp:
3359 * ksvg2/svg/SVGScriptElementImpl.cpp:
3360 * ksvg2/svg/SVGSetElementImpl.cpp:
3361 * ksvg2/svg/SVGStopElementImpl.cpp:
3362 * ksvg2/svg/SVGStringListImpl.cpp:
3363 * ksvg2/svg/SVGStylableImpl.cpp:
3364 * ksvg2/svg/SVGStyleElementImpl.cpp:
3365 * ksvg2/svg/SVGStyledElementImpl.cpp:
3366 * ksvg2/svg/SVGSwitchElementImpl.cpp:
3367 * ksvg2/svg/SVGSymbolElementImpl.cpp:
3368 * ksvg2/svg/SVGTSpanElementImpl.cpp:
3369 * ksvg2/svg/SVGTestsImpl.cpp:
3370 * ksvg2/svg/SVGTextContentElementImpl.cpp:
3371 * ksvg2/svg/SVGTextElementImpl.cpp:
3372 * ksvg2/svg/SVGTextPositioningElementImpl.cpp:
3373 * ksvg2/svg/SVGTitleElementImpl.cpp:
3374 * ksvg2/svg/SVGTransformImpl.cpp:
3375 * ksvg2/svg/SVGTransformListImpl.cpp:
3376 * ksvg2/svg/SVGTransformableImpl.cpp:
3377 * ksvg2/svg/SVGURIReferenceImpl.cpp:
3378 * ksvg2/svg/SVGUseElementImpl.cpp:
3379 * ksvg2/svg/SVGViewElementImpl.cpp:
3380 * ksvg2/svg/SVGZoomAndPanImpl.cpp:
3381 * ksvg2/svg/svgpathparser.cpp:
3383 2005-10-03 Eric Seidel <eseidel@apple.com>
3387 Fixed AbstractView toString(), by giving it a prototype.
3388 <rdar://problem/4233558> toString on event.view Object fails with "No Default Value" in console
3390 * khtml/ecma/kjs_views.cpp:
3391 (KJS::DOMAbstractView::DOMAbstractView): sets prototype
3392 (KJS::DOMAbstractView::getOwnPropertySlot): now getStaticValue
3393 (KJS::DOMAbstractViewProtoFunc::callAsFunction): renamed
3394 * khtml/ecma/kjs_views.h:
3396 2005-10-03 David Hyatt <hyatt@apple.com>
3398 Fix regression caused by variable->auto change. Accidentally removed a line of code from calcWidthUsing.
3402 * khtml/rendering/render_box.cpp:
3403 (RenderBox::calcWidthUsing):
3405 2005-10-03 Justin Garcia <justin.garcia@apple.com>
3409 <rdar://problem/4060947> Safari crashes trying to save PDF file as web archive (NULL KHTMLPart)
3411 * kwq/WebCoreBridge.mm:
3412 (+[WebCoreBridge bridgeForDOMDocument:]):
3413 Added a check for a null part.
3415 2005-10-03 Justin Garcia <justin.garcia@apple.com>
3417 Reviewed by geoff, darin
3419 * khtml/khtml_part.cpp:
3420 (KHTMLPart::handleFallbackContent):
3421 Don't handle fallback content for <embed> tags.
3423 2005-10-03 Maciej Stachowiak <mjs@apple.com>
3425 - add missing config.h
3427 * khtml/config.h: Added.
3429 2005-10-03 Maciej Stachowiak <mjs@apple.com>