Reviewed and partially fixed by Tim Hatcher.
[WebKit-https.git] / WebCore / ChangeLog
1 2007-12-10  Adele Peterson  <adele@apple.com>
2
3         Reviewed and partially fixed by Tim Hatcher.
4
5         Remaining part of fix for <rdar://problem/5633400>
6         Transformed <video> is not clipped correctly until a repaint is forced
7
8         Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
9         from clobbering the WebCore repaints.
10
11         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
12         * html/HTMLMediaElement.h:
13         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
14         * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
15
16         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
17         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
18         (method_setImplementation): Added for Tiger.
19
20         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
21         (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
22         (WebCore::MediaPlayerPrivate::setVisible): ditto.
23         (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
24
25         (WebCore::MediaPlayerPrivate::repaint): Added.  Triggers a repaint on the video renderer.
26         (-[WebCoreMovieObserver repaint]): ditto.
27
28         (WebCore::mainThreadSetNeedsDisplay): Added.
29          Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
30         (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
31
32 2007-12-10  Geoffrey Garen  <ggaren@apple.com>
33
34         Reviewed by Sam Weinig.
35
36         Updated for rename in JavaScriptCore.
37
38         * bridge/mac/WebCoreScriptDebugger.mm:
39         (-[WebCoreScriptCallFrame scopeChain]):
40         (-[WebCoreScriptCallFrame functionName]):
41         (-[WebCoreScriptCallFrame evaluateWebScript:]):
42
43 2007-12-10  Rodney Dawes  <dobey@wayofthemonkey.com>
44
45         Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
46         <http://bugs.webkit.org/show_bug.cgi?id=16383>
47
48         Use KJS::Window not the ambiguous Window
49
50         Reviewed by ddkilzer.
51
52         * bindings/js/kjs_dom.cpp (checkNodeSecurity):
53
54 2007-12-10  Sam Weinig  <sam@webkit.org>
55
56         Fix non-mac builds.
57
58         * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
59
60 2007-12-10  Marvin Decker  <marv.decker@gmail.com>
61
62         Reviewed by Darin.
63
64         Fix a divide by 0 in the progress tracker.
65         http://bugs.webkit.org/show_bug.cgi?id=15055
66
67         * loader/ProgressTracker.cpp:
68         (WebCore::ProgressTracker::incrementProgress):
69
70 2007-12-09  Sam Weinig  <sam@webkit.org>
71
72         Reviewed by Darin.
73
74         More cleanup of kjs_window.
75         - Move WindowFeatures from bridge/ to page/
76         - Move functions related to WindowFeatures (boolFeature,
77           floatFeature, setWindowFeature, parseWindowFeatures) into the class.
78         - Fix up whitespace.
79
80         * WebCore.vcproj/WebCore.vcproj:
81         * WebCore.xcodeproj/project.pbxproj:
82         * bindings/js/kjs_window.cpp:
83         (KJS::DOMWindowTimer::~DOMWindowTimer):
84         (KJS::createWindow):
85         (KJS::showModalDialog):
86         (KJS::Window::getOwnPropertySlot):
87         (KJS::Window::allowsAccessFrom):
88         (KJS::Window::shouldInterruptScript):
89         (KJS::WindowProtoFuncAToB::callAsFunction):
90         (KJS::WindowProtoFuncOpen::callAsFunction):
91         (KJS::Window::setReturnValueSlot):
92         (KJS::ScheduledAction::execute):
93         (KJS::Window::timerFired):
94         (KJS::Location::Location):
95         (KJS::Location::getValueProperty):
96         (KJS::Location::getOwnPropertySlot):
97         (KJS::Location::put):
98         (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
99         (KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
100         (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
101         allowsAccessFrom, cleanup the function a little.
102         (KJS::PausedTimeouts::~PausedTimeouts):
103         * bridge/WindowFeatures.h: Removed.
104         * page/WindowFeatures.cpp: Added.
105         (WebCore::isSeparator):
106         (WebCore::WindowFeatures::WindowFeatures):
107         (WebCore::WindowFeatures::setWindowFeature):
108         (WebCore::WindowFeatures::boolFeature):
109         (WebCore::WindowFeatures::floatFeature):
110         * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
111         (WebCore::WindowFeatures::WindowFeatures):
112
113 2007-12-10  Timothy Hatcher  <timothy@apple.com>
114
115         Reviewed by Mark Rowe.
116
117         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
118
119         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
120           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
121
122 2007-12-10  Alp Toker  <alp@atoker.com>
123
124         Reviewed by Niko.
125
126         Cairo implementation of GraphicsContext::setUseAntialiasing().
127
128         * platform/graphics/cairo/GraphicsContextCairo.cpp:
129         (WebCore::GraphicsContext::setUseAntialiasing):
130
131 2007-12-10  Rob Buis  <buis@kde.org>
132
133         Reviewed by Darin.
134
135         http://bugs.webkit.org/show_bug.cgi?id=16182
136         SVG should disable antialiasing for shape-rendering="crispEdges"
137
138         Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
139
140         * platform/graphics/GraphicsContext.h:
141         * platform/graphics/cairo/GraphicsContextCairo.cpp:
142         (WebCore::GraphicsContext::setUseAntialiasing):
143         * platform/graphics/cg/GraphicsContextCG.cpp:
144         (WebCore::GraphicsContext::setUseAntialiasing):
145         * platform/graphics/qt/GraphicsContextQt.cpp:
146         (WebCore::GraphicsContext::setUseAntialiasing):
147         * platform/graphics/wx/GraphicsContextWx.cpp:
148         (WebCore::GraphicsContext::setUseAntialiasing):
149         * rendering/RenderPath.cpp:
150         (WebCore::RenderPath::paint):
151
152 2007-12-09  Rob Buis  <buis@kde.org>
153
154         Reviewed by Niko.
155
156         http://bugs.webkit.org/show_bug.cgi?id=16163
157         SVG crash in Node::setChanged() on Debug builds only (trashed parent)
158
159         Fix the crash by properly unregistering as client from SVGResource
160         when deleting a styled svg node.
161
162         * svg/SVGStyledElement.cpp:
163         (WebCore::SVGStyledElement::~SVGStyledElement):
164
165 2007-12-10  Brady Eidson  <beidson@apple.com>
166
167         Rubberstamped by John
168
169         * storage/DatabaseTracker.cpp:
170         (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
171           for the new quota, we should allow the database to be created
172
173 2007-12-10  David D. Kilzer  <ddkilzer@webkit.org>
174
175         Bug 9683: Implement select.options.remove() method
176         <http://bugs.webkit.org/show_bug.cgi?id=9683>
177
178         Reviewed by Maciej.
179
180         Implement select.options.remove() by calling select.remove()
181         with the same arguments.  This is what MSIE 7 does, although its
182         select.remove() method differs from WebKit's by throwing an
183         exception when called with no arguments or with a negative
184         integer argument.  Note that the DOM Level 1 documentation
185         specifies that select.remove() does not throw an exception.
186
187         Tests: fast/js/select-options-remove-gc.html
188                fast/js/select-options-remove.html
189
190         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
191         (WebCore::JSHTMLOptionsCollection::remove): Added.
192         * html/HTMLOptionsCollection.cpp:
193         (WebCore::HTMLOptionsCollection::remove): Added.
194         * html/HTMLOptionsCollection.h:
195         * html/HTMLOptionsCollection.idl:
196
197 2007-12-09  Sam Weinig  <sam@webkit.org>
198
199         Rubber stamped by Mark Rowe.
200
201         * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
202
203 2007-12-09  Oliver Hunt  <oliver@apple.com>
204
205         Reviewed by Niko.
206
207         Correction, 'z' and 'Z' are the only commands that cannot have an extended
208         list of arguments.
209
210         * svg/SVGParserUtilities.cpp:
211         (WebCore::SVGPathParser::parseSVG):
212
213 2007-12-09  Oliver Hunt  <oliver@apple.com>
214
215         Reviewed by Niko.
216
217         Prevent unlimited iteration in the case of invalid path data.
218         
219         The only path commands that can leave numbers trailing the command processing
220         are 'm' and 'M', in which trailing numbers are parsed as arguments to an
221         implicit lineto command.  In any case we should just terminate as an invalid
222         path.
223
224         * svg/SVGParserUtilities.cpp:
225         (WebCore::SVGPathParser::parseSVG):
226
227 2007-12-09  Luca Bruno  <lethalman88@gmail.com>
228
229         Reviewed by Alp Toker.
230
231         http://bugs.webkit.org/show_bug.cgi?id=15825
232         [GTK] curl - slow dns causing hangs.
233
234         Create a vector of jobs, to satisfy requests in the right order.
235         Set a limit to the number of simultaneous connections.
236
237         * platform/network/curl/ResourceHandleManager.cpp:
238         (WebCore::maxRunningJobs): added
239         (WebCore::ResourceHandleManager::ResourceHandleManager):
240         (WebCore::ResourceHandleManager::removeFromCurl):
241         (WebCore::ResourceHandleManager::startScheduledJobs):
242
243         * platform/network/curl/ResourceHandleManager.h:
244         (WebCore::ResourceHandleList): removed
245         (WebCore::ResourceHandleManager::m_runningJobs): added
246         (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
247         (WebCore::ResourceHandleManager::m_resourceHandleList): added
248
249 2007-12-08  Sam Weinig  <sam@webkit.org>
250
251         Reviewed by Oliver.
252
253         Cleanup kjs_window.h/cpp.
254
255         * bindings/js/kjs_window.cpp:
256         (KJS::WindowPrivate::WindowPrivate):
257         (KJS::DOMWindowTimer::DOMWindowTimer):
258         (KJS::Window::Window):
259         (KJS::Window::retrieveWindow):
260         (KJS::Window::retrieveActive):
261         (KJS::Window::retrieve):
262         (KJS::Window::location):
263         (KJS::Window::mark):
264         (KJS::allowPopUp):
265         (KJS::parseModalDialogFeatures):
266         (KJS::floatFeature):
267         (KJS::canShowModalDialog):
268         (KJS::canShowModalDialogNow):
269         (KJS::showModalDialog):
270         (KJS::Window::getValueProperty):
271         (KJS::Window::getOwnPropertySlot):
272         (KJS::Window::globalExec):
273         (KJS::Window::setListener):
274         (KJS::Window::getListener):
275         (KJS::Window::findOrCreateJSEventListener):
276         (KJS::Window::findOrCreateJSUnprotectedEventListener):
277         (KJS::Window::clearHelperObjectProperties):
278         (KJS::Window::setCurrentEvent):
279         (KJS::WindowProtoFuncAToB::callAsFunction):
280         (KJS::WindowProtoFuncBToA::callAsFunction):
281         (KJS::WindowProtoFuncOpen::callAsFunction):
282         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
283         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
284         (KJS::WindowProtoFuncSetInterval::callAsFunction):
285         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
286         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
287         (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
288         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
289         * bindings/js/kjs_window.h:
290         (KJS::PausedTimeouts::PausedTimeouts):
291         (KJS::PausedTimeouts::takeTimeouts):
292         (KJS::ScheduledAction::ScheduledAction):
293
294 2007-12-08  Sam Weinig  <sam@webkit.org>
295
296         Reviewed by Mitz.
297
298         Move window scrolling, moving and resizing methods from KJS::Window
299         to WebCore::DOMWindow so that there bindings can be autogenerated.
300
301         Tests: fast/dom/Window/window-resize-and-move-arguments.html
302                fast/dom/Window/window-scroll-arguments.html
303
304         * WebCore.xcodeproj/project.pbxproj:
305         * bindings/js/kjs_window.cpp:
306         (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
307         (KJS::WindowProtoFuncOpen::callAsFunction):
308         (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
309         * bindings/js/kjs_window.h:
310         * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
311         to ensure that the no less than the declared number of attributes
312         is allowed.
313         * page/DOMWindow.cpp:
314         (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
315         (WebCore::DOMWindow::scrollBy):
316         (WebCore::DOMWindow::scrollTo):
317         (WebCore::DOMWindow::moveBy):
318         (WebCore::DOMWindow::moveTo):
319         (WebCore::DOMWindow::resizeBy):
320         (WebCore::DOMWindow::resizeTo):
321         * page/DOMWindow.h:
322         (WebCore::DOMWindow::scroll):
323         * page/DOMWindow.idl:
324
325 2007-12-08  Kevin Ollivier  <kevino@theolliviers.com>
326
327         Reviewed by Alp Toker.
328
329         http://bugs.webkit.org/show_bug.cgi?id=14651
330         [CURL] didReceiveResponse() only called for HTTP loads
331
332         http://bugs.webkit.org/show_bug.cgi?id=14583
333         [GDK] file:// relative CSS include URLs handled incorrectly
334
335         Make sure CURL sets the ResourceResponse URL and calls
336         didReceiveResponse for local files too. 
337
338         * platform/network/curl/ResourceHandleManager.cpp:
339         (WebCore::writeCallback):
340
341 2007-12-08  Oliver Hunt  <oliver@apple.com>
342
343         Reviewed by Sam W.
344
345         Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
346         
347         Fixes <rdar://problem/5620249> Must disable SVG animation
348         <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
349         
350         In order to allow finer grained control over the set of SVG features
351         this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
352         distinct flags:
353         ENABLE_SVG_ANIMATION
354         ENABLE_SVG_FILTERS
355         ENABLE_SVG_FONTS
356         ENABLE_SVG_AS_IMAGE
357         ENABLE_SVG_USE
358         
359         by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
360
361         * Configurations/WebCore.xcconfig:
362         * DerivedSources.make:
363           Handle the increased number of build flags that may be necessary
364           
365         * WebCore.SVG.Animation.exp: Added.
366         * WebCore.SVG.Filters.exp: Added.
367         * WebCore.SVG.exp:
368           We now may not need the animation or filter exports so 
369           these need to be separate.
370           
371         * WebCore.vcproj/WebCore.vcproj:
372         * WebCore.vcproj/build-generated-files.sh:
373           Update for new flags
374           
375         Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES) 
376         with the appropriate specific feature flag.  
377         * bindings/js/JSSVGElementWrapperFactory.cpp:
378         (WebCore::createJSSVGWrapper):
379         * bindings/objc/DOM.mm:
380         (WebCore::createElementClassMap):
381         * dom/make_names.pl:
382         * loader/CachedImage.cpp:
383         (WebCore::CachedImage::createImage):
384         * page/DOMWindow.idl:
385         * rendering/RenderPath.cpp:
386         (WebCore::RenderPath::absoluteClippedOverflowRect):
387         * rendering/RenderSVGContainer.cpp:
388         (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
389         * rendering/RenderSVGImage.cpp:
390         (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
391         * rendering/RenderSVGRoot.cpp:
392         (WebCore::RenderSVGRoot::paint):
393         (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
394         * rendering/RenderSVGText.cpp:
395         (WebCore::RenderSVGText::absoluteClippedOverflowRect):
396         * rendering/SVGRenderSupport.cpp:
397         (WebCore::prepareToRenderSVGContent):
398         (WebCore::finishRenderSVGContent):
399         * svg/SVGAnimateElement.cpp:
400         * svg/SVGAnimateElement.h:
401         * svg/SVGAnimateElement.idl:
402         * svg/SVGAnimateMotionElement.cpp:
403         * svg/SVGAnimateMotionElement.h:
404         * svg/SVGAnimateTransformElement.cpp:
405         * svg/SVGAnimateTransformElement.h:
406         * svg/SVGAnimateTransformElement.idl:
407         * svg/SVGComponentTransferFunctionElement.cpp:
408         * svg/SVGComponentTransferFunctionElement.h:
409         * svg/SVGComponentTransferFunctionElement.idl:
410         * svg/SVGDocumentExtensions.cpp:
411         (WebCore::SVGDocumentExtensions::startAnimations):
412         * svg/SVGFEBlendElement.cpp:
413         * svg/SVGFEBlendElement.h:
414         * svg/SVGFEBlendElement.idl:
415         * svg/SVGFEColorMatrixElement.cpp:
416         * svg/SVGFEColorMatrixElement.h:
417         * svg/SVGFEColorMatrixElement.idl:
418         * svg/SVGFEComponentTransferElement.cpp:
419         * svg/SVGFEComponentTransferElement.h:
420         * svg/SVGFEComponentTransferElement.idl:
421         * svg/SVGFECompositeElement.cpp:
422         * svg/SVGFECompositeElement.h:
423         * svg/SVGFECompositeElement.idl:
424         * svg/SVGFEDiffuseLightingElement.cpp:
425         * svg/SVGFEDiffuseLightingElement.h:
426         * svg/SVGFEDiffuseLightingElement.idl:
427         * svg/SVGFEDisplacementMapElement.cpp:
428         * svg/SVGFEDisplacementMapElement.h:
429         * svg/SVGFEDisplacementMapElement.idl:
430         * svg/SVGFEDistantLightElement.cpp:
431         * svg/SVGFEDistantLightElement.h:
432         * svg/SVGFEDistantLightElement.idl:
433         * svg/SVGFEFloodElement.cpp:
434         * svg/SVGFEFloodElement.h:
435         * svg/SVGFEFloodElement.idl:
436         * svg/SVGFEFuncAElement.cpp:
437         * svg/SVGFEFuncAElement.h:
438         * svg/SVGFEFuncAElement.idl:
439         * svg/SVGFEFuncBElement.cpp:
440         * svg/SVGFEFuncBElement.h:
441         * svg/SVGFEFuncBElement.idl:
442         * svg/SVGFEFuncGElement.cpp:
443         * svg/SVGFEFuncGElement.h:
444         * svg/SVGFEFuncGElement.idl:
445         * svg/SVGFEFuncRElement.cpp:
446         * svg/SVGFEFuncRElement.h:
447         * svg/SVGFEFuncRElement.idl:
448         * svg/SVGFEGaussianBlurElement.cpp:
449         * svg/SVGFEGaussianBlurElement.h:
450         * svg/SVGFEGaussianBlurElement.idl:
451         * svg/SVGFEImageElement.cpp:
452         * svg/SVGFEImageElement.h:
453         * svg/SVGFEImageElement.idl:
454         * svg/SVGFELightElement.cpp:
455         * svg/SVGFELightElement.h:
456         * svg/SVGFEMergeElement.cpp:
457         * svg/SVGFEMergeElement.h:
458         * svg/SVGFEMergeElement.idl:
459         * svg/SVGFEMergeNodeElement.cpp:
460         * svg/SVGFEMergeNodeElement.h:
461         * svg/SVGFEMergeNodeElement.idl:
462         * svg/SVGFEOffsetElement.cpp:
463         * svg/SVGFEOffsetElement.h:
464         * svg/SVGFEOffsetElement.idl:
465         * svg/SVGFEPointLightElement.cpp:
466         * svg/SVGFEPointLightElement.h:
467         * svg/SVGFEPointLightElement.idl:
468         * svg/SVGFESpecularLightingElement.cpp:
469         * svg/SVGFESpecularLightingElement.h:
470         * svg/SVGFESpecularLightingElement.idl:
471         * svg/SVGFESpotLightElement.cpp:
472         * svg/SVGFESpotLightElement.h:
473         * svg/SVGFESpotLightElement.idl:
474         * svg/SVGFETileElement.cpp:
475         * svg/SVGFETileElement.h:
476         * svg/SVGFETileElement.idl:
477         * svg/SVGFETurbulenceElement.cpp:
478         * svg/SVGFETurbulenceElement.h:
479         * svg/SVGFETurbulenceElement.idl:
480         * svg/SVGFilterElement.cpp:
481         * svg/SVGFilterElement.h:
482         * svg/SVGFilterElement.idl:
483         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
484         * svg/SVGTimer.cpp:
485         (WebCore::SVGTimer::animationsByElement):
486         * svg/SVGUseElement.cpp:
487         (WebCore::SVGUseElement::buildPendingResource):
488         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
489         * svg/SVGUseElement.h:
490         * svg/TimeScheduler.cpp:
491         (WebCore::TimeScheduler::connectIntervalTimer):
492         (WebCore::TimeScheduler::disconnectIntervalTimer):
493         * svg/graphics/SVGResourceFilter.cpp:
494         * svg/graphics/SVGResourceFilter.h:
495         * svg/graphics/cg/SVGResourceFilterCg.cpp:
496         * svg/graphics/cg/SVGResourceFilterCg.mm:
497         * svg/graphics/filters/SVGDistantLightSource.h:
498         * svg/graphics/filters/SVGFEBlend.cpp:
499         * svg/graphics/filters/SVGFEBlend.h:
500         * svg/graphics/filters/SVGFEColorMatrix.cpp:
501         * svg/graphics/filters/SVGFEColorMatrix.h:
502         * svg/graphics/filters/SVGFEComponentTransfer.cpp:
503         * svg/graphics/filters/SVGFEComponentTransfer.h:
504         * svg/graphics/filters/SVGFEComposite.cpp:
505         * svg/graphics/filters/SVGFEComposite.h:
506         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
507         * svg/graphics/filters/SVGFEConvolveMatrix.h:
508         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
509         * svg/graphics/filters/SVGFEDiffuseLighting.h:
510         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
511         * svg/graphics/filters/SVGFEDisplacementMap.h:
512         * svg/graphics/filters/SVGFEFlood.cpp:
513         * svg/graphics/filters/SVGFEFlood.h:
514         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
515         * svg/graphics/filters/SVGFEGaussianBlur.h:
516         * svg/graphics/filters/SVGFEImage.cpp:
517         * svg/graphics/filters/SVGFEImage.h:
518         * svg/graphics/filters/SVGFEMerge.cpp:
519         * svg/graphics/filters/SVGFEMerge.h:
520         * svg/graphics/filters/SVGFEMorphology.cpp:
521         * svg/graphics/filters/SVGFEMorphology.h:
522         * svg/graphics/filters/SVGFEOffset.cpp:
523         * svg/graphics/filters/SVGFEOffset.h:
524         * svg/graphics/filters/SVGFESpecularLighting.cpp:
525         * svg/graphics/filters/SVGFESpecularLighting.h:
526         * svg/graphics/filters/SVGFETile.h:
527         * svg/graphics/filters/SVGFETurbulence.cpp:
528         * svg/graphics/filters/SVGFETurbulence.h:
529         * svg/graphics/filters/SVGFilterEffect.cpp:
530         * svg/graphics/filters/SVGFilterEffect.h:
531         * svg/graphics/filters/SVGLightSource.cpp:
532         * svg/graphics/filters/SVGLightSource.h:
533         * svg/graphics/filters/SVGPointLightSource.h:
534         * svg/graphics/filters/SVGSpotLightSource.h:
535         * svg/graphics/filters/cg/SVGFEBlendCg.mm:
536         * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
537         * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
538         * svg/graphics/filters/cg/SVGFECompositeCg.mm:
539         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
540         * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
541         * svg/graphics/filters/cg/SVGFEFloodCg.mm:
542         * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
543         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
544         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
545         * svg/graphics/filters/cg/SVGFEImageCg.mm:
546         * svg/graphics/filters/cg/SVGFEMergeCg.mm:
547         * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
548         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
549         * svg/graphics/filters/cg/SVGFETileCg.mm:
550         * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
551         * svg/graphics/filters/cg/WKArithmeticFilter.h:
552         * svg/graphics/filters/cg/WKArithmeticFilter.m:
553         * svg/graphics/filters/cg/WKComponentMergeFilter.h:
554         * svg/graphics/filters/cg/WKComponentMergeFilter.m:
555         * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
556         * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
557         * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
558         * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
559         * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
560         * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
561         * svg/graphics/filters/cg/WKDistantLightFilter.h:
562         * svg/graphics/filters/cg/WKDistantLightFilter.m:
563         * svg/graphics/filters/cg/WKGammaTransferFilter.h:
564         * svg/graphics/filters/cg/WKGammaTransferFilter.m:
565         * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
566         * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
567         * svg/graphics/filters/cg/WKLinearTransferFilter.h:
568         * svg/graphics/filters/cg/WKLinearTransferFilter.m:
569         * svg/graphics/filters/cg/WKNormalMapFilter.h:
570         * svg/graphics/filters/cg/WKNormalMapFilter.m:
571         * svg/graphics/filters/cg/WKPointLightFilter.h:
572         * svg/graphics/filters/cg/WKPointLightFilter.m:
573         * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
574         * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
575         * svg/graphics/filters/cg/WKSpotLightFilter.h:
576         * svg/graphics/filters/cg/WKSpotLightFilter.m:
577         * svg/graphics/filters/cg/WKTableTransferFilter.h:
578         * svg/graphics/filters/cg/WKTableTransferFilter.m:
579         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
580         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
581         * svg/svgtags.in:
582
583 2007-12-08  Dan Bernstein  <mitz@apple.com>
584
585         Reviewed by Adele Peterson.
586
587         - fix two bugs in parsing of stylesheets in <style> elements created by
588           the parser:
589           1. each such stylesheet is parsed twice, once when the text node is
590              added and again when the </style> tag is reached
591           2. re-inserting such a <style> element into the document fails to
592              re-parse and apply its stylesheet.
593
594         Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
595
596         * html/HTMLStyleElement.cpp:
597         (WebCore::HTMLStyleElement::finishedParsing):
598         * svg/SVGStyleElement.cpp:
599         (WebCore::SVGStyleElement::finishedParsing):
600
601 2007-12-07  Sam Weinig  <sam@webkit.org>
602
603         Reviewed by Darin.
604
605         - Removes the faulty isSafeScript implementation that was only
606           used for plugins.
607         - Renames isSafeScript to allowsAccessFrom.
608
609         * bindings/js/JSDOMWindowCustom.cpp:
610         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
611         (WebCore::JSDOMWindow::customPut):
612         * bindings/js/kjs_dom.cpp:
613         (WebCore::checkNodeSecurity):
614         * bindings/js/kjs_window.cpp:
615         (KJS::createWindow):
616         (KJS::Window::getValueProperty):
617         (KJS::Window::namedItemGetter):
618         (KJS::Window::getOwnPropertySlot):
619         (KJS::Window::put):
620         (KJS::Window::allowsAccessFrom):
621         (KJS::Window::setListener):
622         (KJS::Window::getListener):
623         (KJS::WindowProtoFuncOpen::callAsFunction):
624         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
625         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
626         (KJS::WindowProtoFuncSetInterval::callAsFunction):
627         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
628         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
629         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
630         (KJS::Location::getOwnPropertySlot):
631         (KJS::Location::put):
632         (KJS::LocationProtoFuncReplace::callAsFunction):
633         (KJS::LocationProtoFuncReload::callAsFunction):
634         (KJS::LocationProtoFuncAssign::callAsFunction):
635         (KJS::LocationProtoFuncToString::callAsFunction):
636         * bindings/js/kjs_window.h:
637         (KJS::Window::allowsAccessFrom):
638         * bindings/objc/WebScriptObject.mm:
639         (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
640         the new call.
641         * bindings/scripts/CodeGeneratorJS.pm:
642
643 2007-12-08  Rob Buis  <buis@kde.org>
644
645         Reviewed by Darin.
646
647         http://bugs.webkit.org/show_bug.cgi?id=15464
648         SVGLengthList allows bad values
649
650         Be more strict with svg lengths without a unit identifier.
651
652         Test: svg/custom/invalid-lengthlist.svg
653
654         * svg/SVGLength.cpp:
655         (WebCore::SVGLength::setValueAsString):
656
657 2007-12-08  Rob Buis  <buis@kde.org>
658
659         Mac Tiger build fix.
660
661         Use the wtf prefix when including MathExtras.h.
662
663         * rendering/RenderMedia.cpp:
664
665 2007-12-08  Alp Toker  <alp@atoker.com>
666
667         GTK+ build fix (for ENABLE_VIDEO builds):
668
669         Include MathExtras.h to get isfinite().
670
671         * rendering/RenderMedia.cpp:
672
673 2007-12-08  Rob Buis  <buis@kde.org>
674
675         Reviewed by Darin.
676
677         http://bugs.webkit.org/show_bug.cgi?id=15528
678         svg_dynamic_cast should be removed
679
680         Replace svg_dynamic_cast with a combination of
681         isSVGElement and static_cast.
682
683         * rendering/SVGRootInlineBox.cpp:
684         (WebCore::SVGRootInlineBox::buildLayoutInformation):
685         (WebCore::SVGRootInlineBox::buildTextChunks):
686         * svg/SVGAnimationElement.cpp:
687         (WebCore::SVGAnimationElement::targetElement):
688         * svg/SVGElement.h:
689         * svg/SVGElementInstance.cpp:
690         (WebCore::SVGElementInstance::updateInstance):
691         * svg/SVGFilterElement.cpp:
692         (WebCore::SVGFilterElement::canvasResource):
693         * svg/SVGGradientElement.cpp:
694         (WebCore::SVGGradientElement::buildStops):
695         * svg/SVGLocatable.cpp:
696         (WebCore::SVGLocatable::getTransformToElement):
697         * svg/SVGMaskElement.cpp:
698         (WebCore::SVGMaskElement::drawMaskerContent):
699         * svg/SVGSwitchElement.cpp:
700         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
701         * svg/SVGUseElement.cpp:
702         (WebCore::SVGUseElement::insertedIntoDocument):
703         (WebCore::SVGUseElement::buildPendingResource):
704         (WebCore::SVGUseElement::buildInstanceTree):
705         (WebCore::SVGUseElement::handleDeepUseReferencing):
706         (WebCore::SVGUseElement::buildShadowTree):
707         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
708         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
709         * svg/graphics/SVGResource.cpp:
710         (WebCore::getResourceById):
711
712 2007-12-07  Antti Koivisto  <antti@apple.com>
713
714         Reviewed by Adele.
715         
716         Partial fix for <rdar://problem/5633400>
717         Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
718         
719         Fix video painting when transform is applied.
720
721         Test: media/video-transformed.html
722
723         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
724         (WebCore::MediaPlayerPrivate::paint):
725
726 2007-12-07  Dan Bernstein  <mitz@apple.com>
727
728         Reviewed by Sam Weinig.
729
730         - fix http://bugs.webkit.org/show_bug.cgi?id=16348
731           @font-face does not affect the default style
732
733         Test: fast/css/font-face-default-font.html
734
735         * dom/Document.cpp:
736         (WebCore::Document::recalcStyle): Pass our font selector to
737         Font::update() if we already have one.
738
739 2007-12-07  Darin Adler  <darin@apple.com>
740
741         - fix Windows build
742
743         * bridge/win/GlobalHistoryWin.cpp:
744         (WebCore::historyContains): Missed a rename.
745
746 2007-12-07  Brady Eidson  <beidson@apple.com>
747
748         Reviewed by Anders and Darin
749
750         When a statement bumps up against the quota and the UI Delegate grants more space, we need to
751         actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
752         in the DatabaseTracker, which was already done)
753
754         * storage/SQLTransaction.cpp:
755         (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
756           the SQLiteDatabase to the new maximum size
757
758 2007-12-07  Darin Adler  <darin@apple.com>
759
760         - fix Tiger build
761
762         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
763         QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
764
765 2007-12-07  Darin Adler  <darin@apple.com>
766
767         - fix 64-bit build, hopefully without breaking Tiger build
768
769         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
770         (WebCore::MediaPlayerPrivate::updateStates):
771         Don't use Movies.h constants that are nonexistent in 64-bit.
772         Define the new QTMovie.h constants, though, when using an older QTKit.
773
774 2007-12-07  Brady Eidson  <beidson@apple.com>
775
776         Reviewed by Anders
777
778         Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
779
780         * storage/DatabaseTracker.cpp:
781         (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
782         (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
783         * storage/DatabaseTracker.h:
784
785 2007-12-07  Darin Adler  <darin@apple.com>
786
787         Reviewed by Mitz.
788
789         - http://bugs.webkit.org/show_bug.cgi?id=15981
790           speed up visited-link code a bit
791
792         * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
793         instead of requiring a DeprecatedString.
794
795         * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
796         Also removes pointless "fast Latin-1" case that was never used.
797         * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
798         * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
799         * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
800
801         * css/CSSStyleSelector.cpp:
802         (WebCore::findHash): Added. Helper for cleanpath.
803         (WebCore::findSlashDotDotSlash): Ditto.
804         (WebCore::findSlashSlash): Ditto.
805         (WebCore::findSlashDotSlash): Ditto.
806         (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
807         DeprecatedString find function.
808         (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
809         (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
810         instead of an AtomicString for the attribute value. Changed to use fast helper function
811         instead of slower DeprecatedString::contains function, and also made the fast case not
812         bother allocating a DeprecatedConstString.
813
814         - unrelated tiny cleanup
815
816         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
817         (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
818         (WebCore::cgGradientCallback): Ditto.
819
820 2007-12-07  Darin Adler  <darin@apple.com>
821
822         Fix build on Tiger (Mark Rowe told me how).
823
824         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
825         Include <objc/objc-runtime.h>, which existed back on Tiger,
826         rather than <objc/runtime.h>, which did not.
827
828 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
829
830         Build fix: rolling out last build fix to change #include path.
831
832         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
833
834 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
835
836         Re-named our B&I flag from BUILDBOT to PRODUCTION.
837
838         Reviewed by Sam Weinig.
839
840         * WebCore.vcproj/WebCore.make:
841
842 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
843
844         Build fix: corrected #include path.
845
846         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
847
848 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
849
850         Reviewed by Sam Weinig.
851
852         Added some namespace qualifications and a forwarding header, now that
853         KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
854
855         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
856         * bindings/js/JSXSLTProcessor.cpp:
857         (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
858         * bindings/js/kjs_binding.cpp:
859         (KJS::ScriptInterpreter::getDOMNodeForDocument):
860         (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
861         (KJS::ScriptInterpreter::putDOMNodeForDocument):
862         (KJS::ScriptInterpreter::markDOMNodesForDocument):
863         (KJS::ScriptInterpreter::updateDOMNodeDocument):
864
865 2007-12-07  Adam Roben  <aroben@apple.com>
866
867         Add SoftLinking.h for Windows and use it in a few places
868
869         Reviewed by Oliver.
870
871         * WebCore.vcproj/WebCore.vcproj: Added new file to project.
872         * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
873         (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
874         soft-linking calls.
875         (WebCore::PlatformScrollbar::paintButton): Check for the presence of
876         the SafariTheme library now that we can't check for the presence of
877         paintThemePart directly.
878         (WebCore::PlatformScrollbar::paintTrack): Ditto.
879         (WebCore::PlatformScrollbar::paintThumb): Ditto.
880         * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
881         * rendering/RenderThemeSafari.cpp: Same basic changes as to
882         PlatformScrollBarSafari.cpp.
883         (WebCore::RenderThemeSafari::RenderThemeSafari):
884         (WebCore::RenderThemeSafari::isControlStyled):
885         (WebCore::RenderThemeSafari::paintCapsLockIndicator):
886         * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
887
888 2007-12-07  Darin Adler  <darin@apple.com>
889
890         Reviewed by Adele.
891
892         - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
893           at WebCore::HTMLSelectElement::saveState const + 152
894
895         Test: fast/forms/select-set-inner.html
896
897         * dom/ContainerNode.cpp:
898         (WebCore::ContainerNode::removeChildren): Added a return value, as with other
899         calls that change children, so we can optimize for the case where it does nothing.
900         (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
901         * dom/ContainerNode.h: See above.
902
903         * html/HTMLOptGroupElement.cpp:
904         (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
905         recalcSelectOptions in that case.
906         (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
907         addChild, for consistency with HTMLSelectElement; no need to override both.
908         (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
909         * html/HTMLOptGroupElement.h: See above.
910
911         * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
912         override childrenChanged, and addChild calls that.
913         (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
914         recalcSelectOptions in that case.
915         (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
916         by using a for loop and traverseNextSibling. Also added some new comments and
917         removed some obsolete ones.
918         (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
919         sure we don't have a stale list items vector.
920         * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
921         This will help us catch cases where we have too few calls to setRecalcListItems.
922
923 2007-12-07  Dan Bernstein  <mitz@apple.com>
924
925         Reviewed by Darin Adler.
926
927         - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
928
929         Test: fast/repaint/focus-ring.html
930
931         * editing/SelectionController.cpp:
932         (WebCore::SelectionController::caretRepaintRect): Changed to return just
933         the caret rect without any padding.
934         (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
935         just the caret rect without any padding.
936         * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
937         clearFocusRingClip().
938         * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
939         * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
940         * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
941         m_focusRingClip member.
942         * platform/graphics/mac/GraphicsContextMac.mm:
943         (WebCore::GraphicsContext::drawFocusRing): Changed to call
944         wkDrawFocusRing() once without setting up additional clip. On Leopard,
945         wkDrawFocusRing() respects the context clip now. On Tiger, a
946         transparency layer is used to apply clipping to the focus ring.
947         * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
948         methods and member.
949         * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
950         * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
951         to wkDrawFocusRing().
952         * platform/mac/WebCoreSystemInterface.mm: Ditto.
953         * rendering/RenderLayer.cpp:
954         (WebCore::setClip): Removed call to set the focus ring clip.
955         (WebCore::restoreClip): Removed call to reset the focus ring clip.
956
957 2007-12-07  Darin Adler  <darin@apple.com>
958
959         Reviewed by Antti Koivisto and Kevin Decker.
960
961         - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
962
963         Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
964
965         * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
966
967         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
968         Made a lot more functions const. Made a few more members private and a couple inline.
969         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
970         things we currently use in QTKit. It's a little more awkward for classes and other data objects
971         than it is for functions, but still relatively straightforward, with no changes needed to the
972         client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
973         it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
974         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
975         members to nil.
976         (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
977         (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
978         (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
979         Changed to use long instead of int because that's the type for a QTTime time scale anyway.
980         (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
981         (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
982         (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
983         points set to avoid a potential problem with a set being modified as we iterate it.
984         (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
985         (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
986         values, used the constants from the headers directly.
987         (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
988         pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
989         of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
990         no better). Used RetainPtr instead of explicit CFRelease calls.
991
992         * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
993         It's not quite as automatic as the soft linking we can do for functions, since these define
994         functions to get the values, so you need to define macros to make what look like variable
995         accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
996
997         * html/HTMLMediaElement.h:
998         * html/TimeRanges.h:
999         * html/VoidCallback.h:
1000         * platform/graphics/MediaPlayer.h:
1001         Use angle brackets for wtf includes. Omit unneeded includes.
1002
1003 2007-12-07  Dan Bernstein  <mitz@apple.com>
1004
1005         Reviewed by Darin Adler.
1006
1007         - fix http://bugs.webkit.org/show_bug.cgi?id=16334
1008           <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
1009
1010         Test: fast/dynamic/subtree-no-common-root-static-y.html
1011
1012         * rendering/RenderObject.cpp:
1013         (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
1014         to setChildNeedsLayout() to not mark containing blocks and added a
1015         separate call to markContainingBlocksForLayout() that will not schedule
1016         a layout if we are already in the middle of scheduleRelayoutOfSubtree().
1017
1018 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
1019
1020         Reviewed by Darin.
1021
1022         http://bugs.webkit.org/show_bug.cgi?id=16325
1023         <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
1024         
1025         Test: http/tests/misc/empty-cookie.html
1026
1027         * platform/mac/CookieJar.mm:
1028         (WebCore::setCookies): Don't store empty cookies.
1029         (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
1030         with an earlier version of Leopard!
1031
1032 2007-12-06  Ada Chan  <adachan@apple.com>
1033
1034         Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
1035         returning true when there's an error).
1036
1037         Reviewed by Steve.
1038
1039         * platform/win/FileSystemWin.cpp:
1040         (WebCore::makeAllDirectories):
1041
1042 2007-12-06  Darin Adler  <darin@apple.com>
1043
1044         - fix broken regression test
1045
1046         * bindings/js/kjs_binding.cpp:
1047         (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
1048
1049 2007-12-06  Darin Adler  <darin@apple.com>
1050
1051         Reviewed by Sam Weinig.
1052
1053         - fix http://bugs.webkit.org/show_bug.cgi?id=16332
1054           ObjC DOM exception object descriptions should include the exception name
1055
1056         * WebCore.pro: Added ExceptionCode.cpp.
1057         * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp.
1058         * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp.
1059         * WebCoreSources.bkl: Added ExceptionCode.cpp.
1060
1061         * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an
1062         ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed
1063         the many unneeded includes that were here. Had to keep one special case here, for
1064         SECURITY_ERR.
1065
1066         * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the
1067         new getExceptionCodeDescription function so that this shares the exception name
1068         information that was previously only available to JavaScript.
1069
1070         * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp.
1071         (WebCore::getExceptionCodeDescription): Added some assertions, and made the function
1072         handle exception names in a slightly more robust way that is not subject to integer
1073         overflow. (Not a real world issue since we should never receive a bad exception code.)
1074
1075         * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
1076         getExceptionCodeDescription function.
1077
1078         * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of
1079         the comments were mildly helpful, but others were incorrect. This now matches the other
1080         exception-related headers such as RangeException.h.
1081
1082 2007-12-06  Brady Eidson  <beidson@apple.com>
1083
1084         Reviewed by Darin
1085
1086         Fixed a glaring bug that would prevent a statement from getting run a second time
1087
1088         * storage/SQLStatement.cpp:
1089         (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error
1090           and return early
1091         (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error
1092
1093 2007-12-06  Timothy Hatcher  <timothy@apple.com>
1094
1095         Reviewed by Oliver Hunt.
1096
1097         Use keydown instead of keypress so keyIdentifier can be used.
1098
1099         * page/inspector/ConsolePanel.js: Use keydown instead of keypress.
1100         * page/inspector/DatabasePanel.js: Ditto.
1101         * page/inspector/inspector.js: Ditto. Plus call removeEventListener
1102         before deleting windowLoaded.
1103
1104 2007-12-06  Adam Roben  <aroben@apple.com>
1105
1106         Rename FontsTable.plist to FontsList.plist
1107
1108         Rubberstamped by Hyatt.
1109
1110         * platform/graphics/win/FontDatabase.cpp:
1111
1112 2007-12-06  Brady Eidson  <beidson@apple.com>
1113
1114         Reviewed by Darin
1115
1116         Tweaked a comment and a few assertions from my last checkin
1117
1118         * storage/SQLStatement.cpp:
1119         (WebCore::SQLStatement::execute):
1120         (WebCore::SQLStatement::clearFailureDueToQuota):
1121         (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
1122
1123 2007-12-06  Brady Eidson <beidson@apple.com>
1124
1125         Reviewed by Darin
1126
1127         Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and
1128         will ask the UI Delegate for more space when that quota is met
1129
1130         * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant
1131         * platform/sql/SQLiteDatabase.h: Ditto
1132
1133         * storage/Database.cpp:
1134         (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety
1135         (WebCore::Database::stringIdentifier): Ditto
1136         * storage/Database.h:
1137
1138         * storage/SQLStatement.cpp:
1139         (WebCore::SQLStatement::SQLStatement):
1140         (WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota.
1141           If the result is quota, this statement expects that it might be run again, presumably after the user increases 
1142           the quota
1143         (WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error
1144         (WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun
1145         (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
1146         * storage/SQLStatement.h:
1147
1148         * storage/SQLTransaction.cpp:
1149         (WebCore::SQLTransaction::SQLTransaction):
1150         (WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer
1151         (WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this 
1152           transaction.  Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch
1153         (WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate
1154           decision and whether the current statement was already run
1155         (WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it
1156         (WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code
1157           that handles a statement error was moved here
1158         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then 
1159           reschedule the current statement on the database thread
1160         * storage/SQLTransaction.h:
1161
1162 2007-12-06  Steve Falkenburg  <sfalken@apple.com>
1163
1164         <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception
1165         
1166         Don't use callback-based timers, since these cause Windows to eat Windows crashes
1167         in code the timers call.
1168         
1169         Windows appears to be defending against "shatter" attacks partially by setting
1170         up a structured exception block while dispatching callback-based WM_TIMERs.
1171         
1172         I verified this by adding a divide by zero into some timer callback code.
1173         In the case where the timer was dispatched via a callback, the divide by zero
1174         exception was silently handled and ignored, with execution continuing after
1175         our call to DispatchMessage.  When processed via the WNDPROC, no SEH
1176         block was established by Windows, and our divide by zero generated a real
1177         crash (which is what we wanted).
1178         
1179         Windows handling our crashes for us led us to leave the timer data structures
1180         in an invalid state so the next time a timer was set, we'd crash accessing an
1181         invalid HashMap of timer data.
1182         
1183         Reviewed by Hyatt.
1184
1185         * platform/win/SharedTimerWin.cpp:
1186         (WebCore::TimerWindowWndProc):
1187         (WebCore::setSharedTimerFireTime):
1188
1189 2007-12-06  Adam Roben  <aroben@apple.com>
1190
1191         Fix <rdar://5108390> Feed title is too low in blue banner
1192
1193         Way back in r23069 we started applying the same font ascent hack that
1194         Mac WebKit applies to Helvetica, Times, and Courier. We did this so
1195         that those fonts would match the Mac metrics when we run the
1196         regression tests. However, this hack was applying to Arial on Windows
1197         when a site would specify the Helvetica font face because Windows will
1198         alias the font names. Instead of removing the hack entirely, we
1199         turn it off by default but provide some SPI so that DumpRenderTree can
1200         turn it on.
1201
1202         Reviewed by Hyatt.
1203
1204         All tests pass.
1205
1206         * platform/graphics/FontData.h: Add a new static method to turn on the
1207         hack on Windows only.
1208         * platform/graphics/win/FontDataWin.cpp:
1209         (WebCore::FontData::setShouldApplyMacAscentHack): Added.
1210         (WebCore::FontData::platformInit): Only perform the hack if
1211         shouldApplyMacAscentHack is true.
1212
1213 2007-12-06  Geoffrey Garen  <ggaren@apple.com>
1214
1215         Reviewed by Sam Weinig.
1216
1217         Fixed http://bugs.webkit.org/show_bug.cgi?id=16328
1218         REGRESSION (r28470): Crash expanding a GMail conversation
1219         
1220         * page/Frame.cpp:
1221         (WebCore::Frame::scriptProxy): Only return 0 if JS seems disabled *and*
1222         we haven't created the proxy yet. If we've created the proxy already, a
1223         script may be in the midst of execution, even though we've lost our
1224         settings object. During execution, scripts assume they have free access
1225         to the proxy.
1226
1227 2007-12-06  Adele Peterson  <adele@apple.com>
1228
1229         Reviewed by Oliver.
1230
1231         Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost
1232
1233         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement.
1234         * html/HTMLMediaElement.h:
1235
1236 2007-12-05  Antti Koivisto  <antti@apple.com>
1237
1238         Reviewed by Oliver.
1239
1240         Rename
1241
1242         Movie -> MediaPlayer
1243         MoviePrivate -> MediaPlayerPrivate
1244         
1245         Movie is QuickTime terminology and clashes with its C API.
1246
1247         * WebCore.xcodeproj/project.pbxproj:
1248         * html/HTMLMediaElement.cpp:
1249         (WebCore::HTMLMediaElement::HTMLMediaElement):
1250         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1251         (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
1252         (WebCore::HTMLMediaElement::bufferingRate):
1253         (WebCore::HTMLMediaElement::load):
1254         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
1255         (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
1256         (WebCore::HTMLMediaElement::setReadyState):
1257         (WebCore::HTMLMediaElement::progressEventTimerFired):
1258         (WebCore::HTMLMediaElement::seek):
1259         (WebCore::HTMLMediaElement::currentTime):
1260         (WebCore::HTMLMediaElement::duration):
1261         (WebCore::HTMLMediaElement::playbackRate):
1262         (WebCore::HTMLMediaElement::setPlaybackRate):
1263         (WebCore::HTMLMediaElement::play):
1264         (WebCore::HTMLMediaElement::pause):
1265         (WebCore::HTMLMediaElement::setVolume):
1266         (WebCore::HTMLMediaElement::setMuted):
1267         (WebCore::HTMLMediaElement::pickMedia):
1268         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
1269         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
1270         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
1271         (WebCore::HTMLMediaElement::mediaPlayerCuePointReached):
1272         (WebCore::HTMLMediaElement::addCuePoint):
1273         (WebCore::HTMLMediaElement::buffered):
1274         (WebCore::HTMLMediaElement::seekable):
1275         (WebCore::HTMLMediaElement::effectiveStart):
1276         (WebCore::HTMLMediaElement::effectiveEnd):
1277         (WebCore::HTMLMediaElement::effectiveLoopStart):
1278         (WebCore::HTMLMediaElement::effectiveLoopEnd):
1279         (WebCore::HTMLMediaElement::updateMediaPlayer):
1280         (WebCore::HTMLMediaElement::willSaveToCache):
1281         * html/HTMLMediaElement.h:
1282         (WebCore::HTMLMediaElement::player):
1283         * html/HTMLVideoElement.cpp:
1284         (WebCore::HTMLVideoElement::videoWidth):
1285         (WebCore::HTMLVideoElement::videoHeight):
1286         * platform/MIMETypeRegistry.cpp:
1287         (WebCore::initialiseSupportedMediaMIMETypes):
1288         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
1289         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
1290         * platform/MIMETypeRegistry.h:
1291         * platform/graphics/MediaPlayer.cpp: Copied from WebCore/platform/graphics/Movie.cpp.
1292         (WebCore::MediaPlayer::MediaPlayer):
1293         (WebCore::MediaPlayer::~MediaPlayer):
1294         (WebCore::MediaPlayer::load):
1295         (WebCore::MediaPlayer::cancelLoad):
1296         (WebCore::MediaPlayer::play):
1297         (WebCore::MediaPlayer::pause):
1298         (WebCore::MediaPlayer::duration):
1299         (WebCore::MediaPlayer::currentTime):
1300         (WebCore::MediaPlayer::seek):
1301         (WebCore::MediaPlayer::paused):
1302         (WebCore::MediaPlayer::seeking):
1303         (WebCore::MediaPlayer::naturalSize):
1304         (WebCore::MediaPlayer::hasVideo):
1305         (WebCore::MediaPlayer::networkState):
1306         (WebCore::MediaPlayer::readyState):
1307         (WebCore::MediaPlayer::volume):
1308         (WebCore::MediaPlayer::setVolume):
1309         (WebCore::MediaPlayer::rate):
1310         (WebCore::MediaPlayer::setRate):
1311         (WebCore::MediaPlayer::muted):
1312         (WebCore::MediaPlayer::setMuted):
1313         (WebCore::MediaPlayer::dataRate):
1314         (WebCore::MediaPlayer::setEndTime):
1315         (WebCore::MediaPlayer::addCuePoint):
1316         (WebCore::MediaPlayer::removeCuePoint):
1317         (WebCore::MediaPlayer::clearCuePoints):
1318         (WebCore::MediaPlayer::maxTimeBuffered):
1319         (WebCore::MediaPlayer::maxTimeSeekable):
1320         (WebCore::MediaPlayer::bytesLoaded):
1321         (WebCore::MediaPlayer::totalBytesKnown):
1322         (WebCore::MediaPlayer::totalBytes):
1323         (WebCore::MediaPlayer::setRect):
1324         (WebCore::MediaPlayer::visible):
1325         (WebCore::MediaPlayer::setVisible):
1326         (WebCore::MediaPlayer::paint):
1327         (WebCore::MediaPlayer::getSupportedTypes):
1328         (WebCore::MediaPlayer::networkStateChanged):
1329         (WebCore::MediaPlayer::readyStateChanged):
1330         (WebCore::MediaPlayer::volumeChanged):
1331         (WebCore::MediaPlayer::timeChanged):
1332         (WebCore::MediaPlayer::cuePointReached):
1333         * platform/graphics/MediaPlayer.h: Copied from WebCore/platform/graphics/Movie.h.
1334         (WebCore::MediaPlayerClient::~MediaPlayerClient):
1335         (WebCore::MediaPlayerClient::mediaPlayerNetworkStateChanged):
1336         (WebCore::MediaPlayerClient::mediaPlayerReadyStateChanged):
1337         (WebCore::MediaPlayerClient::mediaPlayerVolumeChanged):
1338         (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
1339         (WebCore::MediaPlayerClient::mediaPlayerCuePointReached):
1340         * platform/graphics/Movie.cpp: Removed.
1341         * platform/graphics/Movie.h: Removed.
1342         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.cpp.
1343         (WebCore::mediaPlayerPrivateErrorCallback):
1344         (WebCore::mediaPlayerPrivateEOSCallback):
1345         (WebCore::mediaPlayerPrivateStateCallback):
1346         (WebCore::mediaPlayerPrivateBufferingCallback):
1347         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1348         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
1349         (WebCore::MediaPlayerPrivate::load):
1350         (WebCore::MediaPlayerPrivate::play):
1351         (WebCore::MediaPlayerPrivate::pause):
1352         (WebCore::MediaPlayerPrivate::duration):
1353         (WebCore::MediaPlayerPrivate::currentTime):
1354         (WebCore::MediaPlayerPrivate::seek):
1355         (WebCore::MediaPlayerPrivate::setEndTime):
1356         (WebCore::MediaPlayerPrivate::addCuePoint):
1357         (WebCore::MediaPlayerPrivate::removeCuePoint):
1358         (WebCore::MediaPlayerPrivate::clearCuePoints):
1359         (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
1360         (WebCore::MediaPlayerPrivate::cancelSeek):
1361         (WebCore::MediaPlayerPrivate::cuePointTimerFired):
1362         (WebCore::MediaPlayerPrivate::paused):
1363         (WebCore::MediaPlayerPrivate::seeking):
1364         (WebCore::MediaPlayerPrivate::naturalSize):
1365         (WebCore::MediaPlayerPrivate::hasVideo):
1366         (WebCore::MediaPlayerPrivate::setVolume):
1367         (WebCore::MediaPlayerPrivate::setMuted):
1368         (WebCore::MediaPlayerPrivate::setRate):
1369         (WebCore::MediaPlayerPrivate::dataRate):
1370         (WebCore::MediaPlayerPrivate::networkState):
1371         (WebCore::MediaPlayerPrivate::readyState):
1372         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
1373         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
1374         (WebCore::MediaPlayerPrivate::maxTimeLoaded):
1375         (WebCore::MediaPlayerPrivate::bytesLoaded):
1376         (WebCore::MediaPlayerPrivate::totalBytesKnown):
1377         (WebCore::MediaPlayerPrivate::totalBytes):
1378         (WebCore::MediaPlayerPrivate::cancelLoad):
1379         (WebCore::MediaPlayerPrivate::updateStates):
1380         (WebCore::MediaPlayerPrivate::loadStateChanged):
1381         (WebCore::MediaPlayerPrivate::rateChanged):
1382         (WebCore::MediaPlayerPrivate::sizeChanged):
1383         (WebCore::MediaPlayerPrivate::timeChanged):
1384         (WebCore::MediaPlayerPrivate::volumeChanged):
1385         (WebCore::MediaPlayerPrivate::didEnd):
1386         (WebCore::MediaPlayerPrivate::loadingFailed):
1387         (WebCore::MediaPlayerPrivate::setRect):
1388         (WebCore::MediaPlayerPrivate::setVisible):
1389         (WebCore::MediaPlayerPrivate::paint):
1390         (WebCore::MediaPlayerPrivate::getSupportedTypes):
1391         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
1392         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.h.
1393         * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Removed.
1394         * platform/graphics/gtk/MoviePrivateGStreamer.h: Removed.
1395         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.h.
1396         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.mm.
1397         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1398         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
1399         (WebCore::MediaPlayerPrivate::createQTMovie):
1400         (WebCore::MediaPlayerPrivate::createQTMovieView):
1401         (WebCore::MediaPlayerPrivate::createQTTime):
1402         (WebCore::MediaPlayerPrivate::load):
1403         (WebCore::MediaPlayerPrivate::play):
1404         (WebCore::MediaPlayerPrivate::pause):
1405         (WebCore::MediaPlayerPrivate::duration):
1406         (WebCore::MediaPlayerPrivate::currentTime):
1407         (WebCore::MediaPlayerPrivate::seek):
1408         (WebCore::MediaPlayerPrivate::doSeek):
1409         (WebCore::MediaPlayerPrivate::cancelSeek):
1410         (WebCore::MediaPlayerPrivate::seekTimerFired):
1411         (WebCore::MediaPlayerPrivate::setEndTime):
1412         (WebCore::MediaPlayerPrivate::addCuePoint):
1413         (WebCore::MediaPlayerPrivate::removeCuePoint):
1414         (WebCore::MediaPlayerPrivate::clearCuePoints):
1415         (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
1416         (WebCore::MediaPlayerPrivate::cuePointTimerFired):
1417         (WebCore::MediaPlayerPrivate::paused):
1418         (WebCore::MediaPlayerPrivate::seeking):
1419         (WebCore::MediaPlayerPrivate::naturalSize):
1420         (WebCore::MediaPlayerPrivate::hasVideo):
1421         (WebCore::MediaPlayerPrivate::setVolume):
1422         (WebCore::MediaPlayerPrivate::setMuted):
1423         (WebCore::MediaPlayerPrivate::setRate):
1424         (WebCore::MediaPlayerPrivate::dataRate):
1425         (WebCore::MediaPlayerPrivate::networkState):
1426         (WebCore::MediaPlayerPrivate::readyState):
1427         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
1428         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
1429         (WebCore::MediaPlayerPrivate::maxTimeLoaded):
1430         (WebCore::MediaPlayerPrivate::bytesLoaded):
1431         (WebCore::MediaPlayerPrivate::totalBytesKnown):
1432         (WebCore::MediaPlayerPrivate::totalBytes):
1433         (WebCore::MediaPlayerPrivate::cancelLoad):
1434         (WebCore::MediaPlayerPrivate::updateStates):
1435         (WebCore::MediaPlayerPrivate::loadStateChanged):
1436         (WebCore::MediaPlayerPrivate::rateChanged):
1437         (WebCore::MediaPlayerPrivate::sizeChanged):
1438         (WebCore::MediaPlayerPrivate::timeChanged):
1439         (WebCore::MediaPlayerPrivate::volumeChanged):
1440         (WebCore::MediaPlayerPrivate::didEnd):
1441         (WebCore::MediaPlayerPrivate::setRect):
1442         (WebCore::MediaPlayerPrivate::setVisible):
1443         (WebCore::MediaPlayerPrivate::paint):
1444         (WebCore::MediaPlayerPrivate::getSupportedTypes):
1445         (-[WebCoreMovieObserver initWithCallback:WebCore::]):
1446         * platform/graphics/mac/MoviePrivateQTKit.h: Removed.
1447         * platform/graphics/mac/MoviePrivateQTKit.mm: Removed.
1448         * rendering/RenderMedia.cpp:
1449         (WebCore::RenderMedia::player):
1450         * rendering/RenderMedia.h:
1451         * rendering/RenderVideo.cpp:
1452         (WebCore::RenderVideo::RenderVideo):
1453         (WebCore::RenderVideo::~RenderVideo):
1454         (WebCore::RenderVideo::videoSizeChanged):
1455         (WebCore::RenderVideo::paintReplaced):
1456         (WebCore::RenderVideo::layout):
1457         (WebCore::RenderVideo::updateFromElement):
1458         (WebCore::RenderVideo::updatePlayer):
1459         * rendering/RenderVideo.h:
1460
1461 2007-12-06  Geoffrey Garen  <ggaren@apple.com>
1462
1463         Build fix: access global object directly.
1464
1465         * plugins/win/PluginViewWin.cpp:
1466         (WebCore::PluginViewWin::bindingInstance):
1467
1468 2007-12-06  Mark Rowe  <mrowe@apple.com>
1469
1470         Reviewed by Eric.
1471
1472         Fix bug spotted by GCC 4.2.
1473
1474         * bindings/js/kjs_window.cpp:
1475         (KJS::allowPopUp): Remove extraneous semicolon that completely changed the meaning of allowPopUp.
1476
1477 2007-12-06  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1478
1479         Reviewed by Alp Toker.
1480
1481         http://bugs.webkit.org/show_bug.cgi?id=16173
1482         Licensing change
1483
1484         Change license from BSD to LGPL.
1485
1486         * platform/gtk/FileSystemGtk.cpp:
1487
1488 2007-12-05  Rob Buis  <buis@kde.org>
1489
1490         Reviewed by Mitz.
1491
1492         http://bugs.webkit.org/show_bug.cgi?id=15289
1493         WebKit does not respect clip paths of a 0x0 rect
1494
1495         Make empty clip paths clip the whole referencing graphic.
1496
1497         * svg/SVGClipPathElement.cpp:
1498         (WebCore::SVGClipPathElement::canvasResource):
1499         * svg/graphics/SVGResourceClipper.h:
1500         (WebCore::ClipDataList::isEmpty):
1501
1502 2007-12-05  Darin Adler  <darin@apple.com>
1503
1504         Reviewed by Maciej.
1505
1506         - fix http://bugs.webkit.org/show_bug.cgi?id=16266
1507           <rdar://problem/5625279> REGRESSION: crash loading CNN.com at
1508           Interpreter::createObjectsForGlobalObjectProperties()
1509
1510         I don't know how to reproduce this in a test.
1511
1512         * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
1513         Call JSEventTargetNode::mark instead of DOMObject::mark. There's no difference
1514         right now, but it's best to call your base class, not your base's base.
1515
1516         * bindings/js/kjs_events.h: Removed unneeded virtual from the
1517         JSUnprotectedEventListener::mark() function; it neither derives from or is
1518         derived from anyone else with a mark() function so there's no need for virtual.
1519
1520         * bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark,
1521         not JSObject::mark. This is the actual bug fix.
1522
1523 2007-12-05  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
1524
1525         http://bugs.webkit.org/show_bug.cgi?id=16145
1526         [gtk] Implement media support in GTK backend
1527
1528         Reviewed by Alp Toker.
1529
1530         Remove old comments, fix variable names, match WebKit coding style.
1531
1532         * platform/graphics/gtk/MoviePrivateGStreamer.cpp:
1533         (WebCore::moviePrivateEOSCallback):
1534         (WebCore::MoviePrivate::MoviePrivate):
1535         (WebCore::MoviePrivate::load):
1536         (WebCore::MoviePrivate::play):
1537         (WebCore::MoviePrivate::pause):
1538         (WebCore::MoviePrivate::currentTime):
1539         (WebCore::MoviePrivate::seek):
1540         (WebCore::MoviePrivate::cancelSeek):
1541         (WebCore::MoviePrivate::seeking):
1542         (WebCore::MoviePrivate::naturalSize):
1543         (WebCore::MoviePrivate::setVolume):
1544         (WebCore::MoviePrivate::setMuted):
1545         (WebCore::MoviePrivate::maxTimeBuffered):
1546         (WebCore::MoviePrivate::bytesLoaded):
1547         (WebCore::MoviePrivate::totalBytesKnown):
1548         (WebCore::MoviePrivate::totalBytes):
1549         (WebCore::MoviePrivate::updateStates):
1550         (WebCore::MoviePrivate::didEnd):
1551         (WebCore::MoviePrivate::paint):
1552         (WebCore::MoviePrivate::createGSTPlayBin):
1553         * platform/graphics/gtk/MoviePrivateGStreamer.h:
1554
1555 2007-12-05  Mark Rowe  <mrowe@apple.com>
1556
1557         Speculative wx build fix.  Add PlugInInfoStore::pluginNameForMIMEType to the temporary link stubs.
1558
1559         * platform/wx/TemporaryLinkStubs.cpp:
1560
1561 2007-12-05  Alp Toker  <alp@atoker.com>
1562
1563         Rubber stamped by Mark Rowe.
1564
1565         Remove DEPENDPATH on the generated sources directory. This causes
1566         trouble and is no longer necessary following the glib-genmarshal
1567         generator split.
1568
1569         * WebCore.pro:
1570
1571 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
1572
1573         Reviewed by Darin Adler.
1574
1575         Third step in refactoring JSGlobalObject: Moved data members and data
1576         member access from Interpreter to JSGlobalObject. Changed Interpreter
1577         member functions to static functions. Same for the subclass, 
1578         ScriptInterpreter.
1579         
1580         This is a big change, but it's mostly code motion and renaming.
1581         
1582 2007-12-05  Darin Adler  <darin@apple.com>
1583
1584         "Reviewed" by Geoff.
1585
1586         * loader/FrameLoader.cpp:
1587         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Removed assertion.
1588         (WebCore::FrameLoader::dispatchDidCommitLoad): This one too.
1589         The assertions are firing like crazy. Not sure why yet.
1590
1591 2007-12-05  Darin Adler  <darin@apple.com>
1592
1593         Reviewed by Adam Roben.
1594
1595         - fix http://bugs.webkit.org/show_bug.cgi?id=16306
1596           Assertion failed in WebCore/loader/FrameLoader.cpp:4642
1597
1598         * loader/FrameLoader.cpp:
1599         (WebCore::FrameLoader::dispatchDidCommitLoad): Check m_creatingInitialEmptyDocument
1600         and don't deliver the client call in that case.
1601
1602 2007-12-05  Mark Rowe  <mrowe@apple.com>
1603
1604         Reviewed by Kevin Decker.
1605
1606         Fix 64-bit debug build.
1607
1608         * platform/text/mac/TextCodecMac.cpp:
1609         (WebCore::TextCodecMac::decode): OSStatus is a long for 32-bit but int on 64-bit,
1610         so we need to cast it to be able to use a single format specifier on both.
1611
1612 2007-12-05  Kevin Decker  <kdecker@apple.com>
1613
1614         Reviewed by Hyatt.
1615
1616         <rdar://problem/5613106> Acordex: REGRESSION (Tiger-Leopard): plug-ins can no longer take over TIFF images (affects uspto.gov)
1617        
1618         * loader/FrameLoader.cpp:
1619         (WebCore::FrameLoader::shouldUsePlugin): Allow plug-ins (with the exception of QuickTime) to
1620         takeover TIFF once again.
1621         
1622 2007-12-05  Luca Bruno  <lethalman88@gmail.com>
1623
1624         Reviewed by Alp Toker.
1625
1626         http://bugs.webkit.org/show_bug.cgi?id=16290
1627         [GTK] Pasting clipboard in rich text.
1628
1629         * platform/gtk/PasteboardGtk.cpp:
1630         (Pasteboard::documentFragment): Implement rich text paste support.
1631
1632 2007-12-05  Adele Peterson  <adele@apple.com>
1633
1634         Reviewed by Hyatt.
1635
1636         Reverting fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
1637
1638         We need to just fix the underlying focus ring repaint problem.
1639
1640         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
1641
1642 2007-12-04  Kevin McCullough  <kmccullough@apple.com>
1643
1644         Reviewed by Darin.
1645
1646         - <rdar://5621435>
1647         - Security Fix. Instead of having it off by default, WebKit now must
1648         explicitly turn off local-resource restriction when needed for backwards
1649         compatibility reasons.
1650
1651         * loader/FrameLoader.cpp:
1652
1653 2007-12-05  Adam Roben  <aroben@apple.com>
1654
1655         Set the menu item identifier for all menu items
1656
1657         This allows WebKit clients to distinguish between submenus in the
1658         context menu.
1659
1660         Reviewed by Darin.
1661
1662         No test possible.
1663
1664         * platform/win/ContextMenuItemWin.cpp:
1665         (WebCore::ContextMenuItem::ContextMenuItem):
1666
1667 2007-12-05  Dan Bernstein  <mitz@apple.com>
1668
1669         Reviewed by Darin Adler.
1670
1671         - WebCore part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
1672
1673         * manual-tests/nested-plug-ins.html: Added.
1674         * manual-tests/resources/nested-plug-ins-inner-frame.html: Added.
1675         * manual-tests/resources/nested-plug-ins-outer-frame.html: Added.
1676         * platform/ScrollView.h:
1677         * platform/Widget.h:
1678         (WebCore::Widget::attachToWindow): Added. Tells the widget that it is connected
1679         via visible ScrollViews to the root ScrollView of the WebView.
1680         (WebCore::Widget::detachFromWindow): Added. Tells the widget that it is no longer
1681         connected via visible ScrollViews to the root ScrollView of the WebView.
1682         * platform/win/ScrollViewWin.cpp:
1683         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added
1684         m_visible and m_attachedToWindow members.
1685         (WebCore::ScrollView::attachToWindow): Added. Attaches all children if this
1686         view is visible.
1687         (WebCore::ScrollView::detachFromWindow): Added. Detaches all children if this
1688         view is visible (otherwise they would be detached already).
1689         (WebCore::ScrollView::show): Added. Attaches all children if this view
1690         is attached.
1691         (WebCore::ScrollView::hide): Added. Detaches all children if this view
1692         is attached (otherwise they would be detached already).
1693         (WebCore::ScrollView::isAttachedToWindow): Added.
1694         * platform/win/WidgetWin.cpp:
1695         (WebCore::Widget::setParent): Added calls to attachToWindow() and detachFromWindow()
1696         depending on whether the parent is set and attached or not.
1697         * plugins/win/PluginViewWin.cpp:
1698         (WebCore::PluginViewWin::setFocus):
1699         (WebCore::PluginViewWin::show): Changed to show the plug-in only if
1700         this view is attached.
1701         (WebCore::PluginViewWin::hide): Changed to hide the plug-in only if this
1702         view is attached (otherwise it would be hidden already).
1703         (WebCore::PluginViewWin::attachToWindow): Added. Shows the plug-in if this view
1704         is visible.
1705         (WebCore::PluginViewWin::detachFromWindow): Added. Hides the plug-in if this view
1706         is visible (otherwise it would be hidden already).
1707         (WebCore::PluginViewWin::PluginViewWin):
1708         * plugins/win/PluginViewWin.h: Added m_attachedToWindow member.
1709
1710 2007-12-04  Alp Toker  <alp@atoker.com>
1711
1712         Potential GTK+ build fix for the glib-genmarshal issue.
1713
1714         Split the glib-genmarshal qmake generator in two; one for the source
1715         file, another for the header.
1716
1717         * WebCore.pro:
1718
1719 2007-12-04  Alp Toker  <alp@atoker.com>
1720
1721         GTK+ build fix.
1722
1723         * platform/PlugInInfoStore.h:
1724
1725 2007-12-04  Kevin Decker  <kdecker@apple.com>
1726
1727         Reviewed by Anders.
1728
1729         <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
1730
1731         * page/mac/WebCoreViewFactory.h: Added pluginNameForMIMEType: method.
1732         * platform/PlugInInfoStore.h:
1733         * platform/gtk/TemporaryLinkStubs.cpp: Added stub version of pluginNameForMIMEType.
1734         (PlugInInfoStore::pluginNameForMIMEType):
1735         * platform/mac/PlugInInfoStoreMac.mm:
1736         (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added.
1737         * platform/qt/PlugInInfoStoreQt.cpp: 
1738         (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
1739         * plugins/win/PlugInInfoStoreWin.cpp: 
1740         (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
1741
1742 2007-12-04  Adele Peterson  <adele@apple.com>
1743
1744         Reviewed by Darin.
1745
1746         Fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
1747
1748         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
1749         Adjust outline-offset so it doesn't extend beyond the border to interfere with typing
1750
1751 2007-12-04  Anders Carlsson  <andersca@apple.com>
1752
1753         Reviewed by Jon.
1754
1755         Always call NPP_NewStream, NPP_DestroyStream and NPP_URLNotify for JavaScript
1756         result streams, even if the JavaScript expression threw an exception or returned undefined.
1757         This matches what Firefox does.
1758         
1759         * plugins/win/PluginStreamWin.cpp:
1760         (WebCore::PluginStreamWin::sendJavaScriptStream):
1761         Handle the result string being null, and set the correct NPReason if it is.
1762         
1763         * plugins/win/PluginViewWin.cpp:
1764         (WebCore::PluginViewWin::performRequest):
1765         Always send the JavaScript stream, regardless of the result could be converted to a string or not.
1766
1767 2007-12-04  Adele Peterson  <adele@apple.com>
1768
1769         Reviewed by Hyatt.
1770
1771         Fix for <rdar://problem/5622464> controls should show up for audio element
1772
1773         * css/html4.css: Added styles for audio controls.  This will need to be refined, since we may want a different look for audio controls.
1774         * html/HTMLMediaElement.cpp:
1775         (WebCore::HTMLMediaElement::attributeChanged): When the controls attribute changes detach and reattach if necessary. 
1776         (WebCore::HTMLMediaElement::rendererIsNeeded): Added.
1777         (WebCore::HTMLMediaElement::createRenderer): Added.  Uses RenderMedia.
1778         * html/HTMLMediaElement.h:
1779         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): Added constructor that doesn't take intrinsic size.
1780         * rendering/RenderMedia.h:
1781
1782 2007-12-04  Anders Carlsson  <andersca@apple.com>
1783
1784         Reviewed by Sam.
1785
1786         Add isSafeScript(const JSGlobalObject*) so we won't get the JSGlobalObject
1787         implementation, which always returns true(!).
1788         
1789         * bindings/js/kjs_window.cpp:
1790         (KJS::Window::isSafeScript):
1791         Make the static isSafeScript method take two JSGlobalObjects.
1792         
1793         * bindings/js/kjs_window.h:
1794         (KJS::Window::isSafeScript):
1795         Implement isSafeScript and have it call the static method.
1796
1797 2007-11-27  Adam Roben  <aroben@apple.com>
1798
1799         Make the implementation of Frame::setNeedsReapplyStyles cross-platform
1800
1801         Reviewed by Hyatt.
1802
1803         No change in functionality.
1804
1805         * page/Frame.cpp:
1806         (WebCore::Frame::setNeedsReapplyStyles): Added. Invalidates the
1807         FrameView so that FrameView::layout will be called, which ends up
1808         calling reapplyStyles.
1809         (WebCore::Frame::needsReapplyStyles): Added.
1810         (WebCore::Frame::reapplyStyles): Renamed from reparseConfiguration.
1811         (WebCore::FramePrivate::FramePrivate):
1812         * page/Frame.h:
1813         * page/FramePrivate.h: Added new boolean member.
1814         * page/FrameView.cpp:
1815         (WebCore::FrameView::layout): Call Frame::reapplyStyles if needed.
1816         (WebCore::FrameView::needsLayout): Say that we need layout if the
1817         Frame needs styles reapplied.
1818         * page/mac/WebCoreFrameBridge.h: Removed setNeedsReapplyStyles.
1819         * page/mac/WebCoreFrameBridge.mm:
1820         (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): Updated for
1821         rename.
1822
1823         * bridge/win/FrameWin.cpp: Removed Frame::setNeedsReapplyStyles.
1824         * page/gtk/FrameGtk.cpp: Ditto.
1825         * page/mac/FrameMac.mm: Ditto.
1826         * page/qt/FrameQt.cpp: Ditto.
1827         * platform/wx/TemporaryLinkStubs.cpp: Ditto.
1828
1829 2007-12-04  Antti Koivisto  <antti@apple.com>
1830
1831         Reviewed by Adele.
1832
1833         Pass intrinsic size to the base class.
1834
1835         * rendering/RenderMedia.cpp:
1836         (WebCore::RenderMedia::RenderMedia):
1837
1838 2007-12-04  Adele Peterson  <adele@apple.com>
1839
1840         Reviewed by Darin.
1841
1842         Fix for <rdar://problem/5578209> REGRESSION: Crash in WebCore::DeprecatedValueListImpl::Private::copyList when going back on zoomerang.com/survey
1843
1844         * loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation):
1845           When the new url is exactly the same as the old url, don't treat it like a fragment navigation, since its going to cause a reload.
1846
1847 2007-12-04  Darin Adler  <darin@apple.com>
1848
1849         Reviewed by Kevin Decker.
1850
1851         - added an assertion for a situation that leads to a Safari assertion:
1852           a commit that is not followed by a load completion
1853
1854         - removed some unneeded FrameLoader stuff -- maybe some day we'll get this
1855           class cut down to size
1856
1857         * loader/FrameLoader.cpp:
1858         (WebCore::FrameLoader::FrameLoader): Added boolean for assertion.
1859         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Added code to assert
1860         that we already sent a commit before sending a complete.
1861         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): Call
1862         client directly instead of indirecting through a function.
1863         (WebCore::FrameLoader::loadItem): Ditto.
1864         (WebCore::FrameLoader::goToItem): Ditto.
1865         (WebCore::FrameLoader::addHistoryForCurrentLocation): Get the private browsing
1866         state from Settings instead of FrameLoaderClient. Also call client directly
1867         instead of indirecting through a function.
1868         (WebCore::FrameLoader::updateHistoryForReload): Call client directly instead
1869         of indirecting through a function.
1870         (WebCore::FrameLoader::dispatchDidCommitLoad): Added code to assert
1871         that we did not yet send a commit and set the flag that will be used to check
1872         that we don't do this twice in a row without an intervening completion call.
1873
1874         * loader/FrameLoader.h: Added a boolean for the assertion. Removed six
1875         now-unneeded functions.
1876
1877         * loader/FrameLoaderClient.h: Removed now-unneeded privateBrowsingEnabled function.
1878
1879         * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willCacheResponse): Get
1880         the private browsing state from Settings instead of FrameLoaderClient.
1881
1882         * svg/graphics/SVGImageEmptyClients.h: Removed obsolete privateBrowsingEnabled.
1883
1884 2007-12-03  Antti Koivisto  <antti@apple.com>
1885
1886         Reviewed by Adele.
1887         
1888         Fix <rdar://problem/5624802> 
1889         Controller displays outside of <video> element when width and height aren't specified 
1890
1891         - Explicitly adjust size of the controls tree root.
1892         - Switch RenderMedia base class back to RenderReplaced. It is easier to manage the shadow tree
1893           by hand. This also allows better code sharing with other replaced element classes.
1894         - Move duplicated layout and painting code from subclasses up to RenderReplaced.
1895
1896         Test: media/video-controls-rendering.html
1897
1898         * rendering/RenderHTMLCanvas.cpp:
1899         (WebCore::RenderHTMLCanvas::paintReplaced):
1900         * rendering/RenderHTMLCanvas.h:
1901             Share code.
1902         * rendering/RenderImage.cpp:
1903         (WebCore::RenderImage::paintReplaced):
1904         (WebCore::RenderImage::minimumReplacedHeight):
1905         * rendering/RenderImage.h:
1906             Share code.
1907         * rendering/RenderMedia.cpp:
1908         (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
1909         (WebCore::RenderMediaControlShadowRoot::setParent):
1910             Add a subclass just to get through encapsulation to use setParent().
1911         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
1912             Move initialization to the constructor.
1913         (WebCore::RenderMedia::RenderMedia):
1914         (WebCore::RenderMedia::~RenderMedia):
1915         (WebCore::RenderMedia::layout):
1916             Resize and layout the controller root by hand.
1917         (WebCore::RenderMedia::firstChild):
1918         (WebCore::RenderMedia::lastChild):
1919         (WebCore::RenderMedia::removeChild):
1920             Support one child renderer for controls.
1921         (WebCore::RenderMedia::createControlsShadowRoot):
1922         * rendering/RenderMedia.h:
1923         (WebCore::RenderMedia::isMedia):
1924             Switch base class to RenderReplaced, delete the now unnecessary stuff.
1925         * rendering/RenderReplaced.cpp:
1926         (WebCore::RenderReplaced::layout):
1927         (WebCore::RenderReplaced::paint):
1928         * rendering/RenderReplaced.h:
1929         (WebCore::RenderReplaced::minimumReplacedHeight):
1930         (WebCore::RenderReplaced::paintReplaced):
1931             Share code.
1932         * rendering/RenderVideo.cpp:
1933         (WebCore::RenderVideo::videoSizeChanged):
1934             Simplify, just request relayout.
1935         (WebCore::RenderVideo::paintReplaced):
1936         (WebCore::RenderVideo::layout):
1937         * rendering/RenderVideo.h:
1938             Share code.
1939
1940 2007-12-04  Michael Natterer  <mitch@imendio.com>
1941
1942         Reviewed by Alp Toker.
1943
1944         * WebCore.pro: fix build of webkit-marshal by building the
1945         functions into a separate .cpp file instead of including them in
1946         the header. This way we can use the marshallers from more than one
1947         file without using bad hacks.
1948
1949         Add the generated sources directory to DEPENDPATH.
1950
1951 2007-12-04  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
1952
1953         Reviewed by Alp Toker.
1954
1955         http://bugs.webkit.org/show_bug.cgi?id=16145
1956         [gtk] Implement media support in GTK backend
1957
1958         This implements the media tags of HTML5 on the GTK+ port based on the 
1959         Mac port. Media tests pass although some tests required a small modifications: 
1960         As per the HTML5 spec, the loading of the clip should start only after 
1961         all script are done.  But in the case of the tests, the loading starts 
1962         before some callbacks get registered.  This has been discussed with 
1963         Antti Koivisto, and the tests should be updated.
1964
1965         There is only one known issue: one time in 10 tries, loading a buffered 
1966         clip will never end buffering.  The buffering will stall at 97% for no 
1967         apparent reasons.  Reloading the page usually works around the problem.
1968         On the GStreamer side, some codecs don't return correct values, therefore
1969         they make the tests fail.  For instance H.264 will make the video-end 
1970         test fail.  This should be fixed in GStreamer 0.10.15.
1971
1972         This version displays video in a pop up window.  A place holder is drawn
1973         on the page where the video should appear.
1974
1975         By default, it is turned off in WebCore.pro until GStreamer/X
1976         detection issues are sorted out.
1977
1978         * WebCore.pro:
1979         Disable video for now
1980         * platform/Logging.cpp:
1981         (WebCore::):
1982         * platform/Logging.h:
1983         Added a logging level for Media stuff
1984         * platform/graphics/Movie.cpp:
1985         * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Added.
1986         (WebCore::moviePrivateErrorCallback):
1987         (WebCore::moviePrivateEOSCallback):
1988         (WebCore::moviePrivateStateCallback):
1989         (WebCore::moviePrivateBufferingCallback):
1990         (WebCore::moviePrivateWindowIDCallback):
1991         (WebCore::MoviePrivate::MoviePrivate):
1992         (WebCore::MoviePrivate::~MoviePrivate):
1993         (WebCore::MoviePrivate::load):
1994         (WebCore::MoviePrivate::play):
1995         (WebCore::MoviePrivate::pause):
1996         (WebCore::MoviePrivate::duration):
1997         (WebCore::MoviePrivate::currentTime):
1998         (WebCore::MoviePrivate::seek):
1999         (WebCore::MoviePrivate::setEndTime):
2000         (WebCore::MoviePrivate::addCuePoint):
2001         (WebCore::MoviePrivate::removeCuePoint):
2002         (WebCore::MoviePrivate::clearCuePoints):
2003         (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
2004         (WebCore::MoviePrivate::cancelSeek):
2005         (WebCore::MoviePrivate::cuePointTimerFired):
2006         (WebCore::MoviePrivate::paused):
2007         (WebCore::MoviePrivate::seeking):
2008         (WebCore::MoviePrivate::naturalSize):
2009         (WebCore::MoviePrivate::hasVideo):
2010         (WebCore::MoviePrivate::setVolume):
2011         (WebCore::MoviePrivate::setMuted):
2012         (WebCore::MoviePrivate::setRate):
2013         (WebCore::MoviePrivate::dataRate):
2014         (WebCore::MoviePrivate::networkState):
2015         (WebCore::MoviePrivate::readyState):
2016         (WebCore::MoviePrivate::maxTimeBuffered):
2017         (WebCore::MoviePrivate::maxTimeSeekable):
2018         (WebCore::MoviePrivate::maxTimeLoaded):
2019         (WebCore::MoviePrivate::bytesLoaded):
2020         (WebCore::MoviePrivate::totalBytesKnown):
2021         (WebCore::MoviePrivate::totalBytes):
2022         (WebCore::MoviePrivate::cancelLoad):
2023         (WebCore::MoviePrivate::updateStates):
2024         (WebCore::MoviePrivate::loadStateChanged):
2025         (WebCore::MoviePrivate::rateChanged):
2026         (WebCore::MoviePrivate::sizeChanged):
2027         (WebCore::MoviePrivate::timeChanged):
2028         (WebCore::MoviePrivate::volumeChanged):
2029         (WebCore::MoviePrivate::didEnd):
2030         (WebCore::MoviePrivate::loadingFailed):
2031         (WebCore::MoviePrivate::setRect):
2032         (WebCore::MoviePrivate::setVisible):
2033         (WebCore::MoviePrivate::paint):
2034         (WebCore::MoviePrivate::getSupportedTypes):
2035         (WebCore::MoviePrivate::createGSTPlayBin):
2036         * platform/graphics/gtk/MoviePrivateGStreamer.h: Added.
2037
2038 2007-12-04  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2039
2040         Reviewed by Simon.
2041
2042         * Implement the InspectorClient for the Qt port
2043         * It does not support highlighting of nodes yet
2044         * Use QRC to open the internal page. The important thing is the
2045         '/' in the URL to make WebCore::Document::completeURL behave the
2046         way we want.
2047         * To make the InspectorClient work we will have to mark qrc as secure.
2048
2049         * WebCore.pro:
2050         * loader/FrameLoader.cpp:
2051         (WebCore::localSchemes):
2052         * page/inspector/WebKit.qrc: Added.
2053
2054 2007-12-04  Alp Toker  <alp@atoker.com>
2055
2056         Rubber stamped by Mark Rowe.
2057
2058         Remove two unused variables to silence warnings.
2059
2060         * html/CanvasRenderingContext2D.cpp:
2061         (WebCore::CanvasRenderingContext2D::fill):
2062         (WebCore::CanvasRenderingContext2D::stroke):
2063
2064 2007-12-03  Dan Bernstein  <mitz@apple.com>
2065
2066         Reviewed by Darin Adler.
2067
2068         - fix <rdar://problem/5134044> fast/frames/frame-src-attribute.html fails on Windows
2069
2070         * platform/win/ScrollViewWin.cpp:
2071         (WebCore::ScrollView::visibleWidth): Do not return negative values.
2072         (WebCore::ScrollView::visibleHeight): Ditto.
2073
2074 2007-12-03  Dan Bernstein  <mitz@apple.com>
2075
2076         Reviewed by Dave Hyatt.
2077
2078         - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
2079
2080         Test: fast/events/resize-subframe.html
2081
2082         * page/FrameView.cpp:
2083         (WebCore::FrameViewPrivate::FrameViewPrivate): Added a timer used when
2084         deferring tasks that need to be done after layout.
2085         (WebCore::FrameViewPrivate::reset):
2086         (WebCore::FrameView::~FrameView):
2087         (WebCore::FrameView::layout): Moved the updating of widget positions,
2088         loading plug-ins and sending events queued up during layout into
2089         performPostLayoutTasks(). performPostLayoutTasks() is called after
2090         layout unless the layout was triggered by a previous layout's post-
2091         layout tasks. In the latter case, performPostLayoutTasks() is scheduled
2092         to run later.
2093         (WebCore::FrameView::performPostLayoutTasks): Performs work that needs
2094         to be done after layout but which can result in arbitrary code
2095         execution and therefore may re-invalidate the layout. This includes
2096         updating widget positions, loading plug-ins, and dispatching layout-
2097         related DOM events (scroll, overflow and resize).
2098         (WebCore::FrameView::postLayoutTimerFired):
2099         (WebCore::FrameView::dispatchScheduledEvents):
2100         * page/FrameView.h:
2101         * page/mac/WebCoreFrameBridge.h:
2102         * page/mac/WebCoreFrameBridge.mm: Removed -sendResizeEvent since this
2103         is handled by FrameView now.
2104
2105 2007-12-03  Rob Buis  <buis@kde.org>
2106
2107         Reviewed by Darin.
2108
2109         http://bugs.webkit.org/show_bug.cgi?id=15767
2110         Text decorations do not respect "visibility" property
2111
2112         Only paint decorations if visibility is "visible".
2113
2114         * rendering/SVGInlineTextBox.cpp:
2115         (WebCore::SVGInlineTextBox::paintDecoration):
2116
2117 2007-12-03  Steve Falkenburg  <sfalken@apple.com>
2118
2119         Fix build.
2120
2121         * WebCore.vcproj/WebCore.vcproj:
2122
2123 2007-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
2124
2125         Reviewed by David.
2126
2127         Fixes: http://bugs.webkit.org/show_bug.cgi?id=15645
2128         Don't allow selectors to interfere with the SVG shadow tree (<use> internal non-exposed tree).
2129
2130         * css/CSSStyleSelector.cpp:
2131         (WebCore::CSSStyleSelector::checkSelector):
2132
2133 2007-12-03  Dan Bernstein  <mitz@apple.com>
2134
2135         Reviewed by Adam Roben.
2136
2137         - fix <rdar://problem/5538651> REGRESSSION: domfuzz: null deref in WebCore::Document::canReplaceChild
2138
2139         Test: fast/dom/Document/replaceChild-null-oldChild.html
2140
2141         * dom/Document.cpp:
2142         (WebCore::Document::canReplaceChild):
2143
2144 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2145
2146         Reviewed by Simon.
2147
2148         * Avoid crashes by making sure everything is layouted before
2149         we start painting. This avoids a crash in Widget::invalidateRect
2150         because QPainter::begin would fail
2151         * The QWebFrame::layout() methods and calls are left untouched because
2152         this would be an API decision.
2153         
2154
2155         WARNING: NO TEST CASES ADDED OR CHANGED
2156
2157         * page/FrameView.cpp:
2158         (WebCore::FrameView::updateControlTints):
2159         * page/FrameView.h:
2160         * platform/ScrollView.h:
2161         * platform/qt/ScrollViewQt.cpp:
2162         (WebCore::ScrollView::children):
2163
2164 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2165
2166         Reviewed by Simon.
2167
2168         * Implement GraphicsContext::fillRoundedRect similiar to the
2169         CoreGraphics implementation only addPath is not called this
2170         seems to be only needed for CoreGraphics.
2171         
2172
2173         WARNING: NO TEST CASES ADDED OR CHANGED
2174
2175         * platform/graphics/qt/GraphicsContextQt.cpp:
2176         (WebCore::GraphicsContext::fillRoundedRect):
2177
2178 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2179
2180         Reviewed by Simon.
2181
2182         * Coding Style fixes
2183         
2184
2185         WARNING: NO TEST CASES ADDED OR CHANGED
2186
2187         * platform/qt/ScrollViewQt.cpp:
2188         (WebCore::ScrollView::addChild):
2189         (WebCore::ScrollView::removeChild):
2190
2191 2007-12-03  Alp Toker  <alp@atoker.com>
2192
2193         Reviewed by Mark Rowe.
2194
2195         Don't delete the decoder if it's already been created. The one we have
2196         is fine.
2197
2198         Cairo image cleanups. Nothing substantial.
2199
2200         Notify ImageObservers where appropriate.
2201
2202         * platform/graphics/cairo/ImageCairo.cpp:
2203         (WebCore::BitmapImage::draw):
2204         (WebCore::Image::drawPattern):
2205         * platform/graphics/cairo/ImageSourceCairo.cpp:
2206         (WebCore::ImageSource::setData):
2207         * platform/graphics/gtk/ImageGtk.cpp:
2208
2209 2007-12-03  Simon Hausmann  <hausmann@webkit.org>
2210
2211         Reviewed by Lars.
2212
2213         Fixed crash when rendering form elements with Qt 4.4
2214
2215         QPainter::device() is not guaranteed to return a QWidget, so do the safe "cast" with the
2216         help of QPaintDevice::devType().
2217         Also fall back to the QApplication::style() if we don't have a widget.
2218
2219         * platform/qt/RenderThemeQt.cpp:
2220         (WebCore::RenderThemeQt::paintButton):
2221         (WebCore::RenderThemeQt::paintTextField):
2222         (WebCore::RenderThemeQt::paintMenuList):
2223         (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
2224
2225 2007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2226
2227         Reviewed by Sam Weinig.
2228
2229         * Add FrameLoader::shouldTreatSchemeAsLocal which is similar to
2230         shouldTreatURLAsLocal.
2231         * Make use of FrameLoader::shouldTreatSchemeAsLocal in SecurityOrigin
2232         and do not hardcode "file". This is needed for the WebKit/qt port to make
2233         the Web Inspector work as it using the qrc protocol instead of file.
2234
2235
2236         * loader/FrameLoader.cpp:
2237         (WebCore::FrameLoader::shouldTreatSchemeAsLocal):
2238         * loader/FrameLoader.h:
2239         * platform/SecurityOrigin.cpp:
2240         (WebCore::SecurityOrigin::isSecureTransitionTo):
2241
2242 2007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2243
2244         Rubber stamped by Sam Weinig.
2245
2246         Only add applewebdata to the localSchemes when building for the
2247         mac. This is in preparation of adding qrc for the Qt port there
2248         as well and http://bugs.webkit.org/show_bug.cgi?id=15938.
2249
2250         According to Anders applewebdata is not used on the win port.
2251
2252         * loader/FrameLoader.cpp:
2253         (WebCore::localSchemes):
2254
2255 2007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2256
2257         Rubber stamped by Sam Weinig.
2258
2259         Fix a typo. It is contains and not containts
2260
2261         * loader/FrameLoader.cpp:
2262
2263 2007-12-03  Alp Toker  <alp@atoker.com>
2264
2265         Add another missing DEPENDPATH.
2266
2267         Noticed when fixing the build.
2268
2269         * WebCore.pro:
2270
2271 2007-12-03  Adam Roben  <aroben@apple.com>
2272
2273         Speculative Windows build fix
2274
2275         * plugins/win/PluginViewWin.cpp:
2276         (WebCore::getString):
2277
2278 2007-12-03  Geoffrey Garen  <ggaren@apple.com>
2279
2280         Build fix: added symbols to the right .exp file.
2281
2282         * WebCore.base.exp:
2283
2284 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
2285
2286         Reviewed by Eric Seidel.
2287
2288         Updated to match the JavaScriptCore change to move virtual methods from
2289         Interpreter to JSGlobalObject.
2290         
2291         Moved virtual ScriptInterpreter functions to Window.
2292
2293 2007-12-02  Darin Adler  <darin@apple.com>
2294
2295         Reviewed by Mitz.
2296
2297         - fix <rdar://problem/5601995> Hang/crash on http://ebay-uk.custhelp.com/
2298
2299         There were two problems here:
2300
2301             1) Incorrect HTMLCollection behavior led to us trying to insert a
2302                new row inside an existing row instead of next to it. The fix for
2303                this is to make HTMLCollection work better for table-related
2304                collections.
2305
2306             2) HTMLTableRowElement::insertCell would return a bad pointer if
2307                the insertion failed. The code should have failed, but not crashed,
2308                so it's worth fixing that too.
2309
2310         While fixing the HTMLCollection issues, I did some clean-up of that
2311         class and its derived classes.
2312
2313         Test: fast/dom/HTMLTableElement/rows.html
2314         Test: fast/dom/HTMLTableElement/tBodies.html
2315         Test: fast/dom/HTMLTableRowElement/cells.html
2316         Test: fast/dom/HTMLTableRowElement/insertCell.html
2317         Test: fast/dom/HTMLTableSectionElement/rows.html
2318
2319         * bindings/js/JSHTMLCollectionCustom.cpp:
2320         (WebCore::toJS): Updated because collectionType() was renamed to type().
2321
2322         * html/HTMLCollection.cpp:
2323         (WebCore::HTMLCollection::HTMLCollection): Updated for data member name
2324         changes. Also added a protected constructor for use by derived classes
2325         that pass in a CollectionInfo.
2326         (WebCore::HTMLCollection::CollectionInfo::copyCacheMap): Moved out of
2327         the header.
2328         (WebCore::isTableSection): Added.
2329         (WebCore::HTMLCollection::itemAfter): Renamed from traverseNextItem,
2330         because the old name was grammatically incorrect and thus a bit confusing.
2331         Changed to operate on Element* instead of Node*, and use 0 to start
2332         rather than passing in the base node (required since the base node can be
2333         a document, which is not an element). Generalized the code that made
2334         NodeChildren not descend into deeper descendants so it can be used for
2335         TRCells, TSectionRows, TableTBodies, and TableRows. Reformatted the
2336         switch statement and got rid of the "found" boolean since we can just
2337         return when we find something. Got rid of the default case, and instead
2338         listed all the enum values. Also changed to use a for loop for clarity.
2339         (WebCore::HTMLCollection::calcLength): Updated for itemAfter changes.
2340         (WebCore::HTMLCollection::item): Ditto.
2341         (WebCore::HTMLCollection::nextItem): Ditto.
2342         (WebCore::HTMLCollection::checkForNameMatch): Updated to take an Element
2343         instead of a Node pointer.
2344         (WebCore::HTMLCollection::namedItem): More of the same.
2345         (WebCore::HTMLCollection::updateNameCache): Ditto.
2346         (WebCore::HTMLCollection::namedItems): Ditto.
2347         (WebCore::HTMLCollection::nextNamedItem): Ditto.
2348         (WebCore::HTMLCollection::tags): Ditto.
2349
2350         * html/HTMLCollection.h: Added a type FormElements, so that the
2351         HTMLFormCollection would not have a type of DocImages, which is what
2352         it previously did. Changed the base parameter to be a PassRefPtr to
2353         make it clear we take ownership of it. Added a comment explaining
2354         why we should change the name CollectionInfo. Made a lot more members
2355         private instead of protected. Renamed traverseNextItem to itemAfter.
2356         Changed most functions to take Element* instead of Node*.
2357
2358         * html/HTMLFormCollection.cpp:
2359         (WebCore::HTMLFormCollection::formCollectionInfo): Added.
2360         (WebCore::HTMLFormCollection::HTMLFormCollection): Updated to pass
2361         collection info into the base class.
2362         (WebCore::HTMLFormCollection::calcLength): Updated to use base() so we
2363         don't need to get at m_base directly.
2364         (WebCore::HTMLFormCollection::item): Same, but for info().
2365         (WebCore::HTMLFormCollection::getNamedItem): Removed unused first
2366         argument.
2367         (WebCore::HTMLFormCollection::getNamedFormItem): Got rid of unneeded
2368         checks that the base is still an element and still a form, since that's
2369         guaranteed.
2370         (WebCore::HTMLFormCollection::nextItem): Use info().
2371         (WebCore::HTMLFormCollection::nextNamedItemInternal): Node instead of
2372         Element, some name changes.
2373         (WebCore::HTMLFormCollection::namedItem): Update for changes elsewhere.
2374         (WebCore::HTMLFormCollection::nextNamedItem): Ditto, also rewrote loop
2375         to be much simpler.
2376         (WebCore::HTMLFormCollection::updateNameCache): More of the same.
2377
2378         * html/HTMLFormCollection.h: Changed constructor to take an
2379         HTMLFormElement, using a PassRefPtr to communicate transfer of
2380         ownership. Made everything private instead of protected. Removed
2381         unneeded override of firstItem. Made getNamedItem and
2382         nextNamedItemInternal non-virtual. Removed unused first argument of
2383         getNamedItem. Added declaration of formCollectionInfo.
2384
2385         * html/HTMLNameCollection.cpp:
2386         (WebCore::HTMLNameCollection::HTMLNameCollection): Updated to pass
2387         collection info into the base class.
2388         (WebCore::HTMLNameCollection::itemAfter): Reformatted a bit and
2389         changed into a for loop.
2390
2391         * html/HTMLNameCollection.h: Updated for name changes. Made function
2392         private instead of public. Used PassRefPtr in constructor.
2393
2394         * html/HTMLOptionsCollection.cpp:
2395         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection): Updated to
2396         pass collection info into the base class.
2397         (WebCore::HTMLOptionsCollection::add): Updated for public/private
2398         changes in the base class.
2399         (WebCore::HTMLOptionsCollection::selectedIndex): Ditto.
2400         (WebCore::HTMLOptionsCollection::setSelectedIndex): Ditto.
2401         (WebCore::HTMLOptionsCollection::setLength): Ditto.
2402
2403         * html/HTMLOptionsCollection.h: Changed constructor parameter to be a
2404         PassRefPtr.
2405
2406         * html/HTMLTableRowElement.cpp:
2407         (WebCore::HTMLTableRowElement::insertCell): Changed code to use RefPtr
2408         and PassRefPtr since this creates a new object. This alone fixed the
2409         crash. Also cleaned up logic a bit to be more readable.
2410
2411         * html/HTMLTableRowElement.h: Changed insertCell to return a PassRefPtr.
2412         Also reordered functions a bit to make things a little more logical and
2413         removed the unused ncols data member.
2414
2415         * html/HTMLTableSectionElement.cpp:
2416         (WebCore::HTMLTableSectionElement::rows): Pass TSectionRows, not
2417         TableRows. This mistake was harmless before because TableRows and
2418         TSectionRows were handled identically inside HTMLCollection, but that is
2419         no longer the case with this fix.
2420
2421         * bindings/scripts/CodeGeneratorJS.pm: Add an include to cope with the
2422         fact that HTMLOptionsCollection no longer includes HTMLOptionElement.
2423         I don't think this really should be a special case -- might be worth
2424         returning later to see if this can be optimized.
2425
2426 2007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
2427
2428         Reviewed by Adam.
2429
2430         RenderSVGViewportContainer sets wrong width/height.
2431         Share code with RenderSVGContainer in a central calcBounds() function.
2432
2433         Fixes:
2434         - svg/custom/use-css-events.svg (http://bugs.webkit.org/show_bug.cgi?id=15403)
2435         - svg/custom/deep-dynamic-updates.svg
2436         - svg/custom/use-clipped-hit.svg
2437         - svg/custom/image-clipped-hit.svg
2438
2439         * rendering/RenderSVGContainer.cpp:
2440         (WebCore::RenderSVGContainer::layout):
2441         (WebCore::RenderSVGContainer::calcBounds):
2442         * rendering/RenderSVGContainer.h:
2443         * rendering/RenderSVGViewportContainer.cpp:
2444         (WebCore::RenderSVGViewportContainer::layout):
2445
2446 2007-12-02  Brady Eidson <beidson@apple.com>
2447
2448         Reviewed by Darin
2449
2450         databaseChanged notifications were being sent out on the database thread - they need to be on the main thread
2451         like all other notifications we send out!
2452
2453         * platform/SecurityOriginData.cpp:
2454         (WebCore::SecurityOriginData::copy): Add a deep copy method, for when an object thread hops
2455         * platform/SecurityOriginData.h:
2456
2457         * storage/DatabaseTracker.cpp:
2458         (WebCore::notificationMutex):
2459         (WebCore::notificationQueue):
2460         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): Add the origin/name pair to a queue
2461         (WebCore::DatabaseTracker::scheduleForNotification): Schedule to deliver this queue of notifications
2462           on the main thread
2463         (WebCore::DatabaseTracker::notifyDatabasesChanged): Deliver all notifications in the queue
2464         * storage/DatabaseTracker.h:
2465
2466         * storage/SQLTransaction.cpp:
2467         (WebCore::SQLTransaction::postflightAndCommit): scheduleNotifyDatabaseChanged() instead of "notify now!"
2468         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
2469
2470 2007-12-02  Rob Buis  <buis@kde.org>
2471
2472         Reviewed by Darin.
2473
2474         http://bugs.webkit.org/show_bug.cgi?id=16002
2475         Load SVG (and other) UA StyleSheets dynamically when needed
2476
2477         Load svg sheet when needed.
2478
2479         * css/CSSStyleSelector.cpp:
2480         (WebCore::screenEval):
2481         (WebCore::printEval):
2482         (WebCore::CSSStyleSelector::CSSStyleSelector):
2483         (WebCore::CSSStyleSelector::loadDefaultStyle):
2484         (WebCore::CSSStyleSelector::styleForElement):
2485         (WebCore::CSSRuleSet::addRulesFromSheet):
2486
2487 2007-12-02  Mark Rowe  <mrowe@apple.com>
2488
2489         Try and fix the Windows build.
2490
2491         * plugins/win/PluginViewWin.cpp:
2492         (WebCore::PluginViewWin::bindingInstance):
2493
2494 2007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
2495
2496         Rubber stamped by Eric.
2497
2498         Move platform/graphics/svg to graphics/svg as discussed on webkit-dev.
2499         Updated all project files.
2500
2501         * WebCore.pro:
2502         * WebCore.vcproj/WebCore.vcproj:
2503         * WebCore.xcodeproj/project.pbxproj:
2504         * platform/graphics/svg: Removed.
2505         * platform/graphics/svg/SVGImage.cpp: Removed.
2506         * platform/graphics/svg/SVGImage.h: Removed.
2507         * platform/graphics/svg/SVGImageEmptyClients.h: Removed.
2508         * platform/graphics/svg/SVGPaintServer.cpp: Removed.
2509         * platform/graphics/svg/SVGPaintServer.h: Removed.
2510         * platform/graphics/svg/SVGPaintServerGradient.cpp: Removed.
2511         * platform/graphics/svg/SVGPaintServerGradient.h: Removed.
2512         * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Removed.
2513         * platform/graphics/svg/SVGPaintServerLinearGradient.h: Removed.
2514         * platform/graphics/svg/SVGPaintServerPattern.cpp: Removed.
2515         * platform/graphics/svg/SVGPaintServerPattern.h: Removed.
2516         * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Removed.
2517         * platform/graphics/svg/SVGPaintServerRadialGradient.h: Removed.
2518         * platform/graphics/svg/SVGPaintServerSolid.cpp: Removed.
2519         * platform/graphics/svg/SVGPaintServerSolid.h: Removed.
2520         * platform/graphics/svg/SVGResource.cpp: Removed.
2521         * platform/graphics/svg/SVGResource.h: Removed.
2522         * platform/graphics/svg/SVGResourceClipper.cpp: Removed.
2523         * platform/graphics/svg/SVGResourceClipper.h: Removed.
2524         * platform/graphics/svg/SVGResourceFilter.cpp: Removed.
2525         * platform/graphics/svg/SVGResourceFilter.h: Removed.
2526         * platform/graphics/svg/SVGResourceListener.h: Removed.
2527         * platform/graphics/svg/SVGResourceMarker.cpp: Removed.
2528         * platform/graphics/svg/SVGResourceMarker.h: Removed.
2529         * platform/graphics/svg/SVGResourceMasker.cpp: Removed.
2530         * platform/graphics/svg/SVGResourceMasker.h: Removed.
2531         * platform/graphics/svg/cairo: Removed.
2532         * platform/graphics/svg/cairo/RenderPathCairo.cpp: Removed.
2533         * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: Removed.
2534         * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: Removed.
2535         * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: Removed.
2536         * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: Removed.
2537         * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: Removed.
2538         * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: Removed.
2539         * platform/graphics/svg/cg: Removed.
2540         * platform/graphics/svg/cg/CgSupport.cpp: Removed.
2541         * platform/graphics/svg/cg/CgSupport.h: Removed.
2542         * platform/graphics/svg/cg/RenderPathCg.cpp: Removed.
2543         * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Removed.
2544         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Removed.
2545         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Removed.
2546         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Removed.
2547         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Removed.
2548         * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: Removed.
2549         * platform/graphics/svg/cg/SVGResourceFilterCg.mm: Removed.
2550         * platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: Removed.
2551         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: Removed.
2552         * platform/graphics/svg/filters: Removed.
2553         * platform/graphics/svg/filters/SVGDistantLightSource.h: Removed.
2554         * platform/graphics/svg/filters/SVGFEBlend.cpp: Removed.
2555         * platform/graphics/svg/filters/SVGFEBlend.h: Removed.
2556         * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Removed.
2557         * platform/graphics/svg/filters/SVGFEColorMatrix.h: Removed.
2558         * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Removed.
2559         * platform/graphics/svg/filters/SVGFEComponentTransfer.h: Removed.
2560         * platform/graphics/svg/filters/SVGFEComposite.cpp: Removed.
2561         * platform/graphics/svg/filters/SVGFEComposite.h: Removed.
2562         * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Removed.
2563         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Removed.
2564         * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Removed.
2565         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Removed.
2566         * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Removed.
2567         * platform/graphics/svg/filters/SVGFEDisplacementMap.h: Removed.
2568         * platform/graphics/svg/filters/SVGFEFlood.cpp: Removed.
2569         * platform/graphics/svg/filters/SVGFEFlood.h: Removed.
2570         * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Removed.
2571         * platform/graphics/svg/filters/SVGFEGaussianBlur.h: Removed.
2572         * platform/graphics/svg/filters/SVGFEImage.cpp: Removed.
2573         * platform/graphics/svg/filters/SVGFEImage.h: Removed.
2574         * platform/graphics/svg/filters/SVGFEMerge.cpp: Removed.
2575         * platform/graphics/svg/filters/SVGFEMerge.h: Removed.
2576         * platform/graphics/svg/filters/SVGFEMorphology.cpp: Removed.
2577         * platform/graphics/svg/filters/SVGFEMorphology.h: Removed.
2578         * platform/graphics/svg/filters/SVGFEOffset.cpp: Removed.
2579         * platform/graphics/svg/filters/SVGFEOffset.h: Removed.
2580         * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Removed.
2581         * platform/graphics/svg/filters/SVGFESpecularLighting.h: Removed.
2582         * platform/graphics/svg/filters/SVGFETile.h: Removed.
2583         * platform/graphics/svg/filters/SVGFETurbulence.cpp: Removed.
2584         * platform/graphics/svg/filters/SVGFETurbulence.h: Removed.
2585         * platform/graphics/svg/filters/SVGFilterEffect.cpp: Removed.
2586         * platform/graphics/svg/filters/SVGFilterEffect.h: Removed.
2587         * platform/graphics/svg/filters/SVGLightSource.cpp: Removed.
2588         * platform/graphics/svg/filters/SVGLightSource.h: Removed.
2589         * platform/graphics/svg/filters/SVGPointLightSource.h: Removed.
2590         * platform/graphics/svg/filters/SVGSpotLightSource.h: Removed.
2591         * platform/graphics/svg/filters/cg: Removed.
2592         * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Removed.
2593         * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Removed.
2594         * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Removed.
2595         * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Removed.
2596         * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Removed.
2597         * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Removed.
2598         * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Removed.
2599         * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Removed.
2600         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Removed.
2601         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Removed.
2602         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Removed.
2603         * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Removed.
2604         * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Removed.
2605         * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Removed.
2606         * platform/graphics/svg/filters/cg/SVGFETileCg.mm: Removed.
2607         * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Removed.
2608         * platform/graphics/svg/filters/cg/WKArithmeticFilter.cikernel: Removed.
2609         * platform/graphics/svg/filters/cg/WKArithmeticFilter.h: Removed.
2610         * platform/graphics/svg/filters/cg/WKArithmeticFilter.m: Removed.
2611         * platform/graphics/svg/filters/cg/WKComponentMergeFilter.cikernel: Removed.
2612         * platform/graphics/svg/filters/cg/WKComponentMergeFilter.h: Removed.
2613         * platform/graphics/svg/filters/cg/WKComponentMergeFilter.m: Removed.
2614         * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.cikernel: Removed.
2615         * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.h: Removed.
2616         * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.m: Removed.
2617         * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.cikernel: Removed.
2618         * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.h: Removed.
2619         * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.m: Removed.
2620         * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.cikernel: Removed.
2621         * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.h: Removed.
2622         * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.m: Removed.
2623         * platform/graphics/svg/filters/cg/WKDistantLightFilter.cikernel: Removed.
2624         * platform/graphics/svg/filters/cg/WKDistantLightFilter.h: Removed.
2625         * platform/graphics/svg/filters/cg/WKDistantLightFilter.m: Removed.
2626         * platform/graphics/svg/filters/cg/WKGammaTransferFilter.cikernel: Removed.
2627         * platform/graphics/svg/filters/cg/WKGammaTransferFilter.h: Removed.
2628         * platform/graphics/svg/filters/cg/WKGammaTransferFilter.m: Removed.
2629         * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.h: Removed.
2630         * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.m: Removed.
2631         * platform/graphics/svg/filters/cg/WKLinearTransferFilter.cikernel: Removed.
2632         * platform/graphics/svg/filters/cg/WKLinearTransferFilter.h: Removed.
2633         * platform/graphics/svg/filters/cg/WKLinearTransferFilter.m: Removed.
2634         * platform/graphics/svg/filters/cg/WKNormalMapFilter.cikernel: Removed.
2635         * platform/graphics/svg/filters/cg/WKNormalMapFilter.h: Removed.
2636         * platform/graphics/svg/filters/cg/WKNormalMapFilter.m: Removed.
2637         * platform/graphics/svg/filters/cg/WKPointLightFilter.cikernel: Removed.
2638         * platform/graphics/svg/filters/cg/WKPointLightFilter.h: Removed.
2639         * platform/graphics/svg/filters/cg/WKPointLightFilter.m: Removed.
2640         * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.cikernel: Removed.
2641         * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.h: Removed.
2642         * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.m: Removed.
2643         * platform/graphics/svg/filters/cg/WKSpotLightFilter.cikernel: Removed.
2644         * platform/graphics/svg/filters/cg/WKSpotLightFilter.h: Removed.
2645         * platform/graphics/svg/filters/cg/WKSpotLightFilter.m: Removed.
2646         * platform/graphics/svg/filters/cg/WKTableTransferFilter.cikernel: Removed.
2647         * platform/graphics/svg/filters/cg/WKTableTransferFilter.h: Removed.
2648         * platform/graphics/svg/filters/cg/WKTableTransferFilter.m: Removed.
2649         * platform/graphics/svg/mac: Removed.
2650         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Removed.
2651         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Removed.
2652         * platform/graphics/svg/qt: Removed.
2653         * platform/graphics/svg/qt/RenderPathQt.cpp: Removed.
2654         * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Removed.
2655         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
2656         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Removed.
2657         * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Removed.
2658         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
2659         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Removed.
2660         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp: Removed.
2661         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Removed.
2662         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: Removed.
2663         * svg/graphics: Copied from platform/graphics/svg.
2664
2665 2007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
2666
2667         Reviewed by Maciej.
2668
2669         Fix IDL lookup in subdirectories. Missing 'my' prefix for the 'thisDir' variable.
2670         When entering subdirectories the 'thisDir' variable got altered - see snippet:
2671
2672         THISDIR: WebCore/page FOUND FILE: FrameView.h (endCondition: 0)
2673         ..
2674         -> ENTER: WebCore/page/gtk (THIS DIR: WebCore/page)
2675         ...
2676         <- LEAVE: WebCore/page/gtk (THIS DIR: WebCore/page/gtk)
2677         THISDIR: WebCore/page/gtk FOUND FILE: History.cpp (endCondition: 0)
2678
2679         'History.cpp' is located in WebCore/page not WebCore/page/gtk.
2680
2681         * bindings/scripts/CodeGenerator.pm:
2682
2683 2007-12-01  Alp Toker  <alp@atoker.com>
2684
2685         Reviewed by Adam Roben.
2686
2687         Add the newly introduced webkit.h convenience header.
2688
2689         * WebCore.pro:
2690
2691 2007-12-01  Antti Koivisto  <antti@apple.com>
2692
2693         Reviewed by Adam.
2694         
2695         - Fix crash when removing a loading media element from the tree.
2696         - Follow the spec by invoking pause() when element is removed from the tree instead of unloading.
2697
2698         Tests: http/tests/media/remove-while-loading.html
2699                media/remove-from-document.html
2700
2701         * html/HTMLMediaElement.cpp:
2702         (WebCore::HTMLMediaElement::removedFromDocument):
2703
2704 2007-12-01  Geoffrey Garen  <ggaren@apple.com>
2705
2706         Reviewed by Beth Dakin.
2707
2708         Restored the test string in this test.
2709
2710         * manual-tests/window-open-features-parsing.html:
2711
2712 2007-11-30  Geoffrey Garen  <ggaren@apple.com>
2713
2714         Reviewed by Beth Dakin.
2715         
2716         Modified WebCore to follow the new JSGlobalObject/Interpreter ownership
2717         rules in JavaScriptCore.
2718
2719         * bindings/js/kjs_binding.cpp:
2720         * bindings/js/kjs_binding.h: Removed stale, unused 
2721         interpreterForGlobalObject().
2722
2723         * bindings/js/kjs_proxy.cpp: Changed to store a global object, rather
2724         than an interpreter.
2725         (WebCore::KJSProxy::finishedWithEvent): Need to NULL check 
2726         m_globalObject here because we no longer unnecessarily instantiate it.
2727
2728         * bindings/js/kjs_window.cpp:
2729         (KJS::ScheduledAction::execute):
2730         * bindings/js/kjs_window.h: Removed redundant and less efficient 
2731         interpreter() function -- global objects have direct access to their
2732         interpreters now.
2733
2734         Changed these functions to pass around JSGlobalObjects instead of 
2735         Interpreters:
2736
2737         * page/Frame.cpp:
2738         (WebCore::Frame::bindingRootObject):
2739         (WebCore::Frame::createRootObject):
2740         * page/Frame.h:
2741         * page/mac/WebCoreFrameBridge.mm:
2742         (createRootObject):
2743
2744 2007-12-01  Darin Adler  <darin@apple.com>
2745
2746         Reviewed by Mitz.
2747
2748         - fix problem tracked by these bugs:
2749           http://bugs.webkit.org/show_bug.cgi?id=16097
2750           <rdar://problem/5619305> Safari crashes during load of LexisNexis search results
2751           <rdar://problem/5510779> CrashTracer: [USER] 25 crashes in Safari at
2752           WebCore::DocumentLoader::isLoadingMultipartContent const
2753
2754         * loader/ImageDocument.cpp:
2755         (WebCore::ImageDocument::createDocumentStructure): Create an ImageDocumentElement
2756         instead of an HTMLImageElement.
2757         (WebCore::ImageDocument::scale): Added a null check for m_imageElement.
2758         (WebCore::ImageDocument::resizeImageToFit): Ditto.
2759         (WebCore::ImageDocument::restoreImageSize): Ditto.
2760         (WebCore::ImageDocument::imageFitsInWindow): Ditto.
2761         (WebCore::ImageDocument::windowSizeChanged): Ditto.
2762         (WebCore::ImageDocumentElement::~ImageDocumentElement): Call
2763         disconnectImageElement so m_imageElement will be set to 0
2764          if we're still connected to the document.
2765         (WebCore::ImageDocumentElement::willMoveToNewOwnerDocument): Ditto.
2766
2767         * loader/ImageDocument.h: Changed image element type to be
2768         ImageDocumentElement instead of HTMLImageElement. Also added
2769         a disconnectImageElement function that sets m_imageElement to 0.
2770
2771 2007-12-01  Darin Adler  <darin@apple.com>
2772
2773         - remove the empty directories
2774
2775         * ksvg2: Removed.
2776         * ksvg2/css: Removed.
2777         * ksvg2/events: Removed.
2778         * ksvg2/misc: Removed.
2779         * ksvg2/scripts: Removed.
2780
2781 2007-12-01  Julien Chaffraix  <julien.chaffraix@gmail.com>
2782
2783         Bug 16189: XMLHttpRequest::setRequestHeader() should not set certain headers
2784
2785         Reviewed by Darin Adler.
2786
2787         * xml/XMLHttpRequest.cpp:
2788         (WebCore::canSetRequestHeader):
2789
2790         Test: http/tests/xmlhttprequest/set-dangerous-headers.html
2791
2792 2007-12-01  Rahul Abrol  <ra5ul@comcast.net>
2793
2794         Reviewed by Adam Roben.
2795
2796         http://bugs.webkit.org/show_bug.cgi?id=16128
2797         Ignore resizable=no for window.open().
2798
2799         * bindings/js/kjs_window.cpp:
2800         (KJS::setWindowFeature):
2801         (KJS::parseWindowFeatures):
2802         * manual-tests/window-open-features-parsing.html:
2803
2804 2007-12-01  Dan Bernstein  <mitz@apple.com>
2805
2806         Reviewed by Darin Adler.
2807
2808         - fix <rdar://problem/5619240> REGRESSION (Leopard-r28069): Reproducible crash with a Mootools-based calendar picker (jump to null in FrameView::layout)
2809
2810         Test: fast/dynamic/subtree-common-root.html
2811
2812         * page/FrameView.cpp:
2813         (WebCore::FrameView::layoutRoot): Added a parameter to let this method
2814         return the layout root for a pending layout as well.
2815         (WebCore::FrameView::scheduleRelayoutOfSubtree): Pass the new root
2816         to markContainingBlocksForLayout(). Otherwise,
2817         markContainingBlocksForLayout() could mark past the new root, if it had
2818         previously been marked as having a normal child needing layout and then
2819         was reached via a positioned child.
2820         * page/FrameView.h:
2821         * rendering/RenderBox.cpp:
2822         (WebCore::RenderBox::calcWidth):
2823         * rendering/RenderObject.cpp:
2824         (WebCore::RenderObject::~RenderObject): Fixed the ASSERT so that
2825         it would really catch deletion of the layout root.
2826         (WebCore::RenderObject::markContainingBlocksForLayout): Added the
2827         newRoot parameter, which tells this method where to stop marking.
2828         * rendering/RenderObject.h:
2829
2830 2007-12-01  Dan Bernstein  <mitz@apple.com>
2831
2832         Reviewed by Darin Adler.
2833
2834         - fold FontStyle into TextRun
2835
2836         * WebCore.xcodeproj/project.pbxproj:
2837         * platform/graphics/Font.cpp:
2838         (WebCore::WidthIterator::WidthIterator):
2839         (WebCore::WidthIterator::advance):
2840         (WebCore::Font::width):
2841         (WebCore::Font::drawSimpleText):
2842         (WebCore::Font::drawGlyphBuffer):
2843         (WebCore::Font::drawText):
2844         (WebCore::Font::floatWidth):
2845         (WebCore::Font::floatWidthForSimpleText):
2846         (WebCore::Font::selectionRectForText):
2847         (WebCore::Font::selectionRectForSimpleText):
2848         (WebCore::Font::offsetForPosition):
2849         (WebCore::Font::offsetForPositionForSimpleText):
2850         * platform/graphics/Font.h:
2851         (WebCore::TextRun::TextRun):
2852         (WebCore::TextRun::setText):
2853         (WebCore::TextRun::allowTabs):
2854         (WebCore::TextRun::xPos):
2855         (WebCore::TextRun::padding):
2856         (WebCore::TextRun::rtl):
2857         (WebCore::TextRun::ltr):
2858         (WebCore::TextRun::directionalOverride):
2859         (WebCore::TextRun::applyRunRounding):
2860         (WebCore::TextRun::applyWordRounding):
2861         (WebCore::TextRun::spacingDisabled):
2862         (WebCore::TextRun::disableSpacing):
2863         (WebCore::TextRun::disableRoundingHacks):
2864         (WebCore::TextRun::setRTL):
2865         (WebCore::TextRun::setDirectionalOverride):
2866         * platform/graphics/FontStyle.h: Removed.
2867         * platform/graphics/GraphicsContext.cpp:
2868         (WebCore::GraphicsContext::drawText):
2869         (WebCore::GraphicsContext::drawBidiText):
2870         (WebCore::GraphicsContext::drawHighlightForText):
2871         * platform/graphics/GraphicsContext.h:
2872         * platform/graphics/StringTruncator.cpp:
2873         (WebCore::stringWidth):
2874         * platform/graphics/gtk/FontGtk.cpp:
2875         (WebCore::Font::drawComplexText):
2876         (WebCore::Font::floatWidthForComplexText):
2877         (WebCore::Font::offsetForPositionForComplexText):
2878         (WebCore::Font::selectionRectForComplexText):
2879         * platform/graphics/mac/FontMac.mm:
2880         (WebCore::ATSULayoutParameters::ATSULayoutParameters):
2881         (WebCore::addDirectionalOverride):
2882         (WebCore::overrideLayoutOperation):
2883         (WebCore::ATSULayoutParameters::initialize):
2884         (WebCore::Font::selectionRectForComplexText):
2885         (WebCore::Font::drawComplexText):
2886         (WebCore::Font::floatWidthForComplexText):
2887         (WebCore::Font::offsetForPositionForComplexText):
2888         * platform/graphics/qt/FontQt.cpp:
2889         (WebCore::generateComponents):
2890         (WebCore::Font::drawText):
2891         (WebCore::Font::width):
2892         (WebCore::Font::offsetForPosition):
2893         (WebCore::cursorToX):
2894         (WebCore::Font::selectionRectForText):
2895         * platform/graphics/win/FontWin.cpp:
2896         (WebCore::Font::selectionRectForComplexText):
2897         (WebCore::Font::drawComplexText):
2898         (WebCore::Font::floatWidthForComplexText):
2899         (WebCore::Font::offsetForPositionForComplexText):
2900         * platform/graphics/wx/FontWx.cpp:
2901         (WebCore::Font::selectionRectForComplexText):
2902         (WebCore::Font::drawComplexText):
2903         (WebCore::Font::floatWidthForComplexText):
2904         (WebCore::Font::offsetForPositionForComplexText):
2905         * platform/mac/WebCoreTextRenderer.mm:
2906         (WebCoreDrawTextAtPoint):
2907         (WebCoreTextFloatWidth):
2908         * platform/win/PopupMenuWin.cpp:
2909         (WebCore::PopupMenu::paint):
2910         * platform/win/UniscribeController.cpp:
2911         (WebCore::UniscribeController::UniscribeController):
2912         (WebCore::UniscribeController::offsetForPosition):
2913         (WebCore::UniscribeController::advance):
2914         (WebCore::UniscribeController::itemizeShapeAndPlace):
2915         (WebCore::UniscribeController::resetControlAndState):
2916         (WebCore::UniscribeController::shapeAndPlaceItem):
2917         * platform/win/UniscribeController.h:
2918         * platform/win/WebCoreTextRenderer.cpp:
2919         (WebCore::doDrawTextAtPoint):
2920         * rendering/EllipsisBox.cpp:
2921         (WebCore::EllipsisBox::paint):
2922         * rendering/InlineTextBox.cpp:
2923         (WebCore::InlineTextBox::selectionRect):
2924         (WebCore::InlineTextBox::paint):
2925         (WebCore::InlineTextBox::paintSelection):
2926         (WebCore::InlineTextBox::paintCompositionBackground):
2927         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2928         (WebCore::InlineTextBox::paintTextMatchMarker):
2929         (WebCore::InlineTextBox::offsetForPosition):
2930         (WebCore::InlineTextBox::positionForOffset):
2931         * rendering/RenderFileUploadControl.cpp:
2932         (WebCore::RenderFileUploadControl::paintObject):
2933         (WebCore::RenderFileUploadControl::calcPrefWidths):
2934         * rendering/RenderImage.cpp:
2935         * rendering/RenderListBox.cpp:
2936         (WebCore::RenderListBox::updateFromElement):
2937         (WebCore::RenderListBox::paintItemForeground):
2938         * rendering/RenderMenuList.cpp:
2939         (WebCore::RenderMenuList::updateOptionsWidth):
2940         * rendering/RenderText.cpp:
2941         (WebCore::RenderText::widthFromCache):
2942         (WebCore::RenderText::calcPrefWidths):
2943         (WebCore::RenderText::width):
2944         * rendering/RenderText.h:
2945         (WebCore::RenderText::allowTabs):
2946         * rendering/RenderTextControl.cpp:
2947         (WebCore::RenderTextControl::calcPrefWidths):
2948         * rendering/SVGInlineTextBox.cpp:
2949         (WebCore::SVGInlineTextBox::calculateGlyphWidth):
2950         (WebCore::SVGInlineTextBox::paintCharacters):
2951         (WebCore::SVGInlineTextBox::paintSelection):
2952         * rendering/SVGRootInlineBox.cpp:
2953         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
2954         (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
2955         (WebCore::svgTextRunForInlineTextBox):
2956         * rendering/SVGRootInlineBox.h:
2957
2958 2007-12-01  Adam Treat  <treat@kde.org>
2959
2960         Reviewed by Simon.
2961
2962         * Don't hide symbols when in Debug mode
2963         * On Linux (glibc) provide a backtrace in the test output for debugging purposes
2964
2965         * WebCore.pro:
2966
2967 2007-11-30  Alp Toker  <alp@atoker.com>
2968
2969         Reviewed by Adam Roben.
2970
2971         http://bugs.webkit.org/show_bug.cgi?id=15691
2972         [GTK] Public API does not follow GTK+ conventions
2973
2974         Refactor the WebKit/GTK+ public API. Changes:
2975           WebKitPage -> WebKitWebView
2976           WebKitFrame -> WebKitWebFrame
2977
2978         Public API source and header names have been updated to mirror the API
2979         changes.
2980
2981         The API is now kept in WebKit/gtk/WebView to match other ports in the
2982         same class such as Mac and Win.
2983
2984         * WebCore.pro:
2985
2986 2007-11-30   Anders Carlsson  <andersca@apple.com>
2987
2988         Add platform/text project group.
2989         
2990         * WebCore.vcproj/WebCore.vcproj:
2991
2992 2007-11-30   Anders Carlsson  <andersca@apple.com>
2993
2994         Remove extra </Filter> tag which prevented the vcproj from being parsed correctly.
2995         
2996         * WebCore.vcproj/WebCore.vcproj:
2997
2998 2007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
2999
3000         Not reviewed. Try to fix qt/gtk build.
3001
3002         * WebCore.pro:
3003
3004 2007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
3005
3006         Rubber stamped by Eric.
3007
3008         Final integration of ksvg2 in WebKit. Moving ksvg2/ to svg/ and killing all it's subdirectories,
3009         by moving the files into approriate locations (css, rendering, ...) - as dicsussed on the
3010         mailing list and on IRC with David/Darin & Eric.
3011
3012         Updated all build files - though I can't guarantee it builds on non-mac. Need buildbot to verify.
3013
3014         * DerivedSources.make:
3015         * WebCore.pro:
3016         * WebCore.vcproj/WebCore.vcproj:
3017         * WebCore.xcodeproj/project.pbxproj:
3018         * bindings/js/JSSVGLazyEventListener.cpp: Copied from ksvg2/events/JSSVGLazyEventListener.cpp.
3019         * bindings/js/JSSVGLazyEventListener.h: Copied from ksvg2/events/JSSVGLazyEventListener.h.
3020         * css/SVGCSSComputedStyleDeclaration.cpp: Copied from ksvg2/css/SVGCSSComputedStyleDeclaration.cpp.
3021         * css/SVGCSSParser.cpp: Copied from ksvg2/css/SVGCSSParser.cpp.
3022         * css/SVGCSSPropertyNames.in: Copied from ksvg2/css/SVGCSSPropertyNames.in.
3023         * css/SVGCSSStyleSelector.cpp: Copied from ksvg2/css/SVGCSSStyleSelector.cpp.
3024         * css/SVGCSSValueKeywords.in: Copied from ksvg2/css/SVGCSSValueKeywords.in.
3025         * dom/make_names.pl: Copied from ksvg2/scripts/make_names.pl.
3026         * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp: Removed.
3027         * ksvg2/css/SVGCSSParser.cpp: Removed.
3028         * ksvg2/css/SVGCSSPropertyNames.in: Removed.
3029         * ksvg2/css/SVGCSSStyleSelector.cpp: Removed.
3030         * ksvg2/css/SVGCSSValueKeywords.in: Removed.
3031         * ksvg2/css/SVGRenderStyle.cpp: Removed.
3032         * ksvg2/css/SVGRenderStyle.h: Removed.
3033         * ksvg2/css/SVGRenderStyleDefs.cpp: Removed.
3034         * ksvg2/css/SVGRenderStyleDefs.h: Removed.
3035         * ksvg2/events/JSSVGLazyEventListener.cpp: Removed.
3036         * ksvg2/events/JSSVGLazyEventListener.h: Removed.
3037         * ksvg2/events/SVGZoomEvent.cpp: Removed.
3038         * ksvg2/events/SVGZoomEvent.h: Removed.
3039         * ksvg2/events/SVGZoomEvent.idl: Removed.
3040         * ksvg2/misc/PointerEventsHitRules.cpp: Removed.
3041         * ksvg2/misc/PointerEventsHitRules.h: Removed.
3042         * ksvg2/misc/SVGDocumentExtensions.cpp: Removed.
3043         * ksvg2/misc/SVGDocumentExtensions.h: Removed.
3044         * ksvg2/misc/SVGImageLoader.cpp: Removed.
3045         * ksvg2/misc/SVGImageLoader.h: Removed.
3046         * ksvg2/misc/SVGTimer.cpp: Removed.
3047         * ksvg2/misc/SVGTimer.h: Removed.
3048         * ksvg2/misc/TimeScheduler.cpp: Removed.
3049         * ksvg2/misc/TimeScheduler.h: Removed.
3050         * ksvg2/misc/xlinkattrs.in: Removed.
3051         * ksvg2/scripts/make_names.pl: Removed.
3052         * ksvg2/svg: Removed.
3053         * ksvg2/svg/ColorDistance.cpp: Removed.
3054         * ksvg2/svg/ColorDistance.h: Removed.
3055         * ksvg2/svg/GradientAttributes.h: Removed.
3056         * ksvg2/svg/LinearGradientAttributes.h: Removed.
3057         * ksvg2/svg/PatternAttributes.h: Removed.
3058         * ksvg2/svg/RadialGradientAttributes.h: Removed.
3059         * ksvg2/svg/SVGAElement.cpp: Removed.
3060         * ksvg2/svg/SVGAElement.h: Removed.
3061         * ksvg2/svg/SVGAElement.idl: Removed.
3062         * ksvg2/svg/SVGAngle.cpp: Removed.
3063         * ksvg2/svg/SVGAngle.h: Removed.
3064         * ksvg2/svg/SVGAngle.idl: Removed.
3065         * ksvg2/svg/SVGAnimateColorElement.cpp: Removed.
3066         * ksvg2/svg/SVGAnimateColorElement.h: Removed.
3067         * ksvg2/svg/SVGAnimateColorElement.idl: Removed.
3068         * ksvg2/svg/SVGAnimateElement.cpp: Removed.
3069         * ksvg2/svg/SVGAnimateElement.h: Removed.
3070         * ksvg2/svg/SVGAnimateElement.idl: Removed.
3071         * ksvg2/svg/SVGAnimateMotionElement.cpp: Removed.
3072         * ksvg2/svg/SVGAnimateMotionElement.h: Removed.
3073         * ksvg2/svg/SVGAnimateTransformElement.cpp: Removed.
3074         * ksvg2/svg/SVGAnimateTransformElement.h: Removed.
3075         * ksvg2/svg/SVGAnimateTransformElement.idl: Removed.
3076         * ksvg2/svg/SVGAnimatedAngle.idl: Removed.
3077         * ksvg2/svg/SVGAnimatedBoolean.idl: Removed.
3078         * ksvg2/svg/SVGAnimatedEnumeration.idl: Removed.
3079         * ksvg2/svg/SVGAnimatedInteger.idl: Removed.
3080         * ksvg2/svg/SVGAnimatedLength.idl: Removed.
3081         * ksvg2/svg/SVGAnimatedLengthList.idl: Removed.
3082         * ksvg2/svg/SVGAnimatedNumber.idl: Removed.
3083         * ksvg2/svg/SVGAnimatedNumberList.idl: Removed.
3084         * ksvg2/svg/SVGAnimatedPathData.cpp: Removed.
3085         * ksvg2/svg/SVGAnimatedPathData.h: Removed.
3086         * ksvg2/svg/SVGAnimatedPathData.idl: Removed.
3087         * ksvg2/svg/SVGAnimatedPoints.cpp: Removed.
3088         * ksvg2/svg/SVGAnimatedPoints.h: Removed.
3089         * ksvg2/svg/SVGAnimatedPoints.idl: Removed.
3090         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl: Removed.
3091         * ksvg2/svg/SVGAnimatedRect.idl: Removed.
3092         * ksvg2/svg/SVGAnimatedString.idl: Removed.
3093         * ksvg2/svg/SVGAnimatedTemplate.h: Removed.
3094         * ksvg2/svg/SVGAnimatedTransformList.idl: Removed.
3095         * ksvg2/svg/SVGAnimationElement.cpp: Removed.
3096         * ksvg2/svg/SVGAnimationElement.h: Removed.
3097         * ksvg2/svg/SVGAnimationElement.idl: Removed.
3098         * ksvg2/svg/SVGCircleElement.cpp: Removed.
3099         * ksvg2/svg/SVGCircleElement.h: Removed.
3100         * ksvg2/svg/SVGCircleElement.idl: Removed.
3101         * ksvg2/svg/SVGClipPathElement.cpp: Removed.
3102         * ksvg2/svg/SVGClipPathElement.h: Removed.
3103         * ksvg2/svg/SVGClipPathElement.idl: Removed.
3104         * ksvg2/svg/SVGColor.cpp: Removed.
3105         * ksvg2/svg/SVGColor.h: Removed.
3106         * ksvg2/svg/SVGColor.idl: Removed.
3107         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: Removed.
3108         * ksvg2/svg/SVGComponentTransferFunctionElement.h: Removed.
3109         * ksvg2/svg/SVGComponentTransferFunctionElement.idl: Removed.
3110         * ksvg2/svg/SVGCursorElement.cpp: Removed.
3111         * ksvg2/svg/SVGCursorElement.h: Removed.
3112         * ksvg2/svg/SVGCursorElement.idl: Removed.
3113         * ksvg2/svg/SVGDefinitionSrcElement.cpp: Removed.
3114         * ksvg2/svg/SVGDefinitionSrcElement.h: Removed.
3115         * ksvg2/svg/SVGDefinitionSrcElement.idl: Removed.
3116         * ksvg2/svg/SVGDefsElement.cpp: Removed.
3117         * ksvg2/svg/SVGDefsElement.h: Removed.
3118         * ksvg2/svg/SVGDefsElement.idl: Removed.
3119         * ksvg2/svg/SVGDescElement.cpp: Removed.
3120         * ksvg2/svg/SVGDescElement.h: Removed.
3121         * ksvg2/svg/SVGDescElement.idl: Removed.
3122         * ksvg2/svg/SVGDocument.cpp: Removed.
3123         * ksvg2/svg/SVGDocument.h: Removed.
3124         * ksvg2/svg/SVGDocument.idl: Removed.
3125         * ksvg2/svg/SVGElement.cpp: Removed.
3126         * ksvg2/svg/SVGElement.h: Removed.
3127         * ksvg2/svg/SVGElement.idl: Removed.
3128         * ksvg2/svg/SVGElementInstance.cpp: Removed.
3129         * ksvg2/svg/SVGElementInstance.h: Removed.
3130         * ksvg2/svg/SVGElementInstance.idl: Removed.
3131         * ksvg2/svg/SVGElementInstanceList.cpp: Removed.
3132         * ksvg2/svg/SVGElementInstanceList.h: Removed.
3133         * ksvg2/svg/SVGElementInstanceList.idl: Removed.
3134         * ksvg2/svg/SVGEllipseElement.cpp: Removed.
3135         * ksvg2/svg/SVGEllipseElement.h: Removed.
3136         * ksvg2/svg/SVGEllipseElement.idl: Removed.
3137         * ksvg2/svg/SVGException.h: Removed.
3138         * ksvg2/svg/SVGException.idl: Removed.
3139         * ksvg2/svg/SVGExternalResourcesRequired.cpp: Removed.
3140         * ksvg2/svg/SVGExternalResourcesRequired.h: Removed.
3141         * ksvg2/svg/SVGExternalResourcesRequired.idl: Removed.
3142         * ksvg2/svg/SVGFEBlendElement.cpp: Removed.
3143         * ksvg2/svg/SVGFEBlendElement.h: Removed.
3144         * ksvg2/svg/SVGFEBlendElement.idl: Removed.
3145         * ksvg2/svg/SVGFEColorMatrixElement.cpp: Removed.
3146         * ksvg2/svg/SVGFEColorMatrixElement.h: Removed.
3147         * ksvg2/svg/SVGFEColorMatrixElement.idl: Removed.
3148         * ksvg2/svg/SVGFEComponentTransferElement.cpp: Removed.
3149         * ksvg2/svg/SVGFEComponentTransferElement.h: Removed.
3150         * ksvg2/svg/SVGFEComponentTransferElement.idl: Removed.
3151         * ksvg2/svg/SVGFECompositeElement.cpp: Removed.
3152         * ksvg2/svg/SVGFECompositeElement.h: Removed.
3153         * ksvg2/svg/SVGFECompositeElement.idl: Removed.
3154         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: Removed.
3155         * ksvg2/svg/SVGFEDiffuseLightingElement.h: Removed.
3156         * ksvg2/svg/SVGFEDiffuseLightingElement.idl: Removed.
3157         * ksvg2/svg/SVGFEDisplacementMapElement.cpp: Removed.
3158         * ksvg2/svg/SVGFEDisplacementMapElement.h: Removed.
3159         * ksvg2/svg/SVGFEDisplacementMapElement.idl: Removed.
3160         * ksvg2/svg/SVGFEDistantLightElement.cpp: Removed.
3161         * ksvg2/svg/SVGFEDistantLightElement.h: Removed.
3162         * ksvg2/svg/SVGFEDistantLightElement.idl: Removed.
3163         * ksvg2/svg/SVGFEFloodElement.cpp: Removed.
3164         * ksvg2/svg/SVGFEFloodElement.h: Removed.
3165         * ksvg2/svg/SVGFEFloodElement.idl: Removed.
3166         * ksvg2/svg/SVGFEFuncAElement.cpp: Removed.
3167         * ksvg2/svg/SVGFEFuncAElement.h: Removed.
3168         * ksvg2/svg/SVGFEFuncAElement.idl: Removed.
3169         * ksvg2/svg/SVGFEFuncBElement.cpp: Removed.
3170         * ksvg2/svg/SVGFEFuncBElement.h: Removed.
3171         * ksvg2/svg/SVGFEFuncBElement.idl: Removed.
3172         * ksvg2/svg/SVGFEFuncGElement.cpp: Removed.
3173         * ksvg2/svg/SVGFEFuncGElement.h: Removed.
3174         * ksvg2/svg/SVGFEFuncGElement.idl: Removed.
3175         * ksvg2/svg/SVGFEFuncRElement.cpp: Removed.
3176         * ksvg2/svg/SVGFEFuncRElement.h: Removed.
3177         * ksvg2/svg/SVGFEFuncRElement.idl: Removed.
3178         * ksvg2/svg/SVGFEGaussianBlurElement.cpp: Removed.
3179         * ksvg2/svg/SVGFEGaussianBlurElement.h: Removed.
3180         * ksvg2/svg/SVGFEGaussianBlurElement.idl: Removed.
3181         * ksvg2/svg/SVGFEImageElement.cpp: Removed.
3182         * ksvg2/svg/SVGFEImageElement.h: Removed.
3183         * ksvg2/svg/SVGFEImageElement.idl: Removed.
3184         * ksvg2/svg/SVGFELightElement.cpp: Removed.
3185         * ksvg2/svg/SVGFELightElement.h: Removed.
3186         * ksvg2/svg/SVGFEMergeElement.cpp: Removed.
3187         * ksvg2/svg/SVGFEMergeElement.h: Removed.
3188         * ksvg2/svg/SVGFEMergeElement.idl: Removed.
3189         * ksvg2/svg/SVGFEMergeNodeElement.cpp: Removed.
3190         * ksvg2/svg/SVGFEMergeNodeElement.h: Removed.
3191         * ksvg2/svg/SVGFEMergeNodeElement.idl: Removed.
3192         * ksvg2/svg/SVGFEOffsetElement.cpp: Removed.
3193         * ksvg2/svg/SVGFEOffsetElement.h: Removed.
3194         * ksvg2/svg/SVGFEOffsetElement.idl: Removed.
3195         * ksvg2/svg/SVGFEPointLightElement.cpp: Removed.
3196         * ksvg2/svg/SVGFEPointLightElement.h: Removed.
3197         * ksvg2/svg/SVGFEPointLightElement.idl: Removed.
3198         * ksvg2/svg/SVGFESpecularLightingElement.cpp: Removed.
3199         * ksvg2/svg/SVGFESpecularLightingElement.h: Removed.
3200         * ksvg2/svg/SVGFESpecularLightingElement.idl: Removed.
3201         * ksvg2/svg/SVGFESpotLightElement.cpp: Removed.
3202         * ksvg2/svg/SVGFESpotLightElement.h: Removed.
3203         * ksvg2/svg/SVGFESpotLightElement.idl: Removed.
3204         * ksvg2/svg/SVGFETileElement.cpp: Removed.
3205         * ksvg2/svg/SVGFETileElement.h: Removed.
3206         * ksvg2/svg/SVGFETileElement.idl: Removed.
3207         * ksvg2/svg/SVGFETurbulenceElement.cpp: Removed.
3208         * ksvg2/svg/SVGFETurbulenceElement.h: Removed.
3209         * ksvg2/svg/SVGFETurbulenceElement.idl: Removed.
3210         * ksvg2/svg/SVGFilterElement.cpp: Removed.
3211         * ksvg2/svg/SVGFilterElement.h: Removed.
3212         * ksvg2/svg/SVGFilterElement.idl: Removed.
3213         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: Removed.
3214         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: Removed.
3215         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: Removed.
3216         * ksvg2/svg/SVGFitToViewBox.cpp: Removed.
3217         * ksvg2/svg/SVGFitToViewBox.h: Removed.
3218         * ksvg2/svg/SVGFitToViewBox.idl: Removed.
3219         * ksvg2/svg/SVGFontFaceElement.cpp: Removed.
3220         * ksvg2/svg/SVGFontFaceElement.h: Removed.
3221         * ksvg2/svg/SVGFontFaceElement.idl: Removed.
3222         * ksvg2/svg/SVGFontFaceFormatElement.cpp: Removed.
3223         * ksvg2/svg/SVGFontFaceFormatElement.h: Removed.
3224         * ksvg2/svg/SVGFontFaceFormatElement.idl: Removed.
3225         * ksvg2/svg/SVGFontFaceNameElement.cpp: Removed.
3226         * ksvg2/svg/SVGFontFaceNameElement.h: Removed.
3227         * ksvg2/svg/SVGFontFaceNameElement.idl: Removed.
3228         * ksvg2/svg/SVGFontFaceSrcElement.cpp: Removed.
3229         * ksvg2/svg/SVGFontFaceSrcElement.h: Removed.
3230         * ksvg2/svg/SVGFontFaceSrcElement.idl: Removed.
3231         * ksvg2/svg/SVGFontFaceUriElement.cpp: Removed.
3232         * ksvg2/svg/SVGFontFaceUriElement.h: Removed.
3233         * ksvg2/svg/SVGFontFaceUriElement.idl: Removed.
3234         * ksvg2/svg/SVGForeignObjectElement.cpp: Removed.
3235         * ksvg2/svg/SVGForeignObjectElement.h: Removed.
3236         * ksvg2/svg/SVGForeignObjectElement.idl: Removed.
3237         * ksvg2/svg/SVGGElement.cpp: Removed.
3238         * ksvg2/svg/SVGGElement.h: Removed.
3239         * ksvg2/svg/SVGGElement.idl: Removed.
3240         * ksvg2/svg/SVGGradientElement.cpp: Removed.
3241         * ksvg2/svg/SVGGradientElement.h: Removed.
3242         * ksvg2/svg/SVGGradientElement.idl: Removed.
3243         * ksvg2/svg/SVGImageElement.cpp: Removed.
3244         * ksvg2/svg/SVGImageElement.h: Removed.
3245         * ksvg2/svg/SVGImageElement.idl: Removed.
3246         * ksvg2/svg/SVGLangSpace.cpp: Removed.
3247         * ksvg2/svg/SVGLangSpace.h: Removed.
3248         * ksvg2/svg/SVGLangSpace.idl: Removed.
3249         * ksvg2/svg/SVGLength.cpp: Removed.
3250         * ksvg2/svg/SVGLength.h: Removed.
3251         * ksvg2/svg/SVGLength.idl: Removed.
3252         * ksvg2/svg/SVGLengthList.cpp: Removed.
3253         * ksvg2/svg/SVGLengthList.h: Removed.
3254         * ksvg2/svg/SVGLengthList.idl: Removed.
3255         * ksvg2/svg/SVGLineElement.cpp: Removed.
3256         * ksvg2/svg/SVGLineElement.h: Removed.
3257         * ksvg2/svg/SVGLineElement.idl: Removed.
3258         * ksvg2/svg/SVGLinearGradientElement.cpp: Removed.
3259         * ksvg2/svg/SVGLinearGradientElement.h: Removed.
3260         * ksvg2/svg/SVGLinearGradientElement.idl: Removed.
3261         * ksvg2/svg/SVGList.h: Removed.
3262         * ksvg2/svg/SVGListTraits.h: Removed.
3263         * ksvg2/svg/SVGLocatable.cpp: Removed.
3264         * ksvg2/svg/SVGLocatable.h: Removed.
3265         * ksvg2/svg/SVGLocatable.idl: Removed.
3266         * ksvg2/svg/SVGMPathElement.cpp: Removed.
3267         * ksvg2/svg/SVGMPathElement.h: Removed.
3268         * ksvg2/svg/SVGMarkerElement.cpp: Removed.
3269         * ksvg2/svg/SVGMarkerElement.h: Removed.
3270         * ksvg2/svg/SVGMarkerElement.idl: Removed.
3271         * ksvg2/svg/SVGMaskElement.cpp: Removed.
3272         * ksvg2/svg/SVGMaskElement.h: Removed.
3273         * ksvg2/svg/SVGMaskElement.idl: Removed.
3274         * ksvg2/svg/SVGMatrix.idl: Removed.
3275         * ksvg2/svg/SVGMetadataElement.cpp: Removed.
3276         * ksvg2/svg/SVGMetadataElement.h: Removed.
3277         * ksvg2/svg/SVGMetadataElement.idl: Removed.
3278         * ksvg2/svg/SVGNumber.idl: Removed.
3279         * ksvg2/svg/SVGNumberList.cpp: Removed.
3280         * ksvg2/svg/SVGNumberList.h: Removed.
3281         * ksvg2/svg/SVGNumberList.idl: Removed.
3282         * ksvg2/svg/SVGPaint.cpp: Removed.
3283         * ksvg2/svg/SVGPaint.h: Removed.
3284         * ksvg2/svg/SVGPaint.idl: Removed.
3285         * ksvg2/svg/SVGParserUtilities.cpp: Removed.
3286         * ksvg2/svg/SVGParserUtilities.h: Removed.
3287         * ksvg2/svg/SVGPathElement.cpp: Removed.
3288         * ksvg2/svg/SVGPathElement.h: Removed.
3289         * ksvg2/svg/SVGPathElement.idl: Removed.
3290         * ksvg2/svg/SVGPathSeg.h: Removed.
3291         * ksvg2/svg/SVGPathSeg.idl: Removed.
3292         * ksvg2/svg/SVGPathSegArc.cpp: Removed.
3293         * ksvg2/svg/SVGPathSegArc.h: Removed.
3294         * ksvg2/svg/SVGPathSegArcAbs.idl: Removed.
3295         * ksvg2/svg/SVGPathSegArcRel.idl: Removed.
3296         * ksvg2/svg/SVGPathSegClosePath.cpp: Removed.
3297         * ksvg2/svg/SVGPathSegClosePath.h: Removed.
3298         * ksvg2/svg/SVGPathSegClosePath.idl: Removed.
3299         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp: Removed.
3300         * ksvg2/svg/SVGPathSegCurvetoCubic.h: Removed.
3301         * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Removed.
3302         * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Removed.
3303         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
3304         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: Removed.
3305         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Removed.
3306         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Removed.
3307         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
3308         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h: Removed.
3309         * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Removed.
3310         * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Removed.
3311         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
3312         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: Removed.
3313         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Removed.
3314         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Removed.
3315         * ksvg2/svg/SVGPathSegLineto.cpp: Removed.
3316         * ksvg2/svg/SVGPathSegLineto.h: Removed.
3317         * ksvg2/svg/SVGPathSegLinetoAbs.idl: Removed.
3318         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp: Removed.
3319         * ksvg2/svg/SVGPathSegLinetoHorizontal.h: Removed.
3320         * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Removed.
3321         * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Removed.
3322         * ksvg2/svg/SVGPathSegLinetoRel.idl: Removed.
3323         * ksvg2/svg/SVGPathSegLinetoVertical.cpp: Removed.
3324         * ksvg2/svg/SVGPathSegLinetoVertical.h: Removed.
3325         * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Removed.
3326         * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Removed.
3327         * ksvg2/svg/SVGPathSegList.cpp: Removed.
3328         * ksvg2/svg/SVGPathSegList.h: Removed.
3329         * ksvg2/svg/SVGPathSegList.idl: Removed.
3330         * ksvg2/svg/SVGPathSegMoveto.cpp: Removed.
3331         * ksvg2/svg/SVGPathSegMoveto.h: Removed.
3332         * ksvg2/svg/SVGPathSegMovetoAbs.idl: Removed.
3333         * ksvg2/svg/SVGPathSegMovetoRel.idl: Removed.
3334         * ksvg2/svg/SVGPatternElement.cpp: Removed.
3335         * ksvg2/svg/SVGPatternElement.h: Removed.
3336         * ksvg2/svg/SVGPatternElement.idl: Removed.
3337         * ksvg2/svg/SVGPoint.idl: Removed.
3338         * ksvg2/svg/SVGPointList.cpp: Removed.
3339         * ksvg2/svg/SVGPointList.h: Removed.
3340         * ksvg2/svg/SVGPointList.idl: Removed.
3341         * ksvg2/svg/SVGPolyElement.cpp: Removed.
3342         * ksvg2/svg/SVGPolyElement.h: Removed.
3343         * ksvg2/svg/SVGPolygonElement.cpp: Removed.
3344         * ksvg2/svg/SVGPolygonElement.h: Removed.
3345         * ksvg2/svg/SVGPolygonElement.idl: Removed.
3346         * ksvg2/svg/SVGPolylineElement.cpp: Removed.
3347         * ksvg2/svg/SVGPolylineElement.h: Removed.
3348         * ksvg2/svg/SVGPolylineElement.idl: Removed.
3349         * ksvg2/svg/SVGPreserveAspectRatio.cpp: Removed.
3350         * ksvg2/svg/SVGPreserveAspectRatio.h: Removed.
3351         * ksvg2/svg/SVGPreserveAspectRatio.idl: Removed.
3352         * ksvg2/svg/SVGRadialGradientElement.cpp: Removed.
3353         * ksvg2/svg/SVGRadialGradientElement.h: Removed.
3354         * ksvg2/svg/SVGRadialGradientElement.idl: Removed.
3355         * ksvg2/svg/SVGRect.idl: Removed.
3356         * ksvg2/svg/SVGRectElement.cpp: Removed.
3357         * ksvg2/svg/SVGRectElement.h: Removed.
3358         * ksvg2/svg/SVGRectElement.idl: Removed.
3359         * ksvg2/svg/SVGRenderingIntent.h: Removed.
3360         * ksvg2/svg/SVGRenderingIntent.idl: Removed.
3361         * ksvg2/svg/SVGSVGElement.cpp: Removed.
3362         * ksvg2/svg/SVGSVGElement.h: Removed.
3363         * ksvg2/svg/SVGSVGElement.idl: Removed.
3364         * ksvg2/svg/SVGScriptElement.cpp: Removed.
3365         * ksvg2/svg/SVGScriptElement.h: Removed.
3366         * ksvg2/svg/SVGScriptElement.idl: Removed.
3367         * ksvg2/svg/SVGSetElement.cpp: Removed.
3368         * ksvg2/svg/SVGSetElement.h: Removed.
3369         * ksvg2/svg/SVGSetElement.idl: Removed.
3370         * ksvg2/svg/SVGStopElement.cpp: Removed.
3371         * ksvg2/svg/SVGStopElement.h: Removed.
3372         * ksvg2/svg/SVGStopElement.idl: Removed.
3373         * ksvg2/svg/SVGStringList.cpp: Removed.
3374         * ksvg2/svg/SVGStringList.h: Removed.
3375         * ksvg2/svg/SVGStringList.idl: Removed.
3376         * ksvg2/svg/SVGStylable.cpp: Removed.
3377         * ksvg2/svg/SVGStylable.h: Removed.
3378         * ksvg2/svg/SVGStylable.idl: Removed.
3379         * ksvg2/svg/SVGStyleElement.cpp: Removed.
3380         * ksvg2/svg/SVGStyleElement.h: Removed.
3381         * ksvg2/svg/SVGStyleElement.idl: Removed.
3382         * ksvg2/svg/SVGStyledElement.cpp: Removed.
3383         * ksvg2/svg/SVGStyledElement.h: Removed.
3384         * ksvg2/svg/SVGStyledLocatableElement.cpp: Removed.
3385         * ksvg2/svg/SVGStyledLocatableElement.h: Removed.
3386         * ksvg2/svg/SVGStyledTransformableElement.cpp: Removed.
3387         * ksvg2/svg/SVGStyledTransformableElement.h: Removed.
3388         * ksvg2/svg/SVGSwitchElement.cpp: Removed.
3389         * ksvg2/svg/SVGSwitchElement.h: Removed.
3390         * ksvg2/svg/SVGSwitchElement.idl: Removed.
3391         * ksvg2/svg/SVGSymbolElement.cpp: Removed.
3392         * ksvg2/svg/SVGSymbolElement.h: Removed.
3393         * ksvg2/svg/SVGSymbolElement.idl: Removed.
3394         * ksvg2/svg/SVGTRefElement.cpp: Removed.
3395         * ksvg2/svg/SVGTRefElement.h: Removed.
3396         * ksvg2/svg/SVGTRefElement.idl: Removed.
3397         * ksvg2/svg/SVGTSpanElement.cpp: Removed.
3398         * ksvg2/svg/SVGTSpanElement.h: Removed.
3399         * ksvg2/svg/SVGTSpanElement.idl: Removed.
3400         * ksvg2/svg/SVGTests.cpp: Removed.
3401         * ksvg2/svg/SVGTests.h: Removed.
3402         * ksvg2/svg/SVGTests.idl: Removed.
3403         * ksvg2/svg/SVGTextContentElement.cpp: Removed.
3404         * ksvg2/svg/SVGTextContentElement.h: Removed.
3405         * ksvg2/svg/SVGTextContentElement.idl: Removed.
3406         * ksvg2/svg/SVGTextElement.cpp: Removed.
3407         * ksvg2/svg/SVGTextElement.h: Removed.
3408         * ksvg2/svg/SVGTextElement.idl: Removed.
3409         * ksvg2/svg/SVGTextPathElement.cpp: Removed.
3410         * ksvg2/svg/SVGTextPathElement.h: Removed.
3411         * ksvg2/svg/SVGTextPathElement.idl: Removed.
3412         * ksvg2/svg/SVGTextPositioningElement.cpp: Removed.
3413         * ksvg2/svg/SVGTextPositioningElement.h: Removed.
3414         * ksvg2/svg/SVGTextPositioningElement.idl: Removed.
3415         * ksvg2/svg/SVGTitleElement.cpp: Removed.
3416         * ksvg2/svg/SVGTitleElement.h: Removed.
3417         * ksvg2/svg/SVGTitleElement.idl: Removed.
3418         * ksvg2/svg/SVGTransform.cpp: Removed.
3419         * ksvg2/svg/SVGTransform.h: Removed.
3420         * ksvg2/svg/SVGTransform.idl: Removed.
3421         * ksvg2/svg/SVGTransformDistance.cpp: Removed.
3422         * ksvg2/svg/SVGTransformDistance.h: Removed.
3423         * ksvg2/svg/SVGTransformList.cpp: Removed.
3424         * ksvg2/svg/SVGTransformList.h: Removed.
3425         * ksvg2/svg/SVGTransformList.idl: Removed.
3426         * ksvg2/svg/SVGTransformable.cpp: Removed.
3427         * ksvg2/svg/SVGTransformable.h: Removed.
3428         * ksvg2/svg/SVGTransformable.idl: Removed.
3429         * ksvg2/svg/SVGURIReference.cpp: Removed.
3430         * ksvg2/svg/SVGURIReference.h: Removed.
3431         * ksvg2/svg/SVGURIReference.idl: Removed.
3432         * ksvg2/svg/SVGUnitTypes.h: Removed.
3433         * ksvg2/svg/SVGUnitTypes.idl: Removed.
3434         * ksvg2/svg/SVGUseElement.cpp: Removed.
3435         * ksvg2/svg/SVGUseElement.h: Removed.
3436         * ksvg2/svg/SVGUseElement.idl: Removed.
3437         * ksvg2/svg/SVGViewElement.cpp: Removed.
3438         * ksvg2/svg/SVGViewElement.h: Removed.
3439         * ksvg2/svg/SVGViewElement.idl: Removed.
3440         * ksvg2/svg/SVGViewSpec.cpp: Removed.
3441         * ksvg2/svg/SVGViewSpec.h: Removed.
3442         * ksvg2/svg/SVGViewSpec.idl: Removed.
3443         * ksvg2/svg/SVGZoomAndPan.cpp: Removed.
3444         * ksvg2/svg/SVGZoomAndPan.h: Removed.
3445         * ksvg2/svg/SVGZoomAndPan.idl: Removed.
3446         * ksvg2/svg/svgattrs.in: Removed.
3447         * ksvg2/svg/svgtags.in: Removed.
3448         * rendering/PointerEventsHitRules.cpp: Copied from ksvg2/misc/PointerEventsHitRules.cpp.
3449         * rendering/PointerEventsHitRules.h: Copied from ksvg2/misc/PointerEventsHitRules.h.
3450         * rendering/SVGRenderStyle.cpp: Copied from ksvg2/css/SVGRenderStyle.cpp.
3451         * rendering/SVGRenderStyle.h: Copied from ksvg2/css/SVGRenderStyle.h.
3452         * rendering/SVGRenderStyleDefs.cpp: Copied from ksvg2/css/SVGRenderStyleDefs.cpp.
3453         * rendering/SVGRenderStyleDefs.h: Copied from ksvg2/css/SVGRenderStyleDefs.h.
3454         * svg: Copied from ksvg2/svg.
3455         * svg/SVGDocumentExtensions.cpp: Copied from ksvg2/misc/SVGDocumentExtensions.cpp.
3456         * svg/SVGDocumentExtensions.h: Copied from ksvg2/misc/SVGDocumentExtensions.h.
3457         * svg/SVGImageLoader.cpp: Copied from ksvg2/misc/SVGImageLoader.cpp.
3458         * svg/SVGImageLoader.h: Copied from ksvg2/misc/SVGImageLoader.h.
3459         * svg/SVGTimer.cpp: Copied from ksvg2/misc/SVGTimer.cpp.
3460         * svg/SVGTimer.h: Copied from ksvg2/misc/SVGTimer.h.
3461         * svg/SVGZoomEvent.cpp: Copied from ksvg2/events/SVGZoomEvent.cpp.
3462         * svg/SVGZoomEvent.h: Copied from ksvg2/events/SVGZoomEvent.h.
3463         * svg/SVGZoomEvent.idl: Copied from ksvg2/events/SVGZoomEvent.idl.
3464         * svg/TimeScheduler.cpp: Copied from ksvg2/misc/TimeScheduler.cpp.
3465         * svg/TimeScheduler.h: Copied from ksvg2/misc/TimeScheduler.h.
3466         * svg/xlinkattrs.in: Copied from ksvg2/misc/xlinkattrs.in.
3467
3468 2007-11-30  Kevin Ollivier  <kevino@theolliviers.com>
3469
3470         wx build fix. Add WebCore/platform/graphics/wx to includes.
3471
3472         * webcore-wx.bkl:
3473
3474 2007-11-30  Brady Eidson  <beidson@apple.com>
3475
3476         Reviewed by Geoff
3477
3478         Further hookup of Database API
3479         With this change, any database operation that writes to the database (UPDATE, INSERT, CREATE, etc) will
3480         result in a didModifyDatabase notification when the transaction is successfully committed
3481
3482         * storage/DatabaseAuthorizer.cpp: Global rename of "m_lastActionIncreasedSize" to "m_lastActionChangedDatabase"
3483         (WebCore::DatabaseAuthorizer::reset):
3484         (WebCore::DatabaseAuthorizer::createTable):
3485         (WebCore::DatabaseAuthorizer::allowAlterTable):
3486         (WebCore::DatabaseAuthorizer::createIndex):
3487         (WebCore::DatabaseAuthorizer::createTrigger):
3488         (WebCore::DatabaseAuthorizer::createVTable):
3489         (WebCore::DatabaseAuthorizer::allowInsert):
3490         (WebCore::DatabaseAuthorizer::allowUpdate):
3491         * storage/DatabaseAuthorizer.h:
3492         (WebCore::DatabaseAuthorizer::lastActionChangedDatabase):
3493
3494         * storage/DatabaseTracker.cpp:
3495         (WebCore::DatabaseTracker::notifyDatabaseChanged): Added.  Allow external entities (SQLTransaction) to be able
3496           to request a didModifyDatabase notification to the delegate
3497         * storage/DatabaseTracker.h:
3498
3499         * storage/SQLTransaction.cpp: Added m_modifiedDatabase flag which tracks if any statement over the course of 
3500           a transaction resulted in a change to the database.
3501         (WebCore::SQLTransaction::SQLTransaction):
3502         (WebCore::SQLTransaction::runCurrentStatement): Set m_modifiedDatabase to true if the authorizer reports a mutation
3503           statement occurred
3504         (WebCore::SQLTransaction::postflightAndCommit): If the transaction successfully commits, call DatabaseTracker::notifyDatabaseChanged
3505         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
3506         * storage/SQLTransaction.h:
3507
3508 2007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
3509
3510         Rubber stamped by David.
3