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