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