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