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