2006-10-02 Nikolas Zimmermann <zimmermann@kde.org>
[WebKit.git] / WebCore / ChangeLog
1 2006-10-02  Nikolas Zimmermann  <zimmermann@kde.org>
2
3         Reviewed by eseidel.  Landed by eseidel.
4
5         Fix Qt/Linux build.
6
7         * platform/qt/TemporaryLinkStubs.cpp: s/DeprecatedStringList/Vector<String>/
8         (WebCore::supportedKeySizes):
9
10 2006-10-02  Nikolas Zimmermann <zimmermann@kde.org>
11
12         Reviewed by eseidel & mjs.  Landed by eseidel.
13
14         Fix Qt/Linux build with older gcc 3.3.4.
15         http://bugs.webkit.org/show_bug.cgi?id=11116
16
17         As discussed with Maciej, the GCC_ROOT_NS_HACK
18         can be completely removed, as well as the friendship
19         between cacheGlobalObject & the JS* objects.
20
21         * bindings/scripts/CodeGeneratorJS.pm: Remove friendship.
22         * platform/image-decoders/png/pnggccrd.c: Fix comments for gcc3.
23         (png_read_filter_row_mmx_avg):
24         * platform/image-decoders/png/pngvcrd.c: Ditto.
25         (png_mmx_support):
26         (png_read_filter_row_mmx_avg):
27
28 2006-10-01  Maciej Stachowiak  <mjs@apple.com>
29
30         Rubber stamped by Alexey.
31
32         - reverted fix for http://bugs.webkit.org/show_bug.cgi?id=10893 since it led to layout test crashes
33
34         * css/CSSGrammar.y:
35
36 2006-10-01  Eric Seidel  <eric@webkit.org>
37
38         Reviewed by mjs.
39
40         Eliminate a few more hotspots in SVG drawing code.
41         
42         No test cases were harmed in the making of this patch.  (And SVG has no perf tests.)
43
44         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
45         (WebCore::KRenderingPaintServerSolidQuartz::setup): use a single shared colorspace, avoid a few mallocs
46         * platform/mac/ColorMac.mm:
47         (+[WebCoreControlTintObserver WebCore]): store a single shared colorspace instance
48
49 2006-10-01  Geoffrey Garen  <ggaren@apple.com>
50
51         Reviewed by Maciej.
52         
53         More frame/iframe merging.
54         
55         - Removed needWidgetUpdate and related code. needWidgetUpdate is always
56         false, so this was dead code.
57         - Removed FIXME about setInViewSourceMode inside openURL(). openURL(), rather
58         than attach(), is the correct place for setInViewSourceMode, because
59         openURL() is the function that creates our frame.
60         - Moved IFRAME insertedIntoDocument() code into FRAME, and removed FRAME
61         code that did the same thing in other places.
62         - Made FRAME's attach() method suffuciently generic so that IFRAME could
63         call up to it, rather than skipping its superclass and calling up directly 
64         to ELEMENT.
65         - Changed a few IFRAME up-calls to ELEMENT into up-calls to FRAME.
66         - Replaced ad hoc frame loading code in FRAME::attach() with call to
67         openURL(), the designated frame loading function.
68
69         Layout tests pass. I added a layout test for viewsource mode, since I
70         broke it in the course of writing this patch.
71
72 2006-10-01  Anders Carlsson  <acarlsson@apple.com>
73
74         Reviewed by Geoff.
75
76         * dom/Document.cpp:
77         (WebCore::Document::recalcStyleSelector):
78         * dom/Document.h:
79         Get rid of availableStyleSheets() and remove DeprecatedStringList.h include.
80         
81         * dom/Node.h:
82         Remove DeprecatedStringList class forward declaration.
83         
84         * editing/markup.cpp:
85         Include DeprecatedStringList.h here since it's not included by Document.h anymore.
86         
87         * kcanvas/KCanvasTreeDebug.cpp:
88         * kcanvas/KCanvasTreeDebug.h:
89         Remove unused functions.
90         
91         * loader/loader.cpp:
92         * page/Frame.cpp:
93         * page/Frame.h:
94         * page/FrameView.h:
95         Fixup DeprecatedStringList.h includes.
96
97 2006-09-30  David Harrison  <harrison@apple.com>
98
99         Reviewed by John Sullivan.
100
101         <rdar://problem/4641262> REGRESSION: Japanese text corrupts on wrapping point
102
103         Problem was that the decision to trim was based only on whether the character
104         is a soft hyphen, which caused pretty much any Japanese character to go.
105         Changed to decide based on whether the character is ignorable whitespace.
106         
107         Test:
108         * fast/text/international/wrap-CJK-001.html
109
110         * rendering/bidi.cpp:
111         (WebCore::isTrimmableChar):
112         New. Checks whether character is whitespace that can be ignored
113         according to the text node's style.
114         trimmed from the end of wrapped line.
115         (WebCore::checkMidpoints):
116         Call isTrimmable() rather than checking for char != SOFT_HYPHEN.
117
118 2006-10-01  Anders Carlsson  <acarlsson@apple.com>
119
120         Reviewed by Mitz Pettel.
121
122         Convert the SVG code to use Vector<String> instead of DeprecatedStringList.
123
124         * ksvg2/svg/SVGColor.cpp:
125         (WebCore::SVGColor::setRGBColor):
126         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
127         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
128         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
129         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
130         (WebCore::SVGFEGaussianBlurElement::parseMappedAttribute):
131         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
132         (SVGFESpecularLightingElement::parseMappedAttribute):
133         * ksvg2/svg/SVGFETurbulenceElement.cpp:
134         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
135         * ksvg2/svg/SVGLengthList.cpp:
136         * ksvg2/svg/SVGNumberList.cpp:
137         (SVGNumberList::parse):
138         * ksvg2/svg/SVGNumberList.h:
139         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
140         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
141         * ksvg2/svg/SVGStringList.cpp:
142         (WebCore::SVGStringList::reset):
143         * ksvg2/svg/SVGStringList.h:
144         * ksvg2/svg/SVGTransformable.cpp:
145         (SVGTransformable::parseTransformAttribute):
146
147 2006-10-01  Nikolas Zimmermann  <zimmermann@kde.org>
148
149         Reviewed by Eric, tweaked and landed by ap.
150
151         Fix Qt/Linux build.
152
153         * CMakeLists.txt:
154         * platform/qt/PlatformScrollBar.h:
155         * platform/qt/TemporaryLinkStubs.cpp:
156         (WebCore::ScrollBar::ScrollBar):
157         (WebCore::PlatformScrollBar::PlatformScrollBar):
158         (FrameView::passMousePressEventToSubframe):
159         (FrameView::passMouseMoveEventToSubframe):
160         (FrameView::passMouseReleaseEventToSubframe):
161         (FrameView::passWheelEventToSubframe):
162         (FrameView::passMousePressEventToScrollbar):
163         * ksvg2/svg/SVGDocument.h:
164
165 2006-10-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
166
167         Reviewed by Darin.
168
169         Fix for http://bugs.webkit.org/show_bug.cgi?id=10190
170         REGRESSION: Repro crash when navigating away from an image document that hasn't finished loading
171
172         No test case added (probably requires new DumpRenderTree functionality)
173
174         * rendering/RenderImage.cpp:
175         (WebCore::RenderImage::imageChanged): Added early return if the document is
176         being destroyed.
177
178 2006-10-01  Graham Dennis  <graham.dennis@gmail.com>
179
180         Reviewed by Hyatt.
181
182         Fix for http://bugs.webkit.org/show_bug.cgi?id=10842
183         REGRESSION (r15418): contenteditable div truncates rightmost Japanese character
184         
185         Make sure we only break after a space (and not any other valid line-break) if
186         the style is -webkit-line-break: after-white-space (e.g. for a contentEditable div).
187         I also did a logic shuffle at Mitz's request to prevent doing an if on the same expression
188         twice in quick succession.
189
190         * rendering/bidi.cpp:
191         (WebCore::RenderBlock::findNextLineBreak): 
192
193 2006-10-01  Alexey Proskuryakov  <ap@nypop.com>
194
195         Reviewed by Maciej and Darin.
196
197         http://bugs.webkit.org/show_bug.cgi?id=4372
198         JavaScript document.write page form does not submit in Safari
199
200         Test: fast/forms/document-write.html
201
202         * page/Frame.cpp:
203         (WebCore::Frame::submitForm): Don't check for parsing().
204
205 2006-10-01  Alexey Proskuryakov  <ap@nypop.com>
206
207         Build fix.
208
209         * bridge/mac/FrameViewMac.mm: Add missing #imports.
210
211 2006-10-01  Dave Hyatt  <hyatt@apple.com>
212
213         Refactor the code that passes mouse presses to the Mac scrollbar and make it cross-platform.
214        
215         Reviewed by mitz
216
217         * bridge/mac/FrameMac.mm:
218         (WebCore::FrameMac::passWidgetMouseDownEventToWidget):
219         * bridge/mac/FrameViewMac.mm:
220         (WebCore::FrameView::passMousePressEventToScrollbar):
221         * page/FrameView.cpp:
222         (WebCore::FrameView::handleMousePressEvent):
223         (WebCore::FrameView::setMousePressed):
224         * page/FrameView.h:
225         * platform/win/TemporaryLinkStubs.cpp:
226         (FrameView::passMousePressEventToScrollbar):
227
228 2006-09-30  Sam Weinig  <sam.weinig@gmail.com>
229
230         Reviewed by Darin.
231
232         Patch for http://bugs.webkit.org/show_bug.cgi?id=11102
233         Add more SVG Objective-C DOM bindings
234
235         - Auto-generate Objective-C DOM bindings for DOMSVGAElement,
236           DOMSVGAnimateColorElement, DOMSVGAnimateElement, DOMSVGAnimateTransformElement,
237           DOMSVGAnimatedPathData, DOMSVGAnimatedPoints, DOMSVGAnimatedPreserveAspectRatio,
238           DOMSVGAnimationElement, DOMSVGCircleElement, DOMSVGClipPathElement, DOMSVGColor,
239           DOMSVGCursorElement, DOMSVGDefsElement, DOMSVGDescElement, DOMSVGDocument, 
240           DOMSVGEllipseElement, DOMSVGPreserveAspectRatio, and DOMSVGURIReference.
241
242         * DerivedSources.make:
243         * WebCore.xcodeproj/project.pbxproj:
244         * bindings/objc/DOMInternal.h:
245         * bindings/objc/DOMSVG.h:
246         * bindings/scripts/CodeGeneratorObjC.pm:
247         * ksvg2/svg/SVGAElement.idl:
248         * ksvg2/svg/SVGAnimateColorElement.idl:
249         * ksvg2/svg/SVGAnimateElement.idl:
250         * ksvg2/svg/SVGAnimateTransformElement.idl:
251         * ksvg2/svg/SVGAnimatedPathData.idl:
252         * ksvg2/svg/SVGAnimatedPoints.idl:
253         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl:
254         * ksvg2/svg/SVGAnimationElement.idl:
255         * ksvg2/svg/SVGCircleElement.idl:
256         * ksvg2/svg/SVGClipPathElement.idl:
257         * ksvg2/svg/SVGColor.idl:
258         * ksvg2/svg/SVGCursorElement.idl:
259         * ksvg2/svg/SVGDefsElement.idl:
260         * ksvg2/svg/SVGDescElement.idl:
261         * ksvg2/svg/SVGDocument.idl:
262         * ksvg2/svg/SVGEllipseElement.idl:
263         * ksvg2/svg/SVGPointList.idl:
264         * ksvg2/svg/SVGPreserveAspectRatio.idl:
265         * ksvg2/svg/SVGRect.idl:
266         * ksvg2/svg/SVGSVGElement.idl:
267
268 2006-09-30  Maciej Stachowiak  <mjs@apple.com>
269
270         Reviewed by Adele.
271
272         - fix build
273
274         * platform/FloatRect.h:
275         (WebCore::FloatRect::contains): Added; not exactly the same semantic as IntRect containment
276         but more appropriate for path-type stuff.
277         * platform/cg/PathCG.cpp:
278         (WebCore::Path::contains): Don't use enclosingIntRect, just use FloatRect::contains.
279
280 2006-09-30  Alexey Proskuryakov  <ap@nypop.com>
281
282         Reviewed by Darin.
283
284         http://bugs.webkit.org/show_bug.cgi?id=11011
285         External CSS is parsed as iso-8859-1 even though the main document is utf-8
286
287         Test: fast/encoding/css-charset-default.xhtml
288
289         * loader/CachedResourceClient.h:
290         (WebCore::CachedResourceClient::setCSSStyleSheet):
291         (WebCore::CachedResourceClient::setXSLStyleSheet):
292         Divided setStyleSheet into setCSSStyleSheet and setXSLStyleSheet. The former
293         takes an additional charset parameter, to be passed to CSSStyleSheet constructor.
294
295         * css/CSSImportRule.cpp:
296         (WebCore::CSSImportRule::setCSSStyleSheet):
297         (WebCore::CSSImportRule::insertedIntoParent): Default to parent stylesheet's charset.
298         * css/CSSImportRule.h:
299
300         * css/CSSStyleSheet.cpp:
301         (WebCore::CSSStyleSheet::CSSStyleSheet):
302         * css/CSSStyleSheet.h:
303         Added an m_charset member to be used when loading child stylesheets. Removed an unused m_implicit
304         member. Changed some String parameters to const String&.
305
306         * css/StyleSheet.cpp:
307         (WebCore::StyleSheet::StyleSheet):
308         * css/StyleSheet.h:
309         Changed some String parameters to const String&. Removed an unused (even unimplemented) constructor.
310
311         * css/StyleSheetList.cpp:
312         (WebCore::StyleSheetList::length):
313         (WebCore::StyleSheetList::item):
314         * css/StyleSheetList.h:
315         Special-casing implicit stylesheets seemed to be dead code, removed.
316
317         * dom/Document.cpp:
318         (WebCore::Document::setCSSStyleSheet):
319         (WebCore::Document::recalcStyleSelector):
320         * dom/Document.h:
321         Renamed setStyleSheet() to setCSSStyleSheet().
322
323         * dom/ProcessingInstruction.cpp:
324         (WebCore::ProcessingInstruction::checkStyleSheet): Pass a correct charset to requestCSSStyleSheet().
325         (WebCore::ProcessingInstruction::setCSSStyleSheet):
326         (WebCore::ProcessingInstruction::setXSLStyleSheet):
327         (WebCore::ProcessingInstruction::parseStyleSheet):
328         * dom/ProcessingInstruction.h:
329
330         * html/HTMLLinkElement.cpp:
331         (WebCore::HTMLLinkElement::process): Default to document encoding if a charset attribute 
332         is not specified.
333         (WebCore::HTMLLinkElement::setCSSStyleSheet):
334         * html/HTMLLinkElement.h:
335
336         * html/HTMLStyleElement.cpp:
337         (WebCore::HTMLStyleElement::childrenChanged):
338         * ksvg2/svg/SVGStyleElement.cpp:
339         (WebCore::SVGStyleElement::childrenChanged):
340         Inherit URL and charset from the document.
341
342         * loader/Cache.cpp:
343         (WebCore::Cache::requestCSSStyleSheet):
344         * loader/Cache.h:
345         Adjust for setStyleSheet() renaming.
346
347         * loader/CachedCSSStyleSheet.h: Removed an unused constructor.
348         * loader/CachedCSSStyleSheet.cpp:
349         (WebCore::CachedCSSStyleSheet::ref):
350         (WebCore::CachedCSSStyleSheet::deref):
351         (WebCore::CachedCSSStyleSheet::checkNotify):
352         Pass the encoding to setCSSStyleSheet().
353
354         * loader/CachedXSLStyleSheet.cpp:
355         (WebCore::CachedXSLStyleSheet::ref):
356         (WebCore::CachedXSLStyleSheet::checkNotify):
357         * loader/DocLoader.cpp:
358         (WebCore::DocLoader::requestCSSStyleSheet):
359         * loader/DocLoader.h:
360         * page/Frame.cpp:
361         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
362         (WebCore::UserStyleSheetLoader::setCSSStyleSheet):
363         * xml/XSLImportRule.cpp:
364         (WebCore::XSLImportRule::setXSLStyleSheet):
365         (WebCore::XSLImportRule::loadSheet):
366         * xml/XSLImportRule.h:
367         Adjust for setStyleSheet() renaming.
368
369 2006-09-30  Rob Buis  <buis@kde.org>
370
371         Reviewed by eseidel.
372
373         http://bugs.webkit.org/show_bug.cgi?id=11096
374         Hit testing for polylines fails
375
376         Fix Path::contains so it handles filled, non-closed paths too.
377
378         * platform/cg/PathCG.cpp:
379         (WebCore::Path::contains):
380
381 2006-09-30  Dave Hyatt  <hyatt@apple.com>
382
383         Refactor subframe event handling to hide more of the Mac-specific logic from the cross-platform code.
384         Stub out a capturing API that mimics the way Web browsers capture events and route them to specific
385         subframes while the mouse is down.
386       
387         Reviewed by mitzpettel
388
389         * bridge/mac/FrameMac.h:
390         * bridge/mac/FrameMac.mm:
391         (WebCore::FrameMac::passWidgetMouseDownEventToWidget):
392         (WebCore::FrameMac::passWheelEventToWidget):
393         * bridge/mac/FrameViewMac.mm:
394         (WebCore::FrameView::passMousePressEventToSubframe):
395         (WebCore::FrameView::passMouseMoveEventToSubframe):
396         (WebCore::FrameView::passMouseReleaseEventToSubframe):
397         (WebCore::FrameView::passWheelEventToSubframe):
398         * page/Frame.cpp:
399         * page/Frame.h:
400         * page/FrameView.cpp:
401         (WebCore::subframeForTargetNode):
402         (WebCore::FrameView::handleMousePressEvent):
403         (WebCore::FrameView::handleMouseDoubleClickEvent):
404         (WebCore::FrameView::handleMouseMoveEvent):
405         (WebCore::FrameView::handleMouseReleaseEvent):
406         (WebCore::FrameView::handleWheelEvent):
407         * page/FrameView.h:
408         * platform/ScrollBar.h:
409         (WebCore::ScrollBar::handleMouseMoveEvent):
410         (WebCore::ScrollBar::handleMouseOutEvent):
411         * platform/Widget.h:
412         (WebCore::Widget::handleMouseMoveEvent):
413         (WebCore::Widget::handleMouseReleaseEvent):
414         * platform/win/TemporaryLinkStubs.cpp:
415         (FrameView::passMousePressEventToSubframe):
416         (FrameView::passMouseMoveEventToSubframe):
417         (FrameView::passMouseReleaseEventToSubframe):
418         (FrameView::passWheelEventToSubframe):
419         (Widget::capturingMouse):
420         (Widget::setCapturingMouse):
421         (Widget::capturingTarget):
422         (Widget::capturingChild):
423         (Widget::setCapturingChild):
424         * rendering/RenderView.cpp:
425         (WebCore::RenderView::paintBoxDecorations):
426
427 2006-09-29  MorganL  <morganl.webkit@yahoo.com>
428
429         Reviewed by Adele.
430
431         Fixes windows bustage:
432         http://bugs.webkit.org/show_bug.cgi?id=11093
433
434         * platform/win/PlatformScrollBar.h:
435         * platform/win/TemporaryLinkStubs.cpp:
436         (PlatformScrollBar::PlatformScrollBar):
437         (ScrollBar::ScrollBar):
438
439 2006-09-29  David Hyatt  <hyatt@apple.com>
440
441         Eliminate RenderLayer::gScrollBar in favor of caching the scrollbar hit
442         in RenderObject::NodeInfo (and then propagating that Widget to
443         MouseEventWithHitTestResults).
444
445         This allows RenderListBox and RenderBlock to do the same thing when the
446         mouse is over the scrollbar.
447
448         Also land fix to support font-size: 0.
449
450         Reviewed by mjs (scrollbar), eric (font-size)
451
452         * dom/Document.cpp:
453         (WebCore::Document::prepareMouseEvent):
454         * page/Frame.cpp:
455         (WebCore::Frame::passWidgetMouseDownEventToWidget):
456         * page/FrameView.cpp:
457         (WebCore::selectCursor):
458         (WebCore::FrameView::handleMouseMoveEvent):
459         (WebCore::FrameView::dispatchMouseEvent):
460         * page/MouseEventWithHitTestResults.cpp:
461         (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
462         * page/MouseEventWithHitTestResults.h:
463         (WebCore::MouseEventWithHitTestResults::scrollbar):
464         * rendering/RenderBlock.cpp:
465         (WebCore::RenderBlock::isPointInScrollbar):
466         (WebCore::RenderBlock::nodeAtPoint):
467         * rendering/RenderBlock.h:
468         * rendering/RenderLayer.cpp:
469         (WebCore::RenderLayer::hitTest):
470         * rendering/RenderLayer.h:
471         (WebCore::RenderLayer::getHiddenBehavior):
472         * rendering/RenderListBox.cpp:
473         (WebCore::RenderListBox::RenderListBox):
474         (WebCore::RenderListBox::~RenderListBox):
475         (WebCore::RenderListBox::isPointInScrollbar):
476         * rendering/RenderListBox.h:
477         * rendering/RenderObject.h:
478         (WebCore::RenderObject::NodeInfo::NodeInfo):
479         (WebCore::RenderObject::NodeInfo::scrollbar):
480         (WebCore::RenderObject::NodeInfo::setScrollbar):
481
482 2006-09-29  MorganL  <morganl.webkit@yahoo.com>
483
484         Reviewed by Adele.
485
486         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11092
487
488         * platform/win/ScrollViewWin.cpp:
489         (WebCore::ScrollView::convertToContainingWindow):
490         (WebCore::ScrollView::convertFromContainingWindow):
491         * platform/win/WidgetWin.cpp:
492         (WebCore::Widget::convertToContainingWindow):
493         (WebCore::Widget::convertFromContainingWindow):
494
495 2006-09-29  Adele Peterson  <adele@apple.com>
496
497         Updated with new argument for PlatformScrollBar.
498
499         * platform/win/TemporaryLinkStubs.cpp:
500         (PlatformScrollBar::PlatformScrollBar):
501
502 2006-09-29  Adele Peterson  <adele@apple.com>
503
504         Reviewed by Hyatt.
505
506         Fixing build bustage with cast to int.
507
508         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::lastSelectedListIndex):
509
510 2006-09-29  Adele Peterson  <adele@apple.com>
511
512         Fixing accidental include.
513
514         * rendering/RenderListBox.cpp:
515
516 2006-09-29  Adele Peterson  <adele@apple.com>
517
518         Adding RenderListBox files.
519
520         * WebCore.vcproj/WebCore/WebCore.vcproj:
521
522 2006-09-29  Adele Peterson  <adele@apple.com>
523
524         Reviewed by Adam.
525
526         Initial implementation of engine-based list box control.
527
528         * WebCore.xcodeproj/project.pbxproj: Added RenderListBox.h and RenderListBox.cpp
529
530         * bridge/mac/FrameMac.h: Added _mouseDownMayStartAutoscroll.
531         * bridge/mac/FrameMac.mm: Updated autoscroll code to use renderers instead of layers, so any renderer that implements autoscroll will work.
532         (WebCore::FrameMac::FrameMac):
533         (WebCore::FrameMac::handleMousePressEvent):
534         (WebCore::FrameMac::handleMouseMoveEvent):
535         (WebCore::FrameMac::mouseDown):
536
537         * page/Frame.cpp:
538         (WebCore::Frame::handleMouseMoveEvent):
539         (WebCore::Frame::scrollOverflow): Don't scroll list box here- this would cause arrow keys to scroll instead of select.
540         (WebCore::Frame::handleAutoscroll): Updated to use a renderer instead of a layer when setting up autoscroll.
541         (WebCore::Frame::autoscrollTimerFired): ditto.
542         (WebCore::Frame::stopAutoscrollTimer): ditto.
543         (WebCore::Frame::passWidgetMouseDownEventToWidget): Updated to check for list box's scroll bar.
544         * page/Frame.h:
545         * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Updated to use renderer unstead of layer for autoscroll.
546
547         * page/FrameView.cpp: Keep track of current mouse position so this can be used for list box autoscroll.
548         (WebCore::FrameViewPrivate::reset):
549         (WebCore::FrameView::currentMousePosition):
550         (WebCore::FrameView::handleMousePressEvent):
551         (WebCore::FrameView::handleMouseDoubleClickEvent):
552         (WebCore::selectCursor):
553         (WebCore::FrameView::handleMouseMoveEvent):
554         (WebCore::FrameView::handleMouseReleaseEvent):
555         * page/FrameView.h:
556
557         * platform/ScrollBar.cpp: (WebCore::ScrollBar::ScrollBar): Added controlSize argument.  The list box will use a smaller scroll bar size.
558         * platform/ScrollBar.h:
559         (WebCore::):
560         (WebCore::ScrollBar::controlSize):
561         * platform/mac/PlatformScrollBar.h:
562         * platform/mac/PlatformScrollBarMac.mm:
563         (NSControlSizeForScrollBarControlSize):
564         (-[WebCoreScrollBar initWithPlatformScrollBar:]):
565         (WebCore::PlatformScrollBar::PlatformScrollBar):
566
567         * rendering/RenderBlock.h:
568         * rendering/RenderLayer.cpp: (WebCore::RenderLayer::createScrollbar): Updated to pass regular control size to scrollbar constructor.
569         * rendering/RenderLayer.h:
570         * rendering/RenderObject.cpp:
571         (WebCore::RenderObject::shouldAutoscroll):
572         (WebCore::RenderObject::autoscroll):
573         * rendering/RenderObject.h: (WebCore::RenderObject::isListBox):
574
575         * css/html4.css: Added properties for new list boxes.
576
577         * html/HTMLOptionElement.cpp:
578         (WebCore::HTMLOptionElement::setSelected): Doesn't allow selection to be changed here if the option is disabled.
579         (WebCore::HTMLOptionElement::disabled): Added. Checks the parent's disabled status.
580         * html/HTMLOptionElement.h: Added disabled method.
581
582         * html/HTMLSelectElement.cpp: Added appearance switch for new list box implementation.
583         (WebCore::HTMLSelectElement::recalcStyle):
584         (WebCore::HTMLSelectElement::lastSelectedListIndex):
585         (WebCore::HTMLSelectElement::deselectItems):
586         (WebCore::HTMLSelectElement::setSelectedIndex):
587         (WebCore::HTMLSelectElement::isKeyboardFocusable):
588         (WebCore::HTMLSelectElement::isMouseFocusable):
589         (WebCore::HTMLSelectElement::createRenderer):
590         (WebCore::HTMLSelectElement::recalcListItems):
591         (WebCore::HTMLSelectElement::setRecalcListItems):
592         (WebCore::HTMLSelectElement::reset):
593         (WebCore::HTMLSelectElement::notifyOptionSelected):
594         (WebCore::HTMLSelectElement::defaultEventHandler): Added code to select options for list box when clicking and using arrow keys.
595         (WebCore::HTMLSelectElement::nextSelectableListIndex):
596         (WebCore::HTMLSelectElement::previousSelectableListIndex):
597         * html/HTMLSelectElement.h:
598
599         * rendering/RenderTheme.cpp: Added support for ListBoxAppearance
600         (WebCore::RenderTheme::paint):
601         (WebCore::RenderTheme::paintBorderOnly):
602         (WebCore::RenderTheme::paintDecorations):
603         (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
604         (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
605         (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
606         (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
607         (WebCore::RenderTheme::isControlStyled):
608         (WebCore::RenderTheme::supportsFocusRing):
609         * rendering/RenderTheme.h:
610         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
611
612         * rendering/RenderListBox.cpp: Added.
613         (WebCore::RenderListBox::RenderListBox):
614         (WebCore::RenderListBox::~RenderListBox):
615         (WebCore::RenderListBox::setStyle):
616         (WebCore::RenderListBox::updateFromElement):
617         (WebCore::RenderListBox::calcMinMaxWidth):
618         (WebCore::RenderListBox::size):
619         (WebCore::RenderListBox::numItems):
620         (WebCore::RenderListBox::calcHeight):
621         (WebCore::RenderListBox::baselinePosition):
622         (WebCore::RenderListBox::itemBoundingBoxRect):
623         (WebCore::RenderListBox::paintObject):
624         (WebCore::RenderListBox::paintScrollbar):
625         (WebCore::RenderListBox::paintItemForeground):
626         (WebCore::RenderListBox::paintItemBackground):
627         (WebCore::RenderListBox::scrollBarTarget):
628         (WebCore::RenderListBox::isPointInScrollbar):
629         (WebCore::RenderListBox::optionAtPoint):
630         (WebCore::RenderListBox::autoscroll):
631         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
632         (WebCore::RenderListBox::scroll):
633         (WebCore::RenderListBox::valueChanged):
634         * rendering/RenderListBox.h: Added.
635         (WebCore::RenderListBox::isListBox):
636         (WebCore::RenderListBox::selectionChanged):
637         (WebCore::RenderListBox::setSelectionChanged):
638         (WebCore::RenderListBox::canHaveChildren):
639         (WebCore::RenderListBox::renderName):
640         (WebCore::RenderListBox::setOptionsChanged):
641         (WebCore::RenderListBox::shouldAutoscroll):
642         (WebCore::RenderListBox::listIndexIsVisible):
643
644 2006-09-29  Beth Dakin  <bdakin@apple.com>
645
646         Reviewed by Darin.
647
648         We had a bug where html4.css was ignoring Media Queries. In the end 
649         the problem was that we were trying to send a char* to the 
650         MediaQueryEvaluator constructor that expects a String, but the 
651         char* got interpreted as a bool, the wrong constructor was called, 
652         and the media type was never set.
653
654         No test case possible since this only affects html4.css
655
656         * css/MediaQueryEvaluator.cpp: New constructor that expects takes a 
657         char*
658         (WebCore::MediaQueryEvaluator):
659         * css/MediaQueryEvaluator.h: Same.
660
661 2006-09-29  Geoffrey Garen  <ggaren@apple.com>
662
663         Reviewed by John, Maciej.
664         
665         Integrated some frame and iframe code. I'm trying to fix up frame ownership
666         and loading. Reducing the number of different code paths involved
667         seemed like a good first step.
668         
669         As a side effect, I fixed a bug where FRAME elements would report their
670         src attributes as relative, rather than compelete, URLs. (IFRAME elements
671         had the correct complete URL behavior.)
672
673         * html/HTMLFrameElement.cpp:
674         (WebCore::HTMLFrameElement::isURLAllowed): Fixed comment typo
675         (WebCore::HTMLFrameElement::openURL):
676             (1) Removed checks that requestFrame does for us
677             (2) Added isURLAllowed check, to have one clear bottleneck for it
678             (3) Added viewsource check, to have one clear bottleneck for it
679         (WebCore::HTMLFrameElement::close): Changed to use the common contentFrame()
680         method, instead of finding our content frame in our own unique way.
681         (WebCore::HTMLFrameElement::setLocation): Removed isURLAllowed check,
682         since openURL does this for us now.
683         (WebCore::HTMLFrameElement::src): Return complete URL instead of relative.
684         This is what FF does, and it made no sense to have different behaviors
685         for FRAME and IFRAME elements.
686         * html/HTMLIFrameElement.cpp:
687         (WebCore::HTMLIFrameElement::HTMLIFrameElement): Removed duplicate init
688         code.
689         * html/HTMLIFrameElement.h: Removed src() and openURL() methods, since
690         HTMLFrameElement now does everything we need.
691
692 2006-09-30  Nikolas Zimmermann  <zimmermann@kde.org>
693
694         Reviewed by Hyatt.
695
696         Fix Qt/Linux build.
697
698         * CMakeLists.txt:
699         * platform/qt/ScrollViewQt.cpp:
700         (WebCore::ScrollView::convertToContainingWindow):
701         (WebCore::ScrollView::convertFromContainingWindow):
702         * platform/qt/TemporaryLinkStubs.cpp:
703         (WebCore::signedPublicKeyAndChallengeString):
704         * platform/qt/WidgetQt.cpp:
705         (WebCore::Widget::convertToContainingWindow):
706         (WebCore::Widget::convertFromContainingWindow):
707
708 2006-09-29  Sam Weinig  <sam.weinig@gmail.com>
709
710         Reviewed by Tim H.
711
712         Patch for http://bugs.webkit.org/show_bug.cgi?id=11082
713         Simplify Internal methods for the auto-generated Objective-C DOM code
714
715         - Auto-generate the internal methods for more Objective-C classes.
716
717         * WebCore.xcodeproj/project.pbxproj:
718         * bindings/objc/DOM.mm:
719         * bindings/objc/DOMCSS.mm:
720         (-[DOMStyleSheet WebCore::]):
721         (+[DOMStyleSheet _styleSheetWith:WebCore::]):
722         (-[DOMCSSRule WebCore::]):
723         (-[DOMCSSRule _initWithCSSRule:WebCore::]):
724         (+[DOMCSSRule _CSSRuleWith:WebCore::]):
725         (-[DOMCSSValue WebCore::]):
726         (-[DOMCSSValue _initWithCSSValue:WebCore::]):
727         (+[DOMCSSValue _CSSValueWith:WebCore::]):
728         * bindings/objc/DOMHTMLAppletElement.mm:
729         (-[DOMHTMLAppletElement WebCore::]):
730         (+[DOMHTMLAppletElement _HTMLOptionElementWith:WebCore::]):
731         * bindings/objc/DOMHTMLEmbedElement.mm:
732         (-[DOMHTMLEmbedElement WebCore::]):
733         (+[DOMHTMLEmbedElement _HTMLEmbedElementWith:WebCore::]):
734         * bindings/objc/DOMInternal.h:
735         * bindings/objc/DOMInternal.mm:
736         * bindings/scripts/CodeGeneratorObjC.pm:
737         * css/CSSCharsetRule.idl:
738         * css/CSSFontFaceRule.idl:
739         * css/CSSImportRule.idl:
740         * css/CSSMediaRule.idl:
741         * css/CSSPageRule.idl:
742         * css/CSSPrimitiveValue.idl:
743         * css/CSSStyleRule.idl:
744         * css/CSSStyleSheet.idl:
745         * css/CSSUnknownRule.idl:
746         * css/CSSValueList.idl:
747         * dom/KeyboardEvent.idl:
748         * dom/MouseEvent.idl:
749         * dom/MutationEvent.idl:
750         * dom/NodeIterator.idl:
751         * dom/OverflowEvent.idl:
752         * dom/UIEvent.idl:
753         * dom/WheelEvent.idl:
754
755 2006-09-29  David Harrison  <harrison@apple.com>
756
757         Reviewed by John Sullivan.
758
759         <rdar://problem/4663772> REGRESSION: Cannot type in Japanese after replying to a particular message
760         <rdar://problem/4673293> REGRESSION: Can't enter the Japanese characters in Mail or Blot
761
762         Test added
763         * fast/text/attributed-substring-from-range-001.html
764
765         * bridge/mac/FrameMac.mm:
766         (WebCore::FrameMac::attributedString):
767         Handle non-zero offsets when start and/or end node is a container. Offset used to be ignored in this case.
768         Also, add validation of the range.
769
770 2006-09-29  Rob Buis  <buis@kde.org>
771
772         Reviewed by Maciej.
773
774         http://bugs.webkit.org/show_bug.cgi?id=10893
775         InsertRule can not handle @import statements
776
777         Allow @import as part of a css rule.
778
779         * css/CSSGrammar.y:
780
781 2006-09-28  David Hyatt  <hyatt@apple.com>
782
783         Switch over the Mac-specific uses of viewportToContents/contentsToViewport.
784
785         * bridge/mac/FrameMac.mm:
786         (WebCore::FrameMac::eventMayStartDrag):
787         (WebCore::FrameMac::dragHysteresisExceeded):
788         (WebCore::FrameMac::mouseDown):
789         (WebCore::FrameMac::shouldDragAutoNode):
790         (WebCore::FrameMac::sendContextMenuEvent):
791         * bridge/mac/WebCoreFrameBridge.mm:
792         (-[WebCoreFrameBridge _visiblePositionForPoint:]):
793
794 2006-09-28  Dave Hyatt  <hyatt@apple.com>
795
796         This patch eliminates viewportToContents/contentsToViewport in favor of convertTo/FromContainingWindow.
797         ScrollView now subclasses these methods to factor in its scrollOffset and to deal with the document
798         view.
799        
800         Reviewed by mjs (the convertTo/From changes), (I added the elimination of viewportToContents to
801         the patch after review, once I realized that these new functions essentially do the same thing.)
802
803         * dom/EventTargetNode.cpp:
804         (WebCore::EventTargetNode::dispatchMouseEvent):
805         (WebCore::EventTargetNode::dispatchWheelEvent):
806         * page/Frame.cpp:
807         (WebCore::Frame::selectClosestWordFromMouseEvent):
808         (WebCore::Frame::handleMousePressEventTripleClick):
809         (WebCore::Frame::handleMousePressEventSingleClick):
810         (WebCore::Frame::handleMouseMoveEvent):
811         (WebCore::Frame::handleMouseReleaseEvent):
812         * page/FrameView.cpp:
813         (WebCore::FrameView::handleMousePressEvent):
814         (WebCore::selectCursor):
815         (WebCore::FrameView::dispatchDragEvent):
816         (WebCore::FrameView::prepareMouseEvent):
817         (WebCore::FrameView::handleWheelEvent):
818         * platform/ScrollView.h:
819         * platform/Widget.cpp:
820         (WebCore::Widget::convertToContainingWindow):
821         * platform/Widget.h:
822         * platform/mac/ScrollViewMac.mm:
823         (WebCore::ScrollView::convertToContainingWindow):
824         (WebCore::ScrollView::convertFromContainingWindow):
825         * platform/mac/WidgetMac.mm:
826         (WebCore::Widget::convertToContainingWindow):
827         (WebCore::Widget::convertFromContainingWindow):
828         * platform/win/ScrollViewWin.cpp:
829         (WebCore::ScrollView::convertToContainingWindow):
830         (WebCore::ScrollView::convertFromContainingWindow):
831         * rendering/RenderLayer.cpp:
832         (WebCore::RenderLayer::resize):
833
834 2006-09-28  Alice Liu  <alice.liu@apple.com>
835
836         Build fix by adding missing files for CommandByName
837
838         * WebCore.xcodeproj/project.pbxproj:
839
840 2006-09-28  Alice Liu  <alice.liu@apple.com>
841
842         Adding CommandByName files to the vcproj
843
844         * WebCore.vcproj/WebCore/WebCore.vcproj:
845
846 2006-09-28  Alice Liu  <alice.liu@apple.com>
847
848         Reviewed by Adam Roben.
849
850         This patch adds a command class that is attached to the frame so the frame can more easily execute commands such as copy, paste, select, etc. 
851         This patch also exposes some UBRK-related utilities so that they can be used elsewhere.
852         This patch also changes windows PlatformMouseEvent so that we can detect multiple-click mouse events
853
854         * editing/CommandByName.cpp: Added.
855         Added a command class that hangs off the frame so the frame can call commands more easily.  
856         (WebCore::Frame::commandImp):
857         (WebCore::Frame::execCopy):
858         (WebCore::Frame::execCut):
859         (WebCore::Frame::execDelete):
860         (WebCore::Frame::execForwardDelete):
861         (WebCore::Frame::execPaste):
862         (WebCore::Frame::execMoveLeft):
863         (WebCore::Frame::execMoveRight):
864         (WebCore::Frame::execMoveUp):
865         (WebCore::Frame::execMoveDown):
866         (WebCore::Frame::execSelectAll):
867         (WebCore::Frame::execSelectLeft):
868         (WebCore::Frame::execSelectRight):
869         (WebCore::Frame::execSelectUp):
870         (WebCore::Frame::execSelectDown):
871         (WebCore::Frame::enabled):
872         (WebCore::Frame::enabledAnySelection):
873         (WebCore::Frame::enabledAnyEditableSelection):
874         (WebCore::Frame::enabledPaste):
875         (WebCore::Frame::enabledAnyRangeSelection):
876         (WebCore::Frame::enabledAnyEditableRangeSelection):
877         (WebCore::Frame::createCommandDictionary):
878         (WebCore::Frame::Command::):
879         (WebCore:::m_frame):
880         (WebCore::CommandByName::execCommand):
881         * editing/CommandByName.h: Added.
882         * page/Frame.cpp:
883         Added implementation of accessor for CommandByName member
884         (WebCore::Frame::command):
885         * page/Frame.h:
886         Added accessor for CommandByName member
887         * page/FramePrivate.h:
888         Added a CommandByName member
889         (WebCore::FramePrivate::FramePrivate):
890         * platform/PlatformMouseEvent.h:
891         Changed constructor prototype
892         * platform/StringImpl.cpp:
893         Exposing getWordBreakIterator to be used elsewhere
894         (WebCore::getWordBreakIterator):
895         * platform/StringImpl.h:
896         Exposing getWordBreakIterator to be used elsewhere
897         * platform/win/MouseEventWin.cpp:
898         Changed the PlatformMouseEvent on windows so that we "roll our own" multi-click mouse events instead of relying on the system to tell us, enabling us to detect triple-clicks
899         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
900
901 2006-09-28  Adam Roben  <aroben@apple.com>
902
903         Reviewed by Adele.
904
905         Remove no-longer-used PopUpButton.
906
907         * WebCore.vcproj/WebCore/WebCore.vcproj: Remove PopUpButton.h
908         * WebCore.xcodeproj/project.pbxproj: Remove PopUpButton.h,
909         PopUpButtonMac.mm
910         * platform/PopUpButton.h: Removed.
911         * platform/mac/PopUpButtonMac.mm: Removed.
912         * platform/win/TemporaryLinkStubs.cpp: Remove PopUpButton:: methods
913         * rendering/DeprecatedRenderSelect.cpp: Change #include of
914         PopUpButton.h to ListBox.h
915
916 2006-09-28  Darin Adler  <darin@apple.com>
917
918         Reviewed by Alice.
919
920         - change that should fix <rdar://problem/4733044> REGRESSION: XML iBench shows
921           10% perf. regression (copying strings while decoding)
922
923         Use Vector<UChar> instead of String when building up the decoded string in
924         the ICU and Mac decoders. Using String leads to O(n^2) behavior because
925         String grows the buffer every single time that append is called. Using
926         Vector::append instead of String::append also avoids constructing a string
927         each time just to append and a questionable copy that is done inside the
928         String::append function which also contributed to the slowness.
929
930         * platform/PlatformString.h:
931         * platform/String.cpp: (WebCore::String::adopt): Added. Makes a String from a
932         Vector<UChar>, adopting the buffer from the vector to avoid copying and memory
933         allocation.
934         * platform/StringImpl.h:
935         * platform/StringImpl.cpp: (WebCore::StringImpl::adopt): Ditto.
936
937         * platform/StreamingTextDecoder.h:
938         * platform/StreamingTextDecoder.cpp: (WebCore::TextCodec::appendOmittingBOM):
939         Change to use a Vector<UChar> instead of a String, since vectors have better
940         resizing performance (they store a separate capacity).
941
942         * platform/StreamingTextDecoderICU.cpp: (WebCore::TextCodecICU::decode):
943         * platform/mac/StreamingTextDecoderMac.cpp: (WebCore::TextCodecMac::decode):
944         Change to use Vector<UChar> instead of String and then create a string at
945         the end of the process using the new adopt function.
946
947 2006-09-28  Sam Weinig  <sam.weinig@gmail.com>
948
949         Reviewed by Tim H.
950
951         Patch for http://bugs.webkit.org/show_bug.cgi?id=11057
952         Auto-generate more SVG Objective-C bindings
953
954         - Auto-generates DOMSVGAnimatedAngle, DOMSVGAnimatedBoolean, 
955           DOMSVGAnimatedEnumeration, DOMSVGAnimatedInteger, DOMSVGAnimatedLength,
956           DOMSVGAnimatedLengthList, DOMSVGAnimatedNumber, DOMSVGAnimatedString,
957           DOMSVGAnimatedTransformList, DOMSVGExternalResourcesRequired,
958           DOMSVGLangSpace, DOMSVGLocatable, DOMSVGMetadataElement, DOMSVGRectElement,
959           DOMSVGStringList, DOMSVGStylable, DOMSVGStyleElement, DOMSVGTests, 
960           and DOMSVGTransformable.
961
962         - Adds ability to CodeGeneratorObjC.pm to handle interfaces with mulitple
963           parent interfaces and the SVG animated classes.
964
965         - Corrects CodeGenerator.pm to only skip the first parent for the main 
966           interface.
967
968         * DerivedSources.make:
969         * WebCore.xcodeproj/project.pbxproj:
970         * bindings/objc/DOMInternal.h:
971         * bindings/objc/DOMSVG.h:
972         * bindings/scripts/CodeGenerator.pm:
973         * bindings/scripts/CodeGeneratorObjC.pm:
974         * ksvg2/svg/SVGAnimatedAngle.idl:
975         * ksvg2/svg/SVGAnimatedBoolean.idl:
976         * ksvg2/svg/SVGAnimatedEnumeration.idl:
977         * ksvg2/svg/SVGAnimatedInteger.idl:
978         * ksvg2/svg/SVGAnimatedLength.idl:
979         * ksvg2/svg/SVGAnimatedLengthList.idl:
980         * ksvg2/svg/SVGAnimatedNumber.idl:
981         * ksvg2/svg/SVGAnimatedPathData.idl:
982         * ksvg2/svg/SVGAnimatedString.idl:
983         * ksvg2/svg/SVGAnimatedTransformList.idl:
984         * ksvg2/svg/SVGExternalResourcesRequired.idl:
985         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl:
986         * ksvg2/svg/SVGFitToViewBox.idl:
987         * ksvg2/svg/SVGLangSpace.idl:
988         * ksvg2/svg/SVGLocatable.idl:
989         * ksvg2/svg/SVGMetadataElement.idl:
990         * ksvg2/svg/SVGStringList.idl:
991         * ksvg2/svg/SVGStylable.idl:
992         * ksvg2/svg/SVGStyleElement.idl:
993         * ksvg2/svg/SVGTests.idl:
994         * ksvg2/svg/SVGTransformable.idl:
995         * ksvg2/svg/SVGURIReference.idl:
996         * ksvg2/svg/SVGUnitTypes.idl:
997         * ksvg2/svg/SVGZoomAndPan.idl:
998
999 2006-09-28  Brady Eidson  <beidson@apple.com>
1000
1001         Reviewed by Mitz Pettel!!!
1002
1003         Change the error code check for common functions from SQLResultOk to SQLResultDone 
1004
1005         * loader/icon/IconDatabase.cpp:
1006         (WebCore::IconDatabase::forgetPageURLQuery):
1007         (WebCore::IconDatabase::setIconIDForPageURLQuery):
1008         (WebCore::IconDatabase::addIconForIconURLQuery):
1009
1010 2006-09-28  Dave Hyatt  <hyatt@apple.com>
1011
1012         Just eliminate MapWindowPoints usage and use the HWND as
1013         the viewport.
1014
1015         * platform/win/MouseEventWin.cpp:
1016         (WebCore::positionForEvent):
1017         * platform/win/ScrollViewWin.cpp:
1018         (WebCore::ScrollView::viewportToContents):
1019         (WebCore::ScrollView::contentsToViewport):
1020
1021 2006-09-27  David Hyatt  <hyatt@apple.com>
1022
1023         Fix for bug 9222, cursor is wrong when mousing over overflow scrollbars in textareas.  Make sure
1024         selectCursor checks for whether or not a scrollbar was hit.  Also stub out a mouseMoved method for
1025         scrollbars to provide hover feedback if needed.
1026
1027         Reviewed by Eric
1028
1029         * page/FrameView.cpp:
1030         (WebCore::selectCursor):
1031         (WebCore::FrameView::handleMouseMoveEvent):
1032         * platform/ScrollBar.h:
1033         (WebCore::ScrollBar::mouseMoved):
1034
1035 2006-09-27  MorganL  <morganl.webkit@yahoo.com>
1036
1037         Reviewed by Maciej and Adam, landed by Adam
1038
1039         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11072
1040         Windows build is busted
1041
1042         * platform/win/TemporaryLinkStubs.cpp:
1043         (ScrollView::paint):
1044         (ScrollView::themeChanged):
1045
1046 2006-09-27  Eric Seidel  <eric@eseidel.com>
1047
1048         Reviewed by mitz.
1049
1050         paths with no fill specified default to black but do not recieve paint-related mouse events
1051         http://bugs.webkit.org/show_bug.cgi?id=11069
1052         The default fill was being applied at the wrong place in the rendering chain, causing this problem.
1053
1054         Test: svg/custom/hover-default-fill.svg
1055
1056         * kcanvas/RenderPath.cpp:
1057         (WebCore::RenderPath::nodeAtPoint): use isFilled and isStroked
1058         * ksvg2/css/SVGRenderStyle.h: use defaultFill() and defaultStroke()
1059         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1060         (WebCore::KSVGPainterFactory::isFilled): remove null check
1061         (WebCore::KSVGPainterFactory::fillPaintServer): remove null check
1062         (WebCore::KSVGPainterFactory::isStroked): remove null check
1063         (WebCore::KSVGPainterFactory::strokePaintServer): remove null check
1064         * ksvg2/svg/SVGPaint.cpp:
1065         (WebCore::SVGPaint::defaultFill): added.
1066         (WebCore::SVGPaint::defaultStroke): added.
1067         * ksvg2/svg/SVGPaint.h:
1068
1069 2006-09-27  Rob Buis  <buis@kde.org>
1070
1071         Reviewed by eseidel.
1072
1073         http://bugs.webkit.org/show_bug.cgi?id=11015
1074         SVG handles em units incorrectly
1075
1076         Calculate viewport coordinates at layout time, since
1077         at this point the font size is known and lengths depending
1078         on font sizes can be calculated correctly.
1079
1080         * kcanvas/RenderSVGContainer.cpp:
1081         (WebCore::RenderSVGContainer::layout):
1082         (WebCore::RenderSVGContainer::viewport):
1083         (WebCore::RenderSVGContainer::calcViewport):
1084         * kcanvas/RenderSVGContainer.h:
1085         * ksvg2/svg/SVGLength.cpp:
1086         (WebCore::SVGLength::updateValue):
1087         * ksvg2/svg/SVGMarkerElement.cpp:
1088         (WebCore::SVGMarkerElement::createRenderer):
1089         * ksvg2/svg/SVGSVGElement.cpp:
1090         (WebCore::SVGSVGElement::createRenderer):
1091         (WebCore::SVGSVGElement::attributeChanged):
1092         * ksvg2/svg/SVGSVGElement.h:
1093
1094 2006-09-27  Eric Seidel  <eric@eseidel.com>
1095
1096         Reviewed by darin.
1097
1098         Change our invalid-fill error behavior to match Opera (and soon Firefox)
1099         http://bugs.webkit.org/show_bug.cgi?id=11017
1100
1101         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1102         (WebCore::KSVGPainterFactory::isFilled):
1103         (WebCore::KSVGPainterFactory::fillPaintServer):
1104         (WebCore::KSVGPainterFactory::isStroked):
1105         (WebCore::KSVGPainterFactory::strokePaintServer):
1106
1107 2006-09-27  Brady Eidson  <beidson@apple.com>
1108
1109         Build fix
1110
1111         * loader/icon/IconDatabase.cpp:
1112         (WebCore::readySQLStatement):
1113
1114 2006-09-27  Brady Eidson  <beidson@apple.com>
1115
1116         Reviewed by Adam
1117
1118         In very specific circumstances, prepared SQLStatements can become invalid without
1119         any warning.  This checks for that state and re-prepares the statement and also
1120         adds more aggressive error-checking everywhere these statements are used.
1121
1122         * loader/icon/IconDatabase.cpp:
1123         (WebCore::readySQLStatement): Check if the statement is expired - reprepare it
1124         (WebCore::IconDatabase::imageDataForIconURLQuery): More thoroughly catch error cases
1125         (WebCore::IconDatabase::timeStampForIconURLQuery): Ditto
1126         (WebCore::IconDatabase::iconURLForPageURLQuery): Ditto
1127         (WebCore::IconDatabase::forgetPageURLQuery): Ditto
1128         (WebCore::IconDatabase::setIconIDForPageURLQuery): Ditto
1129         (WebCore::IconDatabase::getIconIDForIconURLQuery): Ditto
1130         (WebCore::IconDatabase::addIconForIconURLQuery): Ditto
1131         (WebCore::IconDatabase::hasIconForIconURLQuery): Ditto
1132         * loader/icon/SQLStatement.cpp:
1133         (WebCore::SQLStatement::isExpired): Added (accessor to sqlite3_expired())
1134         * loader/icon/SQLStatement.h:
1135
1136 2006-09-26  Darin Adler  <darin@apple.com>
1137
1138         Reviewed by Steve.
1139
1140         - clean up options for font code path
1141
1142         * platform/Font.h:
1143         * platform/Font.cpp:
1144         (WebCore::Font::setCodePath): Added. Replaces boolean version.
1145         (WebCore::Font::canUseGlyphCache): Update to handle "never use complex" case too.
1146
1147         * platform/mac/WebCoreTextRenderer.mm:
1148         (WebCoreSetAlwaysUseATSU): Change to call setCodePath.
1149
1150 2006-09-26  John Sullivan  <sullivan@apple.com>
1151
1152         Reviewed by Darin
1153
1154         * bridge/mac/WebCoreFrameBridge.h:
1155         * bridge/mac/WebCoreFrameBridge.mm:
1156         (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:limit:]):
1157         Added limit parameter, passed down to Frame
1158         
1159         * page/Frame.h:
1160         * page/Frame.cpp:
1161         (WebCore::Frame::markAllMatchesForText):
1162         Added limit parameter. Stop the search if it hits limit.
1163
1164 2006-09-26  Sean Gies  <seangies@apple.com>
1165
1166         Reviewed by Brady Eidson.
1167
1168         * platform/cg/ImageCG.cpp: Removed #if's -- Darin said we don't need these.
1169
1170 2006-09-26  Justin Garcia  <justin.garcia@apple.com>
1171
1172         Reviewed by john
1173         
1174         <rdar://problem/4747695> 
1175         Gmail Editor: Crash at WebCore::Range::startPosition() when decreasing a indent
1176         
1177         * editing/DeleteSelectionCommand.cpp:
1178         (WebCore::DeleteSelectionCommand::initializeStartEnd): Stop expanding
1179         to select special elements that are fully selected after expansion
1180         moves to positions that are visually distinct from the originals.
1181         * editing/InsertListCommand.cpp:
1182         (WebCore::InsertListCommand::doApply): If the content of the list 
1183         item will be moved into another list, put it in a list item.
1184
1185 2006-09-26  Geoffrey Garen <ggaren@apple.com>
1186
1187         Reviewed by Darin.
1188         
1189         Temporary work-around for frame lifetime issue.
1190
1191         * page/Frame.cpp:
1192         (WebCore::Frame::clear):
1193         (WebCore::Frame::disconnectOwnerElement):
1194
1195 2006-09-26  Sam Weinig  <sam.weinig@gmail.com>
1196
1197         Reviewed by Tim H.
1198
1199         Patch for http://bugs.webkit.org/show_bug.cgi?id=11038
1200         Auto-generate DOMSVGElement for the Objective-C bindings
1201
1202         - Auto-generates DOMSVGElement.
1203
1204         - Make SVGExceptions work like all the other ExceptionCode
1205           extensions (Range, XPath, etc.) by adding SVGExceptionOffset
1206           and SVGExceptionMax.
1207
1208         * DerivedSources.make:
1209         * WebCore.xcodeproj/project.pbxproj:
1210         * bindings/js/kjs_binding.cpp:
1211         (KJS::):
1212         (KJS::setDOMException):
1213         * bindings/objc/DOMInternal.h:
1214         * bindings/objc/DOMInternal.mm:
1215         (raiseDOMException):
1216         * bindings/objc/DOMSVG.h:
1217         * bindings/objc/DOMSVGExecption.h: Added.
1218         * ksvg2/ksvg.h:
1219         * ksvg2/svg/SVGElement.cpp:
1220         (WebCore::SVGElement::setId):
1221         (WebCore::SVGElement::setXmlbase):
1222         * ksvg2/svg/SVGElement.h:
1223         * ksvg2/svg/SVGElement.idl:
1224         * ksvg2/svg/SVGException.h: Added.
1225         (WebCore::):
1226
1227 2006-09-26  Eric Seidel  <eric@eseidel.com>
1228
1229         Reviewed by Tim H.
1230         
1231         viewbox parser does not allow <tab> as a delimiter
1232         http://bugs.webkit.org/show_bug.cgi?id=11014
1233
1234         Test: svg/hixie/viewbox/003.xml
1235
1236         * ksvg2/svg/svgpathparser.cpp:
1237         (WebCore::isWhitespace): new function
1238         (WebCore::skipOptionalSpaces):
1239         (WebCore::skipOptionalSpacesOrComma):
1240
1241 2006-09-26  Eric Seidel  <eric@eseidel.com>
1242
1243         Reviewed by Tim H.
1244
1245         SVGDocument::createElement does not create elements in the SVG namespace
1246         http://bugs.webkit.org/show_bug.cgi?id=10932
1247         
1248         Test: svg/custom/createelement.svg
1249
1250         * ksvg2/svg/SVGDocument.cpp:
1251         (WebCore::SVGDocument::createElement):
1252         * ksvg2/svg/SVGDocument.h:
1253
1254 2006-09-26  Eric Seidel  <eric@eseidel.com>
1255
1256         Reviewed by Tim H.
1257         
1258         RenderPath::nodeAtPoint does not respect stroke width
1259         http://bugs.webkit.org/show_bug.cgi?id=10829
1260
1261         Test: svg/custom/stroke-width-click.svg
1262
1263         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1264         (WebCore::RenderPath::strokeContains):
1265         * kcanvas/device/quartz/QuartzSupport.h:
1266         * kcanvas/device/quartz/QuartzSupport.mm:
1267
1268 2006-09-26  Eric Seidel  <eric@eseidel.com>
1269
1270         Reviewed by mitz.
1271
1272         Bring animation back to life
1273         http://bugs.webkit.org/show_bug.cgi?id=11021
1274         
1275         Register/unregister SVGSVGElements as time containers on insertion/removal.
1276         Replace uses of DeprecatedString with String in SVGAnimationElement
1277         Various whitespace clean-up.
1278
1279         * ksvg2/misc/KSVGTimeScheduler.cpp:
1280         (WebCore::SVGTimer::notifyAll):
1281         * ksvg2/misc/SVGDocumentExtensions.cpp:
1282         (WebCore::SVGDocumentExtensions::startAnimations):
1283         (WebCore::SVGDocumentExtensions::pauseAnimations):
1284         (WebCore::SVGDocumentExtensions::unpauseAnimations):
1285         * ksvg2/svg/SVGAnimateTransformElement.cpp:
1286         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
1287         (WebCore::SVGAnimateTransformElement::parseTransformValue):
1288         * ksvg2/svg/SVGAnimateTransformElement.h:
1289         * ksvg2/svg/SVGAnimationElement.cpp:
1290         (WebCore::SVGAnimationElement::SVGAnimationElement):
1291         (WebCore::SVGAnimationElement::parseMappedAttribute):
1292         (WebCore::SVGAnimationElement::parseClockValue):
1293         (WebCore::SVGAnimationElement::targetAttribute):
1294         (WebCore::SVGAnimationElement::setTargetAttribute):
1295         (WebCore::SVGAnimationElement::attributeName):
1296         * ksvg2/svg/SVGAnimationElement.h:
1297         (WebCore::SVGAnimationElement::rendererIsNeeded):
1298         * ksvg2/svg/SVGSVGElement.cpp:
1299         (WebCore::SVGSVGElement::getScreenCTM):
1300         (WebCore::SVGSVGElement::createRenderer):
1301         (WebCore::SVGSVGElement::insertedIntoDocument): added, calls addTimeContainer(this)
1302         (WebCore::SVGSVGElement::removedFromDocument): added, calls removeTimeContainer(this)
1303         * ksvg2/svg/SVGSVGElement.h:
1304         * ksvg2/svg/SVGSetElement.cpp:
1305         (WebCore::SVGSetElement::handleTimerEvent):
1306         * ksvg2/svg/SVGURIReference.cpp:
1307         (WebCore::SVGURIReference::getTarget):
1308         * ksvg2/svg/SVGURIReference.h:
1309
1310 2006-09-26  Graham Dennis  <graham.dennis@gmail.com>
1311
1312         Reviewed by mitzpettel.
1313
1314         - fix http://bugs.webkit.org/show_bug.cgi?id=11020
1315         No-SVG build broken since r16549
1316         
1317         Change #if SVG_SUPPORT to #ifdef SVG_SUPPORT
1318
1319         * css/cssparser.cpp:
1320         (WebCore::CSSParser::parseValue):
1321         * css/cssstyleselector.cpp:
1322         (WebCore::CSSStyleSelector::applyProperty):
1323         * page/FrameView.cpp:
1324         (WebCore::selectCursor):
1325         * platform/qt/GraphicsContextQt.cpp:
1326
1327 2006-09-26  Anders Carlsson  <acarlsson@apple.com>
1328
1329         Reviewed by Maciej.
1330
1331         http://bugs.webkit.org/show_bug.cgi?id=10820
1332         Add StringImpl::toDouble() and remove uses of .deprecatedString().toDouble()
1333         
1334         (Originally written by Eric Seidel).
1335         
1336         * bindings/js/kjs_window.cpp:
1337         (KJS::floatFeature):
1338         * ksvg2/svg/SVGAngle.cpp:
1339         (SVGAngle::setValueAsString):
1340         * ksvg2/svg/SVGAnimationElement.cpp:
1341         (SVGAnimationElement::parseMappedAttribute):
1342         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1343         (SVGComponentTransferFunctionElement::parseMappedAttribute):
1344         * ksvg2/svg/SVGFECompositeElement.cpp:
1345         (WebCore::SVGFECompositeElement::parseMappedAttribute):
1346         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1347         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
1348         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1349         (SVGFEDisplacementMapElement::parseMappedAttribute):
1350         * ksvg2/svg/SVGFELightElement.cpp:
1351         (SVGFELightElement::parseMappedAttribute):
1352         * ksvg2/svg/SVGFEOffsetElement.cpp:
1353         (WebCore::SVGFEOffsetElement::parseMappedAttribute):
1354         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1355         (SVGFESpecularLightingElement::parseMappedAttribute):
1356         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1357         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
1358         * ksvg2/svg/SVGStopElement.cpp:
1359         (SVGStopElement::parseMappedAttribute):
1360         * platform/AtomicString.h:
1361         (WebCore::AtomicString::toDouble):
1362         * platform/PlatformString.h:
1363         * platform/String.cpp:
1364         (WebCore::String::toDouble):
1365         * platform/StringImpl.cpp:
1366         (WebCore::StringImpl::toDouble):
1367         * platform/StringImpl.h:
1368         * rendering/DeprecatedSlider.cpp:
1369         (WebCore::DeprecatedSlider::updateFromElement):
1370         * xml/XPathGrammar.y:
1371
1372 2006-09-25  David Harrison  <harrison@apple.com>
1373
1374         Reviewed by Tim Omernick and Tim Hatcher.
1375
1376         <rdar://problem/4717965> Text Field text parameterized attributes should work
1377         <rdar://problem/4712111> Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements
1378
1379         * bridge/mac/WebCoreAXObject.mm:
1380         (-[WebCoreAXObject accessibilityAttributeValue:]):
1381         Use new line number support to implement NSAccessibilityInsertionPointLineNumberAttribute.
1382         
1383         (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
1384         Cleaned up. Added text field and text area parameterzed attributes.
1385         
1386         (-[WebCoreAXObject doAXLineForTextMarker:]):
1387         Fixed to be zero-based and to deal with the first position properly.
1388         
1389         (-[WebCoreAXObject doAXTextMarkerRangeForLine:]):
1390         Minor formatting.
1391         
1392         (-[WebCoreAXObject textMarkerForIndex:lastIndexOK:]):
1393         (-[WebCoreAXObject indexForTextMarker:]):
1394         (-[WebCoreAXObject textMarkerRangeForRange:]):
1395         (-[WebCoreAXObject rangeForTextMarkerRange:]):
1396         New utility methods.
1397         
1398         (-[WebCoreAXObject doAXLineForIndex:]):
1399         (-[WebCoreAXObject doAXRangeForLine:]):
1400         (-[WebCoreAXObject doAXStringForRange:]):
1401         (-[WebCoreAXObject doAXRangeForPosition:]):
1402         (-[WebCoreAXObject doAXRangeForIndex:]):
1403         (-[WebCoreAXObject doAXBoundsForRange:]):
1404         (-[WebCoreAXObject doAXAttributedStringForRange:]):
1405         (-[WebCoreAXObject doAXRTFForRange:]):
1406         (-[WebCoreAXObject doAXStyleRangeForIndex:]):
1407         Implement text field and text area parameterized attributes.
1408          
1409         (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
1410         Added text field and text area parameterzed attributes.
1411
1412         * rendering/RenderTextControl.h:
1413         Made indexForVisiblePosition() and visiblePositionForIndex() public.
1414
1415 2006-09-25  Adam Roben  <aroben@apple.com>
1416
1417         Reviewed by Brady.
1418
1419         Build fixes.
1420
1421         * WebCore.vcproj/WebCore/WebCore.vcproj: Fix malformed XML.
1422         * platform/ResourceLoader.h: Store whether a particular job
1423         has received a response within the ResourceLoader object itself, since
1424         it's possible that we will enter the InternetReadFileExA while loop
1425         twice for the same job.
1426         * platform/ResourceLoaderInternal.h: Add private instance variable to
1427         store whether we've received a response.
1428         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
1429         * platform/win/GraphicsContextWin.cpp: Fix order of preprocessor
1430         directives.
1431         * platform/win/ResourceLoaderWin.cpp: 
1432         (WebCore::ResourceLoader::onRequestComplete): Ask the ResourceLoader
1433         whether it has received a response instead of assuming it hasn't.
1434         (WebCore::ResourceLoader::setHasReceivedResponse): Added.
1435         (WebCore::ResourceLoader::hasReceivedResponse): Added.
1436         * platform/win/TemporaryLinkStubs.cpp: Rename setKnobProportion to
1437         setProportion
1438         (ScrollBar::setProportion):
1439
1440 2006-09-25  Brady Eidson  <beidson@apple.com>
1441
1442         Requested by ggaren
1443
1444         Disabled IconDatabase logging by default
1445
1446         * platform/Logging.cpp:
1447         (WebCore::):
1448
1449 2006-09-25  Steve Falkenburg  <sfalken@apple.com>
1450
1451         Build fix
1452
1453         * platform/cf/ResourceLoaderCFNet.cpp:
1454         (WebCore::willCacheResponse):
1455
1456 2006-09-25  Justin Garcia  <justin.garcia@apple.com>
1457
1458         Reviewed by john
1459         
1460         <http://bugs.webkit.org/show_bug.cgi?id=11002>
1461         Gmail Editor: Crash at WebCore::SplitElementCommand::doApply() when attempting to indent in a new message
1462         
1463         * editing/IndentOutdentCommand.cpp:
1464         (WebCore::IndentOutdentCommand::indentRegion): Special case
1465         an empty root editable element.
1466
1467 2006-09-25  Brady Eidson  <beidson@apple.com>
1468
1469         Reviewed by Steve
1470
1471         Math error in SystemTimeWin
1472
1473         * platform/win/SystemTimeWin.cpp:
1474         (WebCore::currentTime):
1475
1476 2006-09-25  Alexey Proskuryakov  <ap@nypop.com>
1477
1478         Reviewed by Eric.
1479
1480         Whitespace cleanup; rename *job variables to *loader.
1481
1482         * bindings/js/JSXMLHttpRequest.cpp:
1483         (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
1484         (KJS::JSXMLHttpRequestConstructorImp::implementsConstruct):
1485         (KJS::JSXMLHttpRequestConstructorImp::construct):
1486         (KJS::JSXMLHttpRequest::getOwnPropertySlot):
1487         (KJS::JSXMLHttpRequest::getValueProperty):
1488         (KJS::JSXMLHttpRequest::put):
1489         (KJS::JSXMLHttpRequest::putValueProperty):
1490         (KJS::JSXMLHttpRequest::mark):
1491         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
1492         (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
1493         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
1494         * bindings/js/JSXMLHttpRequest.h:
1495         (KJS::JSXMLHttpRequest::toBoolean):
1496         * xml/xmlhttprequest.cpp:
1497         (WebCore::XMLHttpRequest::XMLHttpRequest):
1498         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
1499         (WebCore::XMLHttpRequest::send):
1500         (WebCore::XMLHttpRequest::abort):
1501         (WebCore::XMLHttpRequest::receivedAllData):
1502         (WebCore::XMLHttpRequest::receivedData):
1503         * xml/xmlhttprequest.h:
1504         (WebCore::):
1505
1506 2006-09-25  Timothy Hatcher  <timothy@apple.com>
1507
1508         Reviewed by Brady.
1509
1510         - Deprecate the rest of the old-style methods that are not generated.
1511         - Add @property syntax to DOMRange.
1512
1513         * WebCore.xcodeproj/project.pbxproj:
1514         * bindings/objc/DOM.mm:
1515         (-[DOMRange setStart:offset:]):
1516         (-[DOMRange setEnd:offset:]):
1517         (-[DOMRange compareBoundaryPoints:sourceRange:]):
1518         (-[DOMRange setStart::]):
1519         (-[DOMRange setEnd::]):
1520         (-[DOMRange compareBoundaryPoints::]):
1521         (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
1522         (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
1523         (-[DOMDocument createNodeIterator::::]):
1524         (-[DOMDocument createTreeWalker::::]):
1525         * bindings/objc/DOMCSS.h:
1526         * bindings/objc/DOMCSS.mm:
1527         (-[DOMDocument getComputedStyle:pseudoElement:]):
1528         (-[DOMDocument getComputedStyle::]):
1529         (-[DOMDocument getMatchedCSSRules:pseudoElement:]):
1530         * bindings/objc/DOMExtensions.h:
1531         * bindings/objc/DOMHTML.h:
1532         * bindings/objc/DOMRange.h:
1533         * bindings/objc/DOMTraversal.h:
1534
1535 2006-09-25  Eric Seidel  <eric@eseidel.com>
1536
1537         Reviewed by mjs.
1538         
1539         Outermost <svg> element should clip to viewport
1540         http://bugs.webkit.org/show_bug.cgi?id=11007
1541
1542         Test: svg/custom/viewport-clip.svg
1543
1544         * css/svg.css: change svg:root overflow: from 'visible' to 'hidden'
1545
1546 2006-09-25  Anders Carlsson  <acarlsson@apple.com>
1547
1548         Reviewed by Maciej.
1549
1550         * css/MediaList.cpp:
1551         Remove unused header.
1552         
1553         * dom/Document.cpp:
1554         (WebCore::Document::clear):
1555         Use clear instead of iterating through the list of event listeners, removing each one.
1556         (Doing that causes a crash when running the layout tests with GuardMalloc turned on)
1557         
1558         * html/HTMLKeygenElement.cpp:
1559         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1560         (WebCore::HTMLKeygenElement::appendFormData):
1561         Update due to changes in the SSL key generator.
1562         
1563         * ksvg2/svg/SVGAngle.cpp:
1564         Remove unused header.
1565         
1566         * ksvg2/svg/SVGAnimationElement.cpp:
1567         (SVGAnimationElement::parseMappedAttribute):
1568         Rename methods and pass Strings instead of DeprecatedStrings to
1569         parseSeparatedList.
1570         
1571         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1572         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1573         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1574         * ksvg2/svg/SVGFEMergeElement.cpp:
1575         * ksvg2/svg/SVGFEOffsetElement.cpp:
1576         Remove unused headers.
1577         
1578         * ksvg2/svg/SVGHelper.cpp:
1579         (WebCore::SVGHelper::parseSeparatedList):
1580         * ksvg2/svg/SVGHelper.h:
1581         Rename ParseSeperatedList to parseSeparatedList, make it take a String instead of a 
1582         DeprecatedString and have it use Vector<String> instead of DeprecatedStringList.
1583         
1584         * ksvg2/svg/SVGLengthList.cpp:
1585         (WebCore::SVGLengthList::parse):
1586         * ksvg2/svg/SVGLengthList.h:
1587         Use Vector<String> instead of DeprecatedStringList.
1588         
1589         * loader/Cache.cpp:
1590         (WebCore::Cache::requestImage):
1591         (WebCore::Cache::requestStyleSheet):
1592         (WebCore::Cache::requestScript):
1593         (WebCore::Cache::requestXSLStyleSheet):
1594         (WebCore::Cache::requestXBLDocument):
1595         (WebCore::Cache::remove):
1596         (WebCore::Cache::get):
1597         Use a String as the key in the cache set instead of a RefPtr<StringImpl>.
1598         
1599         * loader/DocLoader.cpp:
1600         (WebCore::DocLoader::needReload):
1601         * loader/DocLoader.h:
1602         Use a HashSet instead of DeprecatedStringList.
1603         
1604         * page/FrameView.h:
1605         Remove declarations that have no functions.
1606         
1607         * platform/SSLKeyGenerator.h:
1608         * platform/mac/SSLKeyGeneratorMac.mm:
1609         (WebCore::supportedKeySizes):
1610         (WebCore::signedPublicKeyAndChallengeString):
1611         Convert to use Vector<String> instead of DeprecatedStringList, and String instead of
1612         DeprecatedString.
1613
1614 2006-09-25  Dave Hyatt  <hyatt@apple.com>
1615
1616         Shunt the RenderTheme world transform adoption between
1617         Cairo and Windows into getWindowsContext and move the method
1618         out of GraphicsContextCairo and into GraphicsContextWin.
1619
1620         * ChangeLog:
1621         * WebCore.vcproj/WebCore/WebCore.vcproj:
1622         * platform/cairo/GraphicsContextCairo.cpp:
1623         * platform/win/GraphicsContextWin.cpp: Added.
1624         (WebCore::GraphicsContext::getWindowsContext):
1625         (WebCore::GraphicsContext::releaseWindowsContext):
1626         * rendering/RenderThemeWin.cpp:
1627         (WebCore::prepareForDrawing):
1628
1629 2006-09-24  Eric Seidel  <eric@eseidel.com>
1630
1631         Reviewed by hyatt.
1632
1633         <svg:a> cannot be styled with a:hover
1634         http://bugs.webkit.org/show_bug.cgi?id=11005
1635         
1636         Test: svg/hixie/cascade/002.xml
1637
1638         * css/cssstyleselector.cpp:
1639         (WebCore::checkPseudoState):
1640
1641 2006-09-24  Sam Weinig  <sam.weinig@gmail.com>
1642
1643         Reviewed by Tim H.
1644
1645         Patch for http://bugs.webkit.org/show_bug.cgi?id=10882
1646         SVG needs Obj-C DOM bindings
1647
1648         - Auto-generate the first 8 Objective-C SVG DOM bindings.  The 
1649           auto-generated classes are DOMSVGAngle, DOMSVGLength, DOMSVGLengthList,
1650           DOMSVGMatrix, DOMSVGPathSeg, DOMSVGPathSegList, DOMSVGTransform, and 
1651           DOMSVGTransformList.
1652
1653         * DerivedSources.make:
1654         * WebCore.xcodeproj/project.pbxproj:
1655         * bindings/objc/DOMInternal.h:
1656         * bindings/objc/DOMSVG.h: Added.
1657         * ksvg2/svg/SVGAngle.idl:
1658         * ksvg2/svg/SVGLength.idl:
1659         * ksvg2/svg/SVGLengthList.idl:
1660         * ksvg2/svg/SVGMatrix.idl:
1661         * ksvg2/svg/SVGPathSeg.idl:
1662         * ksvg2/svg/SVGPathSegList.idl:
1663         * ksvg2/svg/SVGTransform.idl:
1664         * ksvg2/svg/SVGTransformList.idl:
1665
1666 2006-09-24  Rob Buis  <buis@kde.org>
1667
1668         Reviewed by eseidel.
1669
1670         Fix for http://bugs.webkit.org/show_bug.cgi?id=6001
1671         WebKit does not handle fallback custom cursors
1672         Fix for http://bugs.webkit.org/show_bug.cgi?id=6002
1673         WebKit does not properly handle SVG <cursor> element
1674
1675         Add support for svg cursor images. Also make sure hotspot
1676         settings are handled correctly. Add tests for handling of css3
1677         cursor syntax with hotspots in strict and quirks mode. Finally
1678         implement fallback.
1679
1680         * WebCore.xcodeproj/project.pbxproj:
1681         * css/CSSComputedStyleDeclaration.cpp:
1682         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1683         * css/CSSCursorImageValue.cpp: Added.
1684         (WebCore::CSSCursorImageValue::CSSCursorImageValue):
1685         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
1686         * css/CSSCursorImageValue.h: Added.
1687         (WebCore::CSSCursorImageValue::hotspot):
1688         * css/cssparser.cpp:
1689         (WebCore::CSSParser::parseValue):
1690         * css/cssstyleselector.cpp:
1691         (WebCore::CSSStyleSelector::applyProperty):
1692         * ksvg2/svg/SVGCursorElement.cpp:
1693         * manual-tests/css3-cursor-fallback-quirks.html: Added.
1694         * manual-tests/css3-cursor-fallback-strict.html: Added.
1695         * manual-tests/cursorfallback.xml: Added.
1696         * page/FrameView.cpp:
1697         (WebCore::selectCursor):
1698         * platform/Cursor.h:
1699         * platform/mac/CursorMac.mm:
1700         (WebCore::createCustomCursor):
1701         (WebCore::Cursor::Cursor):
1702         * platform/qt/CursorQt.cpp:
1703         (WebCore::Cursor::Cursor):
1704         * rendering/RenderStyle.cpp:
1705         (WebCore::StyleInheritedData::StyleInheritedData):
1706         (WebCore::StyleInheritedData::operator==):
1707         (WebCore::RenderStyle::diff):
1708         (WebCore::RenderStyle::addCursor):
1709         (WebCore::RenderStyle::addSVGCursor):
1710         (WebCore::RenderStyle::setCursorList):
1711         (WebCore::RenderStyle::clearCursorList):
1712         * rendering/RenderStyle.h:
1713         (WebCore::CursorData::CursorData):
1714         (WebCore::CursorList::operator[]):
1715         (WebCore::CursorList::size):
1716         (WebCore::CursorList::append):
1717         (WebCore::RenderStyle::cursors):
1718
1719 2006-09-24  Sam Weinig  <sam.weinig@gmail.com>
1720
1721         Reviewed by Tim H.
1722
1723         Patch for http://bugs.webkit.org/show_bug.cgi?id=11009
1724         Auto-generate the internal methods interfaces for the Objective-C bindings
1725
1726         - Auto-generate the internal method declarations into their own files
1727           named in the form DOMFooBarInternal.h for class DOMFooBar.
1728
1729         - Remove all use of DOM_cast from code.
1730
1731         - Assorted cleanups.
1732
1733         * WebCore.xcodeproj/project.pbxproj:
1734         * bindings/objc/DOM.mm:
1735         (-[DOMNode _initWithNode:WebCore::]):
1736         (-[DOMNode WebCore::]):
1737         (-[DOMRange dealloc]):
1738         (-[DOMRange finalize]):
1739         (-[DOMRange _initWithRange:WebCore::]):
1740         (-[DOMRange WebCore::]):
1741         (-[DOMNodeFilter _initWithNodeFilter:WebCore::]):
1742         (-[DOMNodeFilter WebCore::]):
1743         (-[DOMNodeFilter dealloc]):
1744         (-[DOMNodeFilter finalize]):
1745         (-[DOMNodeIterator _initWithNodeIterator:WebCore::filter:]):
1746         (-[DOMNodeIterator WebCore::]):
1747         (-[DOMTreeWalker _initWithTreeWalker:WebCore::filter:]):
1748         (-[DOMTreeWalker WebCore::]):
1749         * bindings/objc/DOMAbstractView.mm:
1750         (-[DOMAbstractView _initWithAbstractView:WebCore::]):
1751         * bindings/objc/DOMCSS.mm:
1752         (-[DOMStyleSheet _initWithStyleSheet:WebCore::]):
1753         (-[DOMCSSRule _initWithRule:WebCore::]):
1754         (-[DOMCSSValue _initWithValue:WebCore::]):
1755         * bindings/objc/DOMEvents.mm:
1756         (-[DOMEvent _initWithEvent:WebCore::]):
1757         * bindings/objc/DOMHTMLAppletElement.mm:
1758         (-[DOMHTMLAppletElement align]):
1759         (-[DOMHTMLAppletElement setAlign:]):
1760         (-[DOMHTMLAppletElement alt]):
1761         (-[DOMHTMLAppletElement setAlt:]):
1762         (-[DOMHTMLAppletElement archive]):
1763         (-[DOMHTMLAppletElement setArchive:]):
1764         (-[DOMHTMLAppletElement code]):
1765         (-[DOMHTMLAppletElement setCode:]):
1766         (-[DOMHTMLAppletElement codeBase]):
1767         (-[DOMHTMLAppletElement setCodeBase:]):
1768         (-[DOMHTMLAppletElement height]):
1769         (-[DOMHTMLAppletElement setHeight:]):
1770         (-[DOMHTMLAppletElement hspace]):
1771         (-[DOMHTMLAppletElement setHspace:]):
1772         (-[DOMHTMLAppletElement name]):
1773         (-[DOMHTMLAppletElement setName:]):
1774         (-[DOMHTMLAppletElement object]):
1775         (-[DOMHTMLAppletElement setObject:]):
1776         (-[DOMHTMLAppletElement vspace]):
1777         (-[DOMHTMLAppletElement setVspace:]):
1778         (-[DOMHTMLAppletElement width]):
1779         (-[DOMHTMLAppletElement setWidth:]):
1780         * bindings/objc/DOMInternal.h:
1781         (getDOMWrapper):
1782         (addDOMWrapper):
1783         (raiseOnDOMError):
1784         * bindings/objc/DOMXPath.mm:
1785         (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:WebCore::]):
1786         * bindings/scripts/CodeGeneratorObjC.pm:
1787
1788 2006-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
1789
1790         Reviewed by eseidel.
1791
1792         Fix Qt/Linux build after Dave's Scrollbar changes.
1793
1794         * platform/qt/PlatformScrollBar.h: (Somehow this contained the file twice! Removed one instance!)
1795         * platform/qt/TemporaryLinkStubs.cpp:
1796         (WebCore::ScrollBar::setProportion):
1797         (WebCore::PlatformScrollBar::updateThumbPosition):
1798         (WebCore::PlatformScrollBar::updateThumbProportion):
1799
1800 2006-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
1801
1802         Reviewed by eseidel.
1803
1804         Qt/Linux build system changes: enable xpath/xslt by default.
1805         Offer possibility to change all of these using 'ccmake'.
1806
1807         * CMakeLists.txt:
1808
1809 2006-09-24  Dave Hyatt  <hyatt@apple.com>
1810
1811         Cleanup of Scrollbar APIs.  Rename setKnobProportion to setProportion.  Rename setScrollbarValue to updateThumbPosition.
1812         Give setProportion a base class implementation and implement it using the same pattern as setValue/updateThumbPosition (so that
1813         the base calls a protected virtual function, updateThumbProportion, implemented by the derived class to update the actual scrollbar itself).
1814
1815         * platform/ScrollBar.cpp:
1816         (WebCore::ScrollBar::setValue):
1817         (WebCore::ScrollBar::setProportion):
1818         * platform/ScrollBar.h:
1819         (WebCore::ScrollBar::value):
1820         * platform/mac/PlatformScrollBar.h:
1821         * platform/mac/PlatformScrollBarMac.mm:
1822         (WebCore::PlatformScrollBar::updateThumbPosition):
1823         (WebCore::PlatformScrollBar::updateThumbProportion):
1824         * platform/win/PlatformScrollBar.h:
1825         * platform/win/TemporaryLinkStubs.cpp:
1826         (PlatformScrollBar::updateThumbPosition):
1827         (PlatformScrollBar::updateThumbProportion):
1828         * rendering/RenderLayer.cpp:
1829         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1830
1831 2006-09-23  Alexey Proskuryakov  <ap@nypop.com>
1832
1833         Reviewed by Eric.
1834
1835         http://bugs.webkit.org/show_bug.cgi?id=4872
1836         XMLHttpRequest fails to throw an exception when there is a security violation
1837         (mismatching domains)
1838
1839         Raise an exception if there is a security violation, and also in cases required by
1840         the current draft of XHR specification.
1841
1842         * bindings/js/JSXMLHttpRequest.cpp:
1843         (KJS::JSXMLHttpRequest::getValueProperty): Raise an exception if a DOM method reports one.
1844         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): Raise an exception if a DOM method
1845         reports one, and also if there were too few arguments passed. 
1846
1847         * bindings/js/kjs_binding.cpp:
1848         (KJS::setDOMException): Added support for custom XHR exceptions.
1849
1850         * xml/xmlhttprequest.h: Changed state names to match the current spec. Defined an
1851         exception code range for XHR exceptions.
1852
1853         * xml/xmlhttprequest.cpp:
1854         (WebCore::XMLHttpRequest::open): Removed a check for m_aborted that could never succeed.
1855         (WebCore::XMLHttpRequest::send):
1856         (WebCore::XMLHttpRequest::setRequestHeader):
1857         (WebCore::XMLHttpRequest::getStatus):
1858         (WebCore::XMLHttpRequest::getStatusText):
1859         (WebCore::XMLHttpRequest::processSyncLoadResults):
1860         (WebCore::XMLHttpRequest::receivedAllData):
1861         (WebCore::XMLHttpRequest::receivedData):
1862
1863 2006-09-22  Steve Falkenburg  <sfalken@apple.com>
1864
1865         Reviewed by Jeff Jenkins.
1866
1867         Tweak CF types.
1868
1869         * platform/cf/ResourceLoaderCFNet.cpp:
1870         (WebCore::willCacheResponse):
1871
1872 2006-09-22  Justin Garcia  <justin.garcia@apple.com>
1873
1874         Reviewed by darin
1875
1876         <http://bugs.webkit.org/show_bug.cgi?id=8029>
1877         Rename Node::isAncestor and RenderObject::hasAncestor to isDescendantOf
1878
1879         * dom/Document.cpp:
1880         (WebCore::Document::clearSelectionIfNeeded):
1881         * dom/Element.cpp:
1882         (WebCore::Element::contains):
1883         * dom/Node.cpp:
1884         (WebCore::Node::traverseNextNode):
1885         (WebCore::Node::traverseNextSibling):
1886         (WebCore::Node::traversePreviousNodePostOrder):
1887         (WebCore::Node::checkAddChild):
1888         (WebCore::Node::isDescendantOf):
1889         * dom/Node.h:
1890         * dom/NodeIterator.cpp:
1891         (WebCore::NodeIterator::notifyBeforeNodeRemoval):
1892         * editing/ApplyStyleCommand.cpp:
1893         (WebCore::ApplyStyleCommand::applyBlockStyle):
1894         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1895         (WebCore::ApplyStyleCommand::applyInlineStyle):
1896         (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode):
1897         * editing/CompositeEditCommand.cpp:
1898         (WebCore::CompositeEditCommand::mergeIdenticalElements):
1899         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
1900         * editing/DeleteSelectionCommand.cpp:
1901         (WebCore::updatePositionForNodeRemoval):
1902         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1903         (WebCore::DeleteSelectionCommand::mergeParagraphs):
1904         * editing/FormatBlockCommand.cpp:
1905         (WebCore::FormatBlockCommand::doApply):
1906         * editing/IndentOutdentCommand.cpp:
1907         (WebCore::enclosingListOrBlockquote):
1908         * editing/Selection.cpp:
1909         (WebCore::Selection::validate):
1910         * editing/SelectionController.cpp:
1911         (WebCore::SelectionController::nodeWillBeRemoved):
1912         * editing/TextIterator.cpp:
1913         (WebCore::SimplifiedBackwardsTextIterator::advance):
1914         * editing/VisiblePosition.cpp:
1915         (WebCore::VisiblePosition::next):
1916         (WebCore::VisiblePosition::previous):
1917         (WebCore::VisiblePosition::canonicalPosition):
1918         (WebCore::isFirstVisiblePositionInNode):
1919         (WebCore::isLastVisiblePositionInNode):
1920         * editing/htmlediting.cpp:
1921         (WebCore::firstEditablePositionAfterPositionInRoot):
1922         (WebCore::lastEditablePositionBeforePositionInRoot):
1923         (WebCore::enclosingNodeWithTag):
1924         (WebCore::enclosingList):
1925         (WebCore::enclosingListChild):
1926         * editing/markup.cpp:
1927         (WebCore::createMarkup):
1928
1929 2006-09-22  Timothy Hatcher  <timothy@apple.com>
1930
1931         Reviewed by Darin.
1932
1933         - Added @property syntax to non-generated headers
1934           inside #ifndef BUILDING_ON_TIGER.
1935         - Changed the DOMEventTarget protocol to have have new versions
1936           of addEventListener and removeEventListener with named parameters.
1937           These old style methods can be removed once Mail changes to use
1938           the new methods <rdar://problem/4746649>.
1939
1940         * WebCorePrefix.h: define BUILDING_ON_TIGER when Tiger is the target
1941         * bindings/objc/DOM.mm:
1942         (-[DOMNode addEventListener:listener:useCapture:]):
1943         (-[DOMNode addEventListener:::]): call the new method
1944         (-[DOMNode removeEventListener:listener:useCapture:]):
1945         (-[DOMNode removeEventListener:::]): call the new method
1946         * bindings/objc/DOMAbstractView.h:
1947         * bindings/objc/DOMEventTarget.h:
1948         * bindings/objc/DOMHTMLAppletElement.h:
1949         * bindings/objc/DOMHTMLEmbedElement.h:
1950         * bindings/objc/DOMHTMLOptionElement.h:
1951         * bindings/objc/DOMObject.h:
1952         * bindings/objc/DOMRGBColor.h:
1953
1954 2006-09-22  Nikolas Zimmermann  <zimmermann@kde.org>
1955
1956         Reviewed by Eric.
1957
1958         Fix Qt/Linux build and a really stupid mixup in GraphicsContextQt.
1959
1960         * platform/qt/FrameQt.cpp:
1961         * platform/qt/GraphicsContextQt.cpp:
1962         (WebCore::GraphicsContext::translate): Make it actually translate, not scale! :-)
1963         (WebCore::GraphicsContext::origin):
1964         * platform/qt/PlatformScrollBar.h: Added.
1965         (WebCore::PlatformScrollBar::isWidget):
1966         * platform/qt/WidgetQt.cpp:
1967         (WebCore::Widget::invalidate):
1968         (WebCore::Widget::invalidateRect):
1969
1970 2006-09-22  Dave Hyatt <hyatt@apple.com>
1971
1972         Super-minor tweaks to the systemFont function on Mac.
1973         Set the generic family to None rather than to Serif, and
1974         don't waste time setting the computed size, since that is
1975         set from the specified size over in CSSStyleSelector anyway.
1976
1977         * rendering/RenderThemeMac.mm:
1978         (WebCore::RenderThemeMac::systemFont):
1979
1980 2006-09-22  Timothy Hatcher  <timothy@apple.com>
1981
1982         Reviewed by Brady.
1983
1984         Build fix for Xcode 2.3. Convert GraphicsContext::translate() to
1985         take floats. There was already an implicit conversion to float/double
1986         when calling CGContextTranslateCTM or cairo_translate.
1987
1988         * platform/GraphicsContext.h:
1989         * platform/cairo/GraphicsContextCairo.cpp:
1990         (WebCore::GraphicsContext::translate):
1991         * platform/cg/GraphicsContextCG.cpp:
1992         (WebCore::GraphicsContext::translate):
1993
1994 2006-09-22  Brady Eidson  <beidson@apple.com>
1995
1996         Reviewed by Sfalken
1997
1998         Add redirect and other cleanup to ResourceLoaderWin.cpp
1999         Fixes bug http://bugs.webkit.org/show_bug.cgi?id=10927
2000         Fixes bug http://bugs.webkit.org/show_bug.cgi?id=10744
2001
2002         * WebCore.xcodeproj/project.pbxproj:
2003         * platform/ResourceLoader.h:
2004         * platform/win/ResourceLoaderWin.cpp:
2005         (WebCore::ResourceLoaderWndProc):
2006         (WebCore::initializeOffScreenResourceLoaderWindow):
2007         (WebCore::ResourceLoader::onHandleCreated):
2008         (WebCore::ResourceLoader::onRequestRedirected):
2009         (WebCore::ResourceLoader::onRequestComplete):
2010         (WebCore::transferJobStatusCallback):
2011
2012 2006-09-22  Alexey Proskuryakov  <ap@nypop.com>
2013
2014         Reviewed by Geoff.
2015
2016         http://bugs.webkit.org/show_bug.cgi?id=10803
2017         REGRESSION (r15536-r15544): manual-tests/bugzilla-6821.html failing
2018
2019         * page/FrameView.cpp:
2020         (WebCore::FrameView::hoverTimerFired): Use the current event.
2021
2022 2006-09-22  Nikolas Zimmermann  <zimmermann@kde.org>
2023
2024         Reviewed by Anders.
2025
2026         Fix (last) svg memory leak.
2027
2028         * ksvg2/svg/SVGTransformable.cpp: delete 't' in error case.
2029         (SVGTransformable::parseTransformAttribute):
2030
2031 2006-09-22  Eric Seidel  <eric@eseidel.com>
2032
2033         No review necessary, just removing a dead file.
2034
2035         Remove unused file (added previously by mistake) to make room for real implementation.
2036
2037         * platform/mac/BitmapImageMac.mm: Removed.
2038
2039 2006-09-22  Dave Hyatt <hyatt@apple.com>
2040
2041         Move PlatformScrollBar.h down into the platforms.
2042         
2043         Reviewed by andersca
2044
2045         * platform/PlatformScrollBar.h: Removed.
2046         * platform/win/PlatformScrollBar.h: Added.
2047         * platform/mac/PlatformScrollBar.h: Added.
2048
2049 2006-09-22   Dave Hyatt  <hyatt@apple.com>
2050
2051         Add support for invalidation of widgets.  This will be needed for the Win32 widget subsystem (and for
2052         any widget subsystems that don't have any underlying native objects backing the widgets.
2053
2054         Reviewed by anders
2055
2056         * platform/Widget.h:
2057         * platform/mac/WidgetMac.mm:
2058         (WebCore::Widget::invalidate):
2059         (WebCore::Widget::invalidateRect):
2060         * platform/win/TemporaryLinkStubs.cpp:
2061         (Widget::invalidate):
2062         (Widget::invalidateRect):
2063
2064 2006-09-22  Rob Buis  <buis@kd.org>
2065
2066         Reviewed by eseidel.
2067
2068         http://bugs.webkit.org/show_bug.cgi?id=10901
2069         Merge build fixes from unity
2070
2071         * CMakeLists.txt:
2072
2073 2006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>
2074
2075         Reviewed by eseidel.
2076
2077         http://bugs.webkit.org/show_bug.cgi?id=10977
2078         SVGDocument does not expose 'rootElement' property
2079
2080         Enable 'rootElement' property.
2081
2082         * ksvg2/svg/SVGDocument.idl:
2083
2084 2006-09-21  Steve Falkenburg  <sfalken@apple.com>
2085
2086         Tweak includes.
2087
2088         * platform/ResourceLoaderInternal.h:
2089
2090 2006-09-21  Geoffrey Garen  <ggaren@apple.com>
2091
2092         build fixed. band happy.
2093         
2094         * platform/cg/GraphicsContextCG.cpp:
2095         (WebCore::GraphicsContext::translate):
2096         * platform/mac/WidgetMac.mm:
2097
2098 2006-09-21  Geoffrey Garen  <ggaren@apple.com>
2099
2100         Reviewed by Maciej.
2101         
2102         Some Widget refactoring.
2103
2104         * WebCore.vcproj/WebCore/WebCore.vcproj:
2105         * bridge/mac/FrameMac.mm:
2106         * bridge/win/FrameWin.cpp:
2107         (WebCore::FrameWin::runJavaScriptAlert):
2108         (WebCore::FrameWin::runJavaScriptConfirm):
2109         * bridge/win/PageWin.cpp:
2110         (WebCore::Page::Page):
2111         (WebCore::rootWindowForFrame):
2112         * html/CanvasRenderingContext2D.cpp:
2113         (WebCore::CanvasRenderingContext2D::translate):
2114         * page/FrameView.cpp:
2115         (WebCore::FrameView::isFrameView):
2116         * page/Page.h:
2117         (WebCore::Page::setInstanceHandle):
2118         (WebCore::Page::instanceHandle):
2119         * platform/GraphicsContext.h:
2120         * platform/ScrollView.h:
2121         * platform/Widget.h:
2122         * platform/cairo/GraphicsContextCairo.cpp:
2123         (WebCore::GraphicsContext::translate):
2124         (WebCore::GraphicsContext::origin):
2125         * platform/mac/WidgetMac.mm:
2126         (WebCore::Widget::clearFocus):
2127         * platform/win/ResourceLoaderWin.cpp:
2128         (WebCore::initializeOffScreenResourceLoaderWindow):
2129         * platform/win/ScreenWin.cpp:
2130         (WebCore::monitorInfo):
2131         * platform/win/ScrollViewWin.cpp:
2132         (WebCore::ScrollView::updateContents):
2133         (WebCore::ScrollView::visibleWidth):
2134         (WebCore::ScrollView::visibleHeight):
2135         (WebCore::ScrollView::visibleContentRect):
2136         (WebCore::ScrollView::viewportToContents):
2137         (WebCore::ScrollView::contentsToViewport):
2138         (WebCore::ScrollView::scrollBy):
2139         (WebCore::ScrollView::updateScrollInfo):
2140         (WebCore::ScrollView::updateScrollBars):
2141         * platform/win/SharedTimerWin.cpp:
2142         (WebCore::initializeOffScreenTimerWindow):
2143         * platform/win/TemporaryLinkStubs.cpp:
2144         (FrameView::updateBorder):
2145         (ScrollView::paint):
2146         (GraphicsContext::clip):
2147         * platform/win/WidgetWin.cpp:
2148         (WebCore::Widget::Widget):
2149         (WebCore::Widget::parentWindow):
2150         (WebCore::Widget::setParentWindow):
2151         (WebCore::Widget::frameGeometry):
2152         (WebCore::Widget::hasFocus):
2153         (WebCore::Widget::setFocus):
2154         (WebCore::Widget::show):
2155         (WebCore::Widget::hide):
2156         (WebCore::Widget::setFrameGeometry):
2157
2158 2006-09-22  Anders Carlsson  <acarlsson@apple.com>
2159
2160         Reviewed by Tim H.
2161
2162         * platform/TextEncoding.cpp:
2163         (WebCore::TextEncoding::backslashAsCurrencySymbol):
2164         Add comment clarifying why backslashAsCurrencySymbol is needed.
2165
2166 2006-09-21  Sean Gies  <seangies@apple.com>
2167
2168         Reviewed by Adam Roben.
2169
2170         Add utility functions to get and release HDC from GraphicsContext.
2171
2172         * platform/GraphicsContext.h: Add utilities to get and release HDC.
2173         * platform/cairo/GraphicsContextCairo.cpp: Implement new utilities.
2174         * rendering/RenderThemeWin.cpp: Switch to new utilities.
2175
2176 2006-09-21  Justin Garcia  <justin.garcia@apple.com>
2177
2178         Reviewed by anders
2179         
2180         <rdar://problem/4426622>
2181         Plain text paste slow.  Time spent mostly in WebCore::rebalanceWhitespaceInTextNode(...)
2182
2183         * editing/htmlediting.cpp:
2184         (WebCore::rebalanceWhitespaceInTextNode): We no longer need to use a RegExp replace because we
2185         aren't producing complicated sequences here.  Use multiple UChar -> UChar replaces instead for speed.
2186         Got rid of uses of DepricatedString.
2187
2188 2006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>
2189
2190         Reviewed by eseidel.
2191
2192         Don't crash if no IconDatabase is available (ie. on Qt/Gdk)
2193
2194         * page/Frame.cpp:
2195         (WebCore::Frame::endIfNotLoading):
2196
2197 2006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>
2198
2199         Reviewed by eseidel.
2200
2201         Fix Qt/Linux build.
2202
2203         * CMakeLists.txt:
2204         * kcanvas/device/qt/KCanvasClipperQt.h:
2205         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
2206         * platform/qt/FrameQt.cpp:
2207         (WebCore::FrameQt::isLoadTypeReload):
2208         (WebCore::FrameQt::originalRequestURL):
2209         * platform/qt/FrameQt.h:
2210         * platform/qt/GraphicsContextQt.cpp:
2211         (WebCore::GraphicsContext::concatCTM):
2212         * platform/qt/ScrollViewQt.cpp:
2213         (WebCore::ScrollView::wheelEvent):
2214         * platform/qt/TemporaryLinkStubs.cpp:
2215         (WebCore::IconDatabase::setIconURLForPageURL):
2216
2217 2006-09-20  Justin Garcia  <justin.garcia@apple.com>
2218
2219         Reviewed by john
2220         
2221         <http://bugs.webkit.org/show_bug.cgi?id=7165>
2222         TinyMCE: Dragging & dropping content always leaves a copy when editing inside a subframe
2223
2224         * editing/MoveSelectionCommand.cpp:
2225         (WebCore::MoveSelectionCommand::MoveSelectionCommand): Set the document
2226         to the position-to-move-to's document, not the fragment's document.  The 
2227         fragment's document is the document used to create the fragment and is irrelavant.
2228
2229 === Safari-521.27 ===
2230
2231 2006-09-21  Brady Eidson  <beidson@apple.com>
2232
2233         Reviewed by Anders
2234
2235         When your assumption is "IconDatabase::sharedIconDatabase()" will never fail but it does, you're in trouble
2236         This fixes Spinneret so it won't crash on its first load!
2237
2238         * page/Frame.cpp:
2239         (WebCore::Frame::endIfNotLoading):
2240
2241 2006-09-21  Brady Eidson  <beidson@apple.com>
2242
2243         Build fix
2244
2245         * platform/win/TemporaryLinkStubs.cpp:
2246         (ScrollView::wheelEvent):
2247
2248 2006-09-20  Rob Buis  <buis@kde.org>
2249
2250         Reviewed by eseidel.
2251
2252         http://bugs.webkit.org/show_bug.cgi?id=10946
2253         new marker code draws end-marker in wrong place
2254
2255         Keep track of the start of the subpath so we can handle
2256         closeTo/moveTo correctly.
2257
2258         * kcanvas/RenderPath.cpp:
2259         (WebCore::DrawMarkersData::DrawMarkersData):
2260         (WebCore::updateMarkerDataForElement):
2261
2262 2006-09-21  David Hyatt <hyatt@apple.com>
2263
2264         Wheel scrolling prep for Win32.
2265
2266         WARNING: NO TEST CASES ADDED OR CHANGED
2267
2268         * platform/PlatformWheelEvent.h:
2269         * platform/ScrollBar.h:
2270         * platform/ScrollView.h:
2271         * platform/mac/ScrollViewMac.mm:
2272         (WebCore::ScrollView::wheelEvent):
2273         * rendering/RenderLayer.cpp:
2274
2275 2006-09-20  Timothy Hatcher  <timothy@apple.com>
2276
2277         Reviewed by Hyatt.
2278
2279         Bug 10917: REGRESSION (r16027): iFrame transparency broken
2280         http://bugs.webkit.org/show_bug.cgi?id=10917
2281
2282         Don't paint the base background color if we transparent.
2283
2284         * rendering/RenderBox.cpp:
2285         (WebCore::RenderBox::paintBackgroundExtended):
2286
2287 2006-09-20  Adam Roben  <aroben@apple.com>
2288
2289         Reviewed by andersca.
2290
2291         * platform/FileChooser.h: Remove no-longer-necessary namespace std
2292
2293 2006-09-20  Eric Seidel  <eric@eseidel.com>
2294
2295         Reviewed by beth.
2296
2297         Cleanup style in KCanvas.
2298         Remove extra white-space, unneeded arguments, etc.
2299
2300         * WebCore.xcodeproj/project.pbxproj:
2301         * kcanvas/KCanvasClipper.cpp:
2302         (WebCore::operator<<):
2303         (WebCore::KCanvasClipper::externalRepresentation):
2304         * kcanvas/KCanvasClipper.h:
2305         * kcanvas/KCanvasFilters.cpp:
2306         (WebCore::KCanvasFilter::externalRepresentation):
2307         (WebCore::operator<<):
2308         (WebCore::KCanvasFilterEffect::externalRepresentation):
2309         (WebCore::KCPointLightSource::externalRepresentation):
2310         (WebCore::KCSpotLightSource::externalRepresentation):
2311         (WebCore::KCDistantLightSource::externalRepresentation):
2312         (WebCore::KCanvasFEBlend::externalRepresentation):
2313         (WebCore::KCanvasFEColorMatrix::externalRepresentation):
2314         (WebCore::KCanvasFEComponentTransfer::externalRepresentation):
2315         (WebCore::KCanvasFEComposite::externalRepresentation):
2316         (WebCore::KCanvasFEConvolveMatrix::externalRepresentation):
2317         (WebCore::KCanvasFEDiffuseLighting::externalRepresentation):
2318         (WebCore::KCanvasFEDisplacementMap::externalRepresentation):
2319         (WebCore::KCanvasFEFlood::externalRepresentation):
2320         (WebCore::KCanvasFEGaussianBlur::externalRepresentation):
2321         (WebCore::KCanvasFEImage::externalRepresentation):
2322         (WebCore::KCanvasFEMerge::externalRepresentation):
2323         (WebCore::KCanvasFEMorphology::externalRepresentation):
2324         (WebCore::KCanvasFEOffset::externalRepresentation):
2325         (WebCore::KCanvasFESpecularLighting::externalRepresentation):
2326         (WebCore::KCanvasFETile::externalRepresentation):
2327         (WebCore::KCanvasFETurbulence::externalRepresentation):
2328         * kcanvas/KCanvasFilters.h:
2329         (WebCore::KCanvasFEDiffuseLighting::lightSource):
2330         (WebCore::KCanvasFESpecularLighting::lightSource):
2331         * kcanvas/KCanvasImage.h:
2332         * kcanvas/KCanvasMarker.cpp:
2333         (WebCore::KCanvasMarker::externalRepresentation):
2334         * kcanvas/KCanvasMarker.h:
2335         * kcanvas/KCanvasResource.cpp:
2336         (WebCore::operator<<):
2337         * kcanvas/KCanvasResource.h:
2338         * kcanvas/KCanvasTreeDebug.cpp:
2339         (WebCore::operator<<):
2340         (WebCore::writeIndent):
2341         (WebCore::writeStyle):
2342         (WebCore::write):
2343         (WebCore::writeRenderResources):
2344         * kcanvas/KCanvasTreeDebug.h:
2345         (WebCore::operator<<):
2346         * kcanvas/RenderForeignObject.cpp:
2347         (WebCore::RenderForeignObject::paint):
2348         * kcanvas/RenderPath.cpp:
2349         (WebCore::RenderPath::paint):
2350         (WebCore::drawStartAndMidMarkers):
2351         * kcanvas/RenderSVGContainer.cpp:
2352         (WebCore::RenderSVGContainer::paint):
2353         * kcanvas/RenderSVGImage.cpp:
2354         (WebCore::RenderSVGImage::translateForAttributes):
2355         * kcanvas/RenderSVGImage.h:
2356         * kcanvas/device/KRenderingDevice.cpp:
2357         (WebCore::KRenderingDevice::currentContext):
2358         (WebCore::KRenderingDevice::popContext):
2359         (WebCore::KRenderingDevice::pushContext):
2360         * kcanvas/device/KRenderingDevice.h:
2361         * kcanvas/device/KRenderingFillPainter.h:
2362         * kcanvas/device/KRenderingPaintServer.h:
2363         (WebCore::KRenderingPaintServer::KRenderingPaintServer):
2364         (WebCore::KRenderingPaintServer::activeClient):
2365         (WebCore::KRenderingPaintServer::setActiveClient):
2366         * kcanvas/device/KRenderingPaintServerGradient.cpp:
2367         (WebCore::operator<<):
2368         (WebCore::KRenderingPaintServerGradient::externalRepresentation):
2369         (WebCore::KRenderingPaintServerLinearGradient::externalRepresentation):
2370         (WebCore::KRenderingPaintServerGradient::listener):
2371         (WebCore::KRenderingPaintServerGradient::setListener):
2372         (WebCore::KRenderingPaintServerRadialGradient::externalRepresentation):
2373         * kcanvas/device/KRenderingPaintServerGradient.h:
2374         * kcanvas/device/KRenderingPaintServerPattern.cpp:
2375         (WebCore::KRenderingPaintServerPattern::tile):
2376         (WebCore::KRenderingPaintServerPattern::setTile):
2377         (WebCore::KRenderingPaintServerPattern::listener):
2378         (WebCore::KRenderingPaintServerPattern::setListener):
2379         (WebCore::KRenderingPaintServerPattern::externalRepresentation):
2380         * kcanvas/device/KRenderingPaintServerPattern.h:
2381         * kcanvas/device/KRenderingPaintServerSolid.cpp:
2382         (WebCore::KRenderingPaintServerSolid::externalRepresentation):
2383         * kcanvas/device/KRenderingPaintServerSolid.h:
2384         * kcanvas/device/KRenderingStrokePainter.cpp:
2385         (WebCore::KRenderingStrokePainter::strokeMiterLimit):
2386         (WebCore::KRenderingStrokePainter::setStrokeMiterLimit):
2387         * kcanvas/device/KRenderingStrokePainter.h:
2388         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
2389         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2390         (WebCore::KCanvasFilterQuartz::prepareFilter):
2391         * kcanvas/device/quartz/KCanvasItemQuartz.h: Removed.
2392         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
2393         (WebCore::KCanvasMaskerQuartz::applyMask):
2394         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
2395         (WebCore::KCanvasImageQuartz::init):
2396         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
2397         (WebCore::KCanvasClipperQuartz::applyClip):
2398         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2399         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2400         (WebCore::KRenderingDeviceQuartz::quartzContext):
2401         (WebCore::KRenderingDeviceQuartz::contextForImage):
2402         (WebCore::KRenderingDeviceQuartz::createPaintServer):
2403         (WebCore::KRenderingDeviceQuartz::createResource):
2404         (WebCore::KRenderingDeviceQuartz::createFilterEffect):
2405         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
2406         (WebCore::CGShadingRefForLinearGradient):
2407         (WebCore::CGShadingRefForRadialGradient):
2408         (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
2409         (WebCore::KRenderingPaintServerGradientQuartz::teardown):
2410         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
2411         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
2412         (WebCore::KRenderingPaintServerQuartzHelper::strokePath):
2413         (WebCore::KRenderingPaintServerQuartzHelper::clipToStrokePath):
2414         (WebCore::KRenderingPaintServerQuartzHelper::fillPath):
2415         (WebCore::KRenderingPaintServerQuartzHelper::clipToFillPath):
2416         (WebCore::KRenderingPaintServerSolidQuartz::draw):
2417         (WebCore::KRenderingPaintServerSolidQuartz::setup):
2418         (WebCore::KRenderingPaintServerSolidQuartz::renderPath):
2419         (WebCore::KRenderingPaintServerPatternQuartz::setup):
2420         (WebCore::KRenderingPaintServerPatternQuartz::renderPath):
2421         (WebCore::KRenderingPaintServerPatternQuartz::teardown):
2422         * kcanvas/device/quartz/QuartzSupport.h:
2423         * kcanvas/device/quartz/QuartzSupport.mm:
2424         (WebCore::applyStrokeStyleToContext):
2425
2426 2006-09-20  Anders Carlsson  <acarlsson@apple.com>
2427
2428         Reviewed by Dave Hyatt.
2429
2430         * dom/WheelEvent.cpp:
2431         (WebCore::WheelEvent::WheelEvent):
2432         Use lroundf instead of lround since deltas are floats.
2433
2434 2006-09-20  Julien Palmas  <julien.palmas@gmail.com>
2435
2436         Reviewed by eseidel.  Landed by eseidel.
2437
2438         Test: svg/custom/pattern-y-offset.svg
2439
2440         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
2441         (WebCore::KRenderingPaintServerPatternQuartz::setup):
2442
2443 2006-09-20  David Hyatt  <hyatt@apple.com>
2444
2445         Add a new wheelEvent method to ScrollView.  Platforms that wish
2446         to handle the wheel event for the scroll view themselves can then
2447         do so there.  (Mac lets the underlying NSScrollView do it for now.)
2448
2449         * page/FrameView.cpp:
2450         (WebCore::FrameView::handleWheelEvent):
2451         * platform/ScrollView.h:
2452         (WebCore::ScrollView::wheelEvent):
2453
2454 2006-09-20  Brady Eidson  <beidson@apple.com>
2455
2456         Reviewed by Tim Omernick
2457
2458         Part of fixing a crash Tim O showed me that I missed in a release build.
2459         WebKit should be able to call through the bridge to WebCore no matter what -
2460         Replace the _iconDB member with calls to IconDatabase::sharedIconDatabase()
2461
2462         * bridge/mac/WebCoreIconDatabaseBridge.h:
2463         * bridge/mac/WebCoreIconDatabaseBridge.mm:
2464         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
2465         (-[WebCoreIconDatabaseBridge isOpen]):
2466         (-[WebCoreIconDatabaseBridge removeAllIcons]):
2467         (-[WebCoreIconDatabaseBridge _isEmpty]):
2468         (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
2469         (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
2470         (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
2471         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
2472         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
2473         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
2474         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
2475         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
2476         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
2477         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
2478         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
2479         (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]):
2480         (-[WebCoreIconDatabaseBridge _setEnabled:]):
2481         (-[WebCoreIconDatabaseBridge _isEnabled]):
2482
2483 2006-09-20  Anders Carlsson  <acarlsson@apple.com>
2484
2485         Reviewed by Darin.
2486
2487         Add String::split which returns a Vector of Strings and use it instead of 
2488         DeprecatedStringList.
2489         
2490         * bindings/js/kjs_events.cpp:
2491         (KJS::Clipboard::getValueProperty):
2492         * bindings/js/kjs_window.cpp:
2493         (KJS::parseModalDialogFeatures):
2494         * css/MediaList.cpp:
2495         (WebCore::MediaList::setMediaText):
2496         * dom/Clipboard.h:
2497         * html/HTMLFormElement.cpp:
2498         (WebCore::HTMLFormElement::formData):
2499         * html/HTMLLinkElement.cpp:
2500         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2501         * platform/PlatformString.h:
2502         * platform/String.cpp:
2503         (WebCore::String::split):
2504         * platform/StringImpl.cpp:
2505         * platform/StringImpl.h:
2506         * platform/mac/ClipboardMac.h:
2507         * platform/mac/ClipboardMac.mm:
2508         (WebCore::ClipboardMac::types):
2509
2510 2006-09-20  Justin Garcia  <justin.garcia@apple.com>
2511
2512         Reviewed by harrison
2513
2514         * css/cssstyleselector.cpp:
2515         (WebCore::CSSStyleSelector::adjustRenderStyle): Don't call 
2516         HTMLElement::isContentEditable just to check the Frame's editability, since
2517         it calls updateRenderering, which can get us into infinite recursion.
2518
2519 2006-09-20  Brady Eidson  <beidson@apple.com>
2520
2521         Reviewed by Darin
2522
2523         Cleaned up my last patch alot, and made the WebCore icon database disabled by default
2524
2525         * loader/icon/IconDatabase.cpp:
2526         (WebCore::IconDatabase::IconDatabase): Disabled by default
2527         (WebCore::IconDatabase::removeAllIcons): Respect just isOpen() (disabled database will always be closed)
2528         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto
2529         (WebCore::IconDatabase::iconForPageURL): Ditto
2530         (WebCore::IconDatabase::isIconExpiredForIconURL): Ditto
2531         (WebCore::IconDatabase::iconURLForPageURL): Ditto
2532         (WebCore::IconDatabase::retainIconForPageURL): Ditto
2533         (WebCore::IconDatabase::releaseIconForPageURL): Ditto
2534         (WebCore::IconDatabase::setIconDataForIconURL): Ditto
2535         (WebCore::IconDatabase::setIconURLForPageURL): Ditto
2536         (WebCore::IconDatabase::hasEntryForIconURL): Ditto
2537         (WebCore::IconDatabase::setEnabled): Fixed a big bug here!
2538
2539 2006-09-20  Adam Roben  <aroben@apple.com>
2540
2541         Reviewed by Adele.
2542
2543         Fixes http://bugs.webkit.org/show_bug.cgi?id=10935
2544         REGRESSION: file upload control with direction:rtl or text-align:right
2545         draws button on top of filename/icon
2546
2547         * rendering/RenderFileUploadControl.cpp:
2548         (WebCore::RenderFileUploadControl::setStyle): Force text-align to
2549         match direction
2550         (WebCore::RenderFileUploadControl::paintObject): Fix positioning of
2551         the filename and icon in RTL
2552
2553 2006-09-20  Alice Liu  <alice.liu@apple.com>
2554
2555         Reviewed by Adam Roben.
2556
2557         fixed windows build
2558
2559         * dom/WheelEvent.cpp:
2560         (WebCore::WheelEvent::WheelEvent):
2561         changed lrint to lround
2562
2563 2006-09-20  Sam Weinig  <sam.weinig@gmail.com>
2564
2565         Build Fix.  Adds isHorizontal attribute back to WheelEvent
2566         for the Objective-C bindings.  If it is found that isHorizontal
2567         is not used, we should remove it again but also remove it's
2568         declaration from PublicDOMInterfaces.h
2569
2570         * dom/WheelEvent.h:
2571         (WebCore::WheelEvent::isHorizontal):
2572         * dom/WheelEvent.idl:
2573
2574 2006-09-20  David Hyatt  <hyatt@apple.com>
2575
2576         Fix for 10945, WheelEvent should support two dimensions at once, since
2577         MacBooks allow for diagonal scrolling.  Also enhance the PlatformWheelEvent
2578         to allow for diagonal scrolling.
2579
2580         Reviewed by Eric
2581
2582         * dom/EventTargetNode.cpp:
2583         (WebCore::EventTargetNode::dispatchWheelEvent):
2584         * dom/WheelEvent.cpp:
2585         (WebCore::WheelEvent::WheelEvent):
2586         (WebCore::WheelEvent::initWheelEvent):
2587         * dom/WheelEvent.h:
2588         (WebCore::WheelEvent::wheelDelta):
2589         (WebCore::WheelEvent::wheelDeltaX):
2590         (WebCore::WheelEvent::wheelDeltaY):
2591         * dom/WheelEvent.idl:
2592         * page/FrameView.cpp:
2593         (WebCore::FrameView::handleWheelEvent):
2594         * platform/PlatformWheelEvent.h:
2595         (WebCore::PlatformWheelEvent::deltaX):
2596         (WebCore::PlatformWheelEvent::deltaY):
2597         (WebCore::PlatformWheelEvent::normalize):
2598         * platform/mac/WheelEventMac.mm:
2599         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2600
2601 2006-09-19  Eric Seidel  <eric@eseidel.com>
2602
2603         Reviewed by hyatt.
2604
2605         Split KCanvasResources.* into multiple files (and some other minor spacing changes).
2606         
2607         No tests were harmed in the making of this patch.
2608
2609         * WebCore.xcodeproj/project.pbxproj:
2610         * kcanvas/KCanvasClipper.cpp: Added.
2611         (WebCore::operator<<):
2612         * kcanvas/KCanvasClipper.h: Added.
2613         * kcanvas/KCanvasFilters.h:
2614         * kcanvas/KCanvasImage.h:
2615         * kcanvas/KCanvasMarker.cpp: Added.
2616         * kcanvas/KCanvasMarker.h: Added.
2617         * kcanvas/KCanvasMasker.cpp: Added.
2618         (WebCore::KCanvasMasker::KCanvasMasker):
2619         (WebCore::KCanvasMasker::setMask):
2620         (WebCore::KCanvasMasker::externalRepresentation):
2621         (WebCore::getMaskerById):
2622         * kcanvas/KCanvasMasker.h: Added.
2623         * kcanvas/KCanvasResource.cpp: Added.
2624         (WebCore::KCanvasResource::invalidate):
2625         (WebCore::KCanvasResource::externalRepresentation):
2626         (WebCore::getResourceById):
2627         (WebCore::getPaintServerById):
2628         * kcanvas/KCanvasResource.h: Added.
2629         * kcanvas/KCanvasResources.cpp: Removed.
2630         * kcanvas/KCanvasResources.h: Removed.
2631         * kcanvas/RenderPath.cpp:
2632         * kcanvas/RenderSVGContainer.cpp:
2633         * kcanvas/RenderSVGImage.cpp:
2634         * kcanvas/RenderSVGText.cpp:
2635         * kcanvas/device/KRenderingPaintServer.h:
2636         * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
2637         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
2638         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2639         * ksvg2/svg/SVGClipPathElement.h:
2640         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2641         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2642         * ksvg2/svg/SVGFECompositeElement.cpp:
2643         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2644         * ksvg2/svg/SVGFELightElement.cpp:
2645         * ksvg2/svg/SVGFEOffsetElement.cpp:
2646         * ksvg2/svg/SVGFETurbulenceElement.cpp:
2647         * ksvg2/svg/SVGFilterElement.cpp:
2648         * ksvg2/svg/SVGLinearGradientElement.cpp:
2649         * ksvg2/svg/SVGMarkerElement.h:
2650         * ksvg2/svg/SVGMaskElement.h:
2651
2652 2006-09-19  Brady Eidson <beidson@apple.com>
2653
2654         Reviewed by Sarge Decker
2655
2656         <rdar://problem/4739892> and <rdar://problem/4729797>
2657         - WebCore::IconDatabase needs to have and respect an enabled() flag
2658         - Mail on ToT WebKit crashes in IconDatabase code when mailing a page from Safari
2659
2660         * bridge/mac/WebCoreIconDatabaseBridge.h:
2661         * bridge/mac/WebCoreIconDatabaseBridge.mm:
2662         (-[WebCoreIconDatabaseBridge _setEnabled:]): Added
2663         (-[WebCoreIconDatabaseBridge _isEnabled]): Added
2664         * loader/icon/IconDatabase.cpp:
2665         (WebCore::IconDatabase::IconDatabase):
2666         (WebCore::IconDatabase::open): Don't open if disabled
2667         (WebCore::IconDatabase::removeAllIcons): Ignore if disabled/closed
2668         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ignore if disabled/closed
2669         (WebCore::IconDatabase::iconForPageURL): Default Icon if disabled/closed
2670         (WebCore::IconDatabase::isIconExpiredForIconURL): Default return if disabled/closed
2671         (WebCore::IconDatabase::iconURLForPageURL): Default return if disabled/closed
2672         (WebCore::IconDatabase::retainIconForPageURL): Ignore if disabled/closed
2673         (WebCore::IconDatabase::releaseIconForPageURL): Ignore if disabled/closed
2674         (WebCore::IconDatabase::releaseIconURL):
2675         (WebCore::IconDatabase::setIconDataForIconURL): Ignore if disabled/closed
2676         (WebCore::IconDatabase::setIconURLForPageURL): Ignore if disabled/closed
2677         (WebCore::IconDatabase::hasEntryForIconURL): Default return if disabled/closed
2678         (WebCore::IconDatabase::setEnabled): Added
2679         * loader/icon/IconDatabase.h:
2680         (WebCore::IconDatabase::enabled): Added
2681         * page/Frame.cpp:
2682         (WebCore::Frame::endIfNotLoading): do an IconDatabase::enabled() check before bothering to load the icon
2683         * platform/mac/ResourceLoaderMac.mm: Removed extraneous #include
2684
2685 2006-09-20  David Hyatt  <hyatt@apple.com>
2686
2687         Massage mouse wheel handling so that it is more cross-platform.  Make
2688         all the work happen in handleWheelEvent on the FrameView.
2689
2690         Reviewed by bradee-oh
2691
2692         * bridge/mac/FrameMac.mm:
2693         (WebCore::FrameMac::wheelEvent):
2694         * page/FrameView.cpp:
2695         (WebCore::FrameView::handleWheelEvent):
2696         * platform/PlatformWheelEvent.h:
2697         (WebCore::PlatformWheelEvent::platformDelta):
2698         (WebCore::PlatformWheelEvent::delta):
2699         * platform/mac/WheelEventMac.mm:
2700         (WebCore::platformDeltaForEvent):
2701         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2702         * rendering/RenderLayer.cpp:
2703         (WebCore::RenderLayer::scroll):
2704         * rendering/RenderObject.cpp:
2705         (WebCore::RenderObject::scroll):
2706
2707 2006-09-19  Eric Seidel  <eric@eseidel.com>
2708
2709         Reviewed by adele.
2710
2711         Improve test output for filters with bounding-box relative sizes.
2712         http://bugs.webkit.org/show_bug.cgi?id=8585
2713
2714         Many test results updated.
2715
2716         * kcanvas/KCanvasFilters.cpp:
2717         (WebCore::KCanvasFilter::externalRepresentation):
2718
2719 2006-09-19  Eric Seidel  <eric@eseidel.com>
2720
2721         Reviewed by adele.
2722         
2723         Markers should clip to their viewport.
2724         http://bugs.webkit.org/show_bug.cgi?id=5967
2725
2726         Test: svg/custom/marker-overflow-clip.svg
2727
2728         * kcanvas/KCanvasResources.cpp:
2729         (WebCore::KCanvasMarker::KCanvasMarker):
2730         (WebCore::KCanvasMarker::setMarker):
2731         (WebCore::KCanvasMarker::draw):
2732         * kcanvas/KCanvasResources.h:
2733         (WebCore::KCanvasMasker::mask):
2734         * ksvg2/svg/SVGMarkerElement.cpp:
2735         (WebCore::SVGMarkerElement::SVGMarkerElement):
2736         (WebCore::SVGMarkerElement::parseMappedAttribute):
2737         (WebCore::SVGMarkerElement::canvasResource):
2738         (WebCore::SVGMarkerElement::createRenderer):
2739
2740 2006-09-19  Justin Garcia  <justin.garcia@apple.com>
2741
2742         Reviewed by eseidel
2743
2744         Backing out my recent change.
2745
2746         * css/cssstyleselector.cpp:
2747         (WebCore::CSSStyleSelector::adjustRenderStyle): 
2748
2749 2006-09-19  Brady Eidson  <beidson@apple.com>
2750
2751         Reviewed by Kevin McCullough
2752
2753         http://bugs.webkit.org/show_bug.cgi?id=10940
2754         Opening a PDF in a new tab/window creates a documentless-frame
2755         and we deref the document without checking its validity
2756
2757         * page/Frame.cpp:
2758         (WebCore::Frame::iconURL):
2759
2760 2006-09-19  Justin Garcia  <justin.garcia@apple.com>
2761
2762         Reviewed by harrison
2763         
2764         <rdar://problem/4735272>
2765         Can not click into link in programmatically editable content
2766
2767         * css/cssstyleselector.cpp:
2768         (WebCore::CSSStyleSelector::adjustRenderStyle): We stopped using
2769         userModify to implement document wide editability.
2770
2771 2006-09-19  MorganL  <morlmor@yahoo.com>
2772
2773         Reviewed by Darin and landed by Brady
2774
2775         Fixes http://bugs.webkit.org/show_bug.cgi?id=10939
2776         Build broken when SVG is not enabled.
2777
2778         * dom/XMLTokenizer.cpp:
2779         (WebCore::XMLTokenizer::startElementNs):
2780
2781 2006-09-19  Justin Garcia  <justin.garcia@apple.com>
2782
2783         Reviewed by harrison
2784         
2785         <rdar://problem/4727383> REGRESSION: Pasting plain text with tabs into Blot converts the tabs to single spaces
2786
2787         Pasting plain text results in a match style paste, and the insertion
2788         position is whitespace normal, which clobbers the whitespace:pre on 
2789         tab spans.  Skip changes to the whitespace mode when computing a style
2790         change for tab spans or the text nodes inside tab spans.
2791
2792         * editing/ApplyStyleCommand.cpp:
2793         (WebCore::StyleChange::init): Don't change the whitespace mode inside
2794         tab spans.
2795
2796 2006-09-19  David Hyatt  <hyatt@apple.com>
2797
2798         Fix for bug 5298, shape=default not supported for image maps.  Implement
2799         support for it.
2800
2801         Reviewed by timo
2802
2803         * html/HTMLAreaElement.cpp:
2804         (WebCore::HTMLAreaElement::getRegion):
2805         * html/HTMLMapElement.cpp:
2806         (WebCore::HTMLMapElement::mapMouseEvent):
2807
2808 2006-09-19  Adam Roben  <aroben@apple.com>
2809
2810         Reviewed by Adele.
2811
2812         Fixes http://bugs.webkit.org/show_bug.cgi?id=10824
2813         "no file selected" placeholder text missing from file upload control
2814
2815         * WebCore.xcodeproj/project.pbxproj:
2816         * rendering/RenderFileUploadControl.cpp: Remove class
2817         RenderFileUploadInnerFileBox, rename defaultFilenameNumChars to
2818         defaultWidthNumChars
2819         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Call
2820         RenderBlock constructor instead of RenderFlexibleBox, 
2821         (WebCore::RenderFileUploadControl::setStyle): Remove references to
2822         m_fileBox.
2823         (WebCore::RenderFileUploadControl::valueChanged): Call repaint()
2824         instead of updateIconAndFileName() (which has been removed)
2825         (WebCore::RenderFileUploadControl::updateFromElement): Remove
2826         references to m_fileBox, don't call updateIconAndFilename()
2827         (WebCore::RenderFileUploadControl::maxFilenameWidth): Calculate width
2828         without using m_fileBox
2829         (WebCore::RenderFileUploadControl::createButtonStyle): Remove
2830         now-unnecessary display:box rule.
2831         (WebCore::RenderFileUploadControl::paintObject): Remove redundant call
2832         to paintingDisabled() now that Icon::paint() does it, and add code to
2833         paint the filename directly.
2834         (WebCore::RenderFileUploadControl::calcMinMaxWidth): Move this method
2835         out of RenderFileUploadInnerFileBox and into RenderFileUploadControl
2836         * rendering/RenderFileUploadControl.h: Make RenderFileUploadControl a
2837         subclass of RenderBlock instead of RenderFlexibleBox, remove
2838         updateIconAndFilename() method, remove m_fileBox instance variable.
2839
2840 2006-09-19  Eric Seidel  <eric@eseidel.com>
2841
2842         Reviewed by hyatt.
2843
2844         Exceptions thrown from <script> tags in XHTML/SVG docs show the wrong line numbers
2845         http://bugs.webkit.org/show_bug.cgi?id=10846
2846         
2847         No automated test case possible until http://bugs.webkit.org/show_bug.cgi?id=10905 is resolved.
2848
2849         * dom/XMLTokenizer.cpp:
2850         (WebCore::XMLTokenizer::XMLTokenizer):
2851         (WebCore::XMLTokenizer::startElementNs):
2852         (WebCore::XMLTokenizer::endElementNs):
2853
2854 2006-09-19  Krzysztof Kowalczyk <kkowalczyk@gmail.com>
2855
2856         Reviewed by eseidel.  Landed by eseidel.
2857         
2858         Build fix only, no tests affected.
2859
2860         * platform/gdk/FontPlatformDataGdk.cpp:
2861         (WebCore::FontPlatformData::FontPlatformData):
2862         (WebCore::FontPlatformData::~FontPlatformData):
2863         * platform/gdk/FrameGdk.h:
2864         * platform/gdk/TemporaryLinkStubs.cpp:
2865         (FrameGdk::isLoadTypeReload):
2866         (FrameGdk::originalRequestURL):
2867         (IconDatabase::setIconURLForPageURL):
2868
2869 2006-09-19  David Hyatt  <hyatt@apple.com>
2870
2871         Refine the fix for 9805 to really get all the complex cases right.
2872
2873         Reviewed by Eric
2874
2875         * rendering/RenderBlock.cpp:
2876         (WebCore::RenderBlock::clearFloatsIfNeeded):
2877         (WebCore::RenderBlock::handleBottomOfBlock):
2878
2879 2006-09-18  David Hyatt  <hyatt@apple.com>
2880
2881         Fix for 9805, <hr> not positioned properly following a previous empty sibling
2882         that had clear:both set on it.  Update self-collapsing block clearance
2883         behavior to match what is specified in the latest draft of CSS2.1.
2884
2885         Reviewed by Eric
2886
2887         Added fast/block/margin-collapse/empty-clear-blocks.html
2888
2889         * rendering/RenderBlock.cpp:
2890         (WebCore::RenderBlock::clearFloatsIfNeeded):
2891         (WebCore::RenderBlock::handleBottomOfBlock):
2892
2893 2006-09-18  MorganL  <morlmor@yahoo.com>
2894
2895         Reviewed by Brady, landed by Brady
2896
2897         Send receivedResponse callback to ResourceLoaderClient when loading
2898         file URLs.
2899
2900         See http://bugs.webkit.org/show_bug.cgi?id=10845
2901
2902         * platform/win/ResourceLoaderWin.cpp:
2903         (WebCore::ResourceLoader::fileLoadTimer):
2904
2905 2006-09-18  Brady Eidson  <beidson@apple.com>
2906
2907         Reviewed by Anders
2908
2909         <rdar://problem/3028061> - WebKit never updates favicon
2910         The WebKit enforced expiration date for icons has worked for some time, but the
2911         move to the new Icon Loader broke the "always get the icon if the user refreshes the page" 
2912         functionality.  This patch fixes that up, along with some other architectural improvements,
2913         the main one being that WebCore::Document now contains an iconURL for the Frame to query if needed.
2914
2915         * bridge/mac/FrameMac.h: Added isLoadTypeReload()
2916         * bridge/mac/FrameMac.mm:
2917         (WebCore::FrameMac::isLoadTypeReload): Implementation, calls into the bridge
2918         * bridge/mac/WebCoreFrameBridge.h: Added isLoadTypeReload:
2919         * bridge/win/FrameWin.h: Added isLoadTypeReload() for temporary link stub
2920         * dom/Document.h: Added m_iconURL
2921         (WebCore::Document::iconURL): Added
2922         (WebCore::Document::setIconURL): Ditto
2923         * html/HTMLLinkElement.cpp:
2924         (WebCore::HTMLLinkElement::process): Sets the iconURL in the Document instead of the Frame
2925         * page/Frame.cpp:
2926         (WebCore::Frame::iconURL): Calculates the iconURL based on the document, then the default favicon.ico url
2927         (WebCore::Frame::endIfNotLoading): Checks for the load type - always loads icon on Reload
2928         * page/Frame.h: Nuked setIconURL(), added isLoadTypeReload()
2929         * page/FramePrivate.h: Nuked IconURL
2930         * platform/win/TemporaryLinkStubs.cpp:
2931         (FrameWin::isLoadTypeReload):
2932
2933 2006-09-18  Sam Weinig  <sam.weinig@gmail.com>
2934
2935         Reviewed by Tim H.
2936
2937         - Re-add private method [DOMRGBColor _color] to DOMPrivate.h as
2938           it is it turns out that AppKit uses it.
2939
2940         * bindings/objc/DOMPrivate.h:
2941         * bindings/objc/DOMRGBColor.mm:
2942         (-[DOMRGBColor _color]):
2943
2944 2006-09-18  Sam Weinig  <sam.weinig@gmail.com>
2945
2946         Reviewed by Tim H.
2947
2948         Patch for http://bugs.webkit.org/show_bug.cgi?id=10903
2949         Yet Another Objective-C Bindings Patch
2950
2951         - Whitespace cleanup for IDLParser.pm
2952
2953         - Split DOMException, DOMRangeException, DOMXPathException, DOMEventsException
2954           and DOMAbstractView into their own files.
2955
2956         - Remove private method [DOMRGBColor _color] from DOMPrivate.h as
2957           it is not used and a public method is available now.
2958
2959         - Remove internal method [DOMDocument _ownerElement] from DOMInternal.h
2960           as it not used.
2961
2962         - Auto-generate method isContentEditable for DOMNode.
2963
2964         - General cleanup of bindings code including removing unneeded #imports
2965           and whitespace cleanup
2966
2967         * WebCore.xcodeproj/project.pbxproj:
2968         * bindings/objc/DOM.mm:
2969         (addElementClass):
2970         (elementClass):
2971         (-[DOMNode _initWithNode:WebCore::]):
2972         (+[DOMNode _nodeWith:WebCore::]):
2973         (-[DOMNode WebCore::]):
2974         (-[DOMNode KJS::Bindings::]):
2975         (-[DOMNode addEventListener:::]):
2976         (-[DOMNode removeEventListener:::]):
2977         (-[DOMNode dispatchEvent:]):
2978         (-[DOMElement image]):
2979         (-[DOMElement _font]):
2980         (-[DOMElement _imageTIFFRepresentation]):
2981         (-[DOMElement _getURLAttribute:]):
2982         (-[DOMElement _NPObject]):
2983         (-[DOMElement isFocused]):
2984         (-[DOMRange dealloc]):
2985         (-[DOMRange finalize]):
2986         (-[DOMRange description]):
2987         (-[DOMRange startContainer]):
2988         (-[DOMRange startOffset]):
2989         (-[DOMRange endContainer]):
2990         (-[DOMRange endOffset]):
2991         (-[DOMRange collapsed]):
2992         (-[DOMRange commonAncestorContainer]):
2993         (-[DOMRange setStart::]):
2994         (-[DOMRange setEnd::]):
2995         (-[DOMRange setStartBefore:]):
2996         (-[DOMRange setStartAfter:]):
2997         (-[DOMRange setEndBefore:]):
2998         (-[DOMRange setEndAfter:]):
2999         (-[DOMRange collapse:]):
3000         (-[DOMRange selectNode:]):
3001         (-[DOMRange selectNodeContents:]):
3002         (-[DOMRange compareBoundaryPoints::]):
3003         (-[DOMRange deleteContents]):
3004         (-[DOMRange extractContents]):
3005         (-[DOMRange cloneContents]):
3006         (-[DOMRange insertNode:]):
3007         (-[DOMRange surroundContents:]):
3008         (-[DOMRange cloneRange]):
3009         (-[DOMRange toString]):
3010         (-[DOMRange detach]):
3011         (-[DOMRange _initWithRange:WebCore::]):
3012         (+[DOMRange _rangeWith:WebCore::]):
3013         (-[DOMRange WebCore::]):
3014         (-[DOMNodeFilter _initWithNodeFilter:WebCore::]):
3015         (+[DOMNodeFilter _nodeFilterWith:WebCore::]):
3016         (-[DOMNodeFilter WebCore::]):
3017         (-[DOMNodeFilter dealloc]):
3018         (-[DOMNodeFilter finalize]):
3019         (-[DOMNodeIterator _initWithNodeIterator:WebCore::filter:]):
3020         (-[DOMNodeIterator WebCore::]):
3021         (+[DOMNodeIterator _nodeIteratorWith:WebCore::filter:]):
3022         (-[DOMTreeWalker _initWithTreeWalker:WebCore::filter:]):
3023         (-[DOMTreeWalker WebCore::]):
3024         (+[DOMTreeWalker _treeWalkerWith:WebCore::filter:]):
3025         (ObjCNodeFilterCondition::acceptNode):
3026         (-[DOMDocument createNodeIterator::::]):
3027         (-[DOMDocument createTreeWalker::::]):
3028         (ObjCEventListener::find):
3029         (ObjCEventListener::create):
3030         (ObjCEventListener::handleEvent):
3031         * bindings/objc/DOMAbstractView.h: Added.
3032         * bindings/objc/DOMAbstractView.mm: Added.
3033         (-[DOMAbstractView document]):
3034         (-[DOMAbstractView WebCore::]):
3035         (-[DOMAbstractView _initWithAbstractView:WebCore::]):
3036         (+[DOMAbstractView _abstractViewWith:WebCore::]):
3037         * bindings/objc/DOMCSS.mm:
3038         (-[DOMStyleSheet _initWithStyleSheet:WebCore::]):
3039         (+[DOMStyleSheet _styleSheetWith:WebCore::]):
3040         (+[DOMCSSStyleSheet _CSSStyleSheetWith:WebCore::]):
3041         (-[DOMCSSRule _initWithRule:WebCore::]):
3042         (+[DOMCSSRule _CSSRuleWith:WebCore::]):
3043         (-[DOMCSSValue _initWithValue:WebCore::]):
3044         (+[DOMCSSValue _CSSValueWith:WebCore::]):
3045         (+[DOMCSSPrimitiveValue _CSSPrimitiveValueWith:WebCore::]):
3046         (-[DOMDocument getComputedStyle::]):
3047         (-[DOMDocument getMatchedCSSRules::]):
3048         * bindings/objc/DOMCore.h:
3049         * bindings/objc/DOMEventException.h: Added.
3050         * bindings/objc/DOMEvents.h:
3051         * bindings/objc/DOMEvents.mm:
3052         * bindings/objc/DOMException.h: Added.
3053         * bindings/objc/DOMHTML.mm:
3054         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
3055         (viewForElement):
3056         (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
3057         (-[DOMHTMLInputElement _selectedRange]):
3058         (-[DOMHTMLInputElement _setAutofilled:]):
3059         * bindings/objc/DOMInternal.h:
3060         * bindings/objc/DOMObject.h:
3061         * bindings/objc/DOMPrivate.h:
3062         * bindings/objc/DOMRange.h:
3063         * bindings/objc/DOMRangeException.h: Added.
3064         * bindings/objc/DOMViews.h:
3065         * bindings/objc/DOMViews.mm: Removed.
3066         * bindings/objc/DOMXPath.h:
3067         * bindings/objc/DOMXPathException.h: Added.
3068         * bindings/scripts/IDLParser.pm:
3069         * dom/Node.idl:
3070
3071 2006-09-18  Brady Eidson  <beidson@apple.com>
3072
3073         Windows build fix
3074
3075         * platform/win/TemporaryLinkStubs.cpp:
3076         (IconDatabase::setIconURLForPageURL):
3077
3078 2006-09-18  David Hyatt  <hyatt@apple.com>
3079
3080         Fix for bug 3969, hr width doesn't update when it clears a float.  This
3081         was also a problem with tables and overflow sections.
3082
3083         Reviewed by Eric
3084
3085         Added fast/block/float/width-update-after-clear.html
3086
3087         * rendering/RenderBlock.cpp:
3088         (WebCore::RenderBlock::collapseMargins):
3089         (WebCore::RenderBlock::clearFloatsIfNeeded):
3090
3091 2006-09-18  Brady Eidson  <beidson@apple.com>
3092
3093         Reviewed by John
3094
3095         http://bugs.webkit.org/show_bug.cgi?id=10907
3096         REGRESSION: New Icon Loaders don't handle certain non-server-root URLs correctly
3097
3098         * bridge/mac/FrameMac.h: Changed originalRequestURL() to virtual
3099         * bridge/win/FrameWin.h: Added originalRequestURL()
3100         * loader/icon/IconLoader.cpp:
3101         (IconLoader::receivedAllData): Moved the "pageURL to iconURL mapping logic" to Frame::commitIconURLToIconDatabase()
3102         * page/Frame.cpp:
3103         (WebCore::Frame::iconURL): Construct the icon URL from *only* the protocol and host of the frame's url.
3104         (WebCore::Frame::endIfNotLoading): Call commitIconURLToIconDatabase() if we're not kicking off an icon load
3105         (WebCore::Frame::commitIconURLToIconDatabase): Map the completed doc's pageURL to the iconURL
3106         * page/Frame.h: Added pure virtual originalRequestURL()
3107         * platform/win/TemporaryLinkStubs.cpp:
3108         (FrameWin::originalRequestURL): Added
3109
3110 2006-09-18  Rob Buis  <buis@kde.org>
3111
3112         Reviewed by Maciej.
3113
3114         http://bugs.webkit.org/show_bug.cgi?id=10807
3115         REGRESSION (r16259): Repro crash on manual-tests/svg-repaint-image.svg
3116
3117         Make sure the paint method is not exited without popping
3118         context and transparency layer.
3119
3120         WARNING: NO TEST CASES ADDED OR CHANGED
3121
3122         * kcanvas/RenderSVGImage.cpp:
3123         (WebCore::RenderSVGImage::paint):
3124
3125 2006-09-18  Graham Dennis  <graham.dennis@gmail.com>
3126
3127         Reviewed by Eric.
3128         
3129         - fix for http://bugs.webkit.org/show_bug.cgi?id=10896
3130         REGRESSION: WebKit can't be built with SVG disabled
3131         
3132         * bindings/scripts/CodeGeneratorObjC.pm:
3133         For each file generated add a #ifdef <something>_SUPPORT / #endif
3134         pair if the idl file has a Conditional extended attribute
3135
3136 2006-09-17  Eric Seidel  <eric@eseidel.com>
3137
3138         Reviewed by ap.
3139         
3140         REGRESSION (r16245): double-clicking on javascript exceptions fails to show source
3141         http://bugs.webkit.org/show_bug.cgi?id=10813
3142
3143         * bridge/mac/WebCoreFrameBridge.mm:
3144         (+[WebCoreFrameBridge stringWithData:textEncodingName:]):
3145
3146 2006-09-17  Alexey Proskuryakov  <ap@nypop.com>
3147
3148         Reviewed by Hyatt.
3149
3150         http://bugs.webkit.org/show_bug.cgi?id=10779
3151         REGRESSION: Animated GIF ignores frame intervals and loops infinitely
3152
3153         No test possible.
3154
3155         * platform/Image.cpp:
3156         (WebCore::Image::shouldAnimate): Don't check that there is more than one frame,
3157         maybe the rest just hasn't been loaded yet.
3158         (WebCore::Image::startAnimation): Move the frame count check here - there is no need
3159         to start animating before we get at least two frames.
3160
3161 2006-09-17  Brady Eidson <beidson@apple.com>
3162
3163         Reviewed by Sarge
3164
3165         IconLoader now gracefully handles the condition where there's no document in the frame
3166         (ie. PDFs)
3167
3168         * loader/icon/IconLoader.cpp:
3169         (IconLoader::startLoading):
3170
3171 2006-09-17  David Hyatt  <hyatt@apple.com>
3172
3173         Fix for bug 10899, rework how CSS keywords work to be smarter about
3174         using the correct size when generic families change (e.g., monospace to
3175         serif and vice versa).
3176
3177         Reviewed by aroben
3178
3179         Added fast/text/basic/generic-family-changes.html
3180
3181         * css/cssstyleselector.cpp:
3182         (WebCore::CSSStyleSelector::applyProperty):
3183         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
3184         (WebCore::CSSStyleSelector::fontSizeForKeyword):
3185         * css/cssstyleselector.h:
3186         * dom/Document.cpp:
3187         (WebCore::Document::recalcStyle):
3188         * platform/FontDescription.h:
3189         (WebCore::FontDescription::FontDescription):
3190         (WebCore::FontDescription::keywordSize):
3191         (WebCore::FontDescription::setKeywordSize):
3192         (WebCore::FontDescription::operator==):
3193
3194 2006-09-17  Alexey Proskuryakov  <ap@nypop.com>
3195
3196         Reviewed by Brady.
3197
3198         http://bugs.webkit.org/show_bug.cgi?id=10852
3199         REGRESSION: Reproducible crash in XMLHttpRequest::abort()
3200
3201         Test: http/tests/xmlhttprequest/xhr-onunload.html
3202
3203         * xml/xmlhttprequest.cpp:
3204         (WebCore::XMLHttpRequest::send): Check the return value of ResourceLoader::start().
3205
3206         * loader/icon/IconLoader.cpp:
3207         (IconLoader::startLoading): Fix a similar latent bug here.
3208
3209 2006-09-17  Adam Roben  <aroben@apple.com>
3210
3211         Build fix.
3212
3213         * loader/icon/IconDatabase.cpp:
3214
3215 2006-09-17  Anders Carlsson  <acarlsson@apple.com>
3216
3217         Reviewed by Brady.
3218
3219         Add simplifyWhiteSpace and stripWhiteSpace to the String class. 
3220         Change the XSLT Parameter Map to use Strings instead of StringImpls.
3221         General cleanup.
3222
3223         * bindings/js/JSXSLTProcessor.cpp:
3224         (KJS::XSLTProcessorProtoFunc::callAsFunction):
3225         * bindings/js/kjs_events.cpp:
3226         (KJS::JSAbstractEventListener::handleEvent):
3227         * bindings/js/kjs_window.cpp:
3228         (KJS::ScheduledAction::execute):
3229         * css/MediaList.cpp:
3230         (WebCore::MediaList::setMediaText):
3231         * dom/Document.cpp:
3232         (WebCore::Document::processHttpEquiv):
3233         * editing/ApplyStyleCommand.cpp:
3234         (WebCore::StyleChange::init):
3235         * html/HTMLDocument.cpp:
3236         (WebCore::parseDocTypeDeclaration):
3237         * html/HTMLLinkElement.cpp:
3238         (WebCore::HTMLLinkElement::parseMappedAttribute):
3239         * html/HTMLObjectElement.cpp:
3240         (WebCore::HTMLObjectElement::HTMLObjectElement):
3241         (WebCore::HTMLObjectElement::parseMappedAttribute):
3242         (WebCore::HTMLObjectElement::attach):
3243         (WebCore::HTMLObjectElement::setComplete):
3244         (WebCore::HTMLObjectElement::detach):
3245         (WebCore::HTMLObjectElement::recalcStyle):
3246         (WebCore::HTMLObjectElement::childrenChanged):
3247         (WebCore::HTMLObjectElement::isImageType):
3248         * html/HTMLObjectElement.h:
3249         * html/HTMLOptionElement.cpp:
3250         (WebCore::HTMLOptionElement::value):
3251         * html/HTMLSelectElement.cpp:
3252         (WebCore::HTMLSelectElement::appendFormData):
3253         * html/HTMLTokenizer.cpp:
3254         (WebCore::HTMLTokenizer::parseTag):
3255         * ksvg2/svg/SVGColor.cpp:
3256         (WebCore::SVGColor::setRGBColor):
3257         * ksvg2/svg/SVGDescElement.cpp:
3258         (WebCore::SVGDescElement::description):
3259         * platform/PlatformString.h:
3260         * platform/String.cpp:
3261         (WebCore::String::stripWhiteSpace):
3262         (WebCore::String::simplifyWhiteSpace):
3263         * platform/StringImpl.cpp:
3264         (WebCore::isSpace):
3265         (WebCore::parseLength):
3266         (WebCore::StringImpl::stripWhiteSpace):
3267         (WebCore::StringImpl::simplifyWhiteSpace):
3268         (WebCore::StringImpl::toInt):
3269         * platform/StringImpl.h:
3270         * platform/mac/ClipboardMac.mm:
3271         (WebCore::cocoaTypeFromMIMEType):
3272         * rendering/RenderPartObject.cpp:
3273         (WebCore::RenderPartObject::updateWidget):
3274         * xml/XPathFunctions.cpp:
3275         (WebCore::XPath::FunNormalizeSpace::doEvaluate):
3276         * xml/XPathGrammar.y:
3277         * xml/XPathStep.cpp:
3278         (WebCore::XPath::Step::nodeTestMatches):
3279         * xml/XSLStyleSheet.cpp:
3280         (WebCore::XSLStyleSheet::loadChildSheets):
3281         (WebCore::XSLStyleSheet::locateStylesheetSubResource):
3282         * xml/XSLTProcessor.cpp:
3283         (WebCore::xsltParamArrayFromParameterMap):
3284         (WebCore::XSLTProcessor::setParameter):
3285         (WebCore::XSLTProcessor::getParameter):
3286         (WebCore::XSLTProcessor::removeParameter):
3287         * xml/XSLTProcessor.h:
3288         * xml/xmlhttprequest.cpp:
3289         (WebCore::XMLHttpRequest::getStatusText):
3290
3291 2006-09-17  David Hyatt  <hyatt@apple.com>
3292
3293         Fix for bugzilla bugs 10895 and 6336, fieldsets misbehaving when floats
3294         are declared right before the fieldsets.  It turns out fieldsets in other
3295         browsers avoid floats (like overflow:auto/hidden/scroll sections do), so
3296         adding that behavior to fieldset fixes the bug.
3297
3298         Made avoidsFloats virtual and did some refactoring to make tables, flexboxes
3299         and fieldsets all subclass.
3300
3301         Reviewed by anders
3302
3303         Added fast/forms/float-before-fieldset.html
3304
3305         * rendering/RenderFieldset.h:
3306         (WebCore::RenderFieldset::avoidsFloats):
3307         * rendering/RenderFlexibleBox.h:
3308         (WebCore::RenderFlexibleBox::avoidsFloats):
3309         * rendering/RenderObject.cpp:
3310         (WebCore::RenderObject::avoidsFloats):
3311         * rendering/RenderObject.h:
3312         * rendering/RenderTable.h:
3313         (WebCore::RenderTable::avoidsFloats):
3314
3315 2006-09-17  David Hyatt  <hyatt@apple.com>
3316
3317         Fix for bugzilla bug 3240, implement support for the HTML4 "frame" and
3318         "rules" attributes on tables.
3319
3320         Reviewed by bradee-oh
3321
3322         Well-covered by existing layout tests.
3323
3324         * html/HTMLTableCellElement.cpp:
3325         (WebCore::HTMLTableCellElement::additionalAttributeStyleDecl):
3326         * html/HTMLTableColElement.cpp:
3327         (WebCore::HTMLTableColElement::additionalAttributeStyleDecl):
3328         * html/HTMLTableColElement.h:
3329         * html/HTMLTableElement.cpp:
3330         (WebCore::HTMLTableElement::HTMLTableElement):
3331         (WebCore::HTMLTableElement::~HTMLTableElement):
3332         (WebCore::HTMLTableElement::setCaption):
3333         (WebCore::HTMLTableElement::setTHead):
3334         (WebCore::HTMLTableElement::setTFoot):
3335         (WebCore::HTMLTableElement::setTBody):
3336         (WebCore::HTMLTableElement::createTHead):
3337         (WebCore::HTMLTableElement::deleteTHead):
3338         (WebCore::HTMLTableElement::createTFoot):
3339         (WebCore::HTMLTableElement::deleteTFoot):
3340         (WebCore::HTMLTableElement::createCaption):
3341         (WebCore::HTMLTableElement::deleteCaption):
3342         (WebCore::HTMLTableElement::insertRow):
3343         (WebCore::HTMLTableElement::deleteRow):
3344         (WebCore::HTMLTableElement::addChild):
3345         (WebCore::HTMLTableElement::childrenChanged):
3346         (WebCore::HTMLTableElement::mapToEntry):
3347         (WebCore::HTMLTableElement::parseMappedAttribute):
3348         (WebCore::HTMLTableElement::additionalAttributeStyleDecl):
3349         (WebCore::HTMLTableElement::getSharedCellDecl):
3350         (WebCore::HTMLTableElement::getSharedGroupDecl):
3351         (WebCore::HTMLTableElement::attach):
3352         * html/HTMLTableElement.h:
3353         (WebCore::HTMLTableElement::caption):
3354         (WebCore::HTMLTableElement::tHead):
3355         (WebCore::HTMLTableElement::tFoot):
3356         (WebCore::HTMLTableElement::):
3357         * html/HTMLTableRowElement.h:
3358         * html/HTMLTableSectionElement.cpp:
3359         (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecl):
3360         * html/HTMLTableSectionElement.h:
3361
3362 2006-09-17  David Hyatt  <hyatt@apple.com>
3363
3364         Fix for bugzilla bug 4192, font size wrong for <tt> elements that
3365         specify their own new font-family list.  Make sure to always
3366         reset the generic family along with the family list when mapping in
3367         new font-family values.
3368
3369         Reviewed by bradee-oh
3370
3371         fast/text/basic/generic-family-reset.html
3372
3373         * css/cssstyleselector.cpp:
3374         (WebCore::CSSStyleSelector::applyProperty):
3375
3376 2006-09-16  Brady Eidson <beidson@apple.com>
3377
3378         Reviewed by Hyatt
3379
3380         Pruning code relating to WebKit's icon loader
3381
3382         * bridge/mac/WebCoreIconDatabaseBridge.h:
3383         * bridge/mac/WebCoreIconDatabaseBridge.mm:
3384         * loader/icon/IconDatabase.h:
3385         * page/Frame.cpp:
3386         (WebCore::Frame::endIfNotLoading): Moved a FIXME in from WebKit's IconLoader to 
3387         its new home
3388
3389 2006-09-16  Sam Weinig  <sam.weinig@gmail.com>
3390
3391         Reviewed by Tim H.
3392
3393         Patch for http://bugs.webkit.org/show_bug.cgi?id=10885
3394         Auto-generate DOMHTMLDocument for the Objective-C bindings
3395
3396         * DerivedSources.make:
3397         * WebCore.xcodeproj/project.pbxproj:
3398         * bindings/objc/DOMExtensions.h:
3399         * bindings/objc/DOMHTML.mm:
3400         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
3401         * bindings/objc/DOMHTMLDocument.h: Removed.
3402         * bindings/objc/DOMHTMLDocument.mm: Removed.
3403         * bindings/objc/PublicDOMInterfaces.h:
3404         * bindings/scripts/CodeGeneratorObjC.pm:
3405         * html/HTMLDocument.idl:
3406         * platform/DeprecatedString.h:
3407         (WebCore::DeprecatedString::operator NSString*):
3408
3409 2006-09-16  Rob Buis  <buis@kde.org>
3410
3411         Reviewed by Eric.
3412
3413         http://bugs.webkit.org/show_bug.cgi?id=10866
3414         Code in kcanvas/ should not use Private
3415
3416         Remove Private classes and tweak coding style.
3417
3418         WARNING: NO TEST CASES ADDED OR CHANGED
3419
3420         * kcanvas/RenderPath.cpp:
3421         (WebCore::RenderPath::RenderPath):
3422         (WebCore::RenderPath::~RenderPath):
3423         (WebCore::RenderPath::localTransform):
3424         (WebCore::RenderPath::setLocalTransform):
3425         (WebCore::RenderPath::fillContains):
3426         (WebCore::RenderPath::relativeBBox):
3427         (WebCore::RenderPath::setPath):
3428         (WebCore::RenderPath::path):
3429         (WebCore::RenderPath::layout):
3430         * kcanvas/RenderPath.h:
3431         * kcanvas/RenderSVGContainer.cpp:
3432         (WebCore::RenderSVGContainer::RenderSVGContainer):
3433         (WebCore::RenderSVGContainer::~RenderSVGContainer):
3434         (WebCore::RenderSVGContainer::drawsContents):
3435         (WebCore::RenderSVGContainer::setDrawsContents):
3436         (WebCore::RenderSVGContainer::localTransform):
3437         (WebCore::RenderSVGContainer::setLocalTransform):
3438         (WebCore::RenderSVGContainer::layout):
3439         (WebCore::RenderSVGContainer::paint):
3440         (WebCore::RenderSVGContainer::setViewport):
3441         (WebCore::RenderSVGContainer::viewport):
3442         (WebCore::RenderSVGContainer::setViewBox):
3443         (WebCore::RenderSVGContainer::viewBox):
3444         (WebCore::RenderSVGContainer::setAlign):
3445         (WebCore::RenderSVGContainer::align):
3446         (WebCore::RenderSVGContainer::fillContains):
3447         (WebCore::RenderSVGContainer::strokeContains):
3448         (WebCore::RenderSVGContainer::setSlice):
3449         (WebCore::RenderSVGContainer::slice):
3450         * kcanvas/RenderSVGContainer.h:
3451         * kcanvas/device/KRenderingFillPainter.cpp:
3452         (WebCore::KRenderingFillPainter::KRenderingFillPainter):
3453         (WebCore::KRenderingFillPainter::~KRenderingFillPainter):
3454         (WebCore::KRenderingFillPainter::fillRule):
3455         (WebCore::KRenderingFillPainter::setFillRule):
3456         (WebCore::KRenderingFillPainter::opacity):
3457         (WebCore::KRenderingFillPainter::setOpacity):
3458         * kcanvas/device/KRenderingFillPainter.h:
3459         * kcanvas/device/KRenderingPaintServerGradient.cpp:
3460         (WebCore::KRenderingPaintServerGradient::KRenderingPaintServerGradient):
3461         (WebCore::KRenderingPaintServerGradient::~KRenderingPaintServerGradient):
3462         (WebCore::KRenderingPaintServerGradient::gradientStops):
3463         (WebCore::KRenderingPaintServerGradient::setGradientStops):
3464         (WebCore::KRenderingPaintServerGradient::spreadMethod):
3465         (WebCore::KRenderingPaintServerGradient::setGradientSpreadMethod):
3466         (WebCore::KRenderingPaintServerGradient::boundingBoxMode):
3467         (WebCore::KRenderingPaintServerGradient::setBoundingBoxMode):
3468         (WebCore::KRenderingPaintServerGradient::gradientTransform):
3469         (WebCore::KRenderingPaintServerGradient::setGradientTransform):
3470         (WebCore::KRenderingPaintServerLinearGradient::KRenderingPaintServerLinearGradient):
3471         (WebCore::KRenderingPaintServerLinearGradient::~KRenderingPaintServerLinearGradient):
3472         (WebCore::KRenderingPaintServerLinearGradient::gradientStart):
3473         (WebCore::KRenderingPaintServerLinearGradient::setGradientStart):
3474         (WebCore::KRenderingPaintServerLinearGradient::gradientEnd):
3475         (WebCore::KRenderingPaintServerLinearGradient::setGradientEnd):
3476         (WebCore::KRenderingPaintServerRadialGradient::KRenderingPaintServerRadialGradient):
3477         (WebCore::KRenderingPaintServerRadialGradient::~KRenderingPaintServerRadialGradient):
3478         (WebCore::KRenderingPaintServerRadialGradient::gradientCenter):
3479         (WebCore::KRenderingPaintServerRadialGradient::setGradientCenter):
3480         (WebCore::KRenderingPaintServerRadialGradient::gradientFocal):
3481         (WebCore::KRenderingPaintServerRadialGradient::setGradientFocal):
3482         (WebCore::KRenderingPaintServerRadialGradient::gradientRadius):
3483         (WebCore::KRenderingPaintServerRadialGradient::setGradientRadius):
3484         (WebCore::KRenderingPaintServerGradient::listener):
3485         (WebCore::KRenderingPaintServerGradient::setListener):
3486         * kcanvas/device/KRenderingPaintServerGradient.h:
3487         * kcanvas/device/KRenderingPaintServerPattern.cpp:
3488         (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
3489         (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
3490         (WebCore::KRenderingPaintServerPattern::setBbox):
3491         (WebCore::KRenderingPaintServerPattern::bbox):
3492         (WebCore::KRenderingPaintServerPattern::boundingBoxMode):
3493         (WebCore::KRenderingPaintServerPattern::setBoundingBoxMode):
3494         (WebCore::KRenderingPaintServerPattern::tile):
3495         (WebCore::KRenderingPaintServerPattern::setTile):
3496         (WebCore::KRenderingPaintServerPattern::patternTransform):
3497         (WebCore::KRenderingPaintServerPattern::setPatternTransform):
3498         (WebCore::KRenderingPaintServerPattern::listener):
3499         (WebCore::KRenderingPaintServerPattern::setListener):
3500         * kcanvas/device/KRenderingPaintServerPattern.h:
3501         * kcanvas/device/KRenderingPaintServerSolid.cpp:
3502         (WebCore::KRenderingPaintServerSolid::KRenderingPaintServerSolid):
3503         (WebCore::KRenderingPaintServerSolid::~KRenderingPaintServerSolid):
3504         (WebCore::KRenderingPaintServerSolid::color):
3505         (WebCore::KRenderingPaintServerSolid::setColor):
3506         * kcanvas/device/KRenderingPaintServerSolid.h:
3507         * kcanvas/device/KRenderingStrokePainter.cpp:
3508         (WebCore::KRenderingStrokePainter::KRenderingStrokePainter):
3509         (WebCore::KRenderingStrokePainter::~KRenderingStrokePainter):
3510         (WebCore::KRenderingStrokePainter::strokeWidth):
3511         (WebCore::KRenderingStrokePainter::setStrokeWidth):
3512         (WebCore::KRenderingStrokePainter::strokeMiterLimit):
3513         (WebCore::KRenderingStrokePainter::setStrokeMiterLimit):
3514         (WebCore::KRenderingStrokePainter::strokeCapStyle):
3515         (WebCore::KRenderingStrokePainter::setStrokeCapStyle):
3516         (WebCore::KRenderingStrokePainter::strokeJoinStyle):
3517         (WebCore::KRenderingStrokePainter::setStrokeJoinStyle):
3518         (WebCore::KRenderingStrokePainter::dashOffset):
3519         (WebCore::KRenderingStrokePainter::setDashOffset):
3520         (WebCore::KRenderingStrokePainter::dashArray):
3521         (WebCore::KRenderingStrokePainter::setDashArray):
3522         (WebCore::KRenderingStrokePainter::opacity):
3523         (WebCore::KRenderingStrokePainter::setOpacity):
3524         (WebCore::KRenderingStrokePainter::dirty):
3525         (WebCore::KRenderingStrokePainter::setDirty):
3526         * kcanvas/device/KRenderingStrokePainter.h:
3527
3528 2006-09-16  Mark Rowe  <opendarwin.org@bdash.net.nz>
3529
3530         Reviewed by Anders.
3531
3532         http://bugs.webkit.org/show_bug.cgi?id=10887
3533         Fix build error
3534
3535         * bindings/objc/DOMPrivate.h: Remove reference to DOMEventPrivate.h.
3536
3537 2006-09-16  Sam Weinig  <sam.weinig@gmail.com>
3538
3539         Reviewed by Anders.
3540
3541         Fix for http://bugs.webkit.org/show_bug.cgi?id=10886
3542         REGRESSION (r16387): Reproducible crash when mousing over HTML document
3543
3544         - Special case method [DOMNode ownerDocument] to call document() instead
3545           or ownerDocument() to return to the old behavior. 
3546
3547         * WebCore.xcodeproj/project.pbxproj:
3548         * bindings/scripts/CodeGeneratorObjC.pm:
3549
3550 2006-09-15  Brady Eidson  <beidson@apple.com>
3551
3552         Reviewed by Tim Hatcher
3553
3554         <rdar://problem/4730811> - New IconDatabase needs to attempt to create its path.
3555         Otherwise new installs and new user accounts won't have any icons because the icon.db cannot be created
3556
3557         * loader/icon/IconDatabase.cpp: Removed a now obsolete FIXME
3558         (WebCore::makeAllDirectories): Added - candidate to be in a header for "platform neutral file utilities"
3559         (WebCore::IconDatabase::open): Make sure the directory exists
3560
3561 2006-09-15  Timothy Hatcher  <timothy@apple.com>
3562
3563         Reviewed by Brady.
3564
3565         Make new style ObjC methods public API.
3566
3567         * WebCore.xcodeproj/project.pbxproj:
3568         * bindings/objc/DOMPrivate.h:
3569         * bindings/objc/PublicDOMInterfaces.h:
3570
3571 2006-09-15  Sam Weinig  <sam.weinig@gmail.com>
3572
3573         Reviewed by Tim H.
3574
3575         Patch for http://bugs.webkit.org/show_bug.cgi?id=10870
3576         Auto-generate DOMNode for the Objective-C bindings
3577
3578         * DerivedSources.make:
3579         * WebCore.xcodeproj/project.pbxproj:
3580         * bindings/objc/DOM.mm:
3581         (-[DOMNode boundingBox]):
3582         (-[DOMNode lineBoxRects]):
3583         * bindings/objc/DOMEvents.h:
3584         * bindings/objc/DOMExtensions.h:
3585         * bindings/objc/DOMNode.h: Removed.
3586         * bindings/objc/DOMNode.mm: Removed.
3587         * bindings/objc/PublicDOMInterfaces.h:
3588         * bindings/scripts/CodeGeneratorObjC.pm:
3589         * dom/Node.idl:
3590
3591 2006-09-15  Timothy Hatcher  <timothy@apple.com>
3592
3593         Reviewed by Justin.
3594
3595         Removed alter selection logic from WebCoreFrameBridge and moved to SelectionController.
3596
3597         * bridge/mac/WebCoreFrameBridge.h:
3598         * bridge/mac/WebCoreFrameBridge.mm:
3599         (-[WebCoreFrameBridge centerSelectionInVisibleArea]):
3600         (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
3601         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
3602         (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
3603         (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
3604         (-[WebCoreFrameBridge replaceMarkedTextWithText:]):
3605         (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
3606         (-[WebCoreFrameBridge increaseSelectionListLevel]):
3607         (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
3608         (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
3609         (-[WebCoreFrameBridge decreaseSelectionListLevel]):
3610         (-[WebCoreFrameBridge insertLineBreak]):
3611         (-[WebCoreFrameBridge insertParagraphSeparator]):
3612         (-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]):
3613         (-[WebCoreFrameBridge insertText:selectInsertedText:]):
3614         (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
3615         (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
3616         (createMouseEventFromDraggingInfo):
3617         * editing/SelectionController.cpp:
3618         (WebCore::SelectionController::moveTo):
3619         (WebCore::SelectionController::setSelection):
3620         (WebCore::SelectionController::modify):
3621         (WebCore::SelectionController::setBase):
3622         (WebCore::SelectionController::setExtent):
3623         * editing/SelectionController.h:
3624         * page/Frame.cpp:
3625         (WebCore::Frame::revealSelection):
3626         (WebCore::Frame::revealCaret):
3627         * page/Frame.h:
3628
3629 2006-09-15  Brady Eidson  <beidson@apple.com>
3630
3631         Reviewed by Anders
3632
3633         Added the ability to get a mutable char* from a CString, which will copy the internal
3634         buffer if the ref count is greater than 1 so your mutable char* won't affect any other
3635         referrer of that buffer.
3636
3637         * platform/CString.cpp:
3638         (WebCore::CString::mutableData):
3639         (WebCore::CString::copyBufferIfNeeded):
3640         * platform/CString.h:
3641
3642 2006-09-15  Justin Garcia  <justin.garcia@apple.com>
3643
3644         Reviewed by harrison
3645         
3646         <rdar://problem/4674869>
3647         REGRESSION: selecting text to write over results in cursor jumping to middle of next line
3648
3649         * editing/SelectionController.cpp:
3650         (WebCore::SelectionController::modify): Added lineBoundary to test fix.
3651         * editing/visible_units.cpp:
3652         (WebCore::endOfLine): If the last box on the line is a lineBreak, return the
3653         position before it, not after it.
3654
3655 2006-09-15  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
3656
3657         Reviewed by Adam.
3658
3659         http://bugs.webkit.org/show_bug.cgi?id=10864
3660         Bug 10864: Linux\GDK build fixes
3661
3662         * Projects/gdk/webcore-gdk.bkl:
3663         * WebCoreSources.bkl:
3664         * platform/gdk/FontCacheGdk.cpp:
3665         * platform/gdk/FontDataGdk.cpp:
3666         (WebCore::FontData::platformInit):
3667         * platform/gdk/FontGdk.cpp:
3668         (WebCore::Font::drawGlyphs):
3669         * platform/gdk/FrameGdk.cpp:
3670         (WebCore::FrameGdk::handleGdkEvent):
3671         * platform/gdk/FrameGdk.h:
3672         * platform/gdk/ImageGdk.cpp: Added.
3673         (WebCore::Image::initPlatformData):
3674         (WebCore::Image::invalidatePlatformData):
3675         (WebCore::Image::loadPlatformResource):
3676         (WebCore::Image::supportsType):
3677         * platform/gdk/RenderPopupMenuGdk.cpp:
3678         (WebCore::RenderPopupMenuGdk::hidePopup):
3679         * platform/gdk/RenderPopupMenuGdk.h:
3680         * platform/gdk/ScreenGdk.cpp:
3681         (WebCore::drawableForPage):
3682         (WebCore::screenRect):
3683         (WebCore::screenDepth):
3684         (WebCore::usableScreenRect):
3685         (WebCore::scaleFactor):
3686         * platform/gdk/SystemTimeLinux.cpp:
3687         (WebCore::currentTime):
3688         * platform/gdk/TemporaryLinkStubs.cpp:
3689         (FrameGdk::bindingRootObject):
3690         (FrameGdk::markMisspellings):
3691         (WebCore::screenDepthPerComponent):
3692         (WebCore::screenIsMonochrome):
3693         (WebCore::fileButtonChooseFileLabel):