81a9ca31e06605ff64ef82f42e1d086530faba92
[WebKit-https.git] / WebCore / ChangeLog
1 2006-04-18  Rob Buis  <buis@kde.org>
2
3         Reviewed by eseidel & darin.  Landed by eseidel.
4
5         No automated tests possible (from javascript).
6
7         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6664:
8         Inspector does not highlight SVG elements properly
9
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,
13         images and text.
14
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:
25
26 2006-04-17  Rob Buis  <buis@kde.org>
27
28         Reviewed by eseidel.  Landed by eseidel.
29
30         Test: svg/custom/tref-update.svg
31
32         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6427:
33         <tref> element not implemented
34
35         Implementation of <tref> element.
36
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:
52
53 2006-04-18  Darin Adler  <darin@apple.com>
54
55         * rendering/render_form.cpp: (WebCore::RenderSelect::updateFromElement):
56         Roll out accidentally-landed change for bug 8398.
57
58 2006-04-18  Beth Dakin  <bdakin@apple.com>
59
60         Reviewed by Darin.
61
62         Fix for a leak exposed by background-size and detected by the 
63         layout tests.
64
65         * css/css_valueimpl.cpp:
66         (WebCore::CSSPrimitiveValue::cleanup): We must deref pairs.
67
68 2006-04-18  Beth Dakin  <bdakin@apple.com>
69
70         Reviewed by Eric.
71
72         Build fix for Windows. Just a few typos from background-size patch.
73
74         * platform/cairo/GraphicsContextCairo.cpp:
75         (WebCore::GraphicsContext::drawTiledImage):
76         * platform/cairo/ImageCairo.cpp:
77         (WebCore::Image::tileInRect):
78
79 2006-04-18  Beth Dakin  <bdakin@apple.com>
80
81         Reviewed by Hyatt.
82
83         Implementation of CSS3 background-size property. See 
84         http://bugzilla.opendarwin.org/show_bug.cgi?id=8353 for details.
85
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 
103         necessary in Cairo.
104         * platform/mac/GraphicsContextMac.mm:
105         (WebCore::GraphicsContext::drawTiledImage): 
106         * platform/mac/ImageMac.mm:
107         (WebCore::Image::tileInRect): Take care of scaling image if 
108         necessary in CG.
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.
114         (WebCore::m_next):
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):
127
128 2006-04-17  Justin Garcia  <justin.garcia@apple.com>
129
130         Reviewed by harrison
131
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.
137         
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.
143
144 2006-04-17  Adele Peterson  <adele@apple.com>
145
146         Reviewed by Darin.
147
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
150
151         Test: fast/forms/input-spaces.html
152
153         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle): 
154         Use white-space:pre for the inner div to avoid collapsing spaces in the text field.
155
156 2006-04-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
157
158         Reviewed by Darin.
159
160         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8437
161           iExploder(#293): Crash in StringImpl::hash()
162
163         * manual-tests/applet-param-no-name.html: Added.
164         * rendering/RenderApplet.cpp:
165         (WebCore::RenderApplet::createWidgetIfNecessary): Skip param elements with
166         empty name.
167
168 2006-04-18  Darin Adler  <darin@apple.com>
169
170         - try to fix the Windows build
171
172         * platform/cairo/GraphicsContextCairo.cpp: (WebCore::setColor):
173         Update for changes to getRGBA.
174
175 2006-04-17  Alexey Proskuryakov  <ap@nypop.com>
176
177         Reviewed by Darin.
178
179         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8440
180         iExploder(#3327): Crash in StringImpl::initWithQChar()
181
182         Test: fast/parser/number-sign-in-map-name.html
183
184         * html/html_imageimpl.cpp:
185         (WebCore::HTMLMapElement::parseMappedAttribute): Fixed handling of names starting with a '#'.
186
187 2006-04-17  Adele Peterson  <adele@apple.com>
188
189         Reviewed by Darin.
190
191         Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=8269
192         REGRESSION: disabled text field does not display greyed-out text
193
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.
207
208 2006-04-17  David Hyatt  <hyatt@apple.com>
209
210         Fix for bug 8270, text highlights outside of textfield when it shouldn't.
211
212         Reviewed by darin
213
214         Added fast/forms/input-double-click-selection-gap-bug.html
215
216         * rendering/RenderBlock.cpp:
217         (WebCore::RenderBlock::fillInlineSelectionGaps):
218
219 2006-04-17  David Hyatt  <hyatt@apple.com>
220
221         Fix for bug 8848, caret off by 1 pixel on numerous pixel tests.
222
223         Reviewed by darin
224
225         * rendering/InlineTextBox.cpp:
226         (WebCore::InlineTextBox::positionForOffset):
227         * rendering/RenderText.cpp:
228         (WebCore::RenderText::caretRect):
229
230 2006-04-17  Timothy Hatcher  <timothy@apple.com>
231
232         Reviewed by Darin.
233
234         <rdar://problem/4506601> TOT WebCore fails to build ppc64
235
236         Switch many CG calls to use CGFloat for colors and gradients
237
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:
278         (WebCore::):
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
287         * platform/Color.h:
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):
299
300 2006-04-17  Justin Garcia  <justin.garcia@apple.com>
301
302         Reviewed by darin
303         
304         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8402>
305         Fix interchange newline handling and avoid use of test rendering info
306
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.
315
316 2006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
317
318         Reviewed by Darin.
319
320         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8408
321           Paint the highlight behind selected list markers
322
323         Test: fast/lists/markers-in-selection.html
324
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
331         markers.
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
341         constant.
342
343 2006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
344
345         Reviewed by Darin.
346
347         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8420
348           iExploder(#12): Assertion failure in RenderContainer::removeChildNode
349
350         Test: fast/forms/button-inner-block-reuse.html
351
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.
356
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.
364
365 2006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
366
367         Reviewed by Justin.
368
369         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8394
370           Editable region does not accept dropped text if there is no selection
371
372         Test: editing/pasteboard/drop-text-without-selection.html
373
374         * bridge/mac/WebCoreFrameBridge.mm:
375         (-[WebCoreFrameBridge documentFragmentWithText:]): Changed to allow
376         creating a fragment regardless of the selection.
377
378 2006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
379
380         Reviewed by Darin.
381
382         - WebCore part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8324
383           REGRESSION: textarea :focus not applied immediately
384
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]):
392         * kwq/KWQSlider.mm:
393         (-[KWQSlider becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder: and
394         cleaned up.
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.
402
403 2006-04-16  Darin Adler  <darin@apple.com>
404
405         Reviewed by Adele and Justin.
406
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
412
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.
417
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.
421
422         * manual-tests/input-empty-on-focus.html: Added.
423
424         * page/Frame.h: Tweaked a few comments and functions related to selection.
425         * page/Frame.cpp: (WebCore::Frame::dragCaret): Made non-const.
426
427         * dom/Document.cpp: (WebCore::Document::notifyBeforeNodeRemoval):
428         Call nodeWillBeRemoved on the two selection controllers before removing
429         a node from the document.
430
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.
438
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.
446
447 2006-04-16  Kevin Ollivier  <kevino@theolliviers.com>
448
449         Reviewed by Darin.
450
451         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8417
452           make-css-file-arrays.pl hangs when run on Linux
453
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
456         hang on Linux.
457         * rendering/RenderArena.cpp: Added a missing include of <assert.h>.
458
459 2006-04-15  Darin Adler  <darin@apple.com>
460
461         - removed references to a couple files that are obsolete
462           but were still in the Windows project file
463
464         * WebCore.vcproj/WebCore/WebCore.vcproj: Remove kjs_views.h and .cpp.
465
466 2006-04-15  Mitz Pettel  <opendarwin.org@mitzpettel.com>
467
468         Reviewed by Maciej.
469
470         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8405
471           REGRESSION: Web Inspector's Style pane is blank
472
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. 
476
477 2006-04-14  David Hyatt  <hyatt@apple.com>
478
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.
483
484         Reviewed by beth
485
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:
496         (WebCore::):
497         (WebCore::valueForTextAlign):
498         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
499         * css/CSSGrammar.y:
500         * css/CSSPropertyNames.in:
501         * css/CSSValueKeywords.in:
502         * css/css_base.cpp:
503         (WebCore::CSSSelector::extractPseudoType):
504         * css/css_valueimpl.cpp:
505         (WebCore::):
506         * css/css_valueimpl.h:
507         * css/cssparser.cpp:
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:
522         * css/html4.css:
523         * css/quirks.css:
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):
549         * page/Frame.cpp:
550         (WebCore::Frame::canMouseDownStartSelect):
551         * page/Frame.h:
552         * rendering/RenderObject.cpp:
553         (WebCore::RenderObject::draggableNode):
554
555 2006-04-14  Eric Seidel  <eseidel@apple.com>
556
557         Reviewed by beth.
558
559         Fix win32 build.
560
561         * WebCore.vcproj/WebCore/WebCore.vcproj:
562         * page/FramePrivate.h:
563
564 2006-04-04  Eric Seidel  <eseidel@apple.com>
565
566         Reviewed by darin.
567
568         Fix build-warnings in cairo code.
569         http://bugzilla.opendarwin.org/show_bug.cgi?id=8176
570
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):
578
579 2006-04-14  David Hyatt  <hyatt@apple.com>
580
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
584         on those lines).
585
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.
588
589         Reviewed by eric
590
591         * dom/Position.cpp:
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:
601         (getTagName):
602         (operator<<):
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):
624
625 2006-04-13  Darin Adler  <darin@apple.com>
626
627         Reviewed by Geoff.
628
629         - moved a few things out of kwq and cleaned up the
630           Java-applet-related renderers
631
632         * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file location
633         and name changes.
634         * WebCore.xcodeproj/project.pbxproj: Ditto.
635
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.
644
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.
651
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
658         cast and simplified.
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.
664
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.
670
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.
677
678         * html/html_objectimpl.cpp: Update includes for new file names.
679
680 2006-04-12  Geoffrey Garen  <ggaren@apple.com>
681
682         Reviewed by Darin.
683
684         - Fixed <rdar://problem/4478467> document.defaultView should return 
685         the window object
686         
687         Also made part of the window object autogenerated by IDL file.
688         
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
692         obsolete files
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):
702         (KJS::Window::impl):
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.)
707         (WebCore::toJS):
708         (WebCore::toDOMWindow):
709         * bindings/js/kjs_window.h:
710         (KJS::Window::):
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.
731         * dom/Document.cpp:
732         (WebCore::Document::Document):
733         (WebCore::Document::defaultView):
734         * dom/Document.h:
735         * dom/Document.idl:
736         * dom/KeyboardEvent.idl:
737         * dom/MouseEvent.idl:
738         * dom/Position.cpp:
739         * dom/UIEvent.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.
750         * page/Frame.cpp:
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):
755         * page/Frame.h:
756         * page/FramePrivate.h:
757
758 2006-04-13  Alexey Proskuryakov  <ap@nypop.com>
759
760         Reviewed by Darin.
761
762         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7602
763         Only use fixupChar for entities
764
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().
774
775 2006-04-13  Darin Adler  <darin@apple.com>
776
777         * platform/mac/GraphicsContextMac.mm: Fix one no-SVG compile problem by adding
778         a "using namespace std".
779
780 2006-04-12  Darin Adler  <darin@apple.com>
781
782         Rubber-stamped by Anders.
783
784         - fix Windows build
785
786         * WebCore.vcproj/Image\ Viewer/Image\ Viewer.vcproj: Add loader directory.
787
788         - use std::min/max exclusively intead of kMin/Max
789         - eliminate KWQDef.h since all it had left in it was kMin/Max
790
791         * WebCore.vcproj/WebCore/WebCore.vcproj: Remove KWQDef.h.
792         * WebCore.xcodeproj/project.pbxproj: Ditto.
793
794         * kwq/KWQDef.h: Removed.
795
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):
804         * dom/Document.cpp:
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):
843         * kwq/KWQListBox.mm:
844         (QListBox::sizeForNumberOfLines):
845         * kwq/KWQSlider.mm:
846         (QSlider::setValue):
847         * loader/Cache.cpp:
848         (WebCore::Cache::setSize):
849         * page/Frame.cpp:
850         (WebCore::Frame::forceLayoutWithPageWidthRange):
851         * platform/DeprecatedPtrListImpl.h:
852         * platform/DeprecatedString.cpp:
853         (ucstrcmp):
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.
989
990 2006-04-12  Darin Adler  <darin@apple.com>
991
992         Rubber-stamped by Anders.
993
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
997
998         * loader/CachedImage.h:
999         * loader/CachedImage.cpp:
1000         * loader/DocLoader.cpp:
1001         * loader/DocLoader.h:
1002         * page/Frame.cpp:
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.
1006
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.
1027
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:
1037         * dom/Document.cpp:
1038         * dom/Document.h:
1039         * dom/EventTargetNode.cpp:
1040         * dom/Node.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:
1092         * loader/Cache.h:
1093         * loader/CachedObject.h:
1094         * loader/Decoder.cpp:
1095         * loader/FormData.h:
1096         * loader/loader.h:
1097         * page/Frame.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:
1109         * rendering/bidi.h:
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:
1117         Updated includes.
1118
1119         * WebCore.xcodeproj/project.pbxproj: Resorted a couple things.
1120
1121 2006-04-12  Adele Peterson  <adele@apple.com>
1122
1123         Reviewed by Darin and Tim O.
1124
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
1128
1129         Fix for:
1130         http://bugzilla.opendarwin.org/show_bug.cgi?id=8156
1131         FrameMac::submitForm is busted after Vector changes
1132
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.
1146
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.
1157         * page/Frame.cpp:
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.
1165
1166         * rendering/RenderTextField.cpp:
1167         (WebCore::RenderTextField::setSelectionRange): Setting the selection here should close the typing command.
1168         (WebCore::RenderTextField::subtreeHasChanged): Calls textDidChangeInTextField.
1169
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.
1171
1172         * dom/EventTargetNode.cpp:
1173         (WebCore:: EventTargetNode::dispatchFocusEvent): Added.
1174         (WebCore:: EventTargetNode::dispatchBlurEvent): Added.
1175         * dom/EventTargetNode.h:
1176
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.
1194
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.
1198
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.
1210
1211 2006-04-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1212  
1213          Reviewed by hyatt
1214  
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
1217  
1218          * manual-tests/list-marker-repaint.html: Added.
1219          * rendering/RenderBlock.cpp:
1220          (WebCore::RenderBlock::layoutBlock): Call positionListMarker() after laying out
1221          the children.
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
1247          margins.
1248          * rendering/render_list.h:
1249
1250 2006-04-12  Darin Adler  <darin@apple.com>
1251
1252         Rubber-stamped by Hyatt.
1253
1254         - moved some more files out of KWQ to more-permanent homes
1255
1256         * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
1257         * WebCore.xcodeproj/project.pbxproj: Ditto.
1258
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.
1287
1288 2006-04-12  David Harrison  <harrison@apple.com>
1289
1290         Reviewed by Darin.
1291
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
1294
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.
1298         
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.
1302         
1303         (see related changes in WebKit)
1304         
1305         Tests added:
1306         * editing/selection/extend-by-sentence-001.html: Added.
1307         * fast/dom/inner-text-001.html: Added.
1308         
1309         * bridge/mac/WebCoreFrameBridge.h:
1310         * bridge/mac/WebCoreFrameBridge.mm:
1311         (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
1312         Add sentence navigation/selection.
1313         
1314         * editing/Selection.cpp:
1315         (WebCore::Selection::validate):
1316         Add sentence navigation/selection.
1317
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.
1325
1326         * editing/TextGranularity.h:
1327         (WebCore::):
1328         Add SentenceGranularity and SentenceBoundary.
1329
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.
1337
1338         (WebCore::TextIterator::handleNonTextNode):
1339         (WebCore::TextIterator::exitNode):
1340         (WebCore::SimplifiedBackwardsTextIterator::advance):
1341         Use new utility functions.
1342         
1343         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
1344         Use new utility functions.  Also emit linefeed instead of space,
1345         so sentence parsing works across block boundaries.
1346         
1347         (WebCore::SimplifiedBackwardsTextIterator::exitNode):
1348         Use new utility functions.
1349
1350         (WebCore::SimplifiedBackwardsTextIterator::emitNewline):
1351         Renamed from emitNewlineForBROrText because it is not always for BR or text.
1352         
1353         * editing/TextIterator.h:
1354         Renamed emitNewlineForBROrText to emitNewline.
1355         
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.
1363
1364 2006-04-12  Darin Adler  <darin@apple.com>
1365
1366         Rubber-stamped by Hyatt.
1367
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
1373           says it belongs
1374
1375         * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
1376         * WebCore.xcodeproj/project.pbxproj: Ditto.
1377
1378         * khtml: Removed.
1379         * loader/Decoder.cpp: Added.
1380         * loader/Decoder.h: Added.
1381         * loader/FormData.cpp: Added.
1382         * loader/FormData.h: Added.
1383
1384         * css/Length.h: Removed.
1385         * rendering/Length.h: Added.
1386
1387         * bridge/mac/WebCoreEncodings.mm:
1388         * dom/Document.h:
1389         * kwq/KWQFormData.mm:
1390         * loader/CachedXBLDocument.cpp:
1391         * loader/CachedXSLStyleSheet.cpp:
1392         * page/ResourceRequest.h:
1393         * platform/TransferJobInternal.h:
1394         * xml/xmlhttprequest.cpp:
1395         Updated includes.
1396
1397 2006-04-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1398
1399         Reviewed by darin
1400
1401         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8337
1402           Incomplete repaint of inlines' outline during editing
1403
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.
1408
1409 2006-04-12  Justin Garcia  <justin.garcia@apple.com>
1410
1411         Reviewed by darin
1412         
1413         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8335>
1414         Implement execCommand(InsertHorizontalRule)
1415
1416         * editing/JSEditor.cpp:
1417
1418 2006-04-12  Darin Adler  <darin@apple.com>
1419
1420         Rubber-stamped by Hyatt.
1421
1422         - moved xsl files into xml directory, removed xbl files (for now)
1423
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.
1432
1433 2006-04-12  David Hyatt  <hyatt@apple.com>
1434
1435         Fix for 5283, make sure overflow doesn't paint on top of positioned elements.
1436
1437         Reviewed by beth
1438
1439         * kwq/RenderTreeAsText.cpp:
1440         (writeLayers):
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):
1456
1457 2006-04-12  Darin Adler  <darin@apple.com>
1458
1459         * WebCore.xcodeproj/project.pbxproj: Turn SVG support back on.
1460         I accidentally checked in this file with SVG off last night.
1461
1462 2006-04-12  Darin Adler  <darin@apple.com>
1463
1464         - try to fix Windows build
1465
1466         * platform/TransferJobInternal.h: Declare HANDLE.
1467         * platform/image-decoders/gif/GIFImageReader.h: Include GIFImageDecoder.h.
1468         * rendering/RenderThemeWin.h: Declare HANDLE and HMODULE.
1469
1470 2006-04-12  Darin Adler  <darin@apple.com>
1471
1472         - another attempt to get things building
1473
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.
1477
1478 2006-04-11  Darin Adler  <darin@apple.com>
1479
1480         - try to fix Windows build
1481
1482         * html/HTMLCollection.h: Add back include of Vector.h.
1483         * page/Frame.h: Ditto.
1484         * platform/Timer.h: Ditto.
1485
1486         - more changes for no-SVG (not working yet though)
1487
1488         * editing/CompositeEditCommand.h: Added css_valueimpl.h include.
1489
1490 2006-04-11  Darin Adler  <darin@apple.com>
1491
1492         - try to fix no-SVG build
1493
1494         * kwq/RenderTreeAsText.cpp: Added back an include only needed for non-SVG.
1495         * rendering/RenderObject.h: Ditto.
1496
1497 2006-04-11  Darin Adler  <darin@apple.com>
1498
1499         - try to fix Windows build
1500
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.
1506
1507 2006-04-11  Justin Garcia  <justin.garcia@apple.com>
1508
1509         Reviewed by harrison
1510         
1511         Fixes more instances of:
1512         <rdar://problem/3950559>
1513         CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32
1514
1515         * editing/ReplaceSelectionCommand.cpp:
1516         (WebCore::ReplaceSelectionCommand::doApply): Do paragraph merging using moveParagraphs.
1517
1518 2006-04-11  Justin Garcia  <justin.garcia@apple.com>
1519
1520         Reviewed by harrison
1521         
1522         Some setup for work on paste performance.
1523
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:
1537
1538 2006-04-11  John Sullivan  <sullivan@apple.com>
1539
1540         Reviewed by Darin Adler.
1541         
1542         - fixed <rdar://problem/4509328> highlight all matches hangs when searching for tab character on www.google.com (and others)
1543         
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).
1550
1551         * page/Frame.cpp:
1552         (WebCore::Frame::highlightAllMatchesForString):
1553         break the loop if the search range hasn't advanced
1554
1555 2006-04-10  Darin Adler  <darin@apple.com>
1556
1557         Rubber-stamped by John Sullivan (except for pbxproj change).
1558
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
1565
1566         * WebCore.xcodeproj/project.pbxproj: Fixed a lot of paths that
1567         were not relative to the enclosing group.
1568
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:
1605         * css/css_base.h:
1606         * css/css_ruleimpl.h:
1607         * css/css_valueimpl.cpp:
1608         * css/cssparser.cpp:
1609         * css/cssparser.h:
1610         * css/cssstyleselector.cpp:
1611         * css/cssstyleselector.h:
1612         * dom/AbstractView.h:
1613         * dom/AtomicStringList.h:
1614         * dom/Attribute.cpp:
1615         * dom/Attribute.h:
1616         * dom/Comment.cpp:
1617         * dom/ContainerNode.cpp:
1618         * dom/DOMImplementation.cpp:
1619         * dom/DOMImplementation.h:
1620         * dom/Document.cpp:
1621         * dom/Document.h:
1622         * dom/Element.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:
1631         * dom/Node.cpp:
1632         (WebCore::Node::showNode):
1633         (WebCore::Node::showTree):
1634         (WebCore::Node::showTreeAndMark):
1635         (showTree):
1636         * dom/Node.h:
1637         * dom/NodeList.cpp:
1638         * dom/NodeList.h:
1639         * dom/Position.cpp:
1640         (showTree):
1641         * dom/Position.h:
1642         * dom/Range.cpp:
1643         * dom/Range.h:
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):
1682         (showTree):
1683         * editing/Selection.h:
1684         * editing/SelectionController.cpp:
1685         (WebCore::SelectionController::formatForDebugger):
1686         (WebCore::SelectionController::showTree):
1687         (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):
1698         (showTree):
1699         * editing/VisiblePosition.h:
1700         (WebCore::VisiblePosition::VisiblePosition):
1701         (WebCore::operator==):
1702         * editing/WrapContentsInDummySpanCommand.cpp:
1703         * editing/htmlediting.h:
1704         * editing/markup.cpp:
1705         * editing/markup.h:
1706         (WebCore::):
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:
1785         * kwq/KWQLoader.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:
1792         * loader/Cache.cpp:
1793         * loader/Cache.h:
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:
1802         * page/Frame.cpp:
1803         * page/Frame.h:
1804         * page/FramePrivate.h:
1805         * page/FrameTree.cpp:
1806         * page/FrameTree.h:
1807         * page/FrameView.cpp:
1808         * page/FrameView.h:
1809         * page/Page.cpp:
1810         * page/Page.h:
1811         * page/Plugin.h:
1812         (WebCore::Plugin::Plugin):
1813         (WebCore::Plugin::view):
1814         * platform/Color.cpp:
1815         * platform/FloatRect.h:
1816         * platform/Font.cpp:
1817         * platform/Font.h:
1818         * platform/FontFamily.cpp:
1819         * platform/GraphicsContext.cpp:
1820         * platform/Image.cpp:
1821         * platform/Image.h:
1822         * platform/IntRect.h:
1823         * platform/KURL.cpp:
1824         * platform/KURL.h:
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:
1832         * platform/Timer.h:
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:
1863         (showTree):
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:
1877         (showTree):
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:
1885
1886 2006-04-10  Darin Adler  <darin@apple.com>
1887
1888         - try to fix the Windows build
1889
1890         * WebCore.vcproj/WebCore/WebCore.vcproj: Fix mistaken bad editing of
1891         AdditionalIncludeDirectories.
1892
1893 2006-04-10  David Hyatt  <hyatt@apple.com>
1894
1895         Make focus ring painting respect clips set by WebCore (e.g., overflow).
1896
1897         Reviewed by darin
1898
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:
1910         (WebCore::setClip):
1911         (WebCore::restoreClip):
1912
1913 2006-04-10  Darin Adler  <darin@apple.com>
1914
1915         Reviewed by Geoff.
1916
1917         - death to khtml/ecma, long live bindings/js
1918
1919         * khtml/ecma: Removed. Moved all files to bindings/js.
1920
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.
1949
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.
1954
1955 2006-04-10  Darin Adler  <darin@apple.com>
1956
1957         Reviewed by Geoff.
1958
1959         - try to fix the Windows build
1960
1961         * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::reset):
1962         Put code to release m_drawingContext into an __APPLE__ ifdef.
1963
1964         * platform/win/TemporaryLinkStubs.cpp:
1965
1966 2006-04-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1967
1968         Reviewed by Eric, landed by ap.
1969
1970         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8295
1971           Dictionary pop-up panel targets the wrong word in a scrolled IFRAME
1972
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.
1979
1980 2006-04-09  Alexey Proskuryakov  <ap@nypop.com>
1981
1982         Reviewed by Darin.
1983
1984         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7877
1985         XMLHttpRequest ignores username/password passed to open()
1986
1987         Test: http/tests/xmlhttprequest/basic-auth.html
1988
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.
1993
1994 2006-04-09  Darin Adler  <darin@apple.com>
1995
1996         Reviewed by Anders.
1997
1998         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4884
1999           Canvas element breaks when RenderObject creation is deferred by external CSS
2000
2001         Test: fast/canvas/canvas-before-css.html
2002
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.
2010
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.
2022
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.
2028
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.
2052
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.
2058
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.
2068
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.
2073
2074 2006-04-09  Rob Buis  <buis@kde.org>
2075
2076         Reviewed by eseidel.  Landed by eseidel.
2077
2078         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6027:
2079         Dirty rect invalidation issues in mozilla sample
2080
2081         Make sure the paths calculate the new bounding box and not
2082         use the cached bbox.
2083
2084         No automated test case possible.
2085
2086         * kcanvas/RenderPath.cpp:
2087         (WebCore::RenderPath::setPath):
2088
2089 2006-04-09  Rob Buis  <buis@kde.org>
2090
2091         Reviewed by darin.  Landed by eseidel.
2092
2093         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6930:
2094         % width/height on nested <svg> tags do not work
2095
2096         Set the context correctly for inner <svg>, so calculation of
2097         width/height for inner <svg> elements is done against the
2098         viewport element.
2099
2100         Test: svg/custom/inner-percent.svg
2101
2102         * ksvg2/svg/SVGSVGElement.cpp:
2103         (WebCore::SVGSVGElement::width):
2104         (WebCore::SVGSVGElement::height):
2105
2106 2006-04-08  Rob Buis  <buis@kde.org>
2107
2108         Reviewed by eseidel.  Landed by eseidel.
2109
2110         No automated test case possible.
2111
2112         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7531:
2113         hang in SVGPolygonElementImpl::toPathData in polygon test case
2114
2115         Make sure the points list is cleared, just like the path
2116         list is cleared first before (re)parsing.
2117
2118         * ksvg2/svg/SVGPolyElement.cpp:
2119         (SVGPolyElement::parseMappedAttribute):
2120
2121 2006-04-08  Darin Adler  <darin@apple.com>
2122
2123         Reviewed by Beth.
2124
2125         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7622
2126           REGRESSION: New text fields should compute maxlength considering composed character sequences
2127
2128         Test: fast/forms/input-text-maxlength.html
2129         Test: fast/forms/input-text-paste-maxlength.html
2130
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.
2136
2137         * html/HTMLInputElement.cpp:
2138         (WebCore::numGraphemeClusters): Added.
2139         (WebCore::numCharactersInGraphemeClusters): Added.
2140         (WebCore::HTMLInputElement::isKeyboardFocusable): Use inputType() instead of using m_type
2141         directly.
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
2168         m_type directly.
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
2186         shares code.
2187         (WebCore::HTMLInputElement::constrainValue): Added.
2188         (WebCore::HTMLInputElement::recheckValue): Added.
2189
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.
2193
2194         * html/HTMLGenericFormElement.h: Removed unused isEditable function.
2195         * html/HTMLGenericFormElement.cpp: Ditto.
2196         * html/HTMLTextAreaElement.h: Ditto.
2197         * html/HTMLTextAreaElement.cpp: Ditto.
2198
2199         * platform/StringImpl.cpp: (WebCore::StringImpl::truncate): Changed > to >= so that
2200         truncating to the size of the string does nothing, efficiently.
2201
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.
2209
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.
2214
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.
2218
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.
2221  
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
2225         on write.
2226         * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Ditto.
2227
2228 2006-04-07  Darin Adler  <darin@apple.com>
2229
2230         Reviewed by Hyatt.
2231
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
2234
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.
2240
2241         - some tiny efficiency improvements to the tokenizer -- no measurable speedup, but removes
2242           a little bit of unneeded code
2243
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).
2248
2249 2006-04-07  Justin Garcia  <justin.garcia@apple.com>
2250
2251         Reviewed by harrison
2252         
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.
2257
2258         * editing/ReplaceSelectionCommand.cpp:
2259         (WebCore::ReplacementFragment::ReplacementFragment):
2260
2261 2006-04-07  Maciej Stachowiak  <mjs@apple.com>
2262
2263         Reviewed by Darin.
2264         
2265         - fixed REGRESSION: offsetParent on element with no offset parent crashes
2266
2267         * dom/Element.cpp:
2268         (WebCore::Element::offsetParent): Add missing null check.
2269
2270 2006-04-07  Justin Garcia  <justin.garcia@apple.com>
2271
2272         Reviewed by adele
2273         
2274         maxlength truncation in text fields didn't work if the fragment was a
2275         single text node.
2276
2277         * editing/ReplaceSelectionCommand.cpp:
2278         (WebCore::ReplacementFragment::ReplacementFragment):
2279
2280 2006-04-07  Justin Garcia  <justin.garcia@apple.com>
2281
2282         Reviewed by harrison
2283         
2284         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8250>
2285         REGRESSION: Interchange newlines aren't passed with the khtmlBeforeTextInsertedEvent
2286
2287         * editing/ReplaceSelectionCommand.cpp:
2288         (WebCore::ReplacementFragment::ReplacementFragment):
2289         Interchange content removal happened before khtmlBeforeTextInsertedEvent was sent.
2290
2291 2006-04-07  Justin Garcia  <justin.garcia@apple.com>
2292
2293         Reviewed by adele
2294         
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
2297
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.
2310
2311 2006-04-06  Justin Garcia  <justin.garcia@apple.com>
2312
2313         Reviewed by harrison
2314         
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
2317
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 
2332         editable region.
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.
2339
2340 2006-04-06  Maciej Stachowiak  <mjs@apple.com>
2341
2342         Reviewed by Anders.
2343
2344         - Convert Element JS bindings to be almost completely autogenerated
2345         http://bugzilla.opendarwin.org/show_bug.cgi?id=8227
2346
2347         * dom/Element.idl: Declare full interface in IDL.
2348         * dom/Element.h:
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.
2352         * dom/Element.cpp:
2353         (WebCore::Element::scrollByUnits): Moved logic from JS bindings to
2354         core DOM.
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
2370
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.
2376
2377         * khtml/ecma/kjs_binding.cpp:
2378         (KJS::valueToStringWithNullCheck): fixed formatting
2379         (KJS::valueToBooleanTreatUndefinedAsTrue): added for binding of scrollIntoView
2380         (isn't this lame?)
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
2387
2388         * css/cssstyleselector.cpp:
2389         (WebCore::CSSStyleSelector::canShareStyleWithElement): updated for rename
2390         of tagName to tagQName
2391         (WebCore::CSSStyleSelector::checkOneSelector): ditto
2392         * dom/Document.cpp:
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
2401
2402 2006-04-06  Beth Dakin  <bdakin@apple.com>
2403
2404         Reviewed by Darin.
2405
2406         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8203 
2407         REGRESSION: "Invite a friend" text field in GMail page spills out 
2408         of table
2409
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().
2413
2414         * rendering/RenderTextField.cpp:
2415         (WebCore::RenderTextField::calcMinMaxWidth):
2416
2417 2006-04-06  Darin Adler  <darin@apple.com>
2418
2419         - try to fix Windows build
2420
2421         * WebCore.vcproj/WebCore/WebCore.vcproj: Add JSDocument.cpp.
2422
2423 2006-04-05  Darin Adler  <darin@apple.com>
2424
2425         Reviewed by Adele.
2426
2427         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8111
2428           REGRESSION (NativeTextField): first click in form field on weather.com leaves focus
2429           but no caret
2430
2431         Test: fast/forms/input-text-self-emptying-click.html
2432
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.
2438
2439         * WebCore.xcodeproj/project.pbxproj: Added MouseEventWithHitTestResults.cpp.
2440         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
2441
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.
2445
2446         * dom/Document.cpp:
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.
2450
2451         * page/Frame.cpp:
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.
2461
2462         * bridge/mac/FrameMac.mm:
2463         (WebCore::FrameMac::handleMousePressEvent): Use new name targetNode, instead of old
2464         name innerNode.
2465         (WebCore::FrameMac::handleMouseMoveEvent): Ditto.
2466         (WebCore::FrameMac::passSubframeEventToSubframe): Ditto.
2467         (WebCore::FrameMac::sendContextMenuEvent): Ditto.
2468
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.
2478
2479 2006-04-05  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2480
2481         Reviewed and landed by Maciej.
2482
2483         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8184
2484           REGRESSION (r13655): Layer outline not clipped where it should be
2485
2486         * rendering/RenderLayer.cpp:
2487         (WebCore::RenderLayer::calculateRects): Reverted this part of the fix for bug 7943.
2488         The outlineRect should not be inflated.
2489
2490 2006-04-05  Rob Buis  <buis@kde.org>
2491
2492         Reviewed by Eric, landed by Maciej.
2493
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
2496
2497         Fix this svg stylesheet to use strict-mode, as this makes sure
2498         class selecting is done correctly.
2499
2500         * ksvg2/svg/SVGStyleElement.cpp:
2501         (SVGStyleElement::childrenChanged):
2502
2503 2006-04-05  Justin Garcia  <justin.garcia@apple.com>
2504
2505         Reviewed by mjs
2506
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
2509         implicit removes.
2510
2511         * editing/ReplaceSelectionCommand.cpp:
2512         (WebCore::ReplaceSelectionCommand::doApply):
2513
2514 2006-04-05  Maciej Stachowiak  <mjs@apple.com>
2515
2516         Reviewed by Anders.
2517
2518         - autogenerate bindings for all of the methods and properties of Document
2519         http://bugzilla.opendarwin.org/show_bug.cgi?id=8163
2520
2521         - also removed document.actualEncoding since it is not in any spec
2522         or implemented by any other browser
2523         
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.
2527         * dom/Document.cpp:
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
2532         * dom/Document.h:
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:
2552         (KJS::):
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.
2563
2564 2006-04-05  Justin Garcia  <justin.garcia@apple.com>
2565
2566         Reviewed by darin
2567         
2568         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8198>
2569         Hitting an assert on undo paste
2570         
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.
2577
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.
2594
2595 2006-04-05  Darin Adler  <darin@apple.com>
2596
2597         - fixed the build
2598
2599         * WebCore.xcodeproj/project.pbxproj: Oops! Resolved merge conflict.
2600
2601 2006-04-05  Darin Adler  <darin@apple.com>
2602
2603         Reviewed by Maciej.
2604
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)
2608
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.
2614
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".
2620
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!
2624
2625         * kwq/AccessibilityObjectCache.h: Changed hash function to be IntHash
2626         instead of PtrHash.
2627
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.
2631
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).
2637
2638         * bridge/mac/FrameMac.h:
2639         * dom/Document.h:
2640         * dom/xml_tokenizer.h:
2641         * khtml/xsl/XSLTProcessor.h:
2642         * kwq/JavaAppletWidget.h:
2643         * page/FramePrivate.h:
2644         * page/Page.cpp:
2645         * platform/AtomicString.cpp:
2646         * platform/TransferJob.h:
2647         * rendering/render_applet.h:
2648         Added include of StringHash.h.
2649
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
2654         target as well.
2655
2656         * ForwardingHeaders/kxmlcore/HashTraits.h: Added.
2657
2658         - other minor cleanup
2659
2660         * bridge/mac/FrameMac.mm: Sorted includes.
2661         * dom/Node.cpp: Removed bogus symbol after #endif.
2662
2663         * khtml/xsl/XSLTProcessor.cpp: Sorted includes. Removed redundant using
2664         namespace WebCore.
2665         * loader/Cache.cpp: Ditto.
2666
2667 2006-04-05  Beth Dakin  <bdakin@apple.com>
2668
2669         Reviewed by Darin.
2670
2671         Fix for <rdar://problem/4502311> text-transform:capitalize needs to 
2672         treat nbsp as a regular space when ICU changes
2673
2674         There will be future changes in ICU to match the Unicode 4.1 
2675         standard which no longer recognizes &nbsp 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.
2678
2679         No layout tests added because existing layout tests cover this.
2680
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.
2685
2686 2006-04-05  Alexey Proskuryakov  <ap@nypop.com>
2687
2688         Reviewed by Darin.
2689
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)
2692
2693         Test: fast/dom/navigator-vendorSub.html
2694
2695         * khtml/ecma/kjs_navigator.cpp:
2696         (KJS::Navigator::getValueProperty): Return an empty string for vendorSub property.
2697         * khtml/ecma/kjs_navigator.h:
2698
2699 2006-04-04  Darin Adler  <darin@apple.com>
2700
2701         Reviewed by Justin (editing parts) and Adele (the rest).
2702
2703         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8182
2704           some text-field-related layout tests are failing
2705
2706         The smart paste code was getting confused and adding extra spaces.
2707
2708         * editing/ReplaceSelectionCommand.cpp:
2709         (WebCore::ReplaceSelectionCommand::doApply): Use isStartOfParagraph instead of
2710         isStartOfLine.
2711         (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): Ditto.
2712
2713         * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::enclosingEmptyListItem):
2714         Change to call isStart/EndOfParagraph instead of Line.
2715
2716         * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input):
2717         Add a comment about how isStartOfLine is almost certainly wrong here.
2718
2719         - clean up some loose ends in the Frame class from the recent renaming
2720
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.
2726
2727         - invoke the makefile directly, removing the generate-derived-sources script
2728
2729         * WebCore.vcproj/WebCore/build-generated-files.sh: Call make directly.
2730         * WebCore.xcodeproj/project.pbxproj: Ditto.
2731         * generate-derived-sources: Removed.
2732
2733 2006-04-04  Adele Peterson  <adele@apple.com>
2734
2735         Reviewed by Justin.
2736
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
2739
2740         Tests:
2741         editing/selection/caret-rtl.html
2742         editing/selection/caret-rtl-2.html
2743
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
2748         changes.
2749
2750 2006-04-04  David Hyatt  <hyatt@apple.com>
2751
2752         Fix for bug 8065, inline blocks incorrectly loses spaces between them.
2753
2754         Reviewed by beth
2755
2756         * dom/Text.cpp:
2757         (WebCore::Text::rendererIsNeeded):
2758
2759 2006-04-04  Adele Peterson  <adele@apple.com>
2760
2761         Reviewed by Hyatt.
2762
2763         - Fix for:
2764         http://bugzilla.opendarwin.org/show_bug.cgi?id=8092
2765         REGRESSION (NativeTextField): table contents misaligned in Netflix queue
2766
2767         http://bugzilla.opendarwin.org/show_bug.cgi?id=8141
2768         REGRESSION: Native text field fails to wrap inside table
2769
2770         http://bugzilla.opendarwin.org/show_bug.cgi?id=8072
2771         REGRESSION: text fields at connect.apple.com spill out of the containing box
2772
2773         Test: fast/forms/input-table.html
2774
2775         Rewrote calcMinMaxWidth for text fields so it considers width, 
2776         min-width, and max-width settings as well as the size attribute.
2777
2778         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
2779
2780 2006-04-04  Beth Dakin  <bdakin@apple.com>
2781
2782         Reviewed by Darin.
2783
2784         This is a followup to my fix for <rdar://problem/4493218>
2785         
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 
2792         28-bit integers. 
2793
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):
2804
2805 2006-04-04  Timothy Hatcher  <timothy@apple.com>
2806
2807         Reviewed by Darin.
2808
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. 
2811
2812         * WebCore.xcodeproj/project.pbxproj:
2813
2814 2006-04-04  Justin Garcia  <justin.garcia@apple.com>
2815
2816         Reviewed by darin
2817         
2818         <http://bugzilla.opendarwin.org/show_bug.cgi?id=6608>
2819         REGRESSION: Line disappears when deleting
2820         
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
2826         stop.
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.
2834         
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:
2846         (WebCore::):
2847         * editing/markup.cpp:
2848         (WebCore::createMarkup): 
2849         Was crashing when passed a collapsed range.  I early return an empty string instead.
2850
2851 2006-04-04  John Sullivan  <sullivan@apple.com>
2852
2853         Reviewed by Adele Peterson.
2854         
2855         - WebCore part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
2856
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)
2862         
2863         * kwq/KWQKHTMLSettings.h:
2864         (KHTMLSettings::privateBrowsingEnabled):
2865         (KHTMLSettings::setPrivateBrowsingEnabled):
2866         Teach KHTMLSettings about private browsing
2867         
2868         * kwq/KWQLineEdit.mm:
2869         Fix wrong class in a category method declaration; the compiler didn't seem to mind.
2870         
2871         * kwq/WebCoreTextField.mm:
2872         (-[KWQSearchFieldCell _addStringToRecentSearches:]):
2873         Override this method to bail out if private browsing is enabled.
2874
2875 2006-04-04  Trey Matteson  <trey@usa.net>
2876
2877         Reviewed by Hyatt.
2878
2879         http://bugzilla.opendarwin.org/show_bug.cgi?id=7951
2880         REGRESSION: Safari crashes when printing a google map w/directions
2881
2882         Tests: none, because I believe it only happens when printing, due to the relayouts
2883
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.
2890
2891 2006-04-03  Justin Haygood <jhaygood@spsu.edu>
2892
2893         Reviewed by eseidel.  Landed by eseidel.
2894         
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
2898
2899         * platform/win/ScrollViewWin.cpp:
2900         (WebCore::ScrollView::updateScrollBars):
2901
2902 2006-04-04  Eric Seidel  <eseidel@apple.com>
2903
2904         Reviewed by andersca.
2905
2906         Work-around spaces-in-pathnames issue in gnumake on win32.
2907         http://bugzilla.opendarwin.org/show_bug.cgi?id=8173
2908
2909         * WebCore.vcproj/WebCore/build-generated-files.sh:
2910
2911 2006-04-03  Darin Adler  <darin@apple.com>
2912
2913         - tried to fix build again
2914
2915         * WebCore.xcodeproj/project.pbxproj: Removed JSStyleSheet files.
2916         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
2917
2918 2006-04-03  Darin Adler  <darin@apple.com>
2919
2920         - fixed properties on a bunch of files
2921           (removed allow-tabs and svn:executable from many)
2922
2923         * css/css_base.cpp:
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:
2934         * rendering/bidi.h:
2935         * rendering/render_list.cpp:
2936         * rendering/render_style.cpp:
2937         * rendering/table_layout.h:
2938         Converted tabs to spaces.
2939
2940 2006-04-03  Alexey Proskuryakov  <ap@nypop.com>
2941
2942         Reviewed by Darin.
2943
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)
2946
2947         Tests: fast/css/invalidation-errors.html
2948                fast/css/invalidation-errors-2.html
2949                fast/css/invalidation-errors-3.html
2950
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.
2959
2960 2006-04-03  Darin Adler  <darin@apple.com>
2961
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)
2965
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.
2970
2971 2006-04-03  Darin Adler  <darin@apple.com>
2972
2973         - fixed Macintosh build
2974
2975         * WebCore.xcodeproj/project.pbxproj: Fixed paths of some files that were absolute
2976         paths from my machine.
2977
2978 2006-04-03  Darin Adler  <darin@apple.com>
2979
2980         - try to fix Windows build
2981
2982         * WebCore.vcproj/WebCore/WebCore.vcproj: Add three new generated files as source files.
2983
2984 2006-04-03  Darin Adler  <darin@apple.com>
2985
2986         Reviewed by Maciej.
2987
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
2990
2991         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent):
2992         Scroll to the right if RTL.
2993
2994 2006-04-03  Darin Adler  <darin@apple.com>
2995
2996         Reviewed by Maciej.
2997
2998         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8147
2999           convert derived sources script to a Makefile
3000
3001         * DerivedSources.make: Added.
3002         * css/CSSPrimitiveValue.idl: Added.
3003         * css/Counter.idl: Added.
3004         * css/StyleSheet.idl: Added.
3005
3006         * WebCore.xcodeproj/project.pbxproj: Added new generated files, IDLs, and the makefile.
3007         * bindings/scripts/CodeGeneratorJS.pm:
3008
3009         * generate-derived-sources: Added license header. Removed most of the script, except for
3010         a single invocation of make.
3011
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.
3021
3022 2006-04-03  Justin Garcia  <justin.garcia@apple.com>
3023
3024         Reviewed by harrison
3025         
3026         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8117>
3027         REGRESSION (NativeTextField): Drag and drop text within a text input field modifies page
3028         
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 
3032         be in the document.
3033         
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
3037         is constructed.
3038
3039         * editing/ReplaceSelectionCommand.cpp:
3040         (WebCore::ReplacementFragment::ReplacementFragment):
3041         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
3042         (WebCore::ReplaceSelectionCommand::doApply):
3043         * editing/ReplaceSelectionCommand.h:
3044
3045 2006-04-03  Beth Dakin  <bdakin@apple.com>
3046
3047         Reviewed by Hyatt.
3048
3049         Fix for <rdar://problem/4495644> crash when mousing over links at 
3050         nationalrealestateinvestors.com in 
3051         WebCore::RenderBlock::findNextLineBreak
3052
3053         This is a fix for a repro crasher where a rootLineBox had a stale 
3054         pointer to a render object.
3055
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 
3060         can happen.
3061
3062 2006-04-03  Timothy Hatcher  <timothy@apple.com>
3063
3064         Reviewed by Maciej.
3065
3066         Removing idl files and some scripts from the WebCore target to prevent
3067         them from being copied into the Resources.
3068
3069         * WebCore.xcodeproj/project.pbxproj:
3070
3071 2006-04-03  Dave Hyatt  <hyatt@apple.com>
3072
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.
3077
3078         Reviewed by anders
3079
3080         * dom/Node.h:
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):
3112
3113 2006-04-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3114
3115         Reviewed by Beth.
3116
3117         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8085
3118           REGRESSION: Main menu positioned incorrectly on eia.org and fedex.com/us
3119
3120         Test: fast/dom/Element/offsetTop-table-cell.html
3121
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.
3126
3127 2006-04-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3128
3129         Test: fast/repaint/layer-outline.html fast/repaint/layer-outline-horizontal.html
3130
3131         Reviewed by Darin.
3132
3133         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7943
3134           Layer outline does not repaint
3135
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
3140         outline rect.
3141
3142 2006-04-03  Adele Peterson  <adele@apple.com>
3143
3144         Reviewed by Justin.
3145
3146         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8104
3147         REGRESSION (NativeTextField): New text fields should not allow pasting newlines
3148
3149         Test: fast/forms/input-truncate-newline.html
3150
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.
3155
3156 2006-04-03  Alexey Proskuryakov  <ap@nypop.com>
3157
3158         Fixed a comment (forgot to save the file before the previous commit).
3159
3160         * xml/xmlhttprequest.cpp:
3161         (WebCore::XMLHttpRequest::open):
3162
3163 2006-04-03  Alexey Proskuryakov  <ap@nypop.com>
3164
3165         Reviewed by Darin.
3166
3167         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8099
3168           REGRESSION: XMLHttpRequest lowercase post requests broken
3169
3170         Test: http/tests/xmlhttprequest/methods-lower-case.html
3171
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.
3175
3176 2006-04-02  Graham Dennis  <Graham.Dennis@gmail.com>
3177
3178         Reviewed by Darin.
3179
3180         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8032
3181           REGRESSION: Focus ring not completely redrawn after a Delete changes its size
3182
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
3188         bug 6301.
3189         * manual-tests/outline-repaint-glitch.html: Added. Manual testcase.
3190         This is just an outline version of border-repaint-glitch.html
3191
3192 2006-04-02  Trey Matteson  <trey@usa.net>
3193
3194         Reviewed by Maciej.
3195
3196         Support for fixing http://bugzilla.opendarwin.org/show_bug.cgi?id=8121
3197         REGRESSION: 404s are not displayed
3198
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.
3205
3206 2006-04-02  David Kilzer  <ddkilzer@kilzer.net>
3207
3208         Reviewed by Maciej.
3209
3210         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8079
3211         REGRESSION: Redraw from page cache does not show visited links
3212
3213         * page/Frame.cpp: (WebCore::Frame::reparseConfiguration): Added back
3214         updateStyleSelector call that was removed as part of the patch for bug 7907.
3215
3216 2006-04-02  Maciej Stachowiak  <mjs@apple.com>
3217
3218         Reviewed by Hyatt.
3219
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
3225
3226         * bridge/mac/FrameMac.mm:
3227         (WebCore::FrameMac::nextKeyViewInFrame):
3228         * bridge/mac/WebCoreFrameBridge.h:
3229
3230 2006-04-02  Darin Adler  <darin@apple.com>
3231
3232         - add a few stubs to get Windows closer to building
3233
3234         * platform/win/TemporaryLinkStubs.cpp:
3235         (WebCore::focusRingColor):
3236         (WebCore::setFocusRingColorChangeFunction):
3237         (Frame::setNeedsReapplyStyles):
3238
3239 2006-04-02  Darin Adler  <darin@apple.com>
3240
3241         - fix the build
3242
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.
3245
3246 2006-04-02  Darin Adler  <darin@apple.com>
3247
3248         Reviewed by Adele.
3249
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
3252
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
3255
3256         - some cleanup to how we parse user agent style sheets
3257
3258         * css/CSSValueKeywords.in: Added -webkit-focus-ring-color.
3259
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.
3270
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.
3274
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
3279         this one later.
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.
3284
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.
3290
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.
3296
3297         * page/Frame.h: Removed instances, mutableInstances, and detachFromView.
3298         * page/Frame.cpp: Ditto.
3299
3300         * page/FrameTree.cpp:
3301         (WebCore::FrameTree::~FrameTree): Call setView(0) instead of detachFromView().
3302         (WebCore::FrameTree::removeChild): Ditto.
3303
3304         * page/Page.h:
3305         * page/Page.cpp:
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
3308         is called.
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.
3314
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.
3317
3318         * platform/PlatformString.h: Added a constructor that takes a char* and
3319         a length.
3320         * platform/String.cpp: (WebCore::String::String): Ditto.
3321
3322         * WebCore.xcodeproj/project.pbxproj: Just some tweaks; adding in a few files like
3323         the user agent style sheets.
3324
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
3331         DeprecatedString.
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.
3334
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
3339         color change in).
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.
3347
3348 2006-04-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3349
3350         Test: fast/inline-block/overflow-clip.html
3351
3352         Reviewed by Darin.
3353
3354         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8118
3355           REGRESSION (r13595): Inline block's clipped overflow increases table row height
3356
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.
3360
3361 2006-04-02  Eric Seidel  <eseidel@apple.com>
3362
3363         Reviewed by andersca.
3364
3365         Make WebCore safe against KJS::Node in JavaScriptCore private headers.
3366
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):
3381         (KJS::toNode):
3382         (KJS::DOMEventTargetNode::DOMEventTargetNode):
3383         (KJS::DOMDocumentProtoFunc::callAsFunction):
3384         (KJS::DOMElement::putValueProperty):
3385         (KJS::DOMElementProtoFunc::callAsFunction):
3386         (KJS::checkNodeSecurity):
3387         (KJS::toJS):
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:
3405         (KJS::Window::put):
3406         * kwq/KWQPageState.mm:
3407         (-[KWQPageState WebCore::]):
3408
3409 2006-04-01  Darin Adler  <darin@apple.com>
3410
3411         Reviewed by Eric.
3412
3413         - removed a bunch of unneeded ForwardingHeaders and WebCore+SVG headers
3414
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.
3458
3459         * WebCore.xcodeproj/project.pbxproj: Removed headers.
3460
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:
3534         Updated includes.
3535
3536 2006-04-01  Darin Adler  <darin@apple.com>
3537
3538         Reviewed by Maciej.
3539
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
3542
3543         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8082
3544           REGRESSION: Empty RTL text fields place the caret on the left side
3545
3546         Need a way to make a test for this. No obvious way at the moment.
3547
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.
3551
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
3555         never called.
3556
3557 2006-04-01  Darin Adler  <darin@apple.com>
3558
3559         Reviewed by Justin.
3560
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
3563
3564         Test: fast/forms/input-text-scroll-left-on-blur.html
3565
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
3569         the left on a blur.
3570
3571         - unrelated small changes
3572
3573         * html/HTMLTextFieldInnerElement.cpp: Removed excess includes.
3574         (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Tweaked comments a bit.
3575
3576         * dom/Element.cpp:
3577         (WebCore::Element::scrollIntoView): Removed unneeded this-> before function call.
3578         (WebCore::Element::scrollIntoViewIfNeeded): Ditto.
3579
3580         * page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent): Removed obsolete comment.
3581
3582 2006-03-31  Maciej Stachowiak  <mjs@apple.com>
3583
3584         Reviewed by Adele.
3585         
3586         <rdar://problem/4497684> REGRESSION(NativeTextField): After undoing pasted text in a field, the field changes to only a few pixels in height (8096)
3587
3588         * editing/ReplaceSelectionCommand.cpp:
3589         (WebCore::ReplaceSelectionCommand::doApply): merge into start block when pasting into
3590         an empty editable subtree.
3591
3592 2006-04-01  Darin Adler  <darin@apple.com>
3593
3594         Reviewed by Maciej.
3595
3596         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8063
3597           REGRESSION: double clicking in new text fields won't select whole words
3598
3599         Test: fast/forms/input-text-double-click.html
3600
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.
3606
3607         * editing/Selection.cpp: (WebCore::Selection::validate): Fix a tiny formatting glitch
3608         I noticed at the same time.
3609
3610 2006-03-31  John Sullivan  <sullivan@apple.com>
3611
3612         Reviewed by Tim Hatcher.
3613         
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)
3616
3617         * bridge/mac/FrameMac.mm:
3618         (WebCore::FrameMac::sendContextMenuEvent):
3619         Rolled in this one-line change that Hyatt wrote ages ago.
3620
3621 2006-03-31  Beth Dakin  <bdakin@apple.com>
3622
3623         Reviewed by John.
3624
3625         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8108
3626         REGRESSION (r13590-r13593): Floating table's cells don't paint 
3627         their background
3628
3629         This is a regression from my painting patch yesterday. Just a silly 
3630         error I didn't catch.
3631
3632         * rendering/RenderTable.cpp:
3633         (WebCore::RenderTable::paint): Change the phase of our new 
3634         PaintInfo, not our old one.
3635
3636 2006-03-31  Tim Omernick  <timo@apple.com>
3637
3638         Reviewed by Adele.
3639
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
3642         
3643         * rendering/RenderTextField.cpp:
3644         (WebCore::RenderTextField::createDivStyle):
3645         Set user modify based on the form element's readOnly().
3646         (WebCore::RenderTextField::updateFromElement):
3647         ditto
3648
3649 2006-03-31  Adele Peterson  <adele@apple.com>
3650
3651         Reviewed by Tim Omernick.
3652
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.
3655
3656         * dom/Node.cpp: (WebCore::Node::shadowAncestorNode):
3657         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setSelectionRange):
3658          Updated assertion to check for shadowAncestorNode instead of rootEditableElement.
3659
3660 2006-03-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3661
3662         Reviewed by John Sullivan.
3663         
3664         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8101
3665           REGSRESSION: Fix for bug 7031 causes 30 layout tests to fail
3666
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.
3673
3674 2006-03-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3675
3676         Reviewed by Darin, landed by Beth.
3677
3678         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8081
3679         REGRESSION: Drop-down menu has gap at top
3680
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.
3686
3687 2006-03-31  Dave Hyatt <hyatt@apple.com>
3688
3689         Fix the border drawing for themes on Win32.
3690
3691         Reviewed by adele
3692
3693         * rendering/RenderBox.cpp:
3694         (WebCore::RenderBox::paintBoxDecorations):
3695         * rendering/RenderTheme.cpp:
3696         (WebCore::RenderTheme::paintBorderOnly):
3697         * rendering/RenderTheme.h:
3698
3699 2006-03-31  Darin Adler  <darin@apple.com>
3700
3701         Reviewed by John Sullivan.
3702
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.
3706
3707         * dom/Element.idl: Removed comment from bad old days where we had to
3708         touch these files to make them rebuild.
3709
3710 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
3711
3712         - fixed Windows build breakage from previous change
3713
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):
3720
3721 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
3722
3723         Reviewed by Eric.
3724         
3725         - various Point / Size related cleanup
3726         
3727         First, I clarified the semantics of some operations to keep a
3728         better distinction between IntPoint and IntSize:
3729         
3730         * platform/IntPoint.h:
3731         (WebCore::IntPoint::move): new convenience to move a point by separate
3732         x and y deltas.
3733         (WebCore::operator+=): You can't add a point to a point, you can only add
3734         a size to a point.
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,
3740         not an IntPoint.
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
3745
3746         Made the same changes for FloatPoint:
3747         
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-):
3758
3759         Then I changed a bunch of stuff to pass around IntPoint instead of separate x and y
3760         coordinates. The main one was:
3761         
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,
3769         not scrollPoint
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):
3779
3780         The rest is mainly updates for these changes.
3781
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):
3797         * page/Frame.cpp:
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):
3806         * page/Frame.h:
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):
3819
3820 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
3821
3822         - fixed windows build
3823
3824         * platform/win/TemporaryLinkStubs.cpp:
3825         (Widget::unlockDrawingFocus):
3826
3827 2006-03-31  Eric Seidel  <eseidel@apple.com>
3828
3829         Reviewed by mjs.
3830
3831         A bit more code cleanup.
3832
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:]):
3842         * page/Frame.cpp:
3843         (WebCore::Frame::submitForm):
3844         * platform/Widget.h:
3845         * platform/mac/WidgetMac.mm:
3846         * rendering/render_frames.cpp:
3847         (WebCore::RenderFrameSet::userResize):
3848
3849 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
3850
3851         Reviewed by Eric.
3852
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:]):
3860         * dom/Document.cpp:
3861         (WebCore::Document::elementFromPoint):
3862         (WebCore::Document::prepareMouseEvent):
3863         * dom/Document.h:
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.
3870         * page/Frame.cpp:
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:
3884
3885 2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3886
3887         Tests: fast/repaint/flexible-box-overflow.html fast/repaint/flexible-box-overflow-horizontal.html
3888
3889         Reviewed by Darin.
3890         
3891         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8056
3892           Flexible boxes do not repaint their top, left and children's overflows
3893
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):
3905
3906 2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3907
3908         Tests: fast/repaint/text-shadow.html fast/repaint/text-shadow-horizontal.html
3909
3910         Reviewed by Darin.
3911
3912         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7301
3913           Text shadow does not repaint correctly
3914
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
3926         on the inline.
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
3930         vertical bounds.
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):
3939
3940 2006-03-30  Beth Dakin  <bdakin@apple.com>
3941
3942         Reviewed by Hyatt.
3943
3944         Fix for <rdar://problem/4472371> REGRESSION(417.9-TOT): Focus ring 
3945         around link in overflow:auto div isn't clipped to div
3946
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.
3952
3953         This patch also changes the name of PaintAction back to PaintPhase. 
3954         Because Hyatt said so.
3955
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:
3992         (WebCore::):
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):
4014
4015 2006-03-30  Tim Omernick  <timo@apple.com>
4016
4017         Manual test case for the Java aspect of <rdar://problem/4212626> REGRESSION: LIVECONNECT:
4018         JavaScript type for Java Strings is function, not object
4019
4020         * manual-tests/java-string-object-type.html: Added.
4021         * manual-tests/resources/StringTypeTest.class: Added.
4022         * manual-tests/resources/StringTypeTest.java: Added.
4023
4024 2006-03-30  Eric Seidel  <eseidel@apple.com>
4025
4026         Reviewed by hyatt.
4027
4028         Fix text form controls, and add basic submit support!
4029
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):
4040
4041 2006-03-30  Adele Peterson  <adele@apple.com>
4042
4043         Reviewed by Justin.
4044
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
4047
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.
4051
4052 2006-03-30  Justin Garcia  <justin.garcia@apple.com>
4053
4054         Reviewed by darin
4055         
4056         http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
4057         REGRESSION: Plain-text mode needed for contenteditable area used in new text field
4058
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):
4068         * dom/Node.cpp:
4069         (WebCore::Node::isContentRichlyEditable):
4070         * dom/Node.h:
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:
4092         (WebCore::):
4093         
4094 2006-03-30  David Harrison  <harrison@apple.com>
4095
4096         Reviewed by Justin.
4097
4098         <rdar://problem/4444693> REGRESSION: Deleting empty lines causes quoted text to mistakenly get "unquoted"
4099
4100         * editing/DeleteSelectionCommand.cpp:
4101         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
4102         Formatting.
4103         (WebCore::DeleteSelectionCommand::moveNodesAfterNode):
4104         Generalize check that preserves nesting when deleting to the beginning of an ancestor block.
4105
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.
4109
4110 2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4111
4112         Reviewed by Darin.
4113
4114         - Test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8076
4115           REGRESSION: native text fields are reversed on "visual Hebrew" pages
41