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