d36ab30af042c48fca223009dba8bd8f2937b8ce
[WebKit-https.git] / WebCore / ChangeLog
1 2008-07-01  Darin Adler  <darin@apple.com>
2
3         Reviewed by Oliver.
4
5         - slight tweak of the setHash fix
6
7         * bindings/js/JSLocationCustom.cpp:
8         (WebCore::JSLocation::setHash): Use oldRef instead of recomputing url.ref().
9
10 2008-07-01  Dan Bernstein  <mitz@apple.com>
11
12         Reviewed by Anders Carlsson.
13
14         - Mac release build fix
15
16         * page/Console.cpp:
17
18 2008-07-01  Dan Bernstein  <mitz@apple.com>
19
20         Reviewed by Anders Carlsson.
21
22         - fix <rdar://problem/6045896> REGRESSION: Leak in WebCore::StringImpl::create
23
24         * css/CSSPrimitiveValue.cpp:
25         (WebCore::CSSPrimitiveValue::cleanup):
26
27 2008-07-01  Anders Carlsson  <andersca@apple.com>
28
29         Reviewed by Jon.
30
31         Don't add the Mozilla user agent quirk for Flash 10.
32         
33         * plugins/win/PluginPackageWin.cpp:
34         (WebCore::PluginPackage::isPluginBlacklisted):
35         (WebCore::PluginPackage::determineQuirks):
36
37 2008-07-01  David Kilzer  <ddkilzer@apple.com>
38
39         Move data: URL parsing code in HTMLObjectElement to KURL
40
41         Reviewed by Ada and Darin.
42
43         No test cases added since there is no change in behavior.
44
45         * html/HTMLObjectElement.cpp:
46         (WebCore::HTMLObjectElement::isImageType): Extracted data: URL
47         parsing code into WebCore::mimeTypeFromDataURL() in KURL.cpp.
48         * platform/KURL.cpp:
49         (WebCore::mimeTypeFromDataURL): Added.
50         * platform/KURL.h:
51         (WebCore::mimeTypeFromDataURL): Added.
52
53 2008-07-01  Dan Bernstein  <mitz@apple.com>
54
55         Reviewed by Dave Hyatt.
56
57         - fix <rdar://problem/6045890> REGRESSION: Leak in WebCore::CSSParser::createFloatingValueList()
58
59         * css/CSSParser.cpp:
60         (WebCore::CSSParser::addUnresolvedProperty):
61
62 2008-07-01  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
63
64         Reviewed by Brady Eidson.
65
66         Bug 19822: REGRESSION (r30243): setting location.hash to "#" causes a reload
67         <https://bugs.webkit.org/show_bug.cgi?id=19822>
68
69         Change JSLocation::setHash() to not schedule navigation in the case
70         where the old fragment is the null String and the new fragment is an
71         empty String.
72
73         * bindings/js/JSLocationCustom.cpp:
74         (WebCore::JSLocation::setHash):
75
76 2008-06-30  Anders Carlsson  <andersca@apple.com>
77
78         Reviewed by Adam.
79
80         Add PluginMainThreadScheduler, a singleton which is responsible for scheduling plug-in 
81         callbacks on the main thread. Use this to implement NPN_PluginThreadAsyncCall on Windows.
82         
83         * WebCore.vcproj/WebCore.vcproj:
84         Add PluginMainThreadScheduler.{cpp|h}
85         
86         * plugins/PluginMainThreadScheduler.cpp: Added.
87         * plugins/PluginMainThreadScheduler.h: Added.
88
89         * plugins/PluginView.cpp:
90         (WebCore::PluginView::start):
91         Register with the thread scheduler.
92         
93         * plugins/npapi.cpp:
94         (NPN_PluginThreadAsyncCall):
95         Call the thread scheduler.
96         
97         * plugins/win/PluginPackageWin.cpp:
98         (WebCore::PluginPackage::load):
99         Initialize the NPN_PluginThreadAsyncCall callback.
100         
101         * plugins/win/PluginViewWin.cpp:
102         (WebCore::PluginView::stop):
103         Unregister with the scheduler. This makes sure that we won't try to deliver callbacks
104         after the plug-in has been destroyed.
105
106 2008-07-01  Adam Roben  <aroben@apple.com>
107
108         Roll out r34913, as it broke the Windows build due to bad casting
109
110         r34913 introduced code that assigned pointers-to-member from a derived
111         class into a base class pointer-to-member type (e.g., assigned a void
112         (SVGUseElement::*)() into a void (SVGElement::*)()). This is bad
113         because it could allow us to call SVGUseElement member functions on a
114         different SVGElement-derived class. MSVC rightly flagged this as an
115         error.
116
117         Rubberstamped by Anders Carlsson.
118
119 2008-07-01  Darin Adler  <darin@apple.com>
120
121         - fix build
122
123         * bindings/scripts/CodeGeneratorJS.pm: Fix warnings that indicate this was
124         not working propertly.
125
126 2008-07-01  Dan Bernstein  <mitz@apple.com>
127
128         Reviewed by Darin Adler.
129
130         - fix <rdar://problem/6045893> REGRESSION: Leak in WebCore::HTMLCanvasElement::createPlatformImage() const
131
132         * html/CanvasRenderingContext2D.cpp:
133         (WebCore::CanvasRenderingContext2D::createPattern):
134
135 2008-07-01  Sam Weinig  <sam@webkit.org>
136
137         Reviewed by Darin Adler.
138
139         Split JSCell and JSNumberCell class declarations out of JSValue.h
140
141         * ForwardingHeaders/kjs/JSNumberCell.h: Added.
142         * bindings/scripts/CodeGeneratorJS.pm:
143         * bridge/c/c_instance.cpp:
144
145 2008-07-01  chris fleizach  <cfleizach@apple.com>
146
147         Reviewed by Beth Dakin
148
149         <rdar://problem/6041580> REGRESSION: AX: AXSize of radio buttons is 0,0
150
151         Test: accessibility/radio-button-checkbox-size.html
152
153         * page/AccessibilityRenderObject.cpp:
154         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
155
156 2008-07-01  Dan Bernstein  <mitz@apple.com>
157
158         Reviewed by Antti Koivisto.
159
160         - fix SVG pointer-events layout test failures
161
162         * css/SVGCSSParser.cpp:
163         (WebCore::CSSParser::parseSVGValue):
164
165 2008-07-01  Nikolas Zimmermann  <zimmermann@kde.org>
166
167         Reviewed by Antti.
168
169         Fixes: https://bugs.webkit.org/show_bug.cgi?id=19841
170         Fix two small problems in the gradient & pattern code.
171
172         Added 12 new layout tests: svg/dynamic-updates/SVGLinearGradientElement*.html
173
174         * svg/SVGLinearGradientElement.cpp:
175         (WebCore::SVGLinearGradientElement::collectGradientProperties): Compare against already computed bounding box information, instead of querying attributes.
176         * svg/SVGPatternElement.cpp:
177         (WebCore::SVGPatternElement::collectPatternProperties): Ditto.
178         * svg/SVGRadialGradientElement.cpp:
179         (WebCore::SVGRadialGradientElement::collectGradientProperties): Ditto.
180         (WebCore::SVGRadialGradientElement::svgAttributeChanged): 'fxAttr' updating wasn't handled. Copy'n'paste error.
181
182 2008-07-01  Simon Hausmann  <hausmann@webkit.org>
183
184         Fix the build, include SVGTransformList.h instead of
185         SVGTransformlist.h
186
187         * svg/SVGGradientElement.h:
188
189 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
190
191         Reviewed by Antti.
192
193         <rdar://problem/6033080> REGRESSION: Some CH characters display as garbage on webpage for
194         the first time.
195
196         Test: fast/encoding/preload-encoding.html
197
198         * html/PreloadScanner.cpp:
199         (WebCore::PreloadScanner::tokenize): Reset charset when entering a tag, not just when
200         starting a load.
201
202 2008-07-01  Nikolas Zimmermann  <zimmermann@kde.org>
203
204         Reviewed by Antti & Eric.
205
206         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
207
208         SVG Errata states: "All SVG DOM objects that directly correspond to an
209         attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
210         means that any changes made to the attribute are immediately reflected in the
211         corresponding SVG DOM object." (see linked URL on bug report)
212
213         Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
214         element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
215
216         Add a new synchronization layer to handle SVG DOM -> XML changes.
217
218         Global macro change #1: ANIMATED_PROPERTY_FORWARD_DECLARATIONS contains the class name where it's defined as first parameter.
219         Global macro change #2: Add ANIMATED_PROPERTY_START_DECLARATIONS to all direct base-classes.
220         Global macro change #3: Rename ANIMATED_PROPERTY_DEFINITIONS to ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED for refcounted types (ie. SVGTransformList*).
221
222         Added test: svg/custom/svg-xml-dom-sync.html
223         Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
224
225         * dom/Element.cpp:
226         (WebCore::Element::Element): Initialize the two new bits.
227         (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
228         (WebCore::Element::getAttribute): Ditto.
229         (WebCore::Element::hasAttributes): Ditto.
230         * dom/Element.h: Add two bits: m_synchronizedSVGAttributes/m_synchronizingSVGAttribute, to track synchronization status.
231         (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
232         * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
233         * svg/SVGAElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
234         (WebCore::SVGAElement::contextElement): Return non-const value.
235         * svg/SVGAltGlyphElement.h:
236         (WebCore::SVGAltGlyphElement::contextElement): Ditto.
237         * svg/SVGAnimateElement.h:
238         (WebCore::SVGAnimateElement::contextElement): Ditto.
239         * svg/SVGAnimateMotionElement.h:
240         (WebCore::SVGAnimateMotionElement::contextElement): Ditto.
241         * svg/SVGAnimateTransformElement.h:
242         (WebCore::SVGAnimateTransformElement::contextElement): Ditto.
243         * svg/SVGAnimatedTemplate.h: Add toString() conversion to all SVGAnimated* classes
244         (WebCore::SVGAnimatedTemplate::toString):
245         (WebCore::SVGAnimatedTemplate::associatedAttributeName):
246         (WebCore::lookupOrCreateWrapper):
247         (WebCore::SVGAnimatedAngle::SVGAnimatedAngle): 
248         (WebCore::SVGAnimatedAngle::toString):
249         (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
250         (WebCore::SVGAnimatedBoolean::toString):
251         (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
252         (WebCore::SVGAnimatedEnumeration::toString):
253         (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
254         (WebCore::SVGAnimatedInteger::toString):
255         (WebCore::SVGAnimatedLength::SVGAnimatedLength):
256         (WebCore::SVGAnimatedLength::toString):
257         (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
258         (WebCore::SVGAnimatedLengthList::toString):
259         (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
260         (WebCore::SVGAnimatedNumber::toString):
261         (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
262         (WebCore::SVGAnimatedNumberList::toString):
263         (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
264         (WebCore::SVGAnimatedPreserveAspectRatio::toString):
265         (WebCore::SVGAnimatedRect::SVGAnimatedRect):
266         (WebCore::SVGAnimatedRect::toString):
267         (WebCore::SVGAnimatedString::SVGAnimatedString):
268         (WebCore::SVGAnimatedString::toString):
269         (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
270         (WebCore::SVGAnimatedTransformList::toString):
271         (WebCore::SVGAnimatedType::SVGAnimatedType):
272         * svg/SVGAnimationElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
273         * svg/SVGCircleElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
274         (WebCore::SVGCircleElement::contextElement): Return non-const value.
275         * svg/SVGClipPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
276         (WebCore::SVGClipPathElement::contextElement): Return non-const value.
277         * svg/SVGComponentTransferFunctionElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
278         * svg/SVGComponentTransferFunctionElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this class is a base class.
279         * svg/SVGCursorElement.cpp: Wrap SVGLength objects in SVGLength() statements.
280         (WebCore::SVGCursorElement::SVGCursorElement):
281         * svg/SVGCursorElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. Add ANIMATED_PROPERTY_START_DECLARATIONS.
282         (WebCore::SVGCursorElement::contextElement): Return non-const value.
283         * svg/SVGDefsElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
284         (WebCore::SVGDefsElement::contextElement): Return non-const value.
285         * svg/SVGElement.cpp:
286         (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
287         (WebCore::SVGElement::setSynchronizedSVGAttributes):
288         * svg/SVGElement.h: Add helper class "StoredTypeWithDirtyFlag".
289         (StoredTypeWithDirtyFlag::StoredTypeWithDirtyFlag): Tracks a type and a flag indicating that SVG<->XML DOM synchronization has to be done.
290         (StoredTypeWithDirtyFlag::operator=):
291         (StoredTypeWithDirtyFlag::operator==):
292         (StoredTypeWithDirtyFlag::operator!=):
293         (StoredTypeWithDirtyFlag::operator StoredType):
294         (WebCore::SVGElement::invokeSVGPropertySynchronizer): New set of functions taking care of invoking the update handlers.
295         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): Ditto.
296         (WebCore::SVGElement::addSVGPropertySynchronizer): Ditto.
297         * svg/SVGEllipseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
298         (WebCore::SVGEllipseElement::SVGEllipseElement):
299         * svg/SVGEllipseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
300         (WebCore::SVGEllipseElement::contextElement): Return non-const value.
301         * svg/SVGExternalResourcesRequired.h: Change contextElement() to return a non-const value.
302         * svg/SVGFEBlendElement.h:
303         (WebCore::SVGFEBlendElement::contextElement): Return non-const value.
304         * svg/SVGFEColorMatrixElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
305         * svg/SVGFEColorMatrixElement.h:
306         (WebCore::SVGFEColorMatrixElement::contextElement): Return non-const value.
307         * svg/SVGFEComponentTransferElement.h:
308         (WebCore::SVGFEComponentTransferElement::contextElement): Return non-const value.
309         * svg/SVGFECompositeElement.h:
310         (WebCore::SVGFECompositeElement::contextElement): Return non-const value.
311         * svg/SVGFEDiffuseLightingElement.h:
312         (WebCore::SVGFEDiffuseLightingElement::contextElement): Return non-const value.
313         * svg/SVGFEDisplacementMapElement.h:
314         (WebCore::SVGFEDisplacementMapElement::contextElement): Return non-const value.
315         * svg/SVGFEFloodElement.h:
316         (WebCore::SVGFEFloodElement::contextElement): Return non-const value.
317         * svg/SVGFEGaussianBlurElement.h:
318         (WebCore::SVGFEGaussianBlurElement::contextElement): Return non-const value.
319         * svg/SVGFEImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
320         * svg/SVGFEImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
321         (WebCore::SVGFEImageElement::contextElement): Return non-const value.
322         * svg/SVGFELightElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
323         * svg/SVGFEMergeElement.h:
324         (WebCore::SVGFEMergeElement::contextElement): Return non-const value.
325         * svg/SVGFEMergeNodeElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
326         (WebCore::SVGFEMergeNodeElement::contextElement): Return non-const value.
327         * svg/SVGFEOffsetElement.h:
328         (WebCore::SVGFEOffsetElement::contextElement): Return non-const value.
329         * svg/SVGFESpecularLightingElement.h:
330         (WebCore::SVGFESpecularLightingElement::contextElement): Return non-const value.
331         * svg/SVGFETileElement.h:
332         (WebCore::SVGFETileElement::contextElement): Return non-const value.
333         * svg/SVGFETurbulenceElement.h:
334         (WebCore::SVGFETurbulenceElement::contextElement): Return non-const value.
335         * svg/SVGFilterElement.cpp: Wrap SVGLength objects in SVGLength() statements.
336         (WebCore::SVGFilterElement::SVGFilterElement):
337         * svg/SVGFilterElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
338         (WebCore::SVGFilterElement::contextElement): Return non-const value.
339         * svg/SVGFilterPrimitiveStandardAttributes.cpp: Wrap SVGLength objects in SVGLength() statements.
340         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
341         * svg/SVGFilterPrimitiveStandardAttributes.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
342         (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): Return non-const value.
343         * svg/SVGFitToViewBox.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
344         * svg/SVGFitToViewBox.h: Change contextElement() to return a non-const value.
345         * svg/SVGFontElement.h:
346         (WebCore::SVGFontElement::contextElement): Return non-const value.
347         * svg/SVGForeignObjectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
348         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
349         * svg/SVGForeignObjectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
350         (WebCore::SVGForeignObjectElement::contextElement): Return non-const value.
351         * svg/SVGGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
352         (WebCore::SVGGElement::contextElement): Return non-const value.
353         * svg/SVGGradientElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
354         * svg/SVGGradientElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
355         * svg/SVGImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
356         (WebCore::SVGImageElement::SVGImageElement):
357         * svg/SVGImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
358         (WebCore::SVGImageElement::contextElement): Return non-const value.
359         * svg/SVGLengthList.cpp:
360         (WebCore::SVGLengthList::valueAsString): Add new function converting SVG values to strings.
361         * svg/SVGLengthList.h:
362         * svg/SVGLineElement.cpp: Wrap SVGLength objects in SVGLength() statements.
363         (WebCore::SVGLineElement::SVGLineElement):
364         * svg/SVGLineElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
365         (WebCore::SVGLineElement::contextElement): Return non-const value.
366         * svg/SVGLinearGradientElement.cpp:
367         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): Wrap SVGLength objects in SVGLength() statements.
368         (WebCore::SVGLinearGradientElement::collectGradientProperties):
369         * svg/SVGLinearGradientElement.h:
370         (WebCore::SVGLinearGradientElement::contextElement): Return non-const value.
371         * svg/SVGMPathElement.h:
372         (WebCore::SVGMPathElement::contextElement): Return non-const value.
373         * svg/SVGMarkerElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
374         (WebCore::SVGMarkerElement::SVGMarkerElement):
375         * svg/SVGMarkerElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
376         (WebCore::SVGMarkerElement::contextElement): Return non-const value.
377         * svg/SVGMaskElement.cpp: Wrap SVGLength objects in SVGLength() statements.
378         (WebCore::SVGMaskElement::SVGMaskElement):
379         * svg/SVGMaskElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
380         (WebCore::SVGMaskElement::contextElement): Return non-const value.
381         * svg/SVGNumberList.cpp:
382         (WebCore::SVGNumberList::valueAsString): Add new function converting SVG values to strings.
383         * svg/SVGNumberList.h:
384         * svg/SVGPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
385         (WebCore::SVGPathElement::contextElement): Return non-const value.
386         * svg/SVGPatternElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
387         (WebCore::SVGPatternElement::SVGPatternElement):
388         (WebCore::SVGPatternElement::collectPatternProperties):
389         * svg/SVGPatternElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
390         (WebCore::SVGPatternElement::contextElement): Return non-const value.
391         * svg/SVGPolyElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
392         (WebCore::SVGPolyElement::contextElement): Return non-const value.
393         * svg/SVGPreserveAspectRatio.cpp:
394         (WebCore::SVGPreserveAspectRatio::valueAsString): Add new function converting SVG values to strings.
395         * svg/SVGPreserveAspectRatio.h:
396         * svg/SVGRadialGradientElement.cpp: Wrap SVGLength objects in SVGLength() statements.
397         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
398         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
399         (WebCore::SVGRadialGradientElement::collectGradientProperties):
400         * svg/SVGRadialGradientElement.h:
401         (WebCore::SVGRadialGradientElement::contextElement): Return non-const value.
402         * svg/SVGRectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
403         (WebCore::SVGRectElement::SVGRectElement):
404         * svg/SVGRectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
405         (WebCore::SVGRectElement::contextElement): Return non-const value.
406         * svg/SVGSVGElement.cpp: Wrap SVGLength objects in SVGLength() statements.
407         (WebCore::SVGSVGElement::SVGSVGElement):
408         (WebCore::SVGSVGElement::currentView): Pass non-const SVGSVGElement* object to SVGViewSpec.
409         * svg/SVGSVGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
410         (WebCore::SVGSVGElement::contextElement): Return non-const value.
411         * svg/SVGScriptElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
412         (WebCore::SVGScriptElement::contextElement): Return non-const value.
413         * svg/SVGStyledElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
414         * svg/SVGStyledTransformableElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
415         * svg/SVGStyledTransformableElement.h:
416         * svg/SVGSwitchElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
417         (WebCore::SVGSwitchElement::contextElement): Return non-const value.
418         * svg/SVGSymbolElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
419         (WebCore::SVGSymbolElement::contextElement): Return non-const value.
420         * svg/SVGTRefElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
421         (WebCore::SVGTRefElement::contextElement): Return non-const value.
422         * svg/SVGTSpanElement.h:
423         (WebCore::SVGTSpanElement::contextElement): Return non-const value.
424         * svg/SVGTextContentElement.cpp: Wrap SVGLength objects in SVGLength() statements.
425         (WebCore::SVGTextContentElement::SVGTextContentElement):
426         * svg/SVGTextContentElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
427         * svg/SVGTextElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
428         * svg/SVGTextElement.h:
429         (WebCore::SVGTextElement::contextElement): Return non-const value.
430         * svg/SVGTextPathElement.cpp: Wrap SVGLength objects in SVGLength() statements.
431         (WebCore::SVGTextPathElement::SVGTextPathElement):
432         * svg/SVGTextPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
433         (WebCore::SVGTextPathElement::contextElement): Return non-const value.
434         * svg/SVGTextPositioningElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
435         * svg/SVGTextPositioningElement.h:
436         * svg/SVGTransformList.cpp:
437         (SVGTransformList::valueAsString): Add new function converting SVG values to strings.
438         * svg/SVGTransformList.h:
439         * svg/SVGURIReference.h: Change contextElement() to return a non-const value.
440         * svg/SVGUseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
441         (WebCore::SVGUseElement::SVGUseElement):
442         * svg/SVGUseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
443         (WebCore::SVGUseElement::contextElement): Return non-const value.
444         * svg/SVGViewElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
445         (WebCore::SVGViewElement::contextElement): Return non-const value.
446         * svg/SVGViewSpec.cpp:
447         (WebCore::SVGViewSpec::SVGViewSpec): Pass non-const context element in constructor.
448         (WebCore::SVGViewSpec::contextElement): Return non-const value.
449         * svg/SVGViewSpec.h:
450
451 2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
452
453         Reviewed by Nikolas Zimmermann.
454
455         Class name changes for SVG Light Effect files. The class names that changed :
456
457         SVGLightSource -> LightSource
458         SVGDistantLightSource -> DistantLightSource
459         SVGPointLightSource -> PointLightSource
460         SVGSpotLightSource -> SpotLightSource
461
462         Every other file that is changed is just propagating the class name changes to
463         dependent files.
464
465         * svg/SVGFEDiffuseLightingElement.cpp:
466         (WebCore::SVGFEDiffuseLightingElement::updateLights):
467         * svg/SVGFEDistantLightElement.cpp:
468         (WebCore::SVGFEDistantLightElement::lightSource):
469         * svg/SVGFEDistantLightElement.h:
470         * svg/SVGFELightElement.h:
471         * svg/SVGFEPointLightElement.cpp:
472         (WebCore::SVGFEPointLightElement::lightSource):
473         * svg/SVGFEPointLightElement.h:
474         * svg/SVGFESpecularLightingElement.cpp:
475         (WebCore::SVGFESpecularLightingElement::updateLights):
476         * svg/SVGFESpotLightElement.cpp:
477         (WebCore::SVGFESpotLightElement::lightSource):
478         * svg/SVGFESpotLightElement.h:
479         * svg/graphics/filters/SVGDistantLightSource.h:
480         (WebCore::DistantLightSource::DistantLightSource):
481         (WebCore::DistantLightSource::azimuth):
482         (WebCore::DistantLightSource::elevation):
483         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
484         (WebCore::SVGFEDiffuseLighting::lightSource):
485         (WebCore::SVGFEDiffuseLighting::setLightSource):
486         * svg/graphics/filters/SVGFEDiffuseLighting.h:
487         * svg/graphics/filters/SVGFESpecularLighting.cpp:
488         (WebCore::SVGFESpecularLighting::lightSource):
489         (WebCore::SVGFESpecularLighting::setLightSource):
490         * svg/graphics/filters/SVGFESpecularLighting.h:
491         * svg/graphics/filters/SVGLightSource.cpp:
492         (WebCore::PointLightSource::externalRepresentation):
493         (WebCore::SpotLightSource::externalRepresentation):
494         (WebCore::DistantLightSource::externalRepresentation):
495         * svg/graphics/filters/SVGLightSource.h:
496         (WebCore::):
497         (WebCore::LightSource::LightSource):
498         (WebCore::LightSource::~LightSource):
499         (WebCore::LightSource::type):
500         * svg/graphics/filters/SVGPointLightSource.h:
501         (WebCore::PointLightSource::PointLightSource):
502         (WebCore::PointLightSource::position):
503         * svg/graphics/filters/SVGSpotLightSource.h:
504         (WebCore::SpotLightSource::SpotLightSource):
505         (WebCore::SpotLightSource::position):
506         (WebCore::SpotLightSource::direction):
507         (WebCore::SpotLightSource::specularExponent):
508         (WebCore::SpotLightSource::limitingConeAngle):
509         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
510         (WebCore::SVGFEDiffuseLighting::getCIFilter):
511         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
512         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
513         (WebCore::getLightVectors):
514         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
515         (WebCore::SVGFESpecularLighting::getCIFilter):
516
517 2008-07-01  Alp Toker  <alp@nuanti.com>
518
519         Rubber-stamped by Holger.
520
521         autotools cleanup: move some GTK+-specific sources from libwebcore to
522         libwebcoregtk.
523
524         * GNUmakefile.am:
525
526 2008-07-01  Dan Bernstein  <mitz@apple.com>
527
528         Reviewed by Oliver Hunt.
529
530         - fix the non-SVG build
531
532         * css/CSSValueKeywords.in: Added 'all'.
533         * css/SVGCSSValueKeywords.in: Removed 'all'.
534
535 2008-07-01  Simon Hausmann  <hausmann@webkit.org>
536
537         Build fix, include DateInstance.h.
538
539         * bridge/qt/qt_runtime.cpp:
540
541 2008-06-30  Adele Peterson  <adele@apple.com>
542
543         Reviewed by Oliver.
544
545         Fix for <rdar://problem/5882050> clicking in hidden close box area of empty searchfield causes mousedown to stop firing
546
547         Test: fast/forms/search-hidden-cancel-button.html
548
549         * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
550           Don't start capturing mouse events if the cancel button isn't visible.  This was causing the button to start but never stop capturing mouse events.
551
552 2008-06-30  Sam Weinig  <sam@webkit.org>
553
554         Rubber-stamped by Darin Adler.
555
556         Split InternalFunction into its own header file.
557
558         * ForwardingHeaders/kjs/InternalFunction.h: Added.
559         * bridge/runtime_method.h:
560
561 2008-06-30  Adele Peterson  <adele@apple.com>
562
563         Reviewed by Anders.
564
565         Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
566
567         Test: editing/selection/select-all-textarea.html
568
569         * dom/Node.cpp:
570         (WebCore::Node::shadowAncestorNode): Break out code to find the root of the shadow tree into a new helper function.
571         (WebCore::Node::shadowTreeRootNode): Added helper function.
572         * dom/Node.h:
573         * dom/Range.cpp: (WebCore::Range::shadowTreeRootNode): Added helper function.
574         * dom/Range.h:
575         * editing/Selection.cpp: (WebCore::Selection::shadowTreeRootNode): ditto.
576         * editing/Selection.h:
577         * editing/SelectionController.h: (WebCore::SelectionController::shadowTreeRootNode): ditto.
578         * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll):
579         If the selection is in a shadow tree, only select the contents of that shadow tree, not the whole document.
580         * page/Frame.cpp:
581         (WebCore::Frame::findString): Use the new shadowTreeRootNode helper functions.
582         (WebCore::Frame::markAllMatchesForText): ditto.
583
584 2008-06-30  chris fleizach  <cfleizach@apple.com>
585
586         Reviewed by Beth Dakin
587
588         <rdar://problem/4180780> Add attribute to get all the radio buttons in a set
589
590         * page/AccessibilityObject.cpp:
591         (WebCore::AccessibilityObject::linkedUIElements):
592         * page/AccessibilityObject.h:
593         * page/AccessibilityRenderObject.cpp:
594         (WebCore::AccessibilityRenderObject::internalLinkElement):
595         (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
596         (WebCore::AccessibilityRenderObject::linkedUIElements):
597         * page/AccessibilityRenderObject.h:
598         * page/mac/AccessibilityObjectWrapper.mm:
599         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
600
601 2008-06-30  Dan Bernstein  <mitz@apple.com>
602
603         Reviewed by Adele Peterson.
604
605         - WebCore part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
606
607         * WebCore.base.exp: Removed Editor::setBaseWritingDirection() and added
608         Frame::setSelectionBaseWritingDirection().
609         * page/ContextMenuController.cpp:
610         (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
611         call Frame::setSelectionBaseWritingDirection().
612         * page/Frame.cpp:
613         (WebCore::Frame::setSelectionBaseWritingDirection): Added. If the
614         focused node is a text field or text area, changes its 'dir' attribute.
615         This is what IE does when the user changes the writing direction in a
616         text control. Otherwise, calls down to Editor::setBaseWritingDirection().
617         * page/Frame.h:
618
619 2008-06-30  David Kilzer  <ddkilzer@apple.com>
620
621         Improve HTMLObjectElement data encapsulation
622
623         Reviewed by Dave Hyatt.
624
625         HTMLObjectElement has some public member variables that should be
626         private with accessor methods.
627
628         No test cases added since there is no change in behavior.
629
630         * html/HTMLObjectElement.cpp:
631         (WebCore::HTMLObjectElement::HTMLObjectElement): Reorder
632         initialization of member variables to match defined order in header.
633         * html/HTMLObjectElement.h:
634         (WebCore::HTMLObjectElement::classId): Added.
635         (WebCore::HTMLObjectElement::url): Added.
636         (WebCore::HTMLObjectElement::serviceType): Added.
637         * rendering/RenderPartObject.cpp:
638         (WebCore::RenderPartObject::updateWidget): Use new accessor methods
639         in HTMLObjectElement now that its member variables are private.
640
641 2008-06-30  Dan Bernstein  <mitz@apple.com>
642
643         Reviewed by Anders Carlsson.
644
645         - remove unused member variable
646
647         * page/Page.h: Removed Page::m_focusedNode.
648
649 2008-06-30  Anders Carlsson  <andersca@apple.com>
650
651         Reviewed by Adam.
652
653         <rdar://problem/6014209>
654         Crash when loading manifest from application cache fails
655         
656         There is no need to set any handles to 0 after calling cacheUpdateFailed(), since
657         that is done inside the function. Furthermore, after calling cacheUpdateFailed() the cache
658         group could be deleted causing us to access freed memory and then crashing.
659         
660         * loader/appcache/ApplicationCacheGroup.cpp:
661         (WebCore::ApplicationCacheGroup::didReceiveResponse):
662         (WebCore::ApplicationCacheGroup::didFail):
663         (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
664
665 2008-06-30  Adam Roben  <aroben@apple.com>
666
667         Fix <rdar://5954749> Assertion failure due to HashTable's use of
668         operator&
669
670         Reviewed by Ada Chan.
671
672         * bindings/js/JSSVGPODTypeWrapper.h:
673         * dom/Document.h:
674         * dom/StyledElement.cpp:
675         * platform/graphics/FontCache.cpp:
676         * platform/graphics/IntSizeHash.h:
677         (WTF::):
678         * platform/text/StringHash.h:
679         * platform/win/COMPtr.h:
680         * svg/SVGAnimatedTemplate.h:
681         Updated all custom HashTraits for HashTable changes.
682
683 2008-06-30  Simon Hausmann  <hausmann@webkit.org>
684
685         Fix the Qt build.
686
687         Added missing includes and changed getItem array calls to use get()
688         instead.
689
690         * bridge/qt/qt_runtime.cpp:
691         (KJS::Bindings::convertValueToQVariant):
692
693 2008-06-29  David Smith  <catfish.man@gmail.com>
694
695         Rubberstamped by Sam Weinig.
696
697         Change a redundant node->isElement() check to an ASSERT for a 1.3% speedup on getElementsByTagName.
698
699         * dom/TagNodeList.cpp:
700         (WebCore::TagNodeList::nodeMatches):
701
702 2008-06-29  Dan Bernstein  <mitz@apple.com>
703
704         Reviewed by Darin Adler.
705
706         - fix SVG layout test regressions
707
708         * css/CSSFontSelector.cpp:
709         (WebCore::CSSFontSelector::addFontFaceRule): Made this function work
710         again with primitive values, because the @font-face rules SVG fonts
711         create still use a single primitive value rather than a value list.
712
713 2008-06-29  Dan Bernstein  <mitz@apple.com>
714
715         Reviewed by Sam Weinig.
716
717         - fix <rdar://problem/5734440> Specifying a font-weight for @font-face not working
718
719         Tests: fast/css/font-face-descriptor-multiple-values-parsing.html
720                fast/css/font-face-descriptor-multiple-values.html
721
722         * css/CSSFontSelector.cpp:
723         (WebCore::CSSFontSelector::addFontFaceRule): Changed to work with value
724         lists for the descriptor properties.
725
726         * css/CSSParser.cpp:
727         (WebCore::CSSParser::CSSParser): Initialize m_hasFontFaceOnlyValues.
728         (WebCore::CSSParser::parseValue): Added a call to
729         deleteFontFaceOnlyValues() if necessary.
730         (WebCore::CSSParser::parseDeclaration): Ditto.
731         (WebCore::CSSParser::clearProperties): Added code to reset
732         m_hasFontFaceOnlyValues to false.
733         (WebCore::CSSParser::parseFontStyle): Added. If there is a single
734         valid identifier other than 'all', creates a CSSPrimitiveValue and
735         assigns it to the property. If 'all' is the only value, or if there are
736         multiple valid identifiers that are not 'all', creates a CSSValueList
737         and assigns it to the property, and sets m_hasFontFaceOnlyValues to
738         true.
739         (WebCore::CSSParser::parseFontVariant): Ditto.
740         (WebCore::CSSParser::parseFontWeight): Ditto.
741         (WebCore::CSSParser::createStyleRule): Added a call to
742         deleteFontFaceOnlyValues().
743         (WebCore::CSSParser::createFontFaceRule): Added code to change
744         font descriptor properties that had only one value, and therefore were
745         assigned a CSSPrimitiveValue, into CSSValueLists containing that value.
746         (WebCore::CSSParser::deleteFontFaceOnlyValues): Added. Retroactively
747         invalidates font descriptor properties that had values that are only
748         allowed in @font-face. Those are identified by having CSSValueLists
749         rather than CSSPrimitiveValues as their values.
750         * css/CSSParser.h: Added m_hasFontFaceOnlyValues, a flag that says that
751         font descriptor property values that are only valid in @font-face were
752         encountered. This is used when the style declaration is created (and we
753         finally know if it is @font-face or not) to delete invalid properties
754         if needed.
755
756 2008-06-28  Darin Adler  <darin@apple.com>
757
758         Reviewed by Sam and Cameron.
759
760         - fix https://bugs.webkit.org/show_bug.cgi?id=19805
761           Array.concat turns missing array elements into "undefined"
762
763         * bridge/jni/jni_utility.cpp:
764         (KJS::Bindings::convertArrayInstanceToJavaArray):
765         Use get instead of getItem, since we always want to consider values from the
766         prototypes when looking at JavaScript arrays.
767
768 2008-06-28  Dan Bernstein  <mitz@apple.com>
769
770         Reviewed by Darin Adler.
771
772         - allow document markers to touch or overlap if they are not of the same type
773
774         Cannot be tested in DumpRenderTree
775
776         * dom/Document.cpp:
777         (WebCore::Document::addMarker):
778         * rendering/InlineTextBox.cpp:
779         (WebCore::InlineTextBox::paintDocumentMarkers):
780
781 2008-06-28  Sam Weinig  <sam@webkit.org>
782
783         Rubber-stamped by Darin Adler.
784
785         Update includes after remaming string_object.h to StringObject.h and
786         splitting out StringObjectThatMasqueradesAsUndefined, StringConstructor
787         and StringPrototype.
788
789         * ForwardingHeaders/kjs/StringObject.h: Copied from WebCore/ForwardingHeaders/kjs/string_object.h.
790         * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Added.
791         * ForwardingHeaders/kjs/StringPrototype.h: Added.
792         * ForwardingHeaders/kjs/string_object.h: Removed.
793         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
794
795 2008-06-28  Sam Weinig  <sam@webkit.org>
796
797         Rubber-stamped by Oliver Hunt.
798
799         Update includes after remaming object_object.h to ObjectPrototype.h and
800         splitting FunctionConstructor out of FunctionPrototype.h
801
802         * ForwardingHeaders/kjs/FunctionConstructor.h: Added.
803         * ForwardingHeaders/kjs/ObjectPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/object_object.h.
804         * ForwardingHeaders/kjs/object_object.h: Removed.
805         * bindings/js/JSEventListener.cpp:
806         * bindings/scripts/CodeGeneratorJS.pm:
807         * bridge/qt/qt_instance.cpp:
808
809 2008-06-28  Dan Bernstein  <mitz@apple.com>
810
811         Reviewed by Darin Adler.
812
813         - fix <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded
814
815         * html/HTMLImageLoader.cpp:
816         (WebCore::HTMLImageLoader::updateFromElement): Changed to not load an
817         image if the 'src' attribute is the empty string and the document's base
818         URI is a file: URL.
819
820 2008-06-27  Sam Weinig  <sam@webkit.org>
821
822         Reviewed by Dan Bernstein.
823
824         <rdar://problem/6025499> Make Cross-site XHR match the final specification
825
826         Update the implemented subset of Access-Control for XMLHttpRequest to the 
827         latest version. (Editor's Draft 25 May 2008)
828
829         - Now differentiates between simple and non-simple cross-site requests, the later
830           requiring a preflight.
831         - Now sends request headers cross-site, limited by a blacklist.
832         - Now allows access to cross-site response headers, limited by a whitelist.
833         - Now sends request entity body for non-get cross-site requests after preflight.
834
835         Tests: http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html
836                http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html
837                http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html
838
839         * xml/XMLHttpRequest.cpp:
840         (WebCore::isOnAccessControllRequestHeaderBlackList):
841         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
842         (WebCore::isOnAccessControlResponseHeaderWhitelist):
843         (WebCore::XMLHttpRequest::XMLHttpRequest):
844         (WebCore::XMLHttpRequest::createRequest):
845         (WebCore::XMLHttpRequest::makeSameOriginRequest):
846         (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
847         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
848         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
849         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
850         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
851         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
852         (WebCore::XMLHttpRequest::abort):
853         (WebCore::XMLHttpRequest::clearRequest):
854         (WebCore::XMLHttpRequest::setRequestHeader):
855         (WebCore::XMLHttpRequest::setRequestHeaderInternal):
856         (WebCore::XMLHttpRequest::getAllResponseHeaders):
857         (WebCore::XMLHttpRequest::getResponseHeader):
858         (WebCore::XMLHttpRequest::didFinishLoading):
859         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
860         (WebCore::XMLHttpRequest::didReceiveResponse):
861         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
862         (WebCore::XMLHttpRequest::didReceiveData):
863         * xml/XMLHttpRequest.h:
864
865 2008-06-27  Sam Weinig  <sam@webkit.org>
866
867         Rubber-stamped by Mark Rowe.
868
869         Clean up sorting in WebCore.xcodeproj.
870
871         * WebCore.xcodeproj/project.pbxproj:
872
873 2008-06-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
874
875         Reviewed by Darin Adler.
876
877         Remove unnecessary options to make_names.pl command line
878         http://bugs.webkit.org/show_bug.cgi?id=19777
879
880         * DerivedSources.make:
881         * GNUmakefile.am:
882
883 2008-06-27  Adam Barth  <abarth@webkit.org>
884
885         Reviewed by Darin Adler.
886
887         https://bugs.webkit.org/show_bug.cgi?id=19784
888
889         Properly handle untermianted <!-- comments in <textarea>s.
890
891         Tests: fast/parser/open-comment-in-script-tricky.html
892                fast/parser/open-comment-in-style.html
893                fast/parser/open-comment-in-textarea.html
894
895         * html/HTMLTokenizer.cpp:
896         (WebCore::HTMLTokenizer::finish):
897
898 2008-06-27  Adam Barth  <abarth@webkit.org>
899
900         Reviewed by Darin Alder.
901
902         Fix <https://bugs.webkit.org/show_bug.cgi?id=19784>:
903           Text areas in Wikipedia edit pages are empty, following content is missing
904
905         Don't treat entities as comment starters in parseSpecial.
906
907         Tests: fast/parser/comment-in-iframe.html
908                fast/parser/entity-comment-in-iframe.html
909                fast/parser/entity-comment-in-script-tricky.html
910                fast/parser/entity-comment-in-style.html
911                fast/parser/entity-comment-in-textarea.html
912                fast/parser/entity-comment-in-title.html
913
914         * html/HTMLTokenizer.cpp:
915         (WebCore::HTMLTokenizer::parseSpecial):
916
917 2008-06-27  Antti Koivisto  <antti@apple.com>
918
919         Reviewed by Oliver.
920         
921         <rdar://problem/6030720> 
922         REGRESSION: Discrete animation between incompatible paths does not work
923
924         Fall back to discrete path animation if paths are not suitable for morphing.
925         
926         Test: svg/custom/animate-path-discrete.svg
927         
928         * svg/SVGAnimateElement.cpp:
929         (WebCore::SVGAnimateElement::calculateAnimatedValue):
930
931 2008-06-26  David Smith  <catfish.man@gmail.com>
932
933         Reviewed by Sam Weinig.
934         
935         https://bugs.webkit.org/show_bug.cgi?id=19002
936         
937         Optimize simple id selectors in querySelector/querySelectorAll. 
938         ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.
939
940         * dom/Document.h:
941         (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates
942         * dom/Node.cpp:
943         (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now
944         * dom/SelectorNodeList.cpp:
945         (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now
946
947 2008-06-26  Dan Bernstein  <mitz@apple.com>
948
949         Reviewed by Darin Adler.
950
951         - fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
952           http://bugs.webkit.org/show_bug.cgi?id=7023
953
954         Test: editing/selection/find-in-text-control.html
955
956         * WebCore.base.exp: Updated the TextIterator constructor signature.
957
958         * editing/TextIterator.cpp:
959         (WebCore::TextIterator::TextIterator): Added an enterTextControls
960         boolean parameter that determines whether the iterator should visit text
961         inside text areas and text fields. Added code to initialize the
962         m_inShadowContent member variable based on whether the range is in
963         shadow content.
964         (WebCore::TextIterator::advance): Added code to step out of shadow
965         content.
966         (WebCore::TextIterator::handleReplacedElement): Added code to enter
967         text controls if desired.
968         (WebCore::CharacterIterator::CharacterIterator): Added an
969         enterTextControls boolean parameter that determines whether the iterator
970         should visit text inside text areas and text fields. This is passed to
971         the TextIterator constructor.
972         (WebCore::findPlainText): Changed to use a CharacterIterator that
973         visits text controls.
974
975         * editing/TextIterator.h: Added member variables to track whether the
976         current node is in a shadow tree and whether the iterator should visit
977         text controls.
978
979         * page/Frame.cpp:
980         (WebCore::Frame::findString): Changed to find inside text controls.
981         (WebCore::Frame::markAllMatchesForText): Ditto.
982
983         * rendering/RenderTextControl.cpp:
984         (WebCore::RenderTextControl::innerTextElement): Added.
985         * rendering/RenderTextControl.h: Added innerTextElement(), a private
986         accessor method that is accessible to TextIterator through class
987         friendship.
988
989 2008-06-26  Darin Adler  <darin@apple.com>
990
991         Reviewed by Geoff.
992
993         * bridge/runtime.h: Added include of JSString.h since jsString will soon
994         change to return a JSString*.
995
996 2008-06-26  Adele Peterson  <adele@apple.com>
997
998         Fix suggested by Eric Carlson, added by me, reviewed by Adam.
999
1000         Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files
1001
1002         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
1003         Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:]
1004
1005 2008-06-26  Sam Weinig  <sam@webkit.org>
1006
1007         Reviewed by John Sullivan.
1008
1009         <rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache
1010
1011         * loader/FrameLoader.cpp:
1012         (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the 
1013         DOMWindow when opening a CachedPage.
1014
1015 2008-06-26  Eric Seidel  <eric@webkit.org>
1016
1017         Reviewed by Beth Dakin.
1018
1019         CSS @import statements can cause DocLoader to use
1020         a dead Frame pointer.
1021         https://bugs.webkit.org/show_bug.cgi?id=19618
1022         
1023         The fix is to get rid of the Frame pointer on DocLoader.
1024         
1025         I also took this opportunity to clean up Document::detach
1026         a little to make it clear why we clear the m_frame pointer
1027         there, and to note that in the future we should stop
1028         using Node::detach to mean "tear down the whole rendering
1029         tree and detach from the frame".
1030
1031         Test: I don't know how to make a good test for this, the test
1032         we have is network timing dependent and does not make a good
1033         layout test.
1034
1035         * dom/Document.cpp:
1036         (WebCore::Document::Document):
1037         (WebCore::Document::detach):
1038         (WebCore::Document::clearFramePointer):
1039         * dom/Document.h:
1040         * loader/DocLoader.cpp:
1041         (WebCore::DocLoader::frame):
1042         * loader/DocLoader.h:
1043
1044 2008-06-26  Anders Carlsson  <andersca@apple.com>
1045
1046         Reviewed by Brady.
1047
1048         Don't enumerate document.applets trying to determine if a page contains applets.
1049         Instead, set m_containsPlugIns to true when an applet has been created.
1050         
1051         * loader/FrameLoader.cpp:
1052         (WebCore::FrameLoader::canCachePage):
1053         (WebCore::FrameLoader::createJavaAppletWidget):
1054
1055 2008-06-26  Alexey Proskuryakov  <ap@webkit.org>
1056
1057         Reviewed by Maciej.
1058
1059         Make JSGlobalData per-thread.
1060
1061         * bindings/js/JSDOMBinding.h:
1062         (WebCore::DOMObject::DOMObject):
1063         * bindings/js/JSDOMWindowBase.cpp:
1064         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1065         * bridge/runtime_object.cpp:
1066         (RuntimeObjectImp::RuntimeObjectImp):
1067         Removed collectOnMainThreadOnly() calls. WebCore objects live in their own heap now, so
1068         there is no danger for them to be collected on a wrong thread.
1069
1070 2008-06-26  Holger Hans Peter Freyther  <zecke@selfish.org>
1071
1072         Reviewed by Simon.
1073
1074         [svg] Disable plugins for SVG images
1075         The Qt platform allows to have a plugin factory per Page. Now SVG Images
1076         are using a Page and dummy/empty clients for Chrome. The only way to get
1077         the kit from the WebCore::Page is to go through the ChromeClient but this
1078         is not possible when the ChromeClient is an empty client. This leads to a
1079         crash in PluginDataQt.cpp. One way to avoid this would have been the
1080         addition of a rtti like field to ChromeClient to see if it is an empty
1081         client. The other possibility is to not enable plugins for images.
1082
1083         The SVGImage relies on the fact that the document is a SVGDocument and
1084         that the rootElement is a SVGSVGElement. If plugins are used we could
1085         end up with a PluginDocument and crash badly. Do not try to use plugins
1086         if plugins are disabled for the WebCore::Page.
1087
1088         * dom/DOMImplementation.cpp:
1089         (WebCore::DOMImplementation::createDocument):
1090         * svg/graphics/SVGImage.cpp:
1091         (WebCore::SVGImage::dataChanged):
1092
1093 2008-06-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1094
1095         Reviewed by Simon.
1096
1097         CodingStyle fixes
1098
1099         * platform/graphics/qt/SimpleFontDataQt.cpp:
1100         (WebCore::SimpleFontData::SimpleFontData):
1101
1102 2008-06-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1103
1104         Reviewed by Simon.
1105
1106         [svg] Make QtWebKit build more of the SVG support
1107         Add the proper defines and files, update SVGResourceFilterQt.cpp
1108         to be enabled by the filter option and not by experimental svg support
1109
1110         * WebCore.pro:
1111         * svg/graphics/qt/SVGResourceFilterQt.cpp:
1112         (WebCore::SVGResourceFilter::createPlatformData):
1113         (WebCore::SVGResourceFilter::prepareFilter):
1114
1115 2008-06-25  Sam Weinig  <sam@webkit.org>
1116
1117         Reviewed by Brady Eidson.
1118
1119         Move XMLHttpRequestState enum into XMLHttpRequest and rename to State.
1120
1121         * xml/XMLHttpRequest.cpp:
1122         (WebCore::XMLHttpRequest::readyState):
1123         (WebCore::XMLHttpRequest::changeState):
1124         (WebCore::XMLHttpRequest::open):
1125         * xml/XMLHttpRequest.h:
1126         (WebCore::XMLHttpRequest::create):
1127         (WebCore::XMLHttpRequest::):
1128
1129 2008-06-25  Justin Garcia  <justin.garcia@apple.com>
1130
1131         Reviewed by John.
1132
1133         <rdar://problem/5994480> Line break lost on some pastes
1134         
1135         Merging the the first paragraph of inserted content with the content that came
1136         before the selection that was pasted into would also move content after 
1137         the selection that was pasted into if:
1138         
1139         1) Only one paragraph was being pasted, and it was not wrapped in a block
1140         2) The selection that was pasted into ended at the end of a block
1141         3) The next paragraph didn't start at the start of a block.
1142         
1143         Insert a line break just after the inserted content to separate it from what 
1144         comes after and prevent that from happening.
1145         
1146         Doing this exposed a bug in deletion where it would insert an unnecessary placeholder
1147         when deleting a paragraph that started or ended with an input element.  This was
1148         because its m_startBlock and m_endBlock were still computed with the old deprecated
1149         enclosingBlockFlowOrTableElement().
1150         
1151         * editing/DeleteSelectionCommand.cpp:
1152         (WebCore::DeleteSelectionCommand::initializePositionData): Use the new method for
1153         getting an enclosing block.
1154         (WebCore::DeleteSelectionCommand::doApply): The new method for getting an enclosing
1155         block will return 0 if it reaches the root editable element before finding a block,
1156         so if we're deleting inside an inline editable root, m_start/endBlock will
1157         be 0.  Removed an early return for this case (we already have test coverage for it).
1158         * editing/ReplaceSelectionCommand.cpp:
1159         (WebCore::ReplaceSelectionCommand::doApply): Insert a line break just after the inserted 
1160         content to separate it from what comes after.
1161         * dom/Node.h: Removed enclosingBlockFlowOrTableElement().
1162         * dom/Node.cpp: Ditto.
1163
1164 2008-06-25  Anders Carlsson  <andersca@apple.com>
1165
1166         Reviewed by Dave Hyatt.
1167
1168         Fix refcount leak in CSSVariablesRule.
1169
1170         * css/CSSParser.cpp:
1171         (WebCore::CSSParser::createVariablesRule):
1172         * css/CSSVariablesRule.h:
1173         (WebCore::CSSVariablesRule::create):
1174         (WebCore::CSSVariablesRule::setDeclaration):
1175
1176 2008-06-25  Anders Carlsson  <andersca@apple.com>
1177
1178         Reviewed by Mitz.
1179
1180         <rdar://problem/6007111> 
1181         https://bugs.webkit.org/show_bug.cgi?id=19516
1182         DOM modification causes Access Violation (NULL pointer?)
1183         
1184         Null check the document element.
1185         
1186         * html/HTMLParser.cpp:
1187         (WebCore::HTMLParser::handleError):
1188
1189 2008-06-25  Dan Bernstein  <mitz@apple.com>
1190
1191         Reviewed by Dave Hyatt.
1192
1193         - fix <rdar://problem/5873639> REGRESSION (r31620): css2.1/t1506-c525-font-wt-00-b fails on Windows
1194
1195         - fix https://bugs.webkit.org/show_bug.cgi?id=18863
1196           <rdar://problem/5908890> weight mappings with @font-face aren't consistent
1197
1198         Tests: fast/css/font-face-locally-installed.html
1199                fast/css/font-face-multiple-faces.html
1200
1201         * WebCore.vcproj/WebCore.vcproj: Added FontTraitsMask.h.
1202
1203         * WebCore.xcodeproj/project.pbxproj: Ditto.
1204
1205         * css/CSSFontFace.h:
1206         Made CSSFontFace store descriptors from the @font-face rule, as follows:
1207         (WebCore::CSSFontFace::create): Added a FontTraitsMask argument.
1208         (WebCore::CSSFontFace::traitsMask): Added this accessor.
1209         (WebCore::CSSFontFace::addRange): Added.
1210         (WebCore::CSSFontFace::ranges): Added.
1211         (WebCore::CSSFontFace::UnicodeRange::UnicodeRange):
1212         (WebCore::CSSFontFace::UnicodeRange::from):
1213         (WebCore::CSSFontFace::UnicodeRange::to):
1214         (WebCore::CSSFontFace::CSSFontFace): Added a FontTraitsMask and a vector
1215         of UnicodeRanges as member variables.
1216
1217         * css/CSSFontFaceSource.cpp:
1218         Changed the hash key from the font size alone to the font size and
1219         the synthetic style bits, needed if the same source supplies different
1220         synthesized versions.
1221         (WebCore::CSSFontFaceSource::pruneTable):
1222         (WebCore::CSSFontFaceSource::getFontData):
1223
1224         * css/CSSFontFaceSource.h:
1225
1226         * css/CSSFontSelector.cpp:
1227         (WebCore::CSSFontSelector::~CSSFontSelector): Added code to delete
1228         the contents of the font face, locally-installed font face and segmented
1229         font tables.
1230         (WebCore::CSSFontSelector::addFontFaceRule): Changed this function to
1231         not create segmented font faces, but instead just collect font faces
1232         and annotate them with descriptors (traits and unicode ranges).
1233         (WebCore::compareFontFaces): Added. Used in getFontData() to sort the
1234         font faces by proximity to the desired traits.
1235         (WebCore::CSSFontSelector::getFontData): Changed to create the segmented
1236         font face here and cache it.
1237
1238         * css/CSSFontSelector.h:
1239
1240         * css/CSSSegmentedFontFace.cpp:
1241         Changed to keep a vector of font faces instead of font face ranges, as
1242         font faces now know their Unicode ranges.
1243         (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
1244         (WebCore::CSSSegmentedFontFace::isLoaded):
1245         (WebCore::CSSSegmentedFontFace::isValid):
1246         (WebCore::CSSSegmentedFontFace::appendFontFace):
1247         (WebCore::CSSSegmentedFontFace::getFontData): Removed the synthetic
1248         traits parameters, and instead changed to set them on each FontData
1249         separately based on the difference between the desired traits and
1250         the font face's traits.
1251
1252         * css/CSSSegmentedFontFace.h:
1253
1254         * platform/graphics/FontCache.h:
1255         Removed fontExists() and added getTraitsInFamily().
1256
1257         * platform/graphics/FontDescription.cpp:
1258         (WebCore::FontDescription::traitsMask): Added.
1259
1260         * platform/graphics/FontDescription.h:
1261
1262         * platform/graphics/FontTraitsMask.h: Added.
1263
1264         * platform/graphics/GlyphPageTreeNode.cpp:
1265         (WebCore::GlyphPageTreeNode::initializePage): Changed to fill in with
1266         glyphs from all fonts in the segmented font, using each font in turn to
1267         fill in characters not covered by earlier fonts.
1268
1269         * platform/graphics/gtk/FontCacheGtk.cpp:
1270         (WebCore::FontCache::getTraitsInFamily): Added a stub.
1271
1272         * platform/graphics/mac/FontCacheMac.mm:
1273         (WebCore::FontCache::getTraitsInFamily): Added.
1274
1275         * platform/graphics/qt/FontCacheQt.cpp:
1276         (WebCore::FontCache::getTraitsInFamily): Added a stub.
1277
1278         * platform/graphics/win/FontCacheWin.cpp:
1279         (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Added.
1280         (WebCore::traitsInFamilyEnumProc): Added.
1281         (WebCore::FontCache::getTraitsInFamily): Added.
1282
1283         * platform/graphics/wx/FontCacheWx.cpp:
1284         (WebCore::FontCache::getTraitsInFamily): Added a stub.
1285
1286         * platform/mac/WebFontCache.h:
1287         * platform/mac/WebFontCache.mm:
1288         (toTraitsMask): Added.
1289         (+[WebFontCache getTraits:inFamily:]): Added.
1290
1291 2008-06-24  Anonymous
1292
1293         Reviewed by Darin Adler.  Committed by Adam Barth.
1294
1295         https://bugs.webkit.org/show_bug.cgi?id=19470
1296
1297         Check for a null documentElement() to fix four crashes.
1298
1299         * WebCore/dom/Document.cpp:
1300         * WebCore/dom/Node.cpp:
1301
1302 2008-06-24  Adam Barth  <abarth@webkit.org>
1303
1304         Reviewed by Darin Adler.
1305
1306         Fix <https://bugs.webkit.org/show_bug.cgi?id=19597>
1307
1308         Correctly parse <!-- </textarea> --> inside a <textarea>, matching
1309         Internet Explorer, Firefox, Opera, and HTML 5.
1310
1311         Tests: fast/parser/comment-in-script-tricky.html
1312                fast/parser/comment-in-style.html
1313                fast/parser/comment-in-textarea.html
1314                fast/parser/comment-in-title.html
1315
1316         * html/HTMLTokenizer.cpp:
1317         (WebCore::HTMLTokenizer::parseSpecial):
1318
1319 2008-06-24  Justin Garcia  <justin.garcia@apple.com>
1320
1321         Reviewed by John.
1322
1323         <rdar://problem/6026335> REGRESSION: Caret disappears after deleting a particular selection involving a ToDo
1324         
1325         * editing/CompositeEditCommand.cpp:
1326         (WebCore::CompositeEditCommand::moveParagraphs): If asked to preserveStyle, we
1327         apply styles from the moved paragraph to the destination with applyStyle, which
1328         does selection preservation when it needs to apply block styles.  Selection preservation 
1329         uses relatively untested code in TextIterator to count VisiblePositions which fails in 
1330         this particular test case because it doesn't handle changes in editability properly.  
1331         We can avoid this bug by not applying block styles from moved paragraphs.  This is 
1332         something that should be done anyway, since the moved paragraph should assume the 
1333         block styles of the destination.
1334         * editing/EditCommand.cpp:
1335         (WebCore::EditCommand::styleAtPosition): Added a FIXME about how it is misleading for
1336         this function to also include the typing style.
1337         * editing/TextIterator.h: Added a FIXME about how the code path used for selection preservation
1338         is buggy and should be phased out when we rewrite moveParagraphs.
1339
1340 2008-06-24  Kevin McCullough  <kmccullough@apple.com>
1341
1342         -Added a manual test for the profiler.
1343
1344         * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Added.
1345
1346 2008-06-24  Sam Weinig  <sam@webkit.org>
1347
1348         Reviewed by Anders Carlsson.
1349
1350         Add support for loadstart, abort and error events for XMLHttpRequests.
1351
1352         Tests: http/tests/xmlhttprequest/onabort-event.html
1353                http/tests/xmlhttprequest/onerror-event.html
1354                http/tests/xmlhttprequest/onloadstart-event.html
1355
1356         * bindings/js/JSXMLHttpRequestCustom.cpp:
1357         (WebCore::JSXMLHttpRequest::mark):
1358         (WebCore::JSXMLHttpRequest::onreadystatechange):
1359         (WebCore::JSXMLHttpRequest::onabort):
1360         (WebCore::JSXMLHttpRequest::setOnabort):
1361         (WebCore::JSXMLHttpRequest::onerror):
1362         (WebCore::JSXMLHttpRequest::setOnerror):
1363         (WebCore::JSXMLHttpRequest::onload):
1364         (WebCore::JSXMLHttpRequest::onloadstart):
1365         (WebCore::JSXMLHttpRequest::setOnloadstart):
1366         (WebCore::JSXMLHttpRequest::onprogress):
1367         * dom/EventNames.h:
1368         * xml/XMLHttpRequest.cpp:
1369         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1370         (WebCore::XMLHttpRequest::createRequest):
1371         (WebCore::XMLHttpRequest::abort):
1372         (WebCore::XMLHttpRequest::networkError):
1373         (WebCore::XMLHttpRequest::abortError):
1374         (WebCore::XMLHttpRequest::didFail):
1375         (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
1376         (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
1377         (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
1378         (WebCore::XMLHttpRequest::dispatchAbortEvent):
1379         (WebCore::XMLHttpRequest::dispatchErrorEvent):
1380         (WebCore::XMLHttpRequest::dispatchLoadEvent):
1381         (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
1382         (WebCore::XMLHttpRequest::dispatchProgressEvent):
1383         * xml/XMLHttpRequest.h:
1384         (WebCore::XMLHttpRequest::setOnAbortListener):
1385         (WebCore::XMLHttpRequest::onAbortListener):
1386         (WebCore::XMLHttpRequest::setOnErrorListener):
1387         (WebCore::XMLHttpRequest::onErrorListener):
1388         (WebCore::XMLHttpRequest::setOnLoadStartListener):
1389         (WebCore::XMLHttpRequest::onLoadStartListener):
1390         * xml/XMLHttpRequest.idl:
1391
1392 2008-06-24  Anders Carlsson  <andersca@apple.com>
1393
1394         Reviewed by Mitz.
1395
1396         <rdar://problem/5957606>
1397         CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::DocumentLoader::cancelPendingSubstituteLoad + 23
1398
1399         Remove the loader from the document loader after calling didFail, so that the loader will be deferred corectly
1400         in case the call do didFail starts a new run loop.
1401         
1402         * loader/NetscapePlugInStreamLoader.cpp:
1403         (WebCore::NetscapePlugInStreamLoader::didCancel):
1404
1405 2008-06-24  Alexey Proskuryakov  <ap@webkit.org>
1406
1407         Release build fix.
1408
1409         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1410         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1411         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1412         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1413         Initialize callbackCallType, as the compiler is not smart enough to figure out data flow.
1414
1415 2008-06-24  Alexey Proskuryakov  <ap@webkit.org>
1416
1417         Reviewed by Darin.
1418
1419         https://bugs.webkit.org/show_bug.cgi?id=19723
1420         REGRESSION(r34648): Some SVG tests crash when running under --threaded
1421
1422         * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::destroy): Do not attempt
1423         to paint during document destruction, because rendering structures are not kept in a
1424         consistent state then.
1425
1426 2008-06-24  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
1427
1428         Reviewed by Darin.
1429
1430         https://bugs.webkit.org/show_bug.cgi?id=19727
1431
1432         Return bool from GraphicsContext::getShadow() so the tests aren't duplicated so
1433         many times in Cairo and Qt ports.
1434
1435         * platform/graphics/GraphicsContext.h:
1436         * platform/graphics/GraphicsContext.cpp:
1437         (WebCore::GraphicsContext::getShadow): return a boolean from getShadow()
1438         which indicates whether there is a visible shadow to draw or not.  Ports
1439         without a platform shadow implementation can use this flag to determine
1440         whether a shadow needs to be drawn manually
1441         * platform/graphics/cairo/FontCairo.cpp:
1442         (WebCore::Font::drawGlyphs):
1443         * platform/graphics/qt/FontQt.cpp:
1444         (WebCore::Font::drawText):
1445         * platform/graphics/qt/GraphicsContextQt.cpp:
1446         (WebCore::GraphicsContext::drawLine): use return from getShadow() to
1447         determine whether to draw the shadow
1448
1449 2008-06-24  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
1450
1451         Reviewed by Simon.
1452
1453         https://bugs.webkit.org/show_bug.cgi?id=18459
1454
1455         Clean up and remove unused platform shadow code.
1456
1457         Minor edits by Simon, removed unused TextShadow struct.
1458
1459         * platform/graphics/qt/GraphicsContextQt.cpp:
1460         (WebCore::GraphicsContext::setPlatformShadow):
1461         (WebCore::GraphicsContext::clearPlatformShadow): Qt doesn't support a
1462         platform shadow, so just make these functions empty.  The shadows are
1463         drawn manually in function like drawLine(), etc.
1464
1465 2008-06-24  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
1466
1467         Reviewed by Simon.
1468
1469         https://bugs.webkit.org/show_bug.cgi?id=18459
1470
1471         Implemented basic text-shadow support for the Qt port.
1472
1473         * platform/graphics/qt/FontQt.cpp:
1474         (WebCore::Font::drawText): implement text-shadow support in the Qt port
1475         * platform/graphics/qt/GraphicsContextQt.cpp:
1476         (WebCore::GraphicsContext::drawLine): also draw shadows for text
1477         decorations such as unerlines
1478
1479 2008-06-24  Simon Hausmann  <hausmann@webkit.org>
1480
1481         Fix the Qt build, adapt to various JSCore API changes.
1482
1483         * bridge/qt/qt_instance.cpp:
1484         (KJS::Bindings::QtRuntimeObjectImp::construct):
1485         (KJS::Bindings::QtInstance::getRuntimeObject):
1486         (KJS::Bindings::QtInstance::invokeDefaultMethod):
1487         * bridge/qt/qt_runtime.cpp:
1488         (KJS::Bindings::convertQVariantToValue):
1489         (KJS::Bindings::QtRuntimeMetaMethod::getCallData):
1490         (KJS::Bindings::QtRuntimeConnectionMethod::call):
1491         (KJS::Bindings::QtRuntimeConnectionMethod::getCallData):
1492         (KJS::Bindings::QtConnectionObject::execute):
1493         * bridge/qt/qt_runtime.h:
1494         (KJS::Bindings::QtRuntimeConnectionMethod::d_func):
1495
1496 2008-06-24  Alexey Proskuryakov  <ap@webkit.org>
1497
1498         Remove XMLHttpRequestProgressEvent.cpp from more project files.
1499
1500         * GNUmakefile.am:
1501         * WebCore.pro:
1502
1503 2008-06-24  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1504
1505         Reviewed by Simon.
1506
1507         For the Qt port, fix linking with MinGW.
1508
1509         * WebCore.pro:
1510
1511 2008-06-23  Darin Adler  <darin@apple.com>
1512
1513         Reviewed by Geoff.
1514
1515         Update for JavaScript changes.
1516
1517         - Use CallData and ConstructData instead of the obsolete implementsCall,
1518           callAsFunction, and construct functions.
1519
1520         - Updated native function arguments, specifically to allow a JSValue
1521           rather than a JSObject for the this argument, and to call toThisObject
1522           as needed when treating it as an object.
1523
1524         - Made some more class members private and protected, including virtual
1525           function overrides.
1526
1527         - Eliminated the use of getCallData in the JavaScript bridging code as
1528           a way to check if an instance supports invokeDefaultMethod.
1529
1530         - Eliminated unnecessary polymorphism in the NodeIterator and TreeWalker
1531           classes. They were using virtual functions simply to share an instance
1532           of the RefCounted template, which was not helpful.
1533
1534         * bindings/js/JSAudioConstructor.cpp:
1535         (WebCore::constructAudio):
1536         (WebCore::JSAudioConstructor::getConstructData):
1537         * bindings/js/JSAudioConstructor.h:
1538         (WebCore::JSAudioConstructor::document):
1539         (WebCore::JSAudioConstructor::classInfo):
1540         * bindings/js/JSClipboardCustom.cpp:
1541         (WebCore::JSClipboard::types):
1542         * bindings/js/JSCustomSQLStatementCallback.cpp:
1543         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1544         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1545         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1546         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1547         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1548         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1549         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1550         * bindings/js/JSCustomVoidCallback.cpp:
1551         (WebCore::JSCustomVoidCallback::handleEvent):
1552         * bindings/js/JSCustomXPathNSResolver.cpp:
1553         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1554         * bindings/js/JSDOMBinding.h:
1555         (WebCore::DOMObject::DOMObject):
1556         * bindings/js/JSDOMWindowBase.cpp:
1557         (WebCore::windowProtoFuncAToB):
1558         (WebCore::windowProtoFuncBToA):
1559         (WebCore::windowProtoFuncOpen):
1560         (WebCore::windowProtoFuncSetTimeout):
1561         (WebCore::windowProtoFuncClearTimeout):
1562         (WebCore::windowProtoFuncSetInterval):
1563         (WebCore::windowProtoFuncAddEventListener):
1564         (WebCore::windowProtoFuncRemoveEventListener):
1565         (WebCore::windowProtoFuncShowModalDialog):
1566         (WebCore::windowProtoFuncNotImplemented):
1567         (WebCore::toJSDOMWindow):
1568         * bindings/js/JSDOMWindowBase.h:
1569         * bindings/js/JSDOMWindowShell.h:
1570         (WebCore::JSDOMWindowShell::classInfo):
1571         * bindings/js/JSEventListener.cpp:
1572         (WebCore::JSAbstractEventListener::handleEvent):
1573         (WebCore::JSLazyEventListener::parseCode):
1574         * bindings/js/JSEventTargetBase.cpp:
1575         (WebCore::retrieveEventTargetAndCorrespondingNode):
1576         (WebCore::jsEventTargetAddEventListener):
1577         (WebCore::jsEventTargetRemoveEventListener):
1578         (WebCore::jsEventTargetDispatchEvent):
1579         * bindings/js/JSEventTargetBase.h:
1580         * bindings/js/JSHTMLAppletElementCustom.cpp:
1581         (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot):
1582         (WebCore::JSHTMLAppletElement::customPut):
1583         (WebCore::JSHTMLAppletElement::getCallData):
1584         * bindings/js/JSHTMLCollectionCustom.cpp:
1585         (WebCore::callHTMLCollection):
1586         (WebCore::JSHTMLCollection::getCallData):
1587         * bindings/js/JSHTMLDocumentCustom.cpp:
1588         (WebCore::JSHTMLDocument::open):
1589         * bindings/js/JSHTMLEmbedElementCustom.cpp:
1590         (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot):
1591         (WebCore::JSHTMLEmbedElement::customPut):
1592         (WebCore::JSHTMLEmbedElement::getCallData):
1593         * bindings/js/JSHTMLInputElementBase.cpp:
1594         (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
1595         * bindings/js/JSHTMLInputElementBase.h:
1596         * bindings/js/JSHTMLObjectElementCustom.cpp:
1597         (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot):
1598         (WebCore::JSHTMLObjectElement::customPut):
1599         (WebCore::JSHTMLObjectElement::getCallData):
1600         * bindings/js/JSHTMLOptionElementConstructor.cpp:
1601         (WebCore::constructHTMLOptionElement):
1602         (WebCore::JSHTMLOptionElementConstructor::getConstructData):
1603         * bindings/js/JSHTMLOptionElementConstructor.h:
1604         (WebCore::JSHTMLOptionElementConstructor::document):
1605         (WebCore::JSHTMLOptionElementConstructor::classInfo):
1606         * bindings/js/JSImageConstructor.cpp:
1607         (WebCore::constructImage):
1608         (WebCore::JSImageConstructor::getConstructData):
1609         * bindings/js/JSImageConstructor.h:
1610         (WebCore::JSImageConstructor::document):
1611         (WebCore::JSImageConstructor::classInfo):
1612         * bindings/js/JSInspectedObjectWrapper.h:
1613         (WebCore::JSInspectedObjectWrapper::classInfo):
1614         * bindings/js/JSInspectorCallbackWrapper.cpp:
1615         (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
1616         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1617         (WebCore::JSJavaScriptCallFrame::scopeChain):
1618         * bindings/js/JSNodeFilterCondition.cpp:
1619         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
1620         (WebCore::JSNodeFilterCondition::mark):
1621         (WebCore::JSNodeFilterCondition::acceptNode):
1622         * bindings/js/JSNodeFilterCondition.h:
1623         (WebCore::JSNodeFilterCondition::create):
1624         * bindings/js/JSNodeFilterCustom.cpp:
1625         (WebCore::toNodeFilter):
1626         * bindings/js/JSNodeListCustom.cpp:
1627         (WebCore::callNodeList):
1628         (WebCore::JSNodeList::getCallData):
1629         (WebCore::JSNodeList::canGetItemsForName):
1630         (WebCore::JSNodeList::nameGetter):
1631         * bindings/js/JSPluginElementFunctions.cpp:
1632         (WebCore::runtimeObjectGetter):
1633         (WebCore::runtimeObjectPropertyGetter):
1634         (WebCore::runtimeObjectCustomGetOwnPropertySlot):
1635         (WebCore::runtimeObjectCustomPut):
1636         (WebCore::runtimeObjectGetCallData):
1637         (WebCore::pluginInstance):
1638         (WebCore::getRuntimeObject):
1639         (WebCore::callPlugin):
1640         * bindings/js/JSPluginElementFunctions.h:
1641         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1642         (WebCore::JSQuarantinedObjectWrapper::put):
1643         (WebCore::JSQuarantinedObjectWrapper::construct):
1644         (WebCore::JSQuarantinedObjectWrapper::getConstructData):
1645         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
1646         (WebCore::JSQuarantinedObjectWrapper::call):
1647         (WebCore::JSQuarantinedObjectWrapper::getCallData):
1648         * bindings/js/JSQuarantinedObjectWrapper.h:
1649         (WebCore::JSQuarantinedObjectWrapper::className):
1650         * bindings/js/JSRGBColor.cpp:
1651         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1652         (WebCore::constructXMLHttpRequest):
1653         (WebCore::JSXMLHttpRequestConstructor::getConstructData):
1654         * bindings/js/JSXMLHttpRequestConstructor.h:
1655         (WebCore::JSXMLHttpRequestConstructor::document):
1656         (WebCore::JSXMLHttpRequestConstructor::classInfo):
1657         * bindings/js/JSXSLTProcessorConstructor.cpp:
1658         (WebCore::constructXSLTProcessor):
1659         (WebCore::JSXSLTProcessorConstructor::getConstructData):
1660         * bindings/js/JSXSLTProcessorConstructor.h:
1661         (WebCore::JSXSLTProcessorConstructor::classInfo):
1662         * bindings/js/ScheduledAction.cpp:
1663         (WebCore::ScheduledAction::ScheduledAction):
1664         (WebCore::ScheduledAction::execute):
1665         * bindings/js/ScheduledAction.h:
1666         * bindings/objc/WebScriptObject.mm:
1667         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1668         * bindings/scripts/CodeGeneratorJS.pm:
1669         * bridge/NP_jsobject.cpp:
1670         (_NPN_InvokeDefault):
1671         (_NPN_Invoke):
1672         * bridge/c/c_instance.cpp:
1673         (KJS::Bindings::CInstance::supportsInvokeDefaultMethod):
1674         * bridge/c/c_instance.h:
1675         * bridge/jni/jni_jsobject.mm:
1676         (JavaJSObject::call):
1677         * bridge/objc/objc_instance.h:
1678         * bridge/objc/objc_instance.mm:
1679         (ObjcInstance::supportsInvokeDefaultMethod):
1680         * bridge/objc/objc_runtime.h:
1681         (KJS::Bindings::ObjcFallbackObjectImp::propertyName):
1682         (KJS::Bindings::ObjcFallbackObjectImp::classInfo):
1683         * bridge/objc/objc_runtime.mm:
1684         (Bindings::webScriptObjectClass):
1685         (Bindings::webUndefinedClass):
1686         (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1687         (callObjCFallbackObject):
1688         (ObjcFallbackObjectImp::getCallData):
1689         * bridge/qt/qt_instance.h:
1690         * bridge/runtime.cpp:
1691         (KJS::Bindings::Instance::createRuntimeObject):
1692         (KJS::Bindings::Instance::getInstance):
1693         * bridge/runtime.h:
1694         (KJS::Bindings::Field::~Field):
1695         (KJS::Bindings::Method::~Method):
1696         (KJS::Bindings::Class::~Class):
1697         (KJS::Bindings::Instance::supportsInvokeDefaultMethod):
1698         * bridge/runtime_method.cpp:
1699         (KJS::callRuntimeMethod):
1700         (KJS::RuntimeMethod::getCallData):
1701         * bridge/runtime_method.h:
1702         (KJS::RuntimeMethod::methods):
1703         * bridge/runtime_object.cpp:
1704         (RuntimeObjectImp::defaultValue):
1705         (callRuntimeObject):
1706         (RuntimeObjectImp::getCallData):
1707         * bridge/runtime_object.h:
1708         (KJS::RuntimeObjectImp::getInternalInstance):
1709         (KJS::RuntimeObjectImp::classInfo):
1710         * dom/NodeIterator.h:
1711         * dom/Traversal.cpp:
1712         * dom/Traversal.h:
1713         * dom/TreeWalker.h:
1714
1715 2008-06-23  Adam Barth  <abarth@webkit.org>
1716
1717         Reviewed by Darin Adler.
1718
1719         https://bugs.webkit.org/show_bug.cgi?id=16756
1720
1721         Move isAllowedToLoadLocalResources into SecurityOrigin.
1722
1723         * dom/Document.cpp:
1724         (WebCore::Document::Document):
1725         (WebCore::Document::setURL):
1726         (WebCore::Document::initSecurityContext):
1727         * dom/Document.h:
1728         * loader/FrameLoader.cpp:
1729         (WebCore::FrameLoader::canLoad):
1730         * platform/SecurityOrigin.cpp:
1731         (WebCore::SecurityOrigin::SecurityOrigin):
1732         (WebCore::SecurityOrigin::isLocal):
1733         * platform/SecurityOrigin.h:
1734         (WebCore::SecurityOrigin::protocol):
1735         (WebCore::SecurityOrigin::host):
1736         (WebCore::SecurityOrigin::domain):
1737         (WebCore::SecurityOrigin::port):
1738         (WebCore::SecurityOrigin::canLoadLocalResources):
1739         (WebCore::SecurityOrigin::grantLoadLocalResources):
1740         * xml/XMLHttpRequest.cpp:
1741         (WebCore::XMLHttpRequest::setRequestHeader):
1742
1743 2008-06-23  Mark Rowe  <mrowe@apple.com>
1744
1745         Fix the Windows build.
1746
1747         * WebCore.vcproj/WebCore.vcproj: Add generated files related to CSS variables to the Windows project file.
1748
1749 2008-06-23  Steve Falkenburg  <sfalken@apple.com>
1750
1751         Fix a math error in my last change.
1752         
1753         Reviewed by Ada Chan.
1754
1755         * platform/win/FileSystemWin.cpp:
1756         (WebCore::openTemporaryFile):
1757
1758 2008-06-23  Kevin McCullough  <kmccullough@apple.com>
1759
1760         -Build fix.
1761
1762         * WebCore.vcproj/WebCore.vcproj:
1763
1764 2008-06-23  chris fleizach  <cfleizach@apple.com>
1765
1766         Reviewed by Darin Adler.
1767
1768         <rdar://problem/6024267> VO unable to read massive emails because AccessibilityObject::lengthForVisiblePositionRange makes the string
1769
1770         * page/AccessibilityObject.cpp:
1771         (WebCore::replacedNodeNeedsCharacter):
1772         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
1773         (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
1774
1775 2008-06-23  Steve Falkenburg  <sfalken@apple.com>
1776
1777         Added our own mechanism for generating temporary file names.
1778         
1779         Reviewed by Ada Chan, Darin Adler.
1780
1781         * platform/win/FileSystemWin.cpp:
1782         (WebCore::openTemporaryFile):
1783
1784 2008-06-23  Sam Weinig  <sam@webkit.org>
1785
1786         Remove XMLHttpRequestProgressEvent.cpp from project files.
1787
1788         * WebCore.vcproj/WebCore.vcproj:
1789         * WebCore.xcodeproj/project.pbxproj:
1790         * WebCoreSources.bkl:
1791
1792 2008-06-23  Sam Weinig  <sam@webkit.org>
1793
1794         Reviewed by Dave Hyatt.
1795
1796         Remove empty file.
1797
1798         * xml/XMLHttpRequestProgressEvent.cpp: Removed.
1799
1800 2008-06-23  Sam Weinig  <sam@webkit.org>
1801
1802         Rubber-stamped by Tim Hatcher.
1803
1804         Rename XMLHttpRequest::sameOriginRequest to XMLHttpRequest::makeSameOriginRequest
1805         and XMLHttpRequest::crossSiteAccessRequest to XMLHttpRequest::makeCrossSiteAccessRequest.
1806
1807         * xml/XMLHttpRequest.cpp:
1808         (WebCore::XMLHttpRequest::createRequest):
1809         (WebCore::XMLHttpRequest::makeSameOriginRequest):
1810         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
1811         * xml/XMLHttpRequest.h:
1812
1813 2008-06-23  Sam Weinig  <sam@webkit.org>
1814
1815         Reviewed by Alexey Proskuryakov.
1816
1817         Some XMLHttpRequest re-organization to aid further enhancements coming soon.
1818
1819         * bindings/js/JSXMLHttpRequestCustom.cpp:
1820         (WebCore::JSXMLHttpRequest::send): Explicitly call overloaded versions of send,
1821         instead of always calling though send(DOMString).
1822         * dom/Document.idl: Adds native converter.
1823
1824         * xml/XMLHttpRequest.cpp:
1825         (WebCore::XMLHttpRequest::open):
1826         (WebCore::XMLHttpRequest::initSend):
1827         (WebCore::XMLHttpRequest::send):
1828         (WebCore::XMLHttpRequest::createRequest):
1829         (WebCore::XMLHttpRequest::sameOriginRequest):
1830         (WebCore::XMLHttpRequest::crossSiteAccessRequest):
1831         (WebCore::XMLHttpRequest::abort):
1832         (WebCore::XMLHttpRequest::clearResponse):
1833         (WebCore::XMLHttpRequest::clearRequest):
1834         (WebCore::XMLHttpRequest::genericError):
1835         (WebCore::XMLHttpRequest::dispatchProgressEvent):
1836         * xml/XMLHttpRequest.h:
1837         (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Inline.
1838         (WebCore::XMLHttpRequest::onReadyStateChangeListener): Ditto.
1839         (WebCore::XMLHttpRequest::setOnLoadListener): Ditto.
1840         (WebCore::XMLHttpRequest::onLoadListener): Ditto.
1841         (WebCore::XMLHttpRequest::setOnProgressListener): Ditto.
1842         (WebCore::XMLHttpRequest::onProgressListener): Ditto.
1843         Makes the request entity body a member variable so that the send method
1844         can be more easily broken up.
1845
1846 2008-06-23  Timothy Hatcher  <timothy@apple.com>
1847
1848         Make profiles of the same name in the Inspector group in the
1849         sidebar under a collapsable item that contains all the runs.
1850
1851         https://bugs.webkit.org/show_bug.cgi?id=19713
1852
1853         Reviewed by Darin Adler.
1854
1855         * English.lproj/localizedStrings.js: New strings.
1856         * page/inspector/Images/profileGroupIcon.png: Added.
1857         * page/inspector/Images/profileSmallIcon.png: Added.
1858         * page/inspector/ProfilesPanel.js:
1859         (WebInspector.ProfilesPanel.prototype.reset): Clear _profileGroups.
1860         Remove the "some-expandable" class from the sidebarTree.
1861         (WebInspector.ProfilesPanel.prototype.addProfile): Append new profiles
1862         that have the same name as a previous profile into a group. When a
1863         group has 2 profiles a ProfileGroupSidebarTreeElement is made and the
1864         ProfileSidebarTreeElements are appended to the group's element. 
1865         (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
1866         Return _mainTitle is it is set.
1867         (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle):
1868         Set _mainTitle which is an override title.
1869         (WebInspector.ProfileGroupSidebarTreeElement): Inherit SidebarTreeElement.
1870         (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
1871         Show the last profile in the group when selected.
1872         * page/inspector/SidebarTreeElement.js:
1873         (WebInspector.SidebarTreeElement.prototype.get small): Return _small.
1874         (WebInspector.SidebarTreeElement.prototype.set small): Set _small and
1875         update the style to match.
1876         (WebInspector.SidebarTreeElement.prototype.onattach): Set the small
1877         class if the small property is true.
1878         * page/inspector/inspector.css: New styles for profiles groups
1879         and for the small profiles.
1880
1881 2008-06-23  Anders Carlsson  <andersca@apple.com>
1882
1883         Reviewed by Geoff.
1884
1885         Make changedDocuments a HashSet.
1886
1887         * dom/Document.cpp:
1888         (WebCore::Document::setDocumentChanged):
1889         (WebCore::Document::updateDocumentsRendering):
1890
1891 2008-06-23  Alexey Proskuryakov  <ap@webkit.org>
1892
1893         Reviewed by Mark Rowe.
1894
1895         Restore a collectOnMainThreadOnly call that was accidentally removed in r34659. It will not
1896         be needed when heaps are actually per-thread, but this isn't the case yet, and collecting
1897         on a different thread causes crashes.
1898
1899         * bindings/js/JSDOMBinding.h:
1900         (WebCore::DOMObject::DOMObject):
1901
1902 2008-06-22  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
1903
1904         Reviewed by Darin Adler.
1905
1906         Fix https://bugs.webkit.org/show_bug.cgi?id=19465
1907         Bug 19465: Cursor sometimes gets 'stuck' in textareas when trying to navigate with arrow keys
1908
1909         Test: editing/input/textarea-arrow-navigation.html
1910
1911         * rendering/RenderText.cpp:
1912         (WebCore::RenderText::positionForCoordinates): In the case when the next position is to the right
1913         of the last text box but the text offset is 0, set the affinity to DOWNSTREAM instead of UPSTREAM so
1914         that the cursor doesn't remain on the previous line.
1915
1916 2008-06-22  Robert Blaut  <webkit@blaut.biz>
1917
1918         Reviewed by Darin Adler.
1919
1920         Fix for https://bugs.webkit.org/show_bug.cgi?id=17421
1921         Bug 17421: Lack of end tag for SELECT element causes the rest of page to not be rendered
1922
1923         Test: fast/parser/input-textarea-inside-select-element.html
1924
1925         * html/HTMLParser.cpp:
1926         (WebCore::HTMLParser::handleError):
1927
1928 2008-06-22  David Krause  <david.krause@gmail.com>
1929
1930         Reviewed by Darin Adler.
1931
1932         Fix https://bugs.webkit.org/show_bug.cgi?id=19426
1933         Bug 19426: LOW_BANDWIDTH_DISPLAY build broken
1934
1935         Change ref to addClient and deref to removeClient in code wrapped
1936         by USE(LOW_BANDWIDTH_DISPLAY) to match changes in r31834.
1937
1938         * loader/FrameLoader.cpp:
1939         (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
1940         (WebCore::FrameLoader::removeAllLowBandwidthDisplayRequests):
1941         (WebCore::FrameLoader::notifyFinished):
1942
1943 2008-06-22  Robert Blaut  <webkit@blaut.biz>
1944
1945         Reviewed by Darin Adler.
1946
1947         Fix https://bugs.webkit.org/show_bug.cgi?id=19520
1948         Bug 19520: WebKit incorrectly accepts hidden as the value of outline-style
1949
1950         Test: fast/css/outline-hidden-illegal-value.html
1951
1952         * css/CSSParser.cpp:
1953         (WebCore::CSSParser::parseValue):
1954         * rendering/RenderFlow.cpp:
1955         (WebCore::RenderFlow::paintOutline):
1956         * rendering/RenderObject.cpp:
1957         (WebCore::RenderObject::paintOutline):
1958         * rendering/style/RenderStyle.h:
1959         (WebCore::RenderStyle::outlineWidth):
1960         (WebCore::RenderStyle::outlineOffset):
1961
1962 2008-06-22  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
1963
1964         Reviewed by Dan Bernstein.
1965
1966         Fix https://bugs.webkit.org/show_bug.cgi?id=19675
1967         Bug 19675: [GTK] negative text-shadows are not rendered
1968
1969         * platform/graphics/cairo/FontCairo.cpp:
1970         (WebCore::Font::drawGlyphs): The IntSize::isEmpty() call checks that the
1971         sizes are > 0, while we need to check for != 0.
1972
1973 2008-06-22  kuchhal  <kuchhal@yahoo.com>
1974
1975         Reviewed by Darin Adler.
1976
1977         Fix https://bugs.webkit.org/show_bug.cgi?id=19696
1978         Bug 19696: Memory leak in WebCore/editing/DeleteButtonController.cpp
1979
1980         * editing/DeleteButtonController.cpp:
1981         (WebCore::DeleteButtonController::createDeletionUI): Delete the Image instance
1982         if the platform resource could not be loaded.
1983
1984 2008-06-22  kuchhal  <kuchhal@yahoo.com>
1985
1986         Reviewed by Darin Adler.
1987
1988         Fix https://bugs.webkit.org/show_bug.cgi?id=19697
1989         Bug 19697: Redundant releaseRef causing memory leak
1990
1991         * platform/win/ClipboardUtilitiesWin.cpp:
1992         (WebCore::fragmentFromCF_HTML):
1993
1994 2008-06-21  Sam Weinig  <sam@webkit.org>
1995
1996         Fix Windows build.
1997
1998         * bindings/scripts/CodeGeneratorCOM.pm:
1999         * html/HTMLInputElement.idl:
2000
2001 2008-06-21  Timothy Hatcher  <timothy@apple.com>
2002
2003         Fix a typo "new" in the keywords list for hte JavaScript
2004         syntax highlighter. And adds "get" and "set" to the keyword list.
2005
2006         Reviewed by Sam Weinig.
2007
2008         * page/inspector/SourceFrame.js:
2009         (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
2010         Fixes the "new" typo and adds "get" and "set".
2011
2012 2008-06-21  David Kilzer  <ddkilzer@apple.com>
2013
2014         Bug 7931: Escaped elements within a textarea block can cause the textarea box to be closed prematurely
2015
2016         <https://bugs.webkit.org/show_bug.cgi?id=7931>
2017
2018         Reviewed by Darin.
2019
2020         Tests: fast/parser/entity-end-iframe-tag.html
2021                fast/parser/entity-end-script-tag.html
2022                fast/parser/entity-end-style-tag.html
2023                fast/parser/entity-end-textarea-tag.html
2024                fast/parser/entity-end-title-tag.html
2025                fast/parser/entity-end-xmp-tag.html
2026
2027         Previously the parser accepted end tags for textarea, title and
2028         iframe elements that contained entity-escaped characters such as
2029         '&lt;'.  The fix is to save the position of the last entity-escaped
2030         character converted and to use that to make sure the end tag does
2031         not contain an escaped character.
2032
2033         Note that this was not an issue for script, style and xmp elements
2034         since they already ignored entity-escaped characters.
2035
2036         * html/HTMLTokenizer.cpp:
2037         (WebCore::HTMLTokenizer::parseSpecial): When looking for a closing
2038         tag, ignore any text with entity-escaped characters by making sure
2039         lastDecodedEntityPosition is less than the first character of the
2040         end tag.
2041
2042 2008-06-21  Sam Weinig  <sam@webkit.org>
2043
2044         Reviewed by Dan Bernstein.
2045
2046         Fix for https://bugs.webkit.org/show_bug.cgi?id=19647
2047         REGRESSION: Problem with extjs (insertAdjacentHTML)
2048
2049         Test: fast/dynamic/insertAdjacentHTML-allowed-parents.html
2050
2051         * html/HTMLElement.cpp:
2052         (WebCore::HTMLElement::insertAdjacentHTML): Don't use innerHTML logic for creating
2053         the DocumentFragment from the html string.
2054
2055 2008-06-21  Adam Barth  <abarth@webkit.org>
2056
2057         Reviewed by Sam Weinig.
2058
2059         Log error messages to the console when we deny a request for a URL.
2060         These error messages do not appear in LayoutTests, but they do
2061         appear in the WebInspector.
2062
2063         * dom/XMLTokenizer.cpp:
2064         (WebCore::shouldAllowExternalLoad):
2065         * loader/DocLoader.cpp:
2066         (WebCore::DocLoader::requestResource):
2067         (WebCore::DocLoader::printAccessDeniedMessage):
2068         * loader/DocLoader.h:
2069         * xml/XSLTProcessor.cpp:
2070         (WebCore::docLoaderFunc):
2071
2072 2008-06-21  Adam Barth  <abarth@webkit.org>
2073
2074         Reviewed by Sam Weinig.
2075
2076         Fix <https://bugs.webkit.org/show_bug.cgi?id=19649>:
2077           XSL style sheets allowed across origins
2078
2079         Block cross-orgin loads of XSL style sheets, matching Internet
2080         Explorer, Firefox, and Opera.  Also, we now block loading of XBL
2081         across origins, matching Firefox.  The XBL behavior does not appear
2082         testable because XBL seems to not be enabled.
2083
2084         Test: http/tests/security/cross-origin-xsl-BLOCKED.html
2085
2086         * loader/DocLoader.cpp:
2087         (WebCore::DocLoader::requestResource):
2088
2089 2008-06-21  Marvin Decker  <marv.decker@gmail.com>
2090
2091         Reviewed by Dave Hyatt.
2092
2093         - fix https://bugs.webkit.org/show_bug.cgi?id=19542
2094           <rdar://problem/6007976> Crash in Font::glyphDataForCharacter when getting small caps data
2095
2096         Adds a NULL check for getting the small caps page of glyph data. The
2097         page() function can explicitly return null in some cases, and every
2098         other usage in this function does the check.
2099
2100         * platform/graphics/Font.cpp:
2101         (WebCore::Font::glyphDataForCharacter):
2102
2103 2008-06-21  Alex Taylor  <darwin@milliamp.org>
2104
2105         Reviewed by Dan Bernstein.
2106
2107         Fixes <https://bugs.webkit.org/show_bug.cgi?id=12425>
2108
2109         Adds support for border-radius on legend elements.
2110         Fieldsets with a legend and rounded borders now have a clipping region set
2111         around the legend.
2112         
2113         Test: fast/borders/fieldsetBorderRadius.html
2114
2115         * rendering/RenderFieldset.cpp:
2116         (WebCore::RenderFieldset::paintBoxDecorations):
2117         (WebCore::RenderFieldset::paintBorderMinusLegend): Removed a FIXME.
2118
2119 2008-06-21  Kevin Ollivier  <kevino@theolliviers.com>
2120
2121         wx build fix. Adding CSSVariable* API sources to the Bakefiles.
2122
2123         * WebCoreSources.bkl:
2124
2125 2008-06-20  Sam Weinig  <sam@webkit.org>
2126
2127         Fix Windows build.
2128
2129         * bindings/scripts/CodeGeneratorCOM.pm:
2130
2131 2008-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
2132
2133         Gtk build fix: Add files missing in the previous fix (r34705)
2134
2135         * GNUmakefile.am:
2136
2137 2008-06-20  Dan Bernstein  <mitz@apple.com>
2138
2139         Reviewed by Sam Weinig.
2140
2141         - fix leak of mask images
2142
2143         * rendering/RenderObject.cpp:
2144         (WebCore::RenderObject::arenaDelete): Added a call to removeClient() on
2145         the mask box image.
2146
2147 2008-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
2148
2149         Gtk build fix for r34702, r34700 and r34693
2150         Qt build fix for r34700 and r34693
2151
2152         * GNUmakefile.am:
2153         * WebCore.pro:
2154         * platform/gtk/RenderThemeGtk.cpp:
2155         * platform/gtk/RenderThemeGtk.h:
2156         * platform/qt/RenderThemeQt.cpp:
2157         * platform/qt/RenderThemeQt.h:
2158
2159 2008-06-20  Sam Weinig  <sam@webkit.org>
2160
2161         Reviewed by Adele Peterson.
2162
2163         Add 'files' property to the HTMLInputElement, which returns a FileList object 
2164         (when type=file, null otherwise) containing a list of all the files selected.
2165         It currently always contains only 0 or 1 files as multifile input is not supported 
2166         yet.  The list contains File objects which contains the name and size of the file. 
2167         The inspiration for these interfaces is from:
2168             - http://developer.mozilla.org/en/docs/nsIDOMFileList
2169             - http://developer.mozilla.org/en/docs/nsIDOMFile
2170
2171         Also fixes <rdar://problem/6022802>
2172
2173         * DerivedSources.make:
2174         * GNUmakefile.am:
2175         * WebCore.pro:
2176         * WebCore.vcproj/WebCore.vcproj:
2177         * WebCore.xcodeproj/project.pbxproj:
2178         * WebCoreSources.bkl:
2179         * bindings/objc/DOMInternal.h:
2180         * bindings/scripts/CodeGenerator.pm:
2181         * bindings/scripts/IDLStructure.pm:
2182         * html/File.cpp: Added.
2183         (WebCore::File::File):
2184         (WebCore::File::fileSize):
2185         * html/File.h: Added.
2186         (WebCore::File::create):
2187         (WebCore::File::fileName):
2188         (WebCore::File::path):
2189         * html/File.idl: Added.
2190         * html/FileList.cpp: Added.
2191         (WebCore::FileList::FileList):
2192         (WebCore::FileList::item):
2193         * html/FileList.h: Added.
2194         (WebCore::FileList::create):
2195         (WebCore::FileList::length):
2196         (WebCore::FileList::isEmpty):
2197         (WebCore::FileList::clear):
2198         (WebCore::FileList::append):
2199         * html/FileList.idl: Added.
2200         * html/HTMLInputElement.cpp:
2201         (WebCore::HTMLInputElement::setInputType):
2202         (WebCore::HTMLInputElement::appendFormData):
2203         (WebCore::HTMLInputElement::value):
2204         (WebCore::HTMLInputElement::setValue):
2205         (WebCore::HTMLInputElement::setValueFromRenderer):
2206         (WebCore::HTMLInputElement::files):
2207         * html/HTMLInputElement.h:
2208         * html/HTMLInputElement.idl:
2209         * page/DOMWindow.idl:
2210
2211 2008-06-20  David Hyatt  <hyatt@apple.com>
2212
2213         Make sure CSS variables work inside the inline style attribute.
2214
2215         Reviewed by Beth
2216
2217         Added fast/css/variables/inline-style-test.html
2218
2219         * css/CSSMutableStyleDeclaration.cpp:
2220         (WebCore::CSSMutableStyleDeclaration::removeProperty):
2221         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
2222
2223 2008-06-20  David Hyatt  <hyatt@apple.com>
2224
2225         Add support for the CSSVariablesRule and CSSVariablesDeclaration DOM APIs.  These allow querying of
2226         variables names and values, as well as iteration, setting and removal.
2227
2228         Reviewed by Sam
2229
2230         Added multiple new tests to fast/css/variables/
2231
2232         * DerivedSources.make:
2233         * WebCore.xcodeproj/project.pbxproj:
2234         * bindings/js/JSCSSRuleCustom.cpp:
2235         (WebCore::toJS):
2236         * bindings/objc/DOMInternal.h:
2237         * bindings/scripts/CodeGeneratorJS.pm:
2238         * css/CSSPrimitiveValue.cpp:
2239         (WebCore::CSSPrimitiveValue::parserValue):
2240         * css/CSSVariablesDeclaration.cpp:
2241         (WebCore::CSSVariablesDeclaration::removeVariable):
2242         (WebCore::CSSVariablesDeclaration::setVariable):
2243         (WebCore::CSSVariablesDeclaration::setCssText):
2244         (WebCore::CSSVariablesDeclaration::setChanged):
2245         * css/CSSVariablesDeclaration.h:
2246         * css/CSSVariablesDeclaration.idl: Added.
2247         * css/CSSVariablesRule.h:
2248         * css/CSSVariablesRule.idl: Added.
2249
2250 2008-06-20  Kevin McCullough  <kmccullough@apple.com>
2251
2252         Rubber stamped by Adele. 
2253
2254         * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Added.
2255
2256 2008-06-20  Kevin McCullough  <kmccullough@apple.com>
2257
2258         Reviewed by Tim.
2259
2260         <rdar://problem/5958770> JSProfiler: Time incorrectly given to (idle)
2261         if profiling is started and finished within the same function. (19230)
2262         - Now we profile one more stack frame up from the last frame to allocate
2263         the time spent in it, if it exists.
2264
2265         * page/Console.cpp:
2266         * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Added.
2267         (WebCore::Console::profile): When stating the profiler give a client for
2268         the callback of when the profile actually finishes.
2269         (WebCore::Console::profileEnd): No longer needs to handle the return of
2270         the profile object since it will be retruned in the client's callback.
2271         (WebCore::Console::finishedProfiling): Implemenet the ProfileClient
2272         callback method.
2273         * page/Console.h: Inherit from the ProfileClient.
2274         * page/InspectorController.cpp:
2275         (WebCore::InspectorController::startUserInitiatedProfiling): Use the
2276         client callback.
2277         (WebCore::InspectorController::stopUserInitiatedProfiling): Does not
2278         need to handle the profile being returned as it is now handled by the
2279         client callback.
2280         (WebCore::InspectorController::finishedProfiling): Implement the
2281         ProfileClient callback method.
2282         * page/InspectorController.h: Inherit from the ProfileClient.
2283
2284 2008-06-20  Timothy Hatcher  <timothy@apple.com>
2285
2286         Makes the JavaScript syntax highlighter process lines in chunks
2287         so the user interface isn't blocked for large script files.
2288
2289         https://bugs.webkit.org/show_bug.cgi?id=19677
2290
2291         Reviewed by Adam Roben.
2292
2293         * page/inspector/SourceFrame.js:
2294         (WebInspector.SourceFrame.prototype._addMessageToSource): Use the cells
2295         property on the row instead of getElementsByTagName.
2296         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Use the
2297         cells property on the row instead of getElementsByTagName. Added
2298         a nested processChunk function that highlights 10 lines at a time
2299         This processChunk function is called at an interval of 25ms. The
2300         code is still highlighted quickly, and the user can't tell it wasn't
2301         highlighted all at once.
2302
2303 2008-06-20  Timothy Hatcher  <timothy@apple.com>
2304
2305         Fixes a bug where the source view in the Resources panel had a
2306         couple of extra pixels at the bottom when fully scrolled.
2307
2308         Reviewed by Adam Roben.
2309
2310         * page/inspector/SourceFrame.js:
2311         (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight):
2312         Call removeStyleClass instead of addStyleClass for "webkit-height-sized-to-fit"
2313         when sizing to fit is being disabled.
2314         * page/inspector/inspector.css:
2315         (.resource-view.headers-visible .source-view-frame): Added the
2316         vertical-align: top property to prevent line alignment from adding extra
2317         pixels on the bottom.
2318
2319 2008-06-20  Timothy Hatcher  <timothy@apple.com>
2320
2321         Changed all lineHeight, baselinePosition and verticalPositionHint
2322         calls to return int instead of short. The short was overflowing
2323         when a value greater than 32,767 was encountered.
2324
2325         Fixes: iframes with a height of 32,768px or greater do not layout correctly
2326         https://bugs.webkit.org/show_bug.cgi?id=19679
2327
2328         Reviewed by Dave Hyatt.
2329
2330         Test: fast/css/line-height-overflow.html
2331
2332         * rendering/RenderBR.cpp:
2333         (WebCore::RenderBR::baselinePosition):
2334         * rendering/RenderBR.h:
2335         * rendering/RenderBlock.cpp:
2336         (WebCore::RenderBlock::lineHeight):
2337         * rendering/RenderBlock.h:
2338         * rendering/RenderFlow.cpp:
2339         * rendering/RenderFlow.h:
2340         * rendering/RenderListBox.cpp:
2341         * rendering/RenderListBox.h:
2342         * rendering/RenderListMarker.cpp:
2343         (WebCore::RenderListMarker::lineHeight):
2344         * rendering/RenderListMarker.h:
2345         * rendering/RenderObject.cpp:
2346         (WebCore::RenderObject::verticalPositionHint):
2347         * rendering/RenderObject.h:
2348         (WebCore::):
2349         * rendering/RenderPath.cpp:
2350         (WebCore::RenderPath::lineHeight):
2351         * rendering/RenderPath.h:
2352         * rendering/RenderReplaced.cpp:
2353         (WebCore::RenderReplaced::lineHeight):
2354         * rendering/RenderReplaced.h:
2355         * rendering/RenderSVGContainer.cpp:
2356         (WebCore::RenderSVGContainer::lineHeight):
2357         * rendering/RenderSVGContainer.h:
2358         * rendering/RenderSVGHiddenContainer.cpp:
2359         (WebCore::RenderSVGHiddenContainer::lineHeight):
2360         * rendering/RenderSVGHiddenContainer.h:
2361         * rendering/RenderSVGRoot.cpp:
2362         (WebCore::RenderSVGRoot::lineHeight):
2363         * rendering/RenderSVGRoot.h:
2364         * rendering/RenderSlider.cpp:
2365         * rendering/RenderSlider.h:
2366         * rendering/RenderTableCell.cpp:
2367         * rendering/RenderTableCell.h:
2368         * rendering/RenderTableCol.h:
2369         * rendering/RenderTableRow.h:
2370         * rendering/RenderTableSection.h:
2371         * rendering/RenderText.cpp:
2372         * rendering/RenderText.h:
2373         * rendering/RenderTextControl.cpp:
2374         * rendering/RenderTextControl.h:
2375         * rendering/RenderTheme.cpp:
2376         * rendering/RenderTheme.h:
2377         * rendering/RenderThemeMac.h:
2378         * rendering/RenderThemeMac.mm:
2379         * rendering/RenderThemeSafari.cpp:
2380         * rendering/RenderThemeSafari.h:
2381
2382 2008-06-20  Dan Bernstein  <mitz@apple.com>
2383
2384         Reviewed by Darin Adler.
2385
2386         - fix https://bugs.webkit.org/show_bug.cgi?id=19519
2387           <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP)
2388
2389         Test: fast/table/prepend-in-anonymous-table.html
2390
2391         * rendering/RenderBlock.cpp:
2392         (WebCore::RenderBlock::addChildToFlow): Added code to handle the case
2393         of inserting before a child that has been wrapped by an anonymous table,
2394         in which case if the new child is the type that needs to be in a table,
2395         it is inserted into the table, and otherwise it is inserted before the
2396         table.
2397         * rendering/RenderTable.cpp:
2398         (WebCore::RenderTable::addChild): Added table-column-group alongside
2399         table-caption as content that can exist inside an anonymous table
2400         without being wrapped in a table section.
2401
2402 2008-06-20  David Hyatt  <hyatt@apple.com>
2403
2404         Allow CSS variables to support arbitrary expressions as values instead of just a single term.
2405
2406         Reviewed by Sam
2407
2408         Removed fast/css/variables/single-term-test.html and replaced with multiple-term-test.html
2409
2410         * css/CSSGrammar.y:
2411         * css/CSSParser.cpp:
2412         (WebCore::CSSParser::addVariable):
2413         * css/CSSParser.h:
2414         * css/CSSStyleSelector.cpp:
2415         (WebCore::CSSStyleSelector::addMatchedDeclaration):
2416         * css/CSSVariablesDeclaration.cpp:
2417         (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
2418         (WebCore::CSSVariablesDeclaration::getVariableValue):
2419         (WebCore::CSSVariablesDeclaration::addParsedVariable):
2420         (WebCore::CSSVariablesDeclaration::getParsedVariable):
2421         * css/CSSVariablesDeclaration.h:
2422         (WebCore::CSSVariablesDeclaration::create):
2423
2424 2008-06-19  Dan Bernstein  <mitz@apple.com>
2425
2426         Reviewed by John Sullivan.
2427
2428         - fix a bug where anonymous tables were inserted in the wrong place
2429
2430         Tests: tables/mozilla/bugs/bug2479-2.html
2431                tables/mozilla/bugs/bug278266.html
2432                tables/mozilla/bugs/bug8411.xml
2433
2434         * rendering/RenderContainer.cpp:
2435         (WebCore::RenderContainer::addChild): Changed to create an anonymous
2436         table and insert it before beforeChild unless the insertion point is
2437         right after an existing anonymous table, in which case the existing
2438         table is used.
2439
2440 2008-06-19  Justin Garcia  <justin.garcia@apple.com>
2441
2442         Reviewed by Oliver.
2443
2444         <https://bugs.webkit.org/show_bug.cgi?id=16049>
2445         execCommand('backColor') fails on collapsed selections
2446
2447         * editing/EditorCommand.cpp:
2448         (WebCore::CommandEntry::): Enable BackColor for caret selections, and
2449         disable ForeColor in plaintext-only regions.
2450
2451 2008-06-19  Justin Garcia  <justin.garcia@apple.com>
2452
2453         Reviewed by John.
2454
2455         <https://bugs.webkit.org/show_bug.cgi?id=19653>
2456         Typing style lost when creating list from, indenting or outdenting an empty paragraph
2457         
2458         There were two problems.  First, moveParagraphs didn't preserve the style of empty paragraphs.
2459         Second, indent, outdent and list creation returned false from preservesTypingStyle.
2460         The second problem couldn't be fixed by just adding preservesTypingStyle() { return true; }
2461         to those commands, though, because of other bugs.
2462         
2463         Cleaned up the implementation of typing style enough to remove FIXMEs for:
2464         
2465         <rdar://problem/3769899> Implementation of typing style needs improvement 
2466         
2467         which has actually been closed for some time now anyway.
2468         
2469         * dom/Document.cpp: Removed an unused header.
2470         * editing/CompositeEditCommand.cpp:
2471         (WebCore::CompositeEditCommand::moveParagraphs): Preserve the style of an empty paragraph, too.
2472         * editing/DeleteSelectionCommand.cpp:
2473         (WebCore::DeleteSelectionCommand::saveTypingStyleState): Removed FIXME.
2474         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): 
2475         Removed FIXME.  
2476         If there is a typing style to apply after a delete, apply it to any line break that acts as a paragraph
2477         placeholder, not only one that was inserted by deletion.  This fixes a bug where deleting
2478         <div><b>Bold</b><br></div>, changing the selection and then coming back and typing wouldn't 
2479         produce bold text.  
2480         Don't set the EditCommand's typingStyle, it has been removed (more on that later).
2481         (WebCore::DeleteSelectionCommand::doApply): We don't need to pass calculateTypingStyleAfterDelete
2482         the inserted placeholder because it will find it.
2483         (WebCore::DeleteSelectionCommand::preservesTypingStyle): Normally deletion doesn't preserve the 
2484         typing style that was present before it.  For example, type a character, Bold, then delete the 
2485         character and start typing.  The Bold typing style shouldn't stick around.  We got this right before 
2486         purely by chance. Deletion should preserve a typing style that *it* sets, however.
2487         * editing/DeleteSelectionCommand.h: No longer need to pass calculateTypingStyleAfterDelete
2488         the inserted placeholder.
2489         * editing/EditCommand.cpp:
2490         (WebCore::EditCommand::apply): 
2491         Clearing or not clearing a removed anchor should not be determined by whether or not a command 
2492         preservesTypingStyle().  For example, the deletion that removed an anchor (and stored it), may 
2493         not preserve the typing style, but that doesn't mean that it should then go and clear the removed 
2494         anchor.  All high level commands, and all commands that a TypingCommand spawns, except for
2495         text insertions, which should restore a removed anchor, should clear it.
2496         There is no longer a typing style on EditCommand, removed code that cleared it.  Code that clears the 
2497         *actual* typing style is now in Editor::appliedEditing, just like before.
2498         There is no longer a typing style on EditCommand, removed code to set one.
2499         (WebCore::EditCommand::styleAtPosition): Removed FIXME.
2500         * editing/EditCommand.h: 
2501         Removed code assosiated with m_typingStyle.
2502         Made preservesTypingStyle() public, so that we can call it from Editor::appliedEditing().
2503         * editing/Editor.cpp:
2504         (WebCore::Editor::appliedEditing):
2505         Removed code to preserve the removedAnchor during the call to setSelection, because we no longer
2506         request to clear the typing style with that call.  Also removed the FIXME about this.
2507         Before, a command would set the Frame's typing style by setting its own typingStyle, and then 
2508         letting code here, in appliedEditing pick that up and set it on the Frame.  Now, the command 
2509         itself sets the Frame's typing style.  Deletion is the only command that does this right now.
2510         * editing/IndentOutdentCommand.h:
2511         (WebCore::IndentOutdentCommand::preservesTypingStyle): Added, returns true.
2512         * editing/InsertLineBreakCommand.cpp:
2513         (WebCore::InsertLineBreakCommand::doApply): Removed FIXME.
2514         * editing/InsertListCommand.h:
2515         (WebCore::InsertListCommand::preservesTypingStyle): Added.
2516         * editing/InsertParagraphSeparatorCommand.cpp:
2517         (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Removed FIXME.
2518         * editing/InsertTextCommand.cpp:
2519         (WebCore::InsertTextCommand::input): Removed FIXME.
2520         * editing/ReplaceSelectionCommand.cpp:
2521         (WebCore::ReplaceSelectionCommand::doApply): Removed FIXME and also added one about clearing
2522         the typing style here.  It seems like it's something that could wait until after the command
2523         has been performed, since there is no code between this point and the end of the operation
2524         that queries or uses the typing style.
2525
2526 2008-06-19  Dan Bernstein  <mitz@apple.com>
2527
2528         Reviewed by Alexey Proskuryakov.
2529
2530         - fix crash in CSSStyleDeclaration::copyPropertiesInSet()
2531
2532         Covered by many editing tests
2533
2534         * css/CSSStyleDeclaration.cpp:
2535         (WebCore::CSSStyleDeclaration::copyPropertiesInSet): Re-ordered to avoid
2536         null pointer deref.
2537
2538 2008-06-19  David Hyatt  <hyatt@apple.com>
2539
2540         Fix out of bounds bug in CSSVariablesDeclaration's item() method.
2541
2542         Reviewed by Sam, Darin
2543
2544         * css/CSSVariablesDeclaration.cpp:
2545         (WebCore::CSSVariablesDeclaration::item):
2546         * css/CSSVariablesDeclaration.h:
2547
2548 2008-06-19  John Sullivan  <sullivan@apple.com>
2549
2550         Reviewed by Darin
2551         
2552         Tweak to previous checkin
2553
2554         * page/FrameView.cpp:
2555         (WebCore::FrameView::performPostLayoutTasks):
2556         clear m_firstLayoutCallbackPending before performing callback, to avoid recursion
2557
2558 2008-06-19  John Sullivan  <sullivan@apple.com>
2559
2560         Reviewed by Darin
2561         
2562         - fixed <rdar://problem/6021353> Assertion failure (!root->needsLayout()) after certain steps
2563         
2564         The didFirstLayout callback was called in a place where trouble would ensue if the client
2565         did any work that would cause the layout to be dirtied. Fixed by delaying the callback
2566         until performPostLayoutTasks.
2567
2568         * page/FrameView.cpp:
2569         new m_firstLayoutCallbackPending instance member variable in FrameViewPrivate
2570         (WebCore::FrameViewPrivate::reset):
2571         set m_firstLayoutCallbackPending to false
2572         (WebCore::FrameView::layout):
2573         set m_firstLayoutCallbackPending instead of a local variable; don't do didFirstLayout callback here
2574         (WebCore::FrameView::performPostLayoutTasks):
2575         if m_firstLayoutCallbackPending is set, do didFirstLayout callback here, then clear m_firstLayoutCallbackPending
2576
2577 2008-06-19  David Hyatt  <hyatt@apple.com>
2578
2579         Implement some cleanup of CSS variables based off Darin's review comments.
2580
2581         Reviewed by darin
2582
2583         * css/CSSParser.cpp:
2584         (WebCore::CSSParser::parseVariable):
2585         (WebCore::CSSParser::checkForVariables):
2586         (WebCore::CSSParser::addUnresolvedProperty):
2587         * css/CSSStyleSelector.cpp:
2588         (WebCore::CSSStyleSelector::addMatchedDeclaration):
2589         * css/CSSVariableDependentValue.h:
2590         * css/CSSVariablesRule.cpp:
2591         (WebCore::CSSVariablesRule::CSSVariablesRule):
2592
2593 2008-06-19  John Sullivan  <sullivan@apple.com>
2594
2595         Rubber-stamped by Dan
2596         
2597         Prepended all FrameViewPrivate instance member variables with "m_" (in preparation
2598         for adding a new one in a future patch)
2599
2600         * page/FrameView.cpp:
2601         (WebCore::FrameViewPrivate::FrameViewPrivate):
2602         (WebCore::FrameViewPrivate::reset):
2603         (WebCore::FrameView::~FrameView):
2604         (WebCore::FrameView::resetScrollbars):
2605         (WebCore::FrameView::didFirstLayout):
2606         (WebCore::FrameView::initScrollbars):
2607         (WebCore::FrameView::layoutCount):
2608         (WebCore::FrameView::needsFullRepaint):
2609         (WebCore::FrameView::layoutRoot):
2610         (WebCore::FrameView::layout):
2611         (WebCore::FrameView::scrollTo):
2612         (WebCore::FrameView::useSlowRepaints):
2613         (WebCore::FrameView::setUseSlowRepaints):
2614         (WebCore::FrameView::removeSlowRepaintObject):
2615         (WebCore::FrameView::setScrollbarsMode):
2616         (WebCore::FrameView::setVScrollbarMode):
2617         (WebCore::FrameView::setHScrollbarMode):
2618         (WebCore::FrameView::scheduleRelayout):
2619         (WebCore::FrameView::scheduleRelayoutOfSubtree):
2620         (WebCore::FrameView::layoutPending):
2621         (WebCore::FrameView::needsLayout):
2622         (WebCore::FrameView::unscheduleRelayout):
2623         (WebCore::FrameView::isTransparent):
2624         (WebCore::FrameView::setTransparent):
2625         (WebCore::FrameView::baseBackgroundColor):
2626         (WebCore::FrameView::setBaseBackgroundColor):
2627         (WebCore::FrameView::performPostLayoutTasks):
2628         (WebCore::FrameView::updateOverflowStatus):
2629
2630 2008-06-19  David Hyatt  <hyatt@apple.com>
2631
2632         Add initial support for CSS variables.  Non-dynamic cases should (hopefully) all work.  Things will get
2633         confused if you use the CSS OM to remove variables/inject variables, etc.  In addition no DOM APIs are
2634         exposed yet for the new variable interfaces.
2635
2636         Reviewed by Beth
2637
2638         Added many tests to fast/css/variables/
2639
2640         * WebCore.xcodeproj/project.pbxproj:
2641         * css/CSSFunctionValue.cpp: Added.
2642         (WebCore::CSSFunctionValue::CSSFunctionValue):
2643         (WebCore::CSSFunctionValue::~CSSFunctionValue):
2644         (WebCore::CSSFunctionValue::cssText):
2645         (WebCore::CSSFunctionValue::parserValue):
2646         * css/CSSFunctionValue.h: Added.
2647         (WebCore::CSSFunctionValue::create):
2648         * css/CSSGrammar.y:
2649         * css/CSSMutableStyleDeclaration.cpp:
2650         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2651         (WebCore::CSSMutableStyleDeclaration::copy):
2652         * css/CSSMutableStyleDeclaration.h:
2653         (WebCore::CSSMutableStyleDeclaration::create):
2654         (WebCore::CSSMutableStyleDeclaration::hasVariableDependentValue):
2655         * css/CSSParser.cpp:
2656         (WebCore::equal):
2657         (WebCore::equalIgnoringCase):
2658         (WebCore::CSSParser::~CSSParser):
2659         (WebCore::CSSParserString::lower):
2660         (WebCore::CSSParser::document):
2661         (WebCore::CSSParser::validUnit):
2662         (WebCore::unitFromString):
2663         (WebCore::CSSParser::checkForOrphanedUnits):
2664         (WebCore::CSSParser::parseValue):
2665         (WebCore::CSSParser::parseFillShorthand):
2666         (WebCore::CSSParser::parseTransitionShorthand):
2667         (WebCore::CSSParser::parseContent):
2668         (WebCore::CSSParser::parseFillImage):
2669         (WebCore::CSSParser::parseFillPosition):
2670         (WebCore::CSSParser::parseFillSize):
2671         (WebCore::CSSParser::parseFillProperty):
2672         (WebCore::CSSParser::parseTransitionDuration):
2673         (WebCore::CSSParser::parseTransitionRepeatCount):
2674         (WebCore::CSSParser::parseTimingFunctionValue):
2675         (WebCore::CSSParser::parseTransitionTimingFunction):
2676         (WebCore::CSSParser::parseTransitionProperty):
2677         (WebCore::skipCommaInDashboardRegion):
2678         (WebCore::CSSParser::parseDashboardRegions):
2679         (WebCore::CSSParser::parseCounterContent):
2680         (WebCore::CSSParser::parseShape):
2681         (WebCore::CSSParser::parseFont):
2682         (WebCore::CSSParser::parseFontFamily):
2683         (WebCore::CSSParser::parseFontFaceSrc):
2684         (WebCore::CSSParser::parseFontFaceUnicodeRange):
2685         (WebCore::CSSParser::parseColorParameters):
2686         (WebCore::CSSParser::parseHSLParameters):
2687         (WebCore::CSSParser::parseColor):
2688         (WebCore::CSSParser::parseColorFromValue):
2689         (WebCore::ShadowParseContext::commitLength):
2690         (WebCore::CSSParser::parseShadow):
2691         (WebCore::CSSParser::parseReflect):
2692         (WebCore::BorderImageParseContext::commitNumber):
2693         (WebCore::BorderImageParseContext::commitWidth):
2694         (WebCore::BorderImageParseContext::commitBorderImage):
2695         (WebCore::CSSParser::parseBorderImage):
2696         (WebCore::CSSParser::parseCounter):
2697         (WebCore::parseGradientPoint):
2698         (WebCore::parseGradientColorStop):
2699         (WebCore::CSSParser::parseGradient):
2700         (WebCore::CSSParser::parseCanvas):
2701         (WebCore::TransformOperationInfo::TransformOperationInfo):
2702         (WebCore::CSSParser::parseTransform):
2703         (WebCore::CSSParser::lex):
2704         (WebCore::CSSParser::text):
2705         (WebCore::CSSParser::createFloatingValueList):
2706         (WebCore::CSSParser::sinkFloatingValueList):
2707         (WebCore::CSSParser::createFloatingFunction):
2708         (WebCore::CSSParser::sinkFloatingFunction):
2709         (WebCore::CSSParser::sinkFloatingValue):
2710         (WebCore::CSSParser::createFloatingMediaQueryExp):
2711         (WebCore::CSSParser::createCharsetRule):
2712         (WebCore::CSSParser::createImportRule):
2713         (WebCore::CSSParser::createVariablesRule):
2714         (WebCore::CSSParser::addVariable):
2715         (WebCore::CSSParser::clearVariables):
2716         (WebCore::CSSParser::parseVariable):
2717         (WebCore::CSSParser::parsePropertyWithResolvedVariables):
2718         (WebCore::CSSParser::checkForVariables):
2719         (WebCore::CSSParser::addUnresolvedProperty):
2720         (WebCore::cssPropertyID):
2721         (WebCore::cssValueKeywordID):
2722         * css/CSSParser.h:
2723         * css/CSSParserValues.cpp: Added.
2724         (WebCore::CSSParserValueList::~CSSParserValueList):
2725         (WebCore::CSSParserValueList::addValue):
2726         (WebCore::CSSParserValueList::deleteValueAt):
2727         (WebCore::CSSParserValue::createCSSValue):
2728         * css/CSSParserValues.h: Added.
2729         (WebCore::CSSParserString::operator String):
2730         (WebCore::CSSParserString::operator AtomicString):
2731         (WebCore::CSSParserValue::):
2732         (WebCore::CSSParserValueList::CSSParserValueList):
2733         (WebCore::CSSParserValueList::size):
2734         (WebCore::CSSParserValueList::current):
2735         (WebCore::CSSParserValueList::next):
2736         (WebCore::CSSParserValueList::valueAt):
2737         (WebCore::CSSParserValueList::clear):
2738         (WebCore::CSSParserValueList::containsVariables):
2739         (WebCore::CSSParserFunction::~CSSParserFunction):
2740         * css/CSSPrimitiveValue.cpp:
2741         (WebCore::CSSPrimitiveValue::getStringValue):
2742         (WebCore::CSSPrimitiveValue::cssText):
2743         (WebCore::CSSPrimitiveValue::parserValue):
2744         * css/CSSPrimitiveValue.h:
2745         (WebCore::CSSPrimitiveValue::):
2746         (WebCore::CSSPrimitiveValue::setPrimitiveType):
2747         * css/CSSRule.h:
2748         (WebCore::CSSRule::):
2749         * css/CSSRule.idl:
2750         * css/CSSStyleDeclaration.cpp:
2751         (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
2752         * css/CSSStyleSelector.cpp:
2753         (WebCore::CSSStyleSelector::addMatchedDeclaration):
2754         (WebCore::CSSStyleSelector::addVariables):
2755         (WebCore::CSSStyleSelector::resolveVariableDependentValue):
2756         (WebCore::CSSRuleSet::addRulesFromSheet):
2757         (WebCore::CSSStyleSelector::applyDeclarations):
2758         * css/CSSStyleSelector.h:
2759         * css/CSSValue.h:
2760         (WebCore::CSSValue::isVariableDependentValue):
2761         (WebCore::CSSValue::parserValue):
2762         * css/CSSValueList.cpp:
2763         (WebCore::CSSValueList::CSSValueList):
2764         (WebCore::CSSValueList::createParserValueList):
2765         * css/CSSValueList.h:
2766         (WebCore::CSSValueList::createFromParserValueList):
2767         * css/CSSVariableDependentValue.cpp: Added.
2768         (WebCore::CSSVariableDependentValue::CSSVariableDependentValue):
2769         (WebCore::CSSVariableDependentValue::~CSSVariableDependentValue):
2770         (WebCore::CSSVariableDependentValue::cssText):
2771         * css/CSSVariableDependentValue.h: Added.
2772         (WebCore::CSSVariableDependentValue::create):
2773         (WebCore::CSSVariableDependentValue::isVariableDependentValue):
2774         (WebCore::CSSVariableDependentValue::valueList):
2775         * css/CSSVariablesDeclaration.cpp: Added.
2776         (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
2777         (WebCore::CSSVariablesDeclaration::~CSSVariablesDeclaration):
2778         (WebCore::CSSVariablesDeclaration::getVariableValue):
2779         (WebCore::CSSVariablesDeclaration::removeVariable):
2780         (WebCore::CSSVariablesDeclaration::setVariable):
2781         (WebCore::CSSVariablesDeclaration::addParsedVariable):
2782         (WebCore::CSSVariablesDeclaration::getParsedVariable):
2783         (WebCore::CSSVariablesDeclaration::length):
2784         (WebCore::CSSVariablesDeclaration::item):
2785         (WebCore::CSSVariablesDeclaration::parentRule):
2786         (WebCore::CSSVariablesDeclaration::cssText):
2787         * css/CSSVariablesDeclaration.h: Added.
2788         (WebCore::CSSVariablesDeclaration::create):
2789         * css/CSSVariablesRule.cpp: Added.
2790         (WebCore::CSSVariablesRule::CSSVariablesRule):
2791         (WebCore::CSSVariablesRule::~CSSVariablesRule):
2792         (WebCore::CSSVariablesRule::cssText):
2793         * css/CSSVariablesRule.h: Added.
2794         (WebCore::CSSVariablesRule::media):
2795         (WebCore::CSSVariablesRule::variables):
2796         (WebCore::CSSVariablesRule::type):
2797         (WebCore::CSSVariablesRule::isVariablesRule):
2798         (WebCore::CSSVariablesRule::setDeclaration):
2799         * css/MediaQueryExp.cpp:
2800         (WebCore::MediaQueryExp::MediaQueryExp):
2801         * css/MediaQueryExp.h:
2802         * css/SVGCSSParser.cpp:
2803         (WebCore::CSSParser::parseSVGValue):
2804         (WebCore::CSSParser::parseSVGStrokeDasharray):
2805         * css/StyleBase.h:
2806         (WebCore::StyleBase::isVariablesRule):
2807         * css/tokenizer.flex:
2808
2809 2008-06-19  Julien Chaffraix  <jchaffraix@webkit.org>
2810
2811         Reviewed by Darin.
2812
2813         Bug 19529 : Empty clients need to be refactored
2814         https://bugs.webkit.org/show_bug.cgi?id=19529
2815
2816         - SVGImageEmptyClients' refactoring in order to be able to use them for other
2817         elements.
2818
2819         - Trimmed empty spaces that were pointed out by git.
2820
2821         * WebCore.xcodeproj/project.pbxproj:
2822         * loader/EmptyClients.h: Copied from WebCore/svg/graphics/SVGImageEmptyClients.h.
2823
2824         (WebCore::EmptyChromeClient::~EmptyChromeClient):
2825         (WebCore::EmptyFrameLoaderClient::~EmptyFrameLoaderClient):
2826         (WebCore::EmptyEditorClient::~EmptyEditorClient):
2827         (WebCore::EmptyEditorClient::smartInsertDeleteEnabled):
2828         (WebCore::EmptyContextMenuClient::~EmptyContextMenuClient):
2829         (WebCore::EmptyDragClient::~EmptyDragClient):
2830         (WebCore::EmptyDragClient::createDragImageForLink):
2831         (WebCore::EmptyInspectorClient::~EmptyInspectorClient):
2832         Renamed SVGImageEmpty*Client classes to Empty*Client.
2833
2834         * svg/graphics/SVGImage.cpp:
2835         (WebCore::SVGImage::dataChanged):
2836         * svg/graphics/SVGImageEmptyClients.h: Removed.
2837
2838 2008-06-19  Dan Bernstein  <mitz@apple.com>
2839
2840         Reviewed by Darin Adler.
2841
2842         - fix <rdar://problem/6008098> REGRESSION: Crash at FontFallbackList::fontDataAt()
2843
2844         Test: fast/css/font-face-multiple-families.html
2845
2846         Made changes to reflect the fact that the relationship between
2847         CSSFontFace and CSSSegmentedFontFace is in fact many-to-many.
2848
2849         * css/CSSFontFace.cpp:
2850         (WebCore::CSSFontFace::addedToSegmentedFontFace): Added.
2851         (WebCore::CSSFontFace::removedFromSegmentedFontFace): Added.
2852         (WebCore::CSSFontFace::fontLoaded): Changed to notify all segmented font
2853         faces that include this font face.
2854         (WebCore::CSSFontFace::getFontData): Updated to get the font selector
2855         from one of the segmented font faces.
2856         * css/CSSFontFace.h:
2857         (WebCore::CSSFontFace::CSSFontFace):
2858         * css/CSSFontSelector.cpp:
2859         (WebCore::CSSFontSelector::addFontFaceRule): Fixed the direct cause of
2860         the crash, namely releasing the font face when adding it to the first
2861         family that uses it, making it impossible to add it to the second and
2862         onwards families.
2863         * css/CSSSegmentedFontFace.cpp:
2864         (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): Added code to
2865         call CSSFontFace::removedFromSegmentedFontFace().
2866         (WebCore::CSSSegmentedFontFace::overlayRange): Added code to call
2867         CSSFontFace::{addedTo, removedFrom}SegmentedFontFace().
2868
2869 2008-06-19  Alexey Proskuryakov  <ap@webkit.org>
2870
2871         Qt build fix.
2872
2873         * bridge/qt/qt_runtime.h: Include completion.h.
2874
2875 2008-06-17  Alexey Proskuryakov  <ap@webkit.org>
2876
2877         Reviewed by Darin.
2878
2879         Prepare JavaScript heap for being per-thread.
2880
2881         * ForwardingHeaders/kjs/JSGlobalData.h: Added.
2882         * bindings/js/GCController.cpp:
2883         (WebCore::collect):
2884         (WebCore::GCController::gcTimerFired):
2885         (WebCore::GCController::garbageCollectNow):
2886         * bindings/js/JSAudioConstructor.cpp:
2887         (WebCore::JSAudioConstructor::JSAudioConstructor):
2888         * bindings/js/JSCSSRuleCustom.cpp:
2889         (WebCore::toJS):
2890         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2891         (WebCore::JSCSSStyleDeclaration::nameGetter):
2892         * bindings/js/JSCSSValueCustom.cpp:
2893         (WebCore::toJS):
2894         * bindings/js/JSCanvasPixelArrayCustom.cpp:
2895         (WebCore::JSCanvasPixelArray::indexGetter):
2896         (WebCore::toJS):
2897         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2898         (WebCore::toJS):
2899         * bindings/js/JSClipboardCustom.cpp:
2900         (WebCore::JSClipboard::types):
2901         (WebCore::JSClipboard::getData):
2902         * bindings/js/JSCustomXPathNSResolver.cpp:
2903         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2904         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2905         (WebCore::JSDOMApplicationCache::addEventListener):
2906         (WebCore::JSDOMApplicationCache::removeEventListener):
2907         (WebCore::JSDOMApplicationCache::setOnchecking):
2908         (WebCore::JSDOMApplicationCache::setOnerror):
2909         (WebCore::JSDOMApplicationCache::setOnnoupdate):
2910         (WebCore::JSDOMApplicationCache::setOndownloading):
2911         (WebCore::JSDOMApplicationCache::setOnprogress):
2912         (WebCore::JSDOMApplicationCache::setOnupdateready):
2913         (WebCore::JSDOMApplicationCache::setOncached):
2914         * bindings/js/JSDOMBinding.cpp:
2915         (WebCore::jsStringOrNull):
2916         (WebCore::jsOwnedStringOrNull):
2917         (WebCore::jsStringOrUndefined):
2918         (WebCore::jsStringOrFalse):
2919         (WebCore::nonCachingStaticFunctionGetter):
2920         (WebCore::objectToStringFunctionGetter):
2921         * bindings/js/JSDOMBinding.h:
2922         (WebCore::DOMObject::DOMObject):
2923         (WebCore::cacheDOMObject):
2924         (WebCore::cacheSVGDOMObject):
2925         * bindings/js/JSDOMWindowBase.cpp:
2926         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2927         (WebCore::JSDOMWindowBase::getValueProperty):
2928         (WebCore::JSDOMWindowBase::setListener):
2929         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
2930         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
2931         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
2932         (WebCore::windowProtoFuncAToB):
2933         (WebCore::windowProtoFuncBToA):
2934         (WebCore::windowProtoFuncSetTimeout):
2935         (WebCore::windowProtoFuncSetInterval):
2936         (WebCore::windowProtoFuncAddEventListener):
2937         * bindings/js/JSDOMWindowBase.h:
2938         * bindings/js/JSDOMWindowShell.cpp:
2939         (WebCore::JSDOMWindowShell::operator new):
2940         * bindings/js/JSDOMWindowShell.h:
2941         * bindings/js/JSDocumentCustom.cpp:
2942         (WebCore::toJS):
2943         * bindings/js/JSElementCustom.cpp:
2944         (WebCore::toJSNewlyCreated):
2945         * bindings/js/JSEventCustom.cpp:
2946         (WebCore::toJS):
2947         * bindings/js/JSEventListener.cpp:
2948         (WebCore::JSLazyEventListener::eventParameterName):
2949         (WebCore::JSLazyEventListener::parseCode):
2950         * bindings/js/JSEventTargetBase.cpp:
2951         (WebCore::jsEventTargetAddEventListener):
2952         * bindings/js/JSEventTargetBase.h:
2953         (WebCore::JSEventTargetPrototype::self):
2954         * bindings/js/JSEventTargetNode.cpp:
2955         (WebCore::JSEventTargetNode::setListener):
2956         * bindings/js/JSHTMLCollectionCustom.cpp:
2957         (WebCore::getNamedItems):
2958         (WebCore::toJS):
2959         * bindings/js/JSHTMLFormElementCustom.cpp:
2960         (WebCore::JSHTMLFormElement::nameGetter):
2961         * bindings/js/JSHTMLInputElementBase.cpp:
2962         (WebCore::JSHTMLInputElementBase::getValueProperty):
2963         * bindings/js/JSHTMLOptionElementConstructor.cpp:
2964         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
2965         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2966         (WebCore::JSHTMLOptionsCollection::length):
2967         * bindings/js/JSInspectedObjectWrapper.cpp:
2968         (WebCore::JSInspectedObjectWrapper::wrap):
2969         * bindings/js/JSInspectorCallbackWrapper.cpp:
2970         (WebCore::JSInspectorCallbackWrapper::wrap):
2971         * bindings/js/JSLocationCustom.cpp:
2972         (WebCore::JSLocation::toString):
2973         * bindings/js/JSNamedNodesCollection.cpp:
2974         (WebCore::JSNamedNodesCollection::lengthGetter):
2975         * bindings/js/JSNavigatorCustom.cpp:
2976         (WebCore::JSNavigator::appVersion):
2977         * bindings/js/JSNodeCustom.cpp:
2978         (WebCore::createWrapper):
2979         * bindings/js/JSNodeFilterCustom.cpp:
2980         (WebCore::JSNodeFilter::acceptNode):
2981         * bindings/js/JSPluginElementFunctions.cpp:
2982         (WebCore::getRuntimeObject):
2983         * bindings/js/JSRGBColor.cpp:
2984         (WebCore::getJSRGBColor):
2985         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2986         (WebCore::JSSQLResultSetRowList::item):
2987         * bindings/js/JSSVGLazyEventListener.cpp:
2988         (WebCore::JSSVGLazyEventListener::eventParameterName):
2989         * bindings/js/JSStorageCustom.cpp:
2990         (WebCore::JSStorage::nameGetter):
2991         * bindings/js/JSStyleSheetCustom.cpp:
2992         (WebCore::toJS):
2993         * bindings/js/JSTextCustom.cpp:
2994         (WebCore::toJSNewlyCreated):
2995         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2996         (WebCore::JSXMLHttpRequestConstructor::construct):
2997         * bindings/js/JSXMLHttpRequestCustom.cpp:
2998         (WebCore::JSXMLHttpRequest::setOnreadystatechange):
2999         (WebCore::JSXMLHttpRequest::setOnload):
3000         (WebCore::JSXMLHttpRequest::setOnprogress):
3001         (WebCore::JSXMLHttpRequest::getResponseHeader):
3002         (WebCore::JSXMLHttpRequest::addEventListener):
3003         (WebCore::JSXMLHttpRequest::removeEventListener):
3004         * bindings/js/JSXSLTProcessorConstructor.cpp:
3005         (WebCore::JSXSLTProcessorConstructor::construct):
3006         * bindings/js/JSXSLTProcessorCustom.cpp:
3007         (WebCore::JSXSLTProcessor::getParameter):
3008         * bindings/scripts/CodeGeneratorJS.pm:
3009         * bridge/c/c_instance.cpp:
3010         (KJS::Bindings::CInstance::defaultValue):
3011         (KJS::Bindings::CInstance::stringValue):
3012         (KJS::Bindings::CInstance::numberValue):
3013         (KJS::Bindings::CInstance::valueOf):
3014         * bridge/c/c_instance.h:
3015         * bridge/c/c_utility.cpp:
3016         (KJS::Bindings::convertNPVariantToValue):
3017         * bridge/jni/jni_instance.cpp:
3018         (JavaInstance::stringValue):
3019         (JavaInstance::numberValue):
3020         (JavaInstance::invokeMethod):
3021         (JavaInstance::defaultValue):
3022         (JavaInstance::valueOf):
3023         * bridge/jni/jni_instance.h:
3024         * bridge/jni/jni_jsobject.h:
3025         * bridge/jni/jni_jsobject.mm:
3026         (JavaJSObject::call):
3027         (JavaJSObject::setMember):
3028         (JavaJSObject::setSlot):
3029         (JavaJSObject::convertJObjectToValue):
3030         (JavaJSObject::getListFromJArray):
3031         * bridge/jni/jni_objc.mm:
3032         (KJS::Bindings::dispatchJNICall):
3033         * bridge/jni/jni_runtime.cpp:
3034         (JavaArray::convertJObjectToArray):
3035         (JavaField::dispatchValueFromInstance):
3036         (JavaField::valueFromInstance):
3037         (JavaField::dispatchSetValueToInstance):
3038         (JavaArray::valueAt):
3039         * bridge/jni/jni_utility.h:
3040         * bridge/objc/objc_class.mm:
3041         (KJS::Bindings::ObjcClass::fallbackObject):
3042         * bridge/objc/objc_instance.h:
3043         * bridge/objc/objc_instance.mm:
3044         (ObjcInstance::defaultValue):
3045         (ObjcInstance::stringValue):
3046         (ObjcInstance::numberValue):
3047         (ObjcInstance::valueOf):
3048         * bridge/objc/objc_utility.h:
3049         * bridge/objc/objc_utility.mm:
3050         (KJS::Bindings::convertNSStringToString):
3051         (KJS::Bindings::convertObjcValueToValue):
3052         * bridge/runtime.cpp:
3053         (KJS::Bindings::Instance::createRuntimeObject):
3054         * bridge/runtime.h:
3055         (KJS::Bindings::Instance::valueOf):
3056         * bridge/runtime_array.cpp:
3057         (RuntimeArray::lengthGetter):
3058         * bridge/runtime_method.cpp:
3059         (RuntimeMethod::lengthGetter):
3060         * bridge/runtime_object.cpp:
3061         (RuntimeObjectImp::RuntimeObjectImp):
3062         (RuntimeObjectImp::methodGetter):
3063         (RuntimeObjectImp::defaultValue):
3064         * dom/make_names.pl:
3065         * xml/XMLHttpRequest.cpp:
3066         (WebCore::XMLHttpRequest::dropProtection):
3067         * bridge/qt/qt_class.cpp:
3068         (KJS::Bindings::QtClass::fallbackObject):
3069         * bridge/qt/qt_instance.cpp:
3070         (KJS::Bindings::QtRuntimeObjectImp::construct):
3071         (KJS::Bindings::QtInstance::getRuntimeObject):
3072         (KJS::Bindings::QtInstance::invokeDefaultMethod):
3073         (KJS::Bindings::QtInstance::defaultValue):
3074         (KJS::Bindings::QtInstance::stringValue):
3075         (KJS::Bindings::QtInstance::numberValue):
3076         (KJS::Bindings::QtInstance::valueOf):
3077         * bridge/qt/qt_instance.h:
3078         * bridge/qt/qt_runtime.cpp:
3079         (KJS::Bindings::convertValueToQVariant):
3080         (KJS::Bindings::convertQVariantToValue):
3081         (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
3082         (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
3083         (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
3084         (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
3085         (KJS::Bindings::QtConnectionObject::execute):
3086         Pass ExecState* where now required.
3087
3088 2008-06-19  Timothy Hatcher  <timothy@apple.com>
3089
3090         Update the JavaScript syntax highlight colors to match Xcode.
3091         This matches the other Xcode colors we are using for HTML.
3092
3093         Reviewed by Dan Bernstein.
3094
3095         * page/inspector/SourceFrame.js:
3096
3097 2008-06-19  Keishi Hattori  <casey.hattori@gmail.com>
3098
3099         Added JavaScript syntax highlighting to the Web Inspector.
3100
3101         https://bugs.webkit.org/show_bug.cgi?id=14360
3102
3103         Reviewed by Tim Hatcher and Adam Roben.
3104
3105         * page/inspector/ScriptView.js: Added a call to syntaxHighlightJavascript.
3106         * page/inspector/SourceFrame.js:
3107         (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): Added.
3108         Modifies a line content element.
3109         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Added.
3110         Syntax highlights the entire script.
3111         * page/inspector/SourceView.js: Added a call to syntaxHighlightJavascript.
3112
3113 2008-06-19  Alex Mathews  <possessedpenguinbob@gmail.com>
3114
3115         Reviewed by Oliver.
3116
3117         Starting to clean up the SVG Filter code. Mostly adding 'create' wrapper
3118         functions and changing raw pointer fields to RefPtrs.
3119
3120         * Configurations/WebCore.xcconfig:
3121         * WebCore.xcodeproj/project.pbxproj:
3122         * svg/SVGFEBlendElement.cpp:
3123         (WebCore::SVGFEBlendElement::~SVGFEBlendElement):
3124         (WebCore::SVGFEBlendElement::filterEffect):
3125         * svg/SVGFEBlendElement.h:
3126         * svg/SVGFEColorMatrixElement.cpp:
3127         (WebCore::SVGFEColorMatrixElement::~SVGFEColorMatrixElement):
3128         (WebCore::SVGFEColorMatrixElement::filterEffect):
3129         * svg/SVGFEColorMatrixElement.h:
3130         * svg/SVGFEComponentTransferElement.cpp:
3131         (WebCore::SVGFEComponentTransferElement::~SVGFEComponentTransferElement):
3132         (WebCore::SVGFEComponentTransferElement::filterEffect):
3133         * svg/SVGFEComponentTransferElement.h:
3134         * svg/SVGFECompositeElement.cpp:
3135         (WebCore::SVGFECompositeElement::~SVGFECompositeElement):
3136         (WebCore::SVGFECompositeElement::filterEffect):
3137         * svg/SVGFECompositeElement.h:
3138         * svg/SVGFEDiffuseLightingElement.cpp:
3139         (WebCore::SVGFEDiffuseLightingElement::~SVGFEDiffuseLightingElement):
3140         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
3141         * svg/SVGFEDiffuseLightingElement.h:
3142         * svg/SVGFEDisplacementMapElement.cpp:
3143         (WebCore::SVGFEDisplacementMapElement::~SVGFEDisplacementMapElement):
3144         (WebCore::SVGFEDisplacementMapElement::filterEffect):
3145         * svg/SVGFEDisplacementMapElement.h:
3146         * svg/SVGFEFloodElement.cpp:
3147         (WebCore::SVGFEFloodElement::~SVGFEFloodElement):
3148         (WebCore::SVGFEFloodElement::filterEffect):
3149         * svg/SVGFEFloodElement.h:
3150         * svg/SVGFEGaussianBlurElement.cpp:
3151         (WebCore::SVGFEGaussianBlurElement::~SVGFEGaussianBlurElement):
3152         (WebCore::SVGFEGaussianBlurElement::filterEffect):
3153         * svg/SVGFEGaussianBlurElement.h:
3154         * svg/SVGFEImageElement.cpp:
3155         (WebCore::SVGFEImageElement::~SVGFEImageElement):
3156         (WebCore::SVGFEImageElement::filterEffect):
3157         * svg/SVGFEImageElement.h:
3158         * svg/SVGFEMergeElement.cpp:
3159         (WebCore::SVGFEMergeElement::~SVGFEMergeElement):
3160         (WebCore::SVGFEMergeElement::filterEffect):
3161         * svg/SVGFEMergeElement.h:
3162         * svg/SVGFEOffsetElement.cpp:
3163         (WebCore::SVGFEOffsetElement::~SVGFEOffsetElement):
3164         (WebCore::SVGFEOffsetElement::filterEffect):
3165         * svg/SVGFEOffsetElement.h:
3166         * svg/SVGFESpecularLightingElement.cpp:
3167         (WebCore::SVGFESpecularLightingElement::~SVGFESpecularLightingElement):
3168         (WebCore::SVGFESpecularLightingElement::filterEffect):
3169         * svg/SVGFESpecularLightingElement.h:
3170         * svg/SVGFETileElement.cpp:
3171         (WebCore::SVGFETileElement::~SVGFETileElement):
3172         (WebCore::SVGFETileElement::filterEffect):
3173         * svg/SVGFETileElement.h:
3174         * svg/SVGFETurbulenceElement.cpp:
3175         (WebCore::SVGFETurbulenceElement::~SVGFETurbulenceElement):
3176         (WebCore::SVGFETurbulenceElement::filterEffect):
3177         * svg/SVGFETurbulenceElement.h:
3178         * svg/graphics/SVGResourceFilter.cpp:
3179         (WebCore::SVGResourceFilter::addFilterEffect):
3180         * svg/graphics/SVGResourceFilter.h:
3181         * svg/graphics/filters/SVGFEBlend.cpp:
3182         (WebCore::SVGFEBlend::create):
3183         * svg/graphics/filters/SVGFEBlend.h:
3184         * svg/graphics/filters/SVGFEColorMatrix.cpp:
3185         (WebCore::SVGFEColorMatrix::create):
3186         * svg/graphics/filters/SVGFEColorMatrix.h:
3187         * svg/graphics/filters/SVGFEComponentTransfer.cpp:
3188         (WebCore::SVGFEComponentTransfer::create):
3189         * svg/graphics/filters/SVGFEComponentTransfer.h:
3190         * svg/graphics/filters/SVGFEComposite.cpp:
3191         (WebCore::SVGFEComposite::create):
3192         * svg/graphics/filters/SVGFEComposite.h:
3193         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
3194         (WebCore::SVGFEConvolveMatrix::create):
3195         * svg/graphics/filters/SVGFEConvolveMatrix.h:
3196         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
3197         (WebCore::SVGFEDiffuseLighting::create):
3198         (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
3199         (WebCore::SVGFEDiffuseLighting::lightSource):
3200         (WebCore::SVGFEDiffuseLighting::setLightSource):
3201         * svg/graphics/filters/SVGFEDiffuseLighting.h:
3202         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
3203         (WebCore::SVGFEDisplacementMap::create):
3204         * svg/graphics/filters/SVGFEDisplacementMap.h:
3205         * svg/graphics/filters/SVGFEFlood.cpp:
3206         (WebCore::SVGFEFlood::create):
3207         * svg/graphics/filters/SVGFEFlood.h:
3208         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
3209         (WebCore::SVGFEGaussianBlur::create):
3210         * svg/graphics/filters/SVGFEGaussianBlur.h:
3211         * svg/graphics/filters/SVGFEImage.cpp:
3212         (WebCore::SVGFEImage::create):
3213         * svg/graphics/filters/SVGFEImage.h:
3214         * svg/graphics/filters/SVGFEMerge.cpp:
3215         (WebCore::SVGFEMerge::SVGFEMerge):
3216         (WebCore::SVGFEMerge::create):
3217         * svg/graphics/filters/SVGFEMerge.h:
3218         * svg/graphics/filters/SVGFEOffset.cpp:
3219         (WebCore::SVGFEOffset::create):
3220         * svg/graphics/filters/SVGFEOffset.h:
3221         * svg/graphics/filters/SVGFESpecularLighting.cpp:
3222         (WebCore::SVGFESpecularLighting::create):
3223         (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
3224         (WebCore::SVGFESpecularLighting::lightSource):
3225         (WebCore::SVGFESpecularLighting::setLightSource):
3226         * svg/graphics/filters/SVGFESpecularLighting.h:
3227         * svg/graphics/filters/SVGFETile.cpp: Added.
3228         (WebCore::SVGFETile::SVGFETile):
3229         (WebCore::SVGFETile::create):
3230         * svg/graphics/filters/SVGFETile.h:
3231         * svg/graphics/filters/SVGFETurbulence.cpp:
3232         (WebCore::SVGFETurbulence::create):
3233         * svg/graphics/filters/SVGFETurbulence.h:
3234         * svg/graphics/filters/SVGFilterEffect.h:
3235         * svg/graphics/filters/SVGLightSource.h:
3236
3237 2008-06-18  Adele Peterson  <adele@apple.com>
3238
3239         Reviewed by Dan Bernstein.
3240
3241         Fix assertion in fast/dom/ImageDocument-image-deletion.html caused by new media document creation.
3242
3243         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
3244           Create the media document after we're done processing pdfs and images.
3245
3246 192008-06-17  Dan Bernstein  <mitz@apple.com>
3247
3248         Reviewed by Darin Adler.
3249
3250         - fix https://bugs.webkit.org/show_bug.cgi?id=19598
3251           Crash in WebCore::RenderBlock::determineStartPosition
3252
3253         Test: fast/dynamic/floating-to-positioned-2.html
3254
3255         * rendering/RenderObject.cpp:
3256         (WebCore::RenderObject::setStyle): Changed to also remove relatively
3257         positioned floats from object lists when they become positioned, because
3258         then they cease to be floating.
3259
3260 2008-06-18  Darin Adler  <darin@apple.com>
3261
3262         Reviewed by Mark Rowe.
3263
3264         - fix storage leak
3265
3266         * css/CSSMutableStyleDeclaration.cpp:
3267         (WebCore::CSSMutableStyleDeclaration::copy): Added an adoptRef that
3268         I missed when changing these objects to start with a refcount of 1.
3269
3270 2008-06-18  Timothy Hatcher  <timothy@apple.com>
3271
3272         Add a script build phase to remove the WebKit.qrc file from
3273         WebCore's resources. This file is used for the Qt port, but we
3274         copy the whole inspector folder for connivence and get this file.
3275
3276         Reviewed by Adam Roben.
3277
3278         * WebCore.xcodeproj/project.pbxproj: New script phase.
3279
3280 2008-06-18  Timothy Hatcher  <timothy@apple.com>
3281
3282         Combine the Web Inspector's JavaScript resources into one large
3283         script file to speed up loading of the Inspector. This is only
3284         done for Release and Production builds.
3285
3286         Reviewed by Adam Roben.
3287
3288         * WebCore.xcodeproj/project.pbxproj: Added a Streamline Inspector Source
3289         script build phase that calls combine-javascript-resources and
3290         moves files around in the build directory.
3291         * combine-javascript-resources: Added.
3292
3293 2008-06-18  Rob Buis  <buis@kde.org>
3294
3295         Reviewed by Darin.
3296
3297         https://bugs.webkit.org/show_bug.cgi?id=18786
3298         Once rendered, SVG text elements removed from DOM continue to be displayed
3299
3300         Repaint the text visual rect before removing it.
3301
3302         * rendering/RenderSVGInlineText.cpp:
3303         (WebCore::RenderSVGInlineText::destroy):
3304         * rendering/RenderSVGInlineText.h:
3305
3306 2008-06-18  Christian Dywan  <christian@twotoasts.de>
3307
3308         Gtk build fix, brought up by Dirk Schulze.
3309
3310         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
3311
3312 2008-06-17  Beth Dakin  <bdakin@apple.com>
3313
3314         Reviewed by Tim.
3315
3316         This patch removes all instances of the phrase "TextMarker" from 
3317         function names in the C++ accessibility code. TextMarkers only 
3318         exists in the Objective-C code.
3319
3320         * page/AccessibilityObject.cpp:
3321         (WebCore::AccessibilityObject::visiblePositionRangeForLine):
3322         (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
3323         (WebCore::AccessibilityObject::positionOfLeftWord):
3324         (WebCore::AccessibilityObject::positionOfRightWord):
3325         (WebCore::AccessibilityObject::leftLineVisiblePositionRange):
3326         (WebCore::AccessibilityObject::rightLineVisiblePositionRange):
3327         (WebCore::AccessibilityObject::sentenceForPosition):
3328         (WebCore::AccessibilityObject::paragraphForPosition):
3329         (WebCore::AccessibilityObject::styleRangeForPosition):
3330         (WebCore::AccessibilityObject::visiblePositionRangeForRange):
3331         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
3332         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
3333         (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
3334         (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
3335         (WebCore::AccessibilityObject::visiblePositionForPoint):
3336         (WebCore::AccessibilityObject::nextVisiblePosition):
3337         (WebCore::AccessibilityObject::previousVisiblePosition):
3338         (WebCore::AccessibilityObject::nextWordEnd):
3339         (WebCore::AccessibilityObject::previousWordStart):
3340         (WebCore::AccessibilityObject::nextLineEndPosition):
3341         (WebCore::AccessibilityObject::previousLineStartPosition):
3342         (WebCore::AccessibilityObject::nextSentenceEndPosition):
3343         (WebCore::AccessibilityObject::previousSentenceStartPosition):
3344         (WebCore::AccessibilityObject::nextParagraphEndPosition):
3345         (WebCore::AccessibilityObject::previousParagraphStartPosition):
3346         (WebCore::AccessibilityObject::visiblePositionForIndex):
3347         (WebCore::AccessibilityObject::accessibilityObjectForPosition):
3348         (WebCore::AccessibilityObject::lineForPosition):
3349         (WebCore::AccessibilityObject::plainTextRangeForVisiblePositionRange):
3350         (WebCore::AccessibilityObject::index):
3351         (WebCore::AccessibilityObject::doAXRangeForPosition):
3352         (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
3353         (WebCore::AccessibilityObject::doAXLineForIndex):
3354         * page/AccessibilityObject.h:
3355         * page/AccessibilityRenderObject.cpp:
3356         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
3357         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
3358         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
3359         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
3360         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
3361         (WebCore::AccessibilityRenderObject::index):
3362         (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
3363         * page/AccessibilityRenderObject.h:
3364         * page/mac/AccessibilityObjectWrapper.mm:
3365         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3366         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
3367         (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
3368         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3369
3370 2008-06-17  Mark Rowe  <mrowe@apple.com>
3371
3372         Reviewed by Darin Adler.
3373
3374         <rdar://problem/5775802> WebCore should not force use of GCC 4.0.
3375
3376         * WebCore.xcodeproj/project.pbxproj:
3377
3378 2008-06-17  Darin Adler  <darin@apple.com>
3379
3380         Reviewed by Sam.
3381
3382         - eliminate the last RefCounted client that needs the "start at 0" behavior, NodeFilter
3383
3384         - move handling of non-Attr arguments from the code generation script to the DOM
3385           itself (as with every other type of argument)
3386
3387         * bindings/js/JSNodeFilterCustom.cpp:
3388         (WebCore::toNodeFilter): Changed return type to PassRefPtr. Use create instead of new.
3389
3390         * bindings/objc/DOM.mm:
3391         (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
3392         Use create instead of new.
3393         (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
3394         Ditto.
3395
3396         * bindings/scripts/CodeGeneratorJS.pm: Use PassRefPtr and RefPtr for toNodeFilter and
3397         the local variable for NodeFilter arguments. Remove the TypeCanFailConversion mechanism:
3398         It's no longer needed for Attr, was not having any effect for VoidCallback, and was
3399         returning false for all other types.
3400
3401         * dom/Element.cpp:
3402         (WebCore::Element::setAttributeNode): Added code to return TYPE_MISMATCH_ERR when
3403         the attr is 0 -- this matches what the autogenerated bindings did before.
3404         (WebCore::Element::setAttributeNodeNS): Ditto.
3405         (WebCore::Element::removeAttributeNode): Ditto.
3406
3407         * dom/NodeFilter.h: Added create, made constructor private, and got rid of code to
3408         initialize the refcount to 0.
3409
3410         * html/CanvasPattern.h: Made CachedResourceClient base class private in a
3411         more-explicit way.
3412
3413 2008-06-17  Adam Roben  <aroben@apple.com>
3414
3415         Fix <rdar://6016755> Assertion failure when WebView is child of
3416         message-only window
3417
3418         Reviewed by Ada Chan.
3419
3420         No test possible.
3421
3422         * platform/win/WindowMessageBroadcaster.cpp:
3423         (WebCore::WindowMessageBroadcaster::addListener): Only subclass the
3424         window when we're adding our first listener. Removed an assertion that
3425         an old WNDPROC was returned -- this will be 0 in the case of a
3426         message-only window. Added an assertion to help catch cases where we
3427         try to subclass the window twice.
3428         (WebCore::WindowMessageBroadcaster::unsubclassWindow): Removed an
3429         assertion that is not correct in the message-only window case.
3430
3431 2008-06-17  Adele Peterson  <adele@apple.com>
3432
3433         Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO)
3434
3435         * loader/MediaDocument.cpp:
3436         * loader/MediaDocument.h:
3437
3438 2008-06-17  Adele Peterson  <adele@apple.com>
3439
3440         Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO)
3441
3442         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
3443
3444 2008-06-17  Adele Peterson  <adele@apple.com>
3445
3446         Reviewed by Brady.
3447
3448         Fix for <rdar://problem/5605768> Render full-page video/audio with <video>/<audio> instead of QuickTime plug-in
3449
3450         * WebCore.xcodeproj/project.pbxproj: Added MediaDocument class.
3451         * GNUmakefile.am: ditto.
3452         * WebCore.pro: ditto.
3453         * WebCore.vcproj/WebCore.vcproj: ditto.
3454         * WebCoreSources.bkl: ditto.
3455
3456         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
3457           Check to see if the type can be played by our MediaPlayer, if so create a MediaDocument
3458         * dom/Document.h: (WebCore::Document::isMediaDocument): Added.
3459
3460         * loader/MediaDocument.cpp: Added.
3461         (WebCore::MediaTokenizer::MediaTokenizer):
3462         (WebCore::MediaTokenizer::wantsRawData):
3463         (WebCore::MediaTokenizer::write):
3464         (WebCore::MediaTokenizer::createDocumentStructure):
3465         (WebCore::MediaTokenizer::writeRawData):
3466         (WebCore::MediaTokenizer::stopParsing):
3467         (WebCore::MediaTokenizer::finish):
3468         (WebCore::MediaTokenizer::isWaitingForScripts):
3469         (WebCore::MediaDocument::MediaDocument):
3470         (WebCore::MediaDocument::createTokenizer):
3471         * loader/MediaDocument.h: Added.
3472         (WebCore::MediaDocument::create):
3473         (WebCore::MediaDocument::isMediaDocument):
3474
3475         * page/InspectorController.cpp: (WebCore::getResourceDocumentNode):
3476           Added MediaDocument case so it is handled the same as a PluginDocument or ImageDocument.
3477         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::supportsType): Added.
3478         * platform/graphics/MediaPlayer.h:
3479         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
3480           Instead of checking the html element to decide if the media is audio, check the player.
3481           This means that if a video element actually only contains audio, then we will still avoid fading the controls in and out.
3482
3483 2008-06-17  Timothy Hatcher  <timothy@apple.com>
3484
3485         Adds the file name and line number for call frames next to
3486         the function name in the Call Stack pane.
3487
3488         https://bugs.webkit.org/show_bug.cgi?id=19586
3489
3490         Reviewed by Adam Roben.
3491
3492         * English.lproj/localizedStrings.js: Updated strings.
3493         * page/inspector/CallStackSidebarPane.js:
3494         (WebInspector.CallStackSidebarPane.prototype.update): Create a subtitle
3495         based on the URL and line number.
3496
3497 2008-06-17  Timothy Hatcher  <timothy@apple.com>
3498
3499         Use accurate call frame title's based on the call frame type.
3500
3501         https://bugs.webkit.org/show_bug.cgi?id=19585
3502
3503         Reviewed by Geoff Garen.
3504
3505         * English.lproj/localizedStrings.js: Updated strings.
3506         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3507         (WebCore::JSJavaScriptCallFrame::evaluate): Removed the isValid()
3508         check since the evaluate() functiondoes the check already.
3509         (WebCore::JSJavaScriptCallFrame::thisObject): Removed the isValid()
3510         check, since thisObject() does the check and returns null if invalid.
3511         (WebCore::JSJavaScriptCallFrame::type): Return a string
3512         based on the enum value of the type.
3513         (WebCore::JSJavaScriptCallFrame::scopeChain): Removed the isValid()
3514         check, since scopeChain() does the check and returns null if invalid.
3515         So just null check scopeChain().
3516         * page/JavaScriptCallFrame.cpp:
3517         (WebCore::JavaScriptCallFrame::type): Return the DebuggerCallFrame::Type.
3518         Return DebuggerCallFrame::UnknownType if the call frame is invalid.
3519         * page/JavaScriptCallFrame.h:
3520         * page/JavaScriptCallFrame.idl: Add the type property.
3521         * page/inspector/CallStackSidebarPane.js:
3522         (WebInspector.CallStackSidebarPane.prototype.update): Check the type
3523         of the call frame to create the correct title.
3524         * page/inspector/ScriptsPanel.js:
3525         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use the
3526         "(program)" title for the file menu to match the call frames.
3527
3528 2008-06-17  Timothy Hatcher  <timothy@apple.com>
3529
3530         Remember the expanded state of objects in the Scope Variables pane when stepping.
3531         https://bugs.webkit.org/show_bug.cgi?id=19584
3532
3533         Reviewed by Adam Roben.
3534
3535         * page/inspector/ObjectPropertiesSection.js:
3536         (WebInspector.ObjectPropertiesSection): Add an optional argument
3537         that is the treeElementConstructor to use when making TreeElements.
3538         (WebInspector.ObjectPropertiesSection.prototype.onpopulate): Use
3539         the treeElementConstructor to create TreeElements.
3540         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Use
3541         the treeElementConstructor to create TreeElements.
3542         * page/inspector/ScopeChainSidebarPane.js:
3543         (WebInspector.ScopeChainSidebarPane.prototype.update): Create an
3544         _expandedProperties object on the callframe if one doesn't exist yet.
3545         Pass WebInspector.ScopeVariableTreeElement to the ObjectPropertiesSection
3546         as the TreeElement constructor we want to use.
3547         (WebInspector.ScopeVariableTreeElement): Added.
3548         (WebInspector.ScopeVariableTreeElement.prototype.onattach): Expand if the
3549         propertyIdentifier is in the pane's _expandedProperties.
3550         (WebInspector.ScopeVariableTreeElement.prototype.onexpand): Add the
3551         propertyIdentifier to the pane's _expandedProperties.
3552         (WebInspector.ScopeVariableTreeElement.prototype.oncollapse): Remove the
3553         propertyIdentifier from the pane's _expandedProperties.
3554         (WebInspector.ScopeVariableTreeElement.prototype.get propertyIdentifier):
3555         Return an identifier that has the section title, subtile and propertyPath concatenated.
3556         (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath): Return a string
3557         that has the propertyNames up to the root ancestor concatenated with a period.
3558
3559 2008-06-17  Timothy Hatcher  <timothy@apple.com>
3560
3561         Focus the mainPanelsElement in a timeout so it happens after the
3562         initial focus, so it doesn't get reset to the first toolbar button.
3563         This initial focus happens on Mac when the window is made key and
3564         the WebHTMLView becomes the first responder.
3565
3566         https://bugs.webkit.org/show_bug.cgi?id=19587
3567
3568         Reviewed by Adele Peterson.
3569
3570         * page/inspector/inspector.js:
3571         (WebInspector.loaded): Focus the mainPanelsElement in a timeout.
3572
3573 2008-06-17  Timothy Hatcher  <timothy@apple.com>
3574
3575         Use tabIndex in the Web Inspector for focusable areas.
3576         https://bugs.webkit.org/show_bug.cgi?id=19583
3577
3578         Reviewed by Adam Roben.
3579
3580         * page/inspector/Console.js:
3581         (WebInspector.Console): No longer make the messagesElement
3582         focusable since the engine handles the case for us. The promptElement
3583         now handles the key events.
3584         (WebInspector.Console.prototype.show): Set the current focus element
3585         to the prompt element.
3586         (WebInspector.Console.prototype.hide): Set the current focus element
3587         to WebInspector.previousFocusElement.
3588         (WebInspector.Console.prototype._messagesFocused): Removed.
3589         * page/inspector/DataGrid.js:
3590         (WebInspector.DataGrid): Remove the focusable class.
3591         * page/inspector/DatabaseQueryView.js:
3592         (WebInspector.DatabaseQueryView): Remove the focusable class. Set
3593         tabIndex to 0. The promptElement now handles the key events.
3594         (WebInspector.DatabaseQueryView.prototype._focused): Removed.
3595         * page/inspector/inspector.css: Updated selectors to use :focus
3596         instead of .focused and .blurred.
3597         * page/inspector/inspector.html: Removed focusable, focused and blurred
3598         classes and added tabindex attributes.
3599         * page/inspector/inspector.js:
3600         (WebInspector.get previousFocusElement): Added. Returns _previousFocusElement.
3601         (WebInspector.set currentFocusElement): Simplified. Stores the previous element
3602         in _previousFocusElement for clients that need it. Calls focus on the passed
3603         in element or blur on the previous element.
3604         (WebInspector.loaded): Removed the event listener for mousedown. Renamed
3605         changeFocus to focusChanged.
3606         (WebInspector.focusChanged): Renamed from changeFocus. Just sets the
3607         currentFocusElement to the event target.
3608         (WebInspector.startEditing): Changed to use tabIndex and blur events.
3609         Add a more robust check for restoring focus to the previous element
3610         when editing finishes that catches focused descendants.
3611
3612 2008-06-17  Timothy Hatcher  <timothy@apple.com>
3613
3614         Removed redundant if statements and early returns from
3615         AccessibilityRenderObject::ariaRoleAttribute.
3616
3617         Reviewed by Sam Wenig.
3618
3619         * page/AccessibilityRenderObject.cpp:
3620         (AccessibilityRenderObject::ariaRoleAttribute): Removed redundant if
3621         statements and early returns.
3622
3623 2008-06-17  Timothy Hatcher  <timothy@apple.com>
3624
3625         Removed duplicate implementations of setTabIndex. They all matched
3626         the HTMLElement::setTabIndex implementation.
3627
3628         Reviewed by Sam Wenig.
3629
3630         * html/HTMLAnchorElement.cpp: Removed setTabIndex.
3631         * html/HTMLAreaElement.cpp: Ditto.
3632         * html/HTMLFormControlElement.cpp: Ditto.
3633         * html/HTMLFormControlElement.h: Ditto.
3634         * html/HTMLObjectElement.cpp: Ditto.
3635         * html/HTMLObjectElement.h: Ditto.
3636
3637 2008-06-17  Darin Adler  <darin@apple.com>
3638
3639         Reviewed by Sam.
3640
3641         - more of https://bugs.webkit.org/show_bug.cgi?id=17257
3642           start ref counts at 1 instead of 0 for speed
3643
3644         Change StyleBase and all classes derived from it.
3645
3646         * bindings/js/JSRGBColor.cpp:
3647         (WebCore::JSRGBColor::getValueProperty):
3648         * bindings/objc/DOMRGBColor.mm:
3649         (-[DOMRGBColor red]):
3650         (-[DOMRGBColor green]):
3651         (-[DOMRGBColor blue]):
3652         (-[DOMRGBColor alpha]):
3653         * css/CSSBorderImageValue.cpp:
3654         (WebCore::CSSBorderImageValue::cssText):
3655         * css/CSSBorderImageValue.h:
3656         (WebCore::CSSBorderImageValue::create):
3657         * css/CSSCanvasValue.h:
3658         (WebCore::CSSCanvasValue::create):
3659         (WebCore::CSSCanvasValue::setName):
3660         (WebCore::CSSCanvasValue::CSSCanvasValue):
3661         * css/CSSCharsetRule.cpp:
3662         (WebCore::CSSCharsetRule::CSSCharsetRule):
3663         * css/CSSCharsetRule.h:
3664         (WebCore::CSSCharsetRule::create):
3665         (WebCore::CSSCharsetRule::encoding):
3666         (WebCore::CSSCharsetRule::isCharsetRule):
3667         (WebCore::CSSCharsetRule::type):
3668         * css/CSSComputedStyleDeclaration.cpp:
3669         (WebCore::valueForShadow):
3670         (WebCore::valueForNinePieceImage):
3671         (WebCore::valueForReflection):
3672         (WebCore::getPositionOffsetValue):
3673         (WebCore::currentColorOrValidColor):
3674         (WebCore::getBorderRadiusCornerValue):
3675         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3676         * css/CSSComputedStyleDeclaration.h:
3677         (WebCore::computedStyle):
3678         * css/CSSCursorImageValue.h:
3679         (WebCore::CSSCursorImageValue::create):
3680         * css/CSSFontFaceRule.cpp:
3681         (WebCore::CSSFontFaceRule::CSSFontFaceRule):
3682         * css/CSSFontFaceRule.h:
3683         (WebCore::CSSFontFaceRule::create):
3684         (WebCore::CSSFontFaceRule::isFontFaceRule):
3685         (WebCore::CSSFontFaceRule::type):
3686         * css/CSSFontFaceSrcValue.h:
3687         (WebCore::CSSFontFaceSrcValue::create):
3688         (WebCore::CSSFontFaceSrcValue::createLocal):
3689         (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
3690         (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
3691         * css/CSSGradientValue.h:
3692         (WebCore::CSSGradientColorStop::CSSGradientColorStop):
3693         (WebCore::CSSGradientValue::create):
3694         (WebCore::CSSGradientValue::CSSGradientValue):
3695         * css/CSSImageGeneratorValue.h:
3696         (WebCore::CSSImageGeneratorValue::isImageGeneratorValue):
3697         * css/CSSImageValue.h:
3698         (WebCore::CSSImageValue::create):
3699         * css/CSSImportRule.cpp:
3700         (WebCore::CSSImportRule::CSSImportRule):
3701         (WebCore::CSSImportRule::setCSSStyleSheet):
3702         * css/CSSImportRule.h:
3703         (WebCore::CSSImportRule::create):
3704         (WebCore::CSSImportRule::isImportRule):
3705         (WebCore::CSSImportRule::type):
3706         * css/CSSInheritedValue.h:
3707         (WebCore::CSSInheritedValue::create):
3708         (WebCore::CSSInheritedValue::CSSInheritedValue):
3709         * css/CSSInitialValue.h:
3710         (WebCore::CSSInitialValue::createExplicit):
3711         (WebCore::CSSInitialValue::createImplicit):
3712         (WebCore::CSSInitialValue::CSSInitialValue):
3713         * css/CSSMediaRule.cpp:
3714         (WebCore::CSSMediaRule::CSSMediaRule):
3715         * css/CSSMediaRule.h:
3716         (WebCore::CSSMediaRule::create):
3717         (WebCore::CSSMediaRule::isMediaRule):
3718         (WebCore::CSSMediaRule::type):
3719         * css/CSSMutableStyleDeclaration.cpp:
3720         (WebCore::CSSMutableStyleDeclaration::setProperty):
3721         (WebCore::CSSMutableStyleDeclaration::setStringProperty):
3722         * css/CSSMutableStyleDeclaration.h:
3723         (WebCore::CSSMutableStyleDeclaration::create):
3724         * css/CSSPageRule.cpp:
3725         (WebCore::CSSPageRule::CSSPageRule):
3726         * css/CSSPageRule.h:
3727         (WebCore::CSSPageRule::create):
3728         * css/CSSParser.cpp:
3729         (WebCore::CSSParser::parseColor):
3730         (WebCore::CSSParser::parseValue):
3731         (WebCore::CSSParser::addFillValue):
3732         (WebCore::CSSParser::parseFillShorthand):
3733         (WebCore::CSSParser::addTransitionValue):
3734         (WebCore::CSSParser::parseTransitionShorthand):
3735         (WebCore::CSSParser::parseShorthand):
3736         (WebCore::CSSParser::parseContent):
3737         (WebCore::CSSParser::parseBackgroundColor):
3738         (WebCore::CSSParser::parseFillPositionXY):
3739         (WebCore::CSSParser::parseFillPosition):
3740         (WebCore::CSSParser::parseFillSize):
3741         (WebCore::CSSParser::parseFillProperty):
3742         (WebCore::CSSParser::parseTransitionDuration):
3743         (WebCore::CSSParser::parseTransitionRepeatCount):
3744         (WebCore::CSSParser::parseTransitionTimingFunction):
3745         (WebCore::CSSParser::parseTransitionProperty):
3746         (WebCore::CSSParser::parseDashboardRegions):
3747         (WebCore::CSSParser::parseCounterContent):
3748         (WebCore::CSSParser::parseShape):
3749         (WebCore::CSSParser::parseFont):
3750         (WebCore::CSSParser::parseFontFamily):
3751         (WebCore::CSSParser::parseFontFaceSrc):
3752         (WebCore::CSSParser::parseFontFaceUnicodeRange):
3753         (WebCore::ShadowParseContext::commitValue):
3754         (WebCore::ShadowParseContext::commitLength):
3755         (WebCore::CSSParser::parseShadow):
3756         (WebCore::CSSParser::parseReflect):
3757         (WebCore::BorderImageParseContext::commitNumber):
3758         (WebCore::BorderImageParseContext::commitBorderImage):
3759         (WebCore::CSSParser::parseBorderImage):
3760         (WebCore::CSSParser::parseCounter):
3761         (WebCore::parseGradientPoint):
3762         (WebCore::parseGradientColorStop):
3763         (WebCore::CSSParser::parseGradient):
3764         (WebCore::CSSParser::parseCanvas):
3765         (WebCore::CSSParser::parseTransform):
3766         (WebCore::CSSParser::createMediaList):
3767         (WebCore::CSSParser::createCharsetRule):
3768         (WebCore::CSSParser::createImportRule):
3769         (WebCore::CSSParser::createMediaRule):
3770         (WebCore::CSSParser::createStyleRule):
3771         (WebCore::CSSParser::createFontFaceRule):
3772         * css/CSSPrimitiveValue.h:
3773         (WebCore::CSSPrimitiveValue::):
3774         (WebCore::CSSPrimitiveValue::createIdentifier):
3775         (WebCore::CSSPrimitiveValue::createColor):
3776         (WebCore::CSSPrimitiveValue::create):
3777         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3778         (WebCore::CSSPrimitiveValue::isPrimitiveValue):
3779         * css/CSSQuirkPrimitiveValue.h:
3780         (WebCore::CSSQuirkPrimitiveValue::create):
3781         * css/CSSReflectValue.h:
3782         (WebCore::CSSReflectValue::create):
3783         * css/CSSRule.cpp:
3784         (WebCore::CSSRule::parentRule):
3785         (WebCore::CSSRule::setCssText):
3786         * css/CSSRule.h:
3787         (WebCore::CSSRule::CSSRule):
3788         (WebCore::CSSRule::isRule):
3789         * css/CSSStyleDeclaration.cpp:
3790         (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
3791         * css/CSSStyleDeclaration.h:
3792         * css/CSSStyleRule.cpp:
3793         (WebCore::CSSStyleRule::CSSStyleRule):
3794         * css/CSSStyleRule.h:
3795         (WebCore::CSSStyleRule::create):
3796         (WebCore::CSSStyleRule::isStyleRule):
3797         (WebCore::CSSStyleRule::type):
3798         * css/CSSStyleSelector.cpp:
3799         (WebCore::CSSStyleSelector::CSSStyleSelector):
3800         (WebCore::parseUASheet):
3801         (WebCore::CSSRuleSet::addRulesFromSheet):
3802         (WebCore::CSSStyleSelector::applyProperty):
3803         * css/CSSStyleSheet.cpp:
3804         (WebCore::CSSStyleSheet::checkLoaded):
3805         * css/CSSStyleSheet.h:
3806         (WebCore::CSSStyleSheet::create):
3807         (WebCore::CSSStyleSheet::isCSSStyleSheet):
3808         (WebCore::CSSStyleSheet::type):
3809         * css/CSSTimingFunctionValue.h:
3810         (WebCore::CSSTimingFunctionValue::create):
3811         (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
3812         (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
3813         * css/CSSTransformValue.cpp:
3814         (WebCore::CSSTransformValue::CSSTransformValue):
3815         (WebCore::CSSTransformValue::~CSSTransformValue):
3816         (WebCore::CSSTransformValue::addValue):
3817         (WebCore::CSSTransformValue::cssText):
3818         * css/CSSTransformValue.h:
3819         (WebCore::CSSTransformValue::create):
3820         * css/CSSUnicodeRangeValue.h:
3821         (WebCore::CSSUnicodeRangeValue::create):
3822         (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
3823         * css/CSSUnknownRule.h:
3824         * css/CSSValue.h:
3825         (WebCore::CSSValue::isImageGeneratorValue):
3826         (WebCore::CSSValue::isImageValue):
3827         (WebCore::CSSValue::isPrimitiveValue):
3828         (WebCore::CSSValue::isValueList):
3829         (WebCore::CSSValue::isSVGColor):
3830         (WebCore::CSSValue::isSVGPaint):
3831         (WebCore::CSSValue::CSSValue):
3832         * css/CSSValueList.h:
3833         (WebCore::CSSValueList::createCommaSeparated):
3834         (WebCore::CSSValueList::createSpaceSeparated):
3835         (WebCore::CSSValueList::isValueList):
3836         * css/FontFamilyValue.h:
3837         (WebCore::FontFamilyValue::create):
3838         * css/FontValue.h:
3839         (WebCore::FontValue::create):
3840         (WebCore::FontValue::FontValue):
3841         (WebCore::FontValue::isFontValue):
3842         * css/MediaList.cpp:
3843         (WebCore::MediaList::MediaList):
3844         (WebCore::MediaList::deleteMedium):
3845         (WebCore::MediaList::setMediaText):
3846         * css/MediaList.h:
3847         (WebCore::MediaList::create):
3848         (WebCore::MediaList::createAllowingDescriptionSyntax):
3849         (WebCore::MediaList::length):
3850         (WebCore::MediaList::mediaQueries):
3851         * css/MediaQueryEvaluator.cpp:
3852         (WebCore::MediaQueryEvaluator::eval):
3853         * css/MediaQueryExp.cpp:
3854         (WebCore::MediaQueryExp::MediaQueryExp):
3855         * css/SVGCSSComputedStyleDeclaration.cpp:
3856         (WebCore::glyphOrientationToCSSPrimitiveValue):
3857         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
3858         * css/SVGCSSParser.cpp:
3859         (WebCore::CSSParser::parseSVGValue):
3860         (WebCore::CSSParser::parseSVGStrokeDasharray):
3861         (WebCore::CSSParser::parseSVGPaint):
3862         (WebCore::CSSParser::parseSVGColor):
3863         * css/ShadowValue.h:
3864         (WebCore::ShadowValue::create):
3865         * css/StyleBase.h:
3866         (WebCore::StyleBase::isCSSStyleSheet):
3867         (WebCore::StyleBase::isFontFaceRule):
3868         (WebCore::StyleBase::isRule):
3869         (WebCore::StyleBase::isStyleRule):
3870         (WebCore::StyleBase::isStyleSheet):
3871         (WebCore::StyleBase::isXSLStyleSheet):
3872         (WebCore::StyleBase::StyleBase):
3873         * css/StyleList.cpp:
3874         * css/StyleList.h:
3875         (WebCore::StyleList::StyleList):
3876         * css/StyleSheet.h:
3877         (WebCore::StyleSheet::styleSheetChanged):
3878         (WebCore::StyleSheet::isStyleSheet):
3879         * dom/CSSMappedAttributeDeclaration.h:
3880         (WebCore::CSSMappedAttributeDeclaration::create):
3881         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
3882         * dom/DOMImplementation.cpp:
3883         (WebCore::DOMImplementation::createCSSStyleSheet):
3884         * dom/Document.cpp:
3885         (WebCore::Document::createCSSStyleDeclaration):
3886         (WebCore::Document::setCSSStyleSheet):
3887         (WebCore::Document::elementSheet):
3888         (WebCore::Document::mappedElementSheet):
3889         (WebCore::Document::recalcStyleSelector):
3890         * dom/Node.cpp:
3891         (WebCore::Node::querySelector):
3892         (WebCore::Node::querySelectorAll):
3893         * dom/Position.cpp:
3894         (WebCore::Position::computedStyle):
3895         * dom/ProcessingInstruction.cpp:
3896         (WebCore::ProcessingInstruction::checkStyleSheet):
3897         (WebCore::ProcessingInstruction::setCSSStyleSheet):
3898         (WebCore::ProcessingInstruction::setXSLStyleSheet):
3899         * dom/ProcessingInstruction.h:
3900         * dom/StyleElement.cpp:
3901         (WebCore::StyleElement::createSheet):
3902         * dom/StyledElement.cpp:
3903         (WebCore::StyledElement::createInlineStyleDecl):
3904         (WebCore::StyledElement::createMappedDecl):
3905         * editing/ApplyStyleCommand.cpp:
3906         (WebCore::ApplyStyleCommand::ApplyStyleCommand):
3907         (WebCore::hasTextDecorationProperty):
3908         (WebCore::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
3909         * editing/CompositeEditCommand.cpp:
3910         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
3911         * editing/DeleteSelectionCommand.cpp:
3912         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
3913         * editing/Editor.cpp:
3914         (WebCore::Editor::selectionHasStyle):
3915         (WebCore::Editor::setBaseWritingDirection):
3916         * editing/EditorCommand.cpp:
3917         (WebCore::executeApplyStyle):
3918         (WebCore::executeToggleStyle):
3919         (WebCore::executeApplyParagraphStyle):
3920         (WebCore::stateStyle):
3921         * editing/InsertParagraphSeparatorCommand.cpp:
3922         (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion):
3923         * editing/RemoveFormatCommand.cpp:
3924         (WebCore::RemoveFormatCommand::doApply):
3925         * editing/ReplaceSelectionCommand.cpp:
3926         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
3927         * editing/markup.cpp:
3928         (WebCore::styleFromMatchedRulesForElement):
3929         (WebCore::appendStartMarkup):
3930         * html/HTMLBodyElement.cpp:
3931         (WebCore::HTMLBodyElement::createLinkDecl):
3932         * html/HTMLLinkElement.cpp:
3933         (WebCore::HTMLLinkElement::process):
3934         (WebCore::HTMLLinkElement::setCSSStyleSheet):
3935         * html/HTMLMediaElement.cpp:
3936         (WebCore::HTMLMediaElement::pickMedia):
3937         * html/HTMLTableElement.cpp:
3938         (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
3939         (WebCore::HTMLTableElement::addSharedCellBordersDecl):
3940         (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
3941         (WebCore::HTMLTableElement::addSharedGroupDecls):
3942         * page/DOMWindow.cpp:
3943         (WebCore::DOMWindow::getComputedStyle):
3944         * page/Frame.cpp:
3945         (WebCore::Frame::computeAndSetTypingStyle):
3946         (WebCore::Frame::selectionComputedStyle):
3947         * page/Frame.h:
3948         * rendering/style/RenderStyle.cpp:
3949         (WebCore::StyleCachedImage::cssValue):
3950         * rendering/style/RenderStyle.h:
3951         * svg/SVGColor.h:
3952         (WebCore::SVGColor::create):
3953         (WebCore::SVGColor::isSVGColor):
3954         * svg/SVGFontFaceElement.cpp:
3955         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
3956         (WebCore::SVGFontFaceElement::rebuildFontFace):
3957         * svg/SVGFontFaceNameElement.cpp:
3958         (WebCore::SVGFontFaceNameElement::srcValue):
3959         * svg/SVGFontFaceSrcElement.cpp:
3960         (WebCore::SVGFontFaceSrcElement::srcValue):
3961         * svg/SVGFontFaceUriElement.cpp:
3962         (WebCore::SVGFontFaceUriElement::srcValue):
3963         * svg/SVGPaint.cpp:
3964         (WebCore::SVGPaint::SVGPaint):
3965         * svg/SVGPaint.h:
3966         (WebCore::SVGPaint::create):
3967         (WebCore::SVGPaint::isSVGPaint):
3968         * svg/animation/SMILTimeContainer.cpp:
3969         (WebCore::SMILTimeContainer::baseValueFor):
3970         * xml/XSLImportRule.cpp:
3971         (WebCore::XSLImportRule::XSLImportRule):
3972         (WebCore::XSLImportRule::setXSLStyleSheet):
3973         * xml/XSLImportRule.h:
3974         (WebCore::XSLImportRule::create):
3975         (WebCore::XSLImportRule::href):
3976         (WebCore::XSLImportRule::isImportRule):
3977         * xml/XSLStyleSheet.cpp:
3978         (WebCore::XSLStyleSheet::checkLoaded):
3979         (WebCore::XSLStyleSheet::loadChildSheet):
3980         * xml/XSLStyleSheet.h:
3981         (WebCore::XSLStyleSheet::create):
3982         (WebCore::XSLStyleSheet::createEmbedded):
3983         * xml/XSLTProcessor.cpp:
3984         (WebCore::xsltStylesheetPointer):
3985
3986 2008-06-17  Michelangelo De Simone  <m.des@mac.com>
3987
3988         Reviewed by Adele.
3989         
3990         Fix for https://bugs.webkit.org/show_bug.cgi?id=18887
3991         Added support for autofocus controls.
3992
3993         When authors specify the "autofocus" attribute on form controls these 
3994         acquire focus automatically as the document is rendered.
3995
3996         Tests: fast/forms/autofocus-attribute.html
3997                fast/forms/autofocus-opera-001.html
3998                fast/forms/autofocus-opera-002.html
3999                fast/forms/autofocus-opera-003.html
4000                fast/forms/autofocus-opera-004.html
4001                fast/forms/autofocus-opera-005.html
4002                fast/forms/autofocus-opera-006.html
4003                fast/forms/autofocus-opera-007.html
4004                fast/forms/autofocus-opera-008.html
4005
4006         * dom/Document.cpp: (WebCore::Document::Document): Initialize the flag to ignore autofocus.
4007         * dom/Document.h:
4008         * html/HTMLAttributeNames.in:
4009         * html/HTMLButtonElement.idl:
4010         * html/HTMLFormControlElement.cpp:
4011         (WebCore::HTMLFormControlElement::attach): Sets focus onto the appropriate "autofocus" control
4012         (WebCore::HTMLFormControlElement::autofocus): Autofocus attribute getter
4013         (WebCore::HTMLFormControlElement::setAutofocus): Autofocus attribute setter
4014         * html/HTMLFormControlElement.h:
4015         * html/HTMLInputElement.idl:
4016         * html/HTMLSelectElement.idl:
4017         * html/HTMLTextAreaElement.idl:
4018         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setUserEdited):
4019           Sets the "ignore autofocus" flag on document if the user edited the control.
4020         * rendering/RenderTextControl.h:
4021
4022 2008-06-17  Alp Toker  <alp@nuanti.com>
4023
4024         Reviewed by Dave Hyatt and Mark Rowe.
4025
4026         https://bugs.webkit.org/show_bug.cgi?id=19190
4027         [CAIRO] Canvas rendered as black
4028
4029         Make sure the frame alpha transparency flag is set to true unless
4030         we're certain the image data is solid and can be blitted, since the
4031         Cairo backend implements a fast-path for blittable BitmapImages.
4032
4033         Thanks to Dirk Schulze for helping to track down this problem.
4034
4035         * platform/graphics/BitmapImage.cpp:
4036         (WebCore::BitmapImage::frameHasAlphaAtIndex):
4037         * platform/graphics/cairo/ImageCairo.cpp:
4038         (WebCore::BitmapImage::BitmapImage):
4039         * platform/graphics/cg/ImageCG.cpp:
4040         (WebCore::BitmapImage::BitmapImage):
4041
4042 2008-06-17  Ariya Hidayat  <ariya.hidayat@trolltech.com>
4043
4044         Reviewed by Simon.
4045
4046         Fix the Qt port by adding ExecState when necessary.
4047
4048         * bridge/qt/qt_instance.cpp:
4049         (KJS::Bindings::QtInstance::getPropertyNames):
4050         (KJS::Bindings::QtInstance::invokeDefaultMethod):
4051         * bridge/qt/qt_runtime.cpp:
4052         (KJS::Bindings::convertValueToQVariant):
4053         (KJS::Bindings::convertQVariantToValue):
4054         (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
4055         (KJS::Bindings::QtConnectionObject::execute):
4056
4057 2008-06-17  David Hyatt  <hyatt@apple.com>
4058
4059         Fix for slow performance on CSS selector tests at:
4060
4061         http://jpsykes.com/153/more-css-performance-testing-pt-2
4062
4063         Fix <style> element processing so that we don't reparse the entire stylesheet as chunks come in from
4064         the network (since this is O(n^2)).   Wait for the parser to deliver all of the data before we
4065         process the sheet for the first time.
4066
4067         Reviewed by olliej
4068
4069         * html/HTMLStyleElement.cpp:
4070         (WebCore::HTMLStyleElement::finishParsingChildren):
4071         (WebCore::HTMLStyleElement::childrenChanged):
4072
4073 2008-06-16  Dan Bernstein  <mitz@apple.com>
4074
4075         Reviewed by Justin Garcia.
4076
4077         - fix <rdar://problem/5973313> REGRESSION (r32508): Down arrow doesn't change caret with non-user entered newlines in textareas
4078
4079         Test: editing/selection/after-line-break.html
4080
4081         * dom/Position.cpp:
4082         (WebCore::Position::getInlineBoxAndOffset): Changed to not include the
4083         position after a line break in its line box, because that position is
4084         actually on the next line.
4085
4086 2008-06-16  Alexey Proskuryakov  <ap@webkit.org>
4087
4088         Reviewed by Geoff Garen.
4089
4090         Make Identifier construction use an explicitly passed IdentifierTable.
4091
4092         * platform/text/AtomicString.cpp:
4093         * platform/text/AtomicString.h:
4094         * platform/text/PlatformString.h:
4095         * platform/text/String.cpp:
4096         Removed "operator KJS::Identifier".
4097
4098         * bindings/js/JSCustomSQLStatementCallback.cpp:
4099         (WebCore::JSCustomSQLStatementCallback::handleEvent):
4100         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
4101         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
4102         * bindings/js/JSCustomSQLTransactionCallback.cpp:
4103         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
4104         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
4105         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
4106         * bindings/js/JSCustomVoidCallback.cpp:
4107         (WebCore::JSCustomVoidCallback::handleEvent):
4108         * bindings/js/JSCustomXPathNSResolver.cpp:
4109         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
4110         * bindings/js/JSDOMWindowBase.cpp:
4111         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
4112         (WebCore::JSDOMWindowBase::updateDocument):
4113         (WebCore::createWindow):
4114         (WebCore::showModalDialog):
4115         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
4116         (WebCore::JSDOMWindowBase::put):
4117         (WebCore::JSDOMWindowBase::clear):
4118         * bindings/js/JSDOMWindowCustom.cpp:
4119         (WebCore::JSDOMWindow::setLocation):
4120         * bindings/js/JSDOMWindowCustom.h:
4121         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
4122         * bindings/js/JSEventListener.cpp:
4123         (WebCore::JSAbstractEventListener::handleEvent):
4124         (WebCore::JSLazyEventListener::parseCode):
4125         * bindings/js/JSEventTargetBase.h:
4126         (WebCore::JSEventTargetPrototype::self):
4127         * bindings/js/JSHTMLCollectionCustom.cpp:
4128         (WebCore::JSHTMLCollection::callAsFunction):
4129         (WebCore::JSHTMLCollection::item):
4130         (WebCore::JSHTMLCollection::namedItem):
4131         * bindings/js/JSHTMLDocumentCustom.cpp:
4132         (WebCore::JSHTMLDocument::all):
4133         (WebCore::JSHTMLDocument::setAll):
4134         (WebCore::JSHTMLDocument::open):
4135         * bindings/js/JSHTMLInputElementBase.cpp:
4136         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
4137         * bindings/js/JSHistoryCustom.cpp:
4138         (WebCore::JSHistory::customGetOwnPropertySlot):
4139         * bindings/js/JSLocationCustom.cpp:
4140         (WebCore::JSLocation::customGetOwnPropertySlot):
4141         (WebCore::JSLocation::customPut):
4142         * bindings/js/JSNavigatorCustom.cpp:
4143         (WebCore::needsYouTubeQuirk):
4144         * bindings/js/JSSQLResultSetRowListCustom.cpp:
4145         (WebCore::JSSQLResultSetRowList::item):
4146         * bindings/js/JSStorageCustom.cpp:
4147         (WebCore::JSStorage::customGetPropertyNames):
4148         * bindings/js/ScheduledAction.cpp:
4149         (WebCore::ScheduledAction::execute):
4150         * bindings/js/ScriptController.cpp:
4151         (WebCore::ScriptController::evaluate):
4152         * bindings/objc/WebScriptObject.mm:
4153         (WebCore::addExceptionToConsole):
4154         (-[WebScriptObject callWebScriptMethod:withArguments:]):
4155         (-[WebScriptObject setValue:forKey:]):
4156         (-[WebScriptObject valueForKey:]):
4157         (-[WebScriptObject removeWebS