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