LayoutTests:
[WebKit-https.git] / WebCore / ChangeLog
1 2006-04-11  Justin Garcia  <justin.garcia@apple.com>
2
3         Reviewed by harrison
4         
5         Fixes more instances of:
6         <rdar://problem/3950559>
7         CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32
8
9         * editing/ReplaceSelectionCommand.cpp:
10         (WebCore::ReplaceSelectionCommand::doApply): Do paragraph merging using moveParagraphs.
11
12 2006-04-11  Justin Garcia  <justin.garcia@apple.com>
13
14         Reviewed by harrison
15         
16         Some setup for work on paste performance.
17
18         * editing/CompositeEditCommand.cpp:
19         (WebCore::CompositeEditCommand::moveParagraph): 
20         Moved code from mergeParagraphs so that it can be used in ReplaceSelectionCommand.
21         * editing/CompositeEditCommand.h:
22         * editing/DeleteSelectionCommand.cpp:
23         (WebCore::DeleteSelectionCommand::mergeParagraphs):
24         (WebCore::DeleteSelectionCommand::doApply):
25         * editing/VisiblePosition.cpp:
26         (WebCore::VisiblePosition::init): Put the code that chooses m_deepPosition into initDeepPosition.
27         (WebCore::VisiblePosition::initDeepPosition): 
28         Fixed a bug: don't fall through to the code that's only for positions inside unrendered space between blocks when
29         there's a candidate downstream() is a candidate.  Added a comment about why the fall through code is necessary.
30         * editing/VisiblePosition.h:
31
32 2006-04-11  John Sullivan  <sullivan@apple.com>
33
34         Reviewed by Darin Adler.
35         
36         - fixed <rdar://problem/4509328> highlight all matches hangs when searching for tab character on www.google.com (and others)
37         
38         For reasons not yet completely understood, searching for a tab character on some pages (Google, Amazon) finds a match
39         with a non-collapsed range but then claims that the end visible position of the match is the original start visible 
40         position of the search range. This was causing the highlightAllMatches code to loop forever. Fixed the loop by 
41         checking for the non-advancing search range explicitly. I'm going to track down a reduction of the bogus 
42         search-for-tab issue, and write that up as a separate bug (that bug is not a regression; you can "find" a tab on 
43         google in Tiger also).
44
45         * page/Frame.cpp:
46         (WebCore::Frame::highlightAllMatchesForString):
47         break the loop if the search range hasn't advanced
48
49 2006-04-10  Darin Adler  <darin@apple.com>
50
51         Rubber-stamped by John Sullivan (except for pbxproj change).
52
53         - updated to use the new Forward.h and HashForward.h headers
54         - moved the showTree debugging functions out of the WebCore
55           namespace so they are easier to call from gdb, and renamed
56           the showTree member functions so they don't get in the way;
57           now you can do "call showTree(x)" in gdb and it just works
58         - removed a lot of unneeded includes
59
60         * WebCore.xcodeproj/project.pbxproj: Fixed a lot of paths that
61         were not relative to the enclosing group.
62
63         * ForwardingHeaders/kxmlcore/Forward.h: Added.
64         * ForwardingHeaders/kxmlcore/HashForward.h: Added.
65         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
66         * bindings/js/JSXMLHttpRequest.cpp:
67         * bindings/js/JSXMLHttpRequest.h:
68         * bindings/js/JSXSLTProcessor.h:
69         * bindings/js/kjs_binding.h:
70         * bindings/js/kjs_dom.cpp:
71         * bindings/js/kjs_dom.h:
72         * bindings/js/kjs_events.cpp:
73         * bindings/js/kjs_events.h:
74         * bindings/js/kjs_html.cpp:
75         * bindings/js/kjs_navigator.cpp:
76         * bindings/js/kjs_navigator.h:
77         * bindings/js/kjs_proxy.cpp:
78         * bindings/js/kjs_traversal.h:
79         * bindings/js/kjs_window.cpp:
80         * bindings/js/kjs_window.h:
81         * bindings/objc/DOM.mm:
82         * bindings/objc/DOMCSS.mm:
83         * bindings/objc/DOMCore.h:
84         * bindings/objc/DOMEvents.mm:
85         * bindings/objc/DOMHTML.mm:
86         * bindings/objc/DOMImplementationFront.h:
87         * bindings/objc/DOMInternal.mm:
88         * bindings/objc/DOMUtility.mm:
89         * bindings/objc/DOMViews.mm:
90         * bridge/BrowserExtension.h:
91         * bridge/mac/BrowserExtensionMac.mm:
92         * bridge/mac/FrameMac.h:
93         * bridge/mac/FrameMac.mm:
94         * bridge/mac/WebCoreFrameBridge.mm:
95         * bridge/mac/WebCoreFrameNamespaces.mm:
96         * bridge/mac/WebCoreJavaScript.mm:
97         * bridge/win/PageWin.cpp:
98         * css/CSSComputedStyleDeclaration.cpp:
99         * css/css_base.h:
100         * css/css_ruleimpl.h:
101         * css/css_valueimpl.cpp:
102         * css/cssparser.cpp:
103         * css/cssparser.h:
104         * css/cssstyleselector.cpp:
105         * css/cssstyleselector.h:
106         * dom/AbstractView.h:
107         * dom/AtomicStringList.h:
108         * dom/Attribute.cpp:
109         * dom/Attribute.h:
110         * dom/Comment.cpp:
111         * dom/ContainerNode.cpp:
112         * dom/DOMImplementation.cpp:
113         * dom/DOMImplementation.h:
114         * dom/Document.cpp:
115         * dom/Document.h:
116         * dom/Element.h:
117         * dom/EventTargetNode.cpp:
118         (WebCore::EventTargetNode::dump):
119         (WebCore::forbidEventDispatch):
120         (WebCore::allowEventDispatch):
121         (WebCore::eventDispatchForbidden):
122         * dom/EventTargetNode.h:
123         (WebCore::EventTargetNode::postDispatchEventHandler):
124         * dom/NamedAttrMap.h:
125         * dom/Node.cpp:
126         (WebCore::Node::showNode):
127         (WebCore::Node::showTree):
128         (WebCore::Node::showTreeAndMark):
129         (showTree):
130         * dom/Node.h:
131         * dom/NodeList.cpp:
132         * dom/NodeList.h:
133         * dom/Position.cpp:
134         (showTree):
135         * dom/Position.h:
136         * dom/Range.cpp:
137         * dom/Range.h:
138         * dom/StyledElement.cpp:
139         * dom/StyledElement.h:
140         * dom/dom2_eventsimpl.cpp:
141         * dom/dom2_eventsimpl.h:
142         * dom/dom2_traversalimpl.h:
143         * dom/dom_xmlimpl.cpp:
144         * dom/xml_tokenizer.cpp:
145         * dom/xml_tokenizer.h:
146         * editing/AppendNodeCommand.cpp:
147         * editing/ApplyStyleCommand.cpp:
148         * editing/ApplyStyleCommand.h:
149         * editing/BreakBlockquoteCommand.cpp:
150         * editing/CompositeEditCommand.cpp:
151         * editing/CreateLinkCommand.cpp:
152         * editing/DeleteFromTextNodeCommand.cpp:
153         * editing/DeleteFromTextNodeCommand.h:
154         * editing/DeleteSelectionCommand.cpp:
155         * editing/EditCommand.cpp:
156         * editing/EditCommand.h:
157         * editing/HTMLInterchange.cpp:
158         * editing/InsertIntoTextNodeCommand.cpp:
159         * editing/InsertIntoTextNodeCommand.h:
160         * editing/InsertLineBreakCommand.cpp:
161         * editing/InsertNodeBeforeCommand.cpp:
162         * editing/InsertParagraphSeparatorCommand.cpp:
163         * editing/InsertTextCommand.cpp:
164         * editing/JSEditor.cpp:
165         * editing/JoinTextNodesCommand.cpp:
166         * editing/MergeIdenticalElementsCommand.cpp:
167         * editing/ModifySelectionListLevelCommand.cpp:
168         * editing/MoveSelectionCommand.cpp:
169         * editing/RebalanceWhitespaceCommand.h:
170         * editing/RemoveCSSPropertyCommand.h:
171         * editing/ReplaceSelectionCommand.cpp:
172         * editing/ReplaceSelectionCommand.h:
173         * editing/Selection.cpp:
174         (WebCore::Selection::formatForDebugger):
175         (WebCore::Selection::showTree):
176         (showTree):
177         * editing/Selection.h:
178         * editing/SelectionController.cpp:
179         (WebCore::SelectionController::formatForDebugger):
180         (WebCore::SelectionController::showTree):
181         (showTree):
182         * editing/SelectionController.h:
183         * editing/TextIterator.cpp:
184         * editing/TextIterator.h:
185         * editing/TypingCommand.cpp:
186         * editing/TypingCommand.h:
187         * editing/UnlinkCommand.cpp:
188         * editing/VisiblePosition.cpp:
189         (WebCore::isEqualIgnoringAffinity):
190         (WebCore::VisiblePosition::formatForDebugger):
191         (WebCore::VisiblePosition::showTree):
192         (showTree):
193         * editing/VisiblePosition.h:
194         (WebCore::VisiblePosition::VisiblePosition):
195         (WebCore::operator==):
196         * editing/WrapContentsInDummySpanCommand.cpp:
197         * editing/htmlediting.h:
198         * editing/markup.cpp:
199         * editing/markup.h:
200         (WebCore::):
201         * editing/visible_units.cpp:
202         * html/CanvasGradient.cpp:
203         * html/CanvasRenderingContext2D.h:
204         * html/CanvasStyle.cpp:
205         * html/CanvasStyle.h:
206         * html/FormDataList.cpp:
207         * html/FormDataList.h:
208         * html/HTMLCollection.cpp:
209         * html/HTMLCollection.h:
210         * html/HTMLDocument.cpp:
211         * html/HTMLDocument.h:
212         * html/HTMLElement.cpp:
213         * html/HTMLElementFactory.cpp:
214         * html/HTMLElementFactory.h:
215         * html/HTMLFormCollection.cpp:
216         * html/HTMLFormElement.cpp:
217         * html/HTMLFormElement.h:
218         * html/HTMLInputElement.cpp:
219         * html/HTMLParser.cpp:
220         * html/HTMLSelectElement.cpp:
221         * html/HTMLSelectElement.h:
222         * html/HTMLTokenizer.cpp:
223         * html/HTMLTokenizer.h:
224         * html/html_baseimpl.cpp:
225         * html/html_headimpl.h:
226         * kcanvas/KCanvasCreator.cpp:
227         * kcanvas/KCanvasFilters.h:
228         * kcanvas/KCanvasPath.h:
229         * kcanvas/KCanvasResources.h:
230         * kcanvas/KCanvasTreeDebug.cpp:
231         * kcanvas/RenderPath.cpp:
232         * kcanvas/RenderPath.h:
233         * kcanvas/device/KRenderingDevice.h:
234         * kcanvas/device/KRenderingPaintServerGradient.h:
235         * kcanvas/device/KRenderingPaintServerPattern.h:
236         * kcanvas/device/KRenderingPaintServerSolid.h:
237         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
238         * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
239         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
240         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
241         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
242         * khtml/misc/decoder.cpp:
243         * khtml/misc/decoder.h:
244         * khtml/xsl/XSLStyleSheet.cpp:
245         * khtml/xsl/XSLTProcessor.cpp:
246         * khtml/xsl/XSLTProcessor.h:
247         * ksvg2/css/SVGRenderStyle.h:
248         * ksvg2/ecma/GlobalObject.cpp:
249         * ksvg2/misc/KCanvasRenderingStyle.h:
250         * ksvg2/misc/SVGDocumentExtensions.h:
251         * ksvg2/svg/SVGAngle.h:
252         * ksvg2/svg/SVGAnimateColorElement.h:
253         * ksvg2/svg/SVGAnimatedColor.h:
254         * ksvg2/svg/SVGAnimatedLengthList.h:
255         * ksvg2/svg/SVGAnimatedNumberList.h:
256         * ksvg2/svg/SVGAnimatedString.h:
257         * ksvg2/svg/SVGAnimatedTransformList.h:
258         * ksvg2/svg/SVGAnimationElement.h:
259         * ksvg2/svg/SVGColor.h:
260         * ksvg2/svg/SVGCursorElement.h:
261         * ksvg2/svg/SVGHelper.h:
262         * ksvg2/svg/SVGLength.h:
263         * ksvg2/svg/SVGList.h:
264         * ksvg2/svg/SVGPaint.h:
265         * ksvg2/svg/SVGPathSeg.h:
266         * ksvg2/svg/SVGPatternElement.h:
267         * ksvg2/svg/SVGSVGElement.cpp:
268         * ksvg2/svg/SVGSVGElement.h:
269         * ksvg2/svg/SVGStringList.h:
270         * ksvg2/svg/SVGTransform.h:
271         * kwq/AccessibilityObjectCache.mm:
272         * kwq/ClipboardMac.mm:
273         * kwq/JavaAppletWidget.mm:
274         * kwq/KWQComboBox.mm:
275         * kwq/KWQEditCommand.mm:
276         * kwq/KWQFileButton.mm:
277         * kwq/KWQKHTMLSettings.h:
278         * kwq/KWQKSSLKeyGen.mm:
279         * kwq/KWQLoader.mm:
280         * kwq/KWQPageState.mm:
281         * kwq/KWQTextEdit.mm:
282         * kwq/RegularExpression.h:
283         * kwq/RenderTreeAsText.cpp:
284         * kwq/RenderTreeAsText.h:
285         * kwq/WebCoreAXObject.mm:
286         * loader/Cache.cpp:
287         * loader/Cache.h:
288         * loader/CachedCSSStyleSheet.cpp:
289         * loader/CachedObject.h:
290         * loader/CachedScript.cpp:
291         * loader/CachedXBLDocument.cpp:
292         * loader/CachedXBLDocument.h:
293         * loader/CachedXSLStyleSheet.cpp:
294         * loader/CachedXSLStyleSheet.h:
295         * loader/DocLoader.cpp:
296         * page/Frame.cpp:
297         * page/Frame.h:
298         * page/FramePrivate.h:
299         * page/FrameTree.cpp:
300         * page/FrameTree.h:
301         * page/FrameView.cpp:
302         * page/FrameView.h:
303         * page/Page.cpp:
304         * page/Page.h:
305         * page/Plugin.h:
306         (WebCore::Plugin::Plugin):
307         (WebCore::Plugin::view):
308         * platform/Color.cpp:
309         * platform/FloatRect.h:
310         * platform/Font.cpp:
311         * platform/Font.h:
312         * platform/FontFamily.cpp:
313         * platform/GraphicsContext.cpp:
314         * platform/Image.cpp:
315         * platform/Image.h:
316         * platform/IntRect.h:
317         * platform/KURL.cpp:
318         * platform/KURL.h:
319         * platform/SegmentedString.h:
320         * platform/Shared.h:
321         * platform/StreamingTextDecoder.cpp:
322         * platform/StringImpl.cpp:
323         * platform/StringImpl.h:
324         * platform/TextEncoding.h:
325         * platform/Timer.cpp:
326         * platform/Timer.h:
327         * platform/TransferJob.cpp:
328         * platform/TransferJob.h:
329         * platform/TransferJobInternal.h:
330         * platform/cairo/GraphicsContextCairo.cpp:
331         * platform/cairo/ImageCairo.cpp:
332         * platform/cairo/ImageSourceCairo.cpp:
333         * platform/image-decoders/gif/GIFImageReader.cpp:
334         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
335         * platform/mac/FontFamilyMac.mm:
336         * platform/mac/FontMac.mm:
337         * platform/mac/ImageMac.mm:
338         * platform/mac/TextEncodingMac.cpp:
339         * platform/mac/TransferJobMac.mm:
340         * platform/win/FontPlatformDataWin.cpp:
341         * platform/win/TransferJobWin.cpp:
342         * rendering/RenderBlock.cpp:
343         * rendering/RenderBlock.h:
344         * rendering/RenderBox.cpp:
345         * rendering/RenderBox.h:
346         * rendering/RenderCanvas.cpp:
347         * rendering/RenderCanvas.h:
348         * rendering/RenderContainer.cpp:
349         * rendering/RenderFlexibleBox.h:
350         * rendering/RenderFlow.cpp:
351         * rendering/RenderFlow.h:
352         * rendering/RenderImage.cpp:
353         * rendering/RenderImage.h:
354         * rendering/RenderLayer.cpp:
355         * rendering/RenderLayer.h:
356         * rendering/RenderObject.cpp:
357         (showTree):
358         * rendering/RenderObject.h:
359         * rendering/RenderTableCell.h:
360         * rendering/RenderTableSection.h:
361         * rendering/RenderText.cpp:
362         * rendering/RenderText.h:
363         * rendering/RenderTextField.cpp:
364         * rendering/RenderTextFragment.h:
365         * rendering/RenderTheme.h:
366         * rendering/RenderThemeMac.mm:
367         * rendering/RenderThemeWin.cpp:
368         * rendering/bidi.cpp:
369         * rendering/render_form.h:
370         * rendering/render_line.cpp:
371         (showTree):
372         * rendering/render_line.h:
373         * rendering/render_list.cpp:
374         * rendering/render_replaced.cpp:
375         * rendering/render_replaced.h:
376         * rendering/render_style.cpp:
377         * rendering/render_style.h:
378         * xml/xmlhttprequest.h:
379
380 2006-04-10  Darin Adler  <darin@apple.com>
381
382         - try to fix the Windows build
383
384         * WebCore.vcproj/WebCore/WebCore.vcproj: Fix mistaken bad editing of
385         AdditionalIncludeDirectories.
386
387 2006-04-10  David Hyatt  <hyatt@apple.com>
388
389         Make focus ring painting respect clips set by WebCore (e.g., overflow).
390
391         Reviewed by darin
392
393         * platform/GraphicsContext.h:
394         * platform/mac/GraphicsContextMac.mm:
395         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
396         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
397         (WebCore::GraphicsContext::setFocusRingClip):
398         (WebCore::GraphicsContext::clearFocusRingClip):
399         (WebCore::GraphicsContext::drawFocusRing):
400         * platform/mac/WebCoreGraphicsBridge.h:
401         * platform/mac/WebCoreGraphicsBridge.m:
402         (-[WebCoreGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
403         * rendering/RenderLayer.cpp:
404         (WebCore::setClip):
405         (WebCore::restoreClip):
406
407 2006-04-10  Darin Adler  <darin@apple.com>
408
409         Reviewed by Geoff.
410
411         - death to khtml/ecma, long live bindings/js
412
413         * khtml/ecma: Removed. Moved all files to bindings/js.
414
415         * bindings/js/JSDOMParser.cpp: Added.
416         * bindings/js/JSDOMParser.h: Added.
417         * bindings/js/JSXMLHttpRequest.cpp: Added.
418         * bindings/js/JSXMLHttpRequest.h: Added.
419         * bindings/js/JSXMLSerializer.cpp: Added.
420         * bindings/js/JSXMLSerializer.h: Added.
421         * bindings/js/JSXSLTProcessor.cpp: Added.
422         * bindings/js/JSXSLTProcessor.h: Added.
423         * bindings/js/kjs_binding.cpp: Added.
424         * bindings/js/kjs_binding.h: Added.
425         * bindings/js/kjs_css.cpp: Added.
426         * bindings/js/kjs_css.h: Added.
427         * bindings/js/kjs_dom.cpp: Added.
428         * bindings/js/kjs_dom.h: Added.
429         * bindings/js/kjs_events.cpp: Added.
430         * bindings/js/kjs_events.h: Added.
431         * bindings/js/kjs_html.cpp: Added.
432         * bindings/js/kjs_html.h: Added.
433         * bindings/js/kjs_navigator.cpp: Added.
434         * bindings/js/kjs_navigator.h: Added.
435         * bindings/js/kjs_proxy.cpp: Added.
436         * bindings/js/kjs_proxy.h: Added.
437         * bindings/js/kjs_traversal.cpp: Added.
438         * bindings/js/kjs_traversal.h: Added.
439         * bindings/js/kjs_views.cpp: Added.
440         * bindings/js/kjs_views.h: Added.
441         * bindings/js/kjs_window.cpp: Added.
442         * bindings/js/kjs_window.h: Added.
443
444         * DerivedSources.make: Removed khtml/ecma from directory list.
445         * WebCore.vcproj/WebCore/WebCore.vcproj: Moved files from
446         khtml/ecma to bindings/js.
447         * WebCore.xcodeproj/project.pbxproj: Ditto.
448
449 2006-04-10  Darin Adler  <darin@apple.com>
450
451         Reviewed by Geoff.
452
453         - try to fix the Windows build
454
455         * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::reset):
456         Put code to release m_drawingContext into an __APPLE__ ifdef.
457
458         * platform/win/TemporaryLinkStubs.cpp:
459
460 2006-04-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
461
462         Reviewed by Eric, landed by ap.
463
464         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8295
465           Dictionary pop-up panel targets the wrong word in a scrolled IFRAME
466
467         * kwq/WebCoreAXObject.mm:
468         (-[WebCoreAXObject doAXTextMarkerForPosition:]): Removed the addition of scroll
469         offsets, which is redundant for scrolled views, then changed the first view
470         to be the document's scrolled view instead of its scroll view (all subsequent views were
471         already scrolled views).
472         * manual-tests/dictionary-scrolled-iframe.html: Added.
473
474 2006-04-09  Alexey Proskuryakov  <ap@nypop.com>
475
476         Reviewed by Darin.
477
478         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7877
479         XMLHttpRequest ignores username/password passed to open()
480
481         Test: http/tests/xmlhttprequest/basic-auth.html
482
483         * platform/KURL.cpp:
484         (KURL::setUser): Enable a code path that handles non-empty user name -
485         it was already present, but commented out and protected with an assertion.
486         (KURL::setPass): Ditto.
487
488 2006-04-09  Darin Adler  <darin@apple.com>
489
490         Reviewed by Anders.
491
492         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4884
493           Canvas element breaks when RenderObject creation is deferred by external CSS
494
495         Test: fast/canvas/canvas-before-css.html
496
497         This patch makes us match the canvas documentation in Hixie's Web Applications
498         draft as far as when the canvas is created and recreated and how it's sized.
499         It also gets rid of the compositeOperation attribute of the canvas element.
500         We can add that back if we need it. Anders points out that this specifically
501         changes behavior for canvas elements where the size is set in CSS and not with
502         width and height attributes. The CSS size now determines how big a box the canvas
503         is rendered into, but has no effect on the size of the canvas's buffer.
504
505         * html/CanvasRenderingContext2D.h: Added overloads of drawImage that take
506         HTMLCanvasElement, which is no longer derived from HTMLImageElement.
507         * html/CanvasRenderingContext2D.cpp:
508         (WebCore::imageSize): Renamed from imageOrCanvasSize. Now used for images only,
509         because canvas is no longer derived from image.
510         (WebCore::CanvasRenderingContext2D::drawImage): Split the implementation of this
511         for image sources from the implementation for canvas sources.
512         (WebCore::CanvasRenderingContext2D::willDraw): Changed to call a new willDraw
513         function on the canvas element.
514         (WebCore::CanvasRenderingContext2D::drawingContext): Changed to call drawingContext
515         on the canvas element rather than the renderer.
516
517         * html/HTMLCanvasElement.h: Changed HTMLCanvasElement to derive from HTMLElement
518         instead of HTMLImageElement. Added width, height, setWidth, setHeight, willDraw,
519         paint, drawingContext, createDrawingContext, and reset functions. Added m_size,
520         m_createdDrawingContext, m_data, and m_drawingContext data members. Removed
521         mapToEntry, attach, detach, and isURLAttribute functins.
522
523         * html/HTMLCanvasElement.cpp:
524         (WebCore::HTMLCanvasElement::HTMLCanvasElement): Added initializers for new m_size,
525         m_createdDrawingContext, m_data, and m_drawingContext data members.
526         (WebCore::HTMLCanvasElement::~HTMLCanvasElement): Free m_data and m_drawingContext.
527         (WebCore::HTMLCanvasElement::parseMappedAttribute): Got rid of special case for
528         srcAttr, which is no longer needed since we aren't deriving from HTMLImageElement.
529         Added code that triggers a reset when either width or height is set.
530         (WebCore::HTMLCanvasElement::createRenderer): Added code to set the intrinsic
531         width and height of the renderer to the size of the element.
532         (WebCore::HTMLCanvasElement::setHeight): Added. Sets the height attribute.
533         (WebCore::HTMLCanvasElement::setWidth): Added. Sets the width attribute.
534         (WebCore::HTMLCanvasElement::willDraw): Added. Tells the renderer to repaint.
535         Also has FIXME mentioning we could dirty only the part that has changed in the future.
536         (WebCore::HTMLCanvasElement::reset): Added. Sets the size of the canvas and discards
537         the old buffer, which is an indirect way of resetting the buffer to transparent black.
538         (WebCore::HTMLCanvasElement::paint): Added. Draws the canvas image into the graphics
539         context that's passed in.
540         (WebCore::HTMLCanvasElement::createDrawingContext): Added. Allocates a buffer for
541         the bits, then creates a bitmap context for drawing into the buffer.
542         (WebCore::HTMLCanvasElement::drawingContext): Added. Calls createDrawingContext if
543         needed, then returns the current drawing context.
544         (WebCore::HTMLCanvasElement::createPlatformImage): Changed to always call CGContextFlush
545         and to create the image from the context in this class.
546
547         * rendering/RenderHTMLCanvas.h: Remove almost all of the contents of this file.
548         Removed ~RenderHTMLCanvas, setNeedsImageUpdate, element, updateDrawnImage, drawingContext,
549         createDrawingContext, and drawnImage functions and _drawingContext, _drawingContextData,
550         _drawnImage, and _needsImageUpdate booleans. Changed RenderHTMLCanvas to derive from
551         RenderReplaced instead of RenderImage.
552
553         * rendering/RenderHTMLCanvas.cpp:
554         (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): Changed to only initialize RenderReplaced.
555         (WebCore::RenderHTMLCanvas::renderName): Moved this in here, since there's no good reason
556         to have this virtual function inlined.
557         (WebCore::RenderHTMLCanvas::paint): Changed implementation to use HTMLCanvasElement::paint
558         instead ofcalling CGContextDrawImage directly.
559         (WebCore::RenderHTMLCanvas::layout): Removed the code that detects changes in width and
560         causes the drawing context to be recreated; instead, if the width and height changes we
561         scale when we paint the canvas.
562
563         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
564         (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
565         Separated out handling for <canvas> vs. <img> elements in drawRect, since
566         HTMLCanvasElement is no longer derived from HTMLImageElement.
567
568 2006-04-09  Rob Buis  <buis@kde.org>
569
570         Reviewed by eseidel.  Landed by eseidel.
571
572         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6027:
573         Dirty rect invalidation issues in mozilla sample
574
575         Make sure the paths calculate the new bounding box and not
576         use the cached bbox.
577
578         No automated test case possible.
579
580         * kcanvas/RenderPath.cpp:
581         (WebCore::RenderPath::setPath):
582
583 2006-04-09  Rob Buis  <buis@kde.org>
584
585         Reviewed by darin.  Landed by eseidel.
586
587         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6930:
588         % width/height on nested <svg> tags do not work
589
590         Set the context correctly for inner <svg>, so calculation of
591         width/height for inner <svg> elements is done against the
592         viewport element.
593
594         Test: svg/custom/inner-percent.svg
595
596         * ksvg2/svg/SVGSVGElement.cpp:
597         (WebCore::SVGSVGElement::width):
598         (WebCore::SVGSVGElement::height):
599
600 2006-04-08  Rob Buis  <buis@kde.org>
601
602         Reviewed by eseidel.  Landed by eseidel.
603
604         No automated test case possible.
605
606         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7531:
607         hang in SVGPolygonElementImpl::toPathData in polygon test case
608
609         Make sure the points list is cleared, just like the path
610         list is cleared first before (re)parsing.
611
612         * ksvg2/svg/SVGPolyElement.cpp:
613         (SVGPolyElement::parseMappedAttribute):
614
615 2006-04-08  Darin Adler  <darin@apple.com>
616
617         Reviewed by Beth.
618
619         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7622
620           REGRESSION: New text fields should compute maxlength considering composed character sequences
621
622         Test: fast/forms/input-text-maxlength.html
623         Test: fast/forms/input-text-paste-maxlength.html
624
625         * html/HTMLInputElement.h: Removed all friend classes (not needed any more). Renamed
626         typeEnum to InputType. Made init() function private. Tweaked parameter names and formatting
627         in many function declarations. Made canHaveSelection, selectionStart, and selectionEnd
628         const. Made data members except for m_name private instead of protected. Added private
629         functions constrainValue and recheckValue. Removed unused isEditable function.
630
631         * html/HTMLInputElement.cpp:
632         (WebCore::numGraphemeClusters): Added.
633         (WebCore::numCharactersInGraphemeClusters): Added.
634         (WebCore::HTMLInputElement::isKeyboardFocusable): Use inputType() instead of using m_type
635         directly.
636         (WebCore::HTMLInputElement::isMouseFocusable): Ditto.
637         (WebCore::HTMLInputElement::focus): Ditto.
638         (WebCore::HTMLInputElement::setInputType): Added code to call constrainValue or recheckValue
639         so we will enforce maxLen if changing from a type that doesn't have maxLen to one that does.
640         (WebCore::HTMLInputElement::type): More-standard formatting for switch statement. Put
641         cases into alphabetical order.
642         (WebCore::HTMLInputElement::state): Changed switch statement to include all case values and
643         not include a default case to take advantage of gcc's missing case warning.
644         (WebCore::HTMLInputElement::restoreState): Ditto.
645         (WebCore::HTMLInputElement::canHaveSelection): Ditto.
646         (WebCore::HTMLInputElement::selectionStart): Ditto.
647         (WebCore::HTMLInputElement::selectionEnd): Ditto.
648         (WebCore::HTMLInputElement::setSelectionStart): Ditto.
649         (WebCore::HTMLInputElement::setSelectionEnd): Ditto.
650         (WebCore::HTMLInputElement::select): Ditto.
651         (WebCore::HTMLInputElement::setSelectionRange): Ditto.
652         (WebCore::HTMLInputElement::click): Ditto.
653         (WebCore::HTMLInputElement::accessKeyAction): Ditto.
654         (WebCore::HTMLInputElement::parseMappedAttribute): Use inputType() instead of using m_type
655         directly. Added call to recheckValue when parsing a new value for the maxlength attribute.
656         (WebCore::HTMLInputElement::rendererIsNeeded): Changed switch statement to include all case
657         values and not include a default case to take advantage of gcc's missing case warning.
658         (WebCore::HTMLInputElement::createRenderer): Ditto.
659         (WebCore::HTMLInputElement::attach): Remove code to condition the value attribute when done
660         parsing. This is now all handled by constrainValue and recheckValue as needed.
661         (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use inputType() instead of using
662         m_type directly.
663         (WebCore::HTMLInputElement::appendFormData): Ditto. Rearranged code a little.
664         (WebCore::HTMLInputElement::setChecked): Ditto.
665         (WebCore::HTMLInputElement::setIndeterminate): Ditto.
666         (WebCore::HTMLInputElement::value): Ditto. Call constrainValue when reading the value out
667         of the value attribute.
668         (WebCore::HTMLInputElement::valueWithDefault): Use inputType() instead of using
669         m_type directly. Changed switch statement to include all case values and not include a
670         default case to take advantage of gcc's missing case warning.
671         (WebCore::HTMLInputElement::setValue): Ditto. Call constrainValue when storing a value.
672         (WebCore::HTMLInputElement::setValueFromRenderer): Added an assertion.
673         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Use inputType() instead of
674         using m_type directly.
675         (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
676         (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
677         (WebCore::HTMLInputElement::defaultEventHandler): Ditto. Changed code to truncate inserted
678         text in a BeforeTextInsertedEvent to use the new constrainValue function and also the
679         numGraphemeClusters function, so it's based on grapheme clusters instead of characters and
680         shares code.
681         (WebCore::HTMLInputElement::constrainValue): Added.
682         (WebCore::HTMLInputElement::recheckValue): Added.
683
684         * html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
685         Removed unneeded code to set m_type to TEXT, which is already what it gets set to by
686         the base class's constructor.
687
688         * html/HTMLGenericFormElement.h: Removed unused isEditable function.
689         * html/HTMLGenericFormElement.cpp: Ditto.
690         * html/HTMLTextAreaElement.h: Ditto.
691         * html/HTMLTextAreaElement.cpp: Ditto.
692
693         * platform/StringImpl.cpp: (WebCore::StringImpl::truncate): Changed > to >= so that
694         truncating to the size of the string does nothing, efficiently.
695
696         * rendering/RenderText.h: Added declaration of characterBreakIterator.
697         * rendering/RenderText.cpp:
698         (WebCore::characterBreakIterator): Made this public so it can be used in other files.
699         Maybe we should also move it to another source file later. Also renamed to remove the
700         "get" from the title.
701         (WebCore::RenderText::previousOffset): Updated for name change.
702         (WebCore::RenderText::nextOffset): Updated for name change.
703
704         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::updateFromElement):
705         Removed code to implement maxlength checking. That's handled entirely in the DOM now.
706         Also moved down the code to get the value into a string so that it's done only in the
707         case where the string is used.
708
709         * rendering/render_form.cpp: (WebCore::RenderFileButton::valueChanged): Use setValueFromRenderer
710         instead of setting the value directly in the input element. We changed this for all the other
711         types a while ago, and it works just as well for the input element.
712
713         * dom/BeforeTextInsertedEvent.h: Added setText function. Previously, clients changed the text
714         by modifying the text object in place, but going forward we'd like to avoid that sort of thing.
715  
716         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):
717         Changed code to assume clients will change the text in the event rather than mutating the
718         text object itself. This is compatible with possible future changes to String to be copy
719         on write.
720         * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Ditto.
721
722 2006-04-07  Darin Adler  <darin@apple.com>
723
724         Reviewed by Hyatt.
725
726         - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8134
727           REGRESSION: dragging down from the middle of a text field does not select to end of field
728
729         * editing/Selection.cpp:
730         (WebCore::comparePositions): Added. Takes shadow content into account.
731         (WebCore::Selection::validate): Changed to call comparePositions instead of calling
732         Range::compareBoundaryPoints directly. Also removed unneeded code to redundantly set
733         m_start and m_end to null and did a bit of reformatting.
734
735         - some tiny efficiency improvements to the tokenizer -- no measurable speedup, but removes
736           a little bit of unneeded code
737
738         * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Changed all the places
739         that do "unsigned short x = *c" to "unsigned short x = c->unicode()" when c is a QChar,
740         otherwise we do an unnecessary conversion to char (which requires a branch to see if
741         the c fits in a char).
742
743 2006-04-07  Justin Garcia  <justin.garcia@apple.com>
744
745         Reviewed by harrison
746         
747         Rolled the fix for 8250 back in and fixed a bug:
748         The local variables for the first and last nodes in the fragment
749         need to be reset when the fragment is changed for plaintext-only mode
750         or a change from the beforetextinserted event handler.
751
752         * editing/ReplaceSelectionCommand.cpp:
753         (WebCore::ReplacementFragment::ReplacementFragment):
754
755 2006-04-07  Maciej Stachowiak  <mjs@apple.com>
756
757         Reviewed by Darin.
758         
759         - fixed REGRESSION: offsetParent on element with no offset parent crashes
760
761         * dom/Element.cpp:
762         (WebCore::Element::offsetParent): Add missing null check.
763
764 2006-04-07  Justin Garcia  <justin.garcia@apple.com>
765
766         Reviewed by adele
767         
768         maxlength truncation in text fields didn't work if the fragment was a
769         single text node.
770
771         * editing/ReplaceSelectionCommand.cpp:
772         (WebCore::ReplacementFragment::ReplacementFragment):
773
774 2006-04-07  Justin Garcia  <justin.garcia@apple.com>
775
776         Reviewed by harrison
777         
778         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8250>
779         REGRESSION: Interchange newlines aren't passed with the khtmlBeforeTextInsertedEvent
780
781         * editing/ReplaceSelectionCommand.cpp:
782         (WebCore::ReplacementFragment::ReplacementFragment):
783         Interchange content removal happened before khtmlBeforeTextInsertedEvent was sent.
784
785 2006-04-07  Justin Garcia  <justin.garcia@apple.com>
786
787         Reviewed by adele
788         
789         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8219>
790         REGRESSION: Two extra newlines added when pasting a single styled line into a plaintext-only region
791
792         * editing/ReplaceSelectionCommand.cpp:
793         (WebCore::ReplacementFragment::ReplacementFragment):
794         Converting the fragment to plaintext introduced an extraneous newline because
795         the range passed to plainText ended after the paragraph containing the fragment
796         built from the markup that TextEdit put on the paste board.  TextIterator will
797         emit a newline when it exits a paragraph.
798         Two extra newlines were added because the '\n' in the plaintext string turns
799         into an interchange newline, which isn't removed because of 8250, and the
800         interchange newline looks like inline content that requires the insertion of
801         a paragraph separator during paste.
802         Fixed by creating a range using VisiblePositions at the start and the end of 
803         the node that holds the fragment during paste's test rendering.
804
805 2006-04-06  Justin Garcia  <justin.garcia@apple.com>
806
807         Reviewed by harrison
808         
809         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8145>
810         REGRESSION: Pasting text from TextEdit with a bold word into text field results in crash
811
812         * editing/AppendNodeCommand.cpp:
813         (WebCore::AppendNodeCommand::doApply): 
814         Assert that the node will be placed somewhere that's contenteditable.
815         * editing/InsertNodeBeforeCommand.cpp:
816         (WebCore::InsertNodeBeforeCommand::doApply): Ditto
817         * editing/JSEditor.cpp: 
818         Enabled insertHTML for plaintext-only regions since it's useful for debugging rich 
819         content pastes into the new text fields.
820         * editing/ReplaceSelectionCommand.cpp:
821         (WebCore::ReplaceSelectionCommand::doApply):
822         1) After the first paragraph of the fragment has been merged with the first part of the
823         paragraph where the paste occured, if the next node to be inserted is inline, we put it 
824         in a new paragraph because it was at the start of a paragraph in the fragment.  The change
825         is to insert a paragraph separator if insertionPos.next() is null or outside of the current 
826         editable region.
827         2) Before the paste begins, a paragraph separator is inserted in order to avoid 
828         nesting blocks from the fragment to be pasted inside the block where the paste will 
829         occur.  I made two fixes to the code that decides whether or not to insert the 
830         paragraph separator and added testcases for each.  Added a fixme because it appears that
831         this code is also used to ensure that the aforementioned insertionPos will be at the end of 
832         a paragraph.  This code should only be about preventing nesting.
833
834 2006-04-06  Maciej Stachowiak  <mjs@apple.com>
835
836         Reviewed by Anders.
837
838         - Convert Element JS bindings to be almost completely autogenerated
839         http://bugzilla.opendarwin.org/show_bug.cgi?id=8227
840
841         * dom/Element.idl: Declare full interface in IDL.
842         * dom/Element.h:
843         (WebCore::Element::tagQName): Renamed from tagName, so the real DOM
844         method can be called tagName.
845         (WebCore::Element::tagName): inline alias for nodeName.
846         * dom/Element.cpp:
847         (WebCore::Element::scrollByUnits): Moved logic from JS bindings to
848         core DOM.
849         (WebCore::Element::scrollByLines): ditto
850         (WebCore::Element::scrollByPages): ditto
851         (WebCore::Element::offsetLeft): ditto, plus make unrendered elements return 0 not undefined
852         (WebCore::Element::offsetTop): ditto, plus make unrendered elements return 0 not undefined
853         (WebCore::Element::offsetWidth): ditto, plus make unrendered elements return 0 not undefined
854         (WebCore::Element::offsetHeight): ditto, plus make unrendered elements return 0 not undefined
855         (WebCore::Element::offsetParent): ditto
856         (WebCore::Element::clientWidth): ditto, plus make unrendered elements return 0 not undefined
857         (WebCore::Element::clientHeight): ditto, plus make unrendered elements return 0 not undefined
858         (WebCore::Element::scrollLeft): ditto
859         (WebCore::Element::scrollTop): ditto
860         (WebCore::Element::setScrollLeft): ditto
861         (WebCore::Element::setScrollTop): ditto
862         (WebCore::Element::scrollWidth): ditto, plus make unrendered elements return 0 not undefined
863         (WebCore::Element::scrollHeight): ditto, plus make unrendered elements return 0 not undefined
864
865         * bindings/scripts/CodeGeneratorJS.pm: Added support for
866         ConvertUndefinedToTrue, for benefit of scroll methods where
867         omitted arguments should be treated as true.  However, maybe
868         explicit overloading in the IDL would be a better long-term
869         approach for optional arguments.
870
871         * khtml/ecma/kjs_binding.cpp:
872         (KJS::valueToStringWithNullCheck): fixed formatting
873         (KJS::valueToBooleanTreatUndefinedAsTrue): added for binding of scrollIntoView
874         (isn't this lame?)
875         * khtml/ecma/kjs_binding.h:
876         (KJS::toJS): fixed formatting, added new stuff
877         * khtml/ecma/kjs_dom.cpp:
878         (KJS::DOMElement::getValueProperty): removed most of contents
879         (KJS::DOMElement::putValueProperty): ditto
880         (KJS::DOMElementProtoFunc::callAsFunction): ditto
881
882         * css/cssstyleselector.cpp:
883         (WebCore::CSSStyleSelector::canShareStyleWithElement): updated for rename
884         of tagName to tagQName
885         (WebCore::CSSStyleSelector::checkOneSelector): ditto
886         * dom/Document.cpp:
887         (WebCore::Document::importNode): ditto
888         * editing/ApplyStyleCommand.cpp:
889         (WebCore::ApplyStyleCommand::removeInlineStyle): ditto
890         (WebCore::areIdenticalElements): ditto
891         * html/HTMLElement.cpp:
892         (WebCore::HTMLElement::inEitherTagList): ditto
893         (WebCore::HTMLElement::inInlineTagList): ditto
894         (WebCore::HTMLElement::inBlockTagList): ditto
895
896 2006-04-06  Beth Dakin  <bdakin@apple.com>
897
898         Reviewed by Darin.
899
900         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8203 
901         REGRESSION: "Invite a friend" text field in GMail page spills out 
902         of table
903
904         RenderReplaced::calcMinMaxWidth() sets m_minWidth to 0 when the 
905         width is a percent, so this patch copies that behavior into 
906         RenderTextField::calcMinMaxWidth().
907
908         * rendering/RenderTextField.cpp:
909         (WebCore::RenderTextField::calcMinMaxWidth):
910
911 2006-04-06  Darin Adler  <darin@apple.com>
912
913         - try to fix Windows build
914
915         * WebCore.vcproj/WebCore/WebCore.vcproj: Add JSDocument.cpp.
916
917 2006-04-05  Darin Adler  <darin@apple.com>
918
919         Reviewed by Adele.
920
921         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8111
922           REGRESSION (NativeTextField): first click in form field on weather.com leaves focus
923           but no caret
924
925         Test: fast/forms/input-text-self-emptying-click.html
926
927         * page/MouseEventWithHitTestResults.h: Removed url, target, m_url and m_target,
928         replacing them with isOverLink and m_isOverLink. Replaced innerNode with targetNode,
929         and added logic to handle the case where the target node is removed from the document
930         but the element the target node was in is still inside the document.
931         * page/MouseEventWithHitTestResults.cpp: Added.
932
933         * WebCore.xcodeproj/project.pbxproj: Added MouseEventWithHitTestResults.cpp.
934         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
935
936         * kwq/RenderTreeAsText.cpp: (nodePosition): Added a call to shadowParentNode so we
937         correctly dump positions within shadow trees. This was needed to give a good result
938         from my new test for this bug.
939
940         * dom/Document.cpp:
941         (WebCore::Document::prepareMouseEvent): Update to pass fewer parameters to the
942         constructor for MouseEventWithHitTestResults. Now takes isOverLink boolean, and no
943         longer takes href and target parameters.
944
945         * page/Frame.cpp:
946         (WebCore::Frame::handleMousePressEventDoubleClick): Use new name targetNode, instead
947         of old name innerNode.
948         (WebCore::Frame::handleMousePressEventTripleClick): Ditto.
949         (WebCore::Frame::handleMousePressEventSingleClick): Ditto. Also change code to check
950         if over a link to use !isOverLink instead of url.isNull.
951         (WebCore::Frame::handleMousePressEvent): Ditto. Also remove unused "url" local variable.
952         (WebCore::Frame::handleMouseMoveEvent): Ditto.
953         (WebCore::Frame::handleMouseReleaseEvent): Ditto.
954         (WebCore::Frame::passWidgetMouseDownEventToWidget): Ditto.
955
956         * bridge/mac/FrameMac.mm:
957         (WebCore::FrameMac::handleMousePressEvent): Use new name targetNode, instead of old
958         name innerNode.
959         (WebCore::FrameMac::handleMouseMoveEvent): Ditto.
960         (WebCore::FrameMac::passSubframeEventToSubframe): Ditto.
961         (WebCore::FrameMac::sendContextMenuEvent): Ditto.
962
963         * page/FrameView.cpp:
964         (WebCore::subframeForEvent): Use new name targetNode, instead of old name innerNode.
965         (WebCore::FrameView::handleMousePressEvent): Ditto.
966         (WebCore::FrameView::handleMouseDoubleClickEvent): Ditto.
967         (WebCore::selectCursor): Ditto. Also change code to check if over a link to use
968         isOverLink instead of !url.isNull.
969         (WebCore::FrameView::handleMouseMoveEvent): Ditto.
970         (WebCore::FrameView::handleMouseReleaseEvent): Ditto.
971         (WebCore::FrameView::updateDragAndDrop): Ditto.
972
973 2006-04-05  Mitz Pettel  <opendarwin.org@mitzpettel.com>
974
975         Reviewed and landed by Maciej.
976
977         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8184
978           REGRESSION (r13655): Layer outline not clipped where it should be
979
980         * rendering/RenderLayer.cpp:
981         (WebCore::RenderLayer::calculateRects): Reverted this part of the fix for bug 7943.
982         The outlineRect should not be inflated.
983
984 2006-04-05  Rob Buis  <buis@kde.org>
985
986         Reviewed by Eric, landed by Maciej.
987
988         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7627:
989         SVG from the W3C SVG 1.1 test suite (cubic01.svg) renders as all black
990
991         Fix this svg stylesheet to use strict-mode, as this makes sure
992         class selecting is done correctly.
993
994         * ksvg2/svg/SVGStyleElement.cpp:
995         (SVGStyleElement::childrenChanged):
996
997 2006-04-05  Justin Garcia  <justin.garcia@apple.com>
998
999         Reviewed by mjs
1000
1001         I forgot to convert one of the implicit remove/inserts to an explicit remove/insert,
1002         so we were hitting the assert I just added to InsertNodeBeforeCommand that checked for
1003         implicit removes.
1004
1005         * editing/ReplaceSelectionCommand.cpp:
1006         (WebCore::ReplaceSelectionCommand::doApply):
1007
1008 2006-04-05  Maciej Stachowiak  <mjs@apple.com>
1009
1010         Reviewed by Anders.
1011
1012         - autogenerate bindings for all of the methods and properties of Document
1013         http://bugzilla.opendarwin.org/show_bug.cgi?id=8163
1014
1015         - also removed document.actualEncoding since it is not in any spec
1016         or implemented by any other browser
1017         
1018         * DerivedSources.make: add JSDocument.h to results
1019         * WebCore.xcodeproj/project.pbxproj: Added new files to project
1020         * bindings/scripts/CodeGeneratorJS.pm: Support for new stuff needed by Document.
1021         * dom/Document.cpp:
1022         (WebCore::Document::readyState): moved impl here from JS bindings
1023         (WebCore::Document::inputEncoding): ditto
1024         (WebCore::Document::defaultCharset): ditto
1025         (WebCore::Document::setCharset): ditto
1026         * dom/Document.h:
1027         (WebCore::Document::charset): added, synonym for inputEncoding.
1028         (WebCore::Document::characterSet): ditto
1029         * dom/Document.idl: Added. Full interface for the Document object.
1030         * khtml/ecma/JSXMLHttpRequest.cpp:
1031         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): JSDocument, not DOMDocument
1032         * khtml/ecma/JSXSLTProcessor.cpp:
1033         (KJS::XSLTProcessorProtoFunc::callAsFunction): ditto
1034         * khtml/ecma/kjs_binding.cpp:
1035         (KJS::jsStringOrFalse): Added this convenience for the method on Document
1036         that bizzarely returns false on failure and a string otherwise.
1037         * khtml/ecma/kjs_binding.h:
1038         * khtml/ecma/kjs_css.cpp:
1039         (KJS::toJS): renamed for consistency
1040         * khtml/ecma/kjs_css.h:
1041         * khtml/ecma/kjs_dom.cpp:
1042         - removed all traces of DOMDocument
1043         (KJS::toJS): JSDocument, not DOMDocument
1044         * khtml/ecma/kjs_dom.h:
1045         * khtml/ecma/kjs_html.cpp:
1046         (KJS::):
1047         (KJS::JSHTMLDocument::JSHTMLDocument): inherit from JSDocument
1048         (KJS::JSHTMLDocument::getOwnPropertySlot): ditto
1049         (KJS::JSHTMLDocument::put): ditto
1050         * khtml/ecma/kjs_html.h:
1051         * khtml/ecma/kjs_traversal.cpp:
1052         (KJS::toJS): added overloads
1053         (KJS::toNodeFilter): handle JS functions as well as impl NodeFilter objects
1054         * khtml/ecma/kjs_traversal.h:
1055         * platform/AtomicString.h:
1056         (WebCore::AtomicString::AtomicString): Allow implicit conversion from String.
1057
1058 2006-04-05  Justin Garcia  <justin.garcia@apple.com>
1059
1060         Reviewed by darin
1061         
1062         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8198>
1063         Hitting an assert on undo paste
1064         
1065         ReplaceSelectionCommand was doing a combination of undoable and non-undoable 
1066         removes from the ReplacementFragment.  On Undo Paste, the undoable removes 
1067         couldn't be undone because the tree was in a different state than it was
1068         at the time of the remove.  This patch makes all the removes from the fragment 
1069         non-undoable.  We could make them all undoable, but I can't think of any reason 
1070         why we'd want the fragment to be reconstructed on an Undo Paste.
1071
1072         * editing/AppendNodeCommand.cpp:
1073         (WebCore::AppendNodeCommand::doApply):
1074         Assert that the node to append isn't already in a tree, since if it is, it will 
1075         be removed in a non-undoable way.
1076         * editing/InsertNodeBeforeCommand.cpp:
1077         (WebCore::InsertNodeBeforeCommand::doApply): Ditto.
1078         * editing/ReplaceSelectionCommand.cpp:
1079         (WebCore::ReplaceSelectionCommand::doApply): 
1080         Nodes were being moved from the fragment to the document with undoable inserts.  
1081         Undoable inserts implicitly remove the node (in a non-undoable way) from its 
1082         old location if it is already in a tree.  I now explicitly remove the nodes 
1083         from the fragment before inserting them into the document to make it clear that 
1084         they are being removed in a non-non-undoable way.  I also changed the one undoable 
1085         remove from the fragment to a non-undoable remove.
1086         * editing/ReplaceSelectionCommand.h: 
1087         Made ReplacementFragment's non-undoable removeNode public.
1088
1089 2006-04-05  Darin Adler  <darin@apple.com>
1090
1091         - fixed the build
1092
1093         * WebCore.xcodeproj/project.pbxproj: Oops! Resolved merge conflict.
1094
1095 2006-04-05  Darin Adler  <darin@apple.com>
1096
1097         Reviewed by Maciej.
1098
1099         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8049
1100           StringImpl hash traits deleted value creates an init routine for WebCore
1101           <rdar://problem/4442248> REGRESSION: WebCore has init routines (8049)
1102
1103         * platform/StringHash.h: Added. Moved hash functions and such for
1104         WebCore::String and friends into this file so we don't have to include
1105         the hash traits header everywhere. Changed hashing for WebCore::StringImpl
1106         and WebCore::String so that they use a raw pointer for the underlying
1107         storage type, taking advantage of the new feature added in JavaScriptCore.
1108
1109         * platform/AtomicString.h: Moved StrHash specialization to StringHash.h.
1110         * platform/PlatformString.h: Moved StrHash specialization to StringHash.h.
1111         * platform/StringImpl.h: Moved StrHash, CaseInsensitiveHash, and HashTraits
1112         to StringHash.h. Left DefaultHash behind so that you can't get the wrong
1113         hash function by accident if you forget to include "StringHash.h".
1114
1115         * platform/StringImpl.cpp: Added include of StringHash.h and removed
1116         RefPtr<StringImpl> HashTraits<RefPtr<StringImpl> >::_deleted, which is
1117         the object with a global initializer causing all the trouble!
1118
1119         * kwq/AccessibilityObjectCache.h: Changed hash function to be IntHash
1120         instead of PtrHash.
1121
1122         * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to inherit from
1123         the generic traits in KXMLCore so we get a StorageType. Also cleaned up a
1124         tiny bit by adding default values to the MappedAttributeKey constructor.
1125
1126         * platform/CharsetNames.cpp: Changed hash traits here to be a new
1127         TextEncodingIDHashTraits struct rather than defining new default traits
1128         for the integer type since more integer types have default traits in
1129         HashTraits.h now. Also added a specialization so this class will share
1130         the underlying implementation (since InvalidEncoding happens to be -1).
1131
1132         * bridge/mac/FrameMac.h:
1133         * dom/Document.h:
1134         * dom/xml_tokenizer.h:
1135         * khtml/xsl/XSLTProcessor.h:
1136         * kwq/JavaAppletWidget.h:
1137         * page/FramePrivate.h:
1138         * page/Page.cpp:
1139         * platform/AtomicString.cpp:
1140         * platform/TransferJob.h:
1141         * rendering/render_applet.h:
1142         Added include of StringHash.h.
1143
1144         * WebCore.xcodeproj/project.pbxproj: Added StringHash.h. Remove unneeded
1145         CREATE_HASH_TABLE variable in build settings. Re-sorted some file lists.
1146         Added quotes to the CREATE_HASH_TABLE initialization in the rule that
1147         builds generated files. Removed various unneeded build settings for that
1148         target as well.
1149
1150         * ForwardingHeaders/kxmlcore/HashTraits.h: Added.
1151
1152         - other minor cleanup
1153
1154         * bridge/mac/FrameMac.mm: Sorted includes.
1155         * dom/Node.cpp: Removed bogus symbol after #endif.
1156
1157         * khtml/xsl/XSLTProcessor.cpp: Sorted includes. Removed redundant using
1158         namespace WebCore.
1159         * loader/Cache.cpp: Ditto.
1160
1161 2006-04-05  Beth Dakin  <bdakin@apple.com>
1162
1163         Reviewed by Darin.
1164
1165         Fix for <rdar://problem/4502311> text-transform:capitalize needs to 
1166         treat nbsp as a regular space when ICU changes
1167
1168         There will be future changes in ICU to match the Unicode 4.1 
1169         standard which no longer recognizes &nbsp as a word separator. We 
1170         need to work around this with text-transform:capitalize because 
1171         words after non-breaking spaces still need to be capitalized.
1172
1173         No layout tests added because existing layout tests cover this.
1174
1175         * platform/StringImpl.cpp:
1176         (WebCore::StringImpl::capitalize): If the character is a non-
1177         breaking space, add a regular space to our temporary buffer, 
1178         otherwise, just copy the character in.
1179
1180 2006-04-05  Alexey Proskuryakov  <ap@nypop.com>
1181
1182         Reviewed by Darin.
1183
1184         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8110
1185           Define navigator.vendorSub (bcms.gov.uk doesn't allow access to login page)
1186
1187         Test: fast/dom/navigator-vendorSub.html
1188
1189         * khtml/ecma/kjs_navigator.cpp:
1190         (KJS::Navigator::getValueProperty): Return an empty string for vendorSub property.
1191         * khtml/ecma/kjs_navigator.h:
1192
1193 2006-04-04  Darin Adler  <darin@apple.com>
1194
1195         Reviewed by Justin (editing parts) and Adele (the rest).
1196
1197         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8182
1198           some text-field-related layout tests are failing
1199
1200         The smart paste code was getting confused and adding extra spaces.
1201
1202         * editing/ReplaceSelectionCommand.cpp:
1203         (WebCore::ReplaceSelectionCommand::doApply): Use isStartOfParagraph instead of
1204         isStartOfLine.
1205         (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): Ditto.
1206
1207         * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::enclosingEmptyListItem):
1208         Change to call isStart/EndOfParagraph instead of Line.
1209
1210         * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input):
1211         Add a comment about how isStartOfLine is almost certainly wrong here.
1212
1213         - clean up some loose ends in the Frame class from the recent renaming
1214
1215         * page/Frame.h: Removed declarations of deleteMe1, deleteMe2, and
1216         handleMouseMoveEventPart2.
1217         * page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent): Removed
1218         handleMouseMoveEventPart2 by renaming it to handleMouseMoveEvent and removing
1219         handleMouseMoveEvent itself.
1220
1221         - invoke the makefile directly, removing the generate-derived-sources script
1222
1223         * WebCore.vcproj/WebCore/build-generated-files.sh: Call make directly.
1224         * WebCore.xcodeproj/project.pbxproj: Ditto.
1225         * generate-derived-sources: Removed.
1226
1227 2006-04-04  Adele Peterson  <adele@apple.com>
1228
1229         Reviewed by Justin.
1230
1231         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8158
1232         REGRESSION: Clicking past RTL text in a new text field puts the caret on the wrong side of the text
1233
1234         Tests:
1235         editing/selection/caret-rtl.html
1236         editing/selection/caret-rtl-2.html
1237
1238         * rendering/RenderText.cpp: (WebCore::RenderText::positionForCoordinates):
1239         When calculating the position for the beginning or end of an InlineTextBox,
1240         we now use offsetForPosition instead of just using m_start and m_len, because
1241         offsetForPosition will take rtl text into account.  I also made some formatting
1242         changes.
1243
1244 2006-04-04  David Hyatt  <hyatt@apple.com>
1245
1246         Fix for bug 8065, inline blocks incorrectly loses spaces between them.
1247
1248         Reviewed by beth
1249
1250         * dom/Text.cpp:
1251         (WebCore::Text::rendererIsNeeded):
1252
1253 2006-04-04  Adele Peterson  <adele@apple.com>
1254
1255         Reviewed by Hyatt.
1256
1257         - Fix for:
1258         http://bugzilla.opendarwin.org/show_bug.cgi?id=8092
1259         REGRESSION (NativeTextField): table contents misaligned in Netflix queue
1260
1261         http://bugzilla.opendarwin.org/show_bug.cgi?id=8141
1262         REGRESSION: Native text field fails to wrap inside table
1263
1264         http://bugzilla.opendarwin.org/show_bug.cgi?id=8072
1265         REGRESSION: text fields at connect.apple.com spill out of the containing box
1266
1267         Test: fast/forms/input-table.html
1268
1269         Rewrote calcMinMaxWidth for text fields so it considers width, 
1270         min-width, and max-width settings as well as the size attribute.
1271
1272         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
1273
1274 2006-04-04  Beth Dakin  <bdakin@apple.com>
1275
1276         Reviewed by Darin.
1277
1278         This is a followup to my fix for <rdar://problem/4493218>
1279         
1280         This patch re-names computeIntLength() and computeShortLength() to 
1281         be computeLengthInt() and computeLengthShort(), respectively, to 
1282         match the pre-existing computeLengthFloat(). This patch also adds 
1283         the slightly confusing-ly named computeLengthIntForLength() which 
1284         uses the max and min values of a 28-bit integer as bounds for 
1285         overflow. This function is necessary because Length objects expect 
1286         28-bit integers. 
1287
1288         * css/css_valueimpl.cpp:
1289         (WebCore::CSSPrimitiveValue::computeLengthInt):
1290         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
1291         (WebCore::CSSPrimitiveValue::computeLengthShort):
1292         * css/css_valueimpl.h:
1293         * css/cssstyleselector.cpp:
1294         (WebCore::convertToLength):
1295         (WebCore::CSSStyleSelector::applyProperty):
1296         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
1297         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
1298
1299 2006-04-04  Timothy Hatcher  <timothy@apple.com>
1300
1301         Reviewed by Darin.
1302
1303         The Debug and Release frameworks are now built with install paths relative to the build products directory.
1304         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
1305
1306         * WebCore.xcodeproj/project.pbxproj:
1307
1308 2006-04-04  Justin Garcia  <justin.garcia@apple.com>
1309
1310         Reviewed by darin
1311         
1312         <http://bugzilla.opendarwin.org/show_bug.cgi?id=6608>
1313         REGRESSION: Line disappears when deleting
1314         
1315         Rewrote moveNodesAfterNode to address these problems:
1316         It moved nodes without preserving their style. 
1317         It traversed over siblings looking for a br to know when
1318         to stop merging.  If the br was burried inside a span, it 
1319         wouldn't find it.  If the text is whitespace:pre, it wouldn't
1320         stop.
1321         In theory it would crash if the "enclosingInlineElements" of the start of the
1322         selection to delete and the end of the selection to delete were the
1323         same.  We think that this will fix these:
1324         <rdar://problems/3950559&4498113>
1325         CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32
1326         CrashTracer: 1569 crashes in Mail at com.apple.WebCore: khtml::DeleteSelectionCommand::moveNodesAfterNode + 340
1327         But we haven't been able to construct a reproducible case.
1328         
1329         * editing/CompositeEditCommand.cpp:
1330         (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Moved from ReplaceSelectionCommand.
1331         (WebCore::CompositeEditCommand::prune): Ditto.
1332         * editing/CompositeEditCommand.h:
1333         * editing/DeleteSelectionCommand.cpp:
1334         (WebCore::DeleteSelectionCommand::mergeParagraphs):
1335         (WebCore::DeleteSelectionCommand::doApply):
1336         * editing/DeleteSelectionCommand.h:
1337         * editing/ReplaceSelectionCommand.cpp:
1338         (WebCore::ReplaceSelectionCommand::doApply):
1339         * editing/ReplaceSelectionCommand.h:
1340         (WebCore::):
1341         * editing/markup.cpp:
1342         (WebCore::createMarkup): 
1343         Was crashing when passed a collapsed range.  I early return an empty string instead.
1344
1345 2006-04-04  John Sullivan  <sullivan@apple.com>
1346
1347         Reviewed by Adele Peterson.
1348         
1349         - WebCore part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
1350
1351         * bridge/mac/WebCoreSettings.h:
1352         * bridge/mac/WebCoreSettings.mm:
1353         (-[WebCoreSettings setPrivateBrowsingEnabled:]):
1354         (-[WebCoreSettings privateBrowsingEnabled]):
1355         Teach WebCoreSettings about private browsing (WebKit knew, but WebCore didn't)
1356         
1357         * kwq/KWQKHTMLSettings.h:
1358         (KHTMLSettings::privateBrowsingEnabled):
1359         (KHTMLSettings::setPrivateBrowsingEnabled):
1360         Teach KHTMLSettings about private browsing
1361         
1362         * kwq/KWQLineEdit.mm:
1363         Fix wrong class in a category method declaration; the compiler didn't seem to mind.
1364         
1365         * kwq/WebCoreTextField.mm:
1366         (-[KWQSearchFieldCell _addStringToRecentSearches:]):
1367         Override this method to bail out if private browsing is enabled.
1368
1369 2006-04-04  Trey Matteson  <trey@usa.net>
1370
1371         Reviewed by Hyatt.
1372
1373         http://bugzilla.opendarwin.org/show_bug.cgi?id=7951
1374         REGRESSION: Safari crashes when printing a google map w/directions
1375
1376         Tests: none, because I believe it only happens when printing, due to the relayouts
1377
1378         * rendering/RenderTable.cpp:
1379         (WebCore::RenderTable::recalcSectionsIfNeeded): Add new utility to let the cells
1380         ensure the sections' grid data is up to date.
1381         * rendering/RenderTable.h:
1382         * rendering/RenderTableCell.cpp:
1383         (WebCore::RenderTableCell::calcMinMaxWidth):  Call above method.
1384
1385 2006-04-03  Justin Haygood <jhaygood@spsu.edu>
1386
1387         Reviewed by eseidel.  Landed by eseidel.
1388         
1389         - WIN32: maximumScroll() is the maximum scroll delta, not the maximum scroll position. Update to use
1390           the real maximum scroll position.
1391         http://bugzilla.opendarwin.org/show_bug.cgi?id=8160
1392
1393         * platform/win/ScrollViewWin.cpp:
1394         (WebCore::ScrollView::updateScrollBars):
1395
1396 2006-04-04  Eric Seidel  <eseidel@apple.com>
1397
1398         Reviewed by andersca.
1399
1400         Work-around spaces-in-pathnames issue in gnumake on win32.
1401         http://bugzilla.opendarwin.org/show_bug.cgi?id=8173
1402
1403         * WebCore.vcproj/WebCore/build-generated-files.sh:
1404
1405 2006-04-03  Darin Adler  <darin@apple.com>
1406
1407         - tried to fix build again
1408
1409         * WebCore.xcodeproj/project.pbxproj: Removed JSStyleSheet files.
1410         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
1411
1412 2006-04-03  Darin Adler  <darin@apple.com>
1413
1414         - fixed properties on a bunch of files
1415           (removed allow-tabs and svn:executable from many)
1416
1417         * css/css_base.cpp:
1418         * html/html_headimpl.cpp:
1419         * khtml/ecma/kjs_traversal.cpp:
1420         * kwq/DeprecatedPtrListImpl.cpp:
1421         * kwq/DeprecatedValueListImpl.cpp:
1422         * loader/CachedScript.h:
1423         * platform/ArrayImpl.cpp:
1424         * platform/StringImpl.cpp:
1425         * rendering/DataRef.h:
1426         * rendering/RenderContainer.cpp:
1427         * rendering/RenderTableCell.cpp:
1428         * rendering/bidi.h:
1429         * rendering/render_list.cpp:
1430         * rendering/render_style.cpp:
1431         * rendering/table_layout.h:
1432         Converted tabs to spaces.
1433
1434 2006-04-03  Alexey Proskuryakov  <ap@nypop.com>
1435
1436         Reviewed by Darin.
1437
1438         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7118
1439           Property values with extra items do not get treated as invalid (they should)
1440
1441         Tests: fast/css/invalidation-errors.html
1442                fast/css/invalidation-errors-2.html
1443                fast/css/invalidation-errors-3.html
1444
1445         * css/CSSGrammar.y: Rollback the properties added by parseValue() when it returns false.
1446         * css/cssparser.h: Moved shorthand counting to ShorthandScope, a new class in cssparser.cpp.
1447         * css/cssparser.cpp:
1448         (WebCore::CSSParser::rollbackLastProperties): Added.
1449         (WebCore::CSSParser::parseValue): Return false if there are too many properties in the list.
1450         (WebCore::CSSParser::parseBackgroundShorthand): Use ShorthandScope.
1451         (WebCore::CSSParser::parseShorthand): Ditto.
1452         (WebCore::CSSParser::parse4Values): Ditto.
1453
1454 2006-04-03  Darin Adler  <darin@apple.com>
1455
1456         - changed StyleSheet back to hand-generated since the generated toJS
1457           function was not making the right type of wrapper for CSS style sheets
1458           (fixes failing layout tests)
1459
1460         * DerivedSources.make: Removed JSStyleSheet.h.
1461         * css/StyleSheet.idl: Removed.
1462         * khtml/ecma/kjs_css.cpp: Added DOMStyleSheet back in.
1463         * khtml/ecma/kjs_css.h: Ditto.
1464
1465 2006-04-03  Darin Adler  <darin@apple.com>
1466
1467         - fixed Macintosh build
1468
1469         * WebCore.xcodeproj/project.pbxproj: Fixed paths of some files that were absolute
1470         paths from my machine.
1471
1472 2006-04-03  Darin Adler  <darin@apple.com>
1473
1474         - try to fix Windows build
1475
1476         * WebCore.vcproj/WebCore/WebCore.vcproj: Add three new generated files as source files.
1477
1478 2006-04-03  Darin Adler  <darin@apple.com>
1479
1480         Reviewed by Maciej.
1481
1482         - get RTL right for bug http://bugzilla.opendarwin.org/show_bug.cgi?id=8106
1483           REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus
1484
1485         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent):
1486         Scroll to the right if RTL.
1487
1488 2006-04-03  Darin Adler  <darin@apple.com>
1489
1490         Reviewed by Maciej.
1491
1492         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8147
1493           convert derived sources script to a Makefile
1494
1495         * DerivedSources.make: Added.
1496         * css/CSSPrimitiveValue.idl: Added.
1497         * css/Counter.idl: Added.
1498         * css/StyleSheet.idl: Added.
1499
1500         * WebCore.xcodeproj/project.pbxproj: Added new generated files, IDLs, and the makefile.
1501         * bindings/scripts/CodeGeneratorJS.pm:
1502
1503         * generate-derived-sources: Added license header. Removed most of the script, except for
1504         a single invocation of make.
1505
1506         * khtml/ecma/kjs_css.h: Removed DOMStyleSheet, DOMCSSPrimitiveValue,
1507         CSSPrimitiveValueConstructor, and DOMCounter.
1508         * khtml/ecma/kjs_css.cpp:
1509         (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet): Changed to use JSStyleSheet as the base class.
1510         (KJS::DOMCSSStyleSheet::getOwnPropertySlot): Ditto.
1511         (KJS::DOMCSSValueProtoFunc::callAsFunction): Added.
1512         (KJS::toJS): Changed to use JSCSSPrimitiveValue.
1513         (KJS::DOMRGBColor::getValueProperty): Changed to call toJS instead of making a
1514         DOMCSSPrimitiveValue directly.
1515
1516 2006-04-03  Justin Garcia  <justin.garcia@apple.com>
1517
1518         Reviewed by harrison
1519         
1520         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8117>
1521         REGRESSION (NativeTextField): Drag and drop text within a text input field modifies page
1522         
1523         The frame's selection is only set after all sub-commands have been 
1524         performed.  When we send the khtmlBeforeTextInsertedEvent to the root 
1525         editable element we were using frame->selection(), which may no longer 
1526         be in the document.
1527         
1528         Had to move the construction of the ReplacementFragment to when the
1529         replace operation is applied, because endingSelection isn't the 
1530         endingSelection of the last operation when the replace operation
1531         is constructed.
1532
1533         * editing/ReplaceSelectionCommand.cpp:
1534         (WebCore::ReplacementFragment::ReplacementFragment):
1535         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
1536         (WebCore::ReplaceSelectionCommand::doApply):
1537         * editing/ReplaceSelectionCommand.h:
1538
1539 2006-04-03  Beth Dakin  <bdakin@apple.com>
1540
1541         Reviewed by Hyatt.
1542
1543         Fix for <rdar://problem/4495644> crash when mousing over links at 
1544         nationalrealestateinvestors.com in 
1545         WebCore::RenderBlock::findNextLineBreak
1546
1547         This is a fix for a repro crasher where a rootLineBox had a stale 
1548         pointer to a render object.
1549
1550         * rendering/RenderFlow.cpp:
1551         (WebCore::RenderFlow::dirtyLinesFromChangedChild): Only break from 
1552         the function because of selfNeedsLayout() if we are not an inline 
1553         flow, because if we are, we will not re-layout before bad things 
1554         can happen.
1555
1556 2006-04-03  Timothy Hatcher  <timothy@apple.com>
1557
1558         Reviewed by Maciej.
1559
1560         Removing idl files and some scripts from the WebCore target to prevent
1561         them from being copied into the Resources.
1562
1563         * WebCore.xcodeproj/project.pbxproj:
1564
1565 2006-04-03  Dave Hyatt  <hyatt@apple.com>
1566
1567         Implement basic theme support on Win32.  Still much to do, but
1568         the backgrounds of buttons, textfields, checkboxes and radio
1569         controls now draw correctly.  Still work to do for the Classic look
1570         and to get the foreground defaults of the controls correct.
1571
1572         Reviewed by anders
1573
1574         * dom/Node.h:
1575         (WebCore::Node::isReadOnly):
1576         * html/HTMLInputElement.h:
1577         (WebCore::HTMLInputElement::isReadOnly):
1578         * platform/win/IntRectWin.cpp:
1579         (WebCore::IntRect::operator RECT):
1580         * rendering/RenderTheme.cpp:
1581         (WebCore::RenderTheme::isControlStyled):
1582         (WebCore::RenderTheme::stateChanged):
1583         (WebCore::RenderTheme::isReadOnly):
1584         (WebCore::RenderTheme::isHovered):
1585         * rendering/RenderTheme.h:
1586         (WebCore::RenderTheme::supportsHover):
1587         * rendering/RenderThemeMac.h:
1588         * rendering/RenderThemeMac.mm:
1589         (WebCore::RenderThemeMac::isControlStyled):
1590         * rendering/RenderThemeWin.cpp:
1591         (WebCore::m_textFieldTheme):
1592         (WebCore::RenderThemeWin::~RenderThemeWin):
1593         (WebCore::RenderThemeWin::close):
1594         (WebCore::RenderThemeWin::supportsFocus):
1595         (WebCore::RenderThemeWin::determineState):
1596         (WebCore::RenderThemeWin::getThemeData):
1597         (WebCore::RenderThemeWin::paintButton):
1598         (WebCore::RenderThemeWin::setCheckboxSize):
1599         (WebCore::RenderThemeWin::setRadioSize):
1600         (WebCore::RenderThemeWin::paintTextField):
1601         * rendering/RenderThemeWin.h:
1602         (WebCore::ThemeData::m_state):
1603         (WebCore::RenderThemeWin::supportsHover):
1604         (WebCore::RenderThemeWin::paintCheckbox):
1605         (WebCore::RenderThemeWin::paintRadio):
1606
1607 2006-04-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1608
1609         Reviewed by Beth.
1610
1611         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8085
1612           REGRESSION: Main menu positioned incorrectly on eia.org and fedex.com/us
1613
1614         Test: fast/dom/Element/offsetTop-table-cell.html
1615
1616         * rendering/RenderObject.cpp:
1617         (WebCore::RenderObject::offsetTop): Skip table rows when adding up
1618         the offsets, since a table cell's yPos() is relative to the table
1619         section, not the row.
1620
1621 2006-04-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1622
1623         Test: fast/repaint/layer-outline.html fast/repaint/layer-outline-horizontal.html
1624
1625         Reviewed by Darin.
1626
1627         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7943
1628           Layer outline does not repaint
1629
1630         * rendering/RenderLayer.cpp:
1631         (WebCore::RenderLayer::paintLayer): Use the outlineRect for the
1632         outline phase and do it only if the outlineRect isn't empty.
1633         (WebCore::RenderLayer::calculateRects): Actually add the outline width to the
1634         outline rect.
1635
1636 2006-04-03  Adele Peterson  <adele@apple.com>
1637
1638         Reviewed by Justin.
1639
1640         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8104
1641         REGRESSION (NativeTextField): New text fields should not allow pasting newlines
1642
1643         Test: fast/forms/input-truncate-newline.html
1644
1645         * html/HTMLInputElement.cpp:
1646         (WebCore::minPosition): Added helper function.
1647         (WebCore::HTMLInputElement::defaultEventHandler): Searches for /r or /n and 
1648          truncates the text to be inserted to the earliest newline.
1649
1650 2006-04-03  Alexey Proskuryakov  <ap@nypop.com>
1651
1652         Fixed a comment (forgot to save the file before the previous commit).
1653
1654         * xml/xmlhttprequest.cpp:
1655         (WebCore::XMLHttpRequest::open):
1656
1657 2006-04-03  Alexey Proskuryakov  <ap@nypop.com>
1658
1659         Reviewed by Darin.
1660
1661         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8099
1662           REGRESSION: XMLHttpRequest lowercase post requests broken
1663
1664         Test: http/tests/xmlhttprequest/methods-lower-case.html
1665
1666         * xml/xmlhttprequest.cpp:
1667         (WebCore::XMLHttpRequest::open): Uppercase some HTTP method names, to match a Firefox quirk.
1668         (WebCore::XMLHttpRequest::send): Account for the above change.
1669
1670 2006-04-02  Graham Dennis  <Graham.Dennis@gmail.com>
1671
1672         Reviewed by Darin.
1673
1674         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8032
1675           REGRESSION: Focus ring not completely redrawn after a Delete changes its size
1676
1677         * rendering/RenderObject.cpp:
1678         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): When an element changes size, the
1679         delta rectangles that need to be invalidated must be inflated by the outline size to ensure
1680         that the previous outline is erased, and the space where the new outline is to be drawn is
1681         also invalidated. This behaviour is identical to the behaviour of borders that was fixed in
1682         bug 6301.
1683         * manual-tests/outline-repaint-glitch.html: Added. Manual testcase.
1684         This is just an outline version of border-repaint-glitch.html
1685
1686 2006-04-02  Trey Matteson  <trey@usa.net>
1687
1688         Reviewed by Maciej.
1689
1690         Support for fixing http://bugzilla.opendarwin.org/show_bug.cgi?id=8121
1691         REGRESSION: 404s are not displayed
1692
1693         * bridge/mac/WebCoreFrameBridge.mm:
1694         (-[WebCoreFrameBridge currentForm]): Nuke redundant nil check.
1695         (-[WebCoreFrameBridge frameElement]): Tweak to not rely on our document, which
1696         gives a correct result even at the start of our loading process.
1697         * bindings/objc/DOM.mm:
1698         (-[DOMDocument _ownerElement]): Nuke redundant nil check.
1699
1700 2006-04-02  David Kilzer  <ddkilzer@kilzer.net>
1701
1702         Reviewed by Maciej.
1703
1704         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8079
1705         REGRESSION: Redraw from page cache does not show visited links
1706
1707         * page/Frame.cpp: (WebCore::Frame::reparseConfiguration): Added back
1708         updateStyleSelector call that was removed as part of the patch for bug 7907.
1709
1710 2006-04-02  Maciej Stachowiak  <mjs@apple.com>
1711
1712         Reviewed by Hyatt.
1713
1714         - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
1715         - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
1716         (http://bugzilla.opendarwin.org/show_bug.cgi?id=6811)
1717         - fixed tab and shift tab don't select the right things
1718         http://bugzilla.opendarwin.org/show_bug.cgi?id=5685
1719
1720         * bridge/mac/FrameMac.mm:
1721         (WebCore::FrameMac::nextKeyViewInFrame):
1722         * bridge/mac/WebCoreFrameBridge.h:
1723
1724 2006-04-02  Darin Adler  <darin@apple.com>
1725
1726         - add a few stubs to get Windows closer to building
1727
1728         * platform/win/TemporaryLinkStubs.cpp:
1729         (WebCore::focusRingColor):
1730         (WebCore::setFocusRingColorChangeFunction):
1731         (Frame::setNeedsReapplyStyles):
1732
1733 2006-04-02  Darin Adler  <darin@apple.com>
1734
1735         - fix the build
1736
1737         * WebCore.xcodeproj/project.pbxproj: Removed a bunch of files that should not have been
1738         mentioned at all, and a bunch of others that should be in the project but not in the target.
1739
1740 2006-04-02  Darin Adler  <darin@apple.com>
1741
1742         Reviewed by Adele.
1743
1744         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8123
1745           focus ring on new text field doesn't look like the old one
1746
1747         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7685
1748           Focus ring color should change to match graphite when system theme is graphite
1749
1750         - some cleanup to how we parse user agent style sheets
1751
1752         * css/CSSValueKeywords.in: Added -webkit-focus-ring-color.
1753
1754         * css/cssstyleselector.cpp:
1755         (WebCore::parseUASheet): Parse an array of chars instead of UTF-16.
1756         Cuts the size of the style sheet in half.
1757         (WebCore::CSSStyleSelector::applyProperty): Allow negative value for
1758         outline-offset. Changed shadow parsing to use getColorFromPrimitiveValue
1759         instead of repeating the same logic.
1760         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Added a case
1761         for the focus ring color.
1762         * rendering/render_style.h: (WebCore::RenderStyle::setOutlineOffset):
1763         Changed to allow negative values.
1764
1765         * css/html4.css: Removed a lot of excess spaces. Changed color of focus
1766         to -webkit-focus-ring-color. Changed width of focus to 5px.
1767         Added an outline-offset for <input type=text> of -2px.
1768
1769         * css/cssparser.cpp:
1770         (WebCore::CSSParser::parseValue): Added focus ring color as an outline color all
1771         the time, and as any other color when not in strict mode. I'm confused about what's
1772         best for this whole strict mode policy, and I may need advice on Hyatt to perfect
1773         this one later.
1774         (WebCore::CSSParser::parseColorFromValue): Removed code to pin r, g, and b because
1775         the functions in platform already take care of that. Kept the pinning of a, though
1776         because that's done in floating point before converting to an integer.
1777         (WebCore::CSSParser::parseShadow): Allow focus ring color when not in strict mode.
1778
1779         * bridge/mac/FrameMac.h: Eliminated the virtual detachFromView function.
1780         * bridge/mac/FrameMac.mm:
1781         (WebCore::FrameMac::FrameMac): Eliminated code to maintain the frame instances list.
1782         (WebCore::FrameMac::~FrameMac): Ditto.
1783         (WebCore::Frame::setNeedsReapplyStyles): Added.
1784
1785         * bridge/mac/WebCoreSettings.mm: (-[WebCoreSettings _updateAllViews]):
1786         * platform/mac/WebCoreTextRendererFactory.mm:
1787         (-[WebCoreTextRendererFactory clearCaches]):
1788         Changed to call the new Page::setNeedsReapplyStylesForSettingsChange instead of using the
1789         obsolete Frame::instances.
1790
1791         * page/Frame.h: Removed instances, mutableInstances, and detachFromView.
1792         * page/Frame.cpp: Ditto.
1793
1794         * page/FrameTree.cpp:
1795         (WebCore::FrameTree::~FrameTree): Call setView(0) instead of detachFromView().
1796         (WebCore::FrameTree::removeChild): Ditto.
1797
1798         * page/Page.h:
1799         * page/Page.cpp:
1800         (WebCore::Page::init): Added a set of pages instead of a page count. Also
1801         register a function for when the focus ring color changes the first time this
1802         is called.
1803         (WebCore::Page::~Page): Call setView(0) instead of detachFromView. Also update
1804         to manager the set of pages.
1805         (WebCore::Page::setNeedsReapplyStyles): Call setNeedsReapplyStyles on all frames.
1806         (WebCore::Page::setNeedsReapplyStylesForSettingsChange): Call setNeedsReapplyStyles
1807         on all frames with the passed-in settings.
1808
1809         * css/make-css-file-arrays.pl: Changed to run the C preprocessor on the
1810         input files and to generate an array of char instead of unsigned short.
1811
1812         * platform/PlatformString.h: Added a constructor that takes a char* and
1813         a length.
1814         * platform/String.cpp: (WebCore::String::String): Ditto.
1815
1816         * WebCore.xcodeproj/project.pbxproj: Just some tweaks; adding in a few files like
1817         the user agent style sheets.
1818
1819         * platform/Color.h: Removed all use of DeprecatedString. Cleaned up a bit.
1820         Added focusRingColor and setFocusRingColorChangeFunction.
1821         * platform/Color.cpp:
1822         (WebCore::makeRGB): Rewrote using max and min.
1823         (WebCore::makeRGBA): Ditto.
1824         (WebCore::parseHexColor): Cleaned up a bit; changed partway to String instead of
1825         DeprecatedString.
1826         (WebCore::Color::Color): Changed to use String and to call setNamedColor to save code.
1827         (WebCore::Color::setNamedColor): Changed to use String in the interface.
1828
1829         * platform/mac/ColorMac.mm:
1830         (WebCore::observeTheme): Added. Function used to start up the observer.
1831         (WebCore::setFocusRingColorChangeFunction): Added. Used to get a call back so we can
1832         update all the views when the color changes (including recomputing style to get the
1833         color change in).
1834         (WebCore::setFocusRingColorChangeFunction): Added. Returns one of the two focus
1835         ring colors. Both of these match what AppKit uses -- neither matches what we used
1836         to have in the html4.css file.
1837         (+[WebCoreControlTintObserver controlTintDidChange]): Added. Used to update when
1838         the appearance is changed from blue to graphite and back. We keep a global so we
1839         don't have to call over to AppKit every time; that's probably overkill but we need
1840         the obsever for the color change function anyway.
1841
1842 2006-04-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1843
1844         Test: fast/inline-block/overflow-clip.html
1845
1846         Reviewed by Darin.
1847
1848         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8118
1849           REGRESSION (r13595): Inline block's clipped overflow increases table row height
1850
1851         * rendering/render_line.cpp:
1852         (WebCore::InlineFlowBox::placeBoxesVertically): Don't look at interior overflow
1853         when calculating the contribution to the inline's vertical overflows.
1854
1855 2006-04-02  Eric Seidel  <eseidel@apple.com>
1856
1857         Reviewed by andersca.
1858
1859         Make WebCore safe against KJS::Node in JavaScriptCore private headers.
1860
1861         * editing/ReplaceSelectionCommand.h:
1862         * khtml/ecma/JSXMLSerializer.cpp:
1863         (KJS::XMLSerializerProtoFunc::callAsFunction):
1864         * khtml/ecma/JSXSLTProcessor.cpp:
1865         (KJS::XSLTProcessorProtoFunc::callAsFunction):
1866         * khtml/ecma/kjs_binding.cpp:
1867         (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
1868         (KJS::ScriptInterpreter::putDOMNodeForDocument):
1869         * khtml/ecma/kjs_dom.cpp:
1870         (KJS::DOMNode::DOMNode):
1871         (KJS::DOMNode::mark):
1872         (KJS::DOMNode::getValueProperty):
1873         (KJS::DOMNode::putValueProperty):
1874         (KJS::DOMNodeProtoFunc::callAsFunction):
1875         (KJS::toNode):
1876         (KJS::DOMEventTargetNode::DOMEventTargetNode):
1877         (KJS::DOMDocumentProtoFunc::callAsFunction):
1878         (KJS::DOMElement::putValueProperty):
1879         (KJS::DOMElementProtoFunc::callAsFunction):
1880         (KJS::checkNodeSecurity):
1881         (KJS::toJS):
1882         (KJS::getRuntimeObject):
1883         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
1884         (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
1885         * khtml/ecma/kjs_events.cpp:
1886         (KJS::JSLazyEventListener::JSLazyEventListener):
1887         (KJS::ClipboardProtoFunc::callAsFunction):
1888         * khtml/ecma/kjs_html.cpp:
1889         (KJS::JSHTMLDocument::namedItemGetter):
1890         (KJS::JSHTMLElement::framesetNameGetter):
1891         (KJS::JSHTMLElement::getOwnPropertySlot):
1892         (KJS::JSHTMLElement::pushEventHandlerScope):
1893         (KJS::JSHTMLCollection::callAsFunction):
1894         (KJS::JSHTMLCollection::getNamedItems):
1895         (KJS::JSHTMLSelectCollection::put):
1896         * khtml/ecma/kjs_traversal.cpp:
1897         (KJS::JSNodeFilterCondition::acceptNode):
1898         * khtml/ecma/kjs_window.cpp:
1899         (KJS::Window::put):
1900         * kwq/KWQPageState.mm:
1901         (-[KWQPageState WebCore::]):
1902
1903 2006-04-01  Darin Adler  <darin@apple.com>
1904
1905         Reviewed by Eric.
1906
1907         - removed a bunch of unneeded ForwardingHeaders and WebCore+SVG headers
1908
1909         * ForwardingHeaders/kcanvas: Removed.
1910         * ForwardingHeaders/kcanvas/KCanvas.h: Removed.
1911         * ForwardingHeaders/kdom: Removed.
1912         * ForwardingHeaders/kdom/DOMString.h: Removed.
1913         * ForwardingHeaders/kdom/Helper.h: Removed.
1914         * ForwardingHeaders/kdom/KDOMSettings.h: Removed.
1915         * ForwardingHeaders/kdom/Namespace.h: Removed.
1916         * ForwardingHeaders/kdom/cache: Removed.
1917         * ForwardingHeaders/kdom/cache/KDOMCachedImage.h: Removed.
1918         * ForwardingHeaders/kdom/cache/KDOMCachedObject.h: Removed.
1919         * ForwardingHeaders/kdom/cache/KDOMCachedObjectClient.h: Removed.
1920         * ForwardingHeaders/kdom/cache/KDOMCachedScript.h: Removed.
1921         * ForwardingHeaders/kdom/cache/KDOMLoader.h: Removed.
1922         * ForwardingHeaders/kdom/core: Removed.
1923         * ForwardingHeaders/kdom/core/DOMConfiguration.h: Removed.
1924         * ForwardingHeaders/kdom/core/DOMException.h: Removed.
1925         * ForwardingHeaders/kdom/core/DOMList.h: Removed.
1926         * ForwardingHeaders/kdom/core/DOMString.h: Removed.
1927         * ForwardingHeaders/kdom/core/NamedAttrMap.h: Removed.
1928         * ForwardingHeaders/kdom/core/ProcessingInstruction.h: Removed.
1929         * ForwardingHeaders/kdom/core/domattrs.h: Removed.
1930         * ForwardingHeaders/kdom/ecma: Removed.
1931         * ForwardingHeaders/kdom/ecma/GlobalObject.h: Removed.
1932         * ForwardingHeaders/kdom/events: Removed.
1933         * ForwardingHeaders/kdom/events/Event.h: Removed.
1934         * ForwardingHeaders/kdom/events/EventListener.h: Removed.
1935         * ForwardingHeaders/kdom/events/EventTarget.h: Removed.
1936         * ForwardingHeaders/kdom/events/KeyboardEvent.h: Removed.
1937         * ForwardingHeaders/kdom/events/MouseEvent.h: Removed.
1938         * ForwardingHeaders/kdom/events/UIEvent.h: Removed.
1939         * ForwardingHeaders/kdom/events/kdomevents.h: Removed.
1940         * ForwardingHeaders/kdom/kdom.h: Removed.
1941         * ForwardingHeaders/kdom/parser: Removed.
1942         * ForwardingHeaders/kdom/parser/KDOMParser.h: Removed.
1943         * ForwardingHeaders/ksvg2: Removed.
1944         * ForwardingHeaders/ksvg2/KSVGPart.h: Removed.
1945         * ForwardingHeaders/ksvg2/KSVGView.h: Removed.
1946         * ForwardingHeaders/ksvg2/css: Removed.
1947         * ForwardingHeaders/ksvg2/css/CSSPropertyNames.h: Removed.
1948         * ForwardingHeaders/ksvg2/css/CSSValueKeywords.h: Removed.
1949         * WebCore+SVG/KDOMHeaders.h: Removed.
1950         * WebCore+SVG/Namespace.h: Removed.
1951         * WebCore+SVG/kdom.h: Removed.
1952
1953         * WebCore.xcodeproj/project.pbxproj: Removed headers.
1954
1955         * kcanvas/KCanvasCreator.cpp:
1956         * kcanvas/KCanvasResources.cpp:
1957         * kcanvas/KCanvasTreeDebug.cpp:
1958         * kcanvas/RenderPath.cpp:
1959         * kcanvas/RenderSVGImage.cpp:
1960         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1961         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
1962         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1963         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
1964         * ksvg2/css/SVGCSSStyleSelector.cpp:
1965         * ksvg2/events/SVGZoomEvent.h:
1966         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1967         * ksvg2/misc/KSVGTimeScheduler.cpp:
1968         * ksvg2/misc/SVGImageLoader.cpp:
1969         * ksvg2/svg/SVGAElement.cpp:
1970         * ksvg2/svg/SVGAnimationElement.cpp:
1971         * ksvg2/svg/SVGCircleElement.cpp:
1972         * ksvg2/svg/SVGClipPathElement.cpp:
1973         * ksvg2/svg/SVGCursorElement.cpp:
1974         * ksvg2/svg/SVGCursorElement.h:
1975         * ksvg2/svg/SVGDOMImplementation.cpp:
1976         * ksvg2/svg/SVGDocument.cpp:
1977         * ksvg2/svg/SVGDocument.h:
1978         * ksvg2/svg/SVGElement.cpp:
1979         * ksvg2/svg/SVGEllipseElement.cpp:
1980         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
1981         * ksvg2/svg/SVGExternalResourcesRequired.h:
1982         * ksvg2/svg/SVGFEBlendElement.cpp:
1983         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1984         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1985         * ksvg2/svg/SVGFECompositeElement.cpp:
1986         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1987         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1988         * ksvg2/svg/SVGFEFloodElement.cpp:
1989         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1990         * ksvg2/svg/SVGFEImageElement.cpp:
1991         * ksvg2/svg/SVGFEImageElement.h:
1992         * ksvg2/svg/SVGFELightElement.cpp:
1993         * ksvg2/svg/SVGFEMergeElement.cpp:
1994         * ksvg2/svg/SVGFEOffsetElement.cpp:
1995         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1996         * ksvg2/svg/SVGFETileElement.cpp:
1997         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1998         * ksvg2/svg/SVGFilterElement.cpp:
1999         * ksvg2/svg/SVGGradientElement.cpp:
2000         * ksvg2/svg/SVGHelper.cpp:
2001         * ksvg2/svg/SVGImageElement.cpp:
2002         * ksvg2/svg/SVGLangSpace.cpp:
2003         * ksvg2/svg/SVGLength.cpp:
2004         * ksvg2/svg/SVGLineElement.cpp:
2005         * ksvg2/svg/SVGLinearGradientElement.cpp:
2006         * ksvg2/svg/SVGList.h:
2007         * ksvg2/svg/SVGLocatable.cpp:
2008         * ksvg2/svg/SVGMarkerElement.cpp:
2009         * ksvg2/svg/SVGMarkerElement.h:
2010         * ksvg2/svg/SVGMaskElement.cpp:
2011         * ksvg2/svg/SVGPathElement.cpp:
2012         * ksvg2/svg/SVGPatternElement.cpp:
2013         * ksvg2/svg/SVGPolyElement.cpp:
2014         * ksvg2/svg/SVGPolygonElement.cpp:
2015         * ksvg2/svg/SVGPolylineElement.cpp:
2016         * ksvg2/svg/SVGRadialGradientElement.cpp:
2017         * ksvg2/svg/SVGRectElement.cpp:
2018         * ksvg2/svg/SVGSVGElement.cpp:
2019         * ksvg2/svg/SVGStopElement.cpp:
2020         * ksvg2/svg/SVGStyleElement.cpp:
2021         * ksvg2/svg/SVGStyledElement.cpp:
2022         * ksvg2/svg/SVGStyledLocatableElement.cpp:
2023         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2024         * ksvg2/svg/SVGTextElement.cpp:
2025         * ksvg2/svg/SVGTransformable.cpp:
2026         * ksvg2/svg/SVGUseElement.cpp:
2027         * ksvg2/svg/SVGViewElement.cpp:
2028         Updated includes.
2029
2030 2006-04-01  Darin Adler  <darin@apple.com>
2031
2032         Reviewed by Maciej.
2033
2034         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8089
2035           REGRESSION: Caret position is off in native text field with text-align:right
2036
2037         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8082
2038           REGRESSION: Empty RTL text fields place the caret on the left side
2039
2040         Need a way to make a test for this. No obvious way at the moment.
2041
2042         * rendering/RenderFlow.cpp: (WebCore::RenderFlow::caretRect):
2043         Consider border, padding, and the width of the caret properly in the
2044         calculation of the caret's X position.
2045
2046         * rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect):
2047         Fixed some similar issues and rewrote this function for clarity.
2048         However, I suspect this function was and remains broken and is almost
2049         never called.
2050
2051 2006-04-01  Darin Adler  <darin@apple.com>
2052
2053         Reviewed by Justin.
2054
2055         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8106
2056           REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus
2057
2058         Test: fast/forms/input-text-scroll-left-on-blur.html
2059
2060         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Pass blur events
2061         through to the RenderTextField, as well as mouse, drag, and wheel events.
2062         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): Scroll all the way to
2063         the left on a blur.
2064
2065         - unrelated small changes
2066
2067         * html/HTMLTextFieldInnerElement.cpp: Removed excess includes.
2068         (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Tweaked comments a bit.
2069
2070         * dom/Element.cpp:
2071         (WebCore::Element::scrollIntoView): Removed unneeded this-> before function call.
2072         (WebCore::Element::scrollIntoViewIfNeeded): Ditto.
2073
2074         * page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent): Removed obsolete comment.
2075
2076 2006-03-31  Maciej Stachowiak  <mjs@apple.com>
2077
2078         Reviewed by Adele.
2079         
2080         <rdar://problem/4497684> REGRESSION(NativeTextField): After undoing pasted text in a field, the field changes to only a few pixels in height (8096)
2081
2082         * editing/ReplaceSelectionCommand.cpp:
2083         (WebCore::ReplaceSelectionCommand::doApply): merge into start block when pasting into
2084         an empty editable subtree.
2085
2086 2006-04-01  Darin Adler  <darin@apple.com>
2087
2088         Reviewed by Maciej.
2089
2090         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8063
2091           REGRESSION: double clicking in new text fields won't select whole words
2092
2093         Test: fast/forms/input-text-double-click.html
2094
2095         * editing/visible_units.cpp: (WebCore::nextBoundary): Set the end of the range by
2096         calling selectNodeContents rather than by calling setEndAfter. The problem with
2097         setEndAfter is that it doesn't do anything when the parent of the node is 0, and
2098         also it's not really what we want, since the boundary node is one with editable
2099         contents -- we want to stay inside the boundary node.
2100
2101         * editing/Selection.cpp: (WebCore::Selection::validate): Fix a tiny formatting glitch
2102         I noticed at the same time.
2103
2104 2006-03-31  John Sullivan  <sullivan@apple.com>
2105
2106         Reviewed by Tim Hatcher.
2107         
2108         - fixed <rdar://problem/4372842> 10.4.4 Regression: control-clicking on a misspelled word 
2109         doesn't select it or offer corrections (first click only)
2110
2111         * bridge/mac/FrameMac.mm:
2112         (WebCore::FrameMac::sendContextMenuEvent):
2113         Rolled in this one-line change that Hyatt wrote ages ago.
2114
2115 2006-03-31  Beth Dakin  <bdakin@apple.com>
2116
2117         Reviewed by John.
2118
2119         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8108
2120         REGRESSION (r13590-r13593): Floating table's cells don't paint 
2121         their background
2122
2123         This is a regression from my painting patch yesterday. Just a silly 
2124         error I didn't catch.
2125
2126         * rendering/RenderTable.cpp:
2127         (WebCore::RenderTable::paint): Change the phase of our new 
2128         PaintInfo, not our old one.
2129
2130 2006-03-31  Tim Omernick  <timo@apple.com>
2131
2132         Reviewed by Adele.
2133
2134         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7858>
2135         <rdar://problem/4483359> REGRESSION: New text field doesn't recognize the read only attribute
2136         
2137         * rendering/RenderTextField.cpp:
2138         (WebCore::RenderTextField::createDivStyle):
2139         Set user modify based on the form element's readOnly().
2140         (WebCore::RenderTextField::updateFromElement):
2141         ditto
2142
2143 2006-03-31  Adele Peterson  <adele@apple.com>
2144
2145         Reviewed by Tim Omernick.
2146
2147         Updating shadowAncestorNode so it doesn't check for rootEditableElement.  Now we just walk
2148         up the tree to look for a shadowNode, and then we find the shadowParent.
2149
2150         * dom/Node.cpp: (WebCore::Node::shadowAncestorNode):
2151         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setSelectionRange):
2152          Updated assertion to check for shadowAncestorNode instead of rootEditableElement.
2153
2154 2006-03-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2155
2156         Reviewed by John Sullivan.
2157         
2158         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8101
2159           REGSRESSION: Fix for bug 7031 causes 30 layout tests to fail
2160
2161         * rendering/render_line.cpp:
2162         (WebCore::InlineFlowBox::placeBoxesVertically): Change top and bottom positions
2163         only if childAffectsTopBottomPos is true.
2164         * rendering/RenderFlow.cpp:
2165         (WebCore::RenderFlow::paintLines): Redo a part of the patch for bug 7031 that
2166         wasn't committed with the rest of the patch.
2167
2168 2006-03-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2169
2170         Reviewed by Darin, landed by Beth.
2171
2172         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8081
2173         REGRESSION: Drop-down menu has gap at top
2174
2175         * rendering/RenderBox.cpp:
2176         (WebCore::RenderBox::calcAbsoluteVerticalValues): When calculating 
2177         the hypothetical vertical position in normal flow, skip table rows 
2178         in the ancestor chain, since a table cell's Y position is relative 
2179         to the table section, not the row.
2180
2181 2006-03-31  Dave Hyatt <hyatt@apple.com>
2182
2183         Fix the border drawing for themes on Win32.
2184
2185         Reviewed by adele
2186
2187         * rendering/RenderBox.cpp:
2188         (WebCore::RenderBox::paintBoxDecorations):
2189         * rendering/RenderTheme.cpp:
2190         (WebCore::RenderTheme::paintBorderOnly):
2191         * rendering/RenderTheme.h:
2192
2193 2006-03-31  Darin Adler  <darin@apple.com>
2194
2195         Reviewed by John Sullivan.
2196
2197         * khtml/ecma/kjs_binding.cpp: Added names for VALIDATION_ERR and
2198         TYPE_MISMATCH_ERR; new DOM Level 3 errors that need to be listed in
2199         the mapping from error code to error name.
2200
2201         * dom/Element.idl: Removed comment from bad old days where we had to
2202         touch these files to make them rebuild.
2203
2204 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
2205
2206         - fixed Windows build breakage from previous change
2207
2208         * platform/ScrollView.h:
2209         * platform/win/FontWin.cpp:
2210         (WebCore::Font::drawLineForText):
2211         * platform/win/ScrollViewWin.cpp:
2212         (WebCore::ScrollView::scrollOffset):
2213         (WebCore::ScrollView::scrollBy):
2214
2215 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
2216
2217         Reviewed by Eric.
2218         
2219         - various Point / Size related cleanup
2220         
2221         First, I clarified the semantics of some operations to keep a
2222         better distinction between IntPoint and IntSize:
2223         
2224         * platform/IntPoint.h:
2225         (WebCore::IntPoint::move): new convenience to move a point by separate
2226         x and y deltas.
2227         (WebCore::operator+=): You can't add a point to a point, you can only add
2228         a size to a point.
2229         (WebCore::operator+): ditto
2230         (WebCore::operator-): point - point = size; point - size = point
2231         (WebCore::operator-=): only allow subtracting a size for the mutating version
2232         * platform/IntRect.h:
2233         (WebCore::IntRect::move): tweaked to use IntPoint::move, also, move by an IntSize,
2234         not an IntPoint.
2235         * platform/IntSize.h:
2236         (WebCore::IntSize::shrunkTo): analog to expandedTo
2237         (WebCore::IntSize::clampNegativeToZero): a handy helper
2238         (WebCore::operator-): Added unary minus operator
2239
2240         Made the same changes for FloatPoint:
2241         
2242         * platform/FloatPoint.h:
2243         (WebCore::FloatPoint::move):
2244         (WebCore::operator+=):
2245         (WebCore::operator-=):
2246         (WebCore::operator+):
2247         (WebCore::operator-):
2248         * platform/FloatRect.h:
2249         (WebCore::FloatRect::move):
2250         * platform/FloatSize.h:
2251         (WebCore::operator-):
2252
2253         Then I changed a bunch of stuff to pass around IntPoint instead of separate x and y
2254         coordinates. The main one was:
2255         
2256         * platform/ScrollView.h:
2257         * platform/mac/ScrollViewMac.mm:
2258         (WebCore::ScrollView::scrollOffset): new method, return an IntSize
2259         (WebCore::ScrollView::contentsToViewport): take and return an IntPoint
2260         (WebCore::ScrollView::viewportToContents): take and return an IntPoint
2261         * platform/win/ScrollViewWin.cpp:
2262         (WebCore::ScrollView::updateContents): handle things in terms of scrollOffset,
2263         not scrollPoint
2264         (WebCore::ScrollView::visibleContentRect):
2265         (WebCore::ScrollView::contentsX):
2266         (WebCore::ScrollView::contentsY):
2267         (WebCore::ScrollView::viewportToContents):
2268         (WebCore::ScrollView::contentsToViewport):
2269         (WebCore::scrollOffset):
2270         (WebCore::ScrollView::maximumScroll):
2271         (WebCore::ScrollView::scrollBy):
2272         (WebCore::ScrollView::updateScrollBars):
2273
2274         The rest is mainly updates for these changes.
2275
2276         * bridge/mac/FrameMac.h:
2277         * bridge/mac/FrameMac.mm:
2278         (WebCore::FrameMac::eventMayStartDrag):
2279         (WebCore::FrameMac::dragHysteresisExceeded):
2280         (WebCore::FrameMac::handleMouseMoveEvent):
2281         (WebCore::FrameMac::mouseDown):
2282         (WebCore::FrameMac::shouldDragAutoNode):
2283         (WebCore::FrameMac::sendContextMenuEvent):
2284         * bridge/mac/WebCoreFrameBridge.mm:
2285         (-[WebCoreFrameBridge isPointInsideSelection:]):
2286         * dom/EventTargetNode.cpp:
2287         (WebCore::EventTargetNode::dispatchMouseEvent):
2288         (WebCore::EventTargetNode::dispatchWheelEvent):
2289         * khtml/ecma/kjs_window.cpp:
2290         (KJS::WindowFunc::callAsFunction):
2291         * page/Frame.cpp:
2292         (WebCore::Frame::shouldDragAutoNode):
2293         (WebCore::Frame::isPointInsideSelection):
2294         (WebCore::Frame::selectClosestWordFromMouseEvent):
2295         (WebCore::Frame::handleMousePressEventDoubleClick):
2296         (WebCore::Frame::handleMousePressEventTripleClick):
2297         (WebCore::Frame::handleMousePressEventSingleClick):
2298         (WebCore::Frame::handleMouseMoveEventPart2):
2299         (WebCore::Frame::handleMouseReleaseEvent):
2300         * page/Frame.h:
2301         * page/FrameView.cpp:
2302         (WebCore::FrameView::dispatchDragEvent):
2303         (WebCore::FrameView::prepareMouseEvent):
2304         (WebCore::FrameView::handleWheelEvent):
2305         * rendering/RenderLayer.cpp:
2306         (WebCore::RenderLayer::scrollRectToVisible):
2307         * rendering/RenderObject.cpp:
2308         (WebCore::RenderObject::draggableNode):
2309         * rendering/RenderObject.h:
2310         (WebCore::RenderObject::positionForPoint):
2311         * rendering/render_list.cpp:
2312         (WebCore::RenderListMarker::paint):
2313
2314 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
2315
2316         - fixed windows build
2317
2318         * platform/win/TemporaryLinkStubs.cpp:
2319         (Widget::unlockDrawingFocus):
2320
2321 2006-03-31  Eric Seidel  <eseidel@apple.com>
2322
2323         Reviewed by mjs.
2324
2325         A bit more code cleanup.
2326
2327         * bridge/mac/WebCoreScriptDebugger.mm:
2328         (-[WebCoreScriptCallFrame evaluateWebScript:]):
2329         * html/HTMLFormElement.cpp:
2330         (WebCore::HTMLFormElement::submit):
2331         * html/HTMLInputElement.cpp:
2332         (WebCore::HTMLInputElement::setValue):
2333         * kwq/WebCoreTextField.mm:
2334         (-[KWQTextFieldController textView:shouldHandleEvent:]):
2335         (-[KWQSecureTextField selectText:]):
2336         * page/Frame.cpp:
2337         (WebCore::Frame::submitForm):
2338         * platform/Widget.h:
2339         * platform/mac/WidgetMac.mm:
2340         * rendering/render_frames.cpp:
2341         (WebCore::RenderFrameSet::userResize):
2342
2343 2006-03-30  Maciej Stachowiak  <mjs@apple.com>
2344
2345         Reviewed by Eric.
2346
2347         * bridge/mac/FrameMac.mm:
2348         (WebCore::FrameMac::wheelEvent):
2349         (WebCore::FrameMac::eventMayStartDrag):
2350         (WebCore::FrameMac::handleMouseMoveEvent):
2351         (WebCore::FrameMac::sendContextMenuEvent):
2352         * bridge/mac/WebCoreFrameBridge.mm:
2353         (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]):
2354         * dom/Document.cpp:
2355         (WebCore::Document::elementFromPoint):
2356         (WebCore::Document::prepareMouseEvent):
2357         * dom/Document.h:
2358         * kwq/WebCoreAXObject.mm:
2359         (-[WebCoreAXObject doAXTextMarkerForPosition:]):
2360         (-[WebCoreAXObject accessibilityHitTest:]):
2361         * manual-tests/frame-hover.html: Added.
2362         * manual-tests/resources/hover-subframe-1.html: Added.
2363         * manual-tests/resources/hover-subframe-2.html: Added.
2364         * page/Frame.cpp:
2365         (WebCore::Frame::isPointInsideSelection):
2366         * page/FrameView.cpp:
2367         (WebCore::FrameView::prepareMouseEvent):
2368         (WebCore::FrameView::handleWheelEvent):
2369         * platform/IntRect.h:
2370         (WebCore::IntRect::contains):
2371         * rendering/RenderLayer.cpp:
2372         (WebCore::isSubframeCanvas):
2373         (WebCore::frameVisibleRect):
2374         (WebCore::RenderLayer::hitTest):
2375         (WebCore::shouldApplyImplicitCapture):
2376         (WebCore::RenderLayer::hitTestLayer):
2377         * rendering/RenderLayer.h:
2378
2379 2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2380
2381         Tests: fast/repaint/flexible-box-overflow.html fast/repaint/flexible-box-overflow-horizontal.html
2382
2383         Reviewed by Darin.
2384         
2385         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8056
2386           Flexible boxes do not repaint their top, left and children's overflows
2387
2388         * rendering/RenderBlock.cpp:
2389         (WebCore::RenderBlock::layoutBlockChildren):
2390         * rendering/RenderFlexibleBox.cpp:
2391         (WebCore::FlexBoxIterator::next):
2392         (WebCore::RenderFlexibleBox::layoutHorizontalBox): Update top overflow when
2393         determining vertical positions. Update horizontal overflows after horizontal
2394         positions are determined.
2395         (WebCore::RenderFlexibleBox::layoutVerticalBox):  Update left overflow when
2396         determining horizontal positions. Update vertical overflows after vertical
2397         positions are determined.
2398         (WebCore::RenderFlexibleBox::allowedChildFlex):
2399
2400 2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2401
2402         Tests: fast/repaint/text-shadow.html fast/repaint/text-shadow-horizontal.html
2403
2404         Reviewed by Darin.
2405
2406         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7301
2407           Text shadow does not repaint correctly
2408
2409         * rendering/InlineTextBox.cpp:
2410         (WebCore::InlineTextBox::paint): Paint the text box if it is within the maximum
2411         possible horizontal shadow overflow of the damage rect.
2412         * rendering/InlineTextBox.h: Removed unused function checkVerticalPoint().
2413         * rendering/RenderFlow.cpp:
2414         (WebCore::RenderFlow::paintLines): Use the vertical overflows instead of the
2415         selection vertical bounds.
2416         (WebCore::RenderFlow::hitTestLines):
2417         * rendering/render_line.cpp:
2418         (WebCore::InlineFlowBox::placeBoxesHorizontally): Include overflow due to text shadow
2419         in leftPosition and rightPosition and keep track of the maximum horizontal shadow
2420         on the inline.
2421         (WebCore::InlineFlowBox::verticallyAlignBoxes):
2422         (WebCore::InlineFlowBox::placeBoxesVertically): Include overflow due to shadow and
2423         inline-blocks' overflow in topPosition and bottomPosition but not in the selection
2424         vertical bounds.
2425         (WebCore::RootInlineBox::selectionTop):
2426         * rendering/render_line.h:
2427         (WebCore::InlineFlowBox:::InlineRunBox):
2428         (WebCore::InlineFlowBox::setVerticalSelectionPositions):
2429         (WebCore::InlineFlowBox::maxHorizontalShadow):
2430         (WebCore::RootInlineBox::setVerticalSelectionPositions):
2431         (WebCore::RootInlineBox::selectionBottom):
2432         (WebCore::RootInlineBox::selectionHeight):
2433
2434 2006-03-30  Beth Dakin  <bdakin@apple.com>
2435
2436         Reviewed by Hyatt.
2437
2438         Fix for <rdar://problem/4472371> REGRESSION(417.9-TOT): Focus ring 
2439         around link in overflow:auto div isn't clipped to div
2440
2441         Focus rings around the children off overflow:auto divs were not 
2442         being appropriately clipped because they were being painted with 
2443         the div's outlineRect, when they should be painted separately. This 
2444         patch adds two new PaintPhases -- PaintPhaseSelfOutline and 
2445         PaintPhaseChildOutlines -- to address this problem.
2446
2447         This patch also changes the name of PaintAction back to PaintPhase. 
2448         Because Hyatt said so.
2449
2450         * kcanvas/KCanvasResources.cpp:
2451         (WebCore::KCanvasMarker::draw):
2452         * kcanvas/RenderPath.cpp:
2453         (WebCore::RenderPath::paint):
2454         * kcanvas/RenderSVGImage.cpp:
2455         (WebCore::RenderSVGImage::paint):
2456         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
2457         (WebCore::KCanvasContainerQuartz::paint):
2458         * ksvg2/svg/SVGMaskElement.cpp:
2459         (WebCore::SVGMaskElement::drawMaskerContent):
2460         * ksvg2/svg/SVGPatternElement.cpp:
2461         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2462         * rendering/InlineTextBox.cpp:
2463         (WebCore::InlineTextBox::paint):
2464         * rendering/RenderBlock.cpp:
2465         (WebCore::RenderBlock::paint):
2466         (WebCore::RenderBlock::paintChildren):
2467         (WebCore::RenderBlock::paintObject):
2468         (WebCore::RenderBlock::paintFloats):
2469         (WebCore::RenderBlock::paintEllipsisBoxes):
2470         (WebCore::RenderBlock::paintSelection):
2471         * rendering/RenderBox.cpp:
2472         (WebCore::RenderBox::setStyle):
2473         * rendering/RenderCanvas.cpp:
2474         (WebCore::RenderCanvas::paint):
2475         * rendering/RenderFlow.cpp:
2476         (WebCore::RenderFlow::paintLines):
2477         * rendering/RenderHTMLCanvas.cpp:
2478         (WebCore::RenderHTMLCanvas::paint):
2479         * rendering/RenderImage.cpp:
2480         (WebCore::RenderImage::paint):
2481         * rendering/RenderLayer.cpp:
2482         (WebCore::RenderLayer::paintLayer):
2483         * rendering/RenderObject.cpp:
2484         (WebCore::RenderObject::maximalOutlineSize):
2485         * rendering/RenderObject.h:
2486         (WebCore::):
2487         (WebCore::RenderObject::PaintInfo::PaintInfo):
2488         * rendering/RenderTable.cpp:
2489         (WebCore::RenderTable::paint):
2490         * rendering/RenderTableCell.cpp:
2491         (WebCore::RenderTableCell::paint):
2492         * rendering/RenderTableRow.cpp:
2493         (WebCore::RenderTableRow::paint):
2494         * rendering/RenderTableSection.cpp:
2495         (WebCore::RenderTableSection::paint):
2496         * rendering/render_button.cpp:
2497         (WebCore::RenderButton::paintObject):
2498         * rendering/render_line.cpp:
2499         (WebCore::InlineBox::paint):
2500         (WebCore::InlineFlowBox::paint):
2501         (WebCore::InlineFlowBox::paintBackgroundAndBorder):
2502         (WebCore::RootInlineBox::paintEllipsisBox):
2503         * rendering/render_list.cpp:
2504         (WebCore::RenderListMarker::paint):
2505         * rendering/render_replaced.cpp:
2506         (WebCore::RenderReplaced::shouldPaint):
2507         (WebCore::RenderWidget::paint):
2508
2509 2006-03-30  Tim Omernick  <timo@apple.com>
2510
2511         Manual test case for the Java aspect of <rdar://problem/4212626> REGRESSION: LIVECONNECT:
2512         JavaScript type for Java Strings is function, not object
2513
2514         * manual-tests/java-string-object-type.html: Added.
2515         * manual-tests/resources/StringTypeTest.class: Added.
2516         * manual-tests/resources/StringTypeTest.java: Added.
2517
2518 2006-03-30  Eric Seidel  <eseidel@apple.com>
2519
2520         Reviewed by hyatt.
2521
2522         Fix text form controls, and add basic submit support!
2523
2524         * bridge/win/FrameWin.cpp:
2525         (WebCore::FrameWin::submitForm):
2526         * bridge/win/FrameWin.h:
2527         * platform/win/KeyEventWin.cpp:
2528         (WebCore::keyIdentifierForWindowsKeyCode):
2529         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2530         * platform/win/TemporaryLinkStubs.cpp:
2531         (FrameWin::incomingReferrer):
2532         * platform/win/TransferJobWin.cpp:
2533         (WebCore::TransferJob::start):
2534
2535 2006-03-30  Adele Peterson  <adele@apple.com>
2536
2537         Reviewed by Justin.
2538
2539         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8083
2540         REGRESSION: Repro crash when dragging to select over a new text field
2541
2542         * editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent):
2543         When searching for non-editable content, if the end of the selection is in a 
2544         shadow tree, then we need to jump out of that first.
2545
2546 2006-03-30  Justin Garcia  <justin.garcia@apple.com>
2547
2548         Reviewed by darin
2549         
2550         http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
2551         REGRESSION: Plain-text mode needed for contenteditable area used in new text field
2552
2553         * bridge/mac/WebCoreFrameBridge.h:
2554         * bridge/mac/WebCoreFrameBridge.mm:
2555         (-[WebCoreFrameBridge isSelectionEditable]):
2556         (-[WebCoreFrameBridge isSelectionRichlyEditable]):
2557         * css/CSSComputedStyleDeclaration.cpp:
2558         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2559         * css/CSSValueKeywords.in:
2560         * css/cssparser.cpp:
2561         (WebCore::CSSParser::parseValue):
2562         * dom/Node.cpp:
2563         (WebCore::Node::isContentRichlyEditable):
2564         * dom/Node.h:
2565         * editing/EditCommand.cpp:
2566         (WebCore::EditCommand::apply):
2567         * editing/JSEditor.cpp:
2568         * editing/ReplaceSelectionCommand.cpp:
2569         (WebCore::ReplacementFragment::ReplacementFragment):
2570         (WebCore::ReplaceSelectionCommand::doApply):
2571         * editing/Selection.h:
2572         (WebCore::Selection::rootEditableElement):
2573         (WebCore::Selection::isContentEditable):
2574         (WebCore::Selection::isContentRichlyEditable):
2575         * editing/SelectionController.h:
2576         (WebCore::SelectionController::rootEditableElement):
2577         (WebCore::SelectionController::isContentEditable):
2578         (WebCore::SelectionController::isContentRichlyEditable):
2579         * html/HTMLElement.cpp:
2580         (WebCore::HTMLElement::isContentEditable):
2581         (WebCore::HTMLElement::contentEditable):
2582         (WebCore::HTMLElement::setContentEditable):
2583         * rendering/RenderTextField.cpp:
2584         (WebCore::RenderTextField::createDivStyle):
2585         * rendering/render_style.h:
2586         (WebCore::):
2587         
2588 2006-03-30  David Harrison  <harrison@apple.com>
2589
2590         Reviewed by Justin.
2591
2592         <rdar://problem/4444693> REGRESSION: Deleting empty lines causes quoted text to mistakenly get "unquoted"
2593
2594         * editing/DeleteSelectionCommand.cpp:
2595         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2596         Formatting.
2597         (WebCore::DeleteSelectionCommand::moveNodesAfterNode):
2598         Generalize check that preserves nesting when deleting to the beginning of an ancestor block.
2599
2600         * editing/deleting/delete-block-merge-contents-022.html: Added.
2601         * editing/deleting/delete-block-merge-contents-023.html: Added.
2602         * editing/deleting/delete-block-merge-contents-024.html: Added.
2603
2604 2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2605
2606         Reviewed by Darin.
2607
2608         - Test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8076
2609           REGRESSION: native text fields are reversed on "visual Hebrew" pages
2610
2611         * fast/forms/visual-hebrew-text-field-expected.checksum: Added.
2612         * fast/forms/visual-hebrew-text-field-expected.png: Added.
2613         * fast/forms/visual-hebrew-text-field-expected.txt: Added.
2614         * fast/forms/visual-hebrew-text-field.html: Added.
2615
2616 2006-03-30  Alexey Proskuryakov  <ap@nypop.com>
2617
2618         Reviewed by John Sullivan.
2619
2620         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8051
2621           Empty forms are submitted incorrectly
2622
2623         Test: fast/forms/empty-get.html
2624
2625         * platform/KURL.cpp:
2626         (KURL::setQuery): Add a question mark for empty query strings, too.
2627
2628 2006-03-30  Dave Hyatt <hyatt@apple.com>
2629
2630         Roll out the fix to 7102 and reopen it to get Spinneret working
2631         again.
2632
2633         Reviewed by justin
2634
2635         * page/Frame.cpp:
2636         (WebCore::Frame::didOpenURL):
2637         (WebCore::Frame::receivedFirstData):
2638         (WebCore::Frame::begin):
2639
2640 2006-03-30  Dave Hyatt <hyatt@apple.com>
2641
2642         Land support for JPEG image decoding on Win32.
2643
2644         * WebCore.vcproj/WebCore/WebCore.vcproj:
2645         * platform/cairo/ImageSourceCairo.cpp:
2646         (WebCore::createDecoder):
2647         (WebCore::ImageSource::frameHasAlphaAtIndex):
2648         * platform/image-decoders/ImageDecoder.h:
2649         (WebCore::RGBA32Buffer::setRGBA):
2650         (WebCore::ImageDecoder::supportsAlpha):
2651         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2652         (WebCore::GIFImageDecoder::haveDecodedRow):
2653         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2654         (WebCore::JPEGImageReader::JPEGImageReader):
2655         (WebCore::JPEGImageReader::close):
2656         (WebCore::JPEGImageReader::skipBytes):
2657         (WebCore::JPEGImageReader::decode):
2658         (WebCore::JPEGImageReader::info):
2659         (WebCore::JPEGImageReader::samples):
2660         (WebCore::JPEGImageReader::decoder):
2661         (WebCore::error_exit):
2662         (WebCore::init_source):
2663         (WebCore::skip_input_data):
2664         (WebCore::fill_input_buffer):
2665         (WebCore::term_source):
2666         (WebCore::JPEGImageDecoder::decode):
2667         (WebCore::JPEGImageDecoder::outputScanlines):
2668         (WebCore::JPEGImageDecoder::jpegComplete):
2669         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2670         (WebCore::JPEGImageDecoder::supportsAlpha):
2671         (WebCore::JPEGImageDecoder::setSize):
2672         * platform/image-decoders/png/PNGImageDecoder.cpp:
2673         (WebCore::PNGImageDecoder::rowAvailable):
2674
2675 2006-03-29  Justin Garcia  <justin.garcia@apple.com>
2676
2677         Reviewed by darin
2678         
2679         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8067>
2680         REGRESSION: selectionRect includes next/previous replaced elements
2681         Also fixes: <rdar://problems/4402375&4474871&4492934>
2682         
2683         In the case where a selection starts at the end or ends at the start
2684         of o, o->selectionState() != SelectionNone, but o isn't really selected.  
2685         Constraining the selection with upstream and downstream eliminates these
2686         types of endpoints, but constraining endpoints that occur at the 
2687         start or end of a paragraph creates positions inside containers - some 
2688         of which the selection painting code isn't equipped to handle.
2689
2690         * dom/Document.cpp:
2691         (WebCore::Document::updateSelection):
2692         * rendering/render_replaced.cpp:
2693         (WebCore::RenderReplaced::shouldPaint):
2694         (WebCore::RenderReplaced::selectionRect):
2695         (WebCore::RenderReplaced::setSelectionState):
2696         (WebCore::RenderWidget::setSelectionState):
2697
2698 2006-03-29  Adele Peterson  <adele@apple.com>
2699
2700         Reviewed by Hyatt.
2701
2702         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6986
2703         Switch to use new text field implementation for <input type="text">
2704
2705         * css/html4.css: Added default style info for new text fields.
2706         * rendering/RenderTextField.cpp:
2707         (WebCore::RenderTextField::createDivStyle): Added an extra 1px of padding on the left & right to match Win IE & the latest Mozilla.
2708         (WebCore::RenderTextField::updateFromElement): Removed some outdated comments.  Cleaned up the way we add text nodes to the div.
2709         (WebCore::RenderTextField::setSelectionStart): Tweaked selection code to better match Mozilla behavior.
2710         (WebCore::RenderTextField::setSelectionEnd): ditto.
2711         (WebCore::RenderTextField::select): Cleaned this up by having it call setSelectionRange.
2712         (WebCore::RenderTextField::setSelectionRange): Calls updateLayout now in case this is called in an onload handler, and no other layout has occurred.
2713         (WebCore::RenderTextField::calcMinMaxWidth): Use floatWidth to calculate the width of the "0" character.
2714         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlStyled): If the text field's specified border is different from 
2715          the default border, then treat the control as styled, so the engine knows to turn off the aqua appearance.
2716         * rendering/RenderThemeMac.mm:
2717         (WebCore::RenderThemeMac::paintTextField): return false so the engine knows not to try to draw the border.
2718         (WebCore::RenderThemeMac::adjustTextFieldStyle): text field style info has been moved to html4.css. 
2719          We also add intrinsic margins here if the font size is large enough.
2720         * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler):
2721          No longer check for appearance. All text fields with m_type == TEXT will use the new implementation.
2722         * html/HTMLInputElement.cpp:
2723         (WebCore::HTMLInputElement::isKeyboardFocusable): ditto.
2724         (WebCore::HTMLInputElement::focus): ditto.
2725         (WebCore::HTMLInputElement::selectionStart): ditto.
2726         (WebCore::HTMLInputElement::selectionEnd): ditto.
2727         (WebCore::HTMLInputElement::setSelectionStart): ditto.
2728         (WebCore::HTMLInputElement::setSelectionEnd): ditto.
2729         (WebCore::HTMLInputElement::select): ditto.
2730         (WebCore::HTMLInputElement::setSelectionRange): ditto.
2731         (WebCore::HTMLInputElement::createRenderer): ditto.
2732         (WebCore::HTMLInputElement::defaultEventHandler): ditto.
2733         (WebCore::HTMLInputElement::isMouseFocusable): Added.  Old text fields relied on the widget to provide a focus policy.  
2734          A text field that is focusable should be mouse focusable, and shouldn't need to ask the base class.
2735         * html/HTMLInputElement.h: Added isMouseFocusable.
2736         * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::isMouseFocusable):
2737          Removed specific text field code since that is now done in HTMLInputElement::isMouseFocusable.
2738         * dom/Document.cpp: (WebCore::Document::clearSelectionIfNeeded): Check that the new selection is does not have a shadowAncestorNode that is focused.
2739
2740 2006-03-29  Darin Adler  <darin@apple.com>
2741
2742         Reviewed by Eric.
2743
2744         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8026
2745           A particular animated SVG crashes in filter code
2746           <rdar://problem/4494775> A particular animated SVG crashes in filter code
2747
2748         - fix some code that is not handling references correctly for GC
2749
2750         Test: svg/custom/empty-merge.svg
2751
2752         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2753         (WebCore::KCanvasFilterQuartz::KCanvasFilterQuartz): Use KWQRetainNSRelease to
2754         properly retain a reference to an Objective-C object in a C++ class.
2755         (WebCore::KCanvasFilterQuartz::~KCanvasFilterQuartz): Use KWQRelease instead of
2756         release.
2757         (WebCore::KCanvasFilterQuartz::prepareFilter): Use KWQRetain instead of retain.
2758         (WebCore::KCanvasFilterQuartz::applyFilter): Use KWQRelease instead of release.
2759         (WebCore::KCanvasFilterQuartz::imageForName): Use objectForKey: instead of
2760         valueForKey: on the dictionary to sidestep a bug in valueForKey: on empty strings
2761         and because what we're doing with a dictionary here has nothing to do with
2762         key value encoding.
2763
2764         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2765         (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz):
2766         Use KWQRelease instead of release.
2767         (WebCore::KRenderingDeviceContextQuartz::nsGraphicsContext): Use KWQRetain
2768         instead of retain to properly retain a reference to an Objective-C object
2769         in a C++ class.
2770
2771         * platform/mac/ImageMac.mm:
2772         (WebCore::Image::invalidateNativeData): Use CFRelease instead of release.
2773         (WebCore::Image::getNSImage): Use KWQRetainNSRelease to properly retain
2774         a reference to an Objective-C object in a C++ class.
2775
2776 2006-03-29  Geoffrey Garen  <ggaren@apple.com>
2777
2778         Reviewed by Darin.
2779
2780         - WebCore side of fix for <rdar://problem/4308243> 8F36 Regression: 
2781         crash in malloc_consolidate if you use a .PAC file
2782
2783         (1) To ensure thread-safe deallocation, set the "unsafe to destroy on 
2784         non-main threads" bit in the DOMObject constructor.
2785
2786         (2) Made all binding objects inherit from DOMObject, because the
2787         WebCore data structures they wrap are not thread-safe. "DOMObject" is
2788         a slightly awkward name for things like the Window object, but the 
2789         DOM spec is considering adding a Window object, and creating a whole
2790         new base class for this purpose seemed like overkill.
2791
2792         * khtml/ecma/JSDOMParser.h:
2793         * khtml/ecma/JSXMLHttpRequest.h:
2794         * khtml/ecma/JSXMLSerializer.cpp:
2795         (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
2796         * khtml/ecma/JSXMLSerializer.h:
2797         * khtml/ecma/JSXSLTProcessor.h:
2798         * khtml/ecma/kjs_binding.h:
2799         (KJS::DOMObject::DOMObject): Unset the "safe to collect on non-main
2800         threads bit" to ensure thread-safe deallocation.
2801         * khtml/ecma/kjs_html.h:
2802         * khtml/ecma/kjs_navigator.cpp:
2803         (KJS::Navigator::Navigator):
2804         (KJS::PluginBase::PluginBase):
2805         * khtml/ecma/kjs_navigator.h:
2806         * khtml/ecma/kjs_proxy.cpp:
2807         * khtml/ecma/kjs_window.cpp:
2808         (KJS::History::History):
2809         (KJS::FrameArray::FrameArray):
2810         (KJS::Screen::Screen):
2811         (KJS::Window::Window):
2812         (KJS::BarInfo::BarInfo):
2813         * khtml/ecma/kjs_window.h:
2814
2815 2006-03-29  Geoffrey Garen  <ggaren@apple.com>
2816
2817         Reviewed by Darin.
2818
2819         - Fixed <rdar://problem/4477126> TOT REGRESSION: with release
2820         build, maps.google.com zoom slider always zooms fully out
2821
2822         There were 2 problems: (1) A syntax error in the UIEvent IDL file
2823         prevented some things from showing up in the bindings; (2)
2824         MouseEvent had a duplicate isSimulated property that shadowed
2825         MouseRelatedEvent's isSimulated property, and MouseEvent failed to
2826         initialize MouseRelatedEvent's isSimulated property.
2827
2828         * dom/UIEvent.idl:
2829         * dom/dom2_eventsimpl.cpp:
2830         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
2831         (WebCore::MouseEvent::MouseEvent):
2832         * dom/dom2_eventsimpl.h:
2833
2834 2006-03-29  Tim Omernick  <timo@apple.com>
2835
2836         Reviewed by Darin.
2837
2838         * html/HTMLInputElement.cpp:
2839         (WebCore::HTMLInputElement::setInputType):
2840         If the input type is dynamically changed, reevaluate whether the element maintains its state
2841         (this decision is based on the input's type).  Fixes an assertion error when leaving a page
2842         with a text field that had been dynamically changed to a password field.
2843
2844 2006-03-29  Alexey Proskuryakov  <ap@nypop.com>
2845
2846         Reviewed by Darin.
2847
2848         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8055
2849           Fix most CSS grammar conflicts.
2850
2851         Gets the number of shift/reduce and reduce/reduce conflicts down from 37+4 to 7+0.
2852
2853         I have fixed the reduce/reduce conflicts, then noticed that two of the fixes
2854         were already made in KDE tree (the other two are different because declaration
2855         blocks are described in quite different ways). Shift/reduce fixes are just
2856         merged from KDE, r332845 by Michael Matz.
2857
2858         * css/CSSGrammar.y:
2859
2860 2006-03-29  Alexey Proskuryakov  <ap@nypop.com>
2861
2862         Reviewed by Darin.
2863
2864         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7157
2865           An asterisk in a CSS property name breaks CSS handling 
2866           (Many layout problems at letras.terra.com.br)
2867
2868         Test: fast/css/error-in-last-decl.html
2869
2870         * css/CSSGrammar.y: Added a rule for the case when the last CSS rule 
2871           has a syntax error, and doesn't end with a semicolon.
2872
2873 2006-03-29  Darin Adler  <darin@apple.com>
2874
2875         Reviewed by Anders.
2876
2877         - another cut at fixing the buildbot
2878
2879         * generate-derived-sources: Fix if statement that was always following
2880         the Windows case. I believe this is the main problem.
2881
2882         * WebCore.xcodeproj/project.pbxproj: Added CharsetData.h and added CharsetData.cpp
2883         to the target.
2884         * WebCore.vcproj/WebCore/WebCore.vcproj: Similar changes.
2885
2886         * platform/CharsetData.h: Added.
2887         * platform/CharsetNames.cpp: Moved the actual character set data out into a
2888         separate source file instead of include a .cpp file.
2889
2890         * platform/make-charset-table.pl: Changed to generate a file that can stand alone.
2891
2892 2006-03-29  Darin Adler  <darin@apple.com>
2893
2894         - an attempt to fix the buildbot
2895
2896         * platform/mac/mac-encodings.txt: Touched this file so the character encodings
2897         files will be regenerated.
2898
2899 2006-03-29  Darin Adler  <darin@apple.com>
2900
2901         - a quick cut at fixing the windows build
2902
2903         * WebCore.vcproj/WebCore/WebCore.vcproj: Added a few recently-added files.
2904
2905 2006-03-29  Maciej Stachowiak  <mjs@apple.com>
2906
2907         Reviewed by Anders.
2908         
2909         - fixed  <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
2910         
2911         Also fixed other issues with contains. The problem that caused the bug was:
2912         - contains should return true for the element itself, unlike isAncestor
2913         
2914         Other problems I fixed:
2915         - contains shouldn't be present on non-Element nodes
2916         - contains should return false when passed a non-Element node
2917         - contains should return false when passed a non-Node
2918
2919         * bindings/scripts/CodeGeneratorJS.pm: Handle Element as a parameter.
2920         * dom/Element.cpp:
2921         (WebCore::Element::contains): Added new implementation.
2922         * dom/Element.h: Added prototype for contains.
2923         * dom/Element.idl: Added IDL declaration for contains.
2924         * khtml/ecma/kjs_dom.cpp:
2925         (KJS::DOMNodeProtoFunc::callAsFunction): Added old wrong contains().
2926
2927 2006-03-28  Beth Dakin  <bdakin@apple.com>
2928
2929         Reviewed by Maciej
2930
2931         Fix for <rdar://problem/4493218> repro crash in 
2932         khtml::RenderBlock::repaintFloatingDescendants with giant 
2933         cellspacing value
2934
2935         Some callers of CSSPrimitiveValue::computeLength() expect an int, 
2936         and others a short. This patch splits computeLength() into 
2937         computeIntLength() and computeShortLength() so that the appropriate 
2938         bounds can be checked. 
2939
2940         * css/css_valueimpl.cpp:
2941         (WebCore::CSSPrimitiveValue::computeIntLength): Return 0 if not 
2942         within int bounds.
2943         (WebCore::CSSPrimitiveValue::computeShortLength): Return 0 if not 
2944         within short bounds.
2945         * css/css_valueimpl.h:
2946         * css/cssstyleselector.cpp:
2947         (WebCore::convertToLength): Switch to appropriate computeLength() 
2948         call.
2949         (WebCore::CSSStyleSelector::applyProperty): Same.
2950         (WebCore::CSSStyleSelector::mapBackgroundXPosition): Same.
2951         (WebCore::CSSStyleSelector::mapBackgroundYPosition): Same.
2952         * rendering/RenderBlock.cpp:
2953         (WebCore::RenderBlock::repaintFloatingDescendants): Nil check 
2954         m_floatingObjects and add an assertion. This is not necessary for 
2955         the fix, it is just because we are not sure that it is safe not to 
2956         nil-check, and we want to prevent potential problems in release 
2957         builds, and catch them with the assertion in debug builds.
2958         (WebCore::RenderBlock::addOverhangingFloats): Same as above.
2959
2960 2006-03-28  Alexey Proskuryakov  <ap@nypop.com>
2961
2962         Reviewed by Maciej.
2963
2964         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4616
2965           Setting nodeValue on a textnode with collapsed whitespace only has no visual effect
2966
2967         Test: fast/dom/space-to-text.html
2968
2969         * dom/CharacterData.cpp:
2970         (WebCore::CharacterData::setData): Create a renderer if it's needed, but missing.
2971         (WebCore::CharacterData::appendData): Ditto.
2972         (WebCore::CharacterData::insertData): Ditto.
2973         (WebCore::CharacterData::replaceData): Ditto.
2974
2975 2006-03-28  Tim Omernick  <timo@apple.com>
2976
2977         Reviewed by Maciej.
2978
2979         <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
2980         to another page while selecting inside textarea inside iframe
2981
2982         * kwq/WebCoreTextArea.mm:
2983         (-[WebCoreTextArea mouseDown:]):
2984         Guard super's -mouseDown: with calls to Widget::beforeMouseDown() and Widget::afterMouseDown().
2985         Other widgets do this to protect against being removed from the page and deallocated while handling
2986         mouse down events.
2987         (-[WebCoreTextView mouseDown:]):
2988         ditto
2989
2990         * manual-tests/textarea-iframe-navigation.html: Added.
2991         * manual-tests/textarea-iframe-navigation2.html: Added.
2992         Manual test case for this fix.
2993
2994 2006-03-28  Eric Seidel  <eseidel@apple.com>
2995
2996         Reviewed by darin.
2997
2998         <rdar://problem/4402170> CrashTracer: 499 crashes in Safari at com.apple.WebCore: DOM::DocumentImpl::open + 16
2999
3000         * dom/Document.cpp:
3001         (WebCore::Document::write): Fix unreproducible infinite recursion.
3002
3003 2006-03-28  Eric Seidel  <eseidel@apple.com>
3004
3005         Reviewed by darin.
3006
3007         Remove global initializers.
3008
3009         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3010         * ksvg2/svg/SVGAngle.cpp:
3011         * ksvg2/svg/SVGColor.cpp:
3012         * ksvg2/svg/SVGLength.cpp:
3013
3014 2006-03-28  Eric Seidel  <eseidel@apple.com>
3015
3016         Reviewed by darin.
3017
3018         Switch UIEvent, MouseEvent and KeyboardEvent over to
3019         be new auto-generated bindings.
3020         http://bugzilla.opendarwin.org/show_bug.cgi?id=7928
3021
3022         Updated test: fast/dom/prototype-chain.html
3023
3024         * WebCore.xcodeproj/project.pbxproj:
3025         * bindings/objc/DOMEvents.mm:
3026         (-[DOMEvent ::]):
3027         (-[DOMMouseEvent initMouseEvent:::::::::::::::]):
3028         * bindings/scripts/CodeGeneratorJS.pm:
3029         * dom/EventTargetNode.cpp:
3030         (WebCore::EventTargetNode::dispatchMouseEvent):
3031         * dom/KeyboardEvent.idl: Added.
3032         * dom/MouseEvent.idl: Added.
3033         * dom/UIEvent.idl: Added.
3034         * dom/WheelEvent.idl:
3035         * dom/dom2_eventsimpl.cpp:
3036         (WebCore::MouseEvent::MouseEvent):
3037         (WebCore::MouseEvent::initMouseEvent):
3038         * dom/dom2_eventsimpl.h:
3039         (WebCore::MouseEvent::relatedTarget):
3040         (WebCore::MouseEvent::clipboard):
3041         * generate-derived-sources:
3042         * khtml/ecma/kjs_dom.cpp:
3043         (KJS::toEventTargetNode):
3044         * khtml/ecma/kjs_dom.h:
3045         * khtml/ecma/kjs_events.cpp:
3046         (KJS::toJS):
3047         * khtml/ecma/kjs_events.h:
3048
3049 2006-03-28  Darin Adler  <darin@apple.com>
3050
3051         Reviewed by Eric.
3052
3053         - replace getDocument with document in a few places that Geoff missed
3054
3055         * WebCore.xcodeproj/project.pbxproj:
3056         * dom/Attr.cpp:
3057         (WebCore::Attr::createTextChild):
3058         (WebCore::Attr::setValue):
3059         (WebCore::Attr::cloneNode):
3060         * dom/Attribute.cpp:
3061         (WebCore::Attribute::createAttrIfNeeded):
3062         * dom/Element.cpp:
3063         (WebCore::Element::cloneNode):
3064         (WebCore::inHTMLDocument):
3065         (WebCore::Element::setAttribute):
3066         (WebCore::Element::setAttributeMap):
3067         (WebCore::Element::createStyleForRenderer):
3068         (WebCore::Element::createRenderer):
3069         (WebCore::Element::recalcStyle):
3070         (WebCore::Element::dispatchAttrRemovalEvent):
3071         (WebCore::Element::dispatchAttrAdditionEvent):
3072         (WebCore::Element::updateId):
3073         (WebCore::Element::removeAttributeNode):
3074         (WebCore::Element::focus):
3075         (WebCore::Element::blur):
3076         * dom/NamedAttrMap.cpp:
3077         (WebCore::inHTMLDocument):
3078         (WebCore::NamedAttrMap::setNamedItem):
3079         * dom/NamedMappedAttrMap.cpp:
3080         (WebCore::NamedMappedAttrMap::parseClassAttribute):
3081         * dom/StyledElement.cpp:
3082         (WebCore::StyledElement::createInlineStyleDecl):
3083         (WebCore::StyledElement::parseMappedAttribute):
3084         (WebCore::StyledElement::createMappedDecl):
3085
3086         - added missing include that seems to be breaking the Windows build
3087
3088         * platform/String.cpp: Include <stdarg.h>.
3089
3090 2006-03-28  Geoffrey Garen  <ggaren@apple.com>
3091
3092         Reviewed by Beth.
3093
3094         - Global replace of getDocument() with document(). Darin suggested this
3095         in his review of my EventTargetNode patch. It matches the style of
3096         methods like ownerDocument().
3097
3098         - Changed getDocument() to document(); changed data member document to
3099         m_document; changed stack variable document to doc.
3100
3101         * bindings/objc/DOM.mm:
3102         (-[DOMNode ownerDocument]):
3103         (-[DOMNode KJS::Bindings::]):
3104         (-[DOMElement _getURLAttribute:]):
3105         * bindings/objc/DOMHTML.mm:
3106         (-[DOMHTMLElement titleDisplayString]):
3107         (-[DOMHTMLInputElement altDisplayString]):
3108         (-[DOMHTMLAnchorElement blur]):
3109         (-[DOMHTMLAnchorElement focus]):
3110         (-[DOMHTMLImageElement altDisplayString]):
3111         (-[DOMHTMLAppletElement altDisplayString]):
3112         (-[DOMHTMLAreaElement altDisplayString]):
3113         * bindings/objc/DOMInternal.mm:
3114         (-[WebScriptObject _initializeScriptDOMNodeImp]):
3115         * bridge/mac/FrameMac.mm:
3116         (WebCore::FrameMac::attributedString):
3117         * bridge/mac/FrameViewMac.mm:
3118         (WebCore::FrameView::updateDashboardRegions):
3119         * bridge/mac/WebCoreFrameBridge.mm:
3120         (-[WebCoreFrameBridge initSubframeWithRenderer:]):
3121         (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
3122         (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
3123         * css/CSSComputedStyleDeclaration.cpp:
3124         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3125         * css/css_base.cpp:
3126         (WebCore::StyleBase::baseURL):
3127         * css/css_stylesheetimpl.cpp:
3128         (WebCore::CSSStyleSheet::CSSStyleSheet):
3129         * css/cssstyleselector.cpp:
3130         (WebCore::CSSStyleSelector::initForStyleResolve):
3131         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3132         (WebCore::CSSStyleSelector::locateSharedStyle):
3133         (WebCore::CSSStyleSelector::createStyleForElement):
3134         (WebCore::CSSStyleSelector::createPseudoStyleForElement):
3135         (WebCore::CSSStyleSelector::adjustRenderStyle):
3136         (WebCore::CSSStyleSelector::styleRulesForElement):
3137         (WebCore::CSSStyleSelector::checkOneSelector):
3138         (WebCore::CSSStyleSelector::applyProperty):
3139         (WebCore::CSSStyleSelector::mapBackgroundImage):
3140         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
3141         * dom/AbstractView.cpp:
3142         (WebCore::AbstractView::AbstractView):
3143         * dom/CDATASection.cpp:
3144         (WebCore::CDATASection::cloneNode):
3145         (WebCore::CDATASection::createNew):
3146         * dom/CharacterData.cpp:
3147         (WebCore::CharacterData::setData):
3148         (WebCore::CharacterData::insertData):
3149         (WebCore::CharacterData::deleteData):
3150         (WebCore::CharacterData::replaceData):
3151         (WebCore::CharacterData::dispatchModifiedEvent):
3152         * dom/Comment.cpp:
3153         (WebCore::Comment::cloneNode):
3154         * dom/ContainerNode.cpp:
3155         (WebCore::ContainerNode::insertBefore):
3156         (WebCore::ContainerNode::replaceChild):
3157         (WebCore::ContainerNode::removeChild):
3158         (WebCore::ContainerNode::appendChild):
3159         (WebCore::ContainerNode::addChild):
3160         (WebCore::ContainerNode::getUpperLeftCorner):
3161         (WebCore::dispatchChildInsertionEvents):
3162         (WebCore::dispatchChildRemovalEvents):
3163         * dom/DOMImplementation.cpp:
3164         (WebCore::DOMImplementation::createDocument):
3165         * dom/Document.cpp:
3166         (WebCore::Document::Document):
3167         (WebCore::Document::~Document):
3168         (WebCore::Document::createDocumentFragment):
3169         (WebCore::Document::adoptNode):
3170         (WebCore::Document::createElementNS):
3171         (WebCore::Document::nodeAbsIndex):
3172         (WebCore::Document::setFocusNode):
3173         (WebCore::Document::topDocument):
3174         * dom/DocumentFragment.cpp:
3175         (WebCore::DocumentFragment::cloneNode):
3176         * dom/EventTargetNode.cpp:
3177         (WebCore::EventTargetNode::~EventTargetNode):
3178         (WebCore::EventTargetNode::insertedIntoDocument):
3179         (WebCore::EventTargetNode::removedFromDocument):
3180         (WebCore::EventTargetNode::addEventListener):
3181         (WebCore::EventTargetNode::removeEventListener):
3182         (WebCore::EventTargetNode::dispatchGenericEvent):
3183         (WebCore::EventTargetNode::dispatchEvent):
3184         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
3185         (WebCore::EventTargetNode::dispatchWindowEvent):
3186         (WebCore::EventTargetNode::dispatchUIEvent):
3187         (WebCore::EventTargetNode::dispatchKeyEvent):
3188         (WebCore::EventTargetNode::dispatchMouseEvent):
3189         (WebCore::EventTargetNode::dispatchWheelEvent):
3190         (WebCore::EventTargetNode::removeHTMLEventListener):
3191         * dom/Node.cpp:
3192         (WebCore::Node::Node):
3193         (WebCore::Node::setDocument):
3194         (WebCore::Node::setChanged):
3195         (WebCore::Node::checkSetPrefix):
3196         (WebCore::Node::checkAddChild):
3197         (WebCore::Node::attach):
3198         (WebCore::Node::detach):
3199         (WebCore::Node::createRendererIfNeeded):
3200         (WebCore::Node::rendererIsNeeded):
3201         (WebCore::Node::getElementsByTagNameNS):
3202         (WebCore::Node::ownerDocument):
3203         (WebCore::Node::setTextContent):
3204         * dom/Node.h:
3205         (WebCore::Node::document):
3206         (WebCore::Node::inDocument):
3207         * dom/NodeList.cpp:
3208         (WebCore::NodeList::itemById):
3209         * dom/Position.cpp:
3210         (WebCore::Position::documentElement):
3211         * dom/Range.cpp:
3212         (WebCore::Range::commonAncestorContainer):
3213         (WebCore::Range::setStart):
3214         (WebCore::Range::setEnd):
3215         (WebCore::Range::compareBoundaryPoints):
3216         (WebCore::Range::insertNode):
3217         (WebCore::Range::text):
3218         (WebCore::Range::setStartAfter):
3219         (WebCore::Range::setEndBefore):
3220         (WebCore::Range::setEndAfter):
3221         (WebCore::Range::surroundContents):
3222         (WebCore::Range::setStartBefore):
3223         (WebCore::rangeOfContents):
3224         * dom/Text.cpp:
3225         (WebCore::Text::cloneNode):
3226         (WebCore::Text::createNew):
3227         * dom/dom2_eventsimpl.cpp:
3228         (WebCore::MouseRelatedEvent::receivedTarget):
3229         * dom/dom2_traversalimpl.cpp:
3230         (WebCore::NodeIterator::NodeIterator):
3231         * dom/dom_elementimpl.cpp:
3232         (WebCore::Attribute::createAttrIfNeeded):
3233         (WebCore::Attr::createTextChild):
3234         (WebCore::Attr::setValue):
3235         (WebCore::Attr::cloneNode):
3236         (WebCore::Element::cloneNode):
3237         (WebCore::inHTMLDocument):
3238         (WebCore::Element::setAttribute):
3239         (WebCore::Element::setAttributeMap):
3240         (WebCore::Element::createStyleForRenderer):
3241         (WebCore::Element::createRenderer):
3242         (WebCore::Element::recalcStyle):
3243         (WebCore::Element::dispatchAttrRemovalEvent):
3244         (WebCore::Element::dispatchAttrAdditionEvent):
3245         (WebCore::Element::updateId):
3246         (WebCore::Element::removeAttributeNode):
3247         (WebCore::Element::focus):
3248         (WebCore::Element::blur):
3249         (WebCore::NamedAttrMap::setNamedItem):
3250         (WebCore::NamedMappedAttrMap::parseClassAttribute):
3251         (WebCore::StyledElement::createInlineStyleDecl):
3252         (WebCore::StyledElement::parseMappedAttribute):
3253         (WebCore::StyledElement::createMappedDecl):
3254         * dom/dom_xmlimpl.cpp:
3255         (WebCore::EntityReference::cloneNode):
3256         (WebCore::ProcessingInstruction::cloneNode):
3257         (WebCore::ProcessingInstruction::checkStyleSheet):
3258         (WebCore::ProcessingInstruction::sheetLoaded):
3259         (WebCore::ProcessingInstruction::setStyleSheet):
3260         * dom/xml_tokenizer.cpp:
3261         (WebCore::XMLTokenizer::XMLTokenizer):
3262         * editing/ReplaceSelectionCommand.cpp:
3263         (WebCore::ReplacementFragment::ReplacementFragment):
3264         (WebCore::ReplaceSelectionCommand::fixupNodeStyles):
3265         (WebCore::styleForNode):
3266         * editing/Selection.cpp:
3267         (WebCore::Selection::toRange):
3268         * editing/SelectionController.cpp:
3269         (WebCore::SelectionController::~SelectionController):
3270         (WebCore::SelectionController::setSelection):
3271         (WebCore::SelectionController::xPosForVerticalArrowNavigation):
3272         (WebCore::SelectionController::frame):
3273         (WebCore::SelectionController::layout):
3274         (WebCore::SelectionController::needsCaretRepaint):
3275         * editing/TextIterator.cpp:
3276         (WebCore::TextIterator::range):
3277         (WebCore::SimplifiedBackwardsTextIterator::range):
3278         * editing/VisiblePosition.cpp:
3279         (WebCore::VisiblePosition::init):
3280         (WebCore::makeRange):
3281         * editing/markup.cpp:
3282         (WebCore::startMarkup):
3283         (WebCore::shouldSelfClose):
3284         (WebCore::markup):
3285         (WebCore::createMarkup):
3286         * editing/visible_units.cpp:
3287         (WebCore::previousBoundary):
3288         (WebCore::nextBoundary):
3289         (WebCore::previousLinePosition):
3290         (WebCore::nextLinePosition):
3291         (WebCore::inSameDocument):
3292         * html/HTMLCollection.cpp:
3293         (WebCore::HTMLCollection::HTMLCollection):
3294         (WebCore::HTMLCollection::resetCollectionInfo):
3295         * html/HTMLElement.cpp:
3296         (WebCore::HTMLElement::nodeName):
3297         (WebCore::HTMLElement::cloneNode):
3298         (WebCore::HTMLElement::innerText):
3299         (WebCore::HTMLElement::createContextualFragment):
3300         (WebCore::HTMLElement::setInnerText):
3301         (WebCore::HTMLElement::setOuterText):
3302         (WebCore::HTMLElement::isContentEditable):
3303         (WebCore::HTMLElement::contentEditable):
3304         (WebCore::HTMLElement::toString):
3305         (WebCore::HTMLElement::childAllowed):
3306         (WebCore::HTMLElement::setHTMLEventListener):
3307         * html/HTMLFormElement.cpp:
3308         (WebCore::HTMLFormElement::formWouldHaveSecureSubmission):
3309         (WebCore::HTMLFormElement::attach):
3310         (WebCore::HTMLFormElement::insertedIntoDocument):
3311         (WebCore::HTMLFormElement::removedFromDocument):
3312         (WebCore::HTMLFormElement::formData):
3313         (WebCore::HTMLFormElement::prepareSubmit):
3314         (WebCore::HTMLFormElement::submit):
3315         (WebCore::HTMLFormElement::reset):
3316         (WebCore::HTMLFormElement::parseMappedAttribute):
3317         (WebCore::HTMLFormElement::registerFormElement):
3318         (WebCore::HTMLFormElement::removeFormElement):
3319         * html/HTMLGenericFormElement.cpp:
3320         (WebCore::HTMLGenericFormElement::attach):
3321         (WebCore::HTMLGenericFormElement::insertedIntoTree):
3322         (WebCore::HTMLGenericFormElement::isKeyboardFocusable):
3323         * html/HTMLInputElement.cpp:
3324         (WebCore::HTMLInputElement::~HTMLInputElement):
3325         (WebCore::HTMLInputElement::isKeyboardFocusable):
3326         (WebCore::HTMLInputElement::focus):
3327         (WebCore::HTMLInputElement::setInputType):
3328         (WebCore::HTMLInputElement::parseMappedAttribute):
3329         (WebCore::HTMLInputElement::attach):
3330         (WebCore::HTMLInputElement::setChecked):
3331         (WebCore::HTMLInputElement::preDispatchEventHandler):
3332         (WebCore::HTMLInputElement::defaultEventHandler):
3333         (WebCore::HTMLInputElement::src):
3334         * html/HTMLKeygenElement.cpp:
3335         (WebCore::HTMLKeygenElement::appendFormData):
3336         * html/HTMLLabelElement.cpp:
3337         (WebCore::HTMLLabelElement::formElement):
3338         * html/HTMLOptionElement.cpp:
3339         (WebCore::HTMLOptionElement::text):
3340         (WebCore::HTMLOptionElement::setText):
3341         * html/HTMLParser.cpp:
3342         (WebCore::HTMLParser::HTMLParser):
3343         * html/HTMLSelectElement.cpp:
3344         (WebCore::HTMLSelectElement::~HTMLSelectElement):
3345         * html/HTMLTextAreaElement.cpp:
3346         (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement):
3347         (WebCore::HTMLTextAreaElement::setDefaultValue):
3348         * html/HTMLTokenizer.cpp:
3349         (WebCore::HTMLTokenizer::HTMLTokenizer):
3350         * html/html_baseimpl.cpp:
3351         (WebCore::HTMLBodyElement::createLinkDecl):
3352         (WebCore::HTMLBodyElement::mapToEntry):
3353         (WebCore::HTMLBodyElement::parseMappedAttribute):
3354         (WebCore::HTMLBodyElement::insertedIntoDocument):
3355         (WebCore::HTMLFrameElement::isURLAllowed):
3356         (WebCore::HTMLFrameElement::openURL):
3357         (WebCore::HTMLFrameElement::attach):
3358         (WebCore::HTMLFrameElement::close):
3359         (WebCore::HTMLFrameElement::contentFrame):
3360         (WebCore::HTMLFrameElement::frameWidth):
3361         (WebCore::HTMLFrameElement::frameHeight):
3362         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
3363         (WebCore::HTMLIFrameElement::parseMappedAttribute):
3364         (WebCore::HTMLIFrameElement::insertedIntoDocument):
3365         (WebCore::HTMLIFrameElement::removedFromDocument):
3366         (WebCore::HTMLIFrameElement::attach):
3367         (WebCore::HTMLIFrameElement::src):
3368         * html/html_blockimpl.cpp:
3369         (WebCore::HTMLParagraphElement::checkDTD):
3370         * html/html_headimpl.cpp:
3371         (WebCore::HTMLBaseElement::removedFromDocument):
3372         (WebCore::HTMLBaseElement::process):
3373         (WebCore::HTMLLinkElement::setDisabledState):
3374         (WebCore::HTMLLinkElement::parseMappedAttribute):
3375         (WebCore::HTMLLinkElement::process):
3376         (WebCore::HTMLLinkElement::setStyleSheet):
3377         (WebCore::HTMLLinkElement::sheetLoaded):
3378         (WebCore::HTMLLinkElement::href):
3379         (WebCore::HTMLMetaElement::process):
3380         (WebCore::HTMLScriptElement::childrenChanged):
3381         (WebCore::HTMLScriptElement::parseMappedAttribute):
3382         (WebCore::HTMLScriptElement::insertedIntoDocument):
3383         (WebCore::HTMLScriptElement::evaluateScript):
3384         (WebCore::HTMLScriptElement::setText):
3385         (WebCore::HTMLScriptElement::src):
3386         (WebCore::HTMLStyleElement::insertedIntoDocument):
3387         (WebCore::HTMLStyleElement::removedFromDocument):
3388         (WebCore::HTMLStyleElement::childrenChanged):
3389         (WebCore::HTMLStyleElement::sheetLoaded):
3390         (WebCore::HTMLTitleElement::insertedIntoDocument):
3391         (WebCore::HTMLTitleElement::removedFromDocument):
3392         (WebCore::HTMLTitleElement::childrenChanged):
3393         (WebCore::HTMLTitleElement::setText):
3394         * html/html_imageimpl.cpp:
3395         (WebCore::HTMLImageLoader::~HTMLImageLoader):
3396         (WebCore::HTMLImageLoader::updateFromElement):
3397         (WebCore::HTMLImageLoader::notifyFinished):
3398         (WebCore::HTMLImageElement::parseMappedAttribute):
3399         (WebCore::HTMLImageElement::insertedIntoDocument):
3400         (WebCore::HTMLImageElement::removedFromDocument):
3401         (WebCore::HTMLImageElement::width):
3402         (WebCore::HTMLImageElement::height):
3403         (WebCore::HTMLImageElement::src):
3404         (WebCore::HTMLMapElement::~HTMLMapElement):
3405         (WebCore::HTMLMapElement::parseMappedAttribute):
3406         (WebCore::HTMLAreaElement::href):
3407         * html/html_inlineimpl.cpp:
3408         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
3409         (WebCore::HTMLAnchorElement::defaultEventHandler):
3410         (WebCore::HTMLAnchorElement::href):
3411         (WebCore::HTMLAnchorElement::blur):
3412         (WebCore::HTMLAnchorElement::focus):
3413         * html/html_objectimpl.cpp:
3414         (WebCore::HTMLAppletElement::parseMappedAttribute):
3415         (WebCore::HTMLAppletElement::insertedIntoDocument):
3416         (WebCore::HTMLAppletElement::removedFromDocument):
3417         (WebCore::HTMLAppletElement::createRenderer):
3418         (WebCore::HTMLAppletElement::getAppletInstance):
3419         (WebCore::HTMLEmbedElement::getEmbedInstance):
3420         (WebCore::HTMLEmbedElement::parseMappedAttribute):
3421         (WebCore::HTMLEmbedElement::rendererIsNeeded):
3422         (WebCore::HTMLEmbedElement::insertedIntoDocument):
3423         (WebCore::HTMLEmbedElement::removedFromDocument):
3424         (WebCore::HTMLObjectElement::getObjectInstance):
3425         (WebCore::HTMLObjectElement::parseMappedAttribute):
3426         (WebCore::HTMLObjectElement::rendererIsNeeded):
3427         (WebCore::HTMLObjectElement::insertedIntoDocument):
3428         (WebCore::HTMLObjectElement::removedFromDocument):
3429         (WebCore::HTMLObjectElement::updateDocNamedItem):
3430         (WebCore::HTMLParamElement::parseMappedAttribute):
3431         * html/html_tableimpl.cpp:
3432         (WebCore::HTMLTableElement::createTHead):
3433         (WebCore::HTMLTableElement::createTFoot):
3434         (WebCore::HTMLTableElement::createCaption):
3435         (WebCore::HTMLTableElement::insertRow):
3436         (WebCore::HTMLTableElement::addChild):
3437         (WebCore::HTMLTableElement::mapToEntry):
3438         (WebCore::HTMLTableElement::parseMappedAttribute):
3439         (WebCore::HTMLTableElement::additionalAttributeStyleDecl):
3440         (WebCore::HTMLTableElement::getSharedCellDecl):
3441         (WebCore::HTMLTablePartElement::mapToEntry):
3442         (WebCore::HTMLTablePartElement::parseMappedAttribute):
3443         (WebCore::HTMLTableSectionElement::insertRow):
3444         (WebCore::HTMLTableRowElement::insertCell):
3445         * khtml/ecma/kjs_dom.cpp:
3446         (KJS::DOMNode::~DOMNode):
3447         (KJS::DOMNode::mark):
3448         (KJS::DOMElement::getValueProperty):
3449         (KJS::DOMElementProtoFunc::callAsFunction):
3450         (KJS::checkNodeSecurity):
3451         (KJS::toJS):
3452         * khtml/ecma/kjs_html.cpp:
3453         (KJS::JSHTMLElement::implementsCall):
3454         (KJS::JSHTMLElement::bodyGetter):
3455         (KJS::JSHTMLElement::anchorGetter):
3456         (KJS::JSHTMLElement::getValueProperty):
3457         (KJS::JSHTMLElement::bodySetter):
3458         * khtml/ecma/kjs_traversal.cpp:
3459         (KJS::JSNodeFilterCondition::acceptNode):
3460         * khtml/ecma/kjs_views.cpp:
3461         (KJS::DOMAbstractViewProtoFunc::callAsFunction):
3462         * khtml/xbl/xbl_binding.cpp:
3463         (XBL::XBLBindingChain::failed):
3464         (XBL::m_nextBinding):
3465         (XBL::XBLBinding::setXBLDocument):
3466         * khtml/xbl/xbl_protobinding.cpp:
3467         (XBL::XBLPrototypeBinding::document):
3468         * khtml/xsl/XSLStyleSheet.cpp:
3469         (WebCore::XSLStyleSheet::XSLStyleSheet):
3470         * khtml/xsl/XSLTProcessor.cpp:
3471         (WebCore::XSLTProcessor::createDocumentFromSource):
3472         (WebCore::xmlDocPtrFromNode):
3473         (WebCore::XSLTProcessor::transformToString):
3474         * ksvg2/svg/SVGAElement.cpp:
3475         (SVGAElement::defaultEventHandler):
3476         * ksvg2/svg/SVGAnimateColorElement.cpp:
3477         (SVGAnimateColorElement::handleTimerEvent):
3478         * ksvg2/svg/SVGAnimateElement.cpp:
3479         (SVGAnimateElement::handleTimerEvent):
3480         * ksvg2/svg/SVGAnimateTransformElement.cpp:
3481         (SVGAnimateTransformElement::handleTimerEvent):
3482         * ksvg2/svg/SVGAnimationElement.cpp:
3483         (SVGAnimationElement::closeRenderer):
3484         * ksvg2/svg/SVGClipPathElement.cpp:
3485         (SVGClipPathElement::canvasResource):
3486         * ksvg2/svg/SVGElement.cpp:
3487         (WebCore::SVGElement::addSVGEventListener):
3488         * ksvg2/svg/SVGGradientElement.cpp:
3489         (SVGGradientElement::rebuildStops):
3490         * ksvg2/svg/SVGHelper.cpp:
3491         (SVGHelper::PercentageOfViewport):
3492         * ksvg2/svg/SVGLinearGradientElement.cpp:
3493         (SVGLinearGradientElement::buildGradient):
3494         * ksvg2/svg/SVGPatternElement.cpp:
3495         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
3496         * ksvg2/svg/SVGRadialGradientElement.cpp:
3497         (WebCore::SVGRadialGradientElement::buildGradient):
3498         * ksvg2/svg/SVGSVGElement.cpp:
3499         (WebCore::SVGSVGElement::setCurrentScale):
3500         (WebCore::SVGSVGElement::addSVGWindowEventListner):
3501         * ksvg2/svg/SVGSetElement.cpp:
3502         (SVGSetElement::handleTimerEvent):
3503         * ksvg2/svg/SVGStyleElement.cpp:
3504         (SVGStyleElement::childrenChanged):
3505         * ksvg2/svg/SVGStyledElement.cpp:
3506         (WebCore::SVGStyledElement::canvas):
3507         * ksvg2/sv