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