1 2006-04-18 Rob Buis <buis@kde.org>
3 Reviewed by eseidel & darin. Landed by eseidel.
5 No automated tests possible (from javascript).
7 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6664:
8 Inspector does not highlight SVG elements properly
10 Make sure RenderObject::absoluteBoundingBoxRect works for
11 svg specific render objects by overriding absoluteRects.
12 This fixes highlighting in the Inspector of svg shapes, paths,
15 * kcanvas/RenderPath.cpp:
16 (WebCore::RenderPath::absoluteRects):
17 * kcanvas/RenderPath.h:
18 * kcanvas/RenderSVGImage.cpp:
19 (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
20 (WebCore::RenderSVGImage::absoluteRects):
21 * kcanvas/RenderSVGImage.h:
22 * kcanvas/RenderSVGText.cpp:
23 (WebCore::RenderSVGText::absoluteRects):
24 * kcanvas/RenderSVGText.h:
26 2006-04-17 Rob Buis <buis@kde.org>
28 Reviewed by eseidel. Landed by eseidel.
30 Test: svg/custom/tref-update.svg
32 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6427:
33 <tref> element not implemented
35 Implementation of <tref> element.
37 * WebCore.xcodeproj/project.pbxproj:
38 * ksvg2/svg/SVGTRefElement.cpp: Added.
39 (SVGTRefElement::SVGTRefElement):
40 (SVGTRefElement::~SVGTRefElement):
41 (SVGTRefElement::parseMappedAttribute):
42 (SVGTRefElement::closeRenderer):
43 (SVGTRefElement::childShouldCreateRenderer):
44 (SVGTRefElement::createRenderer):
45 * ksvg2/svg/SVGTRefElement.h: Added.
46 (WebCore::SVGTRefElement::rendererIsNeeded):
47 * ksvg2/svg/SVGTSpanElement.cpp:
48 (SVGTSpanElement::childShouldCreateRenderer):
49 * ksvg2/svg/SVGTextElement.cpp:
50 (WebCore::SVGTextElement::childShouldCreateRenderer):
51 * ksvg2/svg/svgtags.in:
53 2006-04-18 Darin Adler <darin@apple.com>
55 * rendering/render_form.cpp: (WebCore::RenderSelect::updateFromElement):
56 Roll out accidentally-landed change for bug 8398.
58 2006-04-18 Beth Dakin <bdakin@apple.com>
62 Fix for a leak exposed by background-size and detected by the
65 * css/css_valueimpl.cpp:
66 (WebCore::CSSPrimitiveValue::cleanup): We must deref pairs.
68 2006-04-18 Beth Dakin <bdakin@apple.com>
72 Build fix for Windows. Just a few typos from background-size patch.
74 * platform/cairo/GraphicsContextCairo.cpp:
75 (WebCore::GraphicsContext::drawTiledImage):
76 * platform/cairo/ImageCairo.cpp:
77 (WebCore::Image::tileInRect):
79 2006-04-18 Beth Dakin <bdakin@apple.com>
83 Implementation of CSS3 background-size property. See
84 http://bugzilla.opendarwin.org/show_bug.cgi?id=8353 for details.
86 * Viewer/ImageView.cpp: Adjust parameters to drawTiledImage()
87 * css/CSSComputedStyleDeclaration.cpp: Add background-size
88 * css/CSSPropertyNames.in: Same.
89 * css/css_valueimpl.h: Add a constructor for Pair that takes the
90 two halves of the pair.
91 * css/cssparser.cpp: Parse background-size. Still need to take care
92 of parsing the shorthand.
93 * css/cssparser.h: Same.
94 * css/cssstyleselector.cpp: Address background-size.
95 * css/cssstyleselector.h: Same.
96 * platform/GraphicsContext.h: drawTiledImage() now takes the
97 tileSize so that it can appropriately scale.
98 * platform/Image.h: Same as above, but for tileInRect()
99 * platform/cairo/GraphicsContextCairo.cpp:
100 (WebCore::GraphicsContext::drawTiledImage):
101 * platform/cairo/ImageCairo.cpp:
102 (WebCore::Image::tileInRect): Take care of scaling image in
104 * platform/mac/GraphicsContextMac.mm:
105 (WebCore::GraphicsContext::drawTiledImage):
106 * platform/mac/ImageMac.mm:
107 (WebCore::Image::tileInRect): Take care of scaling image if
109 * rendering/RenderBox.cpp:
110 (WebCore::RenderBox::paintBackgroundExtended): Compute appropriate
111 scale if background-size is set. If no-repeat is set, just call
112 drawImage() directly.
113 * rendering/render_style.cpp: Add background-size to the style.
115 (WebCore::BackgroundLayer::BackgroundLayer):
116 (WebCore::BackgroundLayer::operator=):
117 (WebCore::BackgroundLayer::operator==):
118 (WebCore::BackgroundLayer::fillUnsetProperties):
119 (WebCore::BackgroundLayer::cullEmptyLayers):
120 * rendering/render_style.h: Same.
121 (WebCore::BackgroundLayer::backgroundSize):
122 (WebCore::BackgroundLayer::isBackgroundSizeSet):
123 (WebCore::BackgroundLayer::setBackgroundSize):
124 (WebCore::BackgroundLayer::clearBackgroundSize):
125 (WebCore::RenderStyle::backgroundSize):
126 (WebCore::RenderStyle::initialBackgroundSize):
128 2006-04-17 Justin Garcia <justin.garcia@apple.com>
132 * editing/CompositeEditCommand.cpp:
133 (WebCore::CompositeEditCommand::moveParagraph): The placeholder that's inserted
134 to keep content from collapsing due to pruning was inserted at the position after
135 the moved paragraph. That's only appropriate when moving the paragraph backward
136 into the previous paragraph.
138 * editing/ReplaceSelectionCommand.cpp:
139 (WebCore::ReplaceSelectionCommand::doApply): The last paragraph of the incoming
140 fragment should be merged with the paragraph after the end of the selection being pasted
141 into even if the incoming fragment has only one block. This fixes a bug and gets
142 rid of a use of the info gathered during the test insertion.
144 2006-04-17 Adele Peterson <adele@apple.com>
148 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8407
149 REGRESSION (NativeTextField): Leading and trailing spaces trimmed from text field value attribute
151 Test: fast/forms/input-spaces.html
153 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle):
154 Use white-space:pre for the inner div to avoid collapsing spaces in the text field.
156 2006-04-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
160 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8437
161 iExploder(#293): Crash in StringImpl::hash()
163 * manual-tests/applet-param-no-name.html: Added.
164 * rendering/RenderApplet.cpp:
165 (WebCore::RenderApplet::createWidgetIfNecessary): Skip param elements with
168 2006-04-18 Darin Adler <darin@apple.com>
170 - try to fix the Windows build
172 * platform/cairo/GraphicsContextCairo.cpp: (WebCore::setColor):
173 Update for changes to getRGBA.
175 2006-04-17 Alexey Proskuryakov <ap@nypop.com>
179 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8440
180 iExploder(#3327): Crash in StringImpl::initWithQChar()
182 Test: fast/parser/number-sign-in-map-name.html
184 * html/html_imageimpl.cpp:
185 (WebCore::HTMLMapElement::parseMappedAttribute): Fixed handling of names starting with a '#'.
187 2006-04-17 Adele Peterson <adele@apple.com>
191 Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=8269
192 REGRESSION: disabled text field does not display greyed-out text
194 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle):
195 For disabled text fields, lighten or darken text color based on background color.
196 Tries to get as close as possible to logic in AppKit for old text fields.
197 * platform/Color.h: Removed hsv and setHsv since they were just used within Color.cpp.
198 * platform/Color.cpp:
199 (WebCore::parseHexColor): Cleanup.
200 (WebCore::differenceSquared): Added. Returns the difference squared of two colors.
201 (WebCore::convertRGBToHSV): Added static function. Replaces hsv and setHSV, and fixes bug in old implementation of the algorithm.
202 (WebCore::convertHSVToRGB): ditto.
203 (WebCore::Color::light): No longer takes in a factor, since all callers use the same factor. Uses new conversion functions.
204 (WebCore::Color::dark): ditto.
205 * rendering/InlineTextBox.cpp: Removed simpleDifferenceBetweenColors.
206 (WebCore::correctedTextColor): Uses differenceSquared instead of simpleDifferenceBetweenColors.
208 2006-04-17 David Hyatt <hyatt@apple.com>
210 Fix for bug 8270, text highlights outside of textfield when it shouldn't.
214 Added fast/forms/input-double-click-selection-gap-bug.html
216 * rendering/RenderBlock.cpp:
217 (WebCore::RenderBlock::fillInlineSelectionGaps):
219 2006-04-17 David Hyatt <hyatt@apple.com>
221 Fix for bug 8848, caret off by 1 pixel on numerous pixel tests.
225 * rendering/InlineTextBox.cpp:
226 (WebCore::InlineTextBox::positionForOffset):
227 * rendering/RenderText.cpp:
228 (WebCore::RenderText::caretRect):
230 2006-04-17 Timothy Hatcher <timothy@apple.com>
234 <rdar://problem/4506601> TOT WebCore fails to build ppc64
236 Switch many CG calls to use CGFloat for colors and gradients
238 * bindings/objc/DOMCSS.mm:
239 (-[DOMRGBColor dealloc]): cast _internal to uintptr_t
240 (-[DOMRGBColor finalize]): cast _internal to uintptr_t
241 (-[DOMRGBColor red]): cast _internal to uintptr_t
242 (-[DOMRGBColor green]): cast _internal to uintptr_t
243 (-[DOMRGBColor blue]): cast _internal to uintptr_t
244 (-[DOMRGBColor alpha]): cast _internal to uintptr_t
245 (-[DOMRGBColor _color]): cast _internal to uintptr_t
246 * bridge/mac/FrameMac.mm:
247 (WebCore::regExpForLabels): use CFIndex as the type returned from indexOfObject:
248 * bridge/mac/WebCoreFrameBridge.mm:
249 (-[WebCoreFrameBridge baseWritingDirectionForSelectionStart]): workaround for <rdar://problem/4509035>
250 * config.h: define CGFloat if it isn't defined already
251 * html/CanvasGradient.cpp:
252 (WebCore::CanvasGradient::addColorStop):
253 (WebCore::gradientCallback):
254 (WebCore::CanvasGradient::platformShading):
255 * html/CanvasRenderingContext2D.cpp:
256 (WebCore::CanvasRenderingContext2D::setShadow):
257 (WebCore::CanvasRenderingContext2D::applyShadow):
258 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
259 (WebCore::CanvasRenderingContext2D::applyFillPattern):
260 * html/CanvasStyle.cpp:
261 (WebCore::CanvasStyle::applyStrokeColor):
262 (WebCore::CanvasStyle::applyFillColor):
263 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
264 (WebCore::alphaImageForImage):
265 (WebCore::KCanvasFEColorMatrixQuartz::getCIFilter):
266 * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
267 (WebCore::applyLuminanceToAlphaFilter):
268 (WebCore::applyExpandAlphatoGrayscaleFilter):
269 (WebCore::transformImageIntoGrayscaleMask):
270 * kcanvas/device/quartz/KCanvasPathQuartz.mm:
271 (WebCore::scratchContext):
272 * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
273 (WebCore::cgGradientCallback):
274 (WebCore::CGShadingRefForLinearGradient):
275 (WebCore::CGShadingRefForRadialGradient):
276 (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientStopsCache):
277 * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
279 * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
280 (WebCore::KRenderingPaintServerPatternQuartz::setup):
281 * kcanvas/device/quartz/QuartzSupport.mm:
282 (WebCore::applyStrokeStyleToContext):
283 * kwq/WebCoreAXObject.mm:
284 (CreateCGColorIfDifferent):
285 * platform/Color.cpp:
286 (WebCore::Color::getRGBA): new name, was getRgbaF. getRGBA uses float and has a double overload
288 * platform/mac/ClipboardMac.h: no need to define NSDragOperation
289 * platform/mac/ColorMac.mm:
290 (+[WebCoreControlTintObserver WebCore]):
291 * platform/mac/GraphicsContextMac.mm:
292 (WebCore::GraphicsContext::drawLine):
293 * platform/mac/ImageMac.mm:
294 (WebCore::Image::checkForSolidColor):
295 (WebCore::Image::tileInRect):
296 (WebCore::Image::scaleAndTileInRect):
297 * platform/mac/TextEncodingMac.cpp:
298 (WebCore::TextEncoding::fromUnicode):
300 2006-04-17 Justin Garcia <justin.garcia@apple.com>
304 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8402>
305 Fix interchange newline handling and avoid use of test rendering info
307 * editing/ReplaceSelectionCommand.cpp:
308 (WebCore::ReplaceSelectionCommand::doApply):
309 Fixed bugs in handling of interchange newlines at the end of incoming
310 fragments. Removed the use of !fragment.isBlockFlow since it isn't
311 correct and relies on information gathered during the test insertion, which
312 we're trying to get rid of.
313 * editing/VisiblePosition.h:
314 (WebCore::VisiblePosition::rootEditableElement): Added for convenience.
316 2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
320 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8408
321 Paint the highlight behind selected list markers
323 Test: fast/lists/markers-in-selection.html
325 * rendering/RenderObject.h: Added selectionColorImageOverlayAlpha constant -
326 the maximum opacity of the selection color when painted over images.
327 * rendering/render_list.cpp:
328 (WebCore::RenderListMarker::RenderListMarker):
329 (WebCore::RenderListMarker::paint): Paint the selection highlight
330 if selected: over the marker for image markers, under the marker for all other
332 (WebCore::RenderListMarker::setSelectionState): Added.
333 (WebCore::RenderListMarker::selectionRect): Added.
334 (WebCore::RenderListMarker::selectionColor): Added. Ensures that the selection
335 color is transparent for image markers.
336 * rendering/render_list.h:
337 (WebCore::RenderListMarker::selectionState):
338 (WebCore::RenderListMarker::canBeSelectionLeaf):
339 * rendering/render_replaced.cpp
340 (WebCore::RenderReplaced::selectionColor): Changed to use the selectionColorImageOverlayAlpha
343 2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
347 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8420
348 iExploder(#12): Assertion failure in RenderContainer::removeChildNode
350 Test: fast/forms/button-inner-block-reuse.html
352 Buttons have a distinguished anonymous child that holds all their other
353 descendants. Descendants ended up in a sibling anonymous block as the
354 initial anonymous child was being reused to hold the initial part of an
355 inline that got split.
357 * rendering/RenderInline.cpp:
358 (WebCore::RenderInline::splitFlow): Check if the anonymous block's parent
359 allows us to reuse it.
360 * rendering/RenderObject.h:
361 (WebCore::RenderObject::allowsReusingAnonymousChild): Added. Returns true.
362 * rendering/render_button.h:
363 (WebCore::RenderButton::allowsReusingAnonymousChild): Added. Returns false.
365 2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
369 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8394
370 Editable region does not accept dropped text if there is no selection
372 Test: editing/pasteboard/drop-text-without-selection.html
374 * bridge/mac/WebCoreFrameBridge.mm:
375 (-[WebCoreFrameBridge documentFragmentWithText:]): Changed to allow
376 creating a fragment regardless of the selection.
378 2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
382 - WebCore part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8324
383 REGRESSION: textarea :focus not applied immediately
385 * bridge/mac/WebCoreFrameBridge.h:
386 * kwq/KWQComboBox.mm:
387 (-[KWQPopUpButton becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder:.
388 (-[KWQPopUpButton resignFirstResponder]): Cleaned up.
389 * kwq/KWQListBox.mm: Ditto.
390 (-[KWQTableView becomeFirstResponder]):
391 (-[KWQTableView resignFirstResponder]):
393 (-[KWQSlider becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder: and
395 (-[KWQSlider resignFirstResponder]): Cleaned up.
396 * platform/mac/WebCoreTextArea.mm:
397 (-[WebCoreTextView becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder:.
398 (-[WebCoreTextView resignFirstResponder]): Cleaned up.
399 * platform/mac/WebCoreTextField.mm:
400 (-[KWQTextFieldController setHasFocus:]): Added call to formControlIsBecomingFirstResponder:.
401 * manual-tests/textarea-focus.html: Added.
403 2006-04-16 Darin Adler <darin@apple.com>
405 Reviewed by Adele and Justin.
407 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8298
408 REGRESSION: Crash occurs when attempting to drag selection into
409 Depart/Return input fields at http://www.travelocity.com/
410 - remove the mutation event listener that's installed all the time,
411 since it slows things down a bit
413 Calling SelectionController::nodeWillBeRemoved from Document::notifyBeforeNodeRemoval
414 fixes the crash, which was happening because the call that was removing the text
415 node, removeChildren, does not send a "node removed" mutation event (it sends a
416 "subtree modified" mutation event instead). So this change alone fixes the crash.
418 But I also changed setInnerText to not blow away the text node each time the value
419 is changed, and that makes the test case behave even better -- you don't even lose
420 the selection; it works as it did with the NSTextField-based text field.
422 * manual-tests/input-empty-on-focus.html: Added.
424 * page/Frame.h: Tweaked a few comments and functions related to selection.
425 * page/Frame.cpp: (WebCore::Frame::dragCaret): Made non-const.
427 * dom/Document.cpp: (WebCore::Document::notifyBeforeNodeRemoval):
428 Call nodeWillBeRemoved on the two selection controllers before removing
429 a node from the document.
431 * editing/SelectionController.h: Tweak formatting. Remove MutationListener
432 class and m_mutationListener field.
433 * editing/SelectionController.cpp:
434 (WebCore::SelectionController::SelectionController): Remove code to set up
435 the mutation event listener.
436 (WebCore::SelectionController::setSelection): Remove code to maintain the
437 mutation event listener.
439 * html/HTMLElement.cpp:
440 (WebCore::HTMLElement::setInnerHTML): In cases where the container has only a
441 single child use replaceChild, and in cases where the HTML being inserted
442 also has only a single child and both are text nodes use setData. It's common
443 to use setInnerHTML to set something that's just text.
444 (WebCore::HTMLElement::setInnerText): Same as above, but simpler since the
445 thing we're replacing with is always text.
447 2006-04-16 Kevin Ollivier <kevino@theolliviers.com>
451 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8417
452 make-css-file-arrays.pl hangs when run on Linux
454 * css/make-css-file-arrays.pl: Remove the "-" parameter from the invocation of cpp,
455 which means "send output to stdout". It's optional on Mac OS X, and is causing a
457 * rendering/RenderArena.cpp: Added a missing include of <assert.h>.
459 2006-04-15 Darin Adler <darin@apple.com>
461 - removed references to a couple files that are obsolete
462 but were still in the Windows project file
464 * WebCore.vcproj/WebCore/WebCore.vcproj: Remove kjs_views.h and .cpp.
466 2006-04-15 Mitz Pettel <opendarwin.org@mitzpettel.com>
470 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8405
471 REGRESSION: Web Inspector's Style pane is blank
473 * bindings/js/kjs_window.cpp:
474 (KJS::Window::isSafeScript): Use isEmpty() instead of isNull() for checking
475 the domain to determine if the document in a local file.
477 2006-04-14 David Hyatt <hyatt@apple.com>
479 CSS vendor-specific property/value cleanup. Properly qualify background-clip,
480 background-origin, border-image and the border-radius properties. Make sure
481 our overflow extensions of marquee and overlay are qualified as well. Rename
482 the -khtml- extension to -webkit.
486 * bindings/js/kjs_css.cpp:
487 (KJS::cssPropertyName):
488 * bindings/objc/DOMCSS.mm:
489 (-[DOMCSSStyleDeclaration _fontSizeDelta]):
490 (-[DOMCSSStyleDeclaration _setFontSizeDelta:]):
491 * bindings/objc/DOMHTML.mm:
492 (-[DOMHTMLInputElement _setAutofilled:]):
493 * bridge/mac/FrameMac.h:
494 * bridge/mac/FrameMac.mm:
495 * css/CSSComputedStyleDeclaration.cpp:
497 (WebCore::valueForTextAlign):
498 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
500 * css/CSSPropertyNames.in:
501 * css/CSSValueKeywords.in:
503 (WebCore::CSSSelector::extractPseudoType):
504 * css/css_valueimpl.cpp:
506 * css/css_valueimpl.h:
508 (WebCore::CSSParser::parseRule):
509 (WebCore::CSSParser::parseValue):
510 (WebCore::CSSParser::parseColor):
511 (WebCore::CSSParser::parseDeclaration):
512 (WebCore::CSSParser::parseBackgroundShorthand):
513 (WebCore::CSSParser::parseBackgroundColor):
514 (WebCore::CSSParser::parseBackgroundProperty):
515 (WebCore::CSSParser::parseFontFamily):
516 (WebCore::CSSParser::parseShadow):
517 * css/cssstyleselector.cpp:
518 (WebCore::CSSStyleSelector::applyDeclarations):
519 (WebCore::CSSStyleSelector::applyProperty):
520 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
521 * css/cssstyleselector.h:
524 * css/tokenizer.flex:
525 * editing/ApplyStyleCommand.cpp:
526 (WebCore::StyleChange::init):
527 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
528 (WebCore::ApplyStyleCommand::removeInlineStyle):
529 * editing/CompositeEditCommand.cpp:
530 (WebCore::blockPlaceholderClassString):
531 * editing/JSEditor.cpp:
532 * editing/ReplaceSelectionCommand.cpp:
533 (WebCore::ReplaceSelectionCommand::fixupNodeStyles):
534 (WebCore::styleForNode):
535 * editing/htmlediting.cpp:
536 (WebCore::rebalanceWhitespaceInTextNode):
537 * html/HTMLElement.cpp:
538 (WebCore::HTMLElement::addHTMLAlignment):
539 (WebCore::HTMLElement::setContentEditable):
540 * html/html_blockimpl.cpp:
541 (WebCore::HTMLDivElement::parseMappedAttribute):
542 (WebCore::HTMLParagraphElement::parseMappedAttribute):
543 (WebCore::HTMLMarqueeElement::parseMappedAttribute):
544 * html/html_inlineimpl.cpp:
545 (WebCore::HTMLFontElement::parseMappedAttribute):
546 * html/html_tableimpl.cpp:
547 (WebCore::HTMLTablePartElement::parseMappedAttribute):
548 (WebCore::HTMLTableCellElement::parseMappedAttribute):
550 (WebCore::Frame::canMouseDownStartSelect):
552 * rendering/RenderObject.cpp:
553 (WebCore::RenderObject::draggableNode):
555 2006-04-14 Eric Seidel <eseidel@apple.com>
561 * WebCore.vcproj/WebCore/WebCore.vcproj:
562 * page/FramePrivate.h:
564 2006-04-04 Eric Seidel <eseidel@apple.com>
568 Fix build-warnings in cairo code.
569 http://bugzilla.opendarwin.org/show_bug.cgi?id=8176
571 * platform/cairo/cairo/src/cairo-win32-surface.c:
572 (_cairo_win32_print_gdi_error):
573 (_cairo_win32_surface_create_for_dc):
574 (_composite_alpha_blend):
575 (cairo_win32_surface_create):
576 * platform/cairo/pixman/src/iccolor.c:
577 (pixman_pixel_to_color):
579 2006-04-14 David Hyatt <hyatt@apple.com>
581 Fix for 8333, make sure newlines in whitespace:pre (and friends) get
582 line boxes created for them. This resolves all the weird selection/navigation
583 issues that arise by not creating lines (and thus not having navigable positions
586 This checkin is also removing all of the layout test hacks that have piled
587 up, so layout test results are being regenerated completely.
592 (WebCore::Position::downstream):
593 * editing/CompositeEditCommand.cpp:
594 (WebCore::CompositeEditCommand::moveParagraph):
595 * editing/DeleteSelectionCommand.cpp:
596 (WebCore::DeleteSelectionCommand::doApply):
597 * editing/visible_units.cpp:
598 (WebCore::startOfParagraph):
599 (WebCore::endOfParagraph):
600 * kwq/RenderTreeAsText.cpp:
603 * rendering/InlineTextBox.cpp:
604 (WebCore::InlineTextBox::selectionState):
605 (WebCore::InlineTextBox::isLineBreak):
606 (WebCore::InlineTextBox::nodeAtPoint):
607 (WebCore::InlineTextBox::paint):
608 (WebCore::InlineTextBox::offsetForPosition):
609 (WebCore::InlineTextBox::positionForOffset):
610 * rendering/InlineTextBox.h:
611 * rendering/RenderBR.cpp:
612 * rendering/RenderBR.h:
613 * rendering/RenderText.cpp:
614 (WebCore::RenderText::atLineWrap):
615 (WebCore::RenderText::caretRect):
616 (WebCore::RenderText::height):
617 (WebCore::RenderText::inlineBox):
618 * rendering/bidi.cpp:
619 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
620 (WebCore::RenderBlock::layoutInlineChildren):
621 (WebCore::RenderBlock::findNextLineBreak):
622 * rendering/render_line.h:
623 (WebCore::InlineBox::isLineBreak):
625 2006-04-13 Darin Adler <darin@apple.com>
629 - moved a few things out of kwq and cleaned up the
630 Java-applet-related renderers
632 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file location
634 * WebCore.xcodeproj/project.pbxproj: Ditto.
636 * kwq/JavaAppletWidget.h: Moved.
637 * kwq/JavaAppletWidget.mm: Moved.
638 * kwq/RegularExpression.cpp: Moved.
639 * kwq/RegularExpression.h: Moved.
640 * kwq/RenderTreeAsText.cpp: Moved.
641 * kwq/RenderTreeAsText.h: Moved.
642 * rendering/render_applet.cpp: Moved.
643 * rendering/render_applet.h: Moved.
645 * bridge/JavaAppletWidget.h: Moved here.
646 * bridge/mac/JavaAppletWidget.mm: Moved here.
647 * platform/RegularExpression.cpp: Moved here.
648 * platform/RegularExpression.h: Moved here.
649 * rendering/RenderTreeAsText.cpp: Moved here.
650 * rendering/RenderTreeAsText.h: Moved here.
652 * rendering/RenderApplet.h: Moved here and made changes.
653 Removed unused element() function.
654 * rendering/RenderApplet.cpp: Moved here and made changes.
655 (WebCore::RenderApplet::RenderApplet): Changed parameter type to
656 be more precise (HTMLAppletElement).
657 (WebCore::RenderApplet::intrinsicWidth): Removed unnecessary type
659 (WebCore::RenderApplet::intrinsicHeight): Ditto.
660 (WebCore::RenderApplet::createWidgetIfNecessary): Straightened out
661 the if statements and changed to use node() instead of element().
662 (WebCore::RenderApplet::layout): Removed unneeded check before
663 calling createWidgetIfNecessary.
665 * rendering/RenderEmptyApplet.h: Moved here and made changes.
666 Removed unneeded overrides of intrinsicWidth and intrinsicHeight.
667 * rendering/RenderEmptyApplet.cpp: Moved here and made changes.
668 (WebCore::RenderEmptyApplet::RenderEmptyApplet): Added code to
669 set the intrinsic width and height.
671 * rendering/render_replaced.cpp:
672 (WebCore::RenderWidget::RenderWidget): Initialize m_widget
673 with contructor syntax.
674 (WebCore::RenderWidget::paint): Changed _tx and _ty to be just
675 tx and ty. Rearranged the code so the transparent wash will draw
676 even if m_widget is 0.
678 * html/html_objectimpl.cpp: Update includes for new file names.
680 2006-04-12 Geoffrey Garen <ggaren@apple.com>
684 - Fixed <rdar://problem/4478467> document.defaultView should return
687 Also made part of the window object autogenerated by IDL file.
689 * DerivedSources.make: Added /page to IDL file search path, added
690 JSDOMWindow.h, removed kjs_views.lut.h
691 * WebCore.xcodeproj/project.pbxproj: Added missing files, removed
693 * bindings/js/kjs_dom.cpp:
694 * bindings/js/kjs_events.cpp:
695 * bindings/js/kjs_proxy.cpp:
696 (WebCore::KJSProxy::initScriptIfNeeded):
697 * bindings/js/kjs_views.cpp: Removed.
698 * bindings/js/kjs_views.h: Removed.
699 * bindings/js/kjs_window.cpp: Removed document property -- it now
700 belongs to JSDOMWindow. Added toJS and toDOMWindow.
701 (KJS::Window::Window):
703 (KJS::Window::getValueProperty):
704 (KJS::Window::clear): Added call to setPrototype to ensure
705 that the prototype gets cleared during navigation. (Previously
706 this wasn't an issue because the window object had no real prototype.)
708 (WebCore::toDOMWindow):
709 * bindings/js/kjs_window.h:
711 * bindings/objc/DOMCSS.mm: Added NULL checks for the AbstractView
712 (Presumably this is an issue after the window is closed.) Typedef-ed
713 AbstractView as DOMWindow. I could have just replaced AbstractView
714 with DOMWindow, but I think it's clearer to say, "There's this thing
715 called the AbstractView, but really it's just the window."
716 (-[DOMDocument getComputedStyle::]):
717 (-[DOMDocument getMatchedCSSRules::]):
718 * bindings/objc/DOMViews.mm:
719 * bindings/objc/DOMViewsInternal.h:
720 * bindings/scripts/CodeGeneratorJS.pm: Removed unused
721 GetLegacyImplementationIncludes. Added support for DOMWindow and new
722 "DoNotCache" attribute. Replaced C macros with text because (1) it
723 makes the generated source easier to read and debug and (2) it made
724 it much easier to implement the DoNotCache attribute.
725 * bindings/scripts/IDLParser.pm: Return a hash reference instead of
726 a hash, because otherwise an interface with more than one attribute
727 returns too many arguments to be processed.
728 * bridge/mac/FrameMac.mm:
729 * dom/AbstractView.cpp: Removed.
730 * dom/AbstractView.h: Removed.
732 (WebCore::Document::Document):
733 (WebCore::Document::defaultView):
736 * dom/KeyboardEvent.idl:
737 * dom/MouseEvent.idl:
740 * dom/dom2_eventsimpl.h:
741 * page/DOMWindow.cpp: Added.
742 (WebCore::DOMWindow::DOMWindow):
743 (WebCore::DOMWindow::frame):
744 (WebCore::DOMWindow::disconnectFrame):
745 (WebCore::DOMWindow::document):
746 (WebCore::DOMWindow::getComputedStyle):
747 (WebCore::DOMWindow::getMatchedCSSRules):
748 * page/DOMWindow.h: Added.
749 * page/DOMWindow.idl: Added.
751 (WebCore::Frame::~Frame): Disconnect the new DOMWindow object in
752 addition to the Window object. Maybe we can unify this in the future.
753 (WebCore::Frame::tree):
754 (WebCore::Frame::domWindow):
756 * page/FramePrivate.h:
758 2006-04-13 Alexey Proskuryakov <ap@nypop.com>
762 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7602
763 Only use fixupChar for entities
765 * html/HTMLTokenizer.cpp: Only use fixUpChar() when handling entities.
766 (WebCore::HTMLTokenizer::parseSpecial):
767 (WebCore::HTMLTokenizer::parseText):
768 (WebCore::HTMLTokenizer::parseTag):
769 (WebCore::HTMLTokenizer::write):
770 * platform/StreamingTextDecoder.cpp:
771 (WebCore::StreamingTextDecoder::convert): Remove the special case for Latin-1, because it is already handled
772 via effectiveEncoding().
773 * platform/StreamingTextDecoder.h: Remove convertLatin1().
775 2006-04-13 Darin Adler <darin@apple.com>
777 * platform/mac/GraphicsContextMac.mm: Fix one no-SVG compile problem by adding
778 a "using namespace std".
780 2006-04-12 Darin Adler <darin@apple.com>
782 Rubber-stamped by Anders.
786 * WebCore.vcproj/Image\ Viewer/Image\ Viewer.vcproj: Add loader directory.
788 - use std::min/max exclusively intead of kMin/Max
789 - eliminate KWQDef.h since all it had left in it was kMin/Max
791 * WebCore.vcproj/WebCore/WebCore.vcproj: Remove KWQDef.h.
792 * WebCore.xcodeproj/project.pbxproj: Ditto.
794 * kwq/KWQDef.h: Removed.
796 * bridge/mac/FrameMac.mm:
797 (WebCore::FrameMac::attributedString):
798 * bridge/mac/WebCoreFrameBridge.mm:
799 (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
800 * css/cssstyleselector.cpp:
801 (WebCore::CSSStyleSelector::applyProperty):
802 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
803 (WebCore::CSSStyleSelector::fontSizeForKeyword):
805 (WebCore::Document::minimumLayoutDelay):
806 (WebCore::Document::addMarker):
807 * dom/StyledElement.cpp:
808 (WebCore::StyledElement::addCSSColor):
809 * dom/xml_tokenizer.cpp:
810 (WebCore::OffsetBuffer::readOutBytes):
811 * editing/ApplyStyleCommand.cpp:
812 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
813 * editing/CompositeEditCommand.cpp:
814 (WebCore::CompositeEditCommand::deleteInsignificantText):
815 * editing/TextIterator.cpp:
816 (WebCore::TextIterator::handleTextNode):
817 (WebCore::TextIterator::handleTextBox):
818 (WebCore::CharacterIterator::string):
819 (WebCore::findPlainText):
820 * editing/htmlediting.cpp:
821 (WebCore::rangeCompliantEquivalent):
822 * editing/markup.cpp:
823 (WebCore::renderedText):
824 * editing/visible_units.cpp:
825 (WebCore::startOfParagraph):
826 * html/HTMLSelectElement.cpp:
827 (WebCore::HTMLSelectElement::parseMappedAttribute):
828 * html/HTMLTokenizer.cpp:
829 (WebCore::HTMLTokenizer::parseComment):
830 (WebCore::HTMLTokenizer::parseEntity):
831 (WebCore::HTMLTokenizer::parseTag):
832 (WebCore::HTMLTokenizer::enlargeBuffer):
833 (WebCore::HTMLTokenizer::enlargeScriptBuffer):
834 * html/html_imageimpl.cpp:
835 (WebCore::HTMLAreaElement::getRegion):
836 * html/html_tableimpl.cpp:
837 (WebCore::HTMLTableElement::parseMappedAttribute):
838 * ksvg2/css/SVGCSSParser.cpp:
839 (WebCore::CSSParser::parseSVGPaint):
840 (WebCore::CSSParser::parseSVGColor):
841 * kwq/KWQComboBox.mm:
842 (QComboBox::sizeHint):
844 (QListBox::sizeForNumberOfLines):
848 (WebCore::Cache::setSize):
850 (WebCore::Frame::forceLayoutWithPageWidthRange):
851 * platform/DeprecatedPtrListImpl.h:
852 * platform/DeprecatedString.cpp:
854 * platform/DeprecatedString.h:
855 * platform/DeprecatedValueListImpl.h:
856 * platform/mac/GraphicsContextMac.mm:
857 (WebCore::GraphicsContext::addRoundedRectClip):
858 * platform/mac/WebCoreTextArea.mm:
859 (-[WebCoreTextView _trackResizeFromMouseDown:]):
860 * rendering/InlineTextBox.cpp:
861 (WebCore::InlineTextBox::isSelected):
862 (WebCore::InlineTextBox::selectionRect):
863 (WebCore::InlineTextBox::placeEllipsisBox):
864 (WebCore::InlineTextBox::selectionStartEnd):
865 (WebCore::InlineTextBox::paintMarkedTextBackground):
866 (WebCore::InlineTextBox::paintSpellingMarker):
867 (WebCore::InlineTextBox::paintTextMatchMarker):
868 (WebCore::InlineTextBox::paintMarkedTextUnderline):
869 * rendering/RenderBlock.cpp:
870 (WebCore::RenderBlock::overflowRect):
871 (WebCore::RenderBlock::layoutBlock):
872 (WebCore::RenderBlock::collapseMargins):
873 (WebCore::RenderBlock::clearFloatsIfNeeded):
874 (WebCore::RenderBlock::estimateVerticalPosition):
875 (WebCore::RenderBlock::determineHorizontalPosition):
876 (WebCore::RenderBlock::setCollapsedBottomMargin):
877 (WebCore::RenderBlock::handleBottomOfBlock):
878 (WebCore::RenderBlock::layoutBlockChildren):
879 (WebCore::RenderBlock::fillVerticalSelectionGap):
880 (WebCore::RenderBlock::fillLeftSelectionGap):
881 (WebCore::RenderBlock::fillRightSelectionGap):
882 (WebCore::RenderBlock::positionNewFloats):
883 (WebCore::RenderBlock::nearestFloatBottom):
884 (WebCore::RenderBlock::lowestPosition):
885 (WebCore::RenderBlock::rightmostPosition):
886 (WebCore::RenderBlock::leftmostPosition):
887 (WebCore::RenderBlock::getClearDelta):
888 (WebCore::RenderBlock::calcMinMaxWidth):
889 (WebCore::RenderBlock::calcInlineMinMaxWidth):
890 (WebCore::RenderBlock::calcBlocminMaxWidth):
891 * rendering/RenderBlock.h:
892 * rendering/RenderBox.cpp:
893 (WebCore::RenderBox::calcBorderBoxWidth):
894 (WebCore::RenderBox::calcBorderBoxHeight):
895 (WebCore::RenderBox::calcContentBoxWidth):
896 (WebCore::RenderBox::calcContentBoxHeight):
897 (WebCore::RenderBox::paintRootBoxDecorations):
898 (WebCore::RenderBox::paintBoxDecorations):
899 (WebCore::RenderBox::calcWidth):
900 (WebCore::RenderBox::calcWidthUsing):
901 (WebCore::RenderBox::calcHeight):
902 (WebCore::RenderBox::calcPercentageHeight):
903 (WebCore::RenderBox::calcReplacedWidth):
904 (WebCore::RenderBox::calcReplacedHeight):
905 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
906 (WebCore::RenderBox::calcAbsoluteVerticalValues):
907 * rendering/RenderCanvas.cpp:
908 (WebCore::RenderCanvas::layout):
909 * rendering/RenderFlexibleBox.cpp:
910 (WebCore::RenderFlexibleBox::calcMinMaxWidth):
911 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
912 (WebCore::RenderFlexibleBox::layoutVerticalBox):
913 (WebCore::RenderFlexibleBox::allowedChildFlex):
914 * rendering/RenderFlow.cpp:
915 (WebCore::RenderFlow::paintLines):
916 (WebCore::RenderFlow::lowestPosition):
917 (WebCore::RenderFlow::rightmostPosition):
918 (WebCore::RenderFlow::leftmostPosition):
919 (WebCore::RenderFlow::paintOutlineForLine):
920 * rendering/RenderImage.cpp:
921 (WebCore::RenderImage::imageChanged):
922 (WebCore::RenderImage::calcReplacedWidth):
923 (WebCore::RenderImage::calcReplacedHeight):
924 * rendering/RenderLayer.cpp:
925 (WebCore::RenderLayer::scrollRectToVisible):
926 (WebCore::RenderLayer::computeScrollDimensions):
927 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
928 (WebCore::RenderLayer::absoluteBoundingBox):
929 (WebCore::Marquee::marqueeSpeed):
930 (WebCore::Marquee::computePosition):
931 (WebCore::Marquee::timerFired):
932 * rendering/RenderObject.cpp:
933 (WebCore::RenderObject::drawBorder):
934 (WebCore::RenderObject::paintBorderImage):
935 (WebCore::RenderObject::paintBorder):
936 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
937 * rendering/RenderTable.cpp:
938 (WebCore::RenderTable::calcWidth):
939 (WebCore::RenderTable::layout):
940 (WebCore::RenderTable::paintBoxDecorations):
941 * rendering/RenderTableCell.cpp:
942 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
943 * rendering/RenderTableSection.cpp:
944 (WebCore::RenderTableSection::layoutRows):
945 (WebCore::RenderTableSection::lowestPosition):
946 (WebCore::RenderTableSection::rightmostPosition):
947 (WebCore::RenderTableSection::leftmostPosition):
948 * rendering/RenderText.cpp:
949 (WebCore::RenderText::caretRect):
950 (WebCore::RenderText::calcMinMaxWidth):
951 (WebCore::RenderText::minXPos):
952 (WebCore::RenderText::width):
953 (WebCore::RenderText::caretMinOffset):
954 (WebCore::RenderText::caretMaxOffset):
955 * rendering/bidi.cpp:
956 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
957 (WebCore::RenderBlock::layoutInlineChildren):
958 (WebCore::RenderBlock::checkLinesForOverflow):
959 * rendering/render_form.cpp:
960 (WebCore::RenderLineEdit::setSelectionStart):
961 (WebCore::RenderLineEdit::setSelectionEnd):
962 (WebCore::RenderLineEdit::setSelectionRange):
963 (WebCore::RenderFieldset::layoutLegend):
964 (WebCore::RenderFieldset::paintBoxDecorations):
965 (WebCore::RenderSelect::layout):
966 (WebCore::RenderTextArea::calcMinMaxWidth):
967 (WebCore::RenderSlider::updateFromElement):
968 * rendering/render_frames.cpp:
969 (WebCore::RenderFrameSet::layout):
970 * rendering/render_line.cpp:
971 (WebCore::InlineFlowBox::placeBoxesHorizontally):
972 (WebCore::InlineFlowBox::verticallyAlignBoxes):
973 (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
974 (WebCore::InlineFlowBox::placeBoxesVertically):
975 (WebCore::InlineFlowBox::paintBackgroundAndBorder):
976 * rendering/render_line.h:
977 (WebCore::RootInlineBox::selectionHeight):
978 * rendering/render_list.cpp:
979 (WebCore::RenderListItem::positionListMarker):
980 * rendering/render_replaced.cpp:
981 (WebCore::RenderReplaced::shouldPaint):
982 * rendering/table_layout.cpp:
983 (WebCore::FixedTableLayout::calcMinMaxWidth):
984 (WebCore::AutoTableLayout::recalcColumn):
985 (WebCore::AutoTableLayout::calcMinMaxWidth):
986 (WebCore::AutoTableLayout::calcEffectiveWidth):
987 (WebCore::AutoTableLayout::layout):
988 Use min/max instead of kMin/kMax.
990 2006-04-12 Darin Adler <darin@apple.com>
992 Rubber-stamped by Anders.
994 - get ready for some more de-KWQ-ing done by the renaming script in two ways
995 1) stop using forwarding headers for things within WebCore
996 2) remove a bit of unused stuff
998 * loader/CachedImage.h:
999 * loader/CachedImage.cpp:
1000 * loader/DocLoader.cpp:
1001 * loader/DocLoader.h:
1003 * xml/XSLTProcessor.cpp:
1004 Removed unused showAnimations functions and data. We can add back later if we need it.
1005 And if we do, we won't use a typedef from KHTMLSettings.
1007 * ForwardingHeaders/java: Removed.
1008 * ForwardingHeaders/java/kjavaappletwidget.h: Removed.
1009 * ForwardingHeaders/khtml_settings.h: Removed.
1010 * ForwardingHeaders/kio: Removed.
1011 * ForwardingHeaders/kio/global.h: Removed.
1012 * ForwardingHeaders/ksslkeygen.h: Removed.
1013 * ForwardingHeaders/q3ptrlist.h: Removed.
1014 * ForwardingHeaders/q3valuelist.h: Removed.
1015 * ForwardingHeaders/qcombobox.h: Removed.
1016 * ForwardingHeaders/qfontmetrics.h: Removed.
1017 * ForwardingHeaders/qlineedit.h: Removed.
1018 * ForwardingHeaders/qmatrix.h: Removed.
1019 * ForwardingHeaders/qptrlist.h: Removed.
1020 * ForwardingHeaders/qptrqueue.h: Removed.
1021 * ForwardingHeaders/qregexp.h: Removed.
1022 * ForwardingHeaders/qscrollbar.h: Removed.
1023 * ForwardingHeaders/qtextedit.h: Removed.
1024 * ForwardingHeaders/qtextstream.h: Removed.
1025 * ForwardingHeaders/qvaluelist.h: Removed.
1026 * ForwardingHeaders/qwmatrix.h: Removed.
1028 * WebCore+SVG/DOMList.h:
1029 * bindings/js/kjs_dom.cpp:
1030 * bindings/js/kjs_dom.h:
1031 * bindings/js/kjs_window.cpp:
1032 * css/css_stylesheetimpl.h:
1033 * css/css_valueimpl.cpp:
1034 * css/css_valueimpl.h:
1035 * css/cssstyleselector.cpp:
1036 * dom/CharacterData.cpp:
1039 * dom/EventTargetNode.cpp:
1041 * editing/BreakBlockquoteCommand.h:
1042 * editing/htmlediting.cpp:
1043 * html/FormDataList.h:
1044 * html/HTMLKeygenElement.cpp:
1045 * html/HTMLTokenizer.h:
1046 * html/html_objectimpl.cpp:
1047 * kcanvas/KCanvasFilters.cpp:
1048 * kcanvas/KCanvasMatrix.cpp:
1049 * kcanvas/KCanvasMatrix.h:
1050 * kcanvas/KCanvasPath.cpp:
1051 * kcanvas/KCanvasPath.h:
1052 * kcanvas/KCanvasResources.cpp:
1053 * kcanvas/KCanvasTreeDebug.h:
1054 * kcanvas/RenderForeignObject.h:
1055 * kcanvas/RenderPath.h:
1056 * kcanvas/RenderSVGImage.h:
1057 * kcanvas/RenderSVGText.h:
1058 * kcanvas/device/KRenderingPaintServerGradient.cpp:
1059 * kcanvas/device/KRenderingPaintServerPattern.cpp:
1060 * kcanvas/device/KRenderingPaintServerSolid.cpp:
1061 * kcanvas/device/quartz/KCanvasItemQuartz.h:
1062 * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
1063 * ksvg2/svg/SVGColor.cpp:
1064 * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1065 * ksvg2/svg/SVGDocument.h:
1066 * ksvg2/svg/SVGFEBlendElement.cpp:
1067 * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1068 * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1069 * ksvg2/svg/SVGFECompositeElement.cpp:
1070 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1071 * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1072 * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1073 * ksvg2/svg/SVGFELightElement.cpp:
1074 * ksvg2/svg/SVGFEMergeElement.cpp:
1075 * ksvg2/svg/SVGFEOffsetElement.cpp:
1076 * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1077 * ksvg2/svg/SVGFETileElement.cpp:
1078 * ksvg2/svg/SVGFETurbulenceElement.cpp:
1079 * ksvg2/svg/SVGFitToViewBox.cpp:
1080 * ksvg2/svg/SVGLengthList.cpp:
1081 * ksvg2/svg/SVGMatrix.h:
1082 * ksvg2/svg/SVGNumberList.cpp:
1083 * ksvg2/svg/SVGPreserveAspectRatio.cpp:
1084 * ksvg2/svg/SVGSVGElement.cpp:
1085 * ksvg2/svg/SVGStringList.cpp:
1086 * ksvg2/svg/SVGStyledElement.h:
1087 * ksvg2/svg/SVGStyledTransformableElement.cpp:
1088 * ksvg2/svg/SVGTransformable.cpp:
1089 * ksvg2/svg/SVGURIReference.h:
1090 * ksvg2/svg/svgpathparser.cpp:
1091 * kwq/KWQKHTMLSettings.h:
1093 * loader/CachedObject.h:
1094 * loader/Decoder.cpp:
1095 * loader/FormData.h:
1098 * page/FramePrivate.h:
1099 * platform/Font.cpp:
1100 * platform/SegmentedString.h:
1101 * platform/mac/FontMac.mm:
1102 * platform/mac/WebCoreTextField.mm:
1103 * rendering/RenderBlock.cpp:
1104 * rendering/RenderObject.cpp:
1105 * rendering/RenderTable.cpp:
1106 * rendering/RenderTableCell.cpp:
1107 * rendering/RenderTableCol.cpp:
1108 * rendering/RenderTableSection.cpp:
1110 * rendering/break_lines.cpp:
1111 * rendering/render_applet.cpp:
1112 * rendering/render_form.cpp:
1113 * rendering/render_form.h:
1114 * rendering/render_frames.cpp:
1115 * rendering/render_style.h:
1116 * xml/xmlhttprequest.cpp:
1119 * WebCore.xcodeproj/project.pbxproj: Resorted a couple things.
1121 2006-04-12 Adele Peterson <adele@apple.com>
1123 Reviewed by Darin and Tim O.
1125 WebCore part of fix for:
1126 http://bugzilla.opendarwin.org/show_bug.cgi?id=8061
1127 REGRESSION: New text fields need to send callbacks used by autocomplete
1130 http://bugzilla.opendarwin.org/show_bug.cgi?id=8156
1131 FrameMac::submitForm is busted after Vector changes
1133 * bindings/objc/DOMHTML.mm:
1134 (-[DOMHTMLInputElement _rectOnScreen]): Use boundingBox method so this no longer relies on an NSTextField.
1135 The old code is no longer needed because this method was used by autocomplete, and that was not enabled for password or search fields.
1136 (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): New implementation that uses setValue and setSelectionRange
1137 instead of NSTextField specific code.
1138 (-[DOMHTMLInputElement _selectedRange]): Creates range by calling selectionStart and selectionEnd on the input element.
1139 (-[DOMHTMLInputElement _setAutofilled:]): Provides a way for the autofill code to set a flag on the input element so
1140 it knows when its value is set by autofill. This is how we change the background color.
1141 * bindings/objc/DOMPrivate.h: Removed _displayedValue, _setDisplayedValue, _setBackgroundColor since these are no
1142 longer needed for the new text field implementation, and aren't used for remaining NSView-style password and search fields.
1143 Added _setAutofilled method.
1144 * bridge/mac/FrameMac.h: Added virtual clearRecordedFormValues and recordFormValue. These were moved into Frame.cpp recently, which broke
1145 how Safari asked to add form values to the keychain.
1147 * bridge/mac/FrameMac.mm:
1148 (WebCore::createNSDictionary): Added. Converts a hashmap to an NSDictionary for m_formValuesAboutToBeSubmitted. This is needed to fix the submit form bug.
1149 (WebCore::selectorForKeyEvent): Added. This helper function converts key events into selectors that the autocomplete code needs to know about.
1150 (WebCore::FrameMac::FrameMac):
1151 (WebCore::FrameMac::submitForm): Convert saved form and formValues into DOMElement and NSMutableDictionary.
1152 (WebCore::FrameMac::textFieldDidBeginEditing): Added so the input element can send this notification over the bridge.
1153 (WebCore::FrameMac::textFieldDidEndEditing): ditto.
1154 (WebCore::FrameMac::textDidChangeInTextField): ditto.
1155 (WebCore::FrameMac::doTextFieldCommandFromEvent): ditto. Also calls selectorForKeyEvent.
1156 (WebCore::FrameMac::textWillBeDeletedInTextField): ditto.
1158 (WebCore::Frame::textFieldDidBeginEditing): ditto.
1159 (WebCore::Frame::textFieldDidEndEditing): ditto.
1160 (WebCore::Frame::textDidChangeInTextField): ditto.
1161 (WebCore::Frame::doTextFieldCommandFromEvent): ditto.
1162 (WebCore::Frame::textWillBeDeletedInTextField): ditto.
1163 * page/Frame.h: ditto.
1164 * platform/PlatformString.h: (WebCore::String::replace): Added to use an existing version of StringImpl::replace.
1166 * rendering/RenderTextField.cpp:
1167 (WebCore::RenderTextField::setSelectionRange): Setting the selection here should close the typing command.
1168 (WebCore::RenderTextField::subtreeHasChanged): Calls textDidChangeInTextField.
1170 * dom/Document.cpp: (WebCore::Document::setFocusNode): Calls dispatchFocusEvent and dispatchBlurEvent instead of directly dispatching the events. This gives the node a chance to do other work before dispatching the event.
1172 * dom/EventTargetNode.cpp:
1173 (WebCore:: EventTargetNode::dispatchFocusEvent): Added.
1174 (WebCore:: EventTargetNode::dispatchBlurEvent): Added.
1175 * dom/EventTargetNode.h:
1177 * html/HTMLInputElement.cpp:
1178 (WebCore::HTMLInputElement::init): initializes m_autofilled.
1179 (WebCore::HTMLInputElement::dispatchFocusEvent): Calls textFieldDidBeginEditing and then calls up to the base class
1180 (WebCore::HTMLInputElement::dispatchBlurEvent): Calls textFieldDidEndEditing and then calls up to the base class
1181 (WebCore::HTMLInputElement::defaultEventHandler): For keypress events, calls doTextFieldCommandFromEvent so the form delegate will
1182 have a chance to say whether or not it is going to handle the event.
1183 (WebCore::HTMLInputElement::isKeyboardFocusable): Uses isNonWidgetTextField instead of checking the inputType.
1184 (WebCore::HTMLInputElement::isMouseFocusable): ditto.
1185 (WebCore::HTMLInputElement::focus): ditto.
1186 (WebCore::HTMLInputElement::constrainValue): Uses isTextField instead of checking inputType.
1187 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): ditto.
1188 * html/HTMLInputElement.h:
1189 (WebCore::HTMLInputElement::isTextField): Added. Checks for TEXT, PASSWORD, and SEARCH
1190 (WebCore::HTMLInputElement::isNonWidgetTextField): Added. Checks for all converted controls.
1191 (WebCore::HTMLInputElement::autofilled): Added.
1192 (WebCore::HTMLInputElement::setAutofilled): Added.
1193 * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Uses isNonWidgetTextField instead of checking the inputType.
1195 * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::doApply):
1196 If the deletion is occuring in a text field, call textWillBeDeletedInTextField so the frame can
1197 call across the bridge to notify the form delegate.
1199 * css/css_base.cpp: (WebCore::CSSSelector::extractPseudoType): Added autofill string for "-khtml-autofill".
1200 * css/css_base.h: (WebCore::CSSSelector::): Added PseudoAutofill to enum.
1201 * css/cssstyleselector.cpp:
1202 (WebCore::CSSStyleSelector::checkOneSelector): Added case for PseudoAutofill that checks the input element's autofilled flag.
1203 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Changed -webkit-focus-ring-color to -khtml-focus-ring-color for consistency.
1204 * css/html4.css: Added background-color and background-image for input:-khtml-autofill style.
1205 Changed -webkit-focus-ring-color to -khtml-focus-ring-color for consistency.
1206 * css/CSSValueKeywords.in: ditto.
1207 * css/cssparser.cpp:
1208 (WebCore::CSSParser::parseValue): ditto.
1209 (WebCore::CSSParser::parseShadow): ditto.
1211 2006-04-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
1215 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4855
1216 List item's bullets fail to redraw correctly after their style is set with JavaScript
1218 * manual-tests/list-marker-repaint.html: Added.
1219 * rendering/RenderBlock.cpp:
1220 (WebCore::RenderBlock::layoutBlock): Call positionListMarker() after laying out
1222 (WebCore::RenderBlock::calcInlineMinMaxWidth): Call calcWidth() on the child
1223 if we are going to use its marginLeft() or marginRight(), which is if they are
1224 given as a percentage or if the child is a list marker.
1225 * rendering/RenderBlock.h:
1226 (WebCore::RenderBlock::positionListMarker): Added this virtual function which
1227 RenderListItem implements and which is called from layoutBlock().
1228 * rendering/RenderFlow.cpp:
1229 (WebCore::RenderFlow::addFocusRingRects): Avoid adding focus rings around outside list
1230 markers. Previously it did not matter since the markers had zero width.
1231 * rendering/bidi.cpp:
1232 (WebCore::RenderBlock::findNextLineBreak): Outside list markers should not contribute
1233 to the line width, even now that they have width.
1234 * rendering/render_line.cpp:
1235 (WebCore::InlineFlowBox::placeBoxesHorizontally): Skip outside list markers.
1236 * rendering/render_list.cpp:
1237 (WebCore::RenderListItem::positionListMarker): Added.
1238 (WebCore::RenderListMarker::paint): Removed code that was used to right-align outside
1239 text markers, since that is achieved by margins now.
1240 (WebCore::RenderListMarker::calcMinMaxWidth): Changed the marker height to be the font height.
1241 Made the width of outside list markers non-zero and equal to the width of inside markers.
1242 Changed the width to include only the marker and not any padding. Increased the width of bullets
1243 by 2 to contain spillage due to antialiasing.
1244 (WebCore::RenderListMarker::calcWidth): Calculate horizontal margins. Padding that was
1245 previously included in the width is now part of the margins.
1246 (WebCore::RenderListMarker::getRelativeMarkerRect): Adjusted for the changes to width and
1248 * rendering/render_list.h:
1250 2006-04-12 Darin Adler <darin@apple.com>
1252 Rubber-stamped by Hyatt.
1254 - moved some more files out of KWQ to more-permanent homes
1256 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
1257 * WebCore.xcodeproj/project.pbxproj: Ditto.
1259 * kwq/BlockExceptions.h: Removed.
1260 * kwq/BlockExceptions.mm: Removed.
1261 * kwq/ClipboardMac.h: Removed.
1262 * kwq/ClipboardMac.mm: Removed.
1263 * kwq/DeprecatedPtrList.h: Removed.
1264 * kwq/DeprecatedPtrListImpl.cpp: Removed.
1265 * kwq/DeprecatedPtrListImpl.h: Removed.
1266 * kwq/DeprecatedValueList.h: Removed.
1267 * kwq/DeprecatedValueListImpl.cpp: Removed.
1268 * kwq/DeprecatedValueListImpl.h: Removed.
1269 * kwq/WebCoreTextArea.h: Removed.
1270 * kwq/WebCoreTextArea.mm: Removed.
1271 * kwq/WebCoreTextField.h: Removed.
1272 * kwq/WebCoreTextField.mm: Removed.
1273 * platform/DeprecatedPtrList.h: Added.
1274 * platform/DeprecatedPtrListImpl.cpp: Added.
1275 * platform/DeprecatedPtrListImpl.h: Added.
1276 * platform/DeprecatedValueList.h: Added.
1277 * platform/DeprecatedValueListImpl.cpp: Added.
1278 * platform/DeprecatedValueListImpl.h: Added.
1279 * platform/mac/BlockExceptions.h: Added.
1280 * platform/mac/BlockExceptions.mm: Added.
1281 * platform/mac/ClipboardMac.h: Added.
1282 * platform/mac/ClipboardMac.mm: Added.
1283 * platform/mac/WebCoreTextArea.h: Added.
1284 * platform/mac/WebCoreTextArea.mm: Added.
1285 * platform/mac/WebCoreTextField.h: Added.
1286 * platform/mac/WebCoreTextField.mm: Added.
1288 2006-04-12 David Harrison <harrison@apple.com>
1292 <rdar://problem/4386640> AX: AXPreviousSentenceStartTextMarkerForTextMarker does not respect paragraph boundary
1293 <rdar://problem/4414575> AX: Dictionary popup cannot find some words on Dictionary.app
1295 AXPreviousSentenceStartTextMarkerForTextMarker failed to stop at the beginning a block because
1296 SimplifiedBackwardsTextIterator::handleNonTextNode() emitted a space when exiting the block.
1297 Fixed by emitting a newline instead.
1299 Word boundary failed to stop at the beginning of a block because no character at all was emitted
1300 when leaving the block, because the exitNode was checking specific html tags to decide whether the
1301 node is block, but the node was xml. Fixed by using the node's renderer, if present.
1303 (see related changes in WebKit)
1306 * editing/selection/extend-by-sentence-001.html: Added.
1307 * fast/dom/inner-text-001.html: Added.
1309 * bridge/mac/WebCoreFrameBridge.h:
1310 * bridge/mac/WebCoreFrameBridge.mm:
1311 (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
1312 Add sentence navigation/selection.
1314 * editing/Selection.cpp:
1315 (WebCore::Selection::validate):
1316 Add sentence navigation/selection.
1318 * editing/SelectionController.cpp:
1319 (WebCore::SelectionController::modifyExtendingRightForward):
1320 (WebCore::SelectionController::modifyMovingRightForward):
1321 (WebCore::SelectionController::modifyExtendingLeftBackward):
1322 (WebCore::SelectionController::modifyMovingLeftBackward):
1323 (WebCore::SelectionController::modify):
1324 Add sentence navigation/selection.
1326 * editing/TextGranularity.h:
1328 Add SentenceGranularity and SentenceBoundary.
1330 * editing/TextIterator.cpp:
1331 (WebCore::isTableCell):
1332 (WebCore::shouldEmitTabBeforeNode):
1333 (WebCore::shouldEmitNewlineForNode):
1334 (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
1335 (WebCore::shouldEmitExtraNewlineForNode):
1336 New utility functions that prefer renderers over html tag names.
1338 (WebCore::TextIterator::handleNonTextNode):
1339 (WebCore::TextIterator::exitNode):
1340 (WebCore::SimplifiedBackwardsTextIterator::advance):
1341 Use new utility functions.
1343 (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
1344 Use new utility functions. Also emit linefeed instead of space,
1345 so sentence parsing works across block boundaries.
1347 (WebCore::SimplifiedBackwardsTextIterator::exitNode):
1348 Use new utility functions.
1350 (WebCore::SimplifiedBackwardsTextIterator::emitNewline):
1351 Renamed from emitNewlineForBROrText because it is not always for BR or text.
1353 * editing/TextIterator.h:
1354 Renamed emitNewlineForBROrText to emitNewline.
1356 * editing/visible_units.cpp:
1357 * editing/visible_units.h:
1358 (WebCore::previousBoundary):
1359 (WebCore::nextBoundary):
1360 (WebCore::previousSentencePosition):
1361 (WebCore::nextSentencePosition):
1362 Add sentence navigation/selection.
1364 2006-04-12 Darin Adler <darin@apple.com>
1366 Rubber-stamped by Hyatt.
1368 - moved Decoder and FormData classes into loader directory
1369 (Decoder, because it's part of the loading process.
1370 FormData, because it's used as a parameter when specifying
1371 what to load. Arguably either could be in page instead.)
1372 - moved Length.h from css to renderer, cause that's where Hyatt
1375 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
1376 * WebCore.xcodeproj/project.pbxproj: Ditto.
1379 * loader/Decoder.cpp: Added.
1380 * loader/Decoder.h: Added.
1381 * loader/FormData.cpp: Added.
1382 * loader/FormData.h: Added.
1384 * css/Length.h: Removed.
1385 * rendering/Length.h: Added.
1387 * bridge/mac/WebCoreEncodings.mm:
1389 * kwq/KWQFormData.mm:
1390 * loader/CachedXBLDocument.cpp:
1391 * loader/CachedXSLStyleSheet.cpp:
1392 * page/ResourceRequest.h:
1393 * platform/TransferJobInternal.h:
1394 * xml/xmlhttprequest.cpp:
1397 2006-04-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
1401 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8337
1402 Incomplete repaint of inlines' outline during editing
1404 * manual-tests/inline-outline-repaint.html: Added.
1405 * rendering/RenderBlock.cpp:
1406 (WebCore::RenderBlock::layoutBlock): Add the maximal outline width to the
1407 inlines' repaint rect.
1409 2006-04-12 Justin Garcia <justin.garcia@apple.com>
1413 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8335>
1414 Implement execCommand(InsertHorizontalRule)
1416 * editing/JSEditor.cpp:
1418 2006-04-12 Darin Adler <darin@apple.com>
1420 Rubber-stamped by Hyatt.
1422 - moved xsl files into xml directory, removed xbl files (for now)
1424 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
1425 * WebCore.xcodeproj/project.pbxproj: Ditto.
1426 * khtml/xbl: Removed.
1427 * khtml/xsl: Removed.
1428 * xml/XSLStyleSheet.cpp: Added.
1429 * xml/XSLStyleSheet.h: Added.
1430 * xml/XSLTProcessor.cpp: Added.
1431 * xml/XSLTProcessor.h: Added.
1433 2006-04-12 David Hyatt <hyatt@apple.com>
1435 Fix for 5283, make sure overflow doesn't paint on top of positioned elements.
1439 * kwq/RenderTreeAsText.cpp:
1441 * rendering/RenderLayer.cpp:
1442 (WebCore::RenderLayer::RenderLayer):
1443 (WebCore::RenderLayer::~RenderLayer):
1444 (WebCore::RenderLayer::addChild):
1445 (WebCore::RenderLayer::removeChild):
1446 (WebCore::RenderLayer::paintLayer):
1447 (WebCore::RenderLayer::hitTestLayer):
1448 (WebCore::RenderLayer::dirtyOverflowList):
1449 (WebCore::RenderLayer::updateOverflowList):
1450 (WebCore::RenderLayer::collectLayers):
1451 (WebCore::RenderLayer::shouldBeOverflowOnly):
1452 (WebCore::RenderLayer::styleChanged):
1453 * rendering/RenderLayer.h:
1454 (WebCore::RenderLayer::isOverflowOnly):
1455 (WebCore::RenderLayer::overflowList):
1457 2006-04-12 Darin Adler <darin@apple.com>
1459 * WebCore.xcodeproj/project.pbxproj: Turn SVG support back on.
1460 I accidentally checked in this file with SVG off last night.
1462 2006-04-12 Darin Adler <darin@apple.com>
1464 - try to fix Windows build
1466 * platform/TransferJobInternal.h: Declare HANDLE.
1467 * platform/image-decoders/gif/GIFImageReader.h: Include GIFImageDecoder.h.
1468 * rendering/RenderThemeWin.h: Declare HANDLE and HMODULE.
1470 2006-04-12 Darin Adler <darin@apple.com>
1472 - another attempt to get things building
1474 * bindings/js/kjs_proxy.cpp: Add "kjs_events.h" include, needed when not
1475 building SVG (so for Windows too).
1476 * editing/TextIterator.h: Add back include of Vector.h.
1478 2006-04-11 Darin Adler <darin@apple.com>
1480 - try to fix Windows build
1482 * html/HTMLCollection.h: Add back include of Vector.h.
1483 * page/Frame.h: Ditto.
1484 * platform/Timer.h: Ditto.
1486 - more changes for no-SVG (not working yet though)
1488 * editing/CompositeEditCommand.h: Added css_valueimpl.h include.
1490 2006-04-11 Darin Adler <darin@apple.com>
1492 - try to fix no-SVG build
1494 * kwq/RenderTreeAsText.cpp: Added back an include only needed for non-SVG.
1495 * rendering/RenderObject.h: Ditto.
1497 2006-04-11 Darin Adler <darin@apple.com>
1499 - try to fix Windows build
1501 * ForwardingHeaders/kxmlcore/HashForward.h: Removed.
1502 * dom/xml_tokenizer.h: Include another header instead of HashForward.h.
1503 * loader/Cache.h: Ditto.
1504 * page/Page.h: Ditto.
1505 * platform/TransferJob.h: Ditto.
1507 2006-04-11 Justin Garcia <justin.garcia@apple.com>
1509 Reviewed by harrison
1511 Fixes more instances of:
1512 <rdar://problem/3950559>
1513 CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32
1515 * editing/ReplaceSelectionCommand.cpp:
1516 (WebCore::ReplaceSelectionCommand::doApply): Do paragraph merging using moveParagraphs.
1518 2006-04-11 Justin Garcia <justin.garcia@apple.com>
1520 Reviewed by harrison
1522 Some setup for work on paste performance.
1524 * editing/CompositeEditCommand.cpp:
1525 (WebCore::CompositeEditCommand::moveParagraph):
1526 Moved code from mergeParagraphs so that it can be used in ReplaceSelectionCommand.
1527 * editing/CompositeEditCommand.h:
1528 * editing/DeleteSelectionCommand.cpp:
1529 (WebCore::DeleteSelectionCommand::mergeParagraphs):
1530 (WebCore::DeleteSelectionCommand::doApply):
1531 * editing/VisiblePosition.cpp:
1532 (WebCore::VisiblePosition::init): Put the code that chooses m_deepPosition into initDeepPosition.
1533 (WebCore::VisiblePosition::initDeepPosition):
1534 Fixed a bug: don't fall through to the code that's only for positions inside unrendered space between blocks when
1535 downstream() is a candidate. Added a comment about why the fall through code is necessary.
1536 * editing/VisiblePosition.h:
1538 2006-04-11 John Sullivan <sullivan@apple.com>
1540 Reviewed by Darin Adler.
1542 - fixed <rdar://problem/4509328> highlight all matches hangs when searching for tab character on www.google.com (and others)
1544 For reasons not yet completely understood, searching for a tab character on some pages (Google, Amazon) finds a match
1545 with a non-collapsed range but then claims that the end visible position of the match is the original start visible
1546 position of the search range. This was causing the highlightAllMatches code to loop forever. Fixed the loop by
1547 checking for the non-advancing search range explicitly. I'm going to track down a reduction of the bogus
1548 search-for-tab issue, and write that up as a separate bug (that bug is not a regression; you can "find" a tab on
1549 google in Tiger also).
1552 (WebCore::Frame::highlightAllMatchesForString):
1553 break the loop if the search range hasn't advanced
1555 2006-04-10 Darin Adler <darin@apple.com>
1557 Rubber-stamped by John Sullivan (except for pbxproj change).
1559 - updated to use the new Forward.h and HashForward.h headers
1560 - moved the showTree debugging functions out of the WebCore
1561 namespace so they are easier to call from gdb, and renamed
1562 the showTree member functions so they don't get in the way;
1563 now you can do "call showTree(x)" in gdb and it just works
1564 - removed a lot of unneeded includes
1566 * WebCore.xcodeproj/project.pbxproj: Fixed a lot of paths that
1567 were not relative to the enclosing group.
1569 * ForwardingHeaders/kxmlcore/Forward.h: Added.
1570 * ForwardingHeaders/kxmlcore/HashForward.h: Added.
1571 * bindings/js/JSCanvasRenderingContext2DBase.cpp:
1572 * bindings/js/JSXMLHttpRequest.cpp:
1573 * bindings/js/JSXMLHttpRequest.h:
1574 * bindings/js/JSXSLTProcessor.h:
1575 * bindings/js/kjs_binding.h:
1576 * bindings/js/kjs_dom.cpp:
1577 * bindings/js/kjs_dom.h:
1578 * bindings/js/kjs_events.cpp:
1579 * bindings/js/kjs_events.h:
1580 * bindings/js/kjs_html.cpp:
1581 * bindings/js/kjs_navigator.cpp:
1582 * bindings/js/kjs_navigator.h:
1583 * bindings/js/kjs_proxy.cpp:
1584 * bindings/js/kjs_traversal.h:
1585 * bindings/js/kjs_window.cpp:
1586 * bindings/js/kjs_window.h:
1587 * bindings/objc/DOM.mm:
1588 * bindings/objc/DOMCSS.mm:
1589 * bindings/objc/DOMCore.h:
1590 * bindings/objc/DOMEvents.mm:
1591 * bindings/objc/DOMHTML.mm:
1592 * bindings/objc/DOMImplementationFront.h:
1593 * bindings/objc/DOMInternal.mm:
1594 * bindings/objc/DOMUtility.mm:
1595 * bindings/objc/DOMViews.mm:
1596 * bridge/BrowserExtension.h:
1597 * bridge/mac/BrowserExtensionMac.mm:
1598 * bridge/mac/FrameMac.h:
1599 * bridge/mac/FrameMac.mm:
1600 * bridge/mac/WebCoreFrameBridge.mm:
1601 * bridge/mac/WebCoreFrameNamespaces.mm:
1602 * bridge/mac/WebCoreJavaScript.mm:
1603 * bridge/win/PageWin.cpp:
1604 * css/CSSComputedStyleDeclaration.cpp:
1606 * css/css_ruleimpl.h:
1607 * css/css_valueimpl.cpp:
1608 * css/cssparser.cpp:
1610 * css/cssstyleselector.cpp:
1611 * css/cssstyleselector.h:
1612 * dom/AbstractView.h:
1613 * dom/AtomicStringList.h:
1614 * dom/Attribute.cpp:
1617 * dom/ContainerNode.cpp:
1618 * dom/DOMImplementation.cpp:
1619 * dom/DOMImplementation.h:
1623 * dom/EventTargetNode.cpp:
1624 (WebCore::EventTargetNode::dump):
1625 (WebCore::forbidEventDispatch):
1626 (WebCore::allowEventDispatch):
1627 (WebCore::eventDispatchForbidden):
1628 * dom/EventTargetNode.h:
1629 (WebCore::EventTargetNode::postDispatchEventHandler):
1630 * dom/NamedAttrMap.h:
1632 (WebCore::Node::showNode):
1633 (WebCore::Node::showTree):
1634 (WebCore::Node::showTreeAndMark):
1644 * dom/StyledElement.cpp:
1645 * dom/StyledElement.h:
1646 * dom/dom2_eventsimpl.cpp:
1647 * dom/dom2_eventsimpl.h:
1648 * dom/dom2_traversalimpl.h:
1649 * dom/dom_xmlimpl.cpp:
1650 * dom/xml_tokenizer.cpp:
1651 * dom/xml_tokenizer.h:
1652 * editing/AppendNodeCommand.cpp:
1653 * editing/ApplyStyleCommand.cpp:
1654 * editing/ApplyStyleCommand.h:
1655 * editing/BreakBlockquoteCommand.cpp:
1656 * editing/CompositeEditCommand.cpp:
1657 * editing/CreateLinkCommand.cpp:
1658 * editing/DeleteFromTextNodeCommand.cpp:
1659 * editing/DeleteFromTextNodeCommand.h:
1660 * editing/DeleteSelectionCommand.cpp:
1661 * editing/EditCommand.cpp:
1662 * editing/EditCommand.h:
1663 * editing/HTMLInterchange.cpp:
1664 * editing/InsertIntoTextNodeCommand.cpp:
1665 * editing/InsertIntoTextNodeCommand.h:
1666 * editing/InsertLineBreakCommand.cpp:
1667 * editing/InsertNodeBeforeCommand.cpp:
1668 * editing/InsertParagraphSeparatorCommand.cpp:
1669 * editing/InsertTextCommand.cpp:
1670 * editing/JSEditor.cpp:
1671 * editing/JoinTextNodesCommand.cpp:
1672 * editing/MergeIdenticalElementsCommand.cpp:
1673 * editing/ModifySelectionListLevelCommand.cpp:
1674 * editing/MoveSelectionCommand.cpp:
1675 * editing/RebalanceWhitespaceCommand.h:
1676 * editing/RemoveCSSPropertyCommand.h:
1677 * editing/ReplaceSelectionCommand.cpp:
1678 * editing/ReplaceSelectionCommand.h:
1679 * editing/Selection.cpp:
1680 (WebCore::Selection::formatForDebugger):
1681 (WebCore::Selection::showTree):
1683 * editing/Selection.h:
1684 * editing/SelectionController.cpp:
1685 (WebCore::SelectionController::formatForDebugger):
1686 (WebCore::SelectionController::showTree):
1688 * editing/SelectionController.h:
1689 * editing/TextIterator.cpp:
1690 * editing/TextIterator.h:
1691 * editing/TypingCommand.cpp:
1692 * editing/TypingCommand.h:
1693 * editing/UnlinkCommand.cpp:
1694 * editing/VisiblePosition.cpp:
1695 (WebCore::isEqualIgnoringAffinity):
1696 (WebCore::VisiblePosition::formatForDebugger):
1697 (WebCore::VisiblePosition::showTree):
1699 * editing/VisiblePosition.h:
1700 (WebCore::VisiblePosition::VisiblePosition):
1701 (WebCore::operator==):
1702 * editing/WrapContentsInDummySpanCommand.cpp:
1703 * editing/htmlediting.h:
1704 * editing/markup.cpp:
1707 * editing/visible_units.cpp:
1708 * html/CanvasGradient.cpp:
1709 * html/CanvasRenderingContext2D.h:
1710 * html/CanvasStyle.cpp:
1711 * html/CanvasStyle.h:
1712 * html/FormDataList.cpp:
1713 * html/FormDataList.h:
1714 * html/HTMLCollection.cpp:
1715 * html/HTMLCollection.h:
1716 * html/HTMLDocument.cpp:
1717 * html/HTMLDocument.h:
1718 * html/HTMLElement.cpp:
1719 * html/HTMLElementFactory.cpp:
1720 * html/HTMLElementFactory.h:
1721 * html/HTMLFormCollection.cpp:
1722 * html/HTMLFormElement.cpp:
1723 * html/HTMLFormElement.h:
1724 * html/HTMLInputElement.cpp:
1725 * html/HTMLParser.cpp:
1726 * html/HTMLSelectElement.cpp:
1727 * html/HTMLSelectElement.h:
1728 * html/HTMLTokenizer.cpp:
1729 * html/HTMLTokenizer.h:
1730 * html/html_baseimpl.cpp:
1731 * html/html_headimpl.h:
1732 * kcanvas/KCanvasCreator.cpp:
1733 * kcanvas/KCanvasFilters.h:
1734 * kcanvas/KCanvasPath.h:
1735 * kcanvas/KCanvasResources.h:
1736 * kcanvas/KCanvasTreeDebug.cpp:
1737 * kcanvas/RenderPath.cpp:
1738 * kcanvas/RenderPath.h:
1739 * kcanvas/device/KRenderingDevice.h:
1740 * kcanvas/device/KRenderingPaintServerGradient.h:
1741 * kcanvas/device/KRenderingPaintServerPattern.h:
1742 * kcanvas/device/KRenderingPaintServerSolid.h:
1743 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1744 * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
1745 * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
1746 * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1747 * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
1748 * khtml/misc/decoder.cpp:
1749 * khtml/misc/decoder.h:
1750 * khtml/xsl/XSLStyleSheet.cpp:
1751 * khtml/xsl/XSLTProcessor.cpp:
1752 * khtml/xsl/XSLTProcessor.h:
1753 * ksvg2/css/SVGRenderStyle.h:
1754 * ksvg2/ecma/GlobalObject.cpp:
1755 * ksvg2/misc/KCanvasRenderingStyle.h:
1756 * ksvg2/misc/SVGDocumentExtensions.h:
1757 * ksvg2/svg/SVGAngle.h:
1758 * ksvg2/svg/SVGAnimateColorElement.h:
1759 * ksvg2/svg/SVGAnimatedColor.h:
1760 * ksvg2/svg/SVGAnimatedLengthList.h:
1761 * ksvg2/svg/SVGAnimatedNumberList.h:
1762 * ksvg2/svg/SVGAnimatedString.h:
1763 * ksvg2/svg/SVGAnimatedTransformList.h:
1764 * ksvg2/svg/SVGAnimationElement.h:
1765 * ksvg2/svg/SVGColor.h:
1766 * ksvg2/svg/SVGCursorElement.h:
1767 * ksvg2/svg/SVGHelper.h:
1768 * ksvg2/svg/SVGLength.h:
1769 * ksvg2/svg/SVGList.h:
1770 * ksvg2/svg/SVGPaint.h:
1771 * ksvg2/svg/SVGPathSeg.h:
1772 * ksvg2/svg/SVGPatternElement.h:
1773 * ksvg2/svg/SVGSVGElement.cpp:
1774 * ksvg2/svg/SVGSVGElement.h:
1775 * ksvg2/svg/SVGStringList.h:
1776 * ksvg2/svg/SVGTransform.h:
1777 * kwq/AccessibilityObjectCache.mm:
1778 * kwq/ClipboardMac.mm:
1779 * kwq/JavaAppletWidget.mm:
1780 * kwq/KWQComboBox.mm:
1781 * kwq/KWQEditCommand.mm:
1782 * kwq/KWQFileButton.mm:
1783 * kwq/KWQKHTMLSettings.h:
1784 * kwq/KWQKSSLKeyGen.mm:
1786 * kwq/KWQPageState.mm:
1787 * kwq/KWQTextEdit.mm:
1788 * kwq/RegularExpression.h:
1789 * kwq/RenderTreeAsText.cpp:
1790 * kwq/RenderTreeAsText.h:
1791 * kwq/WebCoreAXObject.mm:
1794 * loader/CachedCSSStyleSheet.cpp:
1795 * loader/CachedObject.h:
1796 * loader/CachedScript.cpp:
1797 * loader/CachedXBLDocument.cpp:
1798 * loader/CachedXBLDocument.h:
1799 * loader/CachedXSLStyleSheet.cpp:
1800 * loader/CachedXSLStyleSheet.h:
1801 * loader/DocLoader.cpp:
1804 * page/FramePrivate.h:
1805 * page/FrameTree.cpp:
1807 * page/FrameView.cpp:
1812 (WebCore::Plugin::Plugin):
1813 (WebCore::Plugin::view):
1814 * platform/Color.cpp:
1815 * platform/FloatRect.h:
1816 * platform/Font.cpp:
1818 * platform/FontFamily.cpp:
1819 * platform/GraphicsContext.cpp:
1820 * platform/Image.cpp:
1822 * platform/IntRect.h:
1823 * platform/KURL.cpp:
1825 * platform/SegmentedString.h:
1826 * platform/Shared.h:
1827 * platform/StreamingTextDecoder.cpp:
1828 * platform/StringImpl.cpp:
1829 * platform/StringImpl.h:
1830 * platform/TextEncoding.h:
1831 * platform/Timer.cpp:
1833 * platform/TransferJob.cpp:
1834 * platform/TransferJob.h:
1835 * platform/TransferJobInternal.h:
1836 * platform/cairo/GraphicsContextCairo.cpp:
1837 * platform/cairo/ImageCairo.cpp:
1838 * platform/cairo/ImageSourceCairo.cpp:
1839 * platform/image-decoders/gif/GIFImageReader.cpp:
1840 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1841 * platform/mac/FontFamilyMac.mm:
1842 * platform/mac/FontMac.mm:
1843 * platform/mac/ImageMac.mm:
1844 * platform/mac/TextEncodingMac.cpp:
1845 * platform/mac/TransferJobMac.mm:
1846 * platform/win/FontPlatformDataWin.cpp:
1847 * platform/win/TransferJobWin.cpp:
1848 * rendering/RenderBlock.cpp:
1849 * rendering/RenderBlock.h:
1850 * rendering/RenderBox.cpp:
1851 * rendering/RenderBox.h:
1852 * rendering/RenderCanvas.cpp:
1853 * rendering/RenderCanvas.h:
1854 * rendering/RenderContainer.cpp:
1855 * rendering/RenderFlexibleBox.h:
1856 * rendering/RenderFlow.cpp:
1857 * rendering/RenderFlow.h:
1858 * rendering/RenderImage.cpp:
1859 * rendering/RenderImage.h:
1860 * rendering/RenderLayer.cpp:
1861 * rendering/RenderLayer.h:
1862 * rendering/RenderObject.cpp:
1864 * rendering/RenderObject.h:
1865 * rendering/RenderTableCell.h:
1866 * rendering/RenderTableSection.h:
1867 * rendering/RenderText.cpp:
1868 * rendering/RenderText.h:
1869 * rendering/RenderTextField.cpp:
1870 * rendering/RenderTextFragment.h:
1871 * rendering/RenderTheme.h:
1872 * rendering/RenderThemeMac.mm:
1873 * rendering/RenderThemeWin.cpp:
1874 * rendering/bidi.cpp:
1875 * rendering/render_form.h:
1876 * rendering/render_line.cpp:
1878 * rendering/render_line.h:
1879 * rendering/render_list.cpp:
1880 * rendering/render_replaced.cpp:
1881 * rendering/render_replaced.h:
1882 * rendering/render_style.cpp:
1883 * rendering/render_style.h:
1884 * xml/xmlhttprequest.h:
1886 2006-04-10 Darin Adler <darin@apple.com>
1888 - try to fix the Windows build
1890 * WebCore.vcproj/WebCore/WebCore.vcproj: Fix mistaken bad editing of
1891 AdditionalIncludeDirectories.
1893 2006-04-10 David Hyatt <hyatt@apple.com>
1895 Make focus ring painting respect clips set by WebCore (e.g., overflow).
1899 * platform/GraphicsContext.h:
1900 * platform/mac/GraphicsContextMac.mm:
1901 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1902 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
1903 (WebCore::GraphicsContext::setFocusRingClip):
1904 (WebCore::GraphicsContext::clearFocusRingClip):
1905 (WebCore::GraphicsContext::drawFocusRing):
1906 * platform/mac/WebCoreGraphicsBridge.h:
1907 * platform/mac/WebCoreGraphicsBridge.m:
1908 (-[WebCoreGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
1909 * rendering/RenderLayer.cpp:
1911 (WebCore::restoreClip):
1913 2006-04-10 Darin Adler <darin@apple.com>
1917 - death to khtml/ecma, long live bindings/js
1919 * khtml/ecma: Removed. Moved all files to bindings/js.
1921 * bindings/js/JSDOMParser.cpp: Added.
1922 * bindings/js/JSDOMParser.h: Added.
1923 * bindings/js/JSXMLHttpRequest.cpp: Added.
1924 * bindings/js/JSXMLHttpRequest.h: Added.
1925 * bindings/js/JSXMLSerializer.cpp: Added.
1926 * bindings/js/JSXMLSerializer.h: Added.
1927 * bindings/js/JSXSLTProcessor.cpp: Added.
1928 * bindings/js/JSXSLTProcessor.h: Added.
1929 * bindings/js/kjs_binding.cpp: Added.
1930 * bindings/js/kjs_binding.h: Added.
1931 * bindings/js/kjs_css.cpp: Added.
1932 * bindings/js/kjs_css.h: Added.
1933 * bindings/js/kjs_dom.cpp: Added.
1934 * bindings/js/kjs_dom.h: Added.
1935 * bindings/js/kjs_events.cpp: Added.
1936 * bindings/js/kjs_events.h: Added.
1937 * bindings/js/kjs_html.cpp: Added.
1938 * bindings/js/kjs_html.h: Added.
1939 * bindings/js/kjs_navigator.cpp: Added.
1940 * bindings/js/kjs_navigator.h: Added.
1941 * bindings/js/kjs_proxy.cpp: Added.
1942 * bindings/js/kjs_proxy.h: Added.
1943 * bindings/js/kjs_traversal.cpp: Added.
1944 * bindings/js/kjs_traversal.h: Added.
1945 * bindings/js/kjs_views.cpp: Added.
1946 * bindings/js/kjs_views.h: Added.
1947 * bindings/js/kjs_window.cpp: Added.
1948 * bindings/js/kjs_window.h: Added.
1950 * DerivedSources.make: Removed khtml/ecma from directory list.
1951 * WebCore.vcproj/WebCore/WebCore.vcproj: Moved files from
1952 khtml/ecma to bindings/js.
1953 * WebCore.xcodeproj/project.pbxproj: Ditto.
1955 2006-04-10 Darin Adler <darin@apple.com>
1959 - try to fix the Windows build
1961 * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::reset):
1962 Put code to release m_drawingContext into an __APPLE__ ifdef.
1964 * platform/win/TemporaryLinkStubs.cpp:
1966 2006-04-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
1968 Reviewed by Eric, landed by ap.
1970 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8295
1971 Dictionary pop-up panel targets the wrong word in a scrolled IFRAME
1973 * kwq/WebCoreAXObject.mm:
1974 (-[WebCoreAXObject doAXTextMarkerForPosition:]): Removed the addition of scroll
1975 offsets, which is redundant for scrolled views, then changed the first view
1976 to be the document's scrolled view instead of its scroll view (all subsequent views were
1977 already scrolled views).
1978 * manual-tests/dictionary-scrolled-iframe.html: Added.
1980 2006-04-09 Alexey Proskuryakov <ap@nypop.com>
1984 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7877
1985 XMLHttpRequest ignores username/password passed to open()
1987 Test: http/tests/xmlhttprequest/basic-auth.html
1989 * platform/KURL.cpp:
1990 (KURL::setUser): Enable a code path that handles non-empty user name -
1991 it was already present, but commented out and protected with an assertion.
1992 (KURL::setPass): Ditto.
1994 2006-04-09 Darin Adler <darin@apple.com>
1998 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4884
1999 Canvas element breaks when RenderObject creation is deferred by external CSS
2001 Test: fast/canvas/canvas-before-css.html
2003 This patch makes us match the canvas documentation in Hixie's Web Applications
2004 draft as far as when the canvas is created and recreated and how it's sized.
2005 It also gets rid of the compositeOperation attribute of the canvas element.
2006 We can add that back if we need it. Anders points out that this specifically
2007 changes behavior for canvas elements where the size is set in CSS and not with
2008 width and height attributes. The CSS size now determines how big a box the canvas
2009 is rendered into, but has no effect on the size of the canvas's buffer.
2011 * html/CanvasRenderingContext2D.h: Added overloads of drawImage that take
2012 HTMLCanvasElement, which is no longer derived from HTMLImageElement.
2013 * html/CanvasRenderingContext2D.cpp:
2014 (WebCore::imageSize): Renamed from imageOrCanvasSize. Now used for images only,
2015 because canvas is no longer derived from image.
2016 (WebCore::CanvasRenderingContext2D::drawImage): Split the implementation of this
2017 for image sources from the implementation for canvas sources.
2018 (WebCore::CanvasRenderingContext2D::willDraw): Changed to call a new willDraw
2019 function on the canvas element.
2020 (WebCore::CanvasRenderingContext2D::drawingContext): Changed to call drawingContext
2021 on the canvas element rather than the renderer.
2023 * html/HTMLCanvasElement.h: Changed HTMLCanvasElement to derive from HTMLElement
2024 instead of HTMLImageElement. Added width, height, setWidth, setHeight, willDraw,
2025 paint, drawingContext, createDrawingContext, and reset functions. Added m_size,
2026 m_createdDrawingContext, m_data, and m_drawingContext data members. Removed
2027 mapToEntry, attach, detach, and isURLAttribute functins.
2029 * html/HTMLCanvasElement.cpp:
2030 (WebCore::HTMLCanvasElement::HTMLCanvasElement): Added initializers for new m_size,
2031 m_createdDrawingContext, m_data, and m_drawingContext data members.
2032 (WebCore::HTMLCanvasElement::~HTMLCanvasElement): Free m_data and m_drawingContext.
2033 (WebCore::HTMLCanvasElement::parseMappedAttribute): Got rid of special case for
2034 srcAttr, which is no longer needed since we aren't deriving from HTMLImageElement.
2035 Added code that triggers a reset when either width or height is set.
2036 (WebCore::HTMLCanvasElement::createRenderer): Added code to set the intrinsic
2037 width and height of the renderer to the size of the element.
2038 (WebCore::HTMLCanvasElement::setHeight): Added. Sets the height attribute.
2039 (WebCore::HTMLCanvasElement::setWidth): Added. Sets the width attribute.
2040 (WebCore::HTMLCanvasElement::willDraw): Added. Tells the renderer to repaint.
2041 Also has FIXME mentioning we could dirty only the part that has changed in the future.
2042 (WebCore::HTMLCanvasElement::reset): Added. Sets the size of the canvas and discards
2043 the old buffer, which is an indirect way of resetting the buffer to transparent black.
2044 (WebCore::HTMLCanvasElement::paint): Added. Draws the canvas image into the graphics
2045 context that's passed in.
2046 (WebCore::HTMLCanvasElement::createDrawingContext): Added. Allocates a buffer for
2047 the bits, then creates a bitmap context for drawing into the buffer.
2048 (WebCore::HTMLCanvasElement::drawingContext): Added. Calls createDrawingContext if
2049 needed, then returns the current drawing context.
2050 (WebCore::HTMLCanvasElement::createPlatformImage): Changed to always call CGContextFlush
2051 and to create the image from the context in this class.
2053 * rendering/RenderHTMLCanvas.h: Remove almost all of the contents of this file.
2054 Removed ~RenderHTMLCanvas, setNeedsImageUpdate, element, updateDrawnImage, drawingContext,
2055 createDrawingContext, and drawnImage functions and _drawingContext, _drawingContextData,
2056 _drawnImage, and _needsImageUpdate booleans. Changed RenderHTMLCanvas to derive from
2057 RenderReplaced instead of RenderImage.
2059 * rendering/RenderHTMLCanvas.cpp:
2060 (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): Changed to only initialize RenderReplaced.
2061 (WebCore::RenderHTMLCanvas::renderName): Moved this in here, since there's no good reason
2062 to have this virtual function inlined.
2063 (WebCore::RenderHTMLCanvas::paint): Changed implementation to use HTMLCanvasElement::paint
2064 instead ofcalling CGContextDrawImage directly.
2065 (WebCore::RenderHTMLCanvas::layout): Removed the code that detects changes in width and
2066 causes the drawing context to be recreated; instead, if the width and height changes we
2067 scale when we paint the canvas.
2069 * bindings/js/JSCanvasRenderingContext2DBase.cpp:
2070 (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
2071 Separated out handling for <canvas> vs. <img> elements in drawRect, since
2072 HTMLCanvasElement is no longer derived from HTMLImageElement.
2074 2006-04-09 Rob Buis <buis@kde.org>
2076 Reviewed by eseidel. Landed by eseidel.
2078 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6027:
2079 Dirty rect invalidation issues in mozilla sample
2081 Make sure the paths calculate the new bounding box and not
2082 use the cached bbox.
2084 No automated test case possible.
2086 * kcanvas/RenderPath.cpp:
2087 (WebCore::RenderPath::setPath):
2089 2006-04-09 Rob Buis <buis@kde.org>
2091 Reviewed by darin. Landed by eseidel.
2093 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6930:
2094 % width/height on nested <svg> tags do not work
2096 Set the context correctly for inner <svg>, so calculation of
2097 width/height for inner <svg> elements is done against the
2100 Test: svg/custom/inner-percent.svg
2102 * ksvg2/svg/SVGSVGElement.cpp:
2103 (WebCore::SVGSVGElement::width):
2104 (WebCore::SVGSVGElement::height):
2106 2006-04-08 Rob Buis <buis@kde.org>
2108 Reviewed by eseidel. Landed by eseidel.
2110 No automated test case possible.
2112 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7531:
2113 hang in SVGPolygonElementImpl::toPathData in polygon test case
2115 Make sure the points list is cleared, just like the path
2116 list is cleared first before (re)parsing.
2118 * ksvg2/svg/SVGPolyElement.cpp:
2119 (SVGPolyElement::parseMappedAttribute):
2121 2006-04-08 Darin Adler <darin@apple.com>
2125 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7622
2126 REGRESSION: New text fields should compute maxlength considering composed character sequences
2128 Test: fast/forms/input-text-maxlength.html
2129 Test: fast/forms/input-text-paste-maxlength.html
2131 * html/HTMLInputElement.h: Removed all friend classes (not needed any more). Renamed
2132 typeEnum to InputType. Made init() function private. Tweaked parameter names and formatting
2133 in many function declarations. Made canHaveSelection, selectionStart, and selectionEnd
2134 const. Made data members except for m_name private instead of protected. Added private
2135 functions constrainValue and recheckValue. Removed unused isEditable function.
2137 * html/HTMLInputElement.cpp:
2138 (WebCore::numGraphemeClusters): Added.
2139 (WebCore::numCharactersInGraphemeClusters): Added.
2140 (WebCore::HTMLInputElement::isKeyboardFocusable): Use inputType() instead of using m_type
2142 (WebCore::HTMLInputElement::isMouseFocusable): Ditto.
2143 (WebCore::HTMLInputElement::focus): Ditto.
2144 (WebCore::HTMLInputElement::setInputType): Added code to call constrainValue or recheckValue
2145 so we will enforce maxLen if changing from a type that doesn't have maxLen to one that does.
2146 (WebCore::HTMLInputElement::type): More-standard formatting for switch statement. Put
2147 cases into alphabetical order.
2148 (WebCore::HTMLInputElement::state): Changed switch statement to include all case values and
2149 not include a default case to take advantage of gcc's missing case warning.
2150 (WebCore::HTMLInputElement::restoreState): Ditto.
2151 (WebCore::HTMLInputElement::canHaveSelection): Ditto.
2152 (WebCore::HTMLInputElement::selectionStart): Ditto.
2153 (WebCore::HTMLInputElement::selectionEnd): Ditto.
2154 (WebCore::HTMLInputElement::setSelectionStart): Ditto.
2155 (WebCore::HTMLInputElement::setSelectionEnd): Ditto.
2156 (WebCore::HTMLInputElement::select): Ditto.
2157 (WebCore::HTMLInputElement::setSelectionRange): Ditto.
2158 (WebCore::HTMLInputElement::click): Ditto.
2159 (WebCore::HTMLInputElement::accessKeyAction): Ditto.
2160 (WebCore::HTMLInputElement::parseMappedAttribute): Use inputType() instead of using m_type
2161 directly. Added call to recheckValue when parsing a new value for the maxlength attribute.
2162 (WebCore::HTMLInputElement::rendererIsNeeded): Changed switch statement to include all case
2163 values and not include a default case to take advantage of gcc's missing case warning.
2164 (WebCore::HTMLInputElement::createRenderer): Ditto.
2165 (WebCore::HTMLInputElement::attach): Remove code to condition the value attribute when done
2166 parsing. This is now all handled by constrainValue and recheckValue as needed.
2167 (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use inputType() instead of using
2169 (WebCore::HTMLInputElement::appendFormData): Ditto. Rearranged code a little.
2170 (WebCore::HTMLInputElement::setChecked): Ditto.
2171 (WebCore::HTMLInputElement::setIndeterminate): Ditto.
2172 (WebCore::HTMLInputElement::value): Ditto. Call constrainValue when reading the value out
2173 of the value attribute.
2174 (WebCore::HTMLInputElement::valueWithDefault): Use inputType() instead of using
2175 m_type directly. Changed switch statement to include all case values and not include a
2176 default case to take advantage of gcc's missing case warning.
2177 (WebCore::HTMLInputElement::setValue): Ditto. Call constrainValue when storing a value.
2178 (WebCore::HTMLInputElement::setValueFromRenderer): Added an assertion.
2179 (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Use inputType() instead of
2180 using m_type directly.
2181 (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
2182 (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
2183 (WebCore::HTMLInputElement::defaultEventHandler): Ditto. Changed code to truncate inserted
2184 text in a BeforeTextInsertedEvent to use the new constrainValue function and also the
2185 numGraphemeClusters function, so it's based on grapheme clusters instead of characters and
2187 (WebCore::HTMLInputElement::constrainValue): Added.
2188 (WebCore::HTMLInputElement::recheckValue): Added.
2190 * html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
2191 Removed unneeded code to set m_type to TEXT, which is already what it gets set to by
2192 the base class's constructor.
2194 * html/HTMLGenericFormElement.h: Removed unused isEditable function.
2195 * html/HTMLGenericFormElement.cpp: Ditto.
2196 * html/HTMLTextAreaElement.h: Ditto.
2197 * html/HTMLTextAreaElement.cpp: Ditto.
2199 * platform/StringImpl.cpp: (WebCore::StringImpl::truncate): Changed > to >= so that
2200 truncating to the size of the string does nothing, efficiently.
2202 * rendering/RenderText.h: Added declaration of characterBreakIterator.
2203 * rendering/RenderText.cpp:
2204 (WebCore::characterBreakIterator): Made this public so it can be used in other files.
2205 Maybe we should also move it to another source file later. Also renamed to remove the
2206 "get" from the title.
2207 (WebCore::RenderText::previousOffset): Updated for name change.
2208 (WebCore::RenderText::nextOffset): Updated for name change.
2210 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::updateFromElement):
2211 Removed code to implement maxlength checking. That's handled entirely in the DOM now.
2212 Also moved down the code to get the value into a string so that it's done only in the
2213 case where the string is used.
2215 * rendering/render_form.cpp: (WebCore::RenderFileButton::valueChanged): Use setValueFromRenderer
2216 instead of setting the value directly in the input element. We changed this for all the other
2217 types a while ago, and it works just as well for the input element.
2219 * dom/BeforeTextInsertedEvent.h: Added setText function. Previously, clients changed the text
2220 by modifying the text object in place, but going forward we'd like to avoid that sort of thing.
2222 * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):
2223 Changed code to assume clients will change the text in the event rather than mutating the
2224 text object itself. This is compatible with possible future changes to String to be copy
2226 * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Ditto.
2228 2006-04-07 Darin Adler <darin@apple.com>
2232 - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8134
2233 REGRESSION: dragging down from the middle of a text field does not select to end of field
2235 * editing/Selection.cpp:
2236 (WebCore::comparePositions): Added. Takes shadow content into account.
2237 (WebCore::Selection::validate): Changed to call comparePositions instead of calling
2238 Range::compareBoundaryPoints directly. Also removed unneeded code to redundantly set
2239 m_start and m_end to null and did a bit of reformatting.
2241 - some tiny efficiency improvements to the tokenizer -- no measurable speedup, but removes
2242 a little bit of unneeded code
2244 * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Changed all the places
2245 that do "unsigned short x = *c" to "unsigned short x = c->unicode()" when c is a QChar,
2246 otherwise we do an unnecessary conversion to char (which requires a branch to see if
2247 the c fits in a char).
2249 2006-04-07 Justin Garcia <justin.garcia@apple.com>
2251 Reviewed by harrison
2253 Rolled the fix for 8250 back in and fixed a bug:
2254 The local variables for the first and last nodes in the fragment
2255 need to be reset when the fragment is changed for plaintext-only mode
2256 or a change from the beforetextinserted event handler.
2258 * editing/ReplaceSelectionCommand.cpp:
2259 (WebCore::ReplacementFragment::ReplacementFragment):
2261 2006-04-07 Maciej Stachowiak <mjs@apple.com>
2265 - fixed REGRESSION: offsetParent on element with no offset parent crashes
2268 (WebCore::Element::offsetParent): Add missing null check.
2270 2006-04-07 Justin Garcia <justin.garcia@apple.com>
2274 maxlength truncation in text fields didn't work if the fragment was a
2277 * editing/ReplaceSelectionCommand.cpp:
2278 (WebCore::ReplacementFragment::ReplacementFragment):
2280 2006-04-07 Justin Garcia <justin.garcia@apple.com>
2282 Reviewed by harrison
2284 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8250>
2285 REGRESSION: Interchange newlines aren't passed with the khtmlBeforeTextInsertedEvent
2287 * editing/ReplaceSelectionCommand.cpp:
2288 (WebCore::ReplacementFragment::ReplacementFragment):
2289 Interchange content removal happened before khtmlBeforeTextInsertedEvent was sent.
2291 2006-04-07 Justin Garcia <justin.garcia@apple.com>
2295 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8219>
2296 REGRESSION: Two extra newlines added when pasting a single styled line into a plaintext-only region
2298 * editing/ReplaceSelectionCommand.cpp:
2299 (WebCore::ReplacementFragment::ReplacementFragment):
2300 Converting the fragment to plaintext introduced an extraneous newline because
2301 the range passed to plainText ended after the paragraph containing the fragment
2302 built from the markup that TextEdit put on the paste board. TextIterator will
2303 emit a newline when it exits a paragraph.
2304 Two extra newlines were added because the '\n' in the plaintext string turns
2305 into an interchange newline, which isn't removed because of 8250, and the
2306 interchange newline looks like inline content that requires the insertion of
2307 a paragraph separator during paste.
2308 Fixed by creating a range using VisiblePositions at the start and the end of
2309 the node that holds the fragment during paste's test rendering.
2311 2006-04-06 Justin Garcia <justin.garcia@apple.com>
2313 Reviewed by harrison
2315 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8145>
2316 REGRESSION: Pasting text from TextEdit with a bold word into text field results in crash
2318 * editing/AppendNodeCommand.cpp:
2319 (WebCore::AppendNodeCommand::doApply):
2320 Assert that the node will be placed somewhere that's contenteditable.
2321 * editing/InsertNodeBeforeCommand.cpp:
2322 (WebCore::InsertNodeBeforeCommand::doApply): Ditto
2323 * editing/JSEditor.cpp:
2324 Enabled insertHTML for plaintext-only regions since it's useful for debugging rich
2325 content pastes into the new text fields.
2326 * editing/ReplaceSelectionCommand.cpp:
2327 (WebCore::ReplaceSelectionCommand::doApply):
2328 1) After the first paragraph of the fragment has been merged with the first part of the
2329 paragraph where the paste occured, if the next node to be inserted is inline, we put it
2330 in a new paragraph because it was at the start of a paragraph in the fragment. The change
2331 is to insert a paragraph separator if insertionPos.next() is null or outside of the current
2333 2) Before the paste begins, a paragraph separator is inserted in order to avoid
2334 nesting blocks from the fragment to be pasted inside the block where the paste will
2335 occur. I made two fixes to the code that decides whether or not to insert the
2336 paragraph separator and added testcases for each. Added a fixme because it appears that
2337 this code is also used to ensure that the aforementioned insertionPos will be at the end of
2338 a paragraph. This code should only be about preventing nesting.
2340 2006-04-06 Maciej Stachowiak <mjs@apple.com>
2344 - Convert Element JS bindings to be almost completely autogenerated
2345 http://bugzilla.opendarwin.org/show_bug.cgi?id=8227
2347 * dom/Element.idl: Declare full interface in IDL.
2349 (WebCore::Element::tagQName): Renamed from tagName, so the real DOM
2350 method can be called tagName.
2351 (WebCore::Element::tagName): inline alias for nodeName.
2353 (WebCore::Element::scrollByUnits): Moved logic from JS bindings to
2355 (WebCore::Element::scrollByLines): ditto
2356 (WebCore::Element::scrollByPages): ditto
2357 (WebCore::Element::offsetLeft): ditto, plus make unrendered elements return 0 not undefined
2358 (WebCore::Element::offsetTop): ditto, plus make unrendered elements return 0 not undefined
2359 (WebCore::Element::offsetWidth): ditto, plus make unrendered elements return 0 not undefined
2360 (WebCore::Element::offsetHeight): ditto, plus make unrendered elements return 0 not undefined
2361 (WebCore::Element::offsetParent): ditto
2362 (WebCore::Element::clientWidth): ditto, plus make unrendered elements return 0 not undefined
2363 (WebCore::Element::clientHeight): ditto, plus make unrendered elements return 0 not undefined
2364 (WebCore::Element::scrollLeft): ditto
2365 (WebCore::Element::scrollTop): ditto
2366 (WebCore::Element::setScrollLeft): ditto
2367 (WebCore::Element::setScrollTop): ditto
2368 (WebCore::Element::scrollWidth): ditto, plus make unrendered elements return 0 not undefined
2369 (WebCore::Element::scrollHeight): ditto, plus make unrendered elements return 0 not undefined
2371 * bindings/scripts/CodeGeneratorJS.pm: Added support for
2372 ConvertUndefinedToTrue, for benefit of scroll methods where
2373 omitted arguments should be treated as true. However, maybe
2374 explicit overloading in the IDL would be a better long-term
2375 approach for optional arguments.
2377 * khtml/ecma/kjs_binding.cpp:
2378 (KJS::valueToStringWithNullCheck): fixed formatting
2379 (KJS::valueToBooleanTreatUndefinedAsTrue): added for binding of scrollIntoView
2381 * khtml/ecma/kjs_binding.h:
2382 (KJS::toJS): fixed formatting, added new stuff
2383 * khtml/ecma/kjs_dom.cpp:
2384 (KJS::DOMElement::getValueProperty): removed most of contents
2385 (KJS::DOMElement::putValueProperty): ditto
2386 (KJS::DOMElementProtoFunc::callAsFunction): ditto
2388 * css/cssstyleselector.cpp:
2389 (WebCore::CSSStyleSelector::canShareStyleWithElement): updated for rename
2390 of tagName to tagQName
2391 (WebCore::CSSStyleSelector::checkOneSelector): ditto
2393 (WebCore::Document::importNode): ditto
2394 * editing/ApplyStyleCommand.cpp:
2395 (WebCore::ApplyStyleCommand::removeInlineStyle): ditto
2396 (WebCore::areIdenticalElements): ditto
2397 * html/HTMLElement.cpp:
2398 (WebCore::HTMLElement::inEitherTagList): ditto
2399 (WebCore::HTMLElement::inInlineTagList): ditto
2400 (WebCore::HTMLElement::inBlockTagList): ditto
2402 2006-04-06 Beth Dakin <bdakin@apple.com>
2406 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8203
2407 REGRESSION: "Invite a friend" text field in GMail page spills out
2410 RenderReplaced::calcMinMaxWidth() sets m_minWidth to 0 when the
2411 width is a percent, so this patch copies that behavior into
2412 RenderTextField::calcMinMaxWidth().
2414 * rendering/RenderTextField.cpp:
2415 (WebCore::RenderTextField::calcMinMaxWidth):
2417 2006-04-06 Darin Adler <darin@apple.com>
2419 - try to fix Windows build
2421 * WebCore.vcproj/WebCore/WebCore.vcproj: Add JSDocument.cpp.
2423 2006-04-05 Darin Adler <darin@apple.com>
2427 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8111
2428 REGRESSION (NativeTextField): first click in form field on weather.com leaves focus
2431 Test: fast/forms/input-text-self-emptying-click.html
2433 * page/MouseEventWithHitTestResults.h: Removed url, target, m_url and m_target,
2434 replacing them with isOverLink and m_isOverLink. Replaced innerNode with targetNode,
2435 and added logic to handle the case where the target node is removed from the document
2436 but the element the target node was in is still inside the document.
2437 * page/MouseEventWithHitTestResults.cpp: Added.
2439 * WebCore.xcodeproj/project.pbxproj: Added MouseEventWithHitTestResults.cpp.
2440 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
2442 * kwq/RenderTreeAsText.cpp: (nodePosition): Added a call to shadowParentNode so we
2443 correctly dump positions within shadow trees. This was needed to give a good result
2444 from my new test for this bug.
2447 (WebCore::Document::prepareMouseEvent): Update to pass fewer parameters to the
2448 constructor for MouseEventWithHitTestResults. Now takes isOverLink boolean, and no
2449 longer takes href and target parameters.
2452 (WebCore::Frame::handleMousePressEventDoubleClick): Use new name targetNode, instead
2453 of old name innerNode.
2454 (WebCore::Frame::handleMousePressEventTripleClick): Ditto.
2455 (WebCore::Frame::handleMousePressEventSingleClick): Ditto. Also change code to check
2456 if over a link to use !isOverLink instead of url.isNull.
2457 (WebCore::Frame::handleMousePressEvent): Ditto. Also remove unused "url" local variable.
2458 (WebCore::Frame::handleMouseMoveEvent): Ditto.
2459 (WebCore::Frame::handleMouseReleaseEvent): Ditto.
2460 (WebCore::Frame::passWidgetMouseDownEventToWidget): Ditto.
2462 * bridge/mac/FrameMac.mm:
2463 (WebCore::FrameMac::handleMousePressEvent): Use new name targetNode, instead of old
2465 (WebCore::FrameMac::handleMouseMoveEvent): Ditto.
2466 (WebCore::FrameMac::passSubframeEventToSubframe): Ditto.
2467 (WebCore::FrameMac::sendContextMenuEvent): Ditto.
2469 * page/FrameView.cpp:
2470 (WebCore::subframeForEvent): Use new name targetNode, instead of old name innerNode.
2471 (WebCore::FrameView::handleMousePressEvent): Ditto.
2472 (WebCore::FrameView::handleMouseDoubleClickEvent): Ditto.
2473 (WebCore::selectCursor): Ditto. Also change code to check if over a link to use
2474 isOverLink instead of !url.isNull.
2475 (WebCore::FrameView::handleMouseMoveEvent): Ditto.
2476 (WebCore::FrameView::handleMouseReleaseEvent): Ditto.
2477 (WebCore::FrameView::updateDragAndDrop): Ditto.
2479 2006-04-05 Mitz Pettel <opendarwin.org@mitzpettel.com>
2481 Reviewed and landed by Maciej.
2483 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8184
2484 REGRESSION (r13655): Layer outline not clipped where it should be
2486 * rendering/RenderLayer.cpp:
2487 (WebCore::RenderLayer::calculateRects): Reverted this part of the fix for bug 7943.
2488 The outlineRect should not be inflated.
2490 2006-04-05 Rob Buis <buis@kde.org>
2492 Reviewed by Eric, landed by Maciej.
2494 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7627:
2495 SVG from the W3C SVG 1.1 test suite (cubic01.svg) renders as all black
2497 Fix this svg stylesheet to use strict-mode, as this makes sure
2498 class selecting is done correctly.
2500 * ksvg2/svg/SVGStyleElement.cpp:
2501 (SVGStyleElement::childrenChanged):
2503 2006-04-05 Justin Garcia <justin.garcia@apple.com>
2507 I forgot to convert one of the implicit remove/inserts to an explicit remove/insert,
2508 so we were hitting the assert I just added to InsertNodeBeforeCommand that checked for
2511 * editing/ReplaceSelectionCommand.cpp:
2512 (WebCore::ReplaceSelectionCommand::doApply):
2514 2006-04-05 Maciej Stachowiak <mjs@apple.com>
2518 - autogenerate bindings for all of the methods and properties of Document
2519 http://bugzilla.opendarwin.org/show_bug.cgi?id=8163
2521 - also removed document.actualEncoding since it is not in any spec
2522 or implemented by any other browser
2524 * DerivedSources.make: add JSDocument.h to results
2525 * WebCore.xcodeproj/project.pbxproj: Added new files to project
2526 * bindings/scripts/CodeGeneratorJS.pm: Support for new stuff needed by Document.
2528 (WebCore::Document::readyState): moved impl here from JS bindings
2529 (WebCore::Document::inputEncoding): ditto
2530 (WebCore::Document::defaultCharset): ditto
2531 (WebCore::Document::setCharset): ditto
2533 (WebCore::Document::charset): added, synonym for inputEncoding.
2534 (WebCore::Document::characterSet): ditto
2535 * dom/Document.idl: Added. Full interface for the Document object.
2536 * khtml/ecma/JSXMLHttpRequest.cpp:
2537 (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): JSDocument, not DOMDocument
2538 * khtml/ecma/JSXSLTProcessor.cpp:
2539 (KJS::XSLTProcessorProtoFunc::callAsFunction): ditto
2540 * khtml/ecma/kjs_binding.cpp:
2541 (KJS::jsStringOrFalse): Added this convenience for the method on Document
2542 that bizzarely returns false on failure and a string otherwise.
2543 * khtml/ecma/kjs_binding.h:
2544 * khtml/ecma/kjs_css.cpp:
2545 (KJS::toJS): renamed for consistency
2546 * khtml/ecma/kjs_css.h:
2547 * khtml/ecma/kjs_dom.cpp:
2548 - removed all traces of DOMDocument
2549 (KJS::toJS): JSDocument, not DOMDocument
2550 * khtml/ecma/kjs_dom.h:
2551 * khtml/ecma/kjs_html.cpp:
2553 (KJS::JSHTMLDocument::JSHTMLDocument): inherit from JSDocument
2554 (KJS::JSHTMLDocument::getOwnPropertySlot): ditto
2555 (KJS::JSHTMLDocument::put): ditto
2556 * khtml/ecma/kjs_html.h:
2557 * khtml/ecma/kjs_traversal.cpp:
2558 (KJS::toJS): added overloads
2559 (KJS::toNodeFilter): handle JS functions as well as impl NodeFilter objects
2560 * khtml/ecma/kjs_traversal.h:
2561 * platform/AtomicString.h:
2562 (WebCore::AtomicString::AtomicString): Allow implicit conversion from String.
2564 2006-04-05 Justin Garcia <justin.garcia@apple.com>
2568 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8198>
2569 Hitting an assert on undo paste
2571 ReplaceSelectionCommand was doing a combination of undoable and non-undoable
2572 removes from the ReplacementFragment. On Undo Paste, the undoable removes
2573 couldn't be undone because the tree was in a different state than it was
2574 at the time of the remove. This patch makes all the removes from the fragment
2575 non-undoable. We could make them all undoable, but I can't think of any reason
2576 why we'd want the fragment to be reconstructed on an Undo Paste.
2578 * editing/AppendNodeCommand.cpp:
2579 (WebCore::AppendNodeCommand::doApply):
2580 Assert that the node to append isn't already in a tree, since if it is, it will
2581 be removed in a non-undoable way.
2582 * editing/InsertNodeBeforeCommand.cpp:
2583 (WebCore::InsertNodeBeforeCommand::doApply): Ditto.
2584 * editing/ReplaceSelectionCommand.cpp:
2585 (WebCore::ReplaceSelectionCommand::doApply):
2586 Nodes were being moved from the fragment to the document with undoable inserts.
2587 Undoable inserts implicitly remove the node (in a non-undoable way) from its
2588 old location if it is already in a tree. I now explicitly remove the nodes
2589 from the fragment before inserting them into the document to make it clear that
2590 they are being removed in a non-non-undoable way. I also changed the one undoable
2591 remove from the fragment to a non-undoable remove.
2592 * editing/ReplaceSelectionCommand.h:
2593 Made ReplacementFragment's non-undoable removeNode public.
2595 2006-04-05 Darin Adler <darin@apple.com>
2599 * WebCore.xcodeproj/project.pbxproj: Oops! Resolved merge conflict.
2601 2006-04-05 Darin Adler <darin@apple.com>
2605 - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8049
2606 StringImpl hash traits deleted value creates an init routine for WebCore
2607 <rdar://problem/4442248> REGRESSION: WebCore has init routines (8049)
2609 * platform/StringHash.h: Added. Moved hash functions and such for
2610 WebCore::String and friends into this file so we don't have to include
2611 the hash traits header everywhere. Changed hashing for WebCore::StringImpl
2612 and WebCore::String so that they use a raw pointer for the underlying
2613 storage type, taking advantage of the new feature added in JavaScriptCore.
2615 * platform/AtomicString.h: Moved StrHash specialization to StringHash.h.
2616 * platform/PlatformString.h: Moved StrHash specialization to StringHash.h.
2617 * platform/StringImpl.h: Moved StrHash, CaseInsensitiveHash, and HashTraits
2618 to StringHash.h. Left DefaultHash behind so that you can't get the wrong
2619 hash function by accident if you forget to include "StringHash.h".
2621 * platform/StringImpl.cpp: Added include of StringHash.h and removed
2622 RefPtr<StringImpl> HashTraits<RefPtr<StringImpl> >::_deleted, which is
2623 the object with a global initializer causing all the trouble!
2625 * kwq/AccessibilityObjectCache.h: Changed hash function to be IntHash
2628 * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to inherit from
2629 the generic traits in KXMLCore so we get a StorageType. Also cleaned up a
2630 tiny bit by adding default values to the MappedAttributeKey constructor.
2632 * platform/CharsetNames.cpp: Changed hash traits here to be a new
2633 TextEncodingIDHashTraits struct rather than defining new default traits
2634 for the integer type since more integer types have default traits in
2635 HashTraits.h now. Also added a specialization so this class will share
2636 the underlying implementation (since InvalidEncoding happens to be -1).
2638 * bridge/mac/FrameMac.h:
2640 * dom/xml_tokenizer.h:
2641 * khtml/xsl/XSLTProcessor.h:
2642 * kwq/JavaAppletWidget.h:
2643 * page/FramePrivate.h:
2645 * platform/AtomicString.cpp:
2646 * platform/TransferJob.h:
2647 * rendering/render_applet.h:
2648 Added include of StringHash.h.
2650 * WebCore.xcodeproj/project.pbxproj: Added StringHash.h. Remove unneeded
2651 CREATE_HASH_TABLE variable in build settings. Re-sorted some file lists.
2652 Added quotes to the CREATE_HASH_TABLE initialization in the rule that
2653 builds generated files. Removed various unneeded build settings for that
2656 * ForwardingHeaders/kxmlcore/HashTraits.h: Added.
2658 - other minor cleanup
2660 * bridge/mac/FrameMac.mm: Sorted includes.
2661 * dom/Node.cpp: Removed bogus symbol after #endif.
2663 * khtml/xsl/XSLTProcessor.cpp: Sorted includes. Removed redundant using
2665 * loader/Cache.cpp: Ditto.
2667 2006-04-05 Beth Dakin <bdakin@apple.com>
2671 Fix for <rdar://problem/4502311> text-transform:capitalize needs to
2672 treat nbsp as a regular space when ICU changes
2674 There will be future changes in ICU to match the Unicode 4.1
2675 standard which no longer recognizes   as a word separator. We
2676 need to work around this with text-transform:capitalize because
2677 words after non-breaking spaces still need to be capitalized.
2679 No layout tests added because existing layout tests cover this.
2681 * platform/StringImpl.cpp:
2682 (WebCore::StringImpl::capitalize): If the character is a non-
2683 breaking space, add a regular space to our temporary buffer,
2684 otherwise, just copy the character in.
2686 2006-04-05 Alexey Proskuryakov <ap@nypop.com>
2690 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8110
2691 Define navigator.vendorSub (bcms.gov.uk doesn't allow access to login page)
2693 Test: fast/dom/navigator-vendorSub.html
2695 * khtml/ecma/kjs_navigator.cpp:
2696 (KJS::Navigator::getValueProperty): Return an empty string for vendorSub property.
2697 * khtml/ecma/kjs_navigator.h:
2699 2006-04-04 Darin Adler <darin@apple.com>
2701 Reviewed by Justin (editing parts) and Adele (the rest).
2703 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8182
2704 some text-field-related layout tests are failing
2706 The smart paste code was getting confused and adding extra spaces.
2708 * editing/ReplaceSelectionCommand.cpp:
2709 (WebCore::ReplaceSelectionCommand::doApply): Use isStartOfParagraph instead of
2711 (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): Ditto.
2713 * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::enclosingEmptyListItem):
2714 Change to call isStart/EndOfParagraph instead of Line.
2716 * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input):
2717 Add a comment about how isStartOfLine is almost certainly wrong here.
2719 - clean up some loose ends in the Frame class from the recent renaming
2721 * page/Frame.h: Removed declarations of deleteMe1, deleteMe2, and
2722 handleMouseMoveEventPart2.
2723 * page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent): Removed
2724 handleMouseMoveEventPart2 by renaming it to handleMouseMoveEvent and removing
2725 handleMouseMoveEvent itself.
2727 - invoke the makefile directly, removing the generate-derived-sources script
2729 * WebCore.vcproj/WebCore/build-generated-files.sh: Call make directly.
2730 * WebCore.xcodeproj/project.pbxproj: Ditto.
2731 * generate-derived-sources: Removed.
2733 2006-04-04 Adele Peterson <adele@apple.com>
2737 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8158
2738 REGRESSION: Clicking past RTL text in a new text field puts the caret on the wrong side of the text
2741 editing/selection/caret-rtl.html
2742 editing/selection/caret-rtl-2.html
2744 * rendering/RenderText.cpp: (WebCore::RenderText::positionForCoordinates):
2745 When calculating the position for the beginning or end of an InlineTextBox,
2746 we now use offsetForPosition instead of just using m_start and m_len, because
2747 offsetForPosition will take rtl text into account. I also made some formatting
2750 2006-04-04 David Hyatt <hyatt@apple.com>
2752 Fix for bug 8065, inline blocks incorrectly loses spaces between them.
2757 (WebCore::Text::rendererIsNeeded):
2759 2006-04-04 Adele Peterson <adele@apple.com>
2764 http://bugzilla.opendarwin.org/show_bug.cgi?id=8092
2765 REGRESSION (NativeTextField): table contents misaligned in Netflix queue
2767 http://bugzilla.opendarwin.org/show_bug.cgi?id=8141
2768 REGRESSION: Native text field fails to wrap inside table
2770 http://bugzilla.opendarwin.org/show_bug.cgi?id=8072
2771 REGRESSION: text fields at connect.apple.com spill out of the containing box
2773 Test: fast/forms/input-table.html
2775 Rewrote calcMinMaxWidth for text fields so it considers width,
2776 min-width, and max-width settings as well as the size attribute.
2778 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
2780 2006-04-04 Beth Dakin <bdakin@apple.com>
2784 This is a followup to my fix for <rdar://problem/4493218>
2786 This patch re-names computeIntLength() and computeShortLength() to
2787 be computeLengthInt() and computeLengthShort(), respectively, to
2788 match the pre-existing computeLengthFloat(). This patch also adds
2789 the slightly confusing-ly named computeLengthIntForLength() which
2790 uses the max and min values of a 28-bit integer as bounds for
2791 overflow. This function is necessary because Length objects expect
2794 * css/css_valueimpl.cpp:
2795 (WebCore::CSSPrimitiveValue::computeLengthInt):
2796 (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
2797 (WebCore::CSSPrimitiveValue::computeLengthShort):
2798 * css/css_valueimpl.h:
2799 * css/cssstyleselector.cpp:
2800 (WebCore::convertToLength):
2801 (WebCore::CSSStyleSelector::applyProperty):
2802 (WebCore::CSSStyleSelector::mapBackgroundXPosition):
2803 (WebCore::CSSStyleSelector::mapBackgroundYPosition):
2805 2006-04-04 Timothy Hatcher <timothy@apple.com>
2809 The Debug and Release frameworks are now built with install paths relative to the build products directory.
2810 This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore.
2812 * WebCore.xcodeproj/project.pbxproj:
2814 2006-04-04 Justin Garcia <justin.garcia@apple.com>
2818 <http://bugzilla.opendarwin.org/show_bug.cgi?id=6608>
2819 REGRESSION: Line disappears when deleting
2821 Rewrote moveNodesAfterNode to address these problems:
2822 It moved nodes without preserving their style.
2823 It traversed over siblings looking for a br to know when
2824 to stop merging. If the br was burried inside a span, it
2825 wouldn't find it. If the text is whitespace:pre, it wouldn't
2827 In theory it would crash if the "enclosingInlineElements" of the start of the
2828 selection to delete and the end of the selection to delete were the
2829 same. We think that this will fix these:
2830 <rdar://problems/3950559&4498113>
2831 CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32
2832 CrashTracer: 1569 crashes in Mail at com.apple.WebCore: khtml::DeleteSelectionCommand::moveNodesAfterNode + 340
2833 But we haven't been able to construct a reproducible case.
2835 * editing/CompositeEditCommand.cpp:
2836 (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Moved from ReplaceSelectionCommand.
2837 (WebCore::CompositeEditCommand::prune): Ditto.
2838 * editing/CompositeEditCommand.h:
2839 * editing/DeleteSelectionCommand.cpp:
2840 (WebCore::DeleteSelectionCommand::mergeParagraphs):
2841 (WebCore::DeleteSelectionCommand::doApply):
2842 * editing/DeleteSelectionCommand.h:
2843 * editing/ReplaceSelectionCommand.cpp:
2844 (WebCore::ReplaceSelectionCommand::doApply):
2845 * editing/ReplaceSelectionCommand.h:
2847 * editing/markup.cpp:
2848 (WebCore::createMarkup):
2849 Was crashing when passed a collapsed range. I early return an empty string instead.
2851 2006-04-04 John Sullivan <sullivan@apple.com>
2853 Reviewed by Adele Peterson.
2855 - WebCore part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
2857 * bridge/mac/WebCoreSettings.h:
2858 * bridge/mac/WebCoreSettings.mm:
2859 (-[WebCoreSettings setPrivateBrowsingEnabled:]):
2860 (-[WebCoreSettings privateBrowsingEnabled]):
2861 Teach WebCoreSettings about private browsing (WebKit knew, but WebCore didn't)
2863 * kwq/KWQKHTMLSettings.h:
2864 (KHTMLSettings::privateBrowsingEnabled):
2865 (KHTMLSettings::setPrivateBrowsingEnabled):
2866 Teach KHTMLSettings about private browsing
2868 * kwq/KWQLineEdit.mm:
2869 Fix wrong class in a category method declaration; the compiler didn't seem to mind.
2871 * kwq/WebCoreTextField.mm:
2872 (-[KWQSearchFieldCell _addStringToRecentSearches:]):
2873 Override this method to bail out if private browsing is enabled.
2875 2006-04-04 Trey Matteson <trey@usa.net>
2879 http://bugzilla.opendarwin.org/show_bug.cgi?id=7951
2880 REGRESSION: Safari crashes when printing a google map w/directions
2882 Tests: none, because I believe it only happens when printing, due to the relayouts
2884 * rendering/RenderTable.cpp:
2885 (WebCore::RenderTable::recalcSectionsIfNeeded): Add new utility to let the cells
2886 ensure the sections' grid data is up to date.
2887 * rendering/RenderTable.h:
2888 * rendering/RenderTableCell.cpp:
2889 (WebCore::RenderTableCell::calcMinMaxWidth): Call above method.
2891 2006-04-03 Justin Haygood <jhaygood@spsu.edu>
2893 Reviewed by eseidel. Landed by eseidel.
2895 - WIN32: maximumScroll() is the maximum scroll delta, not the maximum scroll position. Update to use
2896 the real maximum scroll position.
2897 http://bugzilla.opendarwin.org/show_bug.cgi?id=8160
2899 * platform/win/ScrollViewWin.cpp:
2900 (WebCore::ScrollView::updateScrollBars):
2902 2006-04-04 Eric Seidel <eseidel@apple.com>
2904 Reviewed by andersca.
2906 Work-around spaces-in-pathnames issue in gnumake on win32.
2907 http://bugzilla.opendarwin.org/show_bug.cgi?id=8173
2909 * WebCore.vcproj/WebCore/build-generated-files.sh:
2911 2006-04-03 Darin Adler <darin@apple.com>
2913 - tried to fix build again
2915 * WebCore.xcodeproj/project.pbxproj: Removed JSStyleSheet files.
2916 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
2918 2006-04-03 Darin Adler <darin@apple.com>
2920 - fixed properties on a bunch of files
2921 (removed allow-tabs and svn:executable from many)
2924 * html/html_headimpl.cpp:
2925 * khtml/ecma/kjs_traversal.cpp:
2926 * kwq/DeprecatedPtrListImpl.cpp:
2927 * kwq/DeprecatedValueListImpl.cpp:
2928 * loader/CachedScript.h:
2929 * platform/ArrayImpl.cpp:
2930 * platform/StringImpl.cpp:
2931 * rendering/DataRef.h:
2932 * rendering/RenderContainer.cpp:
2933 * rendering/RenderTableCell.cpp:
2935 * rendering/render_list.cpp:
2936 * rendering/render_style.cpp:
2937 * rendering/table_layout.h:
2938 Converted tabs to spaces.
2940 2006-04-03 Alexey Proskuryakov <ap@nypop.com>
2944 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7118
2945 Property values with extra items do not get treated as invalid (they should)
2947 Tests: fast/css/invalidation-errors.html
2948 fast/css/invalidation-errors-2.html
2949 fast/css/invalidation-errors-3.html
2951 * css/CSSGrammar.y: Rollback the properties added by parseValue() when it returns false.
2952 * css/cssparser.h: Moved shorthand counting to ShorthandScope, a new class in cssparser.cpp.
2953 * css/cssparser.cpp:
2954 (WebCore::CSSParser::rollbackLastProperties): Added.
2955 (WebCore::CSSParser::parseValue): Return false if there are too many properties in the list.
2956 (WebCore::CSSParser::parseBackgroundShorthand): Use ShorthandScope.
2957 (WebCore::CSSParser::parseShorthand): Ditto.
2958 (WebCore::CSSParser::parse4Values): Ditto.
2960 2006-04-03 Darin Adler <darin@apple.com>
2962 - changed StyleSheet back to hand-generated since the generated toJS
2963 function was not making the right type of wrapper for CSS style sheets
2964 (fixes failing layout tests)
2966 * DerivedSources.make: Removed JSStyleSheet.h.
2967 * css/StyleSheet.idl: Removed.
2968 * khtml/ecma/kjs_css.cpp: Added DOMStyleSheet back in.
2969 * khtml/ecma/kjs_css.h: Ditto.
2971 2006-04-03 Darin Adler <darin@apple.com>
2973 - fixed Macintosh build
2975 * WebCore.xcodeproj/project.pbxproj: Fixed paths of some files that were absolute
2976 paths from my machine.
2978 2006-04-03 Darin Adler <darin@apple.com>
2980 - try to fix Windows build
2982 * WebCore.vcproj/WebCore/WebCore.vcproj: Add three new generated files as source files.
2984 2006-04-03 Darin Adler <darin@apple.com>
2988 - get RTL right for bug http://bugzilla.opendarwin.org/show_bug.cgi?id=8106
2989 REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus
2991 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent):
2992 Scroll to the right if RTL.
2994 2006-04-03 Darin Adler <darin@apple.com>
2998 - http://bugzilla.opendarwin.org/show_bug.cgi?id=8147
2999 convert derived sources script to a Makefile
3001 * DerivedSources.make: Added.
3002 * css/CSSPrimitiveValue.idl: Added.
3003 * css/Counter.idl: Added.
3004 * css/StyleSheet.idl: Added.
3006 * WebCore.xcodeproj/project.pbxproj: Added new generated files, IDLs, and the makefile.
3007 * bindings/scripts/CodeGeneratorJS.pm:
3009 * generate-derived-sources: Added license header. Removed most of the script, except for
3010 a single invocation of make.
3012 * khtml/ecma/kjs_css.h: Removed DOMStyleSheet, DOMCSSPrimitiveValue,
3013 CSSPrimitiveValueConstructor, and DOMCounter.
3014 * khtml/ecma/kjs_css.cpp:
3015 (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet): Changed to use JSStyleSheet as the base class.
3016 (KJS::DOMCSSStyleSheet::getOwnPropertySlot): Ditto.
3017 (KJS::DOMCSSValueProtoFunc::callAsFunction): Added.
3018 (KJS::toJS): Changed to use JSCSSPrimitiveValue.
3019 (KJS::DOMRGBColor::getValueProperty): Changed to call toJS instead of making a
3020 DOMCSSPrimitiveValue directly.
3022 2006-04-03 Justin Garcia <justin.garcia@apple.com>
3024 Reviewed by harrison
3026 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8117>
3027 REGRESSION (NativeTextField): Drag and drop text within a text input field modifies page
3029 The frame's selection is only set after all sub-commands have been
3030 performed. When we send the khtmlBeforeTextInsertedEvent to the root
3031 editable element we were using frame->selection(), which may no longer
3034 Had to move the construction of the ReplacementFragment to when the
3035 replace operation is applied, because endingSelection isn't the
3036 endingSelection of the last operation when the replace operation
3039 * editing/ReplaceSelectionCommand.cpp:
3040 (WebCore::ReplacementFragment::ReplacementFragment):
3041 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
3042 (WebCore::ReplaceSelectionCommand::doApply):
3043 * editing/ReplaceSelectionCommand.h:
3045 2006-04-03 Beth Dakin <bdakin@apple.com>
3049 Fix for <rdar://problem/4495644> crash when mousing over links at
3050 nationalrealestateinvestors.com in
3051 WebCore::RenderBlock::findNextLineBreak
3053 This is a fix for a repro crasher where a rootLineBox had a stale
3054 pointer to a render object.
3056 * rendering/RenderFlow.cpp:
3057 (WebCore::RenderFlow::dirtyLinesFromChangedChild): Only break from
3058 the function because of selfNeedsLayout() if we are not an inline
3059 flow, because if we are, we will not re-layout before bad things
3062 2006-04-03 Timothy Hatcher <timothy@apple.com>
3066 Removing idl files and some scripts from the WebCore target to prevent
3067 them from being copied into the Resources.
3069 * WebCore.xcodeproj/project.pbxproj:
3071 2006-04-03 Dave Hyatt <hyatt@apple.com>
3073 Implement basic theme support on Win32. Still much to do, but
3074 the backgrounds of buttons, textfields, checkboxes and radio
3075 controls now draw correctly. Still work to do for the Classic look
3076 and to get the foreground defaults of the controls correct.
3081 (WebCore::Node::isReadOnly):
3082 * html/HTMLInputElement.h:
3083 (WebCore::HTMLInputElement::isReadOnly):
3084 * platform/win/IntRectWin.cpp:
3085 (WebCore::IntRect::operator RECT):
3086 * rendering/RenderTheme.cpp:
3087 (WebCore::RenderTheme::isControlStyled):
3088 (WebCore::RenderTheme::stateChanged):
3089 (WebCore::RenderTheme::isReadOnly):
3090 (WebCore::RenderTheme::isHovered):
3091 * rendering/RenderTheme.h:
3092 (WebCore::RenderTheme::supportsHover):
3093 * rendering/RenderThemeMac.h:
3094 * rendering/RenderThemeMac.mm:
3095 (WebCore::RenderThemeMac::isControlStyled):
3096 * rendering/RenderThemeWin.cpp:
3097 (WebCore::m_textFieldTheme):
3098 (WebCore::RenderThemeWin::~RenderThemeWin):
3099 (WebCore::RenderThemeWin::close):
3100 (WebCore::RenderThemeWin::supportsFocus):
3101 (WebCore::RenderThemeWin::determineState):
3102 (WebCore::RenderThemeWin::getThemeData):
3103 (WebCore::RenderThemeWin::paintButton):
3104 (WebCore::RenderThemeWin::setCheckboxSize):
3105 (WebCore::RenderThemeWin::setRadioSize):
3106 (WebCore::RenderThemeWin::paintTextField):
3107 * rendering/RenderThemeWin.h:
3108 (WebCore::ThemeData::m_state):
3109 (WebCore::RenderThemeWin::supportsHover):
3110 (WebCore::RenderThemeWin::paintCheckbox):
3111 (WebCore::RenderThemeWin::paintRadio):
3113 2006-04-03 Mitz Pettel <opendarwin.org@mitzpettel.com>
3117 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8085
3118 REGRESSION: Main menu positioned incorrectly on eia.org and fedex.com/us
3120 Test: fast/dom/Element/offsetTop-table-cell.html
3122 * rendering/RenderObject.cpp:
3123 (WebCore::RenderObject::offsetTop): Skip table rows when adding up
3124 the offsets, since a table cell's yPos() is relative to the table
3125 section, not the row.
3127 2006-04-03 Mitz Pettel <opendarwin.org@mitzpettel.com>
3129 Test: fast/repaint/layer-outline.html fast/repaint/layer-outline-horizontal.html
3133 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7943
3134 Layer outline does not repaint
3136 * rendering/RenderLayer.cpp:
3137 (WebCore::RenderLayer::paintLayer): Use the outlineRect for the
3138 outline phase and do it only if the outlineRect isn't empty.
3139 (WebCore::RenderLayer::calculateRects): Actually add the outline width to the
3142 2006-04-03 Adele Peterson <adele@apple.com>
3146 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8104
3147 REGRESSION (NativeTextField): New text fields should not allow pasting newlines
3149 Test: fast/forms/input-truncate-newline.html
3151 * html/HTMLInputElement.cpp:
3152 (WebCore::minPosition): Added helper function.
3153 (WebCore::HTMLInputElement::defaultEventHandler): Searches for /r or /n and
3154 truncates the text to be inserted to the earliest newline.
3156 2006-04-03 Alexey Proskuryakov <ap@nypop.com>
3158 Fixed a comment (forgot to save the file before the previous commit).
3160 * xml/xmlhttprequest.cpp:
3161 (WebCore::XMLHttpRequest::open):
3163 2006-04-03 Alexey Proskuryakov <ap@nypop.com>
3167 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8099
3168 REGRESSION: XMLHttpRequest lowercase post requests broken
3170 Test: http/tests/xmlhttprequest/methods-lower-case.html
3172 * xml/xmlhttprequest.cpp:
3173 (WebCore::XMLHttpRequest::open): Uppercase some HTTP method names, to match a Firefox quirk.
3174 (WebCore::XMLHttpRequest::send): Account for the above change.
3176 2006-04-02 Graham Dennis <Graham.Dennis@gmail.com>
3180 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8032
3181 REGRESSION: Focus ring not completely redrawn after a Delete changes its size
3183 * rendering/RenderObject.cpp:
3184 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): When an element changes size, the
3185 delta rectangles that need to be invalidated must be inflated by the outline size to ensure
3186 that the previous outline is erased, and the space where the new outline is to be drawn is
3187 also invalidated. This behaviour is identical to the behaviour of borders that was fixed in
3189 * manual-tests/outline-repaint-glitch.html: Added. Manual testcase.
3190 This is just an outline version of border-repaint-glitch.html
3192 2006-04-02 Trey Matteson <trey@usa.net>
3196 Support for fixing http://bugzilla.opendarwin.org/show_bug.cgi?id=8121
3197 REGRESSION: 404s are not displayed
3199 * bridge/mac/WebCoreFrameBridge.mm:
3200 (-[WebCoreFrameBridge currentForm]): Nuke redundant nil check.
3201 (-[WebCoreFrameBridge frameElement]): Tweak to not rely on our document, which
3202 gives a correct result even at the start of our loading process.
3203 * bindings/objc/DOM.mm:
3204 (-[DOMDocument _ownerElement]): Nuke redundant nil check.
3206 2006-04-02 David Kilzer <ddkilzer@kilzer.net>
3210 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8079
3211 REGRESSION: Redraw from page cache does not show visited links
3213 * page/Frame.cpp: (WebCore::Frame::reparseConfiguration): Added back
3214 updateStyleSelector call that was removed as part of the patch for bug 7907.
3216 2006-04-02 Maciej Stachowiak <mjs@apple.com>
3220 - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
3221 - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
3222 (http://bugzilla.opendarwin.org/show_bug.cgi?id=6811)
3223 - fixed tab and shift tab don't select the right things
3224 http://bugzilla.opendarwin.org/show_bug.cgi?id=5685
3226 * bridge/mac/FrameMac.mm:
3227 (WebCore::FrameMac::nextKeyViewInFrame):
3228 * bridge/mac/WebCoreFrameBridge.h:
3230 2006-04-02 Darin Adler <darin@apple.com>
3232 - add a few stubs to get Windows closer to building
3234 * platform/win/TemporaryLinkStubs.cpp:
3235 (WebCore::focusRingColor):
3236 (WebCore::setFocusRingColorChangeFunction):
3237 (Frame::setNeedsReapplyStyles):
3239 2006-04-02 Darin Adler <darin@apple.com>
3243 * WebCore.xcodeproj/project.pbxproj: Removed a bunch of files that should not have been
3244 mentioned at all, and a bunch of others that should be in the project but not in the target.
3246 2006-04-02 Darin Adler <darin@apple.com>
3250 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8123
3251 focus ring on new text field doesn't look like the old one
3253 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7685
3254 Focus ring color should change to match graphite when system theme is graphite
3256 - some cleanup to how we parse user agent style sheets
3258 * css/CSSValueKeywords.in: Added -webkit-focus-ring-color.
3260 * css/cssstyleselector.cpp:
3261 (WebCore::parseUASheet): Parse an array of chars instead of UTF-16.
3262 Cuts the size of the style sheet in half.
3263 (WebCore::CSSStyleSelector::applyProperty): Allow negative value for
3264 outline-offset. Changed shadow parsing to use getColorFromPrimitiveValue
3265 instead of repeating the same logic.
3266 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Added a case
3267 for the focus ring color.
3268 * rendering/render_style.h: (WebCore::RenderStyle::setOutlineOffset):
3269 Changed to allow negative values.
3271 * css/html4.css: Removed a lot of excess spaces. Changed color of focus
3272 to -webkit-focus-ring-color. Changed width of focus to 5px.
3273 Added an outline-offset for <input type=text> of -2px.
3275 * css/cssparser.cpp:
3276 (WebCore::CSSParser::parseValue): Added focus ring color as an outline color all
3277 the time, and as any other color when not in strict mode. I'm confused about what's
3278 best for this whole strict mode policy, and I may need advice on Hyatt to perfect
3280 (WebCore::CSSParser::parseColorFromValue): Removed code to pin r, g, and b because
3281 the functions in platform already take care of that. Kept the pinning of a, though
3282 because that's done in floating point before converting to an integer.
3283 (WebCore::CSSParser::parseShadow): Allow focus ring color when not in strict mode.
3285 * bridge/mac/FrameMac.h: Eliminated the virtual detachFromView function.
3286 * bridge/mac/FrameMac.mm:
3287 (WebCore::FrameMac::FrameMac): Eliminated code to maintain the frame instances list.
3288 (WebCore::FrameMac::~FrameMac): Ditto.
3289 (WebCore::Frame::setNeedsReapplyStyles): Added.
3291 * bridge/mac/WebCoreSettings.mm: (-[WebCoreSettings _updateAllViews]):
3292 * platform/mac/WebCoreTextRendererFactory.mm:
3293 (-[WebCoreTextRendererFactory clearCaches]):
3294 Changed to call the new Page::setNeedsReapplyStylesForSettingsChange instead of using the
3295 obsolete Frame::instances.
3297 * page/Frame.h: Removed instances, mutableInstances, and detachFromView.
3298 * page/Frame.cpp: Ditto.
3300 * page/FrameTree.cpp:
3301 (WebCore::FrameTree::~FrameTree): Call setView(0) instead of detachFromView().
3302 (WebCore::FrameTree::removeChild): Ditto.
3306 (WebCore::Page::init): Added a set of pages instead of a page count. Also
3307 register a function for when the focus ring color changes the first time this
3309 (WebCore::Page::~Page): Call setView(0) instead of detachFromView. Also update
3310 to manager the set of pages.
3311 (WebCore::Page::setNeedsReapplyStyles): Call setNeedsReapplyStyles on all frames.
3312 (WebCore::Page::setNeedsReapplyStylesForSettingsChange): Call setNeedsReapplyStyles
3313 on all frames with the passed-in settings.
3315 * css/make-css-file-arrays.pl: Changed to run the C preprocessor on the
3316 input files and to generate an array of char instead of unsigned short.
3318 * platform/PlatformString.h: Added a constructor that takes a char* and
3320 * platform/String.cpp: (WebCore::String::String): Ditto.
3322 * WebCore.xcodeproj/project.pbxproj: Just some tweaks; adding in a few files like
3323 the user agent style sheets.
3325 * platform/Color.h: Removed all use of DeprecatedString. Cleaned up a bit.
3326 Added focusRingColor and setFocusRingColorChangeFunction.
3327 * platform/Color.cpp:
3328 (WebCore::makeRGB): Rewrote using max and min.
3329 (WebCore::makeRGBA): Ditto.
3330 (WebCore::parseHexColor): Cleaned up a bit; changed partway to String instead of
3332 (WebCore::Color::Color): Changed to use String and to call setNamedColor to save code.
3333 (WebCore::Color::setNamedColor): Changed to use String in the interface.
3335 * platform/mac/ColorMac.mm:
3336 (WebCore::observeTheme): Added. Function used to start up the observer.
3337 (WebCore::setFocusRingColorChangeFunction): Added. Used to get a call back so we can
3338 update all the views when the color changes (including recomputing style to get the
3340 (WebCore::setFocusRingColorChangeFunction): Added. Returns one of the two focus
3341 ring colors. Both of these match what AppKit uses -- neither matches what we used
3342 to have in the html4.css file.
3343 (+[WebCoreControlTintObserver controlTintDidChange]): Added. Used to update when
3344 the appearance is changed from blue to graphite and back. We keep a global so we
3345 don't have to call over to AppKit every time; that's probably overkill but we need
3346 the obsever for the color change function anyway.
3348 2006-04-02 Mitz Pettel <opendarwin.org@mitzpettel.com>
3350 Test: fast/inline-block/overflow-clip.html
3354 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8118
3355 REGRESSION (r13595): Inline block's clipped overflow increases table row height
3357 * rendering/render_line.cpp:
3358 (WebCore::InlineFlowBox::placeBoxesVertically): Don't look at interior overflow
3359 when calculating the contribution to the inline's vertical overflows.
3361 2006-04-02 Eric Seidel <eseidel@apple.com>
3363 Reviewed by andersca.
3365 Make WebCore safe against KJS::Node in JavaScriptCore private headers.
3367 * editing/ReplaceSelectionCommand.h:
3368 * khtml/ecma/JSXMLSerializer.cpp:
3369 (KJS::XMLSerializerProtoFunc::callAsFunction):
3370 * khtml/ecma/JSXSLTProcessor.cpp:
3371 (KJS::XSLTProcessorProtoFunc::callAsFunction):
3372 * khtml/ecma/kjs_binding.cpp:
3373 (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
3374 (KJS::ScriptInterpreter::putDOMNodeForDocument):
3375 * khtml/ecma/kjs_dom.cpp:
3376 (KJS::DOMNode::DOMNode):
3377 (KJS::DOMNode::mark):
3378 (KJS::DOMNode::getValueProperty):
3379 (KJS::DOMNode::putValueProperty):
3380 (KJS::DOMNodeProtoFunc::callAsFunction):
3382 (KJS::DOMEventTargetNode::DOMEventTargetNode):
3383 (KJS::DOMDocumentProtoFunc::callAsFunction):
3384 (KJS::DOMElement::putValueProperty):
3385 (KJS::DOMElementProtoFunc::callAsFunction):
3386 (KJS::checkNodeSecurity):
3388 (KJS::getRuntimeObject):
3389 (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
3390 (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
3391 * khtml/ecma/kjs_events.cpp:
3392 (KJS::JSLazyEventListener::JSLazyEventListener):
3393 (KJS::ClipboardProtoFunc::callAsFunction):
3394 * khtml/ecma/kjs_html.cpp:
3395 (KJS::JSHTMLDocument::namedItemGetter):
3396 (KJS::JSHTMLElement::framesetNameGetter):
3397 (KJS::JSHTMLElement::getOwnPropertySlot):
3398 (KJS::JSHTMLElement::pushEventHandlerScope):
3399 (KJS::JSHTMLCollection::callAsFunction):
3400 (KJS::JSHTMLCollection::getNamedItems):
3401 (KJS::JSHTMLSelectCollection::put):
3402 * khtml/ecma/kjs_traversal.cpp:
3403 (KJS::JSNodeFilterCondition::acceptNode):
3404 * khtml/ecma/kjs_window.cpp:
3406 * kwq/KWQPageState.mm:
3407 (-[KWQPageState WebCore::]):
3409 2006-04-01 Darin Adler <darin@apple.com>
3413 - removed a bunch of unneeded ForwardingHeaders and WebCore+SVG headers
3415 * ForwardingHeaders/kcanvas: Removed.
3416 * ForwardingHeaders/kcanvas/KCanvas.h: Removed.
3417 * ForwardingHeaders/kdom: Removed.
3418 * ForwardingHeaders/kdom/DOMString.h: Removed.
3419 * ForwardingHeaders/kdom/Helper.h: Removed.
3420 * ForwardingHeaders/kdom/KDOMSettings.h: Removed.
3421 * ForwardingHeaders/kdom/Namespace.h: Removed.
3422 * ForwardingHeaders/kdom/cache: Removed.
3423 * ForwardingHeaders/kdom/cache/KDOMCachedImage.h: Removed.
3424 * ForwardingHeaders/kdom/cache/KDOMCachedObject.h: Removed.
3425 * ForwardingHeaders/kdom/cache/KDOMCachedObjectClient.h: Removed.
3426 * ForwardingHeaders/kdom/cache/KDOMCachedScript.h: Removed.
3427 * ForwardingHeaders/kdom/cache/KDOMLoader.h: Removed.
3428 * ForwardingHeaders/kdom/core: Removed.
3429 * ForwardingHeaders/kdom/core/DOMConfiguration.h: Removed.
3430 * ForwardingHeaders/kdom/core/DOMException.h: Removed.
3431 * ForwardingHeaders/kdom/core/DOMList.h: Removed.
3432 * ForwardingHeaders/kdom/core/DOMString.h: Removed.
3433 * ForwardingHeaders/kdom/core/NamedAttrMap.h: Removed.
3434 * ForwardingHeaders/kdom/core/ProcessingInstruction.h: Removed.
3435 * ForwardingHeaders/kdom/core/domattrs.h: Removed.
3436 * ForwardingHeaders/kdom/ecma: Removed.
3437 * ForwardingHeaders/kdom/ecma/GlobalObject.h: Removed.
3438 * ForwardingHeaders/kdom/events: Removed.
3439 * ForwardingHeaders/kdom/events/Event.h: Removed.
3440 * ForwardingHeaders/kdom/events/EventListener.h: Removed.
3441 * ForwardingHeaders/kdom/events/EventTarget.h: Removed.
3442 * ForwardingHeaders/kdom/events/KeyboardEvent.h: Removed.
3443 * ForwardingHeaders/kdom/events/MouseEvent.h: Removed.
3444 * ForwardingHeaders/kdom/events/UIEvent.h: Removed.
3445 * ForwardingHeaders/kdom/events/kdomevents.h: Removed.
3446 * ForwardingHeaders/kdom/kdom.h: Removed.
3447 * ForwardingHeaders/kdom/parser: Removed.
3448 * ForwardingHeaders/kdom/parser/KDOMParser.h: Removed.
3449 * ForwardingHeaders/ksvg2: Removed.
3450 * ForwardingHeaders/ksvg2/KSVGPart.h: Removed.
3451 * ForwardingHeaders/ksvg2/KSVGView.h: Removed.
3452 * ForwardingHeaders/ksvg2/css: Removed.
3453 * ForwardingHeaders/ksvg2/css/CSSPropertyNames.h: Removed.
3454 * ForwardingHeaders/ksvg2/css/CSSValueKeywords.h: Removed.
3455 * WebCore+SVG/KDOMHeaders.h: Removed.
3456 * WebCore+SVG/Namespace.h: Removed.
3457 * WebCore+SVG/kdom.h: Removed.
3459 * WebCore.xcodeproj/project.pbxproj: Removed headers.
3461 * kcanvas/KCanvasCreator.cpp:
3462 * kcanvas/KCanvasResources.cpp:
3463 * kcanvas/KCanvasTreeDebug.cpp:
3464 * kcanvas/RenderPath.cpp:
3465 * kcanvas/RenderSVGImage.cpp:
3466 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
3467 * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
3468 * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
3469 * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
3470 * ksvg2/css/SVGCSSStyleSelector.cpp:
3471 * ksvg2/events/SVGZoomEvent.h:
3472 * ksvg2/misc/KCanvasRenderingStyle.cpp:
3473 * ksvg2/misc/KSVGTimeScheduler.cpp:
3474 * ksvg2/misc/SVGImageLoader.cpp:
3475 * ksvg2/svg/SVGAElement.cpp:
3476 * ksvg2/svg/SVGAnimationElement.cpp:
3477 * ksvg2/svg/SVGCircleElement.cpp:
3478 * ksvg2/svg/SVGClipPathElement.cpp:
3479 * ksvg2/svg/SVGCursorElement.cpp:
3480 * ksvg2/svg/SVGCursorElement.h:
3481 * ksvg2/svg/SVGDOMImplementation.cpp:
3482 * ksvg2/svg/SVGDocument.cpp:
3483 * ksvg2/svg/SVGDocument.h:
3484 * ksvg2/svg/SVGElement.cpp:
3485 * ksvg2/svg/SVGEllipseElement.cpp:
3486 * ksvg2/svg/SVGExternalResourcesRequired.cpp:
3487 * ksvg2/svg/SVGExternalResourcesRequired.h:
3488 * ksvg2/svg/SVGFEBlendElement.cpp:
3489 * ksvg2/svg/SVGFEColorMatrixElement.cpp:
3490 * ksvg2/svg/SVGFEComponentTransferElement.cpp:
3491 * ksvg2/svg/SVGFECompositeElement.cpp:
3492 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
3493 * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
3494 * ksvg2/svg/SVGFEFloodElement.cpp:
3495 * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
3496 * ksvg2/svg/SVGFEImageElement.cpp:
3497 * ksvg2/svg/SVGFEImageElement.h:
3498 * ksvg2/svg/SVGFELightElement.cpp:
3499 * ksvg2/svg/SVGFEMergeElement.cpp:
3500 * ksvg2/svg/SVGFEOffsetElement.cpp:
3501 * ksvg2/svg/SVGFESpecularLightingElement.cpp:
3502 * ksvg2/svg/SVGFETileElement.cpp:
3503 * ksvg2/svg/SVGFETurbulenceElement.cpp:
3504 * ksvg2/svg/SVGFilterElement.cpp:
3505 * ksvg2/svg/SVGGradientElement.cpp:
3506 * ksvg2/svg/SVGHelper.cpp:
3507 * ksvg2/svg/SVGImageElement.cpp:
3508 * ksvg2/svg/SVGLangSpace.cpp:
3509 * ksvg2/svg/SVGLength.cpp:
3510 * ksvg2/svg/SVGLineElement.cpp:
3511 * ksvg2/svg/SVGLinearGradientElement.cpp:
3512 * ksvg2/svg/SVGList.h:
3513 * ksvg2/svg/SVGLocatable.cpp:
3514 * ksvg2/svg/SVGMarkerElement.cpp:
3515 * ksvg2/svg/SVGMarkerElement.h:
3516 * ksvg2/svg/SVGMaskElement.cpp:
3517 * ksvg2/svg/SVGPathElement.cpp:
3518 * ksvg2/svg/SVGPatternElement.cpp:
3519 * ksvg2/svg/SVGPolyElement.cpp:
3520 * ksvg2/svg/SVGPolygonElement.cpp:
3521 * ksvg2/svg/SVGPolylineElement.cpp:
3522 * ksvg2/svg/SVGRadialGradientElement.cpp:
3523 * ksvg2/svg/SVGRectElement.cpp:
3524 * ksvg2/svg/SVGSVGElement.cpp:
3525 * ksvg2/svg/SVGStopElement.cpp:
3526 * ksvg2/svg/SVGStyleElement.cpp:
3527 * ksvg2/svg/SVGStyledElement.cpp:
3528 * ksvg2/svg/SVGStyledLocatableElement.cpp:
3529 * ksvg2/svg/SVGStyledTransformableElement.cpp:
3530 * ksvg2/svg/SVGTextElement.cpp:
3531 * ksvg2/svg/SVGTransformable.cpp:
3532 * ksvg2/svg/SVGUseElement.cpp:
3533 * ksvg2/svg/SVGViewElement.cpp:
3536 2006-04-01 Darin Adler <darin@apple.com>
3540 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8089
3541 REGRESSION: Caret position is off in native text field with text-align:right
3543 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8082
3544 REGRESSION: Empty RTL text fields place the caret on the left side
3546 Need a way to make a test for this. No obvious way at the moment.
3548 * rendering/RenderFlow.cpp: (WebCore::RenderFlow::caretRect):
3549 Consider border, padding, and the width of the caret properly in the
3550 calculation of the caret's X position.
3552 * rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect):
3553 Fixed some similar issues and rewrote this function for clarity.
3554 However, I suspect this function was and remains broken and is almost
3557 2006-04-01 Darin Adler <darin@apple.com>
3561 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8106
3562 REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus
3564 Test: fast/forms/input-text-scroll-left-on-blur.html
3566 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Pass blur events
3567 through to the RenderTextField, as well as mouse, drag, and wheel events.
3568 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): Scroll all the way to
3571 - unrelated small changes
3573 * html/HTMLTextFieldInnerElement.cpp: Removed excess includes.
3574 (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Tweaked comments a bit.
3577 (WebCore::Element::scrollIntoView): Removed unneeded this-> before function call.
3578 (WebCore::Element::scrollIntoViewIfNeeded): Ditto.
3580 * page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent): Removed obsolete comment.
3582 2006-03-31 Maciej Stachowiak <mjs@apple.com>
3586 <rdar://problem/4497684> REGRESSION(NativeTextField): After undoing pasted text in a field, the field changes to only a few pixels in height (8096)
3588 * editing/ReplaceSelectionCommand.cpp:
3589 (WebCore::ReplaceSelectionCommand::doApply): merge into start block when pasting into
3590 an empty editable subtree.
3592 2006-04-01 Darin Adler <darin@apple.com>
3596 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8063
3597 REGRESSION: double clicking in new text fields won't select whole words
3599 Test: fast/forms/input-text-double-click.html
3601 * editing/visible_units.cpp: (WebCore::nextBoundary): Set the end of the range by
3602 calling selectNodeContents rather than by calling setEndAfter. The problem with
3603 setEndAfter is that it doesn't do anything when the parent of the node is 0, and
3604 also it's not really what we want, since the boundary node is one with editable
3605 contents -- we want to stay inside the boundary node.
3607 * editing/Selection.cpp: (WebCore::Selection::validate): Fix a tiny formatting glitch
3608 I noticed at the same time.
3610 2006-03-31 John Sullivan <sullivan@apple.com>
3612 Reviewed by Tim Hatcher.
3614 - fixed <rdar://problem/4372842> 10.4.4 Regression: control-clicking on a misspelled word
3615 doesn't select it or offer corrections (first click only)
3617 * bridge/mac/FrameMac.mm:
3618 (WebCore::FrameMac::sendContextMenuEvent):
3619 Rolled in this one-line change that Hyatt wrote ages ago.
3621 2006-03-31 Beth Dakin <bdakin@apple.com>
3625 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8108
3626 REGRESSION (r13590-r13593): Floating table's cells don't paint
3629 This is a regression from my painting patch yesterday. Just a silly
3630 error I didn't catch.
3632 * rendering/RenderTable.cpp:
3633 (WebCore::RenderTable::paint): Change the phase of our new
3634 PaintInfo, not our old one.
3636 2006-03-31 Tim Omernick <timo@apple.com>
3640 <http://bugzilla.opendarwin.org/show_bug.cgi?id=7858>
3641 <rdar://problem/4483359> REGRESSION: New text field doesn't recognize the read only attribute
3643 * rendering/RenderTextField.cpp:
3644 (WebCore::RenderTextField::createDivStyle):
3645 Set user modify based on the form element's readOnly().
3646 (WebCore::RenderTextField::updateFromElement):
3649 2006-03-31 Adele Peterson <adele@apple.com>
3651 Reviewed by Tim Omernick.
3653 Updating shadowAncestorNode so it doesn't check for rootEditableElement. Now we just walk
3654 up the tree to look for a shadowNode, and then we find the shadowParent.
3656 * dom/Node.cpp: (WebCore::Node::shadowAncestorNode):
3657 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setSelectionRange):
3658 Updated assertion to check for shadowAncestorNode instead of rootEditableElement.
3660 2006-03-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
3662 Reviewed by John Sullivan.
3664 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8101
3665 REGSRESSION: Fix for bug 7031 causes 30 layout tests to fail
3667 * rendering/render_line.cpp:
3668 (WebCore::InlineFlowBox::placeBoxesVertically): Change top and bottom positions
3669 only if childAffectsTopBottomPos is true.
3670 * rendering/RenderFlow.cpp:
3671 (WebCore::RenderFlow::paintLines): Redo a part of the patch for bug 7031 that
3672 wasn't committed with the rest of the patch.
3674 2006-03-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
3676 Reviewed by Darin, landed by Beth.
3678 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8081
3679 REGRESSION: Drop-down menu has gap at top
3681 * rendering/RenderBox.cpp:
3682 (WebCore::RenderBox::calcAbsoluteVerticalValues): When calculating
3683 the hypothetical vertical position in normal flow, skip table rows
3684 in the ancestor chain, since a table cell's Y position is relative
3685 to the table section, not the row.
3687 2006-03-31 Dave Hyatt <hyatt@apple.com>
3689 Fix the border drawing for themes on Win32.
3693 * rendering/RenderBox.cpp:
3694 (WebCore::RenderBox::paintBoxDecorations):
3695 * rendering/RenderTheme.cpp:
3696 (WebCore::RenderTheme::paintBorderOnly):
3697 * rendering/RenderTheme.h:
3699 2006-03-31 Darin Adler <darin@apple.com>
3701 Reviewed by John Sullivan.
3703 * khtml/ecma/kjs_binding.cpp: Added names for VALIDATION_ERR and
3704 TYPE_MISMATCH_ERR; new DOM Level 3 errors that need to be listed in
3705 the mapping from error code to error name.
3707 * dom/Element.idl: Removed comment from bad old days where we had to
3708 touch these files to make them rebuild.
3710 2006-03-30 Maciej Stachowiak <mjs@apple.com>
3712 - fixed Windows build breakage from previous change
3714 * platform/ScrollView.h:
3715 * platform/win/FontWin.cpp:
3716 (WebCore::Font::drawLineForText):
3717 * platform/win/ScrollViewWin.cpp:
3718 (WebCore::ScrollView::scrollOffset):
3719 (WebCore::ScrollView::scrollBy):
3721 2006-03-30 Maciej Stachowiak <mjs@apple.com>
3725 - various Point / Size related cleanup
3727 First, I clarified the semantics of some operations to keep a
3728 better distinction between IntPoint and IntSize:
3730 * platform/IntPoint.h:
3731 (WebCore::IntPoint::move): new convenience to move a point by separate
3733 (WebCore::operator+=): You can't add a point to a point, you can only add
3735 (WebCore::operator+): ditto
3736 (WebCore::operator-): point - point = size; point - size = point
3737 (WebCore::operator-=): only allow subtracting a size for the mutating version
3738 * platform/IntRect.h:
3739 (WebCore::IntRect::move): tweaked to use IntPoint::move, also, move by an IntSize,
3741 * platform/IntSize.h:
3742 (WebCore::IntSize::shrunkTo): analog to expandedTo
3743 (WebCore::IntSize::clampNegativeToZero): a handy helper
3744 (WebCore::operator-): Added unary minus operator
3746 Made the same changes for FloatPoint:
3748 * platform/FloatPoint.h:
3749 (WebCore::FloatPoint::move):
3750 (WebCore::operator+=):
3751 (WebCore::operator-=):
3752 (WebCore::operator+):
3753 (WebCore::operator-):
3754 * platform/FloatRect.h:
3755 (WebCore::FloatRect::move):
3756 * platform/FloatSize.h:
3757 (WebCore::operator-):
3759 Then I changed a bunch of stuff to pass around IntPoint instead of separate x and y
3760 coordinates. The main one was:
3762 * platform/ScrollView.h:
3763 * platform/mac/ScrollViewMac.mm:
3764 (WebCore::ScrollView::scrollOffset): new method, return an IntSize
3765 (WebCore::ScrollView::contentsToViewport): take and return an IntPoint
3766 (WebCore::ScrollView::viewportToContents): take and return an IntPoint
3767 * platform/win/ScrollViewWin.cpp:
3768 (WebCore::ScrollView::updateContents): handle things in terms of scrollOffset,
3770 (WebCore::ScrollView::visibleContentRect):
3771 (WebCore::ScrollView::contentsX):
3772 (WebCore::ScrollView::contentsY):
3773 (WebCore::ScrollView::viewportToContents):
3774 (WebCore::ScrollView::contentsToViewport):
3775 (WebCore::scrollOffset):
3776 (WebCore::ScrollView::maximumScroll):
3777 (WebCore::ScrollView::scrollBy):
3778 (WebCore::ScrollView::updateScrollBars):
3780 The rest is mainly updates for these changes.
3782 * bridge/mac/FrameMac.h:
3783 * bridge/mac/FrameMac.mm:
3784 (WebCore::FrameMac::eventMayStartDrag):
3785 (WebCore::FrameMac::dragHysteresisExceeded):
3786 (WebCore::FrameMac::handleMouseMoveEvent):
3787 (WebCore::FrameMac::mouseDown):
3788 (WebCore::FrameMac::shouldDragAutoNode):
3789 (WebCore::FrameMac::sendContextMenuEvent):
3790 * bridge/mac/WebCoreFrameBridge.mm:
3791 (-[WebCoreFrameBridge isPointInsideSelection:]):
3792 * dom/EventTargetNode.cpp:
3793 (WebCore::EventTargetNode::dispatchMouseEvent):
3794 (WebCore::EventTargetNode::dispatchWheelEvent):
3795 * khtml/ecma/kjs_window.cpp:
3796 (KJS::WindowFunc::callAsFunction):
3798 (WebCore::Frame::shouldDragAutoNode):
3799 (WebCore::Frame::isPointInsideSelection):
3800 (WebCore::Frame::selectClosestWordFromMouseEvent):
3801 (WebCore::Frame::handleMousePressEventDoubleClick):
3802 (WebCore::Frame::handleMousePressEventTripleClick):
3803 (WebCore::Frame::handleMousePressEventSingleClick):
3804 (WebCore::Frame::handleMouseMoveEventPart2):
3805 (WebCore::Frame::handleMouseReleaseEvent):
3807 * page/FrameView.cpp:
3808 (WebCore::FrameView::dispatchDragEvent):
3809 (WebCore::FrameView::prepareMouseEvent):
3810 (WebCore::FrameView::handleWheelEvent):
3811 * rendering/RenderLayer.cpp:
3812 (WebCore::RenderLayer::scrollRectToVisible):
3813 * rendering/RenderObject.cpp:
3814 (WebCore::RenderObject::draggableNode):
3815 * rendering/RenderObject.h:
3816 (WebCore::RenderObject::positionForPoint):
3817 * rendering/render_list.cpp:
3818 (WebCore::RenderListMarker::paint):
3820 2006-03-30 Maciej Stachowiak <mjs@apple.com>
3822 - fixed windows build
3824 * platform/win/TemporaryLinkStubs.cpp:
3825 (Widget::unlockDrawingFocus):
3827 2006-03-31 Eric Seidel <eseidel@apple.com>
3831 A bit more code cleanup.
3833 * bridge/mac/WebCoreScriptDebugger.mm:
3834 (-[WebCoreScriptCallFrame evaluateWebScript:]):
3835 * html/HTMLFormElement.cpp:
3836 (WebCore::HTMLFormElement::submit):
3837 * html/HTMLInputElement.cpp:
3838 (WebCore::HTMLInputElement::setValue):
3839 * kwq/WebCoreTextField.mm:
3840 (-[KWQTextFieldController textView:shouldHandleEvent:]):
3841 (-[KWQSecureTextField selectText:]):
3843 (WebCore::Frame::submitForm):
3844 * platform/Widget.h:
3845 * platform/mac/WidgetMac.mm:
3846 * rendering/render_frames.cpp:
3847 (WebCore::RenderFrameSet::userResize):
3849 2006-03-30 Maciej Stachowiak <mjs@apple.com>
3853 * bridge/mac/FrameMac.mm:
3854 (WebCore::FrameMac::wheelEvent):
3855 (WebCore::FrameMac::eventMayStartDrag):
3856 (WebCore::FrameMac::handleMouseMoveEvent):
3857 (WebCore::FrameMac::sendContextMenuEvent):
3858 * bridge/mac/WebCoreFrameBridge.mm:
3859 (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]):
3861 (WebCore::Document::elementFromPoint):
3862 (WebCore::Document::prepareMouseEvent):
3864 * kwq/WebCoreAXObject.mm:
3865 (-[WebCoreAXObject doAXTextMarkerForPosition:]):
3866 (-[WebCoreAXObject accessibilityHitTest:]):
3867 * manual-tests/frame-hover.html: Added.
3868 * manual-tests/resources/hover-subframe-1.html: Added.
3869 * manual-tests/resources/hover-subframe-2.html: Added.
3871 (WebCore::Frame::isPointInsideSelection):
3872 * page/FrameView.cpp:
3873 (WebCore::FrameView::prepareMouseEvent):
3874 (WebCore::FrameView::handleWheelEvent):
3875 * platform/IntRect.h:
3876 (WebCore::IntRect::contains):
3877 * rendering/RenderLayer.cpp:
3878 (WebCore::isSubframeCanvas):
3879 (WebCore::frameVisibleRect):
3880 (WebCore::RenderLayer::hitTest):
3881 (WebCore::shouldApplyImplicitCapture):
3882 (WebCore::RenderLayer::hitTestLayer):
3883 * rendering/RenderLayer.h:
3885 2006-03-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
3887 Tests: fast/repaint/flexible-box-overflow.html fast/repaint/flexible-box-overflow-horizontal.html
3891 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8056
3892 Flexible boxes do not repaint their top, left and children's overflows
3894 * rendering/RenderBlock.cpp:
3895 (WebCore::RenderBlock::layoutBlockChildren):
3896 * rendering/RenderFlexibleBox.cpp:
3897 (WebCore::FlexBoxIterator::next):
3898 (WebCore::RenderFlexibleBox::layoutHorizontalBox): Update top overflow when
3899 determining vertical positions. Update horizontal overflows after horizontal
3900 positions are determined.
3901 (WebCore::RenderFlexibleBox::layoutVerticalBox): Update left overflow when
3902 determining horizontal positions. Update vertical overflows after vertical
3903 positions are determined.
3904 (WebCore::RenderFlexibleBox::allowedChildFlex):
3906 2006-03-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
3908 Tests: fast/repaint/text-shadow.html fast/repaint/text-shadow-horizontal.html
3912 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7301
3913 Text shadow does not repaint correctly
3915 * rendering/InlineTextBox.cpp:
3916 (WebCore::InlineTextBox::paint): Paint the text box if it is within the maximum
3917 possible horizontal shadow overflow of the damage rect.
3918 * rendering/InlineTextBox.h: Removed unused function checkVerticalPoint().
3919 * rendering/RenderFlow.cpp:
3920 (WebCore::RenderFlow::paintLines): Use the vertical overflows instead of the
3921 selection vertical bounds.
3922 (WebCore::RenderFlow::hitTestLines):
3923 * rendering/render_line.cpp:
3924 (WebCore::InlineFlowBox::placeBoxesHorizontally): Include overflow due to text shadow
3925 in leftPosition and rightPosition and keep track of the maximum horizontal shadow
3927 (WebCore::InlineFlowBox::verticallyAlignBoxes):
3928 (WebCore::InlineFlowBox::placeBoxesVertically): Include overflow due to shadow and
3929 inline-blocks' overflow in topPosition and bottomPosition but not in the selection
3931 (WebCore::RootInlineBox::selectionTop):
3932 * rendering/render_line.h:
3933 (WebCore::InlineFlowBox:::InlineRunBox):
3934 (WebCore::InlineFlowBox::setVerticalSelectionPositions):
3935 (WebCore::InlineFlowBox::maxHorizontalShadow):
3936 (WebCore::RootInlineBox::setVerticalSelectionPositions):
3937 (WebCore::RootInlineBox::selectionBottom):
3938 (WebCore::RootInlineBox::selectionHeight):
3940 2006-03-30 Beth Dakin <bdakin@apple.com>
3944 Fix for <rdar://problem/4472371> REGRESSION(417.9-TOT): Focus ring
3945 around link in overflow:auto div isn't clipped to div
3947 Focus rings around the children off overflow:auto divs were not
3948 being appropriately clipped because they were being painted with
3949 the div's outlineRect, when they should be painted separately. This
3950 patch adds two new PaintPhases -- PaintPhaseSelfOutline and
3951 PaintPhaseChildOutlines -- to address this problem.
3953 This patch also changes the name of PaintAction back to PaintPhase.
3954 Because Hyatt said so.
3956 * kcanvas/KCanvasResources.cpp:
3957 (WebCore::KCanvasMarker::draw):
3958 * kcanvas/RenderPath.cpp:
3959 (WebCore::RenderPath::paint):
3960 * kcanvas/RenderSVGImage.cpp:
3961 (WebCore::RenderSVGImage::paint):
3962 * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
3963 (WebCore::KCanvasContainerQuartz::paint):
3964 * ksvg2/svg/SVGMaskElement.cpp:
3965 (WebCore::SVGMaskElement::drawMaskerContent):
3966 * ksvg2/svg/SVGPatternElement.cpp:
3967 (WebCore::SVGPatternElement::drawPatternContentIntoTile):
3968 * rendering/InlineTextBox.cpp:
3969 (WebCore::InlineTextBox::paint):
3970 * rendering/RenderBlock.cpp:
3971 (WebCore::RenderBlock::paint):
3972 (WebCore::RenderBlock::paintChildren):
3973 (WebCore::RenderBlock::paintObject):
3974 (WebCore::RenderBlock::paintFloats):
3975 (WebCore::RenderBlock::paintEllipsisBoxes):
3976 (WebCore::RenderBlock::paintSelection):
3977 * rendering/RenderBox.cpp:
3978 (WebCore::RenderBox::setStyle):
3979 * rendering/RenderCanvas.cpp:
3980 (WebCore::RenderCanvas::paint):
3981 * rendering/RenderFlow.cpp:
3982 (WebCore::RenderFlow::paintLines):
3983 * rendering/RenderHTMLCanvas.cpp:
3984 (WebCore::RenderHTMLCanvas::paint):
3985 * rendering/RenderImage.cpp:
3986 (WebCore::RenderImage::paint):
3987 * rendering/RenderLayer.cpp:
3988 (WebCore::RenderLayer::paintLayer):
3989 * rendering/RenderObject.cpp:
3990 (WebCore::RenderObject::maximalOutlineSize):
3991 * rendering/RenderObject.h:
3993 (WebCore::RenderObject::PaintInfo::PaintInfo):
3994 * rendering/RenderTable.cpp:
3995 (WebCore::RenderTable::paint):
3996 * rendering/RenderTableCell.cpp:
3997 (WebCore::RenderTableCell::paint):
3998 * rendering/RenderTableRow.cpp:
3999 (WebCore::RenderTableRow::paint):
4000 * rendering/RenderTableSection.cpp:
4001 (WebCore::RenderTableSection::paint):
4002 * rendering/render_button.cpp:
4003 (WebCore::RenderButton::paintObject):
4004 * rendering/render_line.cpp:
4005 (WebCore::InlineBox::paint):
4006 (WebCore::InlineFlowBox::paint):
4007 (WebCore::InlineFlowBox::paintBackgroundAndBorder):
4008 (WebCore::RootInlineBox::paintEllipsisBox):
4009 * rendering/render_list.cpp:
4010 (WebCore::RenderListMarker::paint):
4011 * rendering/render_replaced.cpp:
4012 (WebCore::RenderReplaced::shouldPaint):
4013 (WebCore::RenderWidget::paint):
4015 2006-03-30 Tim Omernick <timo@apple.com>
4017 Manual test case for the Java aspect of <rdar://problem/4212626> REGRESSION: LIVECONNECT:
4018 JavaScript type for Java Strings is function, not object
4020 * manual-tests/java-string-object-type.html: Added.
4021 * manual-tests/resources/StringTypeTest.class: Added.
4022 * manual-tests/resources/StringTypeTest.java: Added.
4024 2006-03-30 Eric Seidel <eseidel@apple.com>
4028 Fix text form controls, and add basic submit support!
4030 * bridge/win/FrameWin.cpp:
4031 (WebCore::FrameWin::submitForm):
4032 * bridge/win/FrameWin.h:
4033 * platform/win/KeyEventWin.cpp:
4034 (WebCore::keyIdentifierForWindowsKeyCode):
4035 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
4036 * platform/win/TemporaryLinkStubs.cpp:
4037 (FrameWin::incomingReferrer):
4038 * platform/win/TransferJobWin.cpp:
4039 (WebCore::TransferJob::start):
4041 2006-03-30 Adele Peterson <adele@apple.com>
4045 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8083
4046 REGRESSION: Repro crash when dragging to select over a new text field
4048 * editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent):
4049 When searching for non-editable content, if the end of the selection is in a
4050 shadow tree, then we need to jump out of that first.
4052 2006-03-30 Justin Garcia <justin.garcia@apple.com>
4056 http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
4057 REGRESSION: Plain-text mode needed for contenteditable area used in new text field
4059 * bridge/mac/WebCoreFrameBridge.h:
4060 * bridge/mac/WebCoreFrameBridge.mm:
4061 (-[WebCoreFrameBridge isSelectionEditable]):
4062 (-[WebCoreFrameBridge isSelectionRichlyEditable]):
4063 * css/CSSComputedStyleDeclaration.cpp:
4064 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4065 * css/CSSValueKeywords.in:
4066 * css/cssparser.cpp:
4067 (WebCore::CSSParser::parseValue):
4069 (WebCore::Node::isContentRichlyEditable):
4071 * editing/EditCommand.cpp:
4072 (WebCore::EditCommand::apply):
4073 * editing/JSEditor.cpp:
4074 * editing/ReplaceSelectionCommand.cpp:
4075 (WebCore::ReplacementFragment::ReplacementFragment):
4076 (WebCore::ReplaceSelectionCommand::doApply):
4077 * editing/Selection.h:
4078 (WebCore::Selection::rootEditableElement):
4079 (WebCore::Selection::isContentEditable):
4080 (WebCore::Selection::isContentRichlyEditable):
4081 * editing/SelectionController.h:
4082 (WebCore::SelectionController::rootEditableElement):
4083 (WebCore::SelectionController::isContentEditable):
4084 (WebCore::SelectionController::isContentRichlyEditable):
4085 * html/HTMLElement.cpp:
4086 (WebCore::HTMLElement::isContentEditable):
4087 (WebCore::HTMLElement::contentEditable):
4088 (WebCore::HTMLElement::setContentEditable):
4089 * rendering/RenderTextField.cpp:
4090 (WebCore::RenderTextField::createDivStyle):
4091 * rendering/render_style.h:
4094 2006-03-30 David Harrison <harrison@apple.com>
4098 <rdar://problem/4444693> REGRESSION: Deleting empty lines causes quoted text to mistakenly get "unquoted"
4100 * editing/DeleteSelectionCommand.cpp:
4101 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
4103 (WebCore::DeleteSelectionCommand::moveNodesAfterNode):
4104 Generalize check that preserves nesting when deleting to the beginning of an ancestor block.
4106 * editing/deleting/delete-block-merge-contents-022.html: Added.
4107 * editing/deleting/delete-block-merge-contents-023.html: Added.
4108 * editing/deleting/delete-block-merge-contents-024.html: Added.
4110 2006-03-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
4114 - Test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8076
4115 REGRESSION: native text fields are reversed on "visual Hebrew" pages