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