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