1e968fe95fdc8509189a8420391a2c1027b24ccf
[WebKit-https.git] / WebCore / ChangeLog
1 2006-07-29  Darin Adler  <darin@apple.com>
2
3         - Removed tabs from these source files that still had them.
4           We don't use them; that way source files look fine in editors
5           that have tabs set to 8 spaces or to 4 spaces.
6         - Removed allow-tabs Subversion property from the files too.
7
8         * bindings/objc/WebScriptObject.h:
9         * bindings/objc/WebScriptObject.mm:
10         * platform/FontData.cpp:
11
12 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
13
14         Reviewed by Darin.
15
16         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10080
17           Adopt pedantic changes from the Unity project to improve 
18           cross-compiler compatibility
19
20           Changes include:
21           * Removing trailing semicolon from namespace braces.
22           * Removing trailing comma from last enum declaration.
23           * Updating to match style guidelines.
24           * Adding missing newline to the end of the file.
25           * Turning on gcc warning for missing newline at the end of a source file
26             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
27           * Alphabetical sorting of Xcode source list files.
28           * Use abs() function from <math.h> instead of ABS() macro.
29           * Use C-style comments instead of C++ comments in files that might
30             be included by either C or C++ files.
31           * Use -numeric_limits<double>::infinity() instead of -HUGE_VAL.
32
33         * WebCore+SVG/DOMList.h:
34         * WebCore.xcodeproj/project.pbxproj:
35         * WebCorePrefix.h:
36         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
37         * bindings/js/JSXSLTProcessor.h:
38         * bindings/js/kjs_domnode.h:
39         (KJS::DOMNode::):
40         * bindings/objc/DOMCSS.h:
41         (-[DOMCSSValue enum]):
42         * bindings/objc/DOMCore.h:
43         (-[DOMImplementation createDocument:::]):
44         * bindings/objc/DOMEvents.h:
45         (-[DOMOverflowEvent enum]):
46         * bindings/objc/DOMRange.h:
47         * bindings/objc/DOMTraversal.h:
48         * bindings/objc/DOMXPath.h:
49         (-[DOMXPathNSResolver lookupNamespaceURI:]):
50         * bridge/mac/WebCoreFrameBridge.h:
51         * bridge/mac/WebCoreKeyboardAccess.h:
52         * css/makeprop:
53         * css/makevalues:
54         * dom/ChildNodeList.h:
55         * dom/DocPtr.h:
56         * dom/Document.h:
57         (WebCore::Document::):
58         * dom/DocumentMarker.h:
59         (WebCore::DocumentMarker::):
60         (WebCore::DocumentMarker::operator==):
61         (WebCore::DocumentMarker::operator!=):
62         * dom/EventTargetNode.h:
63         * dom/KeyboardEvent.h:
64         (WebCore::KeyboardEvent::):
65         * dom/NameNodeList.h:
66         (WebCore::NameNodeList::rootNodeChildrenChanged):
67         * dom/QualifiedName.cpp:
68         * editing/TypingCommand.h:
69         (WebCore::TypingCommand::):
70         * editing/UnlinkCommand.h:
71         (WebCore::UnlinkCommand::editingAction):
72         * html/FormDataList.h:
73         (WebCore::FormDataListItem::FormDataListItem):
74         (WebCore::FormDataList::appendData):
75         * html/HTMLBlockquoteElement.h:
76         * html/HTMLDivElement.h:
77         * html/HTMLFormElement.h:
78         * html/HTMLHRElement.h:
79         * html/HTMLHeadingElement.h:
80         * html/HTMLMarqueeElement.h:
81         * html/HTMLParagraphElement.h:
82         * html/HTMLPlugInElement.h:
83         * html/HTMLPreElement.h:
84         * html/HTMLTokenizer.h:
85         (WebCore::HTMLTokenizer::State::):
86         * icon/IconDatabase.cpp:
87         * icon/SQLStatement.cpp:
88         * kcanvas/KCanvasFilters.h:
89         (WebCore::):
90         (WebCore::KCanvasPoint3F::KCanvasPoint3F):
91         (WebCore::KCanvasFilter::KCanvasFilter):
92         (WebCore::KCanvasFilter::~KCanvasFilter):
93         (WebCore::KCanvasFilterEffect::~KCanvasFilterEffect):
94         (WebCore::KCComponentTransferFunction::KCComponentTransferFunction):
95         (WebCore::KCanvasFEConvolveMatrix::KCanvasFEConvolveMatrix):
96         (WebCore::KCLightSource::KCLightSource):
97         (WebCore::KCDistantLightSource::KCDistantLightSource):
98         (WebCore::KCPointLightSource::KCPointLightSource):
99         (WebCore::KCSpotLightSource::KCSpotLightSource):
100         (WebCore::KCanvasFEDiffuseLighting::KCanvasFEDiffuseLighting):
101         (WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap):
102         (WebCore::KCanvasFEImage::KCanvasFEImage):
103         (WebCore::KCanvasFESpecularLighting::KCanvasFESpecularLighting):
104         * kcanvas/RenderSVGImage.h:
105         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
106         * ksvg2/css/SVGRenderStyle.h:
107         (WebCore::SVGRenderStyle::InheritedFlags::):
108         (WebCore::SVGRenderStyle::NonInheritedFlags::):
109         * ksvg2/css/SVGRenderStyleDefs.h:
110         (WebCore::):
111         * ksvg2/events/SVGZoomEvent.h:
112         * ksvg2/ksvg.h:
113         (WebCore::):
114         * ksvg2/misc/KCanvasRenderingStyle.h:
115         * ksvg2/misc/SVGImageLoader.h:
116         * ksvg2/scripts/make_names.pl:
117         * ksvg2/svg/SVGAElement.h:
118         * ksvg2/svg/SVGAngle.h:
119         * ksvg2/svg/SVGAnimateColorElement.h:
120         * ksvg2/svg/SVGAnimateElement.h:
121         * ksvg2/svg/SVGAnimateTransformElement.h:
122         * ksvg2/svg/SVGAnimatedAngle.h:
123         * ksvg2/svg/SVGAnimatedBoolean.h:
124         * ksvg2/svg/SVGAnimatedColor.h:
125         * ksvg2/svg/SVGAnimatedEnumeration.h:
126         * ksvg2/svg/SVGAnimatedInteger.h:
127         * ksvg2/svg/SVGAnimatedLength.h:
128         * ksvg2/svg/SVGAnimatedLengthList.h:
129         * ksvg2/svg/SVGAnimatedNumber.h:
130         * ksvg2/svg/SVGAnimatedNumberList.h:
131         * ksvg2/svg/SVGAnimatedPathData.h:
132         * ksvg2/svg/SVGAnimatedPoints.h:
133         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
134         * ksvg2/svg/SVGAnimatedRect.h:
135         * ksvg2/svg/SVGAnimatedString.h:
136         * ksvg2/svg/SVGAnimatedTemplate.h:
137         * ksvg2/svg/SVGAnimatedTransformList.h:
138         * ksvg2/svg/SVGAnimationElement.cpp:
139         (SVGAnimationElement::calculateCurrentValueItem):
140         (SVGAnimationElement::calculateRelativeTimePercentage):
141         * ksvg2/svg/SVGAnimationElement.h:
142         (WebCore::):
143         * ksvg2/svg/SVGCircleElement.h:
144         * ksvg2/svg/SVGClipPathElement.h:
145         * ksvg2/svg/SVGColor.h:
146         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
147         * ksvg2/svg/SVGCursorElement.h:
148         * ksvg2/svg/SVGDOMImplementation.h:
149         * ksvg2/svg/SVGDefsElement.h:
150         * ksvg2/svg/SVGDescElement.h:
151         * ksvg2/svg/SVGDocument.h:
152         * ksvg2/svg/SVGElement.h:
153         (WebCore::SVGElement::rendererIsNeeded):
154         (WebCore::svg_dynamic_cast):
155         * ksvg2/svg/SVGElementInstance.h:
156         * ksvg2/svg/SVGElementInstanceList.h:
157         * ksvg2/svg/SVGEllipseElement.h:
158         * ksvg2/svg/SVGExternalResourcesRequired.h:
159         * ksvg2/svg/SVGFEBlendElement.h:
160         * ksvg2/svg/SVGFEColorMatrixElement.h:
161         * ksvg2/svg/SVGFEComponentTransferElement.h:
162         * ksvg2/svg/SVGFECompositeElement.h:
163         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
164         * ksvg2/svg/SVGFEDisplacementMapElement.h:
165         * ksvg2/svg/SVGFEDistantLightElement.h:
166         * ksvg2/svg/SVGFEFloodElement.h:
167         * ksvg2/svg/SVGFEFuncAElement.h:
168         * ksvg2/svg/SVGFEFuncBElement.h:
169         * ksvg2/svg/SVGFEFuncGElement.h:
170         * ksvg2/svg/SVGFEFuncRElement.h:
171         * ksvg2/svg/SVGFEGaussianBlurElement.h:
172         * ksvg2/svg/SVGFEImageElement.h:
173         * ksvg2/svg/SVGFELightElement.h:
174         * ksvg2/svg/SVGFEMergeElement.h:
175         * ksvg2/svg/SVGFEMergeNodeElement.h:
176         * ksvg2/svg/SVGFEOffsetElement.h:
177         * ksvg2/svg/SVGFEPointLightElement.h:
178         * ksvg2/svg/SVGFESpecularLightingElement.h:
179         * ksvg2/svg/SVGFESpotLightElement.h:
180         * ksvg2/svg/SVGFETileElement.h:
181         * ksvg2/svg/SVGFETurbulenceElement.h:
182         * ksvg2/svg/SVGFilterElement.h:
183         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
184         * ksvg2/svg/SVGFitToViewBox.h:
185         * ksvg2/svg/SVGForeignObjectElement.cpp:
186         * ksvg2/svg/SVGForeignObjectElement.h:
187         * ksvg2/svg/SVGGElement.h:
188         * ksvg2/svg/SVGGradientElement.h:
189         * ksvg2/svg/SVGHelper.h:
190         (WebCore::):
191         * ksvg2/svg/SVGImageElement.h:
192         * ksvg2/svg/SVGLangSpace.h:
193         * ksvg2/svg/SVGLength.h:
194         * ksvg2/svg/SVGLengthList.h:
195         * ksvg2/svg/SVGLineElement.h:
196         * ksvg2/svg/SVGLinearGradientElement.h:
197         * ksvg2/svg/SVGList.h:
198         * ksvg2/svg/SVGLocatable.h:
199         * ksvg2/svg/SVGMarkerElement.h:
200         * ksvg2/svg/SVGMaskElement.h:
201         * ksvg2/svg/SVGMatrix.h:
202         * ksvg2/svg/SVGNumber.h:
203         * ksvg2/svg/SVGNumberList.h:
204         * ksvg2/svg/SVGPaint.h:
205         * ksvg2/svg/SVGPathElement.h:
206         * ksvg2/svg/SVGPathSeg.h:
207         * ksvg2/svg/SVGPathSegArc.h:
208         * ksvg2/svg/SVGPathSegClosePath.h:
209         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
210         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
211         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
212         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
213         * ksvg2/svg/SVGPathSegLineto.h:
214         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
215         * ksvg2/svg/SVGPathSegLinetoVertical.h:
216         * ksvg2/svg/SVGPathSegList.h:
217         * ksvg2/svg/SVGPathSegMoveto.h:
218         * ksvg2/svg/SVGPatternElement.h:
219         * ksvg2/svg/SVGPoint.h:
220         * ksvg2/svg/SVGPointList.h:
221         * ksvg2/svg/SVGPolyElement.h:
222         * ksvg2/svg/SVGPolygonElement.h:
223         * ksvg2/svg/SVGPolylineElement.h:
224         * ksvg2/svg/SVGPreserveAspectRatio.h:
225         * ksvg2/svg/SVGRadialGradientElement.h:
226         * ksvg2/svg/SVGRect.h:
227         * ksvg2/svg/SVGRectElement.h:
228         * ksvg2/svg/SVGSVGElement.h:
229         * ksvg2/svg/SVGScriptElement.h:
230         * ksvg2/svg/SVGSetElement.h:
231         * ksvg2/svg/SVGStopElement.h:
232         * ksvg2/svg/SVGStringList.h:
233         * ksvg2/svg/SVGStylable.h:
234         * ksvg2/svg/SVGStyleElement.h:
235         * ksvg2/svg/SVGStyledElement.h:
236         (WebCore::SVGStyledElement::rendererIsNeeded):
237         (WebCore::SVGStyledElement::canvasResource):
238         * ksvg2/svg/SVGStyledLocatableElement.h:
239         * ksvg2/svg/SVGStyledTransformableElement.h:
240         * ksvg2/svg/SVGSwitchElement.h:
241         * ksvg2/svg/SVGSymbolElement.h:
242         * ksvg2/svg/SVGTRefElement.h:
243         * ksvg2/svg/SVGTSpanElement.h:
244         * ksvg2/svg/SVGTests.h:
245         * ksvg2/svg/SVGTextContentElement.h:
246         * ksvg2/svg/SVGTextElement.h:
247         * ksvg2/svg/SVGTextPositioningElement.h:
248         * ksvg2/svg/SVGTitleElement.h:
249         * ksvg2/svg/SVGTransform.h:
250         * ksvg2/svg/SVGTransformList.h:
251         * ksvg2/svg/SVGTransformable.h:
252         * ksvg2/svg/SVGURIReference.h:
253         * ksvg2/svg/SVGUseElement.h:
254         * ksvg2/svg/SVGViewElement.h:
255         * ksvg2/svg/SVGZoomAndPan.h:
256         * ksvg2/svg/svgpathparser.h:
257         * page/Frame.h:
258         (WebCore::):
259         * platform/AffineTransform.h:
260         * platform/FontCache.cpp:
261         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
262         * platform/FontData.cpp:
263         (WebCore::FontData::FontData):
264         * platform/FontData.h:
265         * platform/TextBox.h:
266         (WebCore::TextBox::):
267         * platform/Timer.cpp:
268         (WebCore::TimerBase::heapPop):
269         * platform/mac/FontCacheMac.mm:
270         * platform/mac/GlyphMapMac.cpp:
271         * platform/mac/WebFontCache.mm:
272         (betterChoice):
273         * rendering/DeprecatedRenderSelect.cpp:
274         (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
275         * rendering/EllipsisBox.h:
276         * rendering/RenderBR.h:
277         (WebCore::RenderBR::renderName):
278         (WebCore::RenderBR::width):
279         * rendering/RenderBlock.h:
280         (WebCore::):
281         * rendering/RenderFlexibleBox.h:
282         * rendering/RenderFlow.h:
283         (WebCore::RenderFlow::RenderFlow):
284         * rendering/RenderFrame.cpp:
285         * rendering/bidi.h:
286         * rendering/break_lines.cpp:
287
288 2006-07-29  Rob Buis  <buis@kde.org>
289
290         Reviewed by Geoff.
291
292         http://bugzilla.opendarwin.org/show_bug.cgi?id=10151
293         ghostmap XHTML + SVG fails due to javascript undefined exception
294
295         Make sure document.URL works when called from a non-HTML document.
296
297         * bindings/js/kjs_html.cpp:
298         (KJS::JSHTMLDocument::getValueProperty):
299         * bindings/js/kjs_html.h:
300         (KJS::JSHTMLDocument::):
301         * dom/Document.idl:
302
303 2006-07-29  Mike Emmel  <mike.emmel@gmail.com>
304
305         Reviewed and tweaked by Darin.
306
307         - fixes for Linux build
308           (still might not compile, since Darin tweaked but was unable to test).
309
310         * WebCoreSources.bkl: Added some new sources, removed some obsolete ones.
311         * Projects/gdk/webcore-gdk.bkl: Added RenderPopupMenuGdk.cpp
312
313         * html/HTMLPlugInElement.h: Removed incorrect syntax with class name
314         before ::.
315
316         * platform/gdk/FrameGdk.h:
317         * platform/gdk/FrameGdk.cpp: Updated parameters of constructor. Moved a couple stubs
318         out of this file.
319         * platform/gdk/RenderPopupMenuGdk.h: Added.
320         * platform/gdk/RenderPopupMenuGdk.cpp: Added. Just a file full of empty stubs.
321         * platform/gdk/RenderThemeGdk.h:
322         * platform/gdk/RenderThemeGdk.cpp: (WebCore::RenderThemeGdk::createPopupMenu): Added.
323
324         * platform/gdk/TemporaryLinkStubs.cpp: Add some new stubs.
325
326 2006-07-29  Mark Rowe  <opendarwin.org@bdash.net.nz>
327
328         Reviewed by Darin.
329
330         http://bugzilla.opendarwin.org/show_bug.cgi?id=10022
331         Bug 10022: REGRESSION: Crash in WebCore::XMLTokenizer::characters
332
333         * dom/XMLTokenizer.cpp:
334         (WebCore::XMLTokenizer::resumeParsing): If the write() call resulted in new callbacks being
335         added, don't call through to end() just yet.
336
337 2006-07-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
338
339         Reviewed by John Sullivan.
340
341         - manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9984
342           ASSERTION FAILURE: _private->mouseDownEvent != nil
343           (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
344
345         * manual-tests/subview-click-assertion.html: Added.
346
347 2006-07-29  Andrew Wellington  <proton@wiretapped.net>
348
349         Reviewed by Darin.
350
351         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8587 / <rdar://problem/4631844>
352         REGRESSION: {display:list-item} items outside an ol or ul element don't number correctly
353
354         * rendering/RenderListItem.cpp:
355         (WebCore::enclosingList): If no real list element is found, use parent instead.
356         (WebCore::previousListItem): Check list elements to see if they are list items -- the
357         old code assumed that a list would never be a list item but this is entirely possible
358         with CSS and especially with the new rule that means any DOM element could act as a list.
359
360 2006-07-29  Alexey Proskuryakov  <ap@nypop.com>
361
362         Reviewed by Darin.
363
364         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10147
365         REGRESSION: custom attribute values set via javascript are not persistent
366
367         Test: fast/dom/Element/setAttribute-case-insensitivity.html
368
369         * dom/Element.cpp:
370         (WebCore::Element::setAttribute): Use the lowercased localName for retrieving the old value, too.
371
372 2006-07-28  Timothy Hatcher  <timothy@apple.com>
373
374         Suggested by Darin.
375
376         Moving the implementation of isContentEditable to the
377         the WebPrivate category.
378
379         * bindings/objc/DOM.mm:
380         (-[DOMNode isContentEditable]):
381
382 2006-07-28  Justin Garcia  <justin.garcia@apple.com>
383
384         Reviewed by levi
385         
386         First part of:
387         <rdar://problem/4515463>
388         REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page
389         
390         Migrate to isBlock and enclosingBlock.
391         Changed RendereringInfo::isBlock and ReplacementFragment::isBlock
392         to wasBlock so that they don't conflict with isBlock and because
393         it's more descriptive.
394
395         * editing/ReplaceSelectionCommand.cpp:
396         (WebCore::ReplacementFragment::mergeStartNode):
397         (WebCore::ReplacementFragment::wasBlock):
398         (WebCore::ReplacementFragment::saveRenderingInfo):
399         (WebCore::ReplacementFragment::renderedBlocks):
400         (WebCore::RenderingInfo::RenderingInfo):
401         (WebCore::ReplaceSelectionCommand::shouldMergeStart):
402         (WebCore::ReplaceSelectionCommand::doApply):
403         * editing/ReplaceSelectionCommand.h:
404         (WebCore::RenderingInfo::wasBlock):
405
406 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
407
408         Reviewed by levi
409         
410         More changes for:
411         <rdar://problem/4242293>
412         Poor paste fidelity of http://www.google.com/
413
414         * editing/markup.cpp:
415         (WebCore::needInterchangeNewlineAfter): Added.
416         (WebCore::createMarkup): 
417         Only add an interchangeNewline if we're annotating for interchange.  Can't test 
418         this until we expose createMarkup in non-annotate mode (I'd expose Range::toHTML).
419         Remove the FIXME about prepending the interchangeNewline before creating the rest 
420         of the markup.  Its correct to surround the interchangeNewline in ancestors of the
421         adjusted startNode.
422         Fixed the check to see if an interchangeNewline is needed (!inSameBlock).  This would
423         add an interchangeNewline for a selection that started before a table.
424         Removed the workaround for the bug where markup for a table was not included when 
425         selecting the contents of a table, since this change fixes the general problem of 
426         markup for ancestors of the startNode being left out.
427         Don't leave out ancestors of the startNode as we leave their subtrees.  Execute the
428         code to include them even if we closed ancestors in the ancestorsToClose list.
429
430 2006-07-28  Timothy Hatcher  <timothy@apple.com>
431
432         Reviewed by John.
433
434         Adding isContentEditable to DOMNode's private category. 
435
436         * bindings/objc/DOMPrivate.h:
437
438 2006-07-28  Alexey Proskuryakov  <ap@nypop.com>
439
440         Rolling out http://bugzilla.opendarwin.org/show_bug.cgi?id=6010 because of failing layout tests.
441         Add better SVGLoad event support.
442
443         * dom/EventTargetNode.cpp:
444         (WebCore::EventTargetNode::dispatchGenericEvent):
445         * html/HTMLImageLoader.cpp:
446         (WebCore::HTMLImageLoader::dispatchLoadEvent):
447         * html/HTMLImageLoader.h:
448         * ksvg2/misc/SVGImageLoader.cpp:
449         (WebCore::SVGImageLoader::SVGImageLoader):
450         * ksvg2/misc/SVGImageLoader.h:
451         * ksvg2/svg/SVGAElement.cpp:
452         (WebCore::SVGAElement::parseMappedAttribute):
453         * ksvg2/svg/SVGAnimatedBoolean.h:
454         * ksvg2/svg/SVGElement.cpp:
455         (WebCore::SVGElement::SVGElement):
456         (WebCore::SVGElement::parseMappedAttribute):
457         * ksvg2/svg/SVGElement.h:
458         (WebCore::SVGElement::adjustViewportClipping):
459         (WebCore::SVGElement::closeRenderer):
460         (WebCore::SVGElement::rendererIsNeeded):
461         (WebCore::SVGElement::isClosed):
462         (WebCore::svg_dynamic_cast):
463         * ksvg2/svg/SVGExternalResourcesRequired.h:
464         * ksvg2/svg/SVGImageElement.cpp:
465         (SVGImageElement::SVGImageElement):
466         * ksvg2/svg/SVGImageElement.h:
467         * ksvg2/svg/SVGSVGElement.cpp:
468         (WebCore::SVGSVGElement::parseMappedAttribute):
469         * ksvg2/svg/SVGScriptElement.cpp:
470         (SVGScriptElement::SVGScriptElement):
471         (SVGScriptElement::parseMappedAttribute):
472         (SVGScriptElement::executeScript):
473         * xml/xmlhttprequest.cpp:
474         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
475
476 2006-07-28  Adele Peterson  <adele@apple.com>
477
478         Rolling out http://bugzilla.opendarwin.org/show_bug.cgi?id=9753 because of failing layout tests.
479         SVG with width and height 100% leaves room for scrollbar on the right.
480
481         * kcanvas/RenderPath.cpp:
482         * kcanvas/RenderPath.h:
483         * kcanvas/RenderSVGContainer.cpp:
484         (WebCore::RenderSVGContainer::layout):
485         * ksvg2/svg/SVGCircleElement.cpp:
486         * ksvg2/svg/SVGCircleElement.h:
487         * ksvg2/svg/SVGEllipseElement.cpp:
488         * ksvg2/svg/SVGEllipseElement.h:
489         * ksvg2/svg/SVGLineElement.cpp:
490         * ksvg2/svg/SVGLineElement.h:
491         * ksvg2/svg/SVGRectElement.cpp:
492         * ksvg2/svg/SVGRectElement.h:
493         * ksvg2/svg/SVGStyledElement.h:
494
495 2006-07-27  Eric Seidel  <eric@eseidel.com>
496
497         Reviewed by darin.
498         
499         Add better SVGLoad event support.
500         http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
501         There will still need to be additional support added for <link> and <script> elements.
502         Not all of the error -> loaded -> error transition cases work yet.
503
504         * dom/EventTargetNode.cpp:
505         (WebCore::EventTargetNode::dispatchGenericEvent):
506         * html/HTMLImageLoader.cpp:
507         (WebCore::HTMLImageLoader::dispatchLoadEvent):
508         * html/HTMLImageLoader.h:
509         (WebCore::HTMLImageLoader::haveFiredLoadEvent):
510         (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
511         * ksvg2/misc/SVGImageLoader.cpp:
512         (WebCore::SVGImageLoader::SVGImageLoader):
513         (WebCore::SVGImageLoader::dispatchLoadEvent):
514         * ksvg2/misc/SVGImageLoader.h:
515         * ksvg2/svg/SVGAElement.cpp:
516         (WebCore::SVGAElement::parseMappedAttribute):
517         * ksvg2/svg/SVGAnimatedBoolean.h:
518         * ksvg2/svg/SVGElement.cpp:
519         (WebCore::SVGElement::SVGElement):
520         (WebCore::SVGElement::parseMappedAttribute):
521         (WebCore::SVGElement::haveLoadedRequiredResources):
522         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
523         (WebCore::SVGElement::closeRenderer):
524         * ksvg2/svg/SVGElement.h:
525         (WebCore::SVGElement::rendererIsNeeded):
526         (WebCore::svg_dynamic_cast):
527         * ksvg2/svg/SVGExternalResourcesRequired.h:
528         * ksvg2/svg/SVGImageElement.cpp:
529         (SVGImageElement::SVGImageElement):
530         (SVGImageElement::haveLoadedRequiredResources):
531         * ksvg2/svg/SVGImageElement.h:
532         * ksvg2/svg/SVGSVGElement.cpp:
533         (WebCore::SVGSVGElement::parseMappedAttribute):
534         * ksvg2/svg/SVGScriptElement.cpp:
535         (WebCore::SVGScriptElement::SVGScriptElement):
536         (WebCore::SVGScriptElement::parseMappedAttribute):
537         (WebCore::SVGScriptElement::executeScript):
538         * xml/xmlhttprequest.cpp:
539         (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
540
541 2006-07-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
542
543         Reviewed by Anders.
544
545         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10135
546           Cleanup: remove useless parameters from RenderObject::position()
547
548         No test possible (no functionality change)
549
550         * rendering/RenderBox.cpp:
551         (WebCore::RenderBox::position):
552         * rendering/RenderBox.h:
553         * rendering/RenderObject.h:
554         (WebCore::RenderObject::position):
555         * rendering/RenderTableRow.h:
556         (WebCore::RenderTableRow::position):
557         * rendering/RenderTableSection.h:
558         (WebCore::RenderTableSection::position):
559         * rendering/RenderText.cpp:
560         (WebCore::RenderText::position):
561         * rendering/RenderText.h:
562         * rendering/bidi.cpp:
563         (WebCore::RenderBlock::constructLine):
564         (WebCore::RenderBlock::computeVerticalPositionsForLine):
565
566 2006-07-27  Rob Buis  <buis@kde.org>
567
568         Reviewed by Maciej.
569
570         http://bugzilla.opendarwin.org/show_bug.cgi?id=9753
571         SVG with width and height 100% leaves room for scrollbar on the right.
572
573         Relayout children of svg containers, except svg shapes that do not depend on percentages.
574
575         * kcanvas/RenderPath.cpp: (WebCore::RenderPath::hasPercentageValues):
576         * kcanvas/RenderPath.h:
577         * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout):
578         * ksvg2/svg/SVGCircleElement.cpp: (SVGCircleElement::hasPercentageValues):
579         * ksvg2/svg/SVGCircleElement.h:
580         * ksvg2/svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::hasPercentageValues):
581         * ksvg2/svg/SVGEllipseElement.h:
582         * ksvg2/svg/SVGLineElement.cpp: (SVGLineElement::hasPercentageValues):
583         * ksvg2/svg/SVGLineElement.h:
584         * ksvg2/svg/SVGRectElement.cpp: (WebCore::SVGRectElement::hasPercentageValues):
585         * ksvg2/svg/SVGRectElement.h:
586         * ksvg2/svg/SVGStyledElement.h: (WebCore::SVGStyledElement::hasPercentageValues):
587
588 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
589
590         Reviewed by levi
591         
592         <rdar://problem/4242293>
593         Poor paste fidelity of http://www.google.com/
594
595         * editing/ApplyStyleCommand.cpp:
596         (WebCore::ApplyStyleCommand::applyInlineStyle):  Fixed crasher with nil-check.
597         * editing/markup.cpp:
598         (WebCore::startMarkup): Style information wasn't added to an element if it had
599         attributes but no style attribute.
600
601 2006-07-27  Alexander Kellett  <lypanov@kde.org>
602
603         Reviewed by Darin.
604
605         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9867
606           REGRESSION: code that modifies form element in Firefox modifies form attribute in WebKit
607
608         * bindings/scripts/CodeGeneratorJS.pm: add new attribute - HasOverridingNameGetter
609         * html/HTMLFormElement.idl:
610
611 2006-07-27  Rob Buis  <buis@kde.org>
612
613         Reviewed by Anders.
614
615         http://bugzilla.opendarwin.org/show_bug.cgi?id=8992
616         Some HTML DOM attributes have incorrect types
617
618         Adjust idl and dom source code for HTMLImageElement and
619         HTMLBaseFontElement to choose correct type for
620         HTMLImageElement::border and HTMLBaseFontElement::size
621         attributes.
622
623         * html/HTMLBaseFontElement.cpp:
624         (WebCore::HTMLBaseFontElement::size):
625         (WebCore::HTMLBaseFontElement::setSize):
626         * html/HTMLBaseFontElement.h:
627         * html/HTMLBaseFontElement.idl:
628         * html/HTMLImageElement.cpp:
629         (WebCore::HTMLImageElement::border):
630         (WebCore::HTMLImageElement::setBorder):
631         * html/HTMLImageElement.h:
632         * html/HTMLImageElement.idl:
633
634 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
635
636         Reviewed by levi
637         
638         <rdar://problem/4628409>
639         Safari crashes in CompositeEditCommand::removeBlockPlaceholder entering text in a web page form
640
641         * editing/CompositeEditCommand.cpp:
642         (WebCore::CompositeEditCommand::removeBlockPlaceholder): 
643         A script on the page shrinks the textarea down to zero rows just
644         before insertion.  That gives the shadow div a zero height, removing
645         [div, 0] as a candidate for a VisiblePosition.  Then 
646         InsertTextCommand::input() tries to create a VisiblePosition from 
647         [div, 0] and fails.  A nil check is a quick fix.  Another might
648         be to make positions where there is a caret selection candidates.
649         Another might be to make any [div, 0] where div is a shadow div inside
650         a form element a candidate.
651
652 2006-07-27  Graham Dennis  <graham.dennis@gmail.com>
653
654         Reviewed by Darin.
655
656         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10094
657           Japanese characters improperly rendering in TOT
658           
659         Test: fast/encoding/denormalised-voiced-japanese-chars.html
660
661         * platform/Font.cpp:
662         (WebCore::WidthIterator::advance): pass currentCharacter to normalizeVoicingMarks
663         (WebCore::WidthIterator::normalizeVoicingMarks): turn the currentCharacter variable
664         into an argument as WidthIterator::advance doesn't update m_currentCharacter while
665         looping
666
667 2006-07-27  Eric Seidel  <eric@eseidel.com>
668
669         Reviewed by ap.
670
671         Complex entities seem to fail on TOT
672         http://bugzilla.opendarwin.org/show_bug.cgi?id=6390
673         Use an alternative work-around to an XML Entity parsing bug.
674
675         * dom/XMLTokenizer.cpp:
676         (WebCore::XMLTokenizer::write):
677         (WebCore::hackAroundLibXMLEntityBug): added.
678         (WebCore::startElementNsHandler):
679         (WebCore::endElementNsHandler):
680         (WebCore::charactersHandler):
681         (WebCore::processingInstructionHandler):
682         (WebCore::cdataBlockHandler):
683         (WebCore::commentHandler):
684         (WebCore::getEntityHandler):
685
686 2006-07-27  Rob Buis  <buis@kde.org>
687
688         Reviewed by Darin.
689
690         http://bugzilla.opendarwin.org/show_bug.cgi?id=9938
691         Fix viewBox issues in Hixie's test
692
693         Do a more accurate and quicker job of parsing the viewBox
694         attribute. Handle properly on negative width/height and
695         invalid syntax in general.
696
697         * ksvg2/svg/SVGFitToViewBox.cpp:
698         (SVGFitToViewBox::parseViewBox):
699
700 2006-07-27  Eric Seidel  <eric@eseidel.com>
701
702         Reviewed by ap.
703
704         Enables getSVGDocument() support for HTMLObjectElement and HTMLEmbedElement
705         http://bugzilla.opendarwin.org/show_bug.cgi?id=9237
706         This patch does not try to autogenerate anything, but enables the SVG functionality.
707         Also fix HTMLObjectElement vspace and hspace to be numbers instead of strings to match IE & Firefox.
708
709         * bindings/js/kjs_dom.cpp:
710         (KJS::toJS):
711         * bindings/js/kjs_html.cpp:
712         (KJS::JSHTMLElement::objectGetter):
713         (KJS::HTMLElementFunction::callAsFunction):
714         (KJS::JSHTMLElement::objectSetter):
715         * bindings/js/kjs_html.h:
716         (KJS::JSHTMLElement::):
717         * dom/Document.h:
718         (WebCore::Document::isSVGDocument):
719         * html/HTMLEmbedElement.cpp:
720         (WebCore::HTMLEmbedElement::contentDocument):
721         (WebCore::HTMLEmbedElement::getSVGDocument):
722         * html/HTMLEmbedElement.h:
723         * html/HTMLObjectElement.cpp:
724         (WebCore::HTMLObjectElement::HTMLObjectElement):
725         (WebCore::HTMLObjectElement::getInstance):
726         (WebCore::HTMLObjectElement::parseMappedAttribute):
727         (WebCore::HTMLObjectElement::contentDocument):
728         (WebCore::HTMLObjectElement::rendererIsNeeded):
729         (WebCore::HTMLObjectElement::createRenderer):
730         (WebCore::HTMLObjectElement::setCode):
731         (WebCore::HTMLObjectElement::setArchive):
732         (WebCore::HTMLObjectElement::setBorder):
733         (WebCore::HTMLObjectElement::setCodeBase):
734         (WebCore::HTMLObjectElement::setCodeType):
735         (WebCore::HTMLObjectElement::setData):
736         (WebCore::HTMLObjectElement::hspace):
737         (WebCore::HTMLObjectElement::setHspace):
738         (WebCore::HTMLObjectElement::setStandby):
739         (WebCore::HTMLObjectElement::setType):
740         (WebCore::HTMLObjectElement::setUseMap):
741         (WebCore::HTMLObjectElement::vspace):
742         (WebCore::HTMLObjectElement::setVspace):
743         (WebCore::HTMLObjectElement::getSVGDocument):
744         * html/HTMLObjectElement.h:
745         * ksvg2/svg/SVGDocument.h:
746         (WebCore::SVGDocument::isSVGDocument):
747         * rendering/RenderWidget.h:
748         (WebCore::RenderWidget::frameView):
749
750 2006-07-26  Alexey Proskuryakov  <ap@nypop.com>
751
752         Reviewed by Darin.
753
754         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9901
755         XSLTProcessor cannot parse text nodes for INPUT ELEMENTS in an XSLT stylesheet
756
757         Test: fast/js/xhtml-serialize.html
758
759         * editing/markup.cpp:
760         (WebCore::endMarkup): If the element has child nodes, write a closing tag even if it 
761         is not permitted in HTML, to make it valid XML.
762
763 2006-07-26  Alice Liu  <alice.liu@apple.com>
764
765         Reviewed by John Sullivan (and Kevin and Timo).
766
767         landing this patch for John et al.  
768         Fixed <rdar://problem/4651380> REGRESSION (9A232->9A234): existing web clips don't render if you restart Dashboard
769
770         * page/FrameView.cpp:
771         (WebCore::FrameView::layout):
772         moved the call to didFirstLayout to above the check for needsLayout
773         because we need to call didFirstLayout for every webview, not just
774         ones we think need layout.  
775
776 2006-07-26  Justin Garcia  <justin.garcia@apple.com>
777
778         Reviewed by darin
779         
780         <rdar://problem/4652788>
781         REGRESSION: Can't change size or style of any text in message body
782
783         * dom/Node.cpp:
784         (WebCore::Node::isContentRichlyEditable): Mimic Node::isContentEditable.
785         * html/HTMLElement.cpp:
786         (WebCore::HTMLElement::isContentRichlyEditable): First check
787         the frame for editability, then userModify, like what
788         HTMLElement::isContentEditable() does.
789         * html/HTMLElement.h:
790
791 2006-07-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
792
793         Reviewed by ap.
794
795         - fix debug-only information() string for table cells
796
797         * rendering/RenderObject.cpp:
798         (WebCore::RenderObject::information):
799
800 2006-07-25  David Harrison  <harrison@apple.com>
801
802         Reviewed by timo and Darin.
803
804         <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
805         
806         * WebCore.xcodeproj/project.pbxproj:
807         * bridge/mac/WebCoreFrameBridge.h:
808         * bridge/mac/WebCoreFrameBridge.mm:
809         (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
810         Add matchStyle parameter for use by WebKit.
811
812 2006-07-25  Justin Garcia  <justin.garcia@apple.com>
813
814         Reviewed by adele
815         
816         <rdar://problem/4649560>
817         REGRESSION: Can't Select All when the body is contentEditable="true"
818
819         * editing/VisiblePosition.cpp:
820         (WebCore::VisiblePosition::canonicalPosition): Allow descent from a non-editable html
821         element into an editable body as a convenience.
822
823 2006-07-25  Justin Garcia  <justin.garcia@apple.com>
824
825         Reviewed by darin
826         
827         <rdar://problem/4468458> Incoming HTML message is editable <body contenteditable="true">
828
829         * dom/Document.cpp:
830         (WebCore::Document::inDesignMode): Removed some spaces.
831         * page/Frame.cpp:
832         (WebCore::Frame::applyEditingStyleToElement): Just add CSS properties needed for editing.
833         (WebCore::Frame::removeEditingStyleFromElement): Made this a no-op, we'll remove
834         it eventually.
835
836 2006-07-25  David Kilzer  <ddkilzer@kilzer.net>
837
838         Reviewed by Darin.
839
840         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9717
841           Replace IDL ConvertUndefinedToTrue parameter attribute with Optional attribute
842
843         No test added because there is no change in functionality.
844
845         * bindings/js/kjs_binding.cpp: Removed valueToBooleanTreatUndefinedAsTrue() method.
846         * bindings/js/kjs_binding.h: Ditto.
847         * bindings/scripts/CodeGeneratorJS.pm: Removed support for ConvertUndefinedToTrue parameter attribute.
848         * dom/Element.h: Set default value to true for scrollIntoView() and scrollIntoViewIfNeeded() arguments.
849         * dom/Element.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
850           Fixed name of scrollIntoViewIfNeeded() argument to match implementation.
851         * page/DOMWindow.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
852
853 2006-07-24  Dan Waylonis  <waylonis@google.com>
854
855         Reviewed and tweaked a bunch by Darin.
856
857         Test: plugins/bindings-test.html
858
859         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9902
860           jsNull and NSNull not properly converted between JS and ObjC
861
862         * bindings/objc/WebScriptObject.mm:
863         (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
864         Added case that converts jsNull to NSNull.
865
866 2006-07-24  Darin Adler  <darin@apple.com>
867
868         Reviewed by Adele and Justin.
869
870         - fix <rdar://problem/4613616> REGRESSION: some spaces typed in <textarea> are posted as non-breaking spaces (9630)
871           http://bugzilla.opendarwin.org/show_bug.cgi?id=9630
872         - also fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=9939
873           REGRESSION: Pasting text into native text area with newline at end does not preserve newline
874         - removed some uses of DeprecatedPtrList in the markup code
875
876         Test: fast/forms/textarea-type-spaces.html
877         Test: fast/forms/textarea-paste-newline.html
878
879         * bindings/objc/DOMHTML.mm: (-[DOMHTMLDocument createDocumentFragmentWithText:]):
880         Updated call to pass a range -- in this case it is the range of the entire document,
881         so this will not handle the whitespace properly.
882
883         * bridge/mac/WebCoreFrameBridge.h: Added range context parameter to the
884         documentFragmentWithText: method, so we can handle whitespace properly.
885         * bridge/mac/WebCoreFrameBridge.mm:
886         (-[WebCoreFrameBridge nodesFromList:]): Changed from DeprecatedPtrList to Vector.
887         (-[WebCoreFrameBridge markupStringFromNode:nodes:]): Ditto.
888         (-[WebCoreFrameBridge markupStringFromRange:nodes:]): Ditto.
889         (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Added range context
890         parameter -- pass it on to createFragmentFromText.
891         (-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]): Changed from
892         DeprecatedPtrList to Vector.
893         (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
894         Pass the range of the current selection as context when creating the fragment.
895
896         * dom/Position.cpp: (WebCore::Position::inRenderedText): Replace range check with
897         a call to the new containsCaretOffset function -- helps make the caret work right when
898         it is past the end of the last line in a textarea.
899
900         * editing/CompositeEditCommand.cpp:
901         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Don't do anything if the
902         style does not call for collapsing whitespace.
903         (WebCore::CompositeEditCommand::rebalanceWhitespace): Call replaceWhitespaceAt
904         to share code, including the new logic mentioned above.
905
906         * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
907         Use a text node instead of a break element when inserting and the style is preserveNewline.
908
909         * editing/JSEditor.cpp: (WebCore::execRemoveFormat): Pass the selection range
910         to createFragmentFromText.
911
912         * editing/RebalanceWhitespaceCommand.cpp: (WebCore::RebalanceWhitespaceCommand::doApply):
913         Assert that we're in a style that collapses whitespace. It's the caller's responsibility
914         not to call otherwise.
915
916         * editing/ReplaceSelectionCommand.h: Removed unused destructor, type, isSingleTextNode,
917         isTreeFragment, m_type, and added a context parameter to inertFragmentForTestRendering.
918         Also changed the constructor to take a selection rather than a pointer to the root
919         editable element, replaced removeEndBRIfNeeded with shouldRemoveEndBR and removed an
920         unused parameter from shouldMergeEnd.
921         * editing/ReplaceSelectionCommand.cpp:
922         (WebCore::ReplacementFragment::ReplacementFragment): Removed code to set up m_type.
923         Compute root editable element from passed-in selection. Used the start of the selection
924         as a base node for style purposes for the test rendering. Removed the special case
925         "single text node" alternative to createFragmentFromText in the plain text case, since
926         createFragmentFromText now handles that correctly.
927         (WebCore::ReplacementFragment::insertFragmentForTestRendering): Copy the whitespace
928         property from the source location when creating a temporary element for test rendering.
929         (WebCore::ReplacementFragment::shouldMergeEnd): Removed unneeded boolean
930         parameter fragmentHadInterchangeNewlineAtEnd, which is always false.
931         (WebCore::ReplaceSelectionCommand::doApply): Update for ReplacementFragment changes,
932         change code to not remove end BR when it can be re-used instead, don't call the
933         paragraph separator insertion when the position is at the start of a paragraph already,
934         removed redundant computation of identical "next" value, removed unneeded boolean
935         parameter to shouldMergeEnd, add case for merging when all we need to do is to delete
936         a newline character, removed unneeded code to set insertionPos after all code that uses
937         it, and  use spaces instead of non-breaking spaces when doing smart paste if the
938         context is one where we do not collapse white space.
939         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Renamed and changed to return
940         a boolean instead of doing the removal.
941
942         * editing/markup.h: Use Vector instead of DeprecatedPtrList. Change the
943         createFragmentFromText function to take a range for context instead of a document.
944         * editing/markup.cpp:
945         (WebCore::markup): Use Vector instead of DeprecatedPtrList.
946         (WebCore::createMarkup): Ditto.
947         (WebCore::createParagraphContentsFromString): Remove unneeded document parameter
948         and changed a couple places to use isEmpty instead of comparing with "".
949         (WebCore::createFragmentFromText): Given the new context parameter, if the context
950         is one that preserves newlines, then use "\n" instead of <br> elements.
951         (WebCore::createFragmentFromNodes): Use Vector instead of DeprecatedPtrList.
952
953         * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerText): Do not use <br>
954         elements if the context of this node is one where we preserve newlines.
955
956         * rendering/InlineTextBox.h:
957         * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::containsCaretOffset):
958         Added. Implements the appropriate rule for determining if a caret position is
959         in this line or not. Returns true for both one line and the next in cases where
960         affinity must be considered to determine which line the caret is on.
961
962         * rendering/RenderText.h: Make atLineWrap no longer be a member function.
963         * rendering/RenderText.cpp:
964         (WebCore::atLineWrap): Remove special rule about preserveNewline and isLineBreak,
965         which will no longer apply due to the new containsCaretOffset function logic.
966         (WebCore::RenderText::caretRect): Use containsCaretOffset.
967         (WebCore::RenderText::inlineBox): Ditto.
968
969         * rendering/RenderTextControl.cpp:
970         (WebCore::RenderTextControl::updateFromElement): Make a placeholder <br> element
971         after calling setInnerText so that the last newline in the string has the effect
972         we expect outside the HTML world (an additional line).
973         (WebCore::RenderTextControl::setSelectionRange): Set granularity of the selection
974         too. The layout tests caught this problem, which needs a better solution long term.
975         (WebCore::RenderTextControl::text): Call textContent with the parameter false
976         so it will not include newlines for <br> elements. Now the only <br> element
977         that will ever be in the shadow DOM tree is the one to prevent collapsing, and
978         that one should not show up in the text value.
979
980         * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Took a rule
981         that specifically called out the pre whitespace mode and made it work for all
982         the modes that preserve newlines. This makes sure we get a last line box for
983         text after the last "\n" even in cases where there is no <br> afterward.
984
985         * editing/DeleteSelectionCommand.cpp:
986         (WebCore::DeleteSelectionCommand::fixupWhitespace):
987         * editing/InsertParagraphSeparatorCommand.cpp:
988         (WebCore::InsertParagraphSeparatorCommand::doApply):
989         Added assertions to make sure we don't do anything when we're not collapsing
990         whitespace.
991
992         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setDefaultValue):
993         Changed to use Vector instead of DeprecatedPtrList.
994
995         * editing/HTMLInterchange.cpp: Removed obsolete comment.
996
997         * loader/Cache.h: Removed a stray include.
998
999 2006-07-24  Adele Peterson  <adele@apple.com>
1000
1001         Reviewed by Justin.
1002
1003         - Fix for <rdar://problem/4632132> Changing style of content with mixed editability fails
1004
1005         Test: * editing/style/apple-style-editable-mix.html
1006
1007         * dom/Node.cpp: (WebCore::Node::isContentRichlyEditable): Doesn't need to check the editable root.  It now just
1008           checks the user modify property of its own renderer, since that is inherited.
1009         * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyle): If the end position is in a table,
1010         Adjust the end node to the last descendant of the table, so we don't skip over any runs.
1011
1012 2006-07-24  Darin Adler  <darin@apple.com>
1013
1014         Reviewed by Hyatt.
1015
1016         - implement String::createCFString
1017
1018         * WebCore.xcodeproj/project.pbxproj: Added StringImplMac.mm and StringMac.mm.
1019
1020         * bindings/objc/DOMInternal.mm: Moved NSString conversion functions out of here.
1021
1022         * platform/mac/StringImplMac.mm: Added. Moved NSString conversion members here
1023         and added the CFStringRef ones.
1024         * platform/mac/StringMac.mm: Added. Ditto.
1025
1026 2006-07-24  David Hyatt  <hyatt@apple.com>
1027
1028         Two bug fixes.
1029
1030         (1) Make sure to mark positioned objects that depend on line position to
1031         mark themselves as needing layout when their line box placeholder gets
1032         repositioned.
1033
1034         * rendering/RenderBox.cpp:
1035         (WebCore::RenderBox::position):
1036        
1037         (2) Improve highlighting to factor the inflation into overflow so that
1038         invalidation and repainting will work properly.
1039
1040         * rendering/RootInlineBox.cpp:
1041         (WebCore::RootInlineBox::addHighlightOverflow):
1042         * rendering/RootInlineBox.h:
1043         * rendering/bidi.cpp:
1044         (WebCore::RenderBlock::layoutInlineChildren):
1045
1046 2006-07-24  Anders Carlsson  <acarlsson@apple.com>
1047
1048         Reviewed by Adele.
1049
1050         <rdar://problem/4641824> REGRESSION: Wikipedia widget fails to complete a search after pressing return key
1051         
1052         * html/HTMLInputElement.cpp:
1053         (WebCore::HTMLInputElement::defaultEventHandler):
1054         Don't eat enter events for search fields that have no enclosing form; they need to be passed to AppKit so
1055         that onsearch can be invoked.
1056         
1057         * manual-tests/onsearch-enter.html: Added.
1058
1059 2006-07-24  Dave MacLachlan  <dmaclach@mac.com>
1060
1061         Reviewed by Darin and Alexey.
1062         
1063         Fix for: <http://bugzilla.opendarwin.org/show_bug.cgi?id=8425> 
1064         and <http://bugzilla.opendarwin.org/show_bug.cgi?id=6947>
1065
1066         Test: svg/custom/non-opaque-filters.svg
1067
1068         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1069         (WebCore::KCanvasFilterQuartz::prepareFilter):
1070         We create an autorelease pool so we can control the deallocation of the
1071         CIContext that we're creating. The CIContext retains the CGContext that 
1072         you pass it internally so when the CIContext is released, the 
1073         CGContext is released as well.
1074         This is all fine and dandy unless you wrap the creation of the CIFilter
1075         with a pair of CGBegin/EndTransparencyLayer calls which swap the context
1076         out from underneath you. So if you start with context A, 
1077         CGBeginTransparencyLayer swaps it out and gives you B. You create a CIFilter
1078         with it and add a reference to B. CGEndTransparencyLayer swaps out B and
1079         gives you back A. Autorelease pool comes and cleans up the Filter, and calls
1080         release on A, but A never got the refcount in the first place. B did. BOOM!
1081         So we create a pool, then do a retain, then release the pool so that we 
1082         don't have to worry about the pool releasing it at a later time.
1083         See <rdar://problem/4647735> for reduction of CGEndTransparencyLayer case
1084
1085 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1086
1087         Reviewed by Hyatt.
1088
1089         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9669
1090           Incomplete repaint when changing an inline's border
1091
1092         Test: fast/repaint/line-overflow.html
1093
1094         * rendering/RenderBlock.h:
1095         * rendering/bidi.cpp:
1096         (WebCore::RenderBlock::layoutInlineChildren): Added repaintTop and repaintBottom
1097         variables to track the vertical edges of the area that changed, accounting for
1098         lines that were deleted, inserted or moved. Removed unnecessary updating of
1099         m_overflowHeight.
1100         (WebCore::RenderBlock::determineStartPosition): Removed unnecessary updating of
1101         m_overflowHeight.
1102         (WebCore::RenderBlock::determineEndPosition):
1103         (WebCore::RenderBlock::matchedEndLine): Added repaintTop and repaintBottom
1104         arguments, which this method updates to account for deleted lines.
1105         (WebCore::RenderBlock::checkLinesForOverflow): Removed outdated FIXME.
1106
1107 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1108
1109         Reviewed by Darin.
1110
1111         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10075
1112           REGRESSION: Reversed pop-up text in visually-ordered Hebrew pages
1113
1114         Test: fast/forms/select-visual-hebrew.html
1115
1116         * css/html4.css: Set "-webkit-rtl-ordering: logical" on select elements.
1117
1118 2006-07-24  Alexey Proskuryakov  <ap@nypop.com>
1119
1120         Reviewed by Darin.
1121
1122         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10009
1123         REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
1124
1125         * page/Frame.cpp:
1126         (WebCore::Frame::begin): Give PDF plugins a chance to handle frame content, before ImageDocument
1127         claims it.
1128
1129 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1130
1131         Reviewed by Darin.
1132
1133         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10083
1134           REGRESSION (r15584): editing/selection/select-from-textfield-outwards failing
1135
1136         * rendering/RenderBlock.cpp:
1137         (WebCore::RenderBlock::positionForCoordinates): Added back change from the fix
1138         for bug 9312: For coordinates outside a replaced object, return the position
1139         just before (after) the element if the coordinates are above or to the left (below
1140         or to the right).
1141
1142 2006-07-23  Mark Rowe  <opendarwin.org@bdash.net.nz>
1143
1144         Reviewed by maciej.
1145
1146         Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
1147         http://bugzilla.opendarwin.org/show_bug.cgi?id=9686
1148
1149         WebCore portion of the fix.
1150
1151         * bridge/mac/WebCoreScriptDebugger.h:
1152         (-[WebScriptDebugger exceptionRaised:sourceId:line::]): Add delegate method.
1153         * bridge/mac/WebCoreScriptDebugger.mm:
1154         (WebCoreScriptDebuggerImp::exception): Call delegate method when an exception is raised.
1155
1156 2006-07-23  Alice Liu  <alice.liu@apple.com>
1157
1158         Reviewed by Adele.
1159         Actually Adele figured out how to fix the layout test failures.  Landing this patch for her.  Layout test failures exposed but not caused by  r15584 (my patch earlier today).
1160
1161         * editing/visible_units.cpp:
1162         (WebCore::previousLinePosition):
1163         When setting selection endpoints, don't traverse down into nodes where editing would ignore its contents. Use the parent node instead.  
1164         (WebCore::nextLinePosition):
1165         same as above
1166
1167 2006-07-23  David Harrison  <harrison@apple.com>
1168
1169         Reviewed by timo.
1170
1171         <rdar://problem/4646759> Mail crash editing To Do - WebCore::InsertTextCommand::prepareForTextInsertion
1172         
1173         * Test: editing/deleting/delete-mixed-editable-content-001.html
1174
1175         * editing/visible_units.cpp:
1176         (WebCore::startOfParagraph):
1177         Respect editable boundary the same way endOfParagraph does.
1178
1179 2006-07-23  Beth Dakin  <bdakin@apple.com>
1180
1181         Reviewed by Maciej. (Patch by me, Maciej, and Harrison.)
1182
1183         Fix for <rdar://problem/4529398> WebCore crashes when pasting rich 
1184         text - WebCore::InlineBox::root()
1185
1186         The initial rendering crash was due to a render object having a 
1187         stale reference to an inline box that had already been deleted and 
1188         then recreated in the exact same location in memory. (Crazy, I 
1189         know.) The situation seemed pretty specific to list markers 
1190         according to Hyatt according to Maciej, so that is what I patched 
1191         specifically. Fixing this crash unearthed a separate editing crash 
1192         where we were trying to insert a block into itself. I worked on 
1193         that with Maciej and Harrison, and Harrison came up with a fix.
1194
1195         * editing/CompositeEditCommand.cpp:
1196         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): This is the fix for the editing crash. If paragraphStart is an atomic 
1197         node, insert the new block into the parent instead.
1198         * rendering/InlineBox.cpp:
1199         (WebCore::InlineBox::isChildOfParent): This function is for 
1200         posterity. It will help keep the linebox tree in check.
1201         * rendering/InlineBox.h:
1202         * rendering/InlineFlowBox.cpp:
1203         (WebCore::InlineFlowBox::addToLine): Added assert.
1204         (WebCore::InlineFlowBox::deleteLine): Added assert.
1205         * rendering/ListMarkerBox.cpp:
1206         (WebCore::ListMarkerBox::destroy): If this has a parent, call 
1207         removeChild on this.
1208         (WebCore::ListMarkerBox::operator delete):
1209         * rendering/ListMarkerBox.h:
1210
1211 2006-07-23  Alice Liu  <alice.liu@apple.com>
1212
1213         Reviewed by Darin.
1214
1215         fixed <rdar://problem/4617841> REGRESSION (NativeTextField): You can move keyboard focus to a field without getting insertion point
1216
1217         * rendering/RenderBlock.cpp:
1218         (WebCore::RenderBlock::positionForCoordinates):
1219         removed some unnecessary vertical position checks and added a fudge factor to be more forgiving for clicks near lines.
1220         * rendering/RenderTextControl.cpp:
1221         (WebCore::RenderTextControl::nodeAtPoint):
1222         added implementation
1223         * rendering/RenderTextControl.h:
1224         added function protocol
1225
1226 2006-07-23  Adele Peterson  <adele@apple.com>
1227
1228         Reviewed by Darin.
1229
1230         Updating fix from last checkin.
1231
1232         * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
1233         Only tell the view about this flexbox if there isn't another flexbox already cached.
1234
1235 2006-07-23  Adele Peterson  <adele@apple.com>
1236
1237         Reviewed by Maciej.
1238
1239         - Fix for <rdar://problem/4644614> REGRESSION: Typing, pasting or dragging in new text areas causes unnecessary scrolling
1240
1241         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Don't updateScrollInfoAfterLayout if an ancestor flexible box is just on
1242         its first layout.
1243         * rendering/RenderFlexibleBox.cpp:
1244         (WebCore::RenderFlexibleBox::layoutBlock): ditto.
1245         (WebCore::RenderFlexibleBox::layoutVerticalBox): Let the view know if this flex box is doing its first pass at layout.
1246
1247         * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): Caches a flexible box that's doing its first layout.
1248         * rendering/RenderView.h:
1249         (WebCore::RenderView::setFlexBoxInFirstLayout):
1250         (WebCore::RenderView::flexBoxInFirstLayout):
1251
1252 2006-07-22  Alexey Proskuryakov  <ap@nypop.com>
1253
1254         Reviewed by Darin.
1255
1256         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10038
1257         REGRESSION: Length of navigator.mimeTypes collection returns number of installed plugins, not number 
1258         of registered mime types
1259
1260         * bindings/js/kjs_navigator.cpp:
1261         (KJS::MimeTypes::getValueProperty): Return the length of the mime types vector, not the plugins one.
1262         (KJS::MimeTypes::getOwnPropertySlot): Fixed another typo, which prevented MimeTypes::getValueProperty()
1263         from even being called.
1264
1265 2006-07-21  Maciej Stachowiak  <mjs@apple.com>
1266
1267         Reviewed by Adele and Tim Omernick.
1268
1269         <rdar://problem/4641004> 9A224: Safari crashes in WebCore::RenderMenuList::showPopup when changing a input select field to input text field
1270
1271         Couldn't figure out how to make layout test, here's a manual test:
1272         * manual-tests/remove-select-onchange.html: Added.
1273         
1274         * rendering/RenderMenuList.cpp:
1275         (WebCore::RenderMenuList::showPopup): Don't add the RenderPopupMenu to the render
1276         tree so it doesn't get destroyed if we do.
1277         
1278         The remaining changes are to let the RenderPopupMenu know its menu list w/o having
1279         to be in the render tree:
1280         
1281         * rendering/RenderPopupMenu.cpp:
1282         (WebCore::RenderPopupMenu::RenderPopupMenu):
1283         * rendering/RenderPopupMenu.h:
1284         (WebCore::RenderPopupMenu::menuList):
1285         * rendering/RenderPopupMenuMac.h:
1286         * rendering/RenderPopupMenuMac.mm:
1287         (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
1288         * rendering/RenderPopupMenuWin.h:
1289         (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
1290         * rendering/RenderTheme.h:
1291         * rendering/RenderThemeMac.h:
1292         * rendering/RenderThemeMac.mm:
1293         (WebCore::RenderThemeMac::createPopupMenu):
1294         * rendering/RenderThemeWin.cpp:
1295         (WebCore::RenderThemeWin::createPopupMenu):
1296         * rendering/RenderThemeWin.h:
1297
1298 2006-07-21  Adele Peterson  <adele@apple.com>
1299
1300         Reviewed by Darin.
1301
1302         Fix for: <rdar://problem/4643238> REGRESSION: Can't set insertion point at the end of a line of text
1303
1304         Test: fast/forms/textarea-scrolled-endline-caret.html
1305
1306         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
1307         When looking for the closest line box, take the scroll offset into account.
1308
1309 2006-07-21  Tim Omernick  <timo@apple.com>
1310
1311         Reviewed by Geoff & Maciej.
1312
1313         <rdar://problem/4632505> REGRESSION: Crash at WebCore::Widget::getView() const + 6
1314
1315         Geoff is working on a layout test for this.
1316
1317         * bridge/mac/FrameMac.mm:
1318         (WebCore::FrameMac::focusWindow):
1319         (WebCore::FrameMac::unfocusWindow):
1320         Check for a NULL view.  The view can be NULL if the frame has not yet loaded any data.  This fixes the crash, but the behavior is still
1321         wrong -- we should focus the frame once it gets a view.  I've filed <rdar://problem/4645685> to track that.  It's not as urgent as this
1322         crasher.
1323         
1324 2006-07-21  Maciej Stachowiak  <mjs@apple.com>
1325
1326         Reviewed by Darin.
1327
1328         <rdar://problem/4523976> REGRESSION (NativeTextField): Crash occurs when choosing "Undo Typing" after typing and setting the value
1329
1330         * rendering/RenderTextControl.cpp:
1331         (WebCore::RenderTextControl::updateFromElement): Clear the undo
1332         chain when the text control contents have been set
1333         programmatically.
1334         * bridge/mac/FrameMac.mm:
1335         (WebCore::FrameMac::clearUndoRedoOperations): Before clearing undo
1336         stack, close all open undo groups and then open an equal number,
1337         since otherwise NSUndoManager ends up in an inconsistent state
1338         leading to uncaught ObjC exceptions.
1339
1340 2006-07-21  Beth Dakin  <bdakin@apple.com>
1341         
1342         Reviewed by Darin.
1343
1344         Just moving this assertion down a couple of lines. It was hitting 
1345         every time you try to print a page because we put it too early in 
1346         the function.
1347
1348         * bridge/mac/WebCoreFrameBridge.mm:
1349         (-[WebCoreFrameBridge drawRect:]):
1350
1351 2006-07-21  Justin Garcia  <justin.garcia@apple.com>
1352
1353         Reviewed by levi
1354         
1355         <rdar://problem/4548238>
1356         REGRESSION: Can't remove the first OL/UL list item in a Mail's compose window
1357
1358         * editing/CompositeEditCommand.cpp:
1359         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): 
1360         Moved from InsertParagraphSeparator.  Does its own typing style restoration.
1361         * editing/CompositeEditCommand.h:
1362         * editing/InsertParagraphSeparatorCommand.cpp:
1363         (WebCore::InsertParagraphSeparatorCommand::doApply): Call breakOutOfEmptyListItem.
1364         * editing/TypingCommand.cpp:
1365         (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyListItem if
1366         the endingSelection is at the start of an editable region.
1367         * editing/htmlediting.cpp:
1368         (WebCore::embeddedSublist): Moved from InsertParagraphSeparator.
1369         (WebCore::appendedSublist): Ditto.
1370         (WebCore::enclosingEmptyListItem): Ditto.
1371         * editing/htmlediting.h:
1372
1373 === Safari-521.20 ===
1374
1375 2006-07-21  Tim Omernick  <timo@apple.com>
1376
1377         Reviewed by Beth Dakin & John Sullivan.
1378
1379         <rdar://problem/4633717> 9A218: Reproducible crash in -[NSScroller mouseDown:]
1380
1381         Beth is in the middle of making a layout test for this; she will land it soon.
1382
1383         * platform/mac/ScrollBarMac.mm:
1384         (ScrollBar::~ScrollBar):
1385         Call Widget::removeFromSuperview() rather than -removeFromSuperview directly on the scroll bar view.
1386         Widget::removeFromSuperview() obeys the "mustStayInWindow" flag, which is set while tracking the mouse
1387         in view-based widgets to prevent their destruction while the tracking is in progress.
1388         I searched around WebCore and this is the only Widget subclass that directly removes its view rather
1389         than using removeFromSuperview().
1390
1391 2006-07-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1392
1393         Reviewed by Darin.
1394
1395         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9312
1396           REGRESSION: Selection bug in new text fields when selecting past the first letter
1397
1398         Test: editing/selection/select-from-textfield-outwards.html
1399
1400         * editing/Selection.cpp:
1401         (WebCore::Selection::adjustForEditableContent): Added code to handle the case
1402         where the selection starts (resp. ends) in the last (resp. first) visual position
1403         inside an editable root.
1404         * editing/htmlediting.cpp:
1405         (WebCore::comparePositions): Fixed the case of comparing a position inside a shadow
1406         tree with a position in the shadow ancestor.
1407         * rendering/RenderBlock.cpp:
1408         (WebCore::RenderBlock::positionForCoordinates): For coordinates outside a replaced
1409         object, return the position just before (after) the element if the coordinates are above or
1410         to the left (below or to the right).
1411         * rendering/RenderObject.cpp:
1412         (WebCore::RenderObject::caretMaxOffset): Changed to return 1 for replaced objects.
1413         * rendering/RenderText.cpp:
1414         (WebCore::RenderText::positionForCoordinates): Changed to return the last position
1415         in the lowest text box if the y coordinate is below all text boxes.
1416
1417 2006-07-21  Geoffrey Garen  <ggaren@apple.com>
1418
1419         Reviewed by Darin.
1420         
1421         - Fixed <rdar://problem/4507265> REGRESSION: overlays don't work on 
1422         HousingMaps.com (Google Maps-based site)
1423         
1424         - Made style.filter undetectable, like document.all.
1425         
1426         Unfortunately, the SVG spec-makers invented a CSS attribute named 'filter',
1427         which conflicts with IE's custom CSS attribute by the same name. Web programs 
1428         like the Google maps API test for style.filter, and assume it's the IE 
1429         style.filter if they find it, so we need to make style.filter undetectable 
1430         to avoid breaking them.
1431         
1432         An alternative solution would be to hotwire a delorean, go back in time,
1433         and beg the web standards makers to make standards that work on the web.
1434
1435         * bindings/js/kjs_css.cpp:
1436         (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
1437
1438 2006-07-20  Justin Garcia  <justin.garcia@apple.com>
1439
1440         Reviewed by john
1441         
1442         <rdar://problem/4641033>
1443         REGRESSION: Pasting from web pages into Mail (or Blot) often loses most of the content
1444         
1445         * editing/markup.cpp:
1446         (WebCore::createMarkup): We surround the currently accumulated markup with markup 
1447         for ancestors of the startNode when the pre-order traversal leaves the trees rooted 
1448         at those ancestors.  We assumed that any ancestors of the current node not in the 
1449         ancestorsToClose list were those kind of ancestors.  But we don't add renderer-less 
1450         containers to the ancestorsToClose list.  So, we were incorrectly surrounding the 
1451         currently accumulated markup with markup for render-less containers.  Most of the
1452         content at apple.com was being put inside an <optgroup> inside a <select> element.  
1453         Then on Paste createContextualFragment would drop it.
1454
1455 2006-07-21  Anders Carlsson  <acarlsson@apple.com>
1456
1457         Reviewed by Geoff.
1458
1459         * dom/Document.h:
1460         (WebCore::Document::):
1461         * dom/EventTargetNode.cpp:
1462         (WebCore::EventTargetNode::addEventListener):
1463         * page/FrameView.cpp:
1464         (WebCore::FrameView::layout):
1465         * rendering/RenderLayer.cpp:
1466         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1467         Only dispatch overflowchanged events if overflowchanged event listeners have been registered on the document.
1468
1469 2006-07-20  Anders Carlsson  <acarlsson@apple.com>
1470
1471         Reviewed by Geoff.
1472
1473         <rdar://problem/4637807> REGRESSION: "Features & Options" page at volvocars.us fails
1474
1475         * xml/XSLTProcessor.cpp:
1476         (WebCore::xsltParamArrayFromParameterMap):
1477         Turns out parameters never worked. String parameters need to be escaped so we create a transform context,
1478         add the parameters to it quoted and then use xsltApplyStylesheetUser which lets us pass the transform context to it.
1479         This also works around a bug in libxslt where a hash table isn't allocated.
1480
1481 2006-07-20  Alice Liu  <alice.liu@apple.com>
1482
1483         Reviewed by Tim Omernick.
1484
1485         Fixed <rdar://problem/4621649> repro crash: Upload link causes crash on pages.google.com in Frame::nodeForWidget
1486         added manual test because there is no way to change the value of an <input type=file> via the DOM.  It's not supported because it's a security risk. 
1487
1488         * manual-tests/remove-input-file-onchange.html: Added.
1489         * platform/mac/FileButtonMac.mm:
1490         (-[WebFileChooserButton chooseFilename:]):
1491         swapped the calls to changeFilename and bridgeForWidget because changeFilename will destroy the widget that is accessed in bridgeForWidget 
1492
1493 2006-07-20  Alice Liu  <alice.liu@apple.com>
1494
1495         Reviewed by Adele.
1496
1497         Fixed <rdar://problem/4532113> REGRESSION (NativeTextField): Crash occurs after modifying field then reloading page -[FormDelegate frameLayoutHasChanged:]
1498         added a manual test because of the need to use AutoFill.
1499
1500         * dom/Node.h:
1501         (WebCore::Node::aboutToUnload):
1502         added virtual function prototype
1503         * html/HTMLInputElement.cpp:
1504         (WebCore::HTMLInputElement::aboutToUnload):
1505         added implementation that sends textFieldDidEndEditing notification
1506         * html/HTMLInputElement.h:
1507         added virtual function prototype
1508         * manual-tests/input-type-file-autocomplete-frame-1.html: Added.
1509         * manual-tests/input-type-file-autocomplete-frame-2.html: Added.
1510         * manual-tests/input-type-file-autocomplete-refresh.html: Added.
1511         * page/Frame.cpp:
1512         (WebCore::Frame::stopLoading):
1513         before unloading, call aboutToUnload on the current focused node
1514
1515 2006-07-20  Brady Eidson  <beidson@apple.com>
1516
1517         Reviewed by Maciej
1518
1519         fixed <rdar://problem/4611303> REGRESSION: repro crash in WebCore::EventTargetNode::dispatchWindowEvent at aeropostale.com
1520         There was an attempt to deref an EventListener that got cleaned up in GC.  Changing Document's EventListener list from 
1521         vanilla ptrs to refptrs to prevent GC, following EventTargetNode's proven example.
1522
1523         * dom/Document.cpp:
1524         (WebCore::Document::Document):
1525         (WebCore::Document::clear):
1526         (WebCore::Document::handleWindowEvent):
1527         (WebCore::Document::getHTMLWindowEventListener):
1528         (WebCore::Document::removeHTMLWindowEventListener):
1529         (WebCore::Document::removeWindowEventListener):
1530         (WebCore::Document::hasWindowEventListener):
1531         Changed all of the list iterators to work with RefPtrs instead of vanilla ptrs
1532
1533         * dom/Document.h:
1534         Changed the EventListener list to be a vanilla pointer list to a refptr list
1535
1536 2006-07-20  John Sullivan  <sullivan@apple.com>
1537
1538         Reviewed by Maciej
1539
1540         - WebCore part of fix for:
1541         <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving 
1542         closing tabs after clicking in a web page
1543         
1544         * bridge/mac/WebCoreFrameBridge.h:
1545         (-[WebCoreFrameBridge textViewWasFirstResponderAtMouseDownTime:])
1546         renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)
1547         * bridge/mac/FrameMac.mm:
1548         (WebCore::FrameMac::passMouseDownEventToWidget):
1549         updated for name change
1550
1551 2006-07-19  Alexey Proskuryakov  <ap@nypop.com>
1552
1553         Reviewed by Darin.
1554
1555         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8272
1556         Use of window.open & window.close can cause crash
1557
1558         * platform/PlatformMouseEvent.h:
1559         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1560         * platform/mac/PlatformMouseEventMac.mm:
1561         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1562         The default constructor now creates a "zero" event, and a new one was added to create the "current" one.
1563
1564         * bridge/mac/FrameMac.mm:
1565         (WebCore::FrameMac::handleMouseMoveEvent):
1566         * rendering/RenderFormElement.cpp:
1567         (WebCore::RenderFormElement::clicked): 
1568         Updated for the above changes.
1569
1570         * platform/gdk/MouseEventGdk.cpp:
1571         * platform/gdk/TemporaryLinkStubs.cpp:
1572         (PlatformMouseEvent::PlatformMouseEvent):
1573         * platform/win/MouseEventWin.cpp:
1574         * platform/win/TemporaryLinkStubs.cpp:
1575         (PlatformMouseEvent::PlatformMouseEvent):
1576         Trying not to break other platforms.
1577
1578         * manual-tests/invalid-mouse-event.html: Added.
1579
1580 2006-07-20  Maciej Stachowiak  <mjs@apple.com>
1581         
1582         Reviewed by Anders.
1583
1584         - delete line that I only commented in the last patch - meant to do this before landing
1585
1586         * html/HTMLFrameElement.cpp:
1587         (WebCore::HTMLFrameElement::close): 
1588
1589 2006-07-19  Maciej Stachowiak  <mjs@apple.com>
1590
1591         Reviewed by Geoff.
1592
1593         - fixed <rdar://problem/4634484> REGRESSION: Project Change Request form should have vertical scroll bar, but doesn't
1594         
1595         I couldn't figure out how to make an automated test case for this,
1596         or even a manual one. It seems to be timing-related in some way.
1597
1598         * html/HTMLFrameElement.cpp:
1599         (WebCore::HTMLFrameElement::close): detach the child frame from
1600         its element, not the frame containing this element.
1601
1602 2006-07-20  Anders Carlsson  <acarlsson@apple.com>
1603
1604         Reviewed by Darin.
1605
1606         * bridge/mac/FrameMac.mm:
1607         (WebCore::FrameMac::nextKeyViewInFrame):
1608         Hold a ref to the node in case it gets destroyed by an event handler.
1609
1610 2006-07-19  Mark Rowe  <opendarwin.org@bdash.net.nz>
1611
1612         Reviewed by Darin.
1613
1614         http://bugzilla.opendarwin.org/show_bug.cgi?id=10021
1615         Bug 10021: REGRESSION: Stack overflow due to infinite recursion in 
1616         Image::checkForSolidColor
1617
1618         * platform/Image.cpp:
1619         (WebCore::Image::cacheFrame): Don't call checkForSolidColor unless 
1620         the frame was decoded successfully.
1621
1622 2006-07-19  Adele Peterson  <adele@apple.com>
1623
1624         Reviewed by Maciej.
1625
1626         - Fix for: 
1627         <rdar://problem/4422657> REGRESSION: member name field or password field should have focus after loading webmail.mac.com (7405)
1628         http://bugzilla.opendarwin.org/show_bug.cgi?id=7405
1629
1630         <rdar://problem/4614181> REGRESSION: Crash in WebCore::RenderTextField::text() when quoting post at the Ars Technica forum (9707)
1631         http://bugzilla.opendarwin.org/show_bug.cgi?id=9707
1632
1633         Needs an http test. (http://bugzilla.opendarwin.org/show_bug.cgi?id=10020)
1634
1635         These bugs were both cases where focus() was called on an element which didn't have a renderer yet because stylesheets hadn't finished loading yet.
1636         Now, we detect this case and let setFocusNode be called.  And when the stylesheet finishes loading, and the element attaches, a timer will fire, 
1637         which will cause the correct selection & scrolling behavior to occur. 
1638
1639         This fix removes selection and scrolling behavior from the focus method.  This code is now in a new method, updateFocusAppearance.
1640         updateFocusAppearance can now be called directly from focus(), but it can also be called when a timer fires.  This timer gets set
1641         up when an element attaches, and its already been focused by the focus method.  We have to use a timer, because updateFocusAppearance can cause
1642         a layout to happen, and we don't want that to happen in the middle of attach().
1643
1644         * bindings/objc/DOM.mm: (-[DOMElement isFocused]): Added SPI for autofill.
1645         * bindings/objc/DOMPrivate.h:
1646
1647         * dom/Element.cpp:
1648         (WebCore::Element::Element): Initializes timer and needFocusAppearanceUpdate bool.
1649         (WebCore::Element::attach): Checks needsFocusAppearanceUpdate, and if the node is focused, then starts the timer.
1650         (WebCore::Element::focus): Updated to check supportsFocus before calling setFocusNode, 
1651         and only requiring the element to be focusable now before updating focus appearance.
1652         (WebCore::Element::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
1653         (WebCore::Element::updateFocusAppearanceTimerFired): Stops the timer, and if the element is focusable, calls updateFocusAppearance.
1654         (WebCore::Element::stopUpdateFocusAppearanceTimer):  Cancels timer, and setsNeedsFocusAppearanceUpdate(false).
1655         (WebCore::Element::detach): Calls stopUpdateFocusAppearanceTimer.
1656         (WebCore::Element::blur): ditto.
1657         * dom/Element.h:
1658         (WebCore::Element::needsFocusAppearanceUpdate): Added so the timer only fires when focus() methods have caused an element to be focused.
1659         (WebCore::Element::setNeedsFocusAppearanceUpdate): Added so focus methods can set this flag.
1660
1661         * dom/Node.h: (WebCore::Node::supportsFocus): Added.  Base class just calls isFocusable.
1662         * html/HTMLAnchorElement.h: Added supportsFocus.
1663         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::supportsFocus): Added. Checks for the case where stylesheets haven't loaded yet,
1664         so we can still focus the node without a renderer, and when it gets a renderer, we'll update the focus appearance.
1665         * html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::supportsFocus): ditto.
1666         * html/HTMLGenericFormElement.cpp: Removed include of Document.h since this is now in the header.
1667
1668         * html/HTMLInputElement.cpp:
1669         (WebCore::HTMLInputElement::focus): Updated to check supportsFocus before calling setFocusNode, 
1670         and only requiring the element to be focusable now before updating focus appearance.
1671         (WebCore::HTMLInputElement::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
1672         * html/HTMLInputElement.h:
1673
1674         * html/HTMLTextAreaElement.cpp:
1675         (WebCore::HTMLTextAreaElement::focus): Updated to check supportsFocus before calling setFocusNode, 
1676         and only requiring the element to be focusable now before updating focus appearance.
1677         (WebCore::HTMLTextAreaElement::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
1678         * html/HTMLTextAreaElement.h:
1679
1680 2006-07-19  Justin Garcia  <justin.garcia@apple.com>
1681
1682         Reviewed by levi
1683         
1684         <rdar://problem/4631972>
1685         REGRESSION: Mail crashes when pasting entire contents of http://www.apple.com/support/ into a new mail message
1686
1687         * dom/Position.cpp:
1688         (WebCore::Position::upstream): Deployed isBlock and enclosingBlock.
1689         (WebCore::Position::downstream): Ditto.
1690         * editing/CompositeEditCommand.cpp:
1691         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Ditto.
1692         * editing/htmlediting.cpp:
1693         (WebCore::canHaveChildrenForEditing): Added !iframe.
1694         (WebCore::isBlock): Added, returns !node->renderer()->isInline()
1695         (WebCore::enclosingBlock): Added.
1696         * editing/htmlediting.h:
1697
1698 2006-07-19  Anders Carlsson  <acarlsson@apple.com>
1699
1700         Reviewed by Adele.
1701
1702         <rdar://problem/4631272> REGRESSION: Crash tabbing out of hostname field at autorestore.apple.com
1703         
1704         * bridge/mac/FrameMac.mm:
1705         (WebCore::FrameMac::nextKeyViewInFrame):
1706         Take into account that focus handlers can cause a node's renderer to be destroyed.
1707         
1708 2006-07-19  David Hyatt  <hyatt@apple.com>
1709
1710         Fix for 4638376.  The 1x1 solid color image optimization was broken when
1711         I re-architected image.  This patch restores the optimization for CG.  Cairo
1712         will still need the optimization.
1713
1714         Reviewed by darin
1715
1716         WARNING: NO TEST CASES ADDED OR CHANGED (need test cases still)
1717
1718         * platform/Image.cpp:
1719         (WebCore::Image::Image):
1720         (WebCore::Image::invalidateData):
1721         (WebCore::Image::cacheFrame):
1722         * platform/Image.h:
1723         (WebCore::Image::setIsPDF):
1724         * platform/cairo/ImageCairo.cpp:
1725         (WebCore::Image::checkForSolidColor):
1726         * platform/mac/ImageMac.mm:
1727         (WebCore::Image::initNativeData):
1728         (WebCore::Image::invalidateNativeData):
1729         (WebCore::Image::checkForSolidColor):
1730         (WebCore::Image::draw):
1731         (WebCore::Image::drawTiled):
1732
1733 2006-07-19  Justin Garcia  <justin.garcia@apple.com>
1734
1735         Reviewed by levi
1736         
1737         <rdar://problem/4613519>
1738         REGRESSION: Pasting text in native text area inserts text one character before it should (9527)
1739
1740         * editing/InsertParagraphSeparatorCommand.cpp:
1741         (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreakCommand instead of bailing
1742         if the enclosingBlockFlowElement doesn't have a parent.
1743
1744 2006-07-19  David Harrison  <harrison@apple.com>
1745
1746         Reviewed by Tim Hatcher.
1747
1748         <rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range
1749         <rdar://problem/4062218> pasting in contents of web.apple.com strips off the <table> element from the first table
1750         
1751         Better patch than previous checkin.
1752
1753         * test: editing/pasteboard/paste-table-003.html
1754         
1755         * editing/markup.cpp:
1756         (WebCore::createMarkup):
1757         Make sure to include the table when including a tbody.
1758
1759 === Safari-521.19 ===
1760
1761 2006-07-19  David Harrison  <harrison@apple.com>
1762
1763         Reviewed by Tim Hatcher.
1764
1765         <rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range
1766
1767         No test case as this can only be reproduced through ObjC APIs.
1768
1769         * editing/markup.cpp:
1770         (WebCore::createMarkup):
1771         Adjust the range for ancestor markup handling when main loop skips first node.
1772
1773 2006-07-18  David Hyatt  <hyatt@apple.com>
1774
1775         Fix for radar 4611287, make resizable text fields opt-in rather than
1776         opt-out.  Open source users will need to write the pref into their defaults
1777         to see the resizers on textareas now.
1778
1779         Reviewed by mjs and adele
1780
1781         * WebCore.xcodeproj/project.pbxproj:
1782         * bridge/mac/WebCoreSettings.mm:
1783         (-[WebCoreSettings setTextAreasAreResizable:]):
1784         * css/cssparser.cpp:
1785         (WebCore::CSSParser::parseValue):
1786         * css/cssstyleselector.cpp:
1787         (WebCore::CSSStyleSelector::applyProperty):
1788         * css/html4.css:
1789
1790 2006-07-18  Anders Carlsson  <acarlsson@apple.com>
1791
1792         Reviewed by Darin.
1793
1794         http://bugzilla.opendarwin.org/show_bug.cgi?id=9959
1795         REGRESSION: iframes stop rendering after 200th one on successive reloads
1796         
1797         * html/HTMLFrameElement.cpp:
1798         (WebCore::HTMLFrameElement::attach):
1799         (WebCore::HTMLFrameElement::close):
1800         * html/HTMLIFrameElement.cpp:
1801         (WebCore::HTMLIFrameElement::insertedIntoDocument):
1802         (WebCore::HTMLIFrameElement::willRemove):
1803         Remove calls to incrementFrameCount and decrementFrameCount.
1804         
1805         * page/Frame.cpp:
1806         (WebCore::Frame::Frame):
1807         Call incrementFrameCount here.
1808         
1809         (WebCore::Frame::~Frame):
1810         Call disconnectOwnerElement.
1811         
1812         (WebCore::Frame::disconnectOwnerElement):
1813         Call decrementFrameCount here.
1814         
1815 2006-07-18  Alexey Proskuryakov  <ap@nypop.com>
1816
1817         Reviewed by Darin.
1818
1819         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9013
1820         Let correct CSS custom cursor declarations parse
1821
1822         * css/cssparser.cpp:
1823         (WebCore::CSSParser::parseValue): Ignore any values following a custom CSS cursor URI, instead of
1824         requiring that it is the only one in the list (which is actually illegal, according to the spec). 
1825         This is only a temporary hack, with a real implementation to follow in bug 6001/6002.
1826
1827         * manual-tests/custom-cursors.html: Added a test for this issue.
1828         * manual-tests/resources/helpCursor.tiff: A cursor image used in the test.
1829
1830 2006-07-18  Timothy Hatcher  <timothy@apple.com>
1831
1832         Reviewed by Anders.
1833         
1834         <rdar://problem/4636216> NetNewsWire fails to launch on 9A224 - missing symbols
1835         
1836         WebCore needs to add -sub_library libobjc to maintain
1837         backwards compatibility with binaries linked with WebKit
1838         before JavaScriptCore moved out of WebKit.
1839
1840         * WebCore.xcodeproj/project.pbxproj:
1841
1842 2006-07-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1843
1844         Reviewed by Justin.
1845
1846         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9978
1847           REGRESSION (r12949-r12988): Clicking the first letter on a line places the caret at the end of the previous line
1848
1849         Test: editing/selection/click-start-of-line.html
1850
1851         * rendering/RenderText.cpp:
1852         (WebCore::RenderText::positionForCoordinates): Changed to return downstream
1853         affinity if the x coordinate is to the left of the middle of the first character
1854         in the text box.
1855
1856 2006-07-18  Anders Carlsson  <acarlsson@apple.com>
1857
1858         Reviewed by Darin.
1859
1860         http://bugzilla.opendarwin.org/show_bug.cgi?id=9695
1861         <rdar://problem/4614085> 
1862         TOT REGRESSION: NativeTextArea: Text area does not respond to Cmd-UpArrow/Cmd-DownArrow (9695)
1863         
1864         * editing/SelectionController.cpp:
1865         (WebCore::SelectionController::modifyExtendingRightForward):
1866         (WebCore::SelectionController::modifyMovingRightForward):
1867         (WebCore::SelectionController::modifyExtendingLeftBackward):
1868         (WebCore::SelectionController::modifyMovingLeftBackward):
1869         If the caret is inside an editable region, the beginning/end of the document should actually be the
1870         beginning/end of the editable region.
1871
1872 2006-07-17  Tim Omernick  <timo@apple.com>
1873
1874         Reviewed by Maciej.
1875
1876         <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
1877         by script
1878
1879         * bridge/mac/WebCoreFrameBridge.h:
1880         * bridge/mac/WebCoreFrameBridge.mm:
1881         (-[WebCoreFrameBridge setProhibitsScrolling:]):
1882         * page/Frame.cpp:
1883         (WebCore::Frame::prohibitsScrolling):
1884         (WebCore::Frame::setProhibitsScrolling):
1885         * page/Frame.h:
1886         * page/FramePrivate.h:
1887         (WebCore::FramePrivate::FramePrivate):
1888         * page/FrameView.cpp:
1889         (WebCore::FrameView::scrollPointRecursively):
1890         (WebCore::FrameView::setContentsPos):
1891         * page/FrameView.h:
1892         * platform/ScrollView.h:
1893
1894 2006-07-17  Maciej Stachowiak  <mjs@apple.com>
1895
1896         Reviewed by Dave Harrison.
1897         
1898         - fixed <rdar://problem/4618089> Blot crashes when I paste in all the contents of http://www.apple.com/startpage/
1899
1900         * editing/htmlediting.cpp:
1901         (WebCore::editingIgnoresContent):
1902
1903 2006-07-17  Justin Garcia  <justin.garcia@apple.com>
1904
1905         Reviewed by levi
1906         
1907         <rdar://problem/4621728>
1908         REGRESSION: Selecting by dragging down creates selection in wrong direction, with certain steps
1909         <rdar://problem/4604932>
1910         REGRESSION: Dragging too far left on a line will select all lines above it.
1911  
1912         No layout test because of 9980.
1913
1914         * rendering/RenderBlock.cpp:
1915         (WebCore::RenderBlock::positionForCoordinates): Don't return positions inside editable roots
1916         for coordinates outside those roots, except for coordinates outside a document that is entirely 
1917         editable.
1918
1919 2006-07-17  Timothy Hatcher  <timothy@apple.com>
1920
1921         Reviewed by Darin.
1922
1923         <rdar://problem/4635281> JSCanvasRenderingContext2D::drawImage needs to initialize the exception code to zero
1924
1925         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1926         (WebCore::JSCanvasRenderingContext2D::drawImage): initialize ec to zero
1927         * html/CanvasRenderingContext2D.cpp:
1928         (WebCore::CanvasRenderingContext2D::drawImage): initialize ec before earlier return
1929
1930 2006-07-17  Timothy Hatcher  <timothy@apple.com>
1931
1932         Reviewed by Maciej.
1933
1934         <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit
1935
1936         Moves WebScriptObject and WebUndefined to WebCore.
1937
1938         * WebCore.exp:
1939         * WebCore.xcodeproj/project.pbxproj:
1940         * bindings/objc/DOM.mm:
1941         * bindings/objc/DOMCore.h:
1942         * bindings/objc/DOMInternal.mm:
1943         * bindings/objc/DOMUtility.mm:
1944         * bindings/objc/WebScriptObject.mm: Added.
1945         (+[WebUndefined allocWithZone:]):
1946         (-[WebUndefined initWithCoder:]):
1947         (-[WebUndefined encodeWithCoder:]):
1948         (-[WebUndefined copyWithZone:]):
1949         * bindings/objc/WebScriptObjectPrivate.h: Added.
1950         * bridge/mac/FrameMac.mm:
1951         * bridge/mac/WebCoreScriptDebugger.mm:
1952
1953 2006-07-17  David Hyatt  <hyatt@apple.com>
1954
1955         Back out the fix for 5564, since it turns out font:x-small; is a pretty
1956         prominent IE-specific CSS hack.  Because Web sites rely on IE's incorrect
1957         font parsing as a means of also correcting IE's incorrect font size rules.
1958
1959         This fixes Yahoo.com.
1960
1961         Reviewed by darin
1962
1963         * css/cssparser.cpp:
1964         (WebCore::CSSParser::parseFont):
1965
1966 2006-07-17  Justin Garcia  <justin.garcia@apple.com>
1967
1968         Reviewed by levi
1969         
1970         <rdar://problem/4618389> REGRESSION: After applying a link to the last word of a sentence, a new selection is created at the start of the sentence
1971         
1972         * dom/Document.cpp:
1973         (WebCore::Document::updateSelection):
1974
1975 2006-07-17  Maciej Stachowiak  <mjs@apple.com>
1976
1977         Reviewed by Beth.
1978         
1979         <rdar://problem/4604946> REGRESSION: 'checkboxRef.checked = true' fires onchange event in Leopard
1980
1981         * html/HTMLInputElement.cpp:
1982         (WebCore::HTMLInputElement::setChecked):
1983         (WebCore::HTMLInputElement::preDispatchEventHandler):
1984         * html/HTMLInputElement.h:
1985
1986 2006-07-16  David Kilzer  <ddkilzer@kilzer.net>
1987
1988         Reviewed by Darin.
1989
1990         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9954
1991           REGRESSION: document.dir should return empty string in <head>
1992
1993         Test: fast/dom/document-dir-property.html
1994
1995         * bindings/js/kjs_html.cpp:
1996         (KJS::JSHTMLDocument::getValueProperty): Return an empty string instead of an
1997         undefined value for an unset document.dir property.
1998
1999 2006-07-16  David Kilzer  <ddkilzer@kilzer.net>
2000
2001         Reviewed by Darin.
2002
2003         * dom/NodeFilter.idl:
2004         Removed "No newline at end of file" that snuck in as part of the "apply patch" process.
2005         * manual-tests/input-empty-on-focus.html:
2006         Removed "Property changes" that snuck in as part of the "apply patch" process.
2007
2008 2006-07-16  Darin Adler  <darin@apple.com>
2009
2010         Reviewed by John Sullivan.
2011
2012         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9943
2013           <rdar://problem/4590613>
2014           REGRESSION (Tiger-TOT): menus are offset to the right at http://movies.aol.com/movie-photo-bts/superman-returns
2015
2016         The problem turns out to be the fact that body.offsetLeft is returning a non-zero value.
2017         I have no idea why the menus worked in Tiger Safari, because body.offsetLeft behavior has not changed.
2018         Presumably some other bug that we fixed had been compensating.
2019
2020         Test: fast/html/body-offset-properties.html
2021
2022         * rendering/RenderObject.cpp:
2023         (WebCore::RenderObject::offsetLeft): Always return 0 for any object without an offsetParent.
2024         (WebCore::RenderObject::offsetTop): Ditto.
2025         (WebCore::RenderObject::offsetParent): Return 0 for the body (treat as a special case).
2026
2027 2006-07-16  Beth Dakin  <bdakin@apple.com>
2028
2029         Reviewed by Maciej.
2030
2031         Fix for <rdar://problem/4616595> REGRESSION: Problems with world 
2032         clock widget clock hand motion on 9A211 + 4604574
2033
2034         The second hand on the widget was jiggling because the rotation was 
2035         messing up the use of the affine transformation matrix while 
2036         rounding to pixel boundaries in device space. We are mainly 
2037         concerned with rounding to pixel boundaries with the scale in mind, 
2038         so this patch extracts the scale to device space from the matrix, 
2039         and rounds to pixel boundaries using only the scale. This doesn't 
2040         seem like it is a perfect solution, but it definitely solves the 
2041         immediate problem. We will probably need to re-address what should 
2042         happen to avoid pixel cracks with rotations at non-integral scale 
2043         factors. 
2044
2045         * platform/cg/GraphicsContextCG.cpp:
2046         (WebCore::GraphicsContext::roundToDevicePixels):
2047
2048 2006-07-15  Darin Adler  <darin@apple.com>
2049
2050         - fix mistake from fix for 8952 that was breaking layout tests
2051
2052         * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved):
2053         Justin was right! I changed the behavior of the function by accident. Changed it
2054         back so that it doesn't blow away the selection on the DOM side in the case where
2055         it didn't before.
2056
2057         I will write 100 times on the blackboard: "When Justin says something about editing,
2058         assume he is right."
2059
2060 2006-07-15  Darin Adler  <darin@apple.com>
2061
2062         - try to fix Windows build
2063
2064         * WebCore.vcproj/WebCore/WebCore.vcproj: Added StreamingTextDecoderICU.cpp/h.
2065
2066 2006-07-15  Darin Adler  <darin@apple.com>
2067
2068         Reviewed by John Sullivan.
2069
2070         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8952
2071           <rdar://problem/4575185>
2072           REGRESSION: crash on drag of highlighted Google custom home page modules
2073
2074         Test: fast/dynamic/move-node-with-selection.html
2075
2076         * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved):
2077         Call updateRendering before calling clearSelection(), since it's important to do any
2078         work beforehand, and there are calls inside clearSelection that will indirectly do an
2079         updateRendering. Also change code to make fewer assumptions about object lifetime.
2080
2081 2006-07-15  Darin Adler  <darin@apple.com>
2082
2083         Reviewed by John Sullivan.
2084
2085         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8587
2086           <rdar://problem/4631844>
2087           REGRESSION: {display:list-item} on items outside an ol or ul element no longer causes incremental numbering
2088
2089         Test: fast/lists/numeric-markers-outside-list.html
2090
2091         * rendering/RenderListItem.cpp: (WebCore::previousListItem):
2092         Look for list items, even when we're outside any list.
2093
2094 2006-07-15  Adele Peterson  <adele@apple.com>
2095
2096         Reviewed by John.
2097
2098         - Fix for <rdar://problem/4593970> REGRESSION (NativeTextField): autofill menu disappears after typing a 2nd character
2099
2100         This was caused by composite editing commands, (like typing or pasting) that include a DeleteCommand, being
2101         interpreted by the form delegate as an actual delete.  This fix doesn't notify the form delegate if the deletion is
2102         part of an editing command to replace the selected text.
2103
2104         * editing/DeleteSelectionCommand.h: Added m_replace to keep track of whether this deletion is 
2105           part of a composite command to replace the text being deleted.
2106         * editing/DeleteSelectionCommand.cpp:
2107         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Initialize m_replace.
2108         (WebCore::DeleteSelectionCommand::doApply): Only notify the form delegate of the deletion if the text is not being replaced.
2109         * editing/CompositeEditCommand.h:
2110         * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteSelection): 
2111           Added replace argument to construct DeleteSelectionCommand.
2112           
2113         * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input): Call deleteSelection with replace argument.
2114         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): ditto.
2115
2116 2006-07-15  Geoffrey Garen  <ggaren@apple.com>
2117
2118         Reviewed by Maciej, tweaked to match Darin's patch.
2119         
2120         - Fixed <rdar://problem/4631837> REGRESSION: Reproducible crash on 
2121         FCKeditor demo (9911)
2122         
2123         * WebCore.xcodeproj/project.pbxproj:
2124         * bindings/js/kjs_html.cpp:
2125         (KJS::JSHTMLDocument::putValueProperty): Check for a null body element before
2126         forwarding the put request to it. I confirmed that no other parts of the 
2127         file use 'body' or 'bodyElement' without checking for null. 
2128         
2129         Also, use 'body' rather than 'bodyElement' because dir can bet set on 
2130         any element, not just HTMLBodyElement.
2131
2132 2006-07-15  Darin Adler  <darin@apple.com>
2133
2134         Reviewed by Adele.
2135
2136         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8871
2137           <rdar://problem/4575417>
2138           REGRESSION: Pressing Enter/Return in a text input removes the selected text
2139
2140         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9743
2141           <rdar://problem/4614228>
2142           REGRESSION: crash dispatching JavaScript-created keyboard event to input element
2143
2144         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::doTextFieldCommandFromEvent):
2145         Add a null check to fix the crash, and a FIXME explaining why this is not necessarily
2146         enough for the future.
2147
2148         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
2149         Consume Enter key keypress events even if the element is not in a form.
2150
2151         * platform/mac/KeyEventMac.mm: (WebCore::keyIdentifierForKeyEvent): Added \n to the
2152         characters that turn into "Enter". Actual keyboard events always are \r or \003 on
2153         the Macintosh, but in layout tests we can use \n, and everything other than the
2154         code path here works, so worth fixing.
2155
2156 2006-07-15  Darin Adler  <darin@apple.com>
2157
2158         Reviewed by John Sullivan.
2159
2160         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9883
2161           <rdar://problem/4631821>
2162           REGRESSION: NativePopups don't work correctly in some forum software
2163
2164         Test: fast/forms/select-selected.html
2165
2166         * rendering/RenderMenuList.h:
2167         * rendering/RenderMenuList.cpp:
2168         (WebCore::RenderMenuList::updateFromElement): Added code to map the selected option
2169         index to a list index before using it to index into the list.
2170         (WebCore::RenderMenuList::showPopup): Added code to map the selection option index
2171         to a list index before passing it to the menu renderer.
2172         (WebCore::RenderMenuList::valueChanged): Added code to map the list index back to a
2173         option index before calling setSelectedIndex (that function takes an option index).
2174
2175 2006-07-15  Darin Adler  <darin@apple.com>
2176
2177         Reviewed by John Sullivan.
2178
2179         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9928
2180           REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)
2181
2182         * bindings/objc/DOM.mm:
2183         (-[DOMNode addEventListener:::]): Moved into DOMEventTarget category.
2184         (-[DOMNode removeEventListener:::]): Ditto.
2185         (-[DOMNode dispatchEvent:]): Ditto.
2186
2187         * WebCore.xcodeproj/project.pbxproj: Allow Xcode to do its thing.
2188
2189 2006-07-15  Maciej Stachowiak  <mjs@apple.com>
2190
2191         Reviewed by Anders.
2192
2193         <rdar://problem/4632144> REGRESSION: table column tests failing as a result of very recent fix
2194
2195         * rendering/RenderTable.cpp:
2196         (WebCore::RenderTable::addChild): columns and colgroups are valid children of a table too, not
2197         just table sections!
2198
2199 2006-07-15  Anders Carlsson  <acarlsson@apple.com>
2200
2201         Reviewed by Darin.
2202
2203         http://bugzilla.opendarwin.org/show_bug.cgi?id=9866
2204         <rdar://problem/4631561>
2205         REGRESSION: Repro crash from mangleme using iframe, only from server.
2206         
2207         * html/HTMLIFrameElement.cpp:
2208         (WebCore::HTMLIFrameElement::attach):
2209         Add null check for contentFrame() since content frames won't be created for invalid URLs.        
2210
2211 2006-07-14  Alexey Proskuryakov  <ap@nypop.com>
2212
2213         Reviewed by Darin.
2214
2215         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4195
2216         REGRESSION: KOI8-U encoding no longer supported.
2217
2218         Tests:
2219         * http/tests/misc/BOM-override.pl
2220         * http/tests/misc/BOM-override-script.html
2221         * fast/encoding/charset-koi8-u.html
2222         * fast/encoding/charset-x-nextstep.html
2223
2224         Restored a TEC code path for encodings that are not supported by ICU (but which currently
2225         passes all layout tests even by itself with ICU disabled). A lot of refactoring is 
2226         still needed - most importantly, round-tripping encoding names via CFStringEncoding 
2227         makes little sense now.
2228
2229         * WebCore.exp:
2230         * bridge/mac/WebCoreTextDecoder.h: Removed.
2231         * bridge/mac/WebCoreTextDecoder.mm: Removed.
2232         WebCoreTextDecoder was not used anywhere since WebTextView was moved into WebCore.
2233
2234         * loader/Decoder.cpp:
2235         (Decoder::Decoder):
2236         (Decoder::setEncodingName):
2237         (Decoder::decode):
2238         Use StreamingTextDecoder::create().
2239
2240         * platform/StreamingTextDecoder.cpp:
2241         (WebCore::StreamingTextDecoder::create):
2242         (WebCore::StreamingTextDecoder::~StreamingTextDecoder):
2243         * platform/StreamingTextDecoder.h:
2244         StreamingTextDecoder is just an abstract interface to implementations now.
2245
2246         * platform/StreamingTextDecoderICU.cpp: Added.
2247         (WebCore::StreamingTextDecoderICU::StreamingTextDecoderICU):
2248         (WebCore::StreamingTextDecoderICU::~StreamingTextDecoderICU):
2249         (WebCore::StreamingTextDecoderICU::releaseICUConverter):
2250         (WebCore::StreamingTextDecoderICU::textEncodingSupported):
2251         (WebCore::StreamingTextDecoderICU::convertUTF16):
2252         (WebCore::StreamingTextDecoderICU::convertIfASCII):
2253         (WebCore::StreamingTextDecoderICU::createICUConverter):
2254         (WebCore::StreamingTextDecoderICU::appendOmittingBOM):
2255         (WebCore::StreamingTextDecoderICU::convertUsingICU):
2256         (WebCore::StreamingTextDecoderICU::convert):
2257         (WebCore::StreamingTextDecoderICU::toUnicode):
2258         (WebCore::StreamingTextDecoderICU::fromUnicode):
2259         * platform/StreamingTextDecoderICU.h: Added.
2260         Renamed from StreamingTextDecoder; added a way to tell whether the encoding is actually
2261         supported by the decoder; minor cleanup.
2262
2263         * platform/TextEncoding.cpp:
2264         (WebCore::TextEncoding::effectiveEncoding): Moved from StreamingTextDecoder.
2265         (WebCore::TextEncoding::toUnicode): Use StreamingTextDecoder::create().
2266         (WebCore::TextEncoding::fromUnicode): Moved to StreamingTextDecoderICU.
2267         
2268         * platform/TextEncoding.h: Changed __APPLE__ to PLATFORM(MAC); added effectiveEncoding().
2269
2270         * platform/mac/StreamingTextDecoderMac.cpp: Added.
2271         (WebCore::StreamingTextDecoderMac::StreamingTextDecoderMac):
2272         (WebCore::StreamingTextDecoderMac::~StreamingTextDecoderMac):
2273         (WebCore::StreamingTextDecoderMac::releaseTECConverter):
2274         (WebCore::StreamingTextDecoderMac::textEncodingSupported):
2275         (WebCore::StreamingTextDecoderMac::convertUTF16):
2276         (WebCore::StreamingTextDecoderMac::convertIfASCII):
2277         (WebCore::StreamingTextDecoderMac::createTECConverter):
2278         (WebCore::StreamingTextDecoderMac::appendOmittingBOM):
2279         (WebCore::StreamingTextDecoderMac::convertOneChunkUsingTEC):
2280         (WebCore::StreamingTextDecoderMac::convertUsingTEC):
2281         (WebCore::StreamingTextDecoderMac::convert):
2282         (WebCore::StreamingTextDecoderMac::toUnicode):
2283         (WebCore::StreamingTextDecoderMac::fromUnicode):
2284         * platform/mac/StreamingTextDecoderMac.h: Added.
2285         (WebCore::StreamingTextDecoderMac::convert):
2286         This is a TEC+CFString code path for decoding, basically restored from a year-old revision.
2287
2288         * platform/mac/TextEncodingMac.cpp: Removed. Code moved to StreamingTextDecoderMac.
2289
2290         * WebCore.xcodeproj/project.pbxproj:
2291
2292 === Safari-521.17 ===
2293
2294 2006-07-14  Timothy Hatcher  <timothy@apple.com>
2295
2296         <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure
2297
2298         Made a DOMNode category in DOMEvents.h that lets DOMNode conform to the
2299         DOMEventTarget protocol that works with GCC 5412.
2300
2301         Removed forward declarations of WebCoreWidgetHolder and imported WebCoreWidgetHolder.h.
2302
2303         Removed all <Cocoa/Cocoa.h> and <Foundation/Foundation.h> imports in other headers,
2304         we import <Cocoa/Cocoa.h> in the prefix header for ObjC.
2305
2306         * WebCore.xcodeproj/project.pbxproj:
2307         * bindings/objc/DOMCore.h:
2308         * bindings/objc/DOMEvents.h:
2309         * bridge/mac/FormDataMac.h:
2310         * bridge/mac/WebCoreAXObject.h:
2311         * bridge/mac/WebCoreCache.h:
2312         * bridge/mac/WebCoreEncodings.h:
2313         * bridge/mac/WebCoreFrameBridge.h:
2314         * bridge/mac/WebCoreFrameNamespaces.h:
2315         * bridge/mac/WebCoreJavaScript.h:
2316         * bridge/mac/WebCorePageBridge.h:
2317         * bridge/mac/WebCorePageState.h:
2318         * bridge/mac/WebCoreResourceLoader.h:
2319         * bridge/mac/WebCoreScriptDebugger.h:
2320         * bridge/mac/WebCoreSettings.h:
2321         * bridge/mac/WebCoreStringTruncator.h:
2322         * bridge/mac/WebCoreStringTruncator.mm:
2323         * bridge/mac/WebCoreTextDecoder.h:
2324         * bridge/mac/WebDashboardRegion.h:
2325         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2326         * platform/mac/CookieJar.mm:
2327         * platform/mac/DeprecatedStringMac.mm:
2328         * platform/mac/FontDataMac.mm:
2329         * platform/mac/FoundationExtras.h:
2330         * platform/mac/TextBoundaries.mm:
2331         * platform/mac/WebCoreHistory.h:
2332         * platform/mac/WebCoreHistory.m:
2333         * platform/mac/WebCoreKeyGenerator.h:
2334         * platform/mac/WebCoreTextArea.h:
2335         * platform/mac/WebCoreTextField.h:
2336         * platform/mac/WebCoreTextRenderer.h:
2337         * platform/mac/WebCoreView.h:
2338         * platform/mac/WebCoreWidgetHolder.h:
2339
2340 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
2341
2342         Reviewed by Maciej.
2343
2344         - Updated ScriptInterpreter to work with Interpreter ref-counting in 
2345         JavaScriptCore.
2346
2347         (KJS::ScriptInterpreter::~ScriptInterpreter): Now protected to catch
2348         manual delete.
2349
2350 2006-07-14  Anders Carlsson  <acarlsson@apple.com>
2351
2352         Reviewed by Adele and Justin.
2353
2354         http://bugzilla.opendarwin.org/show_bug.cgi?id=9658
2355         <rdar://problem/4613948>
2356         REGRESSION: Check Spelling does not work in textarea elements
2357         
2358         * bridge/mac/FrameMac.mm:
2359         (WebCore::FrameMac::advanceToNextMisspelling):
2360         Don't use setStartBefore or setEndAfter on the search range because for shadow trees, there
2361         is no notion of before and after. Instead, use setStart and setEnd and pass in the start and end
2362         indices respectively.
2363         
2364         * dom/Range.cpp:
2365         (WebCore::Range::checkNodeBA):
2366         Allow range operations on shadow trees.
2367
2368         * manual-tests/form-element-spelling.html: Added.
2369
2370 2006-07-14  Beth Dakin  <bdakin@apple.com>
2371
2372         Reviewed by Hyatt.
2373
2374         Fix for <rdar://problem/4621660> REGRESSION: Safari crashing in 
2375         WebCore::FrameView::updateOverflowStatus
2376
2377         m_viewportRenderer is never initialized for framesets, and it 
2378         shouldn't be. So we just need to nil-check for it in 
2379         updateOverflowStatus() and return early.
2380
2381         * page/FrameView.cpp:
2382         (WebCore::FrameView::updateOverflowStatus): Nil check.
2383
2384 2006-07-14  Adele Peterson  <adele@apple.com>
2385
2386         RS by Darin.
2387
2388         Backing out fix for <rdar://problem/4604703> 
2389         REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field
2390
2391         Darin had a better fix in WebKit for this.
2392
2393         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
2394
2395 2006-07-14  Adele Peterson  <adele@apple.com>
2396
2397         Reviewed by Darin.
2398
2399         - Fix for <rdar://problem/4614054> REGRESSION: Safari submits forms when the Return key is hit to complete inline inputs
2400
2401         * page/Frame.h: (WebCore::Frame::inputManagerHasMarkedText): Added.
2402         * bridge/mac/FrameMac.h: ditto.
2403         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::inputManagerHasMarkedText): Added. Asks the input manager if there's marked text.
2404         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): For text fields, don't submit the form on Enter
2405         if the input manager says there's marked text.  I added this code for all text field paths.  For widgets, WebCoreTextField.mm
2406         has code to deal with this case.  But as we convert search, password, and isindex, they will need to do this check too.
2407
2408 2006-07-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2409
2410         Reviewed by Darin.
2411
2412         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9907
2413           REGRESSION (r15418): editing/pasteboard/paste-table-001 fails in pixel  mode
2414
2415         * rendering/RenderText.cpp:
2416         (WebCore::RenderText::caretRect): Fixed the calculation of the max/min allowed caret
2417         position.
2418
2419 2006-07-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2420
2421         Reviewed by Darin.
2422
2423         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9905
2424           REGRESSION (r15404-r15415): Repro crash when pressing delete in an empty editable div
2425
2426         Test: editing/deleting/delete-at-start-or-end.html
2427
2428         * editing/TypingCommand.cpp:
2429         (WebCore::TypingCommand::deleteKeyPressed): Added null check.
2430         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
2431
2432 2006-07-14  David Kilzer  <ddkilzer@kilzer.net>
2433
2434         Reviewed by Geoffrey.
2435
2436         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9903
2437           Simplify logic in JSHTMLOptionsCollection::setLength() by using no-arg getNumber()
2438
2439         No test cases since there is no change in functionality.
2440
2441         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2442         (WebCore::JSHTMLOptionsCollection::setLength):  Simplified logic by using the
2443         no-argument getNumber() method.
2444
2445 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
2446
2447         Reviewed by Adele.
2448
2449         - Build fix: don't need BLOCK_OBJC_EXCEPTIONS because we already have
2450         one surrounding this function, and the nested one makes the compiler
2451         think our local variable is volatile (seems like a compiler bug to me).
2452         
2453         * bridge/mac/FrameMac.mm:
2454         (WebCore::FrameMac::sendContextMenuEvent):
2455
2456 2006-07-14  Timothy Hatcher  <timothy@apple.com>
2457
2458         Reviewed by Maciej.
2459
2460         Make JavaScriptCore a public framework. Adjusted the paths.
2461
2462         * WebCore.xcodeproj/project.pbxproj:
2463
2464 2006-07-14  Maciej Stachowiak  <mjs@apple.com>
2465
2466         Reviewed by Hyatt.
2467
2468         - fixed <rdar://problem/4567031> REGRESSION: Crash at WebCore::RenderBlock::createLineBoxes (seems to be a security hole?)
2469         
2470         I also fixed all the similar crash / assertion failure cases I could think of.
2471
2472         * dom/Node.cpp:
2473         (WebCore::Node::nextRendererWithSameParent): Helper function for some of the above.
2474         * dom/Node.h:
2475         * rendering/RenderTable.cpp:
2476         (WebCore::RenderTable::addChild): Don't allow inserting forms when not in
2477         an HTML document, since we don't need that quirk and because parsing won't
2478         do certain render tree fixups. Also watch out for case when inserting before
2479         the renderer of a misnested child.
2480         * rendering/RenderTableRow.cpp:
2481         (WebCore::RenderTableRow::addChild): ditto
2482         * rendering/RenderTableSection.cpp:
2483         (WebCore::RenderTableSection::addChild): ditto
2484
2485 2006-07-13  Adele Peterson  <adele@apple.com>
2486
2487         Reviewed by Maciej.
2488
2489         - Fix for <rdar://problem/4604703> 
2490         REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field
2491
2492         Test:
2493         * manual-tests/password-ctrl-click-lose-focus.html: Added.
2494
2495         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
2496         If we're about to set a selection in the current view, make sure its the first responder.
2497         In this case, this will cause the password field to resign first responder at the right time.
2498
2499 2006-07-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2500
2501         Reviewed by Hyatt.
2502
2503         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9670
2504           REGRESSION: RTL white-space:pre-wrap text is offset to the right
2505
2506         Test: fast/text/international/rtl-white-space-pre-wrap.html
2507
2508         * rendering/RenderText.cpp:
2509         (WebCore::RenderText::caretRect): Fixed LTR case and added the RTL case
2510         of clipping the caret position to the text box when the caret is after
2511         the trailing space of an autowrapped line.
2512         * rendering/bidi.cpp:
2513         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to truncate-
2514         to-fit the logically last text box if it contains the trailing spaces of an
2515         autowrapped line. 
2516         (WebCore::RenderBlock::bidiReorderLine): Remember the logically last text run.
2517         In the case of autowrapped text with white space that overflows beyond the line,
2518         the last text run is the one containing the overflowing white space.
2519         (WebCore::RenderBlock::findNextLineBreak): Split overflowing white space on a
2520         line that autowraps only after white space into a separate text run.
2521
2522 2006-07-13  David Harrison  <harrison@apple.com>
2523
2524         Reviewed by Dave Hyatt.
2525
2526         <rdar://problem/4624203> -webkit-highlight should be behind images
2527
2528         * rendering/RenderImage.cpp:
2529         (WebCore::RenderImage::paint):
2530         * rendering/RenderListMarker.cpp:
2531         (WebCore::RenderListMarker::paint):
2532         * rendering/RenderWidget.cpp:
2533         (WebCore::RenderWidget::paint):
2534         Call custom highlighter before painting the image, marker, or widget.
2535
2536 2006-07-13  David Harrison  <harrison@apple.com>
2537
2538         Reviewed by Justin and Levi.
2539
2540         <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing
2541
2542         * Tests:
2543         editing/deleting/delete-by-word-001.html
2544         editing/deleting/delete-by-word-002.html
2545
2546         * editing/TypingCommand.cpp:
2547         (WebCore::TypingCommand::deleteKeyPressed):
2548         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2549         (WebCore::TypingCommand::doApply):
2550         * editing/TypingCommand.h:
2551         Delete and forward delete to use specified granularity.
2552         Undo of delete and forward delete to select what had been deleted (non-char granularity only).
2553         
2554         * page/Frame.cpp:
2555         (WebCore::Frame::setSelection):
2556         Close typing and end style even if selection is not changing.
2557         * page/Frame.h:
2558         Remove unused setSelection parameter keepTypingStyle.
2559
2560 2006-07-12  Levi Weintraub  <lweintraub@apple.com>
2561
2562         Reviewed by justin
2563
2564         <rdar://problem/4622763> Deleting from beginning of paragraph following a table deletes rather than selects the table
2565
2566         * editing/DeleteSelectionCommand.cpp:
2567         (WebCore::DeleteSelectionCommand::initializeStartEnd): Added selection expansion for HRs.
2568         (WebCore::DeleteSelectionCommand::initializePositionData): Now uses enclosingBlockFlowOrTableElement
2569         instead of enclosingBlockFlowElement.
2570         (WebCore::DeleteSelectionCommand::removeNode): Use to identify that we need a placeholder
2571         when the start or end block is removed.
2572         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Added check for canHaveChildrenForEditing
2573         to keep things like HRs from being given children.
2574         (WebCore::DeleteSelectionCommand::doApply): Switched to use member variable for needPlaceholder.
2575         * editing/DeleteSelectionCommand.h: Made needPlaceholder a member variable.
2576         * editing/TypingCommand.cpp:
2577         (WebCore::TypingCommand::deleteKeyPressed): Fixed selection bug for tables and open typing commands.
2578         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
2579         * editing/htmlediting.cpp:
2580         (WebCore::editingIgnoresContent): Added check for HRs, since it's not considered a widget.
2581         * editing/visible_units.cpp:
2582         (WebCore::startOfParagraph): Fix for HRs and tables.
2583         (WebCore::endOfParagraph): Ditto.
2584
2585 2006-07-13  Alexey Proskuryakov  <ap@nypop.com>
2586
2587         Reviewed by Darin.
2588
2589         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9880
2590           Memory leaks running DOM-Hanoi
2591
2592         No change in behavior, thus no test included.
2593
2594         * bridge/mac/FrameMac.mm:
2595         (WebCore::FrameMac::setStatusBarText): Use a local autorelease pool to release the temporaries - 
2596         the test runs non-stop, and the enclosing pool doesn't get a chance to be drained.
2597
2598 2006-07-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2599
2600         Reviewed by Adele.
2601
2602         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9862
2603           REGRESSION: GMail: Crash in RenderView::repaintViewRectangle when spoofing as FF
2604         - see also <rdar://problem/4622407>
2605
2606         Test: fast/frames/repaint-display-none-crash.html
2607
2608         * rendering/RenderView.cpp:
2609         (WebCore::RenderView::repaintViewRectangle): Added null checking of the owner element's
2610         renderer, which can be null if the iframe is set to display:none.
2611
2612 2006-07-12  Justin Garcia  <justin.garcia@apple.com>
2613
2614         Reviewed by levi
2615         
2616         <rdar://problem/4509393>
2617         selected DOM range starts with <object>, 0 offset but selection should include the <object>
2618
2619         * editing/ReplaceSelectionCommand.cpp:
2620         (WebCore::ReplaceSelectionCommand::shouldMergeStart): 
2621         Don't pull content out of a table cell.
2622         * editing/htmlediting.cpp:
2623         (WebCore::editingIgnoresContent): Added <select> nodes.
2624         (WebCore::rangeCompliantEquivalent): Convert [node, 0] positions to positionBeforeNode(node)
2625         for more types of nodes.
2626         * rendering/RenderContainer.cpp:
2627         (WebCore::RenderContainer::positionForCoordinates): 
2628         Fix a crasher when right clicking on an anonymous table.
2629
2630 2006-07-12  John Sullivan  <sullivan@apple.com>
2631
2632         Reviewed by Brady Eidson
2633         
2634         - fixed <rdar://problem/4611164> REGRESSION: Crash occurs when undoing a series of 
2635         misspelled words (WebCore::RenderObject::repaint(bool)
2636
2637         * dom/Document.cpp:
2638         (WebCore::Document::removeMarkers):
2639         put (it - markers.begin()) in a local variable before altering markers, in every case where this was
2640         happening. One of the cases like this was fixed a while back, but other cases were
2641         either missed at that time or crept in since. 
2642
2643 2006-07-13  Anders Carlsson  <acarlsson@apple.com>
2644
2645         Reviewed by Justin.
2646
2647         http://bugzilla.opendarwin.org/show_bug.cgi?id=9663
2648         REGRESSION (r14948-r14956): Selection in text field remains highlighted when the text field loses focus
2649         
2650         * dom/Document.cpp:
2651         (WebCore::Document::updateSelection):
2652         Don't return early if the selection is empty.
2653
2654 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
2655
2656         Reviewed by Adele.
2657
2658         <rdar://problem/4614656> REGRESSION: onpaste() handlers don't run for textarea elements
2659         
2660         * bridge/mac/FrameMac.mm:
2661         (WebCore::FrameMac::dispatchCPPEvent):
2662         If the element is a shadow node, dispatch the event to its real parent.
2663
2664         * manual-tests/textarea-onpaste.html: Added.
2665
2666 2006-07-12  Beth Dakin  <bdakin@apple.com>
2667
2668         Reviewed by Anders.
2669
2670         Fix for layout test regressions after my check-in last night. Just 
2671         a silly mistake where I should have asked if we were NOT printing 
2672         instead of if we were in the listbox code.
2673
2674         * WebCore.xcodeproj/project.pbxproj: Project file wars. Back to 
2675         XCode 2.3
2676         * platform/mac/ListBoxMac.mm:
2677         (itemTextRenderer): Inverted check.
2678         (groupLabelTextRenderer): Inverted check.
2679
2680 2006-07-12  Darin Adler  <darin@apple.com>
2681
2682         Reviewed by Maciej.
2683
2684         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9806
2685           <rdar://problem/4622622>
2686           REGRESSION: Large rowspan causes WebKit to call abort()
2687
2688         Test: fast/table/large-rowspan-crash.html
2689
2690         * rendering/RenderTableSection.cpp:
2691         (WebCore::RenderTableSection::ensureRows):
2692         Use sizeof(RowStruct) instead of sizeof(int).
2693         Clearly we'll need something better to solve this completely.
2694         I expect another smaller, but still huge, value will still cause a problem.
2695
2696 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
2697
2698         Reviewed by Maciej.
2699
2700         <rdar://problem/4586665> REGRESSION: autorestore.apple.com: Crashes Safari in WebCore::Widget::client() const
2701
2702         * bridge/mac/FrameMac.h:
2703         Add focusCallResultedInViewBeingCreated argument. 
2704         
2705         * bridge/mac/FrameMac.mm:
2706         (WebCore::FrameMac::nextKeyViewInFrame):
2707         If the call to focus() caused the node to get a native widget, set focusCallResultedInViewBeingCreated to true.
2708         
2709         (WebCore::FrameMac::nextKeyViewInFrameHierarchy):
2710         Don't reset the focus node if focusCallResultedInViewBeingCreated is true. Also, add magic to prevent setting
2711         a text field as the first responder if its field editor already is the current first responder.
2712         
2713         * page/FrameView.cpp:
2714         (WebCore::FrameView::handleMousePressEvent):
2715         In some cases, get the event target node again after dispatching the mouse event.
2716
2717 2006-07-12  Beth Dakin  <bdakin@apple.com>
2718
2719         Reviewed by Adele.
2720
2721         Fix for <rdar://problem/4615765> Input[type='search' fields 
2722         initially render too large in Widgets
2723
2724         Fundamentally, the problem here is that we were miscalculating 
2725         things because [NSGraphicsContext currentContextDrawingToScreen] 
2726         was evaluating to false when widgets first load. We only ever used 
2727         this check, however, to determine if we were printing or not, so it 
2728         should not have evaluated to false for loading in Dashbaord. 
2729         Instead, if we query the RenderView about whether or not we are 
2730         printing, we will get the right answer.
2731
2732         No test case added since this appears only to affect Dashboard.
2733
2734         * bridge/mac/WebCoreFrameBridge.mm:
2735         (-[WebCoreFrameBridge drawRect:]): Ask the RenderView if we are 
2736         printing instead. This is not part of the actual bug fix, but it 
2737         seems wise to get rid of all calls to [NSGraphicsContext 
2738         currentContextDrawingToScreen] when we are just trying to determine 
2739         if we are printing or not.
2740         * platform/mac/ListBoxMac.mm:
2741         (itemTextRenderer):This function now takes a boolean, isPrinting.
2742         (groupLabelTextRenderer): Same as above.
2743         (ListBox::sizeForNumberOfLines): Ask the RenderView if we are 
2744         printing.
2745         (-[WebCoreTableView drawRow:clipRect:]): Same as above.
2746         * platform/mac/PopUpButtonMac.mm:
2747         (PopUpButton::sizeHint): Same as above.
2748         * platform/mac/TextFieldMac.mm:
2749         (-[NSSearchFieldCell _addStringToRecentSearches:]):
2750         * rendering/RenderLineEdit.cpp: Same as above.
2751
2752 2006-07-12  Adele Peterson  <adele@apple.com>
2753
2754         Reviewed by Maciej.
2755
2756         Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=9813
2757         OPTION text can paint over select element's scrollbar
2758
2759         Test: fast/forms/option-text-clip.html
2760
2761         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::paintObject):
2762         When calculating the clip to apply to the button text, also consider padding.
2763         In the future, we may have separate renderers for the text part, and the arrow part
2764         of the control, and then the separation should be natural.  For now, we use padding.
2765
2766 2006-07-11  David Kilzer  <ddkilzer@kilzer.net>
2767
2768         Windows build fix.  Reviewed by NOBODY.
2769
2770         * WebCore.vcproj/WebCore/WebCore.vcproj:  Added JSHTMLOptionsCollection.cpp/h
2771         and JSHTMLOptionsCollectionCuston.cpp.  VC++ Express realphabetized the file list.
2772
2773 2006-07-11  Darin Adler  <darin@apple.com>
2774
2775         Reviewed by Adele.
2776
2777         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9809
2778           <rdar://problem/4619515>
2779           focus ring fails to appear on select element after choosing item from popup
2780
2781         - includes http://bugzilla.opendarwin.org/show_bug.cgi?id=9853
2782           improvements to select element, including some storage leak fixes
2783
2784         * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::index): Use a const
2785         reference for the list items, so we don't have to copy a vector.
2786         * html/HTMLSelectElement.cpp:
2787         (WebCore::HTMLSelectElement::selectedIndex): Ditto.
2788         (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
2789         (WebCore::HTMLSelectElement::length): Ditto.
2790         (WebCore::HTMLSelectElement::remove): Ditto.
2791         (WebCore::HTMLSelectElement::value): Ditto.
2792         (WebCore::HTMLSelectElement::setValue): Ditto.
2793         (WebCore::HTMLSelectElement::stateValue): Ditto.
2794         (WebCore::HTMLSelectElement::restoreState): Ditto.
2795         (WebCore::HTMLSelectElement::appendFormData): Ditto.
2796         (WebCore::HTMLSelectElement::optionToListIndex): Ditto.
2797         (WebCore::HTMLSelectElement::listToOptionIndex): Ditto.
2798         (WebCore::HTMLSelectElement::recalcListItems): Made const, with the appropriate
2799         fields mutable.
2800         (WebCore::HTMLSelectElement::reset): Use a const reference for
2801         the list items, so we don't have to copy the vector. Remove the call to
2802         setSelectionChanged for the RenderMenuList case.
2803         (WebCore::HTMLSelectElement::notifyOptionSelected): Ditto, on both counts.
2804         (WebCore::HTMLSelectElement::defaultEventHandler): Call focus() before showing
2805         the pop-up.
2806         * html/HTMLSelectElement.h: The RenderMenuList class is no longer a friend.
2807         Changed the listItems function to return a const reference to the vector so
2808         it no longer copies the vector. Removed the const_cast to the call to
2809         recalcListItems and changed it to a const member function. Made m_recalcListItems
2810         mutable.
2811         * rendering/DeprecatedRenderSelect.cpp:
2812         (WebCore::DeprecatedRenderSelect::updateFromElement): Removed an unnecessary call
2813         to recalcListItems, which is called automatically. Use a const reference for the
2814         list items so we don't have to copy a vector.
2815         (WebCore::DeprecatedRenderSelect::layout): Ditto.
2816         (WebCore::DeprecatedRenderSelect::selectionChanged): Ditto.
2817         (WebCore::DeprecatedRenderSelect::updateSelection): Ditto.
2818         * rendering/RenderMenuList.cpp:
2819         (WebCore::RenderMenuList::RenderMenuList): Updated for renamed data members.
2820         (WebCore::RenderMenuList::createInnerBlock): Ditto.
2821         (WebCore::RenderMenuList::addChild): Ditto.
2822         (WebCore::RenderMenuList::removeChild): Ditto.
2823         (WebCore::RenderMenuList::setStyle): Ditto. Also removed code to set the style
2824         on the pop-up menu, because it's created with the correct style and destroyed
2825         before it a style change could occur.
2826         (WebCore::RenderMenuList::updateFromElement): Rearranged code to compute the
2827         maximum width in a simpler fashion, and to not bother trying to maintain
2828         the "selected" flags on the elements, since the HTMLSelectElement class
2829         takes care of that. Store the width as an int. Call setText to set the text
2830         based on the selected element's option text.
2831         (WebCore::RenderMenuList::paintObject): Don't check m_inner when setting
2832         up the clip -- always set up the clip.
2833         (WebCore::RenderMenuList::calcMinMaxWidth): Use m_optionsWidth directly
2834         instead of calling ceilf on m_longestWidth.
2835         (WebCore::RenderMenuList::showPopup): Don't use m_popupMenu to store the
2836         menu -- instead keep the pointer in a local variable. Get the selected
2837         index from the HTMLSelectElement.
2838         (WebCore::RenderMenuList::valueChanged): Call HTMLSelectElement::setSelectedIndex
2839         to do most of the work.
2840         * rendering/RenderMenuList.h: Renamed m_inner to m_innerBlock. Removed
2841         m_popupMenu, m_size, m_selectionChanged, and m_selectedIndex. Renamed
2842         m_longestWidth to m_optionsWidth and changed it to be an int. Removed
2843         unneeded override of removeLeftoverAnonymousBoxes function. Removed
2844         unneeded selectionChanged, setSelectionChanged, updateSelection, and
2845         hasPopupMenu functions. Removed extra includes.
2846         * rendering/RenderPopupMenu.cpp: (WebCore::RenderPopupMenu::populate):
2847         Change to iterate the list items instead of iterating all children
2848         of the select node.
2849         * rendering/RenderPopupMenu.h: Renamed getRenderMenuList to menuList.
2850         * rendering/RenderPopupMenuMac.mm:
2851         (WebCore::RenderPopupMenuMac::populate): Moved code to clear and create
2852         the pop-up here from the caller. Removed an extra retain that would cause
2853         the NSPopUpButtonCell to leak.
2854         (WebCore::RenderPopupMenuMac::showPopup): Removed unnecessary code to
2855         create the pop-up, which is now in populate, and also the call to the
2856         clear function, for the same reason. Reorganized code to make it a bit
2857         more readable. Removed an unnecessary if to check if frame is nil.
2858         Used a RefPtr to make sure we don't make a call on a frame after it's
2859         deleted. As part of the reorganization fixed a problem where we'd retain
2860         the event and then return early without releasing it in one case.
2861         (WebCore::RenderPopupMenuMac::addSeparator): Tweaked a little.
2862         (WebCore::RenderPopupMenuMac::addGroupLabel): Grouped all the code to
2863         manage the NSMenu at the bottom of the function.
2864         (WebCore::RenderPopupMenuMac::addOption): Ditto.
2865
2866 2006-07-11  Justin Garcia  <justin.garcia@apple.com>
2867
2868         Reviewed by levi
2869         
2870         <rdar://problem/4620686>
2871         REGRESSION: Mispelling markers are still displayed when using the delete key to place caret into a misspelled word
2872
2873         * bridge/mac/FrameMac.mm:
2874         (WebCore::FrameMac::respondToChangedSelection): Remove markers from newAdjacentWords 
2875         even if oldAdjacentWords is equal to newAdjacentWords.  This happens during a deletion.
2876         
2877
2878 2006-07-11  Tim Omernick  <timo@apple.com>
2879
2880         Reviewed by NOBODY (build fix)
2881
2882         * bindings/objc/DOMPrivate.h:
2883         Don't @class NPObject; that breaks files that actually #import <JavaScriptCore/npruntime.h>, since the NPObject
2884         there is of a different type.
2885         Also clarified a highly misleading comment from my last commit.  I meant to clarify the comment
2886         before landing.
2887
2888 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
2889
2890         Reviewed by Geoff.
2891
2892         http://bugzilla.opendarwin.org/show_bug.cgi?id=9635
2893         REGRESSION: Crash when adding to cart at <http://www.yemeksepeti.com/>
2894         
2895         * html/HTMLTokenizer.cpp:
2896         (WebCore::HTMLTokenizer::scriptHandler):
2897         Don't load external scripts if the parser is stopped.
2898         
2899         * manual-tests/open-close-tokenizer-crash.html: Added.
2900         * manual-tests/resources/empty-file.js: Added.
2901         * manual-tests/resources/open-close-tokenizer-crash.html: Added.
2902         Add manual test.
2903
2904 2006-07-11  John Sullivan  <sullivan@apple.com>
2905
2906         Reviewed by Kevin, Timo O, Brady, Darin, and Hyatt (whee!)
2907
2908         - added support for creating a selection image with white text
2909
2910         * rendering/RenderObject.h:
2911         (WebCore::):
2912         add PaintRestriction enum
2913         (WebCore::RenderObject::PaintInfo::PaintInfo):
2914         add forceWhiteText boolean to PaintInfo struct
2915
2916         * page/FramePrivate.h:
2917         (WebCore::FramePrivate::FramePrivate):
2918         replaced m_selectionOnly bool with m_paintRestriction, which also handles forcing the
2919         text to white
2920
2921         * page/Frame.cpp:
2922         (WebCore::Frame::paint):
2923         updated to use & pass m_paintRestriction where it used to use & pass just m_selectionOnly
2924
2925         * bridge/mac/FrameMac.h:
2926         * bridge/mac/FrameMac.mm:
2927         (WebCore::FrameMac::selectionImage):
2928         now takes forceWhiteText parameter, stored in FramePrivate as part of PaintRestriction
2929
2930         * bridge/mac/WebCoreFrameBridge.h:
2931         * bridge/mac/WebCoreFrameBridge.mm:
2932         (-[WebCoreFrameBridge selectionImageForcingWhiteText:]):
2933         renamed from selectionImage, now takes forceWhiteText parameter, which is passed
2934         down into Frame
2935
2936         * rendering/RenderLayer.h:
2937         * rendering/RenderLayer.cpp:
2938         (WebCore::RenderLayer::paint):
2939         use a PaintRestriction value where we used to use a selectionOnly bool
2940         (WebCore::RenderLayer::paintLayer):
2941         ditto; also stores forceWhiteText in PaintInfo struct
2942
2943         * kcanvas/KCanvasResources.cpp:
2944         (WebCore::KCanvasMarker::draw):
2945         updated for changed signature of PaintInfo constructor
2946
2947         * ksvg2/svg/SVGMaskElement.cpp:
2948         (WebCore::SVGMaskElement::drawMaskerContent):
2949         ditto
2950
2951         * ksvg2/svg/SVGPatternElement.cpp:
2952         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2953         ditto
2954
2955         * rendering/InlineTextBox.cpp:
2956         (WebCore::InlineTextBox::paint):
2957         paint with white text color if forceWhiteText is set in PaintInfo struct
2958
2959 2006-07-11  Tim Omernick  <timo@apple.com>
2960
2961         Reviewed by Anders.
2962
2963         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9843>:
2964         Give Netscape plug-ins access to their own DOM element
2965
2966         * html/HTMLPlugInElement.h:
2967         Just import JSC headers on Mac.  The NPObject and Bindings::Instance stuff is only used on Mac anyway.
2968         Changed __APPLE__ to PLATFORM(MAC).
2969         Added m_NPObject ivar.
2970         * html/HTMLPlugInElement.cpp:
2971         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
2972         Initialize the NPObject.
2973         (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
2974         Release the NPObject when the element is destroyed.
2975         (WebCore::HTMLPlugInElement::createNPObject):
2976         Creates an NPObject for the element.
2977         (WebCore::HTMLPlugInElement::getNPObject):
2978         Returns the NPObject for the element, creating and caching it if necessary.
2979
2980         * html/HTMLAppletElement.h:
2981         Changed __APPLE__ to PLATFORM(MAC).
2982         * html/HTMLAppletElement.cpp:
2983         ditto
2984         * html/HTMLEmbedElement.h:
2985         ditto
2986         * html/HTMLEmbedElement.cpp:
2987         ditto
2988         * html/HTMLObjectElement.h:
2989         ditto
2990         * html/HTMLObjectElement.cpp:
2991         ditto
2992
2993         * bindings/objc/DOMPrivate.h:
2994         Added -[DOMElement _NPObject].
2995
2996         * bindings/objc/DOM.mm:
2997         (-[DOMElement _NPObject]):
2998         Returns the NPObject for the element.  Since this is only needed by the Netscape plug-in API, you can only get 
2999         the NPObject for applet, embed, and object elements.
3000         
3001 2006-07-11  Adele Peterson  <adele@apple.com>
3002
3003         Reviewed by Hyatt.
3004
3005         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9861
3006         REGRESSION: Can't dynamically change list box to popup
3007         
3008         and updated fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9859
3009         REGRESSION: Can't dynamically change popup to list box
3010
3011         The original fix for 9859 was in the renderer, and I think we can catch the change
3012         earlier in the element to detach and reattach.
3013
3014         I also did some cleanup to remove the PopupButton code path from DeprecatedRenderSelect
3015
3016         Test: fast/forms/select-change-listbox-to-popup.html
3017
3018         * html/HTMLSelectElement.cpp:
3019         (WebCore::HTMLSelectElement::parseMappedAttribute): If the new attribute value is going to require us to change from listbox to popup or vice versa,
3020         and we're already attached, then detach and reattach to create the correct renderer.  If we're not attached, then we'll create the correct renderer
3021         when we attach.
3022         (WebCore::HTMLSelectElement::recalcStyle): Updated shouldUseMenuList since it no longer takes a RenderStyle.
3023         (WebCore::HTMLSelectElement::isKeyboardFocusable): ditto.
3024         (WebCore::HTMLSelectElement::isMouseFocusable): ditto.
3025         (WebCore::HTMLSelectElement::createRenderer): ditto.
3026         (WebCore::HTMLSelectElement::setRecalcListItems): ditto.
3027         (WebCore::HTMLSelectElement::reset): ditto.
3028         (WebCore::HTMLSelectElement::notifyOptionSelected): ditto.
3029         (WebCore::HTMLSelectElement::defaultEventHandler): ditto.
3030
3031         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList):
3032         This method no longer takes a RenderStyle.  That was leftover from when we used to use the appearance
3033         to determine whether or not to use the new menu list implementation.
3034
3035         * rendering/DeprecatedRenderSelect.h: Removed PopupButton code path.
3036         * rendering/DeprecatedRenderSelect.cpp:
3037         (WebCore::DeprecatedRenderSelect::DeprecatedRenderSelect):
3038         (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
3039         (WebCore::DeprecatedRenderSelect::updateFromElement):
3040         (WebCore::DeprecatedRenderSelect::baselinePosition):
3041         (WebCore::DeprecatedRenderSelect::layout):
3042         (WebCore::DeprecatedRenderSelect::updateSelection):
3043
3044         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
3045         Backed out previous fix since this is now done in HTMLSelectElement.
3046
3047 2006-07-11  Adele Peterson  <adele@apple.com>
3048
3049         Reviewed by Hyatt.
3050
3051         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9859
3052         REGRESSION: Can't dynamically change popup to list box
3053
3054         Test: fast/forms/select-change-popup-to-listbox.html
3055
3056         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
3057         If the select element has the multiple property set, or has a size > 1, then it
3058         really should be a list box, so we detach and attach the element so it creates the
3059         correct type of renderer.
3060
3061 2006-07-11  John Sullivan  <sullivan@apple.com>
3062
3063         Reviewed by Beth Dakin and Tim Omernick
3064
3065         - fixed <rdar://problem/4622794> HiDPI: dragging the selection in Safari can show pixel cracks 
3066         at non-integral scale factors
3067
3068         * bridge/mac/FrameMac.mm:
3069         (WebCore::FrameMac::imageFromRect):
3070         round image rect in window coordinate space
3071
3072 2006-07-10  Darin Adler  <darin@apple.com>
3073
3074         Reviewed by Geoff.
3075
3076         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9811
3077           rdar://problem/4619572
3078           OPTION text contained in OPTGROUP appears at the wrong size
3079
3080         * dom/Node.h:
3081         * dom/Node.cpp: (WebCore::Node::renderStyle): Made a const member function.
3082         The derived classes were overriding with const member functions, and I could
3083         change either this or the derived -- decided to do this.
3084
3085 2006-07-10  Darin Adler  <darin@apple.com>
3086
3087         Reviewed by Geoff.
3088
3089         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9810
3090           rdar://problem/4619534
3091           OPTGROUP label text is using the default font instead of Lucida Grande
3092
3093         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::setFontFromControlSize):
3094         Code wants the family name, but was calling fontName, which is not the same thing.
3095         Also removed the unneeded conversion to DeprecatedString.
3096
3097 === Safari-521.16 ===
3098
3099 2006-07-10  David Kilzer  <ddkilzer@kilzer.net>
3100
3101         Reviewed by Darin.
3102
3103         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9179
3104           Implement select.options.add() method
3105
3106         Tests:
3107         - fast/dom/select-selectedIndex-multiple.html
3108         - fast/dom/select-selectedIndex.html
3109         - fast/js/select-options-add.html
3110
3111         * DerivedSources.make: Added JSHTMLOptionsCollection.h.
3112         * ForwardingHeaders/kjs/operations.h: Added.
3113         * WebCore.xcodeproj/project.pbxproj: Added new source files.
3114         * bindings/js/JSHTMLOptionsCollectionCustom.cpp: Added.
3115         (WebCore::JSHTMLOptionsCollection::length):
3116         (WebCore::JSHTMLOptionsCollection::setLength):
3117         (WebCore::JSHTMLOptionsCollection::indexSetter):
3118         * bindings/js/kjs_html.cpp: Removed JSHTMLOptionsCollection implementation.
3119         Renamed classes and methods for consistency.
3120         (KJS::JSHTMLElement::selectGetter):
3121         (KJS::JSHTMLElement::put):
3122         (KJS::JSHTMLElement::selectSetter):
3123         (KJS::JSHTMLCollection::JSHTMLCollection):
3124         (KJS::JSHTMLCollectionProtoFunc::callAsFunction):
3125         (KJS::getHTMLOptionsCollection):
3126         * bindings/js/kjs_html.h: Ditto.
3127         * bindings/scripts/CodeGeneratorJS.pm: Added support for HasCustomIndexSetter class attribute.
3128         Added support for Optional parameter attribute, which makes generated code assume overloaded
3129         implementation methods are available for a JavaScript function with optional arguments.  Changed
3130         local 'impl' variables to 'imp' so that impl() methods could be called without class designation.
3131         * html/HTMLOptionElement.idl: Added GenerateNativeConverter attribute.
3132         * html/HTMLOptionsCollection.cpp: Added methods used by generated JSHTMLOptionsCollection class.
3133         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
3134         (WebCore::HTMLOptionsCollection::add):
3135         (WebCore::HTMLOptionsCollection::selectedIndex):
3136         (WebCore::HTMLOptionsCollection::setSelectedIndex):
3137         (WebCore::HTMLOptionsCollection::setLength):
3138         * html/HTMLOptionsCollection.h: Ditto.
3139         * html/HTMLOptionsCollection.idl: Added.
3140
3141 2006-07-10  David Harrison  <harrison@apple.com>
3142
3143         Reviewed by Dave Hyatt.
3144
3145         <rdar://problem/4602408> -webkit-highlight needs to support images and elements other than text
3146
3147         * rendering/RenderBox.cpp:
3148         (WebCore::RenderBox::paintCustomHighlight):
3149         * rendering/RenderBox.h:
3150         Utility for subclasses.
3151         
3152         * rendering/RenderImage.cpp:
3153         (WebCore::RenderImage::paint):
3154         Custom highlight in front of images.
3155         
3156         * rendering/RenderListMarker.cpp:
3157         (WebCore::RenderListMarker::paint):
3158         Custom highlight in front of list markers.
3159
3160         * rendering/RenderWidget.cpp:
3161         (WebCore::RenderWidget::paint):
3162         Custom highlight in front of objects.
3163
3164 2006-07-10  David Hyatt  <hyatt@apple.com>
3165
3166         <rdar://problem/4620557> REGRESSION: In a mail message, text isn't painted
3167         correctly after choosing Redo Typing
3168
3169         Better fix for repainting issue with positioned objects when height
3170         changes.  Optimize when only a positioned child changes so that we don't
3171         incorrectly do normal flow layout.
3172
3173         Reviewed by darin
3174
3175         * WebCore.xcodeproj/project.pbxproj:
3176         * rendering/RenderBlock.cpp:
3177         (WebCore::RenderBlock::layoutBlock):
3178         * rendering/RenderFlexibleBox.cpp:
3179         (WebCore::RenderFlexibleBox::layoutBlock):
3180         * rendering/RenderTable.cpp:
3181         (WebCore::RenderTable::layout):
3182         * rendering/RenderView.cpp:
3183         (WebCore::RenderView::layout):
3184         * rendering/bidi.cpp:
3185         (WebCore::RenderBlock::layoutInlineChildren):
3186
3187 2006-07-10  Adele Peterson  <adele@apple.com>
3188
3189         Reviewed by Beth.
3190
3191         - Fix for <rdar://problem/4621442> REGRESSION (NativePopup) : Popup menus aren't drawn correctly on page at orbitz.com; cheaptickets.com
3192
3193         Test: fast/forms/select-style.html
3194
3195         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
3196         Don't let popups be style-able for now.  We'll allow it later, when we
3197         have a good way to handle border & backgrounds and still having it look like a control.
3198
3199 2006-07-10  Justin Garcia  <justin.garcia@apple.com>
3200
3201         Reviewed by harrison
3202         
3203         <rdar://problem/4619260>
3204         9A213 + Safari 521.15.1 Crash with To Do's alarm icon (WebCore::maxDeepOffset(WebCore::Node const*) )
3205         <rdar://problem/4619841>
3206         REGRESSION: Dragging selection over input field results in a crash (WebCore::maxDeepOffset(WebCore::Node const*)
3207
3208         * WebCore.xcodeproj/project.pbxproj:
3209         * editing/Selection.cpp:
3210         (WebCore::Selection::adjustForEditableContent): Iterate using next/previousVisuallyDistinctCandidate 
3211         instead of traverseNext/Previous node because we were skipping positions.  Jump out of shadow trees.  
3212         Migrate to isEditablePosition instead of isContentEditable.
3213         
3214
3215 2006-07-10  Beth Dakin  <bdakin@apple.com>
3216
3217         Reviewed by Adele.
3218
3219         Shuffling comments around from my last check-in to make things read 
3220         more clearly.
3221
3222         * page/DOMWindow.h:
3223         * page/DOMWindow.idl:
3224
3225 2006-07-10  Beth Dakin  <bdakin@apple.com>
3226
3227         Reviewed by Darin.
3228
3229         Fix for <rdar://problem/4621095> The should be a way to 
3230         access the user interface scale factor through the DOM
3231
3232         window.devicePixelRatio returns the user interface scale factor.
3233
3234         * page/DOMWindow.cpp:
3235         (WebCore::DOMWindow::devicePixelRatio):
3236         * page/DOMWindow.h:
3237         * page/DOMWindow.idl:
3238
3239 2006-07-10  Brady Eidson  <beidson@apple.com>
3240
3241         Reviewed by Alexey
3242
3243         Resolved the console error messages people got from the new DB even if they didn't have it enabled
3244
3245         * icon/IconDatabase.cpp:
3246         (WebCore::IconDatabase::pruneUnreferencedIcons):
3247         (WebCore::IconDatabase::pruneUnretainedIcons):
3248         Added quick check to bail if the DB isn't open
3249
3250 2006-07-10  David Harrison  <harrison@apple.com>
3251
3252         Reviewed by Tim Hatcher
3253
3254         Partial fix for...
3255         <rdar://problem/4619260> 9A213 + Safari 521.15.1 Crash with To Do's alarm icon (WebCore::maxDeepOffset(WebCore::Node const*) )
3256         
3257         * editing/Selection.cpp:
3258         (WebCore::Selection::adjustForEditableContent):
3259         Allow for node being 0.  This is a bandaid fix to prevent the crash.  It will still assert in a debug build.  See bug for more info.
3260
3261 2006-07-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3262
3263         Reviewed by Darin.
3264
3265         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9808
3266           REGRESSION: Incorrect layout (and ERROR) when forcing ATSU For All Text
3267
3268         * manual-tests/ATSU-bad-layout.html: Added.
3269         * platform/mac/FontMac.mm:
3270         (WebCore::Font::floatWidthForComplexText): Return 0 immediately for empty runs.
3271
3272 2006-07-10  Darin Adler  <darin@apple.com>
3273
3274         - try to fix the no-SVG build
3275
3276         * ksvg2/misc/SVGImageLoader.cpp: Move namespace brace inside the #if.
3277
3278 2006-07-10  Darin Adler  <darin@apple.com>
3279
3280         Reviewed by Anders.
3281
3282         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9833
3283           REGRESSION: Reproducible crash: RenderMenuList.cpp:58: failed assertion `!m_first'
3284
3285         * manual-tests/empty-title-popup.html: Added.
3286
3287         * rendering/RenderMenuList.h: Add createInnerBlock.
3288         * rendering/RenderMenuList.cpp:
3289         (WebCore::RenderMenuList::createInnerBlock): Factored out of addChild.
3290         (WebCore::RenderMenuList::addChild): Call createInnerBlock.
3291         (WebCore::RenderMenuList::setText): Changed parameter type.
3292         (WebCore::RenderMenuList::showPopup): Call createInnerBlock before calling
3293         the parent class's addChild.
3294
3295 2006-07-10  Rob Buis  <buis@kde.org>
3296
3297         Reviewed by Maciej via IRC.
3298
3299         Make sure the attributes are calculated against viewport width value,
3300         as defined in the spec.  http://paste.lisp.org/display/22342
3301
3302         * ksvg2/svg/SVGEllipseElement.cpp:
3303         (WebCore::SVGEllipseElement::rx): Changed LM_HEIGHT to LM_WIDTH.
3304         * ksvg2/svg/SVGLineElement.cpp:
3305         (SVGLineElement::x2): Ditto.
3306
3307 2006-07-10  Beth Dakin  <bdakin@apple.com>
3308
3309         Reviewed by Maciej.
3310
3311         Fix for <rdar://problem/4610314> Support the CSS3 content property 
3312         for images
3313
3314         This patch provides initial support for the CSS3 content property. 
3315         It lacks support for any content other than images, and only allows 
3316         content for elements that seemed safe for now.
3317
3318         * css/cssstyleselector.cpp:
3319         (WebCore::CSSStyleSelector::applyProperty): Remove restrictions for 
3320         just :before and :after
3321         * html/HTMLBRElement.cpp:
3322         (WebCore::HTMLBRElement::createRenderer):
3323         * html/HTMLFrameSetElement.cpp:
3324         (WebCore::HTMLFrameSetElement::createRenderer):
3325         * html/HTMLImageElement.cpp:
3326         (WebCore::HTMLImageElement::createRenderer):
3327         * html/HTMLLegendElement.cpp:
3328         (WebCore::HTMLLegendElement::createRenderer):
3329         * rendering/RenderImage.cpp:
3330         (WebCore::RenderImage::RenderImage):
3331         (WebCore::RenderImage::setCachedImage): Don't allow the image to be 
3332         set this way if it was already set with the content property.
3333         * rendering/RenderImage.h:
3334         (WebCore::RenderImage::setIsAnonymousImage): Anonymous images are 
3335         those set through the content property.
3336         (WebCore::RenderImage::isAnonymousImage):
3337         * rendering/RenderObject.cpp:
3338         (WebCore::RenderObject::createObject): If there is content 
3339         specified, create a RenderImage with the content and initialize the 
3340         cached image to whatever was specified in the CSS.
3341
3342 2006-07-10  Brady Eidson  <beidson@apple.com>
3343
3344         Reviewed by NOBODY (Build Fix!)
3345
3346         * icon/SiteIcon.cpp:
3347         (SiteIcon::getImage):
3348         Release build made an "unused variable" warning, which is, of course, an error.  fixed that.
3349
3350 2006-07-10  Brady Eidson  <beidson@apple.com>
3351
3352         Reviewed by Maciej
3353
3354         SQLite Icon DB now fully replicates functionality of the old DB, including pruning to keep unused
3355         information out to keep down disk usage.  For now, it is still off by default, as the critical
3356         feature of importing old icons into the new DB is still unrealized.
3357         If you'd like to test, add #define ICONDEBUG to your WebKitPrefix.h
3358
3359         * icon/IconDatabase.cpp:
3360         (WebCore::IconDatabase::IconDatabase):
3361         (WebCore::IconDatabase::open):
3362           -Sets up a timer for initial pruning
3363         (WebCore::IconDatabase::iconForPageURL):
3364           -Switched away from "dirty blob hack" as the problem is provisionally solved
3365         (WebCore::IconDatabase::retainIconForURL):
3366         (WebCore::IconDatabase::releaseIconForURL):
3367           -Same as found in WebKit
3368         (WebCore::IconDatabase::totalRetainCountForIconURL):
3369           -Adds up all retainers of icon
3370         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
3371           -Wipes an Icon table entry out
3372         (WebCore::IconDatabase::establishTemporaryIconIDForIconURL):
3373         (WebCore::IconDatabase::establishTemporaryIconIDForEscapedIconURL):
3374         (WebCore::IconDatabase::establishIconIDForIconURL):
3375         (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
3376           -Added ability to get an iconID without creating a new one if a lookup is all
3377            that is genuinely wanted
3378         (WebCore::IconDatabase::pruneUnreferencedIcons):
3379         (WebCore::IconDatabase::pruneUnretainedIcons):
3380           -Called on a timer on DB startup to clean it out
3381         * icon/IconDatabase.h:
3382         * icon/SiteIcon.cpp:
3383         (SiteIcon::SiteIcon):
3384         (SiteIcon::~SiteIcon):
3385           -Deletes the image on deletion
3386         (SiteIcon::getImage):
3387           -Cut down on no-longer-necessary debug info
3388
3389 2006-07-10  Anders Carlsson  <acarlsson@apple.com>
3390
3391         Reviewed by Adele.
3392
3393         http://bugzilla.opendarwin.org/show_bug.cgi?id=9245
3394         Quirksmode: Incorrect handling of disabled BUTTON elements
3395
3396         * html/HTMLButtonElement.cpp:
3397         (WebCore::HTMLButtonElement::defaultEventHandler):
3398         Don't call prepareSubmit if the element is disabled.
3399
3400         * html/HTMLInputElement.cpp:
3401         (WebCore::HTMLInputElement::defaultEventHandler):
3402         Don't call prepareSubmit if the element is disabled.
3403
3404 2006-07-10  Darin Adler  <darin@apple.com>
3405
3406         - try to fix Windows build
3407
3408         * platform/win/TemporaryLinkStubs.cpp: Put a few functions in the WebCore namespace.
3409         * platform/gdk/TemporaryLinkStubs.cpp: Ditto.
3410
3411 2006-07-10  Darin Adler  <darin@apple.com>
3412
3413         Reviewed by Geoff.
3414
3415         - fix failures seen in layout tests
3416
3417         * bindings/js/kjs_dom.cpp: (KJS::toJS): Restore one of the few WebCore:: prefixes
3418         that really needed to be there -- because we have two classes named JSHTMLDocument
3419         at the moment! (One in KJS and one in WebCore namespace.)
3420
3421 2006-07-10  Darin Adler  <darin@apple.com>
3422
3423         - try to fix Windows build
3424
3425         * rendering/RenderLayer.h: Correct a forward declaration of ScrollBar.
3426
3427 2006-07-09  Adele Peterson  <adele@apple.com>
3428
3429         Reviewed by Maciej.
3430
3431         Fix for <rdar://problem/4463835> Switch to use new popup menu implementation for <select>
3432
3433         * css/html4.css: Added style for new selects, and for list boxes.
3434         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList): Removed check for appearance so new popups can be styled.
3435    
3436         * rendering/RenderMenuList.cpp:
3437         (WebCore::RenderMenuList::setStyle): Removed padding.  This is now set by the theme.
3438         (WebCore::RenderMenuList::calcMinMaxWidth): Now takes minimum text size into account.
3439         * rendering/RenderMenuList.h: Removed baselinePosition since we're letting the theme calculate that.
3440
3441         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlContainer): Added menuList as a ControlContainer, 
3442         so RenderThemeMac will compute its baseline.
3443         * rendering/RenderTheme.h: (WebCore::RenderTheme::minimumTextSize): Added.
3444         * rendering/RenderThemeMac.h: Added minimumTextSize, setPopupPaddingFromControlSize, popupButtonSizes, popupButtonMargins, popupButtonPadding.
3445         Removed sizeOfArrowControl. 
3446         * rendering/RenderThemeMac.mm:
3447         (WebCore::): Added enum for padding.
3448         (WebCore::RenderThemeMac::adjustRepaintRect): Now inflates rect to account for control shadow.
3449         (WebCore::RenderThemeMac::baselinePosition): Now calculates baseline for menulist.
3450         (WebCore::RenderThemeMac::popupButtonMargins): Tweaked values.
3451         (WebCore::RenderThemeMac::popupButtonSizes): Added.
3452         (WebCore::RenderThemeMac::popupButtonPadding): Added, so different padding can be set for different control sizes.
3453         (WebCore::RenderThemeMac::setPopupPaddingFromControlSize): Added.
3454         (WebCore::RenderThemeMac::paintMenuList): Now inflates rect to account for control shadow.
3455         (WebCore::RenderThemeMac::adjustMenuListStyle): Resets border, sets padding, sets control size.
3456         (WebCore::RenderThemeMac::setPopupButtonCellState): Removed unnecessary class name.
3457         (WebCore::RenderThemeMac::minimumTextSize): Added.
3458
3459 2006-07-09  Darin Adler  <darin@apple.com>
3460
3461         - add back "unused code" for plain text fields, still used by <isindex>!
3462
3463         * platform/TextField.h:
3464         * platform/mac/TextFieldMac.mm:
3465         * platform/mac/WebCoreTextField.h:
3466         * platform/mac/WebCoreTextField.mm:
3467         * rendering/RenderLineEdit.cpp:
3468
3469 2006-07-09  Darin Adler  <darin@apple.com>
3470
3471         Reviewed by Tim Hatcher.
3472
3473         - put more into the WebCore namespace
3474         - removed unused code for plain text fields
3475
3476         Put more classes, class templates, enums, functions, and constants into
3477         the WebCore namespace, including all the headers in the platform directory.
3478
3479         Removed lots of unneeded "WebCore::" qualifiers and "using" directives.
3480
3481         Added some "WebCore::" qualifiers in a few places.
3482
3483         Removed "uses WebCore::" in headers that we said we'd remove "when
3484         everything is in the WebCore namespace".
3485
3486         * bindings/js/JSDOMParser.cpp:
3487         * bindings/js/JSHTMLElementWrapperFactory.cpp:
3488         * bindings/js/JSXSLTProcessor.cpp:
3489         * bindings/js/kjs_binding.cpp:
3490         * bindings/js/kjs_css.cpp:
3491         * bindings/js/kjs_dom.cpp:
3492         * bindings/js/kjs_dom.h:
3493         * bindings/js/kjs_events.cpp:
3494         * bindings/js/kjs_proxy.h:
3495         * bindings/js/kjs_window.h:
3496         * bindings/objc/DOM.mm:
3497         * bridge/History.h:
3498         * bridge/JavaAppletWidget.h:
3499         * bridge/mac/FormDataMac.h:
3500         * bridge/mac/FormDataMac.mm:
3501         * bridge/mac/WebCoreAXObject.mm:
3502         * bridge/mac/WebCoreEncodings.mm:
3503         * bridge/mac/WebCoreFrameBridge.h:
3504         * bridge/mac/WebCoreIconDatabaseBridge.mm:
3505         * bridge/mac/WebCorePageState.h:
3506         * bridge/mac/WebCoreScriptDebugger.mm:
3507         * bridge/mac/WebCoreSettings.h:
3508         * css/CSSGrammar.y:
3509         * css/CSSPageRule.cpp:
3510         * css/CSSPageRule.h:
3511         * css/MediaList.cpp:
3512         * css/cssstyleselector.h:
3513         * dom/Clipboard.h:
3514         * dom/Document.cpp:
3515         * dom/Document.h:
3516         * dom/EventTargetNode.h:
3517         * dom/Node.cpp:
3518         * dom/Node.h:
3519         * dom/Position.h:
3520         * dom/Range.cpp:
3521         * dom/XMLTokenizer.cpp:
3522         * editing/AppendNodeCommand.h:
3523         * editing/ApplyStyleCommand.cpp:
3524         * editing/BreakBlockquoteCommand.cpp:
3525         * editing/BreakBlockquoteCommand.h:
3526         * editing/CompositeEditCommand.cpp:
3527         * editing/CompositeEditCommand.h:
3528         * editing/CreateLinkCommand.h:
3529         * editing/DeleteFromTextNodeCommand.h:
3530         * editing/DeleteSelectionCommand.h:
3531         * editing/FormatBlockCommand.h:
3532         * editing/HTMLInterchange.cpp:
3533         * editing/HTMLInterchange.h:
3534         * editing/IndentOutdentCommand.h:
3535         * editing/InsertIntoTextNodeCommand.h:
3536         * editing/InsertLineBreakCommand.h:
3537         * editing/InsertListCommand.h:
3538         * editing/InsertNodeBeforeCommand.h:
3539         * editing/InsertTextCommand.cpp:
3540         * editing/InsertTextCommand.h:
3541         * editing/JSEditor.cpp:
3542         * editing/JSEditor.h:
3543         * editing/JoinTextNodesCommand.h:
3544         * editing/MergeIdenticalElementsCommand.cpp:
3545         * editing/MergeIdenticalElementsCommand.h:
3546         * editing/ModifySelectionListLevel.h:
3547         * editing/MoveSelectionCommand.h:
3548         * editing/RebalanceWhitespaceCommand.h:
3549         * editing/RemoveNodeAttributeCommand.h:
3550         * editing/RemoveNodeCommand.h:
3551         * editing/RemoveNodePreservingChildrenCommand.h:
3552         * editing/ReplaceSelectionCommand.h:
3553         * editing/SetNodeAttributeCommand.h:
3554         * editing/SplitElementCommand.cpp:
3555         * editing/SplitElementCommand.h:
3556         * editing/SplitTextNodeCommand.cpp:
3557         * editing/SplitTextNodeCommand.h:
3558         * editing/SplitTextNodeContainingElementCommand.h:
3559         * editing/TypingCommand.cpp:
3560         * editing/TypingCommand.h:
3561         * editing/UnlinkCommand.h:
3562         * editing/VisiblePosition.cpp:
3563         * editing/WrapContentsInDummySpanCommand.cpp:
3564         * editing/WrapContentsInDummySpanCommand.h:
3565         * editing/markup.cpp:
3566         * editing/markup.h:
3567         * html/HTMLAnchorElement.cpp:
3568         * html/HTMLBodyElement.cpp:
3569         * html/HTMLButtonElement.h:
3570         * html/HTMLCollection.h:
3571         * html/HTMLDocument.h:
3572         * html/HTMLEmbedElement.cpp:
3573         * html/HTMLFormElement.cpp:
3574         * html/HTMLFormElement.h:
3575         * html/HTMLFrameElement.cpp:
3576         * html/HTMLFrameSetElement.cpp:
3577         * html/HTMLKeygenElement.cpp:
3578         * html/HTMLLabelElement.cpp:
3579         * html/HTMLObjectElement.cpp:
3580         * html/HTMLObjectElement.h:
3581         * html/HTMLTableElement.cpp:
3582         * html/HTMLTablePartElement.cpp:
3583         * icon/IconDatabase.h:
3584         * kcanvas/KCanvasPath.h:
3585         * kcanvas/KCanvasResources.cpp:
3586         * kcanvas/KCanvasResources.h:
3587         * kcanvas/KCanvasTreeDebug.cpp:
3588         * kcanvas/KCanvasTreeDebug.h:
3589         * kcanvas/RenderSVGContainer.cpp:
3590         * kcanvas/RenderSVGText.h:
3591         * kcanvas/device/KRenderingPaintServer.h:
3592         * kcanvas/device/KRenderingPaintServerGradient.h:
3593         * kcanvas/device/KRenderingPaintServerSolid.cpp:
3594         * ksvg2/misc/SVGImageLoader.cpp:
3595         * ksvg2/svg/SVGElement.cpp:
3596         * ksvg2/svg/SVGElement.h:
3597         * ksvg2/svg/SVGForeignObjectElement.cpp:
3598         * ksvg2/svg/SVGForeignObjectElement.h:
3599         * ksvg2/svg/SVGImageElement.cpp:
3600         * ksvg2/svg/SVGPoint.h:
3601         * ksvg2/svg/SVGStylable.h:
3602         * ksvg2/svg/SVGTRefElement.cpp:
3603         * ksvg2/svg/SVGTRefElement.h:
3604         * ksvg2/svg/SVGTSpanElement.cpp:
3605         * ksvg2/svg/SVGTSpanElement.h:
3606         * ksvg2/svg/SVGTextElement.h:
3607         * ksvg2/svg/svgpathparser.cpp:
3608         * ksvg2/svg/svgpathparser.h:
3609         * loader/Cache.h:
3610         * loader/DocLoader.h:
3611         * loader/LoaderFunctions.h:
3612         * loader/mac/LoaderFunctionsMac.mm:
3613         * page/Frame.h:
3614         * page/FrameView.h:
3615         * page/Page.h:
3616         * page/Settings.h:
3617         * platform/AffineTransform.cpp:
3618         * platform/AffineTransform.h:
3619         * platform/Arena.cpp:
3620         * platform/Arena.h:
3621         * platform/CookieJar.h:
3622         * platform/DeprecatedCString.cpp:
3623         * platform/DeprecatedCString.h:
3624         * platform/DeprecatedPtrList.h:
3625         * platform/DeprecatedPtrListImpl.cpp:
3626         * platform/DeprecatedPtrListImpl.h:
3627         * platform/DeprecatedPtrQueue.h:
3628         * platform/DeprecatedString.cpp:
3629         * platform/DeprecatedString.h:
3630         * platform/DeprecatedStringList.cpp:
3631         * platform/DeprecatedStringList.h:
3632         * platform/DeprecatedValueList.h:
3633         * platform/DeprecatedValueListImpl.cpp:
3634         * platform/DeprecatedValueListImpl.h:
3635         * platform/FileButton.h:
3636         * platform/FloatPoint.h:
3637         * platform/FloatRect.h:
3638         * platform/FloatSize.h:
3639         * platform/FontData.h:
3640         * platform/FontFallbackList.h:
3641         * platform/GraphicsContext.h:
3642         * platform/IntPoint.h:
3643         * platform/IntRect.h:
3644         * platform/IntSize.h:
3645         * platform/KURL.cpp:
3646         * platform/KURL.h:
3647         * platform/ListBox.h:
3648         * platform/Logging.cpp:
3649         * platform/Logging.h:
3650         * platform/Pen.h:
3651         * platform/PopUpButton.h:
3652         * platform/RegularExpression.cpp:
3653         * platform/RegularExpression.h:
3654         * platform/SSLKeyGenerator.h:
3655         * platform/ScrollBar.h:
3656         * platform/SegmentedString.h:
3657         * platform/Shared.h:
3658         * platform/Slider.h:
3659         * platform/StringImpl.h:
3660         * platform/TextBox.h:
3661         * platform/TextField.h:
3662         * platform/TextStream.cpp:
3663         * platform/TextStream.h:
3664         * platform/TransferJob.h:
3665         * platform/TransferJobClient.h:
3666         * platform/Widget.h:
3667         * platform/cg/AffineTransformCG.cpp:
3668         * platform/mac/ClipboardMac.h:
3669         * platform/mac/ClipboardMac.mm:
3670         * platform/mac/DeprecatedStringListMac.mm:
3671         * platform/mac/FontCacheMac.mm:
3672         * platform/mac/KURLMac.mm:
3673         * platform/mac/ListBoxMac.mm:
3674         * platform/mac/PopUpButtonMac.mm:
3675         * platform/mac/SSLKeyGeneratorMac.mm:
3676         * platform/mac/TextBoxMac.mm:
3677         * platform/mac/TextFieldMac.mm:
3678         * platform/mac/WebCoreTextArea.h:
3679         * platform/mac/WebCoreTextArea.mm:
3680         * platform/mac/WebCoreTextField.h:
3681         * platform/mac/WebCoreTextField.mm:
3682         * rendering/DeprecatedRenderSelect.h:
3683         * rendering/RenderArena.cpp:
3684         * rendering/RenderArena.h:
3685         * rendering/RenderBlock.cpp:
3686         * rendering/RenderBox.cpp:
3687         * rendering/RenderContainer.cpp:
3688         * rendering/RenderFlexibleBox.cpp:
3689         * rendering/RenderFlow.cpp:
3690         * rendering/RenderLayer.cpp:
3691         * rendering/RenderLineEdit.cpp:
3692         * rendering/RenderObject.h:
3693         * rendering/RenderStyle.cpp:
3694         * rendering/RenderStyle.h:
3695         * rendering/RenderText.cpp:
3696         * rendering/RenderTextFragment.cpp:
3697         * rendering/RenderTheme.h:
3698         * rendering/RenderTreeAsText.cpp:
3699         * rendering/RenderTreeAsText.h:
3700         * rendering/RenderView.h:
3701         * rendering/bidi.h:
3702         * xml/XSLStyleSheet.cpp:
3703         * xml/XSLTProcessor.cpp:
3704
3705 2006-07-09  Geoffrey Garen  <ggaren@apple.com>
3706
3707         Reviewed by Beth.
3708
3709         * bindings/js/kjs_window.cpp:
3710         (KJS::Window::clear): Garbage collect after reinitalizing the global
3711         object, not before, since the reinitialization tends to create garbage.
3712
3713 2006-07-09  Timothy Hatcher  <timothy@apple.com>
3714
3715         Reviewed by Darin.
3716
3717         Bug 9820: Move new DOM API that has been through API review to public headers
3718         http://bugzilla.opendarwin.org/show_bug.cgi?id=9820
3719
3720         * bindings/objc/DOM.mm:
3721         (-[DOMElement focus]):
3722         (-[DOMElement blur]):
3723         (-[DOMRange text]):
3724         (-[DOMRange _text]):
3725         * bindings/objc/DOMCSS.mm:
3726         (-[DOMRGBColor color]):
3727         (-[DOMRGBColor _color]):
3728         * bindings/objc/DOMCore.h:
3729         * bindings/objc/DOMEvents.h:
3730         * bindings/objc/DOMExtensions.h:
3731         * bindings/objc/DOMHTML.mm:
3732         (-[DOMHTMLElement titleDisplayString]):
3733         (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
3734         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
3735         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
3736         (-[DOMHTMLDocument _createDocumentFragmentWithText:]):
3737         * bindings/objc/DOMPrivate.h:
3738         * bindings/objc/DOMXPath.h:
3739         * bindings/objc/DOMXPath.mm:
3740
3741 2006-07-09  Beth Dakin  <bdakin@apple.com>
3742
3743         Reviewed by Maciej.
3744
3745         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9749 A 
3746         nested content editable div causes unnecessary screen redraws.
3747         
3748         We were repainting too much because we were deciding that we needed 
3749         a full layout because we didn't have a first line box. Our code 
3750         used to hold a lot of assumptions that positioned elements would 
3751         always have line boxes, but I fixed a few bugs a while back that 
3752         appeared because this assumption isn't true. This assumption was 
3753         also causing the extra redraws because the check meant that we 
3754         would decide to do a full layout for any positioned element that 
3755         did not have any line boxes in the first place. Maciej and I talked 
3756         about this, and we couldn't figure out why the check for line boxes 
3757         was part of determining if we need a full layout in the first 
3758         place. After hunting around the code, we decided to assume that 
3759         this check is antiquated. Removing it fixes the bug and doesn't 
3760         seem to break any layout tests. So, fingers crossed!
3761
3762         Will add layout test so soon.
3763
3764         * rendering/bidi.cpp:
3765         (WebCore::RenderBlock::layoutInlineChildren): Remove firstLineBox 
3766         check.
3767
3768 2006-07-09  David Harrison  <harrison@apple.com>
3769
3770         Reviewed by John Sullivan.
3771
3772         <rdar://problem/4598149> Deleting the contents of a DOMRange and then inserting a node into it crashes in WebCore::Font::canUseGlyphCache
3773
3774         Test: fast/dom/delete-contents.html
3775         
3776         * dom/Range.cpp:
3777         (WebCore::Range::processContents):
3778
3779 2006-07-09  Darin Adler  <darin@apple.com>
3780
3781         - another round of renaming; and KWQ is dead
3782
3783         * WebCore.vcproj/WebCore/WebCore.vcproj: Remove paths for kwq and khtml directories.
3784         Move files to their new locations. Did rename.
3785         * WebCore.xcodeproj/project.pbxproj: Move files to their new locations. Did rename.
3786         * WebCoreSources.bkl: Did rename.
3787         * webcore-base.bkl: Removed kwq.
3788
3789         * kwq/AccessibilityObjectCache.h: Removed.
3790         * kwq/AccessibilityObjectCache.mm: Removed.
3791         * kwq/FormDataMac.h: Removed.
3792         * kwq/FormDataMac.mm: Removed.
3793         * kwq/WebCoreAXObject.h: Removed.
3794         * kwq/WebCoreAXObject.mm: Removed.
3795         * kwq/WebCoreEditCommand.h: Removed.
3796         * kwq/WebCoreEditCommand.mm: Removed.
3797         * kwq/WebCorePageState.h: Removed.
3798         * kwq/WebCorePageState.mm: Removed.
3799         * kwq/WebCoreResourceLoaderImp.h: Removed.
3800         * kwq/WebCoreResourceLoaderImp.mm: Removed.
3801
3802         * bridge/AXObjectCache.h: Added.
3803         * bridge/mac/AXObjectCacheMac.mm: Added.
3804         * bridge/mac/WebCoreAXObject.h: Added.
3805         * bridge/mac/WebCoreAXObject.mm: Added.
3806
3807         * loader/CachedObject.cpp: Removed.
3808         * loader/CachedObject.h: Removed.
3809         * loader/CachedObjectClient.h: Removed.
3810         * loader/CachedObjectClientWalker.cpp: Removed.
3811         * loader/CachedObjectClientWalker.h: Removed.
3812
3813         * loader/CachedResource.cpp: Added.
3814         * loader/CachedResource.h: Added.
3815         * loader/CachedResourceClient.h: Added.
3816         * loader/CachedResourceClientWalker.cpp: Added.
3817         * loader/CachedResourceClientWalker.h: Added.
3818
3819         * bridge/mac/FrameMac.mm:
3820         * bridge/mac/WebCoreFrameBridge.mm:
3821         * css/CSSImageValue.h:
3822         * css/CSSImportRule.h:
3823         * dom/Document.cpp:
3824         * dom/Document.h:
3825         * dom/Notation.h:
3826         * dom/ProcessingInstruction.h:
3827         * dom/XMLTokenizer.cpp:
3828         * html/CanvasPattern.h:
3829         * html/HTMLDocument.h:
3830         * html/HTMLImageLoader.cpp:
3831         * html/HTMLImageLoader.h:
3832         * html/HTMLLinkElement.h:
3833         * html/HTMLScriptElement.cpp:
3834         * html/HTMLScriptElement.h:
3835         * html/HTMLTokenizer.cpp:
3836         * html/HTMLTokenizer.h:
3837         * kcanvas/KCanvasFilters.h:
3838         * ksvg2/svg/SVGCursorElement.cpp:
3839         * ksvg2/svg/SVGCursorElement.h:
3840         * ksvg2/svg/SVGFEImageElement.cpp:
3841         * ksvg2/svg/SVGFEImageElement.h:
3842         * loader/Cache.cpp:
3843         * loader/Cache.h:
3844         * loader/CachedCSSStyleSheet.cpp:
3845         * loader/CachedCSSStyleSheet.h:
3846         * loader/CachedImage.cpp:
3847         * loader/CachedImage.h:
3848         * loader/CachedScript.cpp:
3849         * loader/CachedScript.h:
3850         * loader/CachedXBLDocument.cpp:
3851         * loader/CachedXBLDocument.h:
3852         * loader/CachedXSLStyleSheet.cpp:
3853         * loader/CachedXSLStyleSheet.h:
3854         * loader/DocLoader.cpp:
3855         * loader/DocLoader.h:
3856         * loader/LoaderFunctions.h:
3857         * loader/Request.cpp:
3858         * loader/Request.h:
3859         * loader/loader.cpp:
3860         * loader/loader.h:
3861         * loader/mac/LoaderFunctionsMac.mm:
3862         * page/Frame.cpp:
3863         * page/FrameView.cpp:
3864         * platform/gdk/TemporaryLinkStubs.cpp:
3865         * platform/mac/ClipboardMac.h:
3866         * platform/win/TemporaryLinkStubs.cpp:
3867         * rendering/RenderBox.h:
3868         * rendering/RenderContainer.cpp:
3869         * rendering/RenderImage.cpp:
3870         * rendering/RenderImage.h:
3871         * rendering/RenderLayer.h:
3872         * rendering/RenderObject.cpp:
3873         * rendering/RenderObject.h:
3874         * rendering/RenderStyle.cpp:
3875         * rendering/RenderStyle.h:
3876         * xml/XSLImportRule.h:
3877         Did renaming.
3878
3879         * platform/mac/can-convert.mm: Removed.
3880
3881 2006-07-09  Anders Carlsson  <acarlsson@apple.com>
3882
3883         Reviewed by Tim O.
3884
3885         * WebCore.exp:
3886         Add wkPathFromFont.
3887         
3888         * platform/mac/FontDataMac.mm:
3889         (-[NSFont WebCore]):
3890         Use wkPathFromFont.
3891         
3892         * platform/mac/WebCoreSystemInterface.h:
3893         * platform/mac/WebCoreSystemInterface.mm:
3894         Declare wkPathFromFont.
3895
3896 2006-07-09  Brady Eidson  <beidson@apple.com>
3897
3898         Reviewed by Maciej
3899
3900         Set the stage to remove the workaround for the SQLite BLOB corruption.  A few other small cleanups, and
3901         preparation for pruning unreferenced and unretained icons.
3902
3903         * icon/IconDatabase.cpp:
3904         (WebCore::IconDatabase::recreateDatabase):  Added another trigger to assist in icon removal
3905         (WebCore::IconDatabase::deletePrivateTables):  Cleaned up logging messages
3906         (WebCore::IconDatabase::imageDataForIconID):  #ifdefed the blobbing hack for impending removal, use the real blob by default
3907         (WebCore::IconDatabase::imageDataForIconURL):  same
3908         (WebCore::IconDatabase::imageDataForPageURL):  same
3909         (WebCore::IconDatabase::pruneUnreferencedIcons):  Will delete any icons and their data that are not referenced
3910           by any PageURL
3911         * icon/IconDatabase.h:
3912
3913         * icon/SQLDatabase.h:  Changed BlobAsVector to be unsigned char as thats the most reasonable type for
3914           a byte-buffer, and is what CFData expects
3915         * icon/SQLStatement.cpp:
3916         (WebCore::SQLStatement::getColumnBlobAsVector):
3917
3918 2006-07-09  Darin Adler  <darin@apple.com>
3919
3920         - move all but the last 12 files out of kwq directory
3921         - removed a few unused source files I discovered
3922
3923         * WebCore.vcproj/WebCore/WebCore.vcproj: Update for new file locations.
3924         * WebCore.xcodeproj/project.pbxproj: Ditto.
3925
3926         * bridge/mac/FrameMac.mm:
3927         * dom/Element.h:
3928         * html/HTMLImageLoader.cpp:
3929         * loader/Cache.cpp:
3930         * loader/Cache.h:
3931         * loader/CachedCSSStyleSheet.cpp:
3932         * loader/CachedCSSStyleSheet.h:
3933         * loader/CachedImage.cpp:
3934         * loader/CachedImage.h:
3935         * loader/CachedObject.h:
3936         * loader/CachedScript.cpp:
3937         * loader/CachedScript.h:
3938         * loader/CachedXBLDocument.cpp:
3939         * loader/CachedXBLDocument.h:
3940         * loader/CachedXSLStyleSheet.cpp:
3941         * loader/CachedXSLStyleSheet.h:
3942         * loader/DocLoader.cpp:
3943         * loader/DocLoader.h:
3944         * page/Frame.cpp:
3945         * page/Frame.h:
3946         * page/FramePrivate.h:
3947         * platform/gdk/TemporaryLinkStubs.cpp:
3948         * platform/win/TemporaryLinkStubs.cpp:
3949         * rendering/DeprecatedSlider.cpp:
3950         * rendering/RenderObject.h:
3951         * xml/xmlhttprequest.cpp:
3952         Updated includes as needed for file location changes. Changed
3953         CachePolicy uses to match new filename and enum names.
3954
3955         * loader/CachedResource.cpp: Removed.
3956         * loader/CachedResource.h: Removed.
3957         * loader/CachedResourceClient.h: Removed.
3958         * loader/CachedResourceClientWalker.cpp: Removed.
3959         * loader/CachedResourceClientWalker.h: Removed.
3960         The above files were checked in by accident a while back. The rename of
3961         CachedObject to CachedResource is now reflected in do-webcore-rename,
3962         and will be done soon.
3963
3964         * kwq/AffineTransform.cpp: Removed.
3965         * kwq/AffineTransform.h: Removed.
3966         * kwq/CacheControl.h: Removed.
3967         * kwq/DeprecatedPtrQueue.h: Removed.
3968         * kwq/FileButton.h: Removed.
3969         * kwq/FileButton.mm: Removed.
3970         * kwq/ListBox.h: Removed.
3971         * kwq/ListBox.mm: Removed.
3972         * kwq/LoaderFunctions.h: Removed.
3973         * kwq/LoaderFunctions.mm: Removed.
3974         * kwq/PopUpButton.h: Removed.
3975         * kwq/PopUpButton.mm: Removed.
3976         * kwq/SSLKeyGenerator.h: Removed.
3977         * kwq/SSLKeyGenerator.mm: Removed.
3978         * kwq/Settings.h: Removed.
3979         * kwq/TextBox.h: Removed.
3980         * kwq/TextBox.mm: Removed.
3981         * kwq/TextField.h: Removed.
3982         * kwq/TextField.mm: Removed.
3983         * kwq/WebCoreScrollBar.h: Removed.
3984         * kwq/WebCoreScrollBar.mm: Removed.
3985         * kwq/WebCoreSlider.h: Removed.
3986         * kwq/WebCoreSlider.mm: Removed.
3987
3988         * loader/CachePolicy.h: Added.
3989         * loader/LoaderFunctions.h: Added.
3990
3991         * loader/mac/LoaderFunctionsMac.mm: Added.
3992
3993         * page/Settings.h: Added.
3994
3995         * platform/AffineTransform.cpp: Added.
3996         * platform/AffineTransform.h: Added.
3997         * platform/DeprecatedPtrQueue.h: Added.
3998         * platform/FileButton.h: Added.
3999         * platform/ListBox.h: Added.
4000         * platform/PopUpButton.h: Added.
4001         * platform/SSLKeyGenerator.h: Added.
4002         * platform/ScrollBar.h: Added.
4003         * platform/Slider.h: Added.
4004         * platform/TextBox.h: Added.
4005         * platform/TextField.h: Added.
4006
4007         * platform/cg/AffineTransformCG.cpp: Added.
4008
4009         * platform/mac/FileButtonMac.mm: Added.
4010         * platform/mac/ListBoxMac.mm: Added.
4011         * platform/mac/PopUpButtonMac.mm: Added.
4012         * platform/mac/SSLKeyGeneratorMac.mm: Added.
4013         * platform/mac/ScrollBarMac.mm: Added.
4014         * platform/mac/ScrollBarMac.mm: Added.
4015         * platform/mac/SliderMac.mm: Added.
4016         * platform/mac/SliderMac.mm: Added.
4017         * platform/mac/TextBoxMac.mm: Added.
4018         * platform/mac/TextFieldMac.mm: Added.
4019
4020 2006-07-09  Darin Adler  <darin@apple.com>
4021
4022         - move 4 files out of kwq directory
4023         - make some minor project adjustments for the WebCore project
4024
4025         * WebCore.xcodeproj/project.pbxproj: Link libsqlite3 the same way we do other
4026         libraries, rather than using a custom linker option. Moved the files from their
4027         old locations to the new ones. Removed "khtml" from the list of header search
4028         paths since that directory doesn't exist any more. Eliminated STYLE_LDFLAGS
4029         and just put -umbrella WebKit in OTHER_LDFLAGS in the Production configuration
4030         (was a leftover from "build styles" in Xcode 1). Changed to use EXPORTED_SYMBOLS_FILE
4031         instead of using -exported_symbols_list directly again now that Xcode has fixed the
4032         "strip twice" bug. Removed unneeded explicit SECTORDER_FLAGS = "" settings.
4033         Removed the explicit -Y,3 option now that Xcode does that by default.
4034
4035         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed some obsolete uneeded files,
4036         many of which didn't exist any more. Moved the files from their old locations
4037         to the new ones.
4038
4039         * WebCoreSources.bkl: Moved the files from their old locations to the new ones.
4040
4041         * kwq/DeprecatedCString.cpp: Removed.
4042         * kwq/DeprecatedCString.h: Removed.
4043         * kwq/TextStream.cpp: Removed.
4044         * kwq/TextStream.h: Removed.
4045         * platform/DeprecatedCString.cpp: Added.
4046         * platform/DeprecatedCString.h: Added.
4047         * platform/TextStream.cpp: Added.
4048         * platform/TextStream.h: Added.
4049
4050 2006-07-09  Darin Adler  <darin@apple.com>
4051
4052         Rubber stamped by Maciej (kinda).
4053
4054         - did the next pass of renaming (used do-webcore-rename script)
4055           this takes care of most of the remaining KWQ names (almost all)
4056
4057         * WebCore+SVG/DOMList.h:
4058         * WebCore.vcproj/WebCore/WebCore.vcproj:
4059         * WebCore.xcodeproj/project.pbxproj:
4060         * WebCoreSources.bkl:
4061         * bindings/js/kjs_dom.cpp:
4062         * bindings/js/kjs_window.cpp:
4063         * bindings/objc/DOMHTML.mm:
4064         * bridge/mac/FrameMac.h:
4065         * bridge/mac/FrameMac.mm:
4066         * bridge/mac/WebCoreFrameBridge.mm:
4067         * bridge/mac/WebCoreSettings.h:
4068         * bridge/mac/WebCoreSettings.mm:
4069         * bridge/win/FrameWin.cpp:
4070         * css/CSSPrimitiveValue.cpp:
4071         * css/CSSValueKeywords.in:
4072         * css/MediaQueryEvaluator.cpp:
4073         * css/cssparser.cpp:
4074         * css/cssstyleselector.cpp:
4075         * css/cssstyleselector.h:
4076         * dom/CharacterData.cpp:
4077         * dom/CharacterData.h:
4078         * dom/Document.cpp:
4079         * dom/Element.cpp:
4080         * dom/Element.h:
4081         * dom/EventTargetNode.cpp:
4082         * dom/EventTargetNode.h:
4083         * dom/Node.cpp:
4084         * dom/Node.h:
4085         * dom/Position.cpp:
4086         * dom/ProcessingInstruction.cpp:
4087         * dom/QualifiedName.cpp:
4088         * dom/QualifiedName.h:
4089         * dom/XMLTokenizer.cpp: Added.
4090         * dom/xml_tokenizer.cpp: Removed.
4091         * dom/xml_tokenizer.h: Removed.
4092         * editing/EditAction.h:
4093         * editing/HTMLInterchange.cpp:
4094         * editing/HTMLInterchange.h:
4095         * editing/Selection.h:
4096         * editing/SelectionController.h:
4097         * editing/TextAffinity.h:
4098         * editing/TextIterator.cpp:
4099         * editing/TextIterator.h:
4100         * editing/VisiblePosition.h:
4101         * editing/htmlediting.cpp:
4102         * editing/markup.cpp:
4103         * editing/markup.h:
4104         * editing/visible_units.cpp:
4105         * editing/visible_units.h:
4106         * html/HTMLDocument.cpp:
4107         * html/HTMLFontElement.cpp:
4108         * html/HTMLInputElement.cpp:
4109         * html/HTMLKeygenElement.cpp:
4110         * html/HTMLSelectElement.h:
4111         * html/HTMLTextAreaElement.cpp:
4112         * html/HTMLTextFieldInnerElement.cpp:
4113         * html/HTMLTokenizer.cpp:
4114         * html/HTMLTokenizer.h:
4115         * kcanvas/KCanvasContainer.cpp: Removed.
4116         * kcanvas/KCanvasContainer.h: Removed.
4117         * kcanvas/KCanvasCreator.cpp:
4118         * kcanvas/KCanvasFilters.cpp:
4119         * kcanvas/KCanvasFilters.h:
4120         * kcanvas/KCanvasMatrix.cpp:
4121         * kcanvas/KCanvasMatrix.h:
4122         * kcanvas/KCanvasPath.cpp:
4123         * kcanvas/KCanvasPath.h:
4124         * kcanvas/KCanvasResources.cpp:
4125         * kcanvas/KCanvasResources.h:
4126         * kcanvas/KCanvasTreeDebug.cpp:
4127         * kcanvas/KCanvasTreeDebug.h:
4128         * kcanvas/RenderForeignObject.cpp:
4129         * kcanvas/RenderForeignObject.h: