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