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