Reviewed by Darin.
[WebKit-https.git] / WebCore / ChangeLog
1 2007-11-10  Alexey Proskuryakov  <ap@nypop.com>
2
3         Reviewed by Darin.
4
5         http://bugs.webkit.org/show_bug.cgi?id=15892
6         DOM Range operations are not implemented for ProcessingInstruction nodes
7
8         Test: fast/dom/Range/range-processing-instructions.html
9
10         * dom/Range.cpp:
11         (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
12         (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
13         to use ProcessingInstruction.data.
14
15 2007-11-09  Timothy Hatcher  <timothy@apple.com>
16
17         Reviewed by Mark Rowe.
18
19         Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
20         http://bugs.webkit.org/show_bug.cgi?id=12054
21
22         - Add support code for routing copy events to the focused element.
23         - Implement copying the currently selected DOM node. The node
24           and it's subtree is copied to the clipboard. If the node has no
25           outerHTML, the nodeValue is copied (text nodes, etc.)
26         - Implement copy for the resource sidebar. The URL is copied for the
27           currently selected resource.
28
29         * page/inspector/DocumentPanel.js:
30         * page/inspector/inspector.js:
31
32 2007-11-09  Antti Koivisto  <antti@apple.com>
33
34         Reviewed by Adele.
35
36         Fix occasional blank video with poster attribute.
37
38         * ChangeLog:
39         * html/HTMLMediaElement.cpp:
40         (WebCore::HTMLMediaElement::load):
41         (WebCore::HTMLMediaElement::didRestoreFromCache):
42         Just calling updateFromElement() does the right thing for both poster image and video.
43
44 2007-11-04  Sam Weinig  <sam@webkit.org>
45
46         Reviewed by Adam Roben.
47
48         <rdar://problem/5435940>
49         The COM bindings for the DOM should be autogenerated like the other DOM bindings
50
51         Initial commit of the autogeneration of the COM DOM Bindings.  No behavior change
52         is being introduced in this patch and to insure that no conflicts arise, a temporary
53         prefix of "GEN_" has been used for all the new classes.
54
55         The build architecture for these bindings differs slightly from the other autogenerated
56         bindings.  Instead of building in WebCore and migrating the resuting code to WebKit (as
57         is done for the Objective-C bindigs currently), the IDLs and generation scripts are
58         migrated to WebKit and built there.  This is done with a series of scripts and Makefiles.
59
60         This commit includes:
61             - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
62               and ref-counting.
63             - Generating all of the Core DOM and most of HTML and CSS
64             - Generating Event, EventTarget, and EventListener
65
66         * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
67         * WebCore.vcproj/WebCore.vcproj:
68         * WebCore.vcproj/migrate-idls.sh: Added.
69         * bindings/scripts/CodeGenerator.pm:
70         * bindings/scripts/CodeGeneratorCOM.pm: Added.
71         * dom/EventListener.h: Make the isWindowEvent parameter default to false
72         to allow autogeneration based on the IDL.
73
74 2007-11-09  Tristan O'Tierney  <tristan@apple.com>
75
76         Reviewed by Timothy Hatcher.
77         
78         This patch is for the WebKit side of <rdar://problem/5591115>.
79         We need a way to tell context menu navigations, such as "Open in New Window"
80         to override any sort of browser preference for tab based navigation.
81
82         * bridge/WindowFeatures.h:
83         (WebCore::WindowFeatures::WindowFeatures):
84         Added a new struct member var, preferredType
85         and an accompanying enum type PreferredType
86         to send a window type recommendation up to the Chrome. 
87         
88         * page/ContextMenuController.cpp:
89         (WebCore::openNewWindow):
90         Set the window features to recommend a new Window for
91         "Open in New Window" context menu action.
92
93 2007-11-08  Adam Roben  <aroben@apple.com>
94
95         Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
96
97         We now match the behavior of Firefox and IE, which is to always just
98         send a click event to the focused button when the Enter key is pressed
99         (previously we were submitting forms directly in some cases).
100
101         Reviewed by Adele.
102
103         Test: fast/forms/enter-clicks-buttons.html
104
105         * html/HTMLButtonElement.cpp:
106         (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
107         fancy when Enter is pressed on a <button type=button> -- just send a
108         click event like we do for other button types.
109         * html/HTMLInputElement.cpp:
110         (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
111         the same way we treat type=submit and type=reset: just send a click
112         event when Enter is pressed.
113
114 2007-11-09  Dan Bernstein  <mitz@apple.com>
115
116         Reviewed by Antti Koivisto.
117
118         - fix a bug in invisible layer culling: dynamically changing a 
119           descendant of an invisible layer to be visible did not work
120
121         Test: fast/layers/layer-content-visibility-change.html
122
123         * rendering/RenderLayer.cpp:
124         (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
125         make sure that our stacking context rebuilds its z-order lists to
126         include us.
127
128 2007-11-09  David Hyatt  <hyatt@apple.com>
129
130         Clean up matrix() parsing.  Make sure the first four arguments can be lengths or numbers.  The last two
131         args can be lengths or numbers or percents.
132
133         Reviewed by Beth
134
135         * WebCore.xcodeproj/project.pbxproj:
136         * css/CSSParser.cpp:
137         (WebCore::TransformOperationInfo::TransformOperationInfo):
138         (WebCore::CSSParser::parseTransform):
139         * rendering/RenderStyle.h:
140         (WebCore::MatrixTransformOperation::apply):
141
142 2007-11-09  Beth Dakin  <bdakin@apple.com>
143
144         Reviewed by Oliver.
145
146         Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix 
147         math leads to crazy problems
148
149         Transform matrices accept the first four parameters as CSS lengths. 
150         CSS lengths get mapped into WebCore::Lengths as percents by 
151         WebCore::convertToLength(). Percent lengths cannot call value(). It 
152         does not yield a correct result and it asserts on Debug builds. 
153
154         * rendering/RenderStyle.h:
155         (WebCore::MatrixTransformOperation::apply): Instead of calling 
156         value() on the lengths, call calcValue. This fixes the assert and 
157         the bad rendering. 
158
159 2007-11-09  Simon Hausmann  <hausmann@kde.org>
160
161         Reviewed by nobody, build/link fix for Qt/Windows.
162
163         userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
164         define it twice.
165
166         * platform/qt/TemporaryLinkStubs.cpp:
167
168 2007-11-09  Simon Hausmann  <hausmann@kde.org>
169
170         Reviewed by Holger.
171
172         Fix ContextMenu allocation in the Qt port.
173
174         Store all items and submenus value based in ContextMenu and ContextMenuItem.
175         That fixes the crashes when the context menu was populated with sub-menus because
176         of the use of temporary ContextMenu objects like this:
177
178         ContextMenu subMenu(...);
179         subMenu.appendItem(...);
180         subMenu.appendItem(...);
181
182         subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
183
184         * platform/ContextMenu.h:
185         * platform/ContextMenuItem.h:
186         * platform/PlatformMenuDescription.h:
187         * platform/qt/ContextMenuItemQt.cpp:
188         (WebCore::ContextMenuItem::ContextMenuItem):
189         (WebCore::ContextMenuItem::platformSubMenu):
190         * platform/qt/ContextMenuQt.cpp:
191         (WebCore::ContextMenu::ContextMenu):
192         (WebCore::ContextMenu::~ContextMenu):
193         (WebCore::ContextMenu::appendItem):
194         (WebCore::ContextMenu::itemCount):
195
196 2007-11-09  Peter Kasting  <zerodpx@gmail.com>
197
198         Reviewed by Mark Rowe.
199
200         http://bugs.webkit.org/show_bug.cgi?id=15909
201         Malformed GIFs should not result in memory corruption.
202
203         * platform/image-decoders/gif/GIFImageDecoder.cpp:
204         (WebCore::GIFImageDecoder::haveDecodedRow):
205
206 2007-11-08  Timothy Hatcher  <timothy@apple.com>
207
208         Reviewed by Sam Weinig.
209
210         Some Web Inspector CSS editing changes.
211         - Only delete the property if all the text is delete or the new user input correctly parses.
212           This prevents deleting the existing property if the new text is invalid.
213         - Intercept the Escape key and cancel editing, not saving any changes.
214
215         * page/inspector/StylesSidebarPane.js:
216
217 2007-11-08  Kevin Ollivier  <kevino@theolliviers.com>
218
219         Bakefiles for building WebCore, needed by wx port.
220
221         Reviewed by Mark Rowe.
222
223         * WebCoreSources.bkl: Added.
224         * webcore-base.bkl: Added.
225         * webcore-wx.bkl: Added.
226
227 2007-11-08  Justin Haygood  <jhaygood@reaktix.com>
228
229         Reviewed by Mark Rowe.
230
231         http://bugs.webkit.org/show_bug.cgi?id=15905
232
233         Fix builds with HTML 5 Storage support disabled.
234         ENABLE(DATABASE) needs to be added in a few places.
235
236         * page/InspectorController.cpp:
237         * storage/Database.h:
238
239 2007-11-08  Steve Falkenburg  <sfalken@apple.com>
240
241         <rdar://problem/5524082> Allow images to be dragged out directly into other apps
242         
243         We weren't including CF_HDROP in our image drops.  This broke drag of
244         images out of the browser window directly into other apps (examples
245         include notepad, mspaint, msword).
246         
247         Reviewed by Oliver, Ada.
248
249         * platform/win/ClipboardWin.cpp:
250         (WebCore::createGlobalImageFileContent): Removed unused variable.
251         (WebCore::createGlobalHDropContent): Added
252         (WebCore::writeFileToDataObject): Write HDROP data if available.
253         (WebCore::writeImageToDataObject): Write HDROP for dragged images.
254         (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
255
256 2007-11-08  Xan Lopez  <xan@gnome.org>
257
258         Reviewed by Alp.
259
260         http://bugs.webkit.org/show_bug.cgi?id=15908
261         Use g_object_ref_sink when available
262
263         * platform/gtk/PopupMenuGtk.cpp:
264         (WebCore::PopupMenu::show):
265         * platform/gtk/ScrollViewGtk.cpp:
266         (WebCore::ScrollView::setGtkAdjustments):
267
268 2007-11-08  Dan Bernstein  <mitz@apple.com>
269
270         Reviewed by Beth Dakin.
271
272         - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
273
274         Test: fast/dom/length-attribute-mapping.html
275
276         * dom/StyledElement.cpp:
277         (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
278         logic to stop after the first "%" or "*" in the string. This allows for
279         "100%25" to be mapped to "100%" like it is in Firefox and WinIE.
280
281 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
282
283         - Build fix.
284
285         * loader/FrameLoaderClient.h:
286         * platform/graphics/svg/SVGImageEmptyClients.h:
287         (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
288
289 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
290
291         Reviewed by Sam.
292
293         - windowObjectCleared() is no longer const.  It needs to setup the
294         script debugger and cannot be const to do so.
295
296         * loader/FrameLoaderClient.h:
297         * platform/graphics/svg/SVGImageEmptyClients.h:
298         (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
299
300 2007-11-08  Adam Roben  <aroben@apple.com>
301
302         Hopeful Windows build fix
303
304         * rendering/RenderObject.cpp: Touch this file to make it recompile.
305
306 2007-11-08  Sam Weinig  <sam@webkit.org>
307
308         Reviewed by Darin.
309
310         Convert JavaScript internal function objects to use one class per
311         function.  This avoids a switch statement inside what used to be
312         the shared function classes and will allow Shark to better analyze
313         the code.
314
315         To make this switch, the value property of the HashEntry was changed
316         to a union of an intptr_t (which is used to continue handle valueGetters)
317         and function pointer which points to a static constructor for the
318         individual new function objects.
319
320         SunSpider claims this is a 1.0% speedup.
321
322         - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
323           new classes and hand updated the remain non-generated (groan) classes.
324
325         * bindings/js/JSDOMWindowCustom.cpp:
326         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
327         * bindings/js/JSEventTargetNode.cpp:
328         (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
329         (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
330         (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
331         * bindings/js/JSEventTargetNode.h:
332         * bindings/js/JSHTMLInputElementBase.cpp:
333         (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
334         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
335         * bindings/js/JSHTMLInputElementBase.h:
336         (WebCore::JSHTMLInputElementBase::):
337         * bindings/js/JSXMLHttpRequest.cpp:
338         (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
339         (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
340         (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
341         (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
342         (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
343         (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
344         (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
345         (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
346         (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
347         (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
348         * bindings/js/JSXMLHttpRequest.h:
349         (KJS::JSXMLHttpRequest::impl):
350         * bindings/js/JSXSLTProcessor.cpp:
351         (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
352         (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
353         (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
354         (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
355         (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
356         (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
357         (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
358         (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
359         * bindings/js/JSXSLTProcessor.h:
360         * bindings/js/kjs_events.cpp:
361         (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
362         (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
363         (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
364         (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
365         * bindings/js/kjs_events.h:
366         * bindings/js/kjs_navigator.cpp:
367         (KJS::Plugins::):
368         (KJS::Navigator::getOwnPropertySlot):
369         (KJS::Plugins::getOwnPropertySlot):
370         (KJS::PluginsFunctionRefresh::callAsFunction):
371         (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
372         * bindings/js/kjs_navigator.h:
373         (KJS::Navigator::):
374         * bindings/js/kjs_window.cpp:
375         (KJS::Window::getOwnPropertySlot):
376         (KJS::Window::put):
377         (KJS::WindowProtoFuncAToB::callAsFunction):
378         (KJS::WindowProtoFuncBToA::callAsFunction):
379         (KJS::WindowProtoFuncOpen::callAsFunction):
380         (KJS::WindowProtoFuncScrollBy::callAsFunction):
381         (KJS::WindowProtoFuncScrollTo::callAsFunction):
382         (KJS::WindowProtoFuncMoveBy::callAsFunction):
383         (KJS::WindowProtoFuncMoveTo::callAsFunction):
384         (KJS::WindowProtoFuncResizeBy::callAsFunction):
385         (KJS::WindowProtoFuncResizeTo::callAsFunction):
386         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
387         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
388         (KJS::WindowProtoFuncSetInterval::callAsFunction):
389         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
390         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
391         (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
392         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
393         (KJS::Location::getOwnPropertySlot):
394         (KJS::Location::put):
395         (KJS::LocationProtoFuncReplace::callAsFunction):
396         (KJS::LocationProtoFuncReload::callAsFunction):
397         (KJS::LocationProtoFuncAssign::callAsFunction):
398         (KJS::LocationProtoFuncToString::callAsFunction):
399         * bindings/js/kjs_window.h:
400         (KJS::Window::):
401         * bindings/scripts/CodeGeneratorJS.pm:
402
403 2007-11-08  Mark Rowe  <mrowe@apple.com>
404
405         Fix the Gtk, Qt and Wx builds.
406
407         * platform/gtk/TemporaryLinkStubs.cpp:
408         * platform/qt/TemporaryLinkStubs.cpp:
409         * platform/wx/TemporaryLinkStubs.cpp:
410
411 2007-11-08  Mark Rowe  <mrowe@apple.com>
412
413         Not reviewed.  Fix two instances of includes using the wrong case in the filename.
414
415         * platform/graphics/mac/MoviePrivateQTKit.mm:
416         * platform/wx/MimeTypeRegistryWx.cpp:
417
418 2007-11-08  Darin Adler  <darin@apple.com>
419
420         Reviewed by Adam.
421
422         - fix <rdar://problem/5552943> accesskey does not focus <button> elements
423
424         Test: fast/forms/access-key.html
425
426         * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
427         Added a call to focus.
428
429 2007-11-07  Darin Adler  <darin@apple.com>
430
431         Reviewed by Steve.
432
433         - cut down on notImplemented() functions on Windows
434
435         * bridge/AXObjectCache.h: Put #if around the accessibility
436         global.
437
438         * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
439         Moved here from TemporaryLinkStubs.
440
441         * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
442         using the ResourceResponse that's now available from the DocumentLoader.
443
444         * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
445         the Editor instead of the obsolete one on the Frame.
446
447         * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
448         * loader/FrameLoader.h: Removed overrideMediaType.
449
450         * loader/gtk/DocumentLoaderGtk.cpp: Removed.
451         * loader/mac/DocumentLoaderMac.mm: Removed.
452         * loader/qt/DocumentLoaderQt.cpp: Removed.
453
454         * page/Frame.cpp: Removed transpose.
455         * page/Frame.h: Ditto.
456         * page/FrameView.h: Removed updateBorder.
457         * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
458         * page/mac/FrameMac.mm: Ditto.
459         * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
460         overrideMediaType.
461         * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
462
463         * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
464         * platform/qt/TemporaryLinkStubs.cpp: Ditto.
465         * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
466         * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
467         issueTransposeCommand, and overrideMediaType.
468
469         * platform/network/cf/ResourceHandleCFNet.cpp:
470         (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
471         (WebCore::ResourceHandle::willLoadFromCache): Ditto.
472         * platform/win/GraphicsContextWin.cpp:
473         (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
474         * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
475         * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
476         * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
477
478         * WebCore.pro: Updated for removed files.
479         * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
480
481 2007-11-08  Mark Rowe  <mrowe@apple.com>
482
483        Build fix for case-sensitive file systems.  Fix case of file names
484        in #include's.
485
486         * html/HTMLMediaElement.cpp:
487         * platform/graphics/Movie.cpp:
488
489 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
490
491         Reviewed by Lars Knoll <lars@trolltech.com>.
492
493         Remove some warnings about not implemented methods.
494
495         * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
496         specific to the NS API and won't be implemented on Qt.
497         * ResourceHandle::bufferedData can not be reached as we return false in
498         ResourceHandle::supportsBufferedData.
499
500
501         * platform/network/qt/ResourceHandleQt.cpp:
502         (WebCore::ResourceHandle::supportsBufferedData):
503
504 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
505
506         Reviewed by Lars Knoll <lars@trolltech.com>.
507
508         Cleanup checking for the request method.
509
510         * Check the request method only in QWebNetworkManager::add.
511         * Currently HEAD, GET, POST are allowed and for everything else
512         QWebNetworkManager::add returns false.
513         * Returning false is compatible with ResourceHandle::start and it
514         can be used in ResourceHandle::loadResourceSynchronously to generate
515         a ResourceError
516
517
518         * platform/network/qt/ResourceHandleQt.cpp:
519         (WebCore::ResourceHandle::start):
520         (WebCore::ResourceHandle::loadResourceSynchronously):
521
522 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
523
524         Reviewed by Lars Knoll <lars@trolltech.com>.
525
526         Implement WebCore::callOnMainThread
527
528         Implemented using a global QObject, that is moved to the main thread
529         and then sending a custom event to it.
530         Picked a number below QEvent::User but above any other documented value.
531
532
533         * platform/qt/ThreadingQt.cpp:
534         (WebCore::PerformFunctionEvent::PerformFunctionEvent):
535         (WebCore::MainThreadInvoker::MainThreadInvoker):
536         (WebCore::MainThreadInvoker::event):
537         (WebCore::callOnMainThread):
538
539 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
540
541         Reviewed by Lars Knoll <lars@trolltech.com>.
542
543         Avoid problems with calling QPainter::begin() on an already active paintdevice
544
545         * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
546         crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
547         * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
548         used by the ScrollView on a layout triggered by QWebPage::paintEvent.
549
550
551         * platform/qt/WidgetQt.cpp:
552         (WebCore::Widget::invalidateRect):
553
554 2007-11-08  Eric Seidel  <eric@webkit.org>
555
556         No review.
557
558         * ksvg2/svg/SVGPathElement.h: remove old comment
559
560 2007-11-07  Antti Koivisto  <antti@apple.com>
561
562         Reviewed by Ollie.
563
564         Ensure video renderer has correct size if video has already been loaded
565         when it is constructed.
566
567         * rendering/RenderVideo.cpp:
568         (WebCore::RenderVideo::RenderVideo):
569
570 2007-11-07  Antti Koivisto  <antti@apple.com>
571
572         Reviewed by Ollie.
573
574         Ensure video is visible when it should be.
575
576         * rendering/RenderVideo.cpp:
577         (WebCore::RenderVideo::updateMovie):
578
579 2007-11-07  Dan Bernstein  <mitz@apple.com>
580
581         Reviewed by Darin Adler.
582
583         - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'
584
585         Layers and listboxes are two kinds of ScrollBarClient that can be
586         removed while the scrollbar is tracking the mouse. The scrollbar is not
587         destroyed until later, and meanwhile it can try to call the client,
588         which results in a crash.
589
590         * manual-tests/stale-scrollbar-client-crash.html: Added.
591         * platform/ScrollBar.h:
592         (WebCore::Scrollbar::setClient): Added.
593         * rendering/RenderLayer.cpp:
594         (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
595         * rendering/RenderListBox.cpp:
596         (WebCore::RenderListBox::~RenderListBox): Ditto.
597
598 2007-11-07  Adam Roben  <aroben@apple.com>
599
600         Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
601
602         Reviewed by Sam.
603
604         No test possible.
605
606         * platform/win/SharedBufferWin.cpp:
607         (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
608         empty path, because _wfopen_s will crash if we pass it a null pointer.
609
610 2007-11-07  David Kilzer  <ddkilzer@apple.com>
611
612         WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
613         <http://bugs.webkit.org/show_bug.cgi?id=14893>
614         <rdar://problem/5380295>
615
616         Reviewed by Darin.
617
618         Tests: fast/css/device-aspect-ratio.html
619                fast/css/max-device-aspect-ratio.html
620                fast/css/min-device-aspect-ratio.html
621
622         * css/MediaQueryEvaluator.cpp:
623         (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
624         (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
625         a/b to h/v.  Switched first two arguments of the call to cmpvalue() to fix
626         the bug.
627
628 2007-11-07  Dan Bernstein  <mitz@apple.com>
629
630         Reviewed by Dave Hyatt.
631
632         - fix http://bugs.webkit.org/show_bug.cgi?id=15887
633           REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg
634
635         Test: fast/css/display-none-inline-style-change-crash.html
636
637         * dom/Element.cpp:
638         (WebCore::Element::recalcStyle): Fixed the crash by null-checking
639         the current style and removed other checks that are not strictly
640         necessary.
641
642 2007-11-07  Brady Eidson  <beidson@apple.com>
643
644         Rubberstamped by Sam
645
646         Remove FrameLoaderClient methods from SVG that were pruned awhile ago
647
648         * platform/graphics/svg/SVGImageEmptyClients.h:
649
650 2007-11-07  Dan Bernstein  <mitz@apple.com>
651
652         Reviewed by Darin Adler.
653
654         - fix a bug where CSS rules with :hover in the ancestor chain stopped
655           working after changing the inline style declaration of the ancestor
656
657         Test: fast/css/affected-by-hover-after-style-change.html
658
659         * dom/Element.cpp:
660         (WebCore::Element::recalcStyle): If we are not forcing style
661         recalculation for all descendants, preserve any "affected by
662         {hover|active|drag} bits that we may have acquired from them.
663         Also renamed _style to currentStyle.
664
665 2007-11-06  Timothy Hatcher  <timothy@apple.com>
666
667         Reviewed by Adam.
668
669         Bug 11920: Web Inspector should have Firebug-like CSS editing
670         http://bugs.webkit.org/show_bug.cgi?id=11920
671
672         * css/CSSComputedStyleDeclaration.h:
673           (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
674           this was true, but computed style has no concept of implicit. So false makes more sense
675           and makes the code simpler in the inspector. This function was added for the inspector,
676           so this isn't a compatibility change.
677         * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
678         * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
679           style editing.
680         * page/inspector/inspector.css: Style changes for propery editing and focus correctness.
681         * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
682           trying to call a function based on the element's id. Call focused and blurred on the focused
683           element when currentFocusElement is changed. Use the new listItemElement getter instead of
684           the private property.
685         * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
686           Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
687           to allow generation of the title using the DOM element. Add listItemElement and
688           childrenListElement getters.
689         * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
690         * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
691           property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
692         * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
693           instead of the private properties.
694
695 2007-11-07  Simon Hausmann  <hausmann@kde.org>
696
697         Reviewed by Alexey Proskuryakov.
698
699         Coding style fix, don't use inline explicitly.
700
701         * bridge/WindowFeatures.h:
702
703 2007-11-07  Simon Hausmann  <hausmann@kde.org>
704
705         Reviewed by Maciej.
706
707         For safety provide a default constructor for WindowFeatures().
708         ContextMenuController.cpp: createNewWindow as well as QWebPage need to
709         create a default initialized WindowFeatures object on the fly.
710
711         * bridge/WindowFeatures.h:
712         (WebCore::WindowFeatures::WindowFeatures):
713
714 2007-11-07  Simon Hausmann  <shausman@trolltech.com>
715
716         Reviewed by Lars.
717
718         Fix "nmake clean" for the Qt/Windows build by replacing tmp/ with a variable that ends with the correct type of slash/backslash depending on the choice of compiler/make tool.
719
720         * WebCore.pro:
721
722 2007-11-07  Simon Hausmann  <hausmann@kde.org>
723
724         Reviewed by Lars.
725
726         Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
727
728         * platform/graphics/qt/ImageQt.cpp:
729         (loadResourcePixmap):
730
731 2007-11-07  Simon Hausmann  <hausmann@kde.org>
732
733         Reviewed by Lars.
734
735         Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
736
737         * platform/graphics/qt/ImageQt.cpp:
738         (loadResourcePixmap):
739
740 2007-11-07  Simon Hausmann  <hausmann@kde.org>
741
742         Reviewed by Lars.
743
744         Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
745         QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
746         in ContextMenu::populate().
747         For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
748         out of it. That menu is currently not functional anymore though.
749
750         * platform/ContextMenu.h:
751         * platform/ContextMenuItem.h:
752         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
753         * platform/PlatformMenuDescription.h:
754         * platform/qt/ContextMenuItemQt.cpp:
755         (WebCore::ContextMenuItem::ContextMenuItem):
756         (WebCore::ContextMenuItem::type):
757         (WebCore::ContextMenuItem::setType):
758         (WebCore::ContextMenuItem::action):
759         (WebCore::ContextMenuItem::setAction):
760         (WebCore::ContextMenuItem::title):
761         (WebCore::ContextMenuItem::setTitle):
762         (WebCore::ContextMenuItem::platformSubMenu):
763         (WebCore::ContextMenuItem::setSubMenu):
764         (WebCore::ContextMenuItem::setChecked):
765         (WebCore::ContextMenuItem::setEnabled):
766         * platform/qt/ContextMenuQt.cpp:
767         (WebCore::ContextMenu::ContextMenu):
768         (WebCore::ContextMenu::~ContextMenu):
769         (WebCore::ContextMenu::appendItem):
770         (WebCore::ContextMenu::itemCount):
771         (WebCore::ContextMenu::insertItem):
772         (WebCore::ContextMenu::setPlatformDescription):
773         (WebCore::ContextMenu::platformDescription):
774
775 2007-11-07  Simon Hausmann  <hausmann@kde.org>
776
777         Reviewed by Lars.
778
779         Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
780         but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
781         Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
782         on it.
783
784         * platform/qt/ContextMenuQt.cpp:
785
786 2007-11-07  Simon Hausmann  <hausmann@kde.org>
787
788         Reviewed by Lars.
789
790         Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
791         Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
792
793         * platform/PlatformMouseEvent.h:
794         * platform/qt/PlatformMouseEventQt.cpp:
795         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
796
797 2007-11-07  Lars Knoll  <lars@trolltech.com>
798
799         Reviewed by Simon.
800
801         don't put nbsp's into the plan text paste
802         
803         Fix both ClipboardQt and PasteboardQt to replace
804         nbsp's with spaces before putting the text onto the
805         native clipboard. This is consistent with Mac and Win
806         and fixes at least editing/pasteboard/4076267-3.html
807
808         * platform/qt/ClipboardQt.cpp:
809         (WebCore::ClipboardQt::writeRange):
810         * platform/qt/PasteboardQt.cpp:
811         (WebCore::Pasteboard::writeSelection):
812
813 2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
814
815         Reviewed by Lars Knoll <lars@trolltech.com>.
816
817         Implement Pasteboard::writeImage()
818         
819         * Pasteboard is now fully implemented. Copying of Images into the Clipboard
820         is now supported.
821         * As with URLs we only copy into the Clipboard (and not additionally to the
822         Selection)
823         
824
825         WARNING: NO TEST CASES ADDED OR CHANGED
826
827         * platform/qt/PasteboardQt.cpp:
828         (WebCore::Pasteboard::writeImage):
829
830 2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
831
832         Reviewed by Lars Knoll <lars@trolltech.com>.
833
834         Apple CodingStyle fixes
835         
836
837         WARNING: NO TEST CASES ADDED OR CHANGED
838
839         * platform/qt/PasteboardQt.cpp:
840         (WebCore::Pasteboard::documentFragment):
841
842 2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
843
844         Reviewed by Lars Knoll <lars@trolltech.com>.
845
846         Implement Pasteboard::writeURL()
847         * The URL currently gets written as text/plain and text/uri-list.
848         The win and mac port have some more types which we currently do
849         not support. When supporting them we can use the 'titleString'
850         as well.
851         * As with writeSelection we only copy into the Clipboard. We could
852         consider copying into the Selection as well.
853         
854
855         WARNING: NO TEST CASES ADDED OR CHANGED
856
857         * platform/qt/PasteboardQt.cpp:
858         (WebCore::Pasteboard::writeURL):
859
860 2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
861
862         Reviewed by Lars Knoll <lars@trolltech.com>.
863
864         Kill whitespace
865         
866
867         WARNING: NO TEST CASES ADDED OR CHANGED
868
869         * platform/qt/PasteboardQt.cpp:
870         (WebCore::Pasteboard::documentFragment):
871
872 2007-11-07  Lars Knoll  <lars@trolltech.com>
873
874         Reviewed by Simon.
875
876         Use the correct function calls to convert a selection to
877         HTML or plain text.
878
879         WARNING: NO TEST CASES ADDED OR CHANGED
880
881         * platform/qt/ClipboardQt.cpp:
882         (WebCore::ClipboardQt::setData):
883         (WebCore::ClipboardQt::writeRange):
884         * platform/qt/PasteboardQt.cpp:
885         (WebCore::Pasteboard::writeSelection):
886
887 2007-11-07  Lars Knoll  <lars@trolltech.com>
888
889         Reviewed by Simon.
890
891         Some more clipboard fixes.
892         
893         We have to set things immediately on the QClipBoard if the
894         Clipboard object is not for dragging.
895         
896         This is due to the fact that the Clipboard object might be
897         rather long lived if accessed through javascript (it'll only
898         get deleted by JS garbage collection). We have to transfer
899         the data over to the QClipboard before that to make things work.
900         
901         Fixes editing/execCommand/copy-without-selection.html
902
903         * platform/qt/ClipboardQt.cpp:
904         (WebCore::ClipboardQt::ClipboardQt):
905         (WebCore::ClipboardQt::~ClipboardQt):
906         (WebCore::ClipboardQt::clearData):
907         (WebCore::ClipboardQt::clearAllData):
908         (WebCore::ClipboardQt::getData):
909         (WebCore::ClipboardQt::setData):
910         (WebCore::ClipboardQt::declareAndWriteDragImage):
911         (WebCore::ClipboardQt::writeURL):
912         (WebCore::ClipboardQt::writeRange):
913
914 2007-11-07  Simon Hausmann  <hausmann@kde.org>
915
916         Reviewed by Mark.
917
918         Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
919         not supported due to implicit forks, use IPC::Open2 instead.
920
921         * bindings/scripts/IDLParser.pm:
922
923 2007-11-07  Dan Bernstein  <mitz@apple.com>
924
925         Reviewed by Brady Eidson.
926
927         - fix http://bugs.webkit.org/show_bug.cgi?id=15877
928           REGRESSION: r27486 caused a layout regression at my bank's website
929
930         Test: fast/block/float/overhanging-after-height-decrease-offsets.html
931
932         * rendering/RenderBlock.cpp:
933         (WebCore::RenderBlock::layoutBlock):
934
935 2007-11-06  Beth Dakin  <bdakin@apple.com>
936
937         Reviewed by Sam.
938
939         <rdar://problem/5575812> REGRESSION:When using absolute positioning 
940         with overflow:auto div, WebKit seems to add an additional 15px
941
942         * rendering/RenderBox.cpp:
943         (WebCore::RenderBox::containingBlockWidthForPositioned): We need to 
944         subtract off the vertical scrollbar width too.
945
946 2007-11-06  Justin Garcia  <justin.garcia@apple.com>
947
948         Reviewed by Dan Bernstein.
949         
950         <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
951         <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail
952
953         * editing/markup.cpp:
954         (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
955         that encloses the input context, unless that block is the body, which shouldn't
956         be cloned.  In that case, use regular divs, as we did before r27369.
957
958 2007-11-06  Christian Dywan  <christian@twotoasts.de>
959
960         Reviewed by Darin.
961
962         Fix http://bugs.webkit.org/show_bug.cgi?id=15828
963         Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory
964
965         * WebCore.pro: Use sane default install paths for the gtk port.
966
967 2007-11-06  Justin Garcia  <justin.garcia@apple.com>
968
969         Reviewed by Darin Adler.
970         
971         <rdar://problem/5576619> 
972         REGRESSION: Caret disappears after deleting the last character in inline hole (15714)
973
974         * editing/TypingCommand.cpp:
975         (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
976         both of the other deletion commands, call typingAddedToOpenCommand(), which takes 
977         the command's endingSelection and sets it as selection.
978
979 2007-11-06  Dan Bernstein  <mitz@apple.com>
980
981         Reviewed by Antti Koivisto and Dave Hyatt.
982
983         - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
984
985         Test: fast/block/float/overhanging-after-height-decrease.html
986
987         * rendering/RenderBlock.cpp:
988         (WebCore::RenderBlock::layoutBlock): If after calculating the height
989         it turns out that there are overhanging floats that were not overhanging
990         before, rescan children with overhanging floats and add them. 
991         (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
992         returns the lowest float bottom of any of the children.
993         (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
994         lowest float bottom.
995         * rendering/RenderBlock.h:
996
997 2007-11-06  Adele Peterson  <adele@apple.com>
998
999         Reviewed by Darin.
1000
1001         Switched all uses of HTMLImageLoader to use OwnPtrs.
1002
1003         * html/HTMLInputElement.h:
1004         * html/HTMLInputElement.cpp:
1005         (WebCore::HTMLInputElement::init):
1006         (WebCore::HTMLInputElement::~HTMLInputElement):
1007         (WebCore::HTMLInputElement::setInputType):
1008         (WebCore::HTMLInputElement::parseMappedAttribute):
1009         (WebCore::HTMLInputElement::attach):
1010         * html/HTMLObjectElement.h:
1011         * html/HTMLObjectElement.cpp:
1012         (WebCore::HTMLObjectElement::HTMLObjectElement):
1013         (WebCore::HTMLObjectElement::~HTMLObjectElement):
1014         (WebCore::HTMLObjectElement::parseMappedAttribute):
1015         (WebCore::HTMLObjectElement::attach):
1016         * html/HTMLVideoElement.h:
1017         * html/HTMLVideoElement.cpp:
1018         (WebCore::HTMLVideoElement::HTMLVideoElement):
1019         (WebCore::HTMLVideoElement::attach):
1020         (WebCore::HTMLVideoElement::detach):
1021         (WebCore::HTMLVideoElement::parseMappedAttribute):
1022
1023 2007-11-06  Antti Koivisto  <antti@apple.com>
1024
1025         Reviewed by Darin.
1026         
1027         Trigger media load on on src attribute changes as specified in new HTML5 draft.
1028
1029         Tests: media/video-src-change.html
1030                media/video-src-remove.html
1031                media/video-src-set.html
1032
1033         * html/HTMLMediaElement.cpp:
1034         (WebCore::HTMLMediaElement::attributeChanged):
1035         * html/HTMLMediaElement.h:
1036
1037 2007-11-06  Dan Bernstein  <mitz@apple.com>
1038
1039         Reviewed by Darin Adler.
1040
1041         - fix http://bugs.webkit.org/show_bug.cgi?id=15838
1042           Incomplete repaint toggling "How you know this person" on Facebook
1043
1044         Test: fast/repaint/make-children-non-inline.html
1045
1046         * rendering/RenderBlock.cpp:
1047         (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
1048         is needed because the inline children may be repositioned as they move
1049         into new anonymous blocks, but those blocks have no knowledge of where
1050         their children used to be, so they cannot invalidate those areas.
1051
1052 2007-11-06  Alexey Proskuryakov  <ap@webkit.org>
1053
1054         Reviewed by Darin.
1055
1056         http://bugs.webkit.org/show_bug.cgi?id=15847
1057         Some editing cleanup
1058
1059         No change in functionality.
1060
1061         * editing/TextIterator.cpp:
1062         (WebCore::plainText):
1063         * editing/TextIterator.h:
1064         Made WebCore::plainText() return String instead of DeprecatedString.
1065
1066         * bridge/mac/WebCoreAXObject.mm:
1067         (-[WebCoreAXObject textUnderElement]):
1068         (-[WebCoreAXObject value]):
1069         (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
1070         (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
1071         (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
1072         Updated for the above change. There is no need to explicitly convert to NSString now.
1073
1074         * editing/EditCommand.cpp:
1075         (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
1076         initialized in constructor body, so the work done in initializer list was wasted.
1077
1078         (WebCore::EditCommand::apply): Moved some stars.
1079         (WebCore::EditCommand::unapply): Ditto.
1080         (WebCore::EditCommand::reapply): Ditto.
1081         (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
1082         removed one of the checks.
1083
1084         * editing/SelectionController.cpp:
1085         (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
1086
1087         * page/mac/WebCoreFrameBridge.h:
1088         * page/mac/WebCoreFrameBridge.mm:
1089         Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
1090         -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
1091
1092 2007-11-05  Mark Rowe  <mrowe@apple.com>
1093
1094         Mac build fix.
1095
1096         * bindings/js/JSHTMLDocumentCustom.cpp:
1097         (WebCore::writeHelper):
1098
1099 2007-11-05  Adam Roben  <aroben@apple.com>
1100
1101         Don't crash if SafariTheme can't be loaded
1102
1103         PlatformScrollBarSafari and RenderThemeSafari were not checking
1104         whether SafariTheme was successfully loaded. All other uses of
1105         SafariTheme already check this.
1106
1107         Reviewed by Steve.
1108
1109         * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
1110         couldn't be loaded.
1111         (WebCore::PlatformScrollbar::paintButton):
1112         (WebCore::PlatformScrollbar::paintTrack):
1113         (WebCore::PlatformScrollbar::paintThumb):
1114         * rendering/RenderThemeSafari.cpp:
1115         (WebCore::RenderThemeSafari::isControlStyled): Always return true if
1116         we couldn't load SafariTheme. This way we should never try to paint
1117         themed controls (and we assert as such in the paint functions).
1118         (WebCore::RenderThemeSafari::paintCheckbox):
1119         (WebCore::RenderThemeSafari::paintRadio):
1120         (WebCore::RenderThemeSafari::paintButton):
1121         (WebCore::RenderThemeSafari::paintTextField):
1122         (WebCore::RenderThemeSafari::paintCapsLockIndicator):
1123         (WebCore::RenderThemeSafari::paintTextArea):
1124         (WebCore::RenderThemeSafari::paintMenuList):
1125         (WebCore::RenderThemeSafari::paintSliderThumb):
1126         (WebCore::RenderThemeSafari::paintSearchField):
1127         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
1128         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
1129         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
1130
1131 2007-11-05  Kevin Ollivier  <kevino@theolliviers.com>
1132
1133         Adding the rest of wx port's graphics impl. 
1134
1135         Rubber-stamped by Maciej Stachowiak.
1136
1137         * platform/graphics/wx/AffineTransformWx.cpp: Added.
1138         * platform/graphics/wx/GraphicsContextWx.cpp: Added.
1139         * platform/graphics/wx/ImageBufferWx.cpp: Added.
1140         * platform/graphics/wx/ImageSourceWx.cpp: Added.
1141         * platform/graphics/wx/ImageWx.cpp: Added.
1142         * platform/graphics/wx/PathWx.cpp: Added.
1143
1144 2007-11-05  Kevin Ollivier  <kevino@theolliviers.com>
1145
1146         wx port bug fixes and new files to get platform/wx building on trunk.
1147
1148         Rubber-stamped by Maciej Stachowiak.
1149
1150         * platform/wx/CursorWx.cpp:
1151         * platform/wx/FileSystemWx.cpp: Added.
1152         * platform/wx/FontCacheWx.cpp:
1153         * platform/wx/FontPlatformDataWx.cpp:
1154         * platform/wx/FontWx.cpp:
1155         * platform/wx/KeyboardEventWx.cpp:
1156         * platform/wx/LocalizedStringsWx.cpp: Added.
1157         * platform/wx/LoggingWx.cpp: Added.
1158         * platform/wx/RenderThemeWx.cpp:
1159         * platform/wx/ScrollViewWx.cpp:
1160         * platform/wx/SharedTimerWx.cpp:
1161         * platform/wx/StringWx.cpp:
1162         * platform/wx/ThreadingWx.cpp: Added.
1163         * platform/wx/WidgetWx.cpp:
1164
1165 2007-11-05  Adele Peterson  <adele@apple.com>
1166
1167         Reviewed by Maciej.
1168
1169         Fix for <rdar://problem/5579999> Add poster attribute for video element
1170
1171         * html/HTMLAttributeNames.in: Added poster attribute.
1172
1173         * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
1174           Calls imageSourceAttributeName instead of having special cases for the different kinds of elements. 
1175         * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
1176         * dom/Element.h:
1177         * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
1178         * html/HTMLObjectElement.h:
1179
1180         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
1181           Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
1182         * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline.  HTMLVideoElement now also implements this.
1183
1184         * html/HTMLVideoElement.idl: Added case for poster attribute.
1185         * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
1186         * html/HTMLVideoElement.cpp:
1187         (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
1188         (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
1189         (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
1190         (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
1191         (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
1192         (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
1193         (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
1194         (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
1195         (WebCore::HTMLVideoElement::isURLAttribute): Added.
1196         (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
1197         (WebCore::HTMLVideoElement::updatePosterImage): Added.  Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
1198
1199 2007-11-05  Adam Roben  <aroben@apple.com>
1200
1201         Fix <rdar://5563572> SVG image support is turned off
1202
1203         Turned on SVG images for all platforms.
1204
1205         Reviewed by Eric.
1206
1207         * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
1208         * loader/CachedImage.cpp:
1209         (WebCore::CachedImage::createImage): Removed platform checks for
1210         SVGImage.
1211
1212 2007-11-05  Antti Koivisto  <antti@apple.com>
1213
1214         Reviewed by Darin.
1215
1216         QTMovieView can generate callbacks during paint. This can lead to crashes.
1217         
1218         Delay callbacks so they get handled after painting is completed. No test case,
1219         I don't know how to reliably reproduce this.
1220
1221         * platform/graphics/mac/MoviePrivateQTKit.mm:
1222         (WebCore::MoviePrivate::MoviePrivate):
1223         (WebCore::MoviePrivate::~MoviePrivate):
1224         (WebCore::MoviePrivate::paint):
1225         (-[WebCoreMovieObserver initWithCallback:WebCore::]):
1226         (-[WebCoreMovieObserver disconnect]):
1227         (-[WebCoreMovieObserver loadStateChanged:]):
1228         (-[WebCoreMovieObserver rateChanged:]):
1229         (-[WebCoreMovieObserver sizeChanged:]):
1230         (-[WebCoreMovieObserver timeChanged:]):
1231         (-[WebCoreMovieObserver volumeChanged:]):
1232         (-[WebCoreMovieObserver didEnd:]):
1233         (-[WebCoreMovieObserver setDelayCallbacks:]):
1234
1235 2007-11-05  Antti Koivisto  <antti@apple.com>
1236
1237         Reviewed by Adam.
1238
1239         Add some missing WebCore* prefixes to ObjC classes
1240
1241         * platform/mac/FileChooserMac.mm:
1242         (WebCore::FileChooser::FileChooser):
1243         * platform/mac/SharedBufferMac.mm:
1244         (WebCore::SharedBuffer::createNSData):
1245         (WebCore::SharedBuffer::createCFData):
1246         * platform/mac/SharedTimerMac.cpp:
1247         (WebCore::setSharedTimerFireTime):
1248
1249 2007-11-05  Ada Chan  <adachan@apple.com>
1250
1251         <rdar://problem/5579772> Regression: AltGr does not work
1252         We now store the system key event info in PlatforkKeyboardEvent().
1253
1254         Reviewed by Oliver.
1255
1256         * platform/PlatformKeyboardEvent.h:
1257         (WebCore::PlatformKeyboardEvent::isSystemKey):
1258         * platform/win/KeyEventWin.cpp:
1259         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1260
1261 2007-11-02  Tristan O'Tierney  <tristan@apple.com>
1262
1263         Reviewed by Darin Adler.
1264
1265         * WebCore.xcodeproj/project.pbxproj:
1266         Set WindowFeatures.h as a Private header.
1267         
1268         * loader/FrameLoader.cpp:
1269         (WebCore::FrameLoader::createWindow):
1270         Revised to use a single createWindow function instead of
1271         two createWindow functions and one createModalDialog function.
1272         The logic for this is now addressed in WebKit in an effort
1273         to make this easier to follow.
1274         
1275         * page/Chrome.cpp:
1276         (WebCore::Chrome::createWindow):
1277         * page/Chrome.h:
1278         * page/ChromeClient.h:
1279         * page/ContextMenuController.cpp:
1280         (WebCore::openNewWindow):
1281         * platform/graphics/svg/SVGImageEmptyClients.h:
1282         (WebCore::SVGEmptyChromeClient::createWindow):
1283         Revised to take new additional windowFeatures parameter.
1284
1285 2007-11-04  Geoffrey Garen  <ggaren@apple.com>
1286
1287         Reviewed by Darin Adler.
1288         
1289         http://bugs.webkit.org/show_bug.cgi?id=15835
1290
1291         Small adaptations to new KJS::List class.
1292
1293         * bindings/js/kjs_window.cpp:
1294         (KJS::WindowFunc::callAsFunction):
1295         (KJS::ScheduledAction::ScheduledAction):
1296
1297 2007-11-05  Adam Roben  <aroben@apple.com>
1298
1299         Allow passing a base class pointer to COMPtr::copyRefTo
1300
1301         Reviewed by Sam.
1302
1303         * platform/win/COMPtr.h:
1304
1305 2007-11-05  Dan Bernstein  <mitz@apple.com>
1306
1307         Reviewed by Oliver Hunt.
1308
1309         - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace
1310
1311         Test: fast/dom/class-all-whitespace.html
1312
1313         * dom/StyledElement.cpp:
1314         (WebCore::StyledElement::parseMappedAttribute): Check if there is any
1315         non-whitespace character in the class attribute.
1316
1317 2007-11-05  Brady Eidson  <beidson@apple.com>
1318
1319         Reviewed by Sam
1320
1321         Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
1322         of the sql storage API
1323
1324         * storage/DatabaseAuthorizer.cpp:
1325         (WebCore::DatabaseAuthorizer::allowTransaction):
1326         * storage/DatabaseAuthorizer.h:
1327
1328 2007-11-05  Mark Rowe  <mrowe@apple.com>
1329
1330         Reviewed by Alp Toker.
1331
1332         Have getMIMETypeForExtension return a null string when no MIME type is known
1333         for the extension rather than returning "text/plain".  This prevents plugin data
1334         being dumped into object elements when plugins are disabled.
1335
1336         * platform/gtk/MIMETypeRegistryGtk.cpp:
1337         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1338
1339 2007-11-04  Sam Weinig  <sam@webkit.org>
1340
1341         Rubber-stamped by Adam Roben.
1342
1343         Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to 
1344         clear up ambiguity.
1345
1346         * bindings/js/kjs_window.cpp:
1347         (KJS::Window::isSafeScript):
1348         * platform/SecurityOrigin.cpp:
1349         (WebCore::SecurityOrigin::canAccess):
1350         * platform/SecurityOrigin.h:
1351
1352 2007-11-04  Timothy Hatcher  <timothy@apple.com>
1353
1354         Reviewed by Adam.
1355
1356         Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
1357         http://bugs.webkit.org/show_bug.cgi?id=15834
1358
1359         - Broke up DocumentPanel and added three SidebarPane sub-classes.
1360         - Fixed many Style pane bugs, including:
1361           * Poor handling of duplicate properties in the same rule. Some of this can't be
1362             fixed since we can't only get the "winning" value for duplicate properties.
1363             So we should only show one entry per unique property name.
1364           * Computed style does not show font shorthand sub-properties if 'font' was used.
1365           * Property priority was broken, the wrong properties were crossed out.
1366           * The 'border' shorthand shows null for the shorthand value.
1367           * Shorthands didn't show their priority (e.g. !important).
1368           * HSL and HTML hex colors didn't have preview swatch blocks.
1369           * Code refactoring, making it easier to reuse for console.log later.
1370
1371         * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
1372           classes in new files.
1373         * page/inspector/MetricsSidebarPane.js: Added.
1374         * page/inspector/Panel.js: Remove an InspectorController.log() call.
1375         * page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
1376           So TreeElements can access properties on their section.
1377         * page/inspector/PropertiesSidebarPane.js: Added.
1378         * page/inspector/SidebarPane.js: Remove the explicit asignment of the
1379           onexpand and oncollapse to null. These were hiding prototypes.
1380         * page/inspector/StylesSidebarPane.js: Added.
1381         * page/inspector/inspector.html: Include the new script files.
1382         * page/inspector/treeoutline.js: If a null representedObject is passed
1383           in just use a empty object.
1384
1385 2007-11-04  David D. Kilzer  <ddkilzer@webkit.org>
1386
1387         Fix build when spaces appear in the WebKit source path.
1388
1389         Reviewed by Mark Rowe.
1390
1391         * bindings/scripts/IDLParser.pm: Use safer open() method which lists
1392         arguments individually and prevents the need to work around spaces
1393         in the path.
1394
1395 2007-11-04  Alp Toker  <alp@atoker.com>
1396
1397         Reviewed by Alexey Proskuryakov.
1398
1399         Fix a crash when no clipboard text is available
1400
1401         * platform/gtk/PasteboardGtk.cpp:
1402         (WebCore::Pasteboard::plainText):
1403
1404 2007-11-03  Darin Adler  <darin@apple.com>
1405
1406         Reviewed by Maciej.
1407
1408         - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
1409           remove unused PCRE features for speed
1410
1411         * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
1412         * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
1413         Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
1414         Use "\d" instead.
1415
1416         * platform/RegularExpression.h: Remove the unused cap function. We can
1417         add it back later if we find we need it.
1418         * platform/RegularExpression.cpp:
1419         (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
1420         regular expression entry point changes.
1421         (WebCore::RegularExpression::Private::~Private): Ditto.
1422         (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
1423         This means that regular expressions with metacharactesr like ^ in them
1424         won't work any more with non-whole-string searches, but we don't use
1425         any regular expressions like that.
1426
1427 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
1428
1429         Update the link stubs to match the current build,
1430         and fix coding style issues.
1431
1432         Reviewed by Mark Rowe.
1433
1434         * platform/wx/TemporaryLinkStubs.cpp:
1435         (loadResourceIntoArray):
1436         (findNextSentenceFromIndex):
1437         (findSentenceBoundary):
1438         (Frame::dashboardRegionsChanged):
1439         (WebCore::historyContains):
1440         (CachedPage::close):
1441         (Editor::showStylesPanel):
1442         (EventHandler::passSubframeEventToSubframe):
1443         (EventHandler::passWheelEventToWidget):
1444         (WebCore::currentTextBreakLocaleID):
1445
1446 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
1447
1448         wx <-> WebKit conversions for IntPoint, IntRect and FloatRect
1449
1450         Reviewed by Mark Rowe.
1451
1452         * platform/graphics/wx/FloatRectWx.cpp: Added.
1453         * platform/graphics/wx/IntPointWx.cpp: Added.
1454         * platform/graphics/wx/IntRectWx.cpp: Added.
1455
1456 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
1457
1458         wx <-> WebKit data type conversions for Pen and Color.
1459
1460         Reviewed by Darin Adler.
1461
1462         * platform/graphics/wx: Added.
1463         * platform/graphics/wx/ColorWx.cpp: Added.
1464         * platform/graphics/wx/PenWx.cpp: Added.
1465
1466 2007-11-03  Sam Weinig  <sam@webkit.org>
1467
1468         Reviewed by Oliver.
1469
1470         Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
1471         The variable had been kept around for binary compatibility, but since nothing
1472         else is there is no point in continuing to keep it around.
1473
1474         * bindings/js/JSDOMExceptionConstructor.cpp:
1475         (WebCore::):
1476         * bindings/js/JSHTMLInputElementBase.cpp:
1477         (WebCore::):
1478         * bindings/js/JSNamedNodesCollection.cpp:
1479         (WebCore::):
1480         * bindings/js/JSXMLHttpRequest.cpp:
1481         (KJS::):
1482         * bindings/js/JSXSLTProcessor.cpp:
1483         (KJS::):
1484         * bindings/js/kjs_css.cpp:
1485         (WebCore::):
1486         * bindings/js/kjs_events.cpp:
1487         (WebCore::):
1488         * bindings/js/kjs_navigator.cpp:
1489         (KJS::):
1490         * bindings/js/kjs_window.cpp:
1491         (KJS::):
1492         * bindings/scripts/CodeGeneratorJS.pm:
1493
1494 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
1495
1496         Build fixes to get wx impls. building on trunk.
1497
1498         Reviewed by Mark Rowe.
1499
1500         * platform/wx/DragDataWx.cpp:
1501         (WebCore::DragData::containsFiles):
1502         (WebCore::DragData::asFilenames):
1503         * platform/wx/DragImageWx.cpp:
1504         (WebCore::scaleDragImage):
1505         * platform/wx/MimeTypeRegistryWx.cpp:
1506         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1507         * platform/wx/MouseEventWx.cpp:
1508         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1509         * platform/wx/MouseWheelEventWx.cpp:
1510         * platform/wx/PasteboardWx.cpp:
1511         (WebCore::Pasteboard::writeImage):
1512         * platform/wx/WidgetWx.cpp:
1513         (WebCore::Widget::setCursor):
1514
1515 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
1516
1517         Sort files(...); sections of Xcode project files.
1518
1519         Rubber-stamped by Darin.
1520
1521         * WebCore.xcodeproj/project.pbxproj:
1522         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
1523
1524 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
1525
1526         Coding style fixes for platform/wx files.
1527
1528         Reviewed by Mark Rowe.
1529
1530         * platform/wx/ClipboardWx.cpp:
1531         * platform/wx/GlyphMapWx.cpp:
1532         * platform/wx/ScreenWx.cpp:
1533
1534 2007-11-03  Alp Toker  <alp@atoker.com>
1535
1536         Reviewed by Mark Rowe.
1537
1538         Implement platform scrollbar static width/height getters
1539
1540         * platform/gtk/PlatformScrollBar.h:
1541         * platform/gtk/PlatformScrollBarGtk.cpp:
1542         (scrollbarSize):
1543         (PlatformScrollbar::horizontalScrollbarHeight):
1544
1545 2007-11-03  Alp Toker  <alp@atoker.com>
1546
1547         Reviewed by Mark Rowe.
1548
1549         Cast function pointers to gpointer.
1550
1551         * platform/gtk/PlatformScrollBarGtk.cpp:
1552         (PlatformScrollbar::~PlatformScrollbar):
1553
1554 2007-11-03  Alp Toker  <alp@atoker.com>
1555
1556         Reviewed by Adam Roben.
1557
1558         RenderThemeGtk implementation based on Mozilla's GTK+ style code
1559
1560         There is still work needed to complete this feature.
1561
1562         * WebCore.pro:
1563         * platform/gtk/RenderThemeGtk.cpp:
1564         (WebCore::theme):
1565         (WebCore::RenderThemeGtk::RenderThemeGtk):
1566         (WebCore::supportsFocus):
1567         (WebCore::RenderThemeGtk::supportsFocusRing):
1568         (WebCore::RenderThemeGtk::controlSupportsTints):
1569         (WebCore::RenderThemeGtk::baselinePosition):
1570         (WebCore::adjustMozStyle):
1571         (WebCore::setMozState):
1572         (WebCore::paintMozWidget):
1573         (WebCore::setButtonPadding):
1574         (WebCore::setToggleSize):
1575         (WebCore::RenderThemeGtk::setCheckboxSize):
1576         (WebCore::RenderThemeGtk::paintCheckbox):
1577         (WebCore::RenderThemeGtk::setRadioSize):
1578         (WebCore::RenderThemeGtk::paintRadio):
1579         (WebCore::RenderThemeGtk::adjustButtonStyle):
1580         (WebCore::RenderThemeGtk::paintButton):
1581         (WebCore::RenderThemeGtk::adjustMenuListStyle):
1582         (WebCore::RenderThemeGtk::paintMenuList):
1583         (WebCore::RenderThemeGtk::adjustTextFieldStyle):
1584         (WebCore::RenderThemeGtk::paintTextField):
1585         (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
1586         (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
1587         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
1588         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
1589         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
1590         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
1591         (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
1592         (WebCore::RenderThemeGtk::paintSearchField):
1593         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
1594         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
1595         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
1596         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
1597         (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
1598         (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
1599         (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
1600         (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
1601         (WebCore::RenderThemeGtk::caretBlinkFrequency):
1602         (WebCore::RenderThemeGtk::systemFont):
1603         (WebCore::gtkStyleSetCallback):
1604         (WebCore::RenderThemeGtk::gtkContainer):
1605         (WebCore::RenderThemeGtk::gtkEntry):
1606         (WebCore::RenderThemeGtk::gtkTreeView):
1607         * platform/gtk/RenderThemeGtk.h:
1608         * platform/gtk/gtk2drawing.c: Added.
1609         (moz_gtk_enable_style_props):
1610         (ensure_window_widget):
1611         (setup_widget_prototype):
1612         (ensure_button_widget):
1613         (ensure_checkbox_widget):
1614         (ensure_radiobutton_widget):
1615         (ensure_scrollbar_widget):
1616         (ensure_spin_widget):
1617         (ensure_scale_widget):
1618         (ensure_entry_widget):
1619         (ensure_option_menu_widget):
1620         (ensure_arrow_widget):
1621         (ensure_handlebox_widget):
1622         (ensure_toolbar_widget):
1623         (ensure_tooltip_widget):
1624         (ensure_tab_widget):
1625         (ensure_progress_widget):
1626         (ensure_frame_widget):
1627         (ensure_menu_bar_widget):
1628         (ensure_menu_bar_item_widget):
1629         (ensure_menu_popup_widget):
1630         (ensure_menu_item_widget):
1631         (ensure_check_menu_item_widget):
1632         (ConvertGtkState):
1633         (TSOffsetStyleGCArray):
1634         (TSOffsetStyleGCs):
1635         (moz_gtk_button_paint):
1636         (moz_gtk_init):
1637         (moz_gtk_checkbox_get_metrics):
1638         (moz_gtk_radio_get_metrics):
1639         (moz_gtk_checkbox_get_focus):
1640         (moz_gtk_radio_get_focus):
1641         (moz_gtk_button_get_focus):
1642         (moz_gtk_option_menu_get_metrics):
1643         (moz_gtk_toggle_paint):
1644         (calculate_arrow_dimensions):
1645         (moz_gtk_scrollbar_button_paint):
1646         (moz_gtk_scrollbar_trough_paint):
1647         (moz_gtk_scrollbar_thumb_paint):
1648         (moz_gtk_spin_paint):
1649         (moz_gtk_scale_paint):
1650         (moz_gtk_scale_thumb_paint):
1651         (moz_gtk_gripper_paint):
1652         (moz_gtk_entry_paint):
1653         (moz_gtk_option_menu_paint):
1654         (moz_gtk_dropdown_arrow_paint):
1655         (moz_gtk_container_paint):
1656         (moz_gtk_toggle_label_paint):
1657         (moz_gtk_toolbar_paint):
1658         (moz_gtk_tooltip_paint):
1659         (moz_gtk_frame_paint):
1660         (moz_gtk_progressbar_paint):
1661         (moz_gtk_progress_chunk_paint):
1662         (moz_gtk_tab_paint):
1663         (moz_gtk_tabpanels_paint):
1664         (moz_gtk_menu_bar_paint):
1665         (moz_gtk_menu_popup_paint):
1666         (moz_gtk_menu_item_paint):
1667         (moz_gtk_check_menu_item_paint):
1668         (moz_gtk_window_paint):
1669         (moz_gtk_get_widget_border):
1670         (moz_gtk_get_dropdown_arrow_size):
1671         (moz_gtk_get_scalethumb_metrics):
1672         (moz_gtk_get_scrollbar_metrics):
1673         (moz_gtk_widget_paint):
1674         (moz_gtk_get_scrollbar_widget):
1675         (moz_gtk_shutdown):
1676         * platform/gtk/gtkdrawing.h: Added.
1677
1678 2007-11-03  Alp Toker  <alp@atoker.com>
1679
1680         Reviewed by Mark Rowe.
1681
1682         Do not allow scrollbars to handle wheel events
1683         
1684         We bubble the wheel event up so the parent can handle it instead.
1685
1686         * platform/gtk/PlatformScrollBarGtk.cpp:
1687         (gtkScrollEventCallback):
1688         (PlatformScrollbar::PlatformScrollbar):
1689         (PlatformScrollbar::~PlatformScrollbar):
1690
1691 2007-11-03  Alp Toker  <alp@atoker.com>
1692
1693         Reviewed by Mark Rowe.
1694
1695         Frame scrolling and invalidation fixes
1696
1697         Make upward scroll events have a positive delta to match other ports.
1698
1699         Fix the invalidation rect offset for frames so that scrolling works properly.
1700
1701         Avoid allocating negative sizes to widgets to avoid GTK+ warnings.
1702
1703         Allow tabbing to all widgets and links.
1704
1705         Fix event returns, improving the focus situation and correcting scroll wheel
1706         behavior.
1707
1708         * page/gtk/EventHandlerGtk.cpp:
1709         (WebCore::EventHandler::tabsToAllControls):
1710         (WebCore::EventHandler::passWheelEventToWidget):
1711         * platform/gtk/ScrollViewGtk.cpp:
1712         (WebCore::ScrollViewScrollbar::geometryChanged):
1713         (WebCore::ScrollView::updateContents):
1714         (WebCore::ScrollView::update):
1715         (WebCore::ScrollView::wheelEvent):
1716         (WebCore::ScrollView::updateScrollbars):
1717         * platform/gtk/WheelEventGtk.cpp:
1718         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1719
1720 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
1721
1722         LGPL'ed files contain incorrect FSF address
1723         <http://bugs.webkit.org/show_bug.cgi?id=14885>
1724
1725         Reviewed by NOBODY (follow-up fix).
1726
1727         * bindings/js/JSSVGTransformListCustom.cpp:
1728         * ksvg2/svg/SVGException.idl:
1729         * ksvg2/svg/SVGTextPathElement.cpp:
1730         * ksvg2/svg/SVGTextPathElement.h:
1731         * ksvg2/svg/SVGViewSpec.cpp:
1732         * ksvg2/svg/SVGViewSpec.h:
1733         * platform/mac/FontCustomPlatformData.cpp:
1734         * platform/mac/FontCustomPlatformData.h:
1735         * platform/mac/FontPlatformDataMac.mm:
1736         * platform/win/FontCustomPlatformData.cpp:
1737         * platform/win/FontCustomPlatformData.h:
1738         * rendering/RenderSVGRoot.cpp:
1739         * rendering/RenderSVGRoot.h:
1740         * rendering/RenderSVGTextPath.cpp:
1741         * rendering/RenderSVGTextPath.h:
1742         * rendering/RenderSVGTransformableContainer.h:
1743         * rendering/RenderSVGViewportContainer.cpp:
1744         * rendering/RenderSVGViewportContainer.h:
1745         * rendering/SVGCharacterLayoutInfo.cpp:
1746         * rendering/SVGCharacterLayoutInfo.h:
1747         * rendering/SVGRenderSupport.cpp:
1748         * rendering/SVGRenderSupport.h:
1749
1750 2007-11-02  Antti Koivisto  <antti@apple.com>
1751
1752         Reviewed by Adam.
1753         
1754         Add video width/height DOM and content attributes from latest HTML5 draft.
1755
1756         Test: media/video-width-height.html
1757
1758         * html/HTMLVideoElement.cpp:
1759         (WebCore::HTMLVideoElement::parseMappedAttribute):
1760         (WebCore::HTMLVideoElement::width):
1761         (WebCore::HTMLVideoElement::setWidth):
1762         (WebCore::HTMLVideoElement::height):
1763         (WebCore::HTMLVideoElement::setHeight):
1764         * html/HTMLVideoElement.h:
1765         * html/HTMLVideoElement.idl:
1766
1767 2007-11-02  Darin Adler  <darin@apple.com>
1768
1769         Reviewed by Maciej.
1770
1771         * DerivedSources.make: Remove a few explicit filenames from some rules by using
1772         make variables a little more.
1773         * WebCore.LP64.exp: Fix typo, grammar.
1774
1775 2007-11-02  Darin Adler  <darin@apple.com>
1776
1777         Reviewed by Maciej.
1778
1779         - use the new HashMap::take function where appropriate
1780
1781         * bindings/js/kjs_binding.cpp:
1782         (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
1783         (KJS::removeWrapper): Ditto.
1784         (KJS::removeWrappers): Ditto.
1785         (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
1786         (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
1787         of remove -- in theory ever so slightly less efficient, but I think it's fine.
1788         (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
1789         (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
1790         (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
1791         (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.
1792
1793         * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
1794         * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
1795         * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
1796         * rendering/RenderBlock.cpp:
1797         (WebCore::RenderBlock::~RenderBlock): Ditto.
1798         (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
1799         * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.
1800
1801 2007-11-02  Antti Koivisto  <antti@apple.com>
1802
1803         Reviewed by Darin.
1804
1805         Enable video composition.
1806
1807         * WebCore.base.exp:
1808         * platform/graphics/mac/MoviePrivateQTKit.mm:
1809         (WebCore::MoviePrivate::createQTMovieView):
1810         * platform/mac/WebCoreSystemInterface.h:
1811         * platform/mac/WebCoreSystemInterface.mm:
1812
1813 2007-11-02  Darin Adler  <darin@apple.com>
1814
1815         Reviewed by Mitz.
1816
1817         - fix http://bugs.webkit.org/show_bug.cgi?id=15806
1818           <rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements
1819
1820         Test: fast/forms/remove-radio-button-assert.html
1821
1822         * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm):
1823         Added protected function to be used by derived classes that need to do the same sort
1824         of removal from form that's automatically done by the base class in certain circumstances.
1825         * html/HTMLGenericFormElement.h: Added removeFromForm.
1826
1827         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement):
1828         Call removeFromForm here so the element is removed before we destroy the HTMLInputElement
1829         part of this object. By the time we get to the base class's destructor it's too late.
1830         The problem is specific to radio buttons so we don't have to worry about other classes
1831         derived from HTMLGenericFormElement.
1832
1833 2007-11-02  Darin Adler  <darin@apple.com>
1834
1835         Reviewed by Mitz.
1836
1837         - speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805
1838           <rdar://problem/5510779> crashes in isLoadingMultipartContent
1839
1840         * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent):
1841         Instead of asserting the frame loader is non-0, return false if it is 0.
1842
1843 2007-11-02  Darin Adler  <darin@apple.com>
1844
1845         Reviewed by Mitz.
1846
1847         - fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both
1848           URL and MIME type is omitted
1849
1850         Already covered by existing tests (that had incorrect results).
1851
1852         * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate
1853         failure when both URL and MIME type are empty. The old code would not attempt a load, but
1854         it would indicate success.
1855
1856         * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove
1857         non-helpful early exit for the case where there is no URL and no type. Returning early
1858         prevents the fallback code from running.
1859
1860 2007-11-02  Alp Toker  <alp@atoker.com>
1861
1862         Reviewed by Darin.
1863
1864         Include Cairo headers properly
1865
1866         * platform/graphics/AffineTransform.h:
1867         * platform/graphics/ImageBuffer.h:
1868         * platform/graphics/cairo/AffineTransformCairo.cpp:
1869         * platform/gtk/FontPlatformDataGtk.cpp:
1870
1871 2007-11-01  Oliver Hunt  <oliver@apple.com>
1872
1873         Reviewed by Alexey.
1874
1875         Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key        
1876
1877         * platform/win/KeyEventWin.cpp:
1878         (WebCore::keyIdentifierForWindowsKeyCode):
1879         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1880
1881 2007-11-01  Geoffrey Garen  <ggaren@apple.com>
1882
1883         Reviewed by Maciej Stachowiak.
1884         
1885         In preparation for making List a simple stack-allocated Vector:
1886
1887         Removed all instances of List copying, assignment, and/or storage.
1888         
1889         Layout tests and JS tests pass.
1890
1891         * bindings/js/kjs_window.cpp:
1892         (KJS::WindowFunc::callAsFunction): Stores a Vector of protected 
1893         JSValue*'s instead of a List now. Converts to List on the fly when 
1894         calling the timer function. This is slightly less efficient, but the 
1895         common case is 0-2 arguments, so it's no biggie.
1896
1897         (HTML iBench shows no regression. PLT does not use JS timers.)
1898         
1899         (KJS::ScheduledAction::execute): Uses the more efficient and non-copying
1900         List::slice now.
1901         (KJS::ScheduledAction::ScheduledAction): ditto
1902
1903         * bindings/objc/WebScriptObject.mm:
1904         (getListFromNSArray): Takes a List out parameter now, to avoid copying.
1905
1906 2007-11-01  Oliver Hunt  <oliver@apple.com>
1907
1908         Reviewed by Geoff.
1909
1910         Correct event behaviour on certain control keys
1911
1912         Make sure we send the correct keyDown and keyUp events for the
1913         control keys CapsLock, Shift, Ctrl, Alt, and Meta/Command, and
1914         uses Windows key codes for the event keyCode.
1915
1916         * WebCore.base.exp:
1917         * page/EventHandler.cpp:
1918         (WebCore::EventHandler::keyEvent):
1919         * platform/PlatformKeyboardEvent.h:
1920         * platform/gtk/KeyEventGtk.cpp:
1921         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1922         * platform/mac/KeyEventMac.mm:
1923         (WebCore::keyIdentifierForKeyEvent):
1924         (WebCore::WindowsKeyCodeForKeyEvent):
1925         (WebCore::isKeyUpEvent):
1926         (WebCore::textFromEvent):
1927         (WebCore::unmodifiedTextFromEvent):
1928         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1929         * platform/win/KeyEventWin.cpp:
1930         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1931         * platform/wx/KeyEventWin.cpp:
1932         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1933
1934 2007-11-01  Timothy Hatcher  <timothy@apple.com>
1935
1936         Reviewed by Sam.
1937
1938         * page/inspector/inspector.css: Use the white disclosure triangles
1939           when a parent DOM element is sepected.
1940
1941 2007-11-01  Justin Garcia  <justin.garcia@apple.com>
1942
1943         Reviewed by Oliver Hunt.
1944
1945         <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
1946
1947         * editing/ReplaceSelectionCommand.cpp:
1948         (WebCore::ReplaceSelectionCommand::doApply): No need to match style when pasting
1949         into a plaintext-only region, since when we build the fragment to insert from
1950         plain text, we don't put any style information on it, so it will automatically
1951         match style with no intervention.
1952         * editing/markup.cpp:
1953         (WebCore::createFragmentFromText): Place paragraphs into clones of the
1954         block being inserted into, instead of default paragraph elements,
1955         so that when inserted content will match the surrounding paragraph style.
1956         This was broken before, but I haven't added a layout test yet because
1957         there currently isn't a way to get only plain text onto the pasteboard
1958         in a layout test.
1959
1960 2007-11-01  Sam Weinig  <sam@webkit.org>
1961
1962         Reviewed by Adam Roben. 
1963
1964         Add a releaseRef method to COMPtr which matches the behavior
1965         of the method by the same name in PassRefPtr.  This is in
1966         preparation of adding autogenerated COM DOM bindings.
1967
1968         * platform/win/COMPtr.h:
1969         (COMPtr::releaseRef):
1970
1971 2007-11-01  Kevin Ollivier  <kevino@theolliviers.com>
1972
1973         wx impl. for DragController and EventHandler interfaces.
1974
1975         Reviewed by Adam Roben.
1976
1977         * page/wx: Added.
1978         * page/wx/DragControllerWx.cpp: Added.
1979         (WebCore::DragController::isCopyKeyDown):
1980         (WebCore::DragController::dragOperation):
1981         (WebCore::DragController::maxDragImageSize):
1982         * page/wx/EventHandlerWx.cpp: Added.
1983         (WebCore::EventHandler::passMousePressEventToSubframe):
1984         (WebCore::EventHandler::passMouseMoveEventToSubframe):
1985         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
1986         (WebCore::EventHandler::passMousePressEventToScrollbar):
1987         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
1988         (WebCore::EventHandler::focusDocumentView):
1989         (WebCore::EventHandler::eventActivatedView):
1990         (WebCore::EventHandler::createDraggingClipboard):
1991
1992 2007-11-01  Kevin Ollivier  <kevino@theolliviers.com>
1993
1994         Adding files for wx impl. of editing interfaces.
1995
1996         Reviewed by Adam Roben.
1997
1998         * editing/wx: Added.
1999         * editing/wx/EditorWx.cpp: Added.
2000         (WebCore::Editor::newGeneralClipboard):
2001
2002 2007-11-01  Sam Weinig  <sam@webkit.org>
2003
2004         Reviewed by Adam Roben.
2005
2006         Make implicit conversions from LPCSTRs and BSTRs to WebCore string
2007         types possible in preparation of adding autogenerated COM DOM bindings.
2008
2009         * platform/AtomicString.cpp: 
2010         (WebCore::AtomicString::add):
2011         * platform/AtomicString.h:
2012         (WebCore::AtomicString::AtomicString):
2013         * platform/PlatformString.h:
2014         * platform/win/BString.cpp:
2015         (WebCore::BString::BString):
2016         * platform/win/BString.h:
2017
2018 2007-11-01  Brady Eidson  <beidson@apple.com>
2019
2020         Reviewed by Anders
2021
2022         Renamed a flag inside of SQLiteTransaction and added an accessor (for future work)
2023
2024         * platform/sql/SQLiteTransaction.cpp:
2025         (WebCore::SQLiteTransaction::SQLiteTransaction):
2026         (WebCore::SQLiteTransaction::~SQLiteTransaction):
2027         (WebCore::SQLiteTransaction::begin):
2028         (WebCore::SQLiteTransaction::commit):
2029         (WebCore::SQLiteTransaction::rollback):
2030         * platform/sql/SQLiteTransaction.h:
2031         (WebCore::SQLiteTransaction::inProgress):
2032
2033 2007-11-01  Adam Roben  <aroben@apple.com>
2034
2035         Remove all duplicate xcopy commands from WebCore's post-build step
2036
2037         Also add the /d option to the copy of platform/sql.
2038
2039         Rubberstamped by Sam.
2040
2041         * WebCore.vcproj/WebCore.vcproj:
2042
2043 2007-11-01  Adele Peterson  <adele@apple.com>
2044
2045         Reviewed by Maciej.
2046
2047         Add support for the animation of the -webkit-border-raduis properties.
2048
2049         * page/AnimationController.cpp:
2050         (WebCore::blendFunc): Added for IntSize.
2051         (WebCore::ImplicitAnimation::animate): Added cases for border radius properties.
2052
2053 2007-11-01  Alp Toker  <alp@atoker.com>
2054
2055         Reviewed by Mitz Pettel.
2056
2057         Fix an unbalanced save/restore.
2058
2059         * platform/graphics/cg/ImageCG.cpp:
2060         (WebCore::BitmapImage::draw):
2061
2062 2007-11-01  David Hyatt  <hyatt@apple.com>
2063
2064         Add support for the animation of the visibility property.
2065
2066         Reviewed by oliver, aroben
2067
2068         * page/AnimationController.cpp:
2069         (WebCore::blendFunc):
2070         (WebCore::ImplicitAnimation::animate):
2071
2072 2007-11-01  Kevin McCullough  <kmccullough@apple.com>
2073
2074         Reviewed by Adam.
2075
2076         - Made COMPtr be able to be used by certain other templates,
2077         specifically HashSet.
2078
2079         * platform/win/COMPtr.h:
2080         (WTF::):
2081
2082 2007-11-01  Dan Bernstein  <mitz@apple.com>
2083
2084         Reviewed by Dave Hyatt.
2085
2086         - fix http://bugs.webkit.org/show_bug.cgi?id=15015
2087           <rdar://problem/5420308> Most of www.aol.com redraws unnecessarily when headline/photo section changes
2088
2089         Test: fast/repaint/overflow-clip-subtree-layout.html
2090
2091         This patch does not address the bigger issue of doing a full relayout
2092         of inline flows containing floats, but it addresses the problem on
2093         aol.com, where the changes that trigger layout are confined to an
2094         overflow area inside the float.
2095
2096         * page/FrameView.cpp:
2097         (WebCore::FrameView::scheduleRelayoutOfSubtree): If the new and old
2098         layout roots are different but one descends from the other, make (or
2099         keep) the ancestor as the layout root.
2100         * rendering/RenderObject.cpp:
2101         (WebCore::objectIsRelayoutBoundary): Made boxes with overflow
2102         clipping and non-auto width and height relayout boundaries.
2103
2104 2007-11-01  Alexey Proskuryakov  <ap@webkit.org>
2105
2106         Reviewed by Mark Rowe.
2107
2108         Fixed line endings that got confused in this file somehow.
2109
2110         * platform/network/ResourceResponse.cpp:
2111         (WebCore::ResourceResponse::isAttachment):
2112
2113 2007-11-01  Peter Kasting  <zerodpx@gmail.com>
2114
2115         Reviewed by Dave Hyatt.
2116
2117         http://bugs.webkit.org/show_bug.cgi?id=15778
2118         Malformed GIFs should not result in memory corruption.
2119
2120         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2121         (WebCore::GIFImageDecoder::haveDecodedRow):
2122         * platform/image-decoders/gif/GIFImageReader.cpp:
2123         (GIFImageReader::output_row):
2124         (GIFImageReader::read):
2125
2126 2007-10-31  Adam Roben  <aroben@apple.com>
2127
2128         Fix a crash when parsing a cubic-bezier function
2129
2130         Reviewed by Hyatt.
2131
2132         Test: fast/css/parse-timing-function-crash.html
2133
2134         * WebCore.vcproj/WebCore.vcproj:
2135         * css/CSSParser.cpp:
2136         (WebCore::CSSParser::parseTimingFunctionValue): Don't walk off the end
2137         of the ValueList.
2138
2139 2007-10-31  David Hyatt  <hyatt@apple.com>
2140
2141         Fix a merge error from when I applied my patch to ToT.  A couple of lines should be part of an if.
2142
2143         * rendering/RenderStyle.cpp:
2144         (WebCore::RenderStyle::adjustTransitions):
2145
2146 2007-10-31  Anders Carlsson  <andersca@apple.com>
2147
2148         Reviewed by Sam.
2149
2150         Add new SQL callback interfaces and JS implementations of them.
2151         
2152         * DerivedSources.make:
2153         * WebCore.xcodeproj/project.pbxproj:
2154         * bindings/js/JSCustomSQLStatementCallback.cpp: Added.
2155         (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
2156         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2157         * bindings/js/JSCustomSQLStatementCallback.h: Added.
2158         * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Added.
2159         (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
2160         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2161         * bindings/js/JSCustomSQLStatementErrorCallback.h: Added.
2162         * bindings/js/JSCustomSQLTransactionCallback.cpp: Added.
2163         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
2164         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2165         * bindings/js/JSCustomSQLTransactionCallback.h: Added.
2166         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Added.
2167         (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
2168         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2169         * bindings/js/JSCustomSQLTransactionErrorCallback.h: Added.
2170         * storage/JSCustomSQLStatementCallback.h: Added.
2171         * storage/JSCustomSQLStatementErrorCallback.h: Added.
2172         * storage/JSCustomSQLTransactionCallback.h: Added.
2173         * storage/JSCustomSQLTransactionErrorCallback.h: Added.
2174         * storage/SQLStatementCallback.h: Added.
2175         (WebCore::SQLStatementCallback::~SQLStatementCallback):
2176         * storage/SQLStatementCallback.idl: Added.
2177         * storage/SQLStatementErrorCallback.h: Added.
2178         (WebCore::SQLStatementErrorCallback::~SQLStatementErrorCallback):
2179         * storage/SQLStatementErrorCallback.idl: Added.
2180         * storage/SQLTransaction.h: Added.
2181         * storage/SQLTransaction.idl: Added.
2182         * storage/SQLTransactionCallback.h: Added.
2183         (WebCore::SQLTransactionCallback::~SQLTransactionCallback):
2184         * storage/SQLTransactionCallback.idl: Added.
2185         * storage/SQLTransactionErrorCallback.h: Added.
2186         (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
2187         * storage/SQLTransactionErrorCallback.idl: Added.
2188
2189 2007-10-31  Justin Garcia  <justin.garcia@apple.com>
2190
2191         Reviewed by Dave Harrison.
2192
2193         <rdar://problem/5569741> Pasting content with a line break into a list can remove the list
2194
2195         * editing/htmlediting.cpp:
2196         (WebCore::enclosingEmptyListItem): A single list item can contain multiple 
2197         paragraphs, so if the incoming VisiblePosition is in an empty paragraph in a 
2198         list item, that list item isn't necessarily empty.
2199
2200 2007-10-31  David Hyatt  <hyatt@apple.com>
2201
2202         Disable style sharing for animating styles.
2203
2204         Reviewed by mitzpettel
2205
2206         * css/CSSStyleSelector.cpp:
2207         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2208
2209 2007-10-31  Dan Bernstein  <mitz@apple.com>
2210
2211         Reviewed by Darin Adler.
2212
2213         - fix intermediate length calculation
2214
2215         * rendering/Length.h:
2216         (WebCore::Length::blend):
2217
2218 2007-10-31  Anders Carlsson  <andersca@apple.com>
2219
2220         Reviewed by Darin.
2221
2222         Add new SQLError implementation.
2223         
2224         * DerivedSources.make:
2225         * WebCore.vcproj/WebCore.vcproj:
2226         * WebCore.xcodeproj/project.pbxproj:
2227         * storage/SQLError.h: Added.
2228         (WebCore::SQLError::SQLError):
2229         (WebCore::SQLError::code):
2230         (WebCore::SQLError::message):
2231         * storage/SQLError.idl: Added.
2232
2233 2007-10-31  David Hyatt  <hyatt@apple.com>
2234
2235         Change the initial value of transition-property to all.  Change the initial value of
2236         transition-duration to 0.
2237
2238         Reviewed by antti
2239
2240         * rendering/RenderStyle.h:
2241         (WebCore::RenderStyle::initialTransitionDuration):
2242         (WebCore::RenderStyle::initialTransitionProperty):
2243
2244 2007-10-31  Alp Toker  <alp@atoker.com>
2245
2246         Reviewed by Mark Rowe.
2247
2248         The new Color must be marked valid.
2249
2250         * platform/graphics/gtk/ColorGtk.cpp:
2251
2252 2007-10-31  Simon Hausmann  <hausmann@kde.org>
2253
2254         Reviewed by Maciej;
2255
2256         Build fix for non-Qt builds.
2257
2258         * dom/XMLTokenizer.cpp:
2259         (WebCore::XMLTokenizer::XMLTokenizer):
2260
2261 2007-10-31  Simon Hausmann  <hausmann@kde.org>
2262
2263         Reviewed by Lars.
2264
2265         Fix dependency path to header files of the public API of the Qt port.
2266
2267         * WebCore.pro:
2268
2269 2007-10-31  Holger Freyther  <zecke@selfish.org>
2270
2271         Reviewed by Simon.
2272
2273         * QXmlStreamNamespaceDeclaration doesn't have the constructor we
2274         want to use for Qt4.3. Reenable the old code path which is likely
2275         to be dead as I have not checked if m_prefixToNamespaceMap is actually
2276         used.
2277         * Guard the entity resolver with the QT_VERSION as well.
2278         * Partially reverts 369506279abdaa863e15efed649ca19e062f2c30 and
2279         d2b54d0fc1b07a2480f4f7a1417abd7a636b0107 for Qt4.3.
2280
2281         * dom/XMLTokenizer.cpp:
2282         (WebCore::XMLTokenizer::XMLTokenizer):
2283         * dom/XMLTokenizer.h:
2284
2285 2007-10-31  Holger Freyther  <zecke@selfish.org>
2286
2287         Reviewed by Lars Knoll <lars@trolltech.com>.
2288
2289         * QMimeData::removeData will be new in Qt4.4, don't use it for Qt4.3 
2290         * Provide a bad fallback implementation to filter the format list.
2291
2292         * platform/qt/ClipboardQt.cpp:
2293         (WebCore::ClipboardQt::clearData):
2294
2295 2007-10-31  Lars Knoll  <lars@trolltech.com>
2296
2297         Reviewed by Simon.
2298
2299         add an entitiy resolver to QXmlStream.
2300         Fixes fast/parser/entities-in-attributes.xhtml.
2301
2302         * dom/XMLTokenizer.cpp:
2303         (WebCore::EntityResolver::resolveUndeclaredEntity):
2304         (WebCore::XMLTokenizer::XMLTokenizer):
2305         (WebCore::XMLTokenizer::~XMLTokenizer):
2306
2307 2007-10-31  Lars Knoll  <lars@trolltech.com>
2308
2309         Reviewed by Simon.
2310
2311         Fixes in the XML tokenizer when using QXmlStream.
2312         
2313         Use new functionality of QXmlStream in Qt 4.4 to simplify
2314         the code (but keep the old code for now to still support Qt 4.3).
2315         
2316         Add proper support for namespace handling when parsing into
2317         a document fragment.
2318
2319         * dom/XMLTokenizer.cpp:
2320         (WebCore::XMLTokenizer::XMLTokenizer):
2321         (WebCore::XMLTokenizer::write):
2322         (WebCore::XMLTokenizer::startElementNs):
2323         (WebCore::):
2324         * dom/XMLTokenizer.h:
2325
2326 2007-10-31  Lars Knoll  <lars@trolltech.com>
2327
2328         Reviewed by Simon.
2329
2330         add support for dragging images.
2331
2332         * platform/DragImage.h:
2333         * platform/qt/ClipboardQt.cpp:
2334         (WebCore::ClipboardQt::clearData):
2335         (WebCore::ClipboardQt::setDragImage):
2336         (WebCore::ClipboardQt::setDragImageElement):
2337         (WebCore::ClipboardQt::createDragImage):
2338         (WebCore::getCachedImage):
2339         (WebCore::ClipboardQt::declareAndWriteDragImage):
2340         * platform/qt/ClipboardQt.h:
2341
2342 2007-10-31  Lars Knoll  <lars@trolltech.com>
2343
2344         Reviewed by Simon.
2345
2346         fix most of the issues I found with Clipboard and DnD.
2347
2348         * editing/qt/EditorQt.cpp:
2349         * platform/qt/ClipboardQt.cpp:
2350         (WebCore::ClipboardQt::ClipboardQt):
2351         (WebCore::ClipboardQt::~ClipboardQt):
2352         (WebCore::ClipboardQt::clearData):
2353         (WebCore::ClipboardQt::clearAllData):
2354         (WebCore::ClipboardQt::getData):
2355         (WebCore::ClipboardQt::setData):
2356         (WebCore::ClipboardQt::types):
2357         (WebCore::ClipboardQt::setDragImage):
2358         (WebCore::ClipboardQt::setDragImageElement):
2359         (WebCore::ClipboardQt::declareAndWriteDragImage):
2360         (WebCore::ClipboardQt::writeURL):
2361         (WebCore::ClipboardQt::writeRange):
2362         (WebCore::ClipboardQt::hasData):
2363         * platform/qt/ClipboardQt.h:
2364         * platform/qt/DragDataQt.cpp:
2365         (WebCore::DragData::asURL):
2366
2367 2007-10-30  Mark Rowe  <mrowe@apple.com>
2368
2369         Fix the Gtk and Qt builds by stubbing out PlatformKeyboardEvent::currentCapsLockState.
2370
2371         * platform/gtk/KeyEventGtk.cpp:
2372         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
2373         * platform/qt/PlatformKeyboardEventQt.cpp:
2374         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
2375
2376 2007-10-31  Alexey Proskuryakov  <ap@webkit.org>
2377
2378         Reviewed by Anders.
2379
2380         http://bugs.webkit.org/show_bug.cgi?id=15762
2381         XSLStylesheet loads subresources from a wrong URL
2382
2383         Covered by corrected existing tests.
2384
2385         * xml/XSLStyleSheet.cpp:
2386         (WebCore::XSLStyleSheet::parseString): Pass stylesheet URL, not
2387         the document one.
2388
2389 2007-10-31  Alexey Proskuryakov  <ap@webkit.org>
2390
2391         Reviewed by Darin.
2392
2393         http://bugs.webkit.org/show_bug.cgi?id=10818
2394         String::append does 2 full copies instead of 1 (or zero!)
2395
2396         No change in functionality, thus no test.
2397
2398         * platform/String.cpp:
2399         (WebCore::String::append): Rewrote to copy once. Also removed an ancient
2400         FIXME that doesn't seem to make any sense. Note that append() behavior doesn't 
2401         match documented String behavior ("modifications to one instance will
2402         also modify all others"), but there are a lot of methods that don't.
2403
2404 2007-10-31  Adam Roben  <aroben@apple.com>
2405
2406         Windows build fix
2407
2408         * WebCore.vcproj/WebCore.vcproj: Add [JS]ProgressEvent.{cpp,h} files.
2409
2410 2007-10-30  Adam Roben  <aroben@apple.com>
2411
2412         Windows build fixes
2413
2414         I'm not completely sure why these const issues weren't caught by GCC,
2415         but MSVC was certainly not happy with them.
2416
2417         * editing/IndentOutdentCommand.cpp:
2418         (WebCore::isIndentBlockquote):
2419         * editing/markup.cpp:
2420         (WebCore::styleFromMatchedRulesAndInlineDecl):
2421
2422 2007-10-30  David Hyatt  <hyatt@apple.com>
2423
2424         transition-property was defaulting to all when it should default to none.  
2425
2426         It was taking a string type.  I figured out how to make it take an ident instead, so you can write:
2427
2428         transition-property: opacity
2429
2430         instead of
2431
2432         transition-property: "opacity"
2433
2434         Transition layers also weren't properly repeating patterns the way they were supposed to.  I fixed that.
2435
2436         Finally, I fixed a bug in the code to fix up transition layers where something was misplaced that should have been inside a null check.
2437
2438         Reviewed by aroben
2439
2440         * css/CSSHelper.h:
2441         * css/CSSParser.cpp:
2442         (WebCore::CSSParser::parseTransitionProperty):
2443         * css/CSSStyleSelector.cpp:
2444         (WebCore::CSSStyleSelector::adjustRenderStyle):
2445         * page/AnimationController.cpp:
2446         (WebCore::ImplicitAnimation::animate):
2447         * rendering/RenderStyle.cpp:
2448         (WebCore::RenderStyle::adjustTransitions):
2449         * rendering/RenderStyle.h:
2450         (WebCore::RenderStyle::initialTransitionProperty):
2451
2452 2007-10-30  Antti Koivisto  <antti@apple.com>
2453
2454         Reviewed by Geoff.
2455
2456         Leak fix
2457
2458         * platform/graphics/mac/MoviePrivateQTKit.mm:
2459         (WebCore::MoviePrivate::getSupportedTypes):
2460
2461 2007-10-30  Dan Bernstein  <mitz@apple.com>
2462
2463         Reviewed by Stephanie Lewis.
2464
2465         - fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites)
2466
2467         * platform/win/FontDataWin.cpp:
2468         (WebCore::FontData::platformInit): Handle the case where the font has no
2469         glyphs on page zero.
2470
2471 2007-10-30  David Hyatt  <hyatt@apple.com>
2472
2473         Make sure CSS transforms can be animated using the CSS transition property.
2474
2475         Reviewed by Dan and Antti
2476
2477         * css/CSSStyleSelector.cpp:
2478         (WebCore::CSSStyleSelector::applyProperty):
2479         * page/AnimationController.cpp:
2480         (WebCore::blendFunc):
2481         (WebCore::ImplicitAnimation::animate):
2482         * rendering/Length.h:
2483         (WebCore::Length::blend):
2484         * rendering/RenderStyle.cpp:
2485         (WebCore::StyleTransformData::operator==):
2486         (WebCore::TransformOperations::operator==):
2487         (WebCore::blendLengths):
2488         (WebCore::ScaleTransformOperation::blend):
2489         (WebCore::RotateTransformOperation::blend):
2490         (WebCore::SkewTransformOperation::blend):
2491         (WebCore::TranslateTransformOperation::blend):
2492         (WebCore::MatrixTransformOperation::blend):
2493         * rendering/RenderStyle.h:
2494         (WebCore::TransformOperations::operator!=):
2495         (WebCore::TransformOperations::isEmpty):
2496         (WebCore::TransformOperations::size):
2497         (WebCore::TransformOperations::operator[]):
2498         (WebCore::TransformOperations::append):
2499         (WebCore::RenderStyle::transform):
2500         (WebCore::RenderStyle::setTransform):
2501         (WebCore::RenderStyle::initialTransform):
2502
2503 2007-10-30  Antti Koivisto  <antti@apple.com>
2504
2505         Another Qt/GTK build fix.
2506
2507         * bindings/js/JSHTMLElementWrapperFactory.cpp:
2508
2509 2007-10-30  Antti Koivisto  <antti@apple.com>
2510
2511         Attempt to fix Qt/GTK build.
2512
2513         * WebCore.pro:
2514
2515 2007-10-30  Justin Garcia  <justin.garcia@apple.com>
2516
2517         Reviewed by Darin Adler.
2518
2519         <rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData
2520         
2521         We were trying to insert a tab into a br, after the br incorrectly ended up inside
2522         a tab span.
2523         
2524         * editing/DeleteButtonController.cpp: 
2525         (WebCore::isDeletableElement): Changed to take in a const Node* instead of a Node*.
2526         * editing/DeleteSelectionCommand.cpp:
2527         (WebCore::isTableRow): Ditto.
2528         * editing/IndentOutdentCommand.cpp:
2529         (WebCore::isIndentBlockquote): Ditto.
2530         (WebCore::isListOrIndentBlockquote): Ditto.
2531         * editing/InsertLineBreakCommand.cpp:
2532         (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Added, moved code from
2533         doApply here.
2534         (WebCore::InsertLineBreakCommand::doApply): 
2535         Don't upstream() the insertion position.  upstream()ing it will only have an effect
2536         when the insertion position is the first in its paragraph (since we canonicalize
2537         VisiblePositions to the upstream() candidate).  In this start of paragraph case, 
2538         upstream() can move outside inline elements like tab spans or elements that might
2539         have a different whitespace mode (added two test cases to cover these).
2540         Moved code to decide whether to insert a br or a '\n' to its own method.
2541         Removed special case code for inserting at a position inside a tab span.  We instead
2542         adjust the insertion position before insertion if it is inside a tab span and
2543         handle insertion in the appropriate if-block.  This fixes a bug where we would 
2544         only insert one line break when two were needed (added a testcase).
2545         Removed special case code for inserting before and after tables and horizontal
2546         rules.  We handle these insertions in the appropriate if-block.
2547         * editing/InsertLineBreakCommand.h:
2548         * editing/ReplaceSelectionCommand.cpp:
2549         (WebCore::isMailPasteAsQuotationNode): Change to take in a const Node*.
2550         * editing/htmlediting.cpp:
2551         (WebCore::isContentEditable): Ditto.
2552         (WebCore::isBlock): Ditto.
2553         (WebCore::enclosingNodeOfType): Changed to take a function pointer to a function
2554         that takes in a const Node*.
2555         (WebCore::isTabSpanTextNode): Check to see that the node actually a text node,
2556         and not, say, a br.
2557         * editing/htmlediting.h:
2558         * editing/markup.cpp:
2559         (WebCore::styleFromMatchedRulesAndInlineDecl): Changed to take in a const Node*.
2560         (WebCore::elementHasTextDecorationProperty): Ditto.
2561
2562 2007-10-30  Antti Koivisto  <antti@apple.com>
2563
2564         Reviewed by NOBODY.
2565
2566         Add missing files.
2567
2568         * html/VoidCallback.cpp: Added.
2569         (VoidCallback::VoidCallback):
2570         (VoidCallback::~VoidCallback):
2571         (VoidCallback::handleEvent):
2572         (VoidCallback::execute):
2573         (VoidCallback::operator==):
2574         (WebCore::toVoidCallback):
2575         * html/VoidCallback.h: Added.
2576         * html/VoidCallback.idl: Added.
2577
2578 2007-10-30  David Kilzer  <ddkilzer@webkit.org>
2579
2580         Generated files missing from WebCore's Xcode project file
2581         <http://bugs.webkit.org/show_bug.cgi?id=15406>
2582
2583         Reviewed by Darin.
2584
2585         Added the following files to the Xcode project file (note that
2586         JSHTMLInputElementBaseTable.cpp is used as a header file):
2587
2588         - DOMCSSStyleSheetPrivate.h
2589         - DOMEventPrivate.h
2590         - DOMHTMLCollectionPrivate.h
2591         - DOMHTMLEmbedElementPrivate.h
2592         - DOMHTMLIFrameElementPrivate.h
2593         - DOMHTMLObjectElementPrivate.h
2594         - DOMHTMLSelectElementPrivate.h
2595         - DOMTextEventInternal.h
2596         - JSHTMLInputElementBaseTable.cpp
2597
2598         * DerivedSources.make: Removed DOMSVGException.h and JSSVGAnimatedPoints.h
2599         since their generated code was not used.
2600         * WebCore.xcodeproj/project.pbxproj: Added missing header files.
2601
2602 2007-10-29  Antti Koivisto  <antti@apple.com>
2603
2604         Rubber stamped by Adele.
2605
2606         Initial media (<video> and <audio>) support from feature branch and 
2607         QTKit based platform implementation.
2608         
2609         This will need to be updated to match current draft specification.
2610
2611         * Configurations/WebCore.xcconfig:
2612         * DerivedSources.make:
2613         * WebCore.base.exp:
2614         * WebCore.xcodeproj/project.pbxproj:
2615         * bindings/js/JSEventCustom.cpp:
2616         (WebCore::toJS):
2617         * bindings/js/JSHTMLAudioElementConstructor.cpp: Added.
2618         (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
2619         (WebCore::JSHTMLAudioElementConstructor::implementsConstruct):
2620         (WebCore::JSHTMLAudioElementConstructor::construct):
2621         * bindings/js/JSHTMLAudioElementConstructor.h: Added.
2622         * bindings/js/JSHTMLElementWrapperFactory.cpp:
2623         (WebCore::createJSHTMLWrapper):
2624         * bindings/js/kjs_window.cpp:
2625         (KJS::Window::getValueProperty):
2626         * bindings/js/kjs_window.h:
2627         (KJS::Window::):
2628         * bindings/scripts/CodeGeneratorJS.pm:
2629         * dom/Document.cpp:
2630         (WebCore::Document::createEvent):
2631         (WebCore::Document::willSaveToCache):
2632         (WebCore::Document::didRestoreFromCache):
2633         (WebCore::Document::registerForCacheCallbacks):
2634         (WebCore::Document::unregisterForCacheCallbacks):
2635         * dom/Document.h:
2636         * dom/Element.cpp:
2637         (WebCore::Element::setBooleanAttribute):
2638         * dom/Element.h:
2639         (WebCore::Element::willSaveToCache):
2640         * dom/Event.cpp:
2641         (WebCore::Event::isProgressEvent):
2642         * dom/Event.h:
2643         * dom/EventNames.h:
2644         * dom/EventTargetNode.cpp:
2645         (WebCore::EventTargetNode::dispatchProgressEvent):
2646         * dom/EventTargetNode.h:
2647         * dom/ProgressEvent.cpp: Added.
2648         (WebCore::ProgressEvent::ProgressEvent):
2649         (WebCore::ProgressEvent::initProgressEvent):
2650         (WebCore::ProgressEvent::initProgressEventNS):
2651         * dom/ProgressEvent.h: Added.
2652         (WebCore::ProgressEvent::lengthComputable):
2653         (WebCore::ProgressEvent::loaded):
2654         (WebCore::ProgressEvent::total):
2655         (WebCore::ProgressEvent::isProgressEvent):
2656         * dom/ProgressEvent.idl: Added.
2657         * history/CachedPage.cpp:
2658         (WebCore::CachedPage::CachedPage):
2659         * html/HTMLAttributeNames.in:
2660         * html/HTMLAudioElement.cpp: Added.
2661         (WebCore::HTMLAudioElement::HTMLAudioElement):
2662         * html/HTMLAudioElement.h: Added.
2663         (WebCore::HTMLAudioElement::tagPriority):
2664         * html/HTMLAudioElement.idl: Added.
2665         * html/HTMLElement.cpp:
2666         (WebCore::inlineTagList):
2667         * html/HTMLElementFactory.cpp:
2668         (WebCore::audioConstructor):
2669         (WebCore::videoConstructor):
2670         (WebCore::sourceConstructor):
2671         (WebCore::createFunctionMap):
2672         * html/HTMLInputElement.cpp:
2673         (WebCore::HTMLInputElement::~HTMLInputElement):
2674         (WebCore::HTMLInputElement::setInputType):
2675         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
2676         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
2677         * html/HTMLMediaElement.cpp: Added.
2678         (WebCore::HTMLMediaElement::HTMLMediaElement):
2679         (WebCore::HTMLMediaElement::~HTMLMediaElement):
2680         (WebCore::HTMLMediaElement::checkDTD):
2681         (WebCore::HTMLMediaElement::rendererIsNeeded):
2682         (WebCore::HTMLMediaElement::createRenderer):
2683         (WebCore::HTMLMediaElement::insertedIntoDocument):
2684         (WebCore::HTMLMediaElement::removedFromDocument):
2685         (WebCore::HTMLMediaElement::scheduleLoad):
2686         (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
2687         (WebCore::HTMLMediaElement::dispatchEventAsync):
2688         (WebCore::HTMLMediaElement::loadTimerFired):
2689         (WebCore::HTMLMediaElement::asyncEventTimerFired):
2690         (WebCore::serializeTimeOffset):
2691         (WebCore::parseTimeOffset):
2692         (WebCore::HTMLMediaElement::getTimeOffsetAttribute):
2693         (WebCore::HTMLMediaElement::setTimeOffsetAttribute):
2694         (WebCore::HTMLMediaElement::error):
2695         (WebCore::HTMLMediaElement::src):
2696         (WebCore::HTMLMediaElement::HTMLMediaElement::setSrc):
2697         (WebCore::HTMLMediaElement::currentSrc):
2698         (WebCore::HTMLMediaElement::networkState):
2699         (WebCore::HTMLMediaElement::bufferingRate):
2700         (WebCore::HTMLMediaElement::load):
2701         (WebCore::HTMLMediaElement::movieNetworkStateChanged):
2702         (WebCore::HTMLMediaElement::movieReadyStateChanged):
2703         (WebCore::HTMLMediaElement::setReadyState):
2704         (WebCore::HTMLMediaElement::progressEventTimerFired):
2705         (WebCore::HTMLMediaElement::seek):
2706         (WebCore::HTMLMediaElement::readyState):
2707         (WebCore::HTMLMediaElement::seeking):
2708         (WebCore::HTMLMediaElement::currentTime):
2709         (WebCore::HTMLMediaElement::setCurrentTime):
2710         (WebCore::HTMLMediaElement::duration):
2711         (WebCore::HTMLMediaElement::paused):
2712         (WebCore::HTMLMediaElement::defaultPlaybackRate):
2713         (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
2714         (WebCore::HTMLMediaElement::playbackRate):
2715         (WebCore::HTMLMediaElement::setPlaybackRate):
2716         (WebCore::HTMLMediaElement::ended):
2717         (WebCore::HTMLMediaElement::autoplay):
2718         (WebCore::HTMLMediaElement::setAutoplay):
2719         (WebCore::HTMLMediaElement::play):
2720         (WebCore::HTMLMediaElement::pause):
2721         (WebCore::HTMLMediaElement::loopCount):
2722         (WebCore::HTMLMediaElement::setLoopCount):
2723         (WebCore::HTMLMediaElement::start):
2724         (WebCore::HTMLMediaElement::setStart):
2725         (WebCore::HTMLMediaElement::end):
2726         (WebCore::HTMLMediaElement::setEnd):
2727         (WebCore::HTMLMediaElement::loopStart):
2728         (WebCore::HTMLMediaElement::setLoopStart):
2729         (WebCore::HTMLMediaElement::loopEnd):
2730         (WebCore::HTMLMediaElement::setLoopEnd):
2731         (WebCore::HTMLMediaElement::currentLoop):
2732         (WebCore::HTMLMediaElement::setCurrentLoop):
2733         (WebCore::HTMLMediaElement::controls):
2734         (WebCore::HTMLMediaElement::setControls):
2735         (WebCore::HTMLMediaElement::volume):
2736         (WebCore::HTMLMediaElement::setVolume):
2737         (WebCore::HTMLMediaElement::muted):
2738         (WebCore::HTMLMediaElement::setMuted):
2739         (WebCore::HTMLMediaElement::pickMedia):
2740         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
2741         (WebCore::HTMLMediaElement::movieVolumeChanged):
2742         (WebCore::HTMLMediaElement::movieDidEnd):
2743         (WebCore::HTMLMediaElement::movieCuePointReached):
2744         (WebCore::HTMLMediaElement::addCuePoint):
2745         (WebCore::HTMLMediaElement::removeCuePoint):
2746         (WebCore::HTMLMediaElement::buffered):
2747         (WebCore::HTMLMediaElement::played):
2748         (WebCore::HTMLMediaElement::seekable):
2749         (WebCore::HTMLMediaElement::effectiveStart):
2750         (WebCore::HTMLMediaElement::effectiveEnd):
2751         (WebCore::HTMLMediaElement::effectiveLoopStart):
2752         (WebCore::HTMLMediaElement::effectiveLoopEnd):
2753         (WebCore::HTMLMediaElement::activelyPlaying):
2754         (WebCore::HTMLMediaElement::endedPlayback):
2755         (WebCore::HTMLMediaElement::willSaveToCache):
2756         (WebCore::HTMLMediaElement::didRestoreFromCache):
2757         * html/HTMLMediaElement.h: Added.
2758         (WebCore::HTMLMediaElement::movie):
2759         (WebCore::HTMLMediaElement::isVideo):
2760         (WebCore::HTMLMediaElement::):
2761         (WebCore::HTMLMediaElement::CallbackEntry::CallbackEntry):
2762         * html/HTMLMediaElement.idl: Added.
2763         * html/HTMLSourceElement.cpp: Added.
2764         (WebCore::HTMLSourceElement::HTMLSourceElement):
2765         (WebCore::HTMLSourceElement::~HTMLSourceElement):
2766         (WebCore::HTMLSourceElement::insertedIntoDocument):
2767         (WebCore::HTMLSourceElement::src):
2768         (WebCore::HTMLSourceElement::setSrc):
2769         (WebCore::HTMLSourceElement::media):
2770         (WebCore::HTMLSourceElement::setMedia):
2771         (WebCore::HTMLSourceElement::type):
2772         (WebCore::HTMLSourceElement::setType):
2773         * html/HTMLSourceElement.h: Added.
2774         (WebCore::HTMLSourceElement::endTagRequirement):
2775         (WebCore::HTMLSourceElement::tagPriority):
2776         * html/HTMLSourceElement.idl: Added.
2777         * html/HTMLTagNames.in:
2778         * html/HTMLVideoElement.cpp: Added.
2779         (WebCore::HTMLVideoElement::HTMLVideoElement):
2780         (WebCore::HTMLVideoElement::videoWidth):
2781         (WebCore::HTMLVideoElement::videoHeight):
2782         * html/HTMLVideoElement.h: Added.
2783         (WebCore::HTMLVideoElement::tagPriority):
2784         (WebCore::HTMLVideoElement::isVideo):
2785         * html/HTMLVideoElement.idl: Added.
2786         * html/MediaError.h: Added.
2787         (WebCore::MediaError::):
2788         (WebCore::MediaError::MediaError):
2789         (WebCore::MediaError::code):
2790         * html/MediaError.idl: Added.
2791         * html/TimeRanges.cpp: Added.
2792         (TimeRanges::TimeRanges):
2793         (TimeRanges::start):
2794         (TimeRanges::end):
2795         (TimeRanges::add):
2796         (TimeRanges::contain):
2797         * html/TimeRanges.h: Added.
2798         (WebCore::TimeRanges::TimeRanges):
2799         (WebCore::TimeRanges::length):
2800         (WebCore::TimeRanges::Range::Range):
2801         * html/TimeRanges.idl: Added.
2802         * page/DOMWindow.idl:
2803         * platform/MIMETypeRegistry.cpp:
2804         (WebCore::initialiseSupportedMovieMIMETypes):
2805         (WebCore::initialiseMIMETypeRegistry):
2806         (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
2807         (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
2808         * platform/MIMETypeRegistry.h:
2809         * platform/graphics/Movie.cpp: Added.
2810         (WebCore::Movie::Movie):
2811         (WebCore::Movie::~Movie):
2812         (WebCore::Movie::load):
2813         (WebCore::Movie::cancelLoad):
2814         (WebCore::Movie::play):
2815         (WebCore::Movie::pause):
2816         (WebCore::Movie::duration):
2817         (WebCore::Movie::currentTime):
2818         (WebCore::Movie::seek):
2819         (WebCore::Movie::paused):
2820         (WebCore::Movie::seeking):
2821         (WebCore::Movie::naturalSize):
2822         (WebCore::Movie::hasVideo):
2823         (WebCore::Movie::networkState):
2824         (WebCore::Movie::readyState):
2825         (WebCore::Movie::volume):
2826         (WebCore::Movie::setVolume):
2827         (WebCore::Movie::rate):
2828         (WebCore::Movie::setRate):
2829         (WebCore::Movie::muted):
2830         (WebCore::Movie::setMuted):
2831         (WebCore::Movie::dataRate):
2832         (WebCore::Movie::setEndTime):
2833         (WebCore::Movie::addCuePoint):
2834         (WebCore::Movie::removeCuePoint):
2835         (WebCore::Movie::clearCuePoints):
2836         (WebCore::Movie::maxTimeBuffered):
2837         (WebCore::Movie::maxTimeSeekable):
2838         (WebCore::Movie::bytesLoaded):
2839         (WebCore::Movie::totalBytesKnown):
2840         (WebCore::Movie::totalBytes):
2841         (WebCore::Movie::setRect):
2842         (WebCore::Movie::visible):
2843         (WebCore::Movie::setVisible):
2844         (WebCore::Movie::paint):
2845         (WebCore::Movie::getSupportedTypes):
2846         (WebCore::Movie::networkStateChanged):
2847         (WebCore::Movie::readyStateChanged):
2848         (WebCore::Movie::volumeChanged):
2849         (WebCore::Movie::didEnd):
2850         (WebCore::Movie::cuePointReached):
2851         * platform/graphics/Movie.h: Added.
2852         (WebCore::MovieClient::~MovieClient):
2853         (WebCore::MovieClient::movieNetworkStateChanged):
2854         (WebCore::MovieClient::movieReadyStateChanged):
2855         (WebCore::MovieClient::movieVolumeChanged):
2856         (WebCore::MovieClient::movieDidEnd):
2857         (WebCore::MovieClient::movieCuePointReached):
2858         (WebCore::Movie::parentWidget):
2859         (WebCore::Movie::setParentWidget):
2860         (WebCore::Movie::rect):
2861         (WebCore::Movie::):
2862         * platform/graphics/mac/MoviePrivateQTKit.h: Added.
2863         * platform/graphics/mac/MoviePrivateQTKit.mm: Added.
2864         (WebCore::MoviePrivate::MoviePrivate):
2865         (WebCore::MoviePrivate::~MoviePrivate):
2866         (WebCore::MoviePrivate::createQTMovie):
2867         (WebCore::MoviePrivate::createQTMovieView):
2868         (WebCore::MoviePrivate::createQTTime):
2869         (WebCore::MoviePrivate::load):
2870         (WebCore::MoviePrivate::play):
2871         (WebCore::MoviePrivate::pause):
2872         (WebCore::MoviePrivate::duration):
2873         (WebCore::MoviePrivate::currentTime):
2874         (WebCore::MoviePrivate::seek):
2875         (WebCore::MoviePrivate::setEndTime):
2876         (WebCore::MoviePrivate::addCuePoint):
2877         (WebCore::MoviePrivate::removeCuePoint):
2878         (WebCore::MoviePrivate::clearCuePoints):
2879         (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
2880         (WebCore::MoviePrivate::cancelSeek):
2881         (WebCore::MoviePrivate::seekTimerFired):
2882         (WebCore::MoviePrivate::cuePointTimerFired):
2883         (WebCore::MoviePrivate::paused):
2884         (WebCore::MoviePrivate::seeking):
2885         (WebCore::MoviePrivate::naturalSize):
2886         (WebCore::MoviePrivate::hasVideo):
2887         (WebCore::MoviePrivate::setVolume):
2888         (WebCore::MoviePrivate::setMuted):
2889         (WebCore::MoviePrivate::setRate):
2890         (WebCore::MoviePrivate::dataRate):
2891         (WebCore::MoviePrivate::networkState):
2892         (WebCore::MoviePrivate::readyState):
2893         (WebCore::MoviePrivate::maxTimeBuffered):
2894         (WebCore::MoviePrivate::maxTimeSeekable):
2895         (WebCore::MoviePrivate::maxTimeLoaded):
2896         (WebCore::MoviePrivate::bytesLoaded):
2897         (WebCore::MoviePrivate::totalBytesKnown):
2898         (WebCore::MoviePrivate::totalBytes):
2899         (WebCore::MoviePrivate::cancelLoad):
2900         (WebCore::MoviePrivate::updateStates):
2901         (WebCore::MoviePrivate::loadStateChanged):
2902         (WebCore::MoviePrivate::rateChanged):
2903         (WebCore::MoviePrivate::sizeChanged):
2904         (WebCore::MoviePrivate::timeChanged):
2905         (WebCore::MoviePrivate::volumeChanged):
2906         (WebCore::MoviePrivate::didEnd):
2907         (WebCore::MoviePrivate::setRect):
2908         (WebCore::MoviePrivate::setVisible):
2909         (WebCore::MoviePrivate::paint):
2910         (WebCore::MoviePrivate::getSupportedTypes):
2911         (-[WebCoreMovieObserver loadStateChanged:]):
2912         (-[WebCoreMovieObserver rateChanged:]):
2913         (-[WebCoreMovieObserver sizeChanged:]):
2914         (-[WebCoreMovieObserver timeChanged:]):
2915         (-[WebCoreMovieObserver volumeChanged:]):
2916         (-[WebCoreMovieObserver didEnd:]):
2917         (-[WebCoreMovieObserver setCallback:WebCore::]):
2918         * platform/mac/WebCoreSystemInterface.h:
2919         * platform/mac/WebCoreSystemInterface.mm:
2920         * rendering/RenderLayer.cpp:
2921         (WebCore::RenderLayer::collectLayers):
2922         * rendering/RenderVideo.cpp: Added.
2923         (WebCore::RenderVideo::RenderVideo):
2924         (WebCore::RenderVideo::~RenderVideo):
2925         (WebCore::RenderVideo::movie):
2926         (WebCore::RenderVideo::videoSizeChanged):
2927         (WebCore::RenderVideo::paint):
2928         (WebCore::RenderVideo::layout):
2929         (WebCore::RenderVideo::updateFromElement):
2930         (WebCore::RenderVideo::updateMovie):
2931         (WebCore::RenderVideo::isWidthSpecified):
2932         (WebCore::RenderVideo::isHeightSpecified):
2933         (WebCore::RenderVideo::calcReplacedWidth):
2934         (WebCore::RenderVideo::calcReplacedHeight):
2935         (WebCore::RenderVideo::calcAspectRatioWidth):
2936         (WebCore::RenderVideo::calcAspectRatioHeight):
2937         (WebCore::RenderVideo::calcPrefWidths):
2938         * rendering/RenderVideo.h: Added.
2939         (WebCore::RenderVideo::renderName):
2940
2941 2007-10-30  Sam Weinig  <sam@webkit.org>
2942
2943         Reviewed by Adam Roben.
2944
2945         Add Interface and Class UUIDs to the IDLs in preparation of adding
2946         autogeneration of the COM DOM bindings.
2947
2948         * bindings/scripts/IDLParser.pm: Relax parsing rules to allow newlines as whitespace.
2949         * css/CSSCharsetRule.idl:
2950         * css/CSSFontFaceRule.idl:
2951         * css/CSSImportRule.idl:
2952         * css/CSSMediaRule.idl:
2953         * css/CSSPageRule.idl:
2954         * css/CSSPrimitiveValue.idl:
2955         * css/CSSRule.idl:
2956         * css/CSSRuleList.idl:
2957         * css/CSSStyleDeclaration.idl:
2958         * css/CSSStyleRule.idl:
2959         * css/CSSStyleSheet.idl:
2960         * css/CSSUnknownRule.idl:
2961         * css/CSSValue.idl:
2962         * css/CSSValueList.idl:
2963         * css/Counter.idl:
2964         * css/MediaList.idl:
2965         * css/RGBColor.idl:
2966         * css/Rect.idl:
2967         * css/StyleSheet.idl:
2968         * css/StyleSheetList.idl:
2969         * dom/Attr.idl:
2970         * dom/CDATASection.idl:
2971         * dom/CharacterData.idl:
2972         * dom/Comment.idl:
2973         * dom/DOMImplementation.idl:
2974         * dom/Document.idl:
2975         * dom/DocumentFragment.idl:
2976         * dom/DocumentType.idl:
2977         * dom/Element.idl:
2978         * dom/Entity.idl:
2979         * dom/EntityReference.idl:
2980         * dom/Event.idl:
2981         * dom/EventListener.idl:
2982         * dom/EventTarget.idl:
2983         * dom/NamedNodeMap.idl:
2984         * dom/Node.idl:
2985         * dom/NodeList.idl:
2986         * dom/Notation.idl:
2987         * dom/ProcessingInstruction.idl:
2988         * dom/Text.idl:
2989         * html/CanvasGradient.idl:
2990         * html/CanvasPattern.idl:
2991         * html/CanvasRenderingContext2D.idl:
2992         * html/HTMLAnchorElement.idl:
2993         * html/HTMLAppletElement.idl:
2994         * html/HTMLAreaElement.idl:
2995         * html/HTMLBRElement.idl:
2996         * html/HTMLBaseElement.idl:
2997         * html/HTMLBaseFontElement.idl:
2998         * html/HTMLBlockquoteElement.idl:
2999         * html/HTMLBodyElement.idl:
3000         * html/HTMLButtonElement.idl:
3001         * html/HTMLCanvasElement.idl:
3002         * html/HTMLCollection.idl:
3003         * html/HTMLDListElement.idl:
3004         * html/HTMLDirectoryElement.idl:
3005         * html/HTMLDivElement.idl:
3006         * html/HTMLDocument.idl:
3007         * html/HTMLElement.idl:
3008         * html/HTMLEmbedElement.idl:
3009         * html/HTMLFieldSetElement.idl:
3010         * html/HTMLFontElement.idl:
3011         * html/HTMLFormElement.idl:
3012         * html/HTMLFrameElement.idl:
3013         * html/HTMLFrameSetElement.idl:
3014         * html/HTMLHRElement.idl:
3015         * html/HTMLHeadElement.idl:
3016         * html/HTMLHeadingElement.idl:
3017         * html/HTMLHtmlElement.idl:
3018         * html/HTMLIFrameElement.idl:
3019         * html/HTMLImageElement.idl:
3020         * html/HTMLInputElement.idl:
3021         * html/HTMLIsIndexElement.idl:
3022         * html/HTMLLIElement.idl:
3023         * html/HTMLLabelElement.idl:
3024         * html/HTMLLegendElement.idl:
3025         * html/HTMLLinkElement.idl:
3026         * html/HTMLMapElement.idl:
3027         * html/HTMLMarqueeElement.idl:
3028         * html/HTMLMenuElement.idl:
3029         * html/HTMLMetaElement.idl:
3030         * html/HTMLModElement.idl:
3031         * html/HTMLOListElement.idl:
3032         * html/HTMLObjectElement.idl:
3033         * html/HTMLOptGroupElement.idl:
3034         * html/HTMLOptionElement.idl:
3035         * html/HTMLOptionsCollection.idl:
3036         * html/HTMLParagraphElement.idl:
3037         * html/HTMLParamElement.idl:
3038         * html/HTMLPreElement.idl:
3039         * html/HTMLQuoteElement.idl:
3040         * html/HTMLScriptElement.idl:
3041         * html/HTMLSelectElement.idl:
3042         * html/HTMLStyleElement.idl:
3043         * html/HTMLTableCaptionElement.idl:
3044         * html/HTMLTableCellElement.idl:
3045         * html/HTMLTableColElement.idl:
3046         * html/HTMLTableElement.idl:
3047         * html/HTMLTableRowElement.idl:
3048         * html/HTMLTableSectionElement.idl:
3049         * html/HTMLTextAreaElement.idl:
3050         * html/HTMLTitleElement.idl:
3051         * html/HTMLUListElement.idl:
3052
3053 2007-10-30  Adele Peterson  <adele@apple.com>
3054
3055         RS by Darin.
3056
3057         * page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round.
3058
3059 2007-10-29  Timothy Hatcher  <timothy@apple.com>
3060
3061         Reviewed by John Sullivan.
3062
3063         - Allow showing and closing the inspector programatically.
3064         - Add showConsole() and showTimeline() methods. 
3065
3066         * WebCore.base.exp: Add exports for WebKit.
3067         * page/InspectorController.cpp:
3068         (WebCore::callSimpleFunction): Renamed from callClearFunction().
3069         (WebCore::unloading): Renamed to close().
3070         (WebCore::InspectorController::InspectorController):
3071         (WebCore::InspectorController::inspect): Moved showing code to show().
3072         (WebCore::InspectorController::setWindowVisible): Show the timeline or console if needed.
3073         (WebCore::InspectorController::show): Code factored out of inspect().
3074         (WebCore::InspectorController::showConsole): Call show() and the JS showConsole().
3075         (WebCore::InspectorController::showTimeline): Call show() and the JS showTimeline().
3076         (WebCore::InspectorController::close):
3077         (WebCore::InspectorController::clearScriptResources): Call the new callSimpleFunction.
3078         (WebCore::InspectorController::clearDatabaseScriptResources): Ditto.
3079         (WebCore::InspectorController::clearScriptConsoleMessages): Ditto.
3080         (WebCore::InspectorController::clearNetworkTimeline): Ditto.
3081         * page/InspectorController.h: Add and rename methods.
3082         * page/inspector/inspector.js: Add showConsole() and showTimeline().
3083
3084 2007-10-30  Adele Peterson  <adele@apple.com>
3085
3086         Reviewed by Sam.
3087
3088         Build fix.
3089
3090         * page/AnimationController.cpp: (WebCore::blendFunc):
3091
3092 2007-10-30  Adele Peterson  <adele@apple.com>
3093
3094         Reviewed by Darin.
3095
3096         WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
3097         <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
3098
3099         Test: manual-tests/password-caps-lock.html
3100
3101         * WebCore.base.exp: Added symbol for capsLockStateMayHaveChanged.
3102
3103         * page/Frame.cpp: (WebCore::Frame::setIsActive): Calls capsLockStateMayHaveChanged.
3104         * page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged): Added. Tells the focused node's renderer that the capsLockStateMayHaveChanged.
3105         * page/EventHandler.h:
3106
3107         * platform/PlatformKeyboardEvent.h:
3108         * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
3109         * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
3110
3111         * rendering/RenderTextControl.cpp:
3112         (WebCore::RenderTextControl::RenderTextControl):
3113         (WebCore::RenderTextControl::paint): Added.  If m_shouldDrawCapsLockIndicator is true, paints the caps lock indicator after the background.
3114         (WebCore::RenderTextControl::forwardEvent): When the control gets and loses focus, update the caps lock state.
3115         (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Added. Updates m_shouldDrawCapsLockIndicator, which is true if the field is a password field, 
3116          and the frame is active, and the element is focused, and the caps lock is on.  Causes a repaint when m_shouldDrawCapsLockIndicator changes state.
3117         * rendering/RenderTextControl.h: Added m_shouldDrawCapsLockIndicator.
3118         * rendering/RenderObject.h: (WebCore::RenderObject::capsLockStateMayHaveChanged): Added.
3119
3120         * rendering/RenderTheme.h: (WebCore::RenderTheme::paintCapsLockIndicator): Added.
3121         * rendering/RenderThemeMac.h:
3122         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintCapsLockIndicator): Added.  Calls wkDrawCapsLockIndicator.
3123         * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCapsLockIndicator): Added.  Calls paintThemePart for the CapsLockPart.
3124         * rendering/RenderThemeSafari.h:
3125
3126 2007-10-30  David Hyatt  <hyatt@apple.com>
3127
3128         Land support for implicit animation in CSS.
3129
3130         Reviewed by mitz, darin
3131
3132         * css/CSSParser.cpp:
3133         (WebCore::CSSParser::parseTimingFunctionValue):
3134         (WebCore::CSSParser::parseTransitionTimingFunction):
3135         (WebCore::CSSParser::parseTransitionProperty):
3136         * css/CSSStyleSelector.cpp:
3137         (WebCore::CSSStyleSelector::mapTransitionDuration):
3138         (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
3139         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
3140         (WebCore::CSSStyleSelector::mapTransitionProperty):
3141         * css/CSSTimingFunctionValue.h:
3142         (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
3143         (WebCore::CSSTimingFunctionValue::x1):
3144         (WebCore::CSSTimingFunctionValue::y1):
3145         (WebCore::CSSTimingFunctionValue::x2):
3146         (WebCore::CSSTimingFunctionValue::y2):
3147         * dom/Element.cpp:
3148         (WebCore::Element::styleForRenderer):
3149         (WebCore::Element::createRenderer):
3150         * dom/Node.cpp:
3151         (WebCore::Node::createRendererIfNeeded):
3152         (WebCore::Node::setRenderStyle):
3153         * page/AnimationController.cpp:
3154         (WebCore::CurveData::CurveData):
3155         (WebCore::CurveData::sampleCurveX):
3156         (WebCore::CurveData::sampleCurveY):
3157         (WebCore::CurveData::sampleCurveDerivativeX):
3158         (WebCore::CurveData::solveCurveX):
3159         (WebCore::solveEpsilon):
3160         (WebCore::solveCubicBezierFunction):
3161         (WebCore::ImplicitAnimation::finished):
3162         (WebCore::CompositeImplicitAnimation::~CompositeImplicitAnimation):
3163         (WebCore::CompositeImplicitAnimation::hasAnimationForProperty):
3164         (WebCore::ImplicitAnimation::ImplicitAnimation):
3165         (WebCore::ImplicitAnimation::~ImplicitAnimation):
3166         (WebCore::ImplicitAnimation::reset):
3167         (WebCore::ImplicitAnimation::progress):
3168         (WebCore::blendFunc):
3169         (WebCore::ImplicitAnimation::animate):
3170         (WebCore::CompositeImplicitAnimation::animate):
3171         (WebCore::CompositeImplicitAnimation::animating):
3172         (WebCore::CompositeImplicitAnimation::reset):
3173         (WebCore::AnimationControllerPrivate::hasImplicitAnimations):
3174         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
3175         (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
3176         (WebCore::AnimationControllerPrivate::get):
3177         (WebCore::AnimationControllerPrivate::clear):
3178         (WebCore::AnimationControllerPrivate::updateTimer):
3179         (WebCore::AnimationControllerPrivate::timerFired):
3180         (WebCore:::m_data):
3181         (WebCore::AnimationController::~AnimationController):
3182         (WebCore::AnimationController::cancelImplicitAnimations):
3183         (WebCore::AnimationController::updateImplicitAnimations):
3184         (WebCore::AnimationController::suspendAnimations):
3185         (WebCore::AnimationController::resumeAnimations):
3186         * page/AnimationController.h:
3187         * page/Frame.cpp:
3188         (WebCore::FramePrivate::FramePrivate):
3189         * rendering/RenderBox.cpp:
3190         (WebCore::RenderBox::setStyle):
3191         (WebCore::RenderBox::destroy):
3192         * rendering/RenderObject.cpp:
3193         (WebCore::RenderObject::setAnimatableStyle):
3194         (WebCore::RenderObject::destroy):
3195         * rendering/RenderObject.h:
3196         * rendering/RenderStyle.h:
3197         (WebCore::TimingFunction::TimingFunction):
3198         (WebCore::TimingFunction::operator==):
3199         (WebCore::TimingFunction::x1):
3200         (WebCore::TimingFunction::y1):
3201         (WebCore::TimingFunction::x2):
3202         (WebCore::TimingFunction::y2):
3203         (WebCore::TimingFunction::type):
3204         (WebCore::Transition::transitionProperty):
3205         (WebCore::Transition::setTransitionProperty):
3206         (WebCore::RenderStyle::initialTransitionProperty):
3207         * rendering/RenderWidget.cpp:
3208         (WebCore::RenderWidget::destroy):
3209
3210 2007-10-29  Beth Dakin  <bdakin@apple.com>
3211
3212         Reviewed by Hyatt.
3213
3214         Fix for <rdar://problem/5399614> anchor tag is not rendered without 
3215         text content, works in Firefox with CSS background-image (13237)
3216
3217         This patch allows empty inlines that have box decorations or width 
3218         from border/padding/margin to have line boxes.
3219
3220         * rendering/bidi.cpp:
3221         (WebCore::inlineFlowAllowsLineBox): Convenience function that 
3222         defines when we allow an inline flow to have a line box.
3223         (WebCore::requiresLineBox): Call inlineFlowAllowsLineBox.
3224         (WebCore::shouldSkipWhitespaceAfterStartObject): New function to 
3225         merge some shared code between list markers and empty inline flows 
3226         that fall at the beginning of a line.
3227         (WebCore::RenderBlock::findNextLineBreak): Make flows more like 
3228         list markers.
3229
3230         One interesting side effect of this bug appeared in our xhtml/svg 
3231         tests that generate parser error tags. The tag we generate was 
3232         actually an empty inline with box decorations. This patch causes 
3233         those inlines to draw now, and the parser errors looked strange. So 
3234         I changed it so that the parsererror tag is display:block. This 
3235         matches Firefox, and I think was the original intent of the tag 
3236         since that causes its red background and border to show up.
3237         * dom/XMLTokenizer.cpp:
3238         (WebCore::createXHTMLParserErrorHeader):
3239
3240 2007-10-29  Dan Bernstein  <mitz@apple.com>
3241
3242         Reviewed by Dave Hyatt.
3243
3244         - fix crashing tests fast/frames/inline-object-inside-frameset.html and
3245           fast/forms/form-hides-table.html
3246
3247         * rendering/RenderBox.cpp:
3248         (WebCore::RenderBox::destroy):
3249         * rendering/RenderWidget.cpp:
3250         (WebCore::RenderWidget::destroy):
3251
3252 2007-10-29  Dan Bernstein  <mitz@apple.com>
3253
3254         Reviewed by Adam Roben.
3255
3256         - fix http://bugs.webkit.org/show_bug.cgi?id=15750
3257           REGRESSION(r27173): Web Inspector freezes beneath Image::drawPattern()
3258
3259         Test: fast/backgrounds/size/zero.html
3260
3261         * platform/graphics/cg/ImageCG.cpp:
3262         (WebCore::Image::drawPattern): Added an ASSERT and an early return
3263         to guard against singular pattern transforms.
3264         * rendering/RenderBox.cpp:
3265         (WebCore::cacluateBackgroundSize): Changed to ensure a minimum tile
3266         size of 1x1.
3267
3268 2007-10-29  Alp Toker  <alp@atoker.com>
3269
3270         Reviewed by Maciej.
3271
3272         Add GTK+ convenience conversions for various primitives
3273
3274         * WebCore.pro:
3275         * platform/graphics/Color.h:
3276         * platform/graphics/IntPoint.h:
3277         * platform/graphics/IntRect.h:
3278         * platform/graphics/gtk/ColorGtk.cpp: Added.
3279         (WebCore::Color::Color):
3280         * platform/graphics/gtk/IntPointGtk.cpp: Added.
3281         (WebCore::IntPoint::IntPoint):
3282         (WebCore::IntPoint::operator GdkPoint):
3283         * platform/graphics/gtk/IntRectGtk.cpp: Added.
3284         (WebCore::IntRect::IntRect):
3285         (WebCore::IntRect::operator GdkRectangle):
3286
3287 2007-10-29  Jon Honeycutt  <jhoneycutt@apple.com>
3288
3289         Reviewed by Anders.
3290
3291         Speculative fix for <rdar://5538489> Safari 3.0.4 seed hangs at
3292         http://tgmonline.futuregamer.it/ (works fine on Safari 2.0.4 and Safari
3293         Beta for Mac)
3294         
3295         I cannot reproduce this hang, but it is likely due to our not limiting
3296         WM_USER+1 messages or InvalidateRect calls for a plugin with initially-
3297         unknown MIME type. The embed tag on the page is missing a type
3298         attribute, so as fallback, we choose to load the Flash plugin based on
3299         the file extension of "swf." However, we do not record this determined
3300         MIME type, and so our quirks cannot be established.
3301         
3302         Changed findPlugin() so that, if it fails to find a plugin for the
3303         given MIME type, it will lookup the MIME type for the file extension -
3304         overwriting its passed MIME type parameter - and search for a plugin
3305         for that MIME type.
3306
3307         * plugins/win/PluginDatabaseWin.cpp:
3308         (WebCore::PluginDatabaseWin::pluginForMIMEType): Added an early return
3309         if the MIME type is empty
3310         (WebCore::PluginDatabaseWin::MIMETypeForExtension): Added to replace
3311         pluginForExtension. Returns a String with the MIME type for the file
3312         extension. Also, changed to use case-insensitive compares
3313         (WebCore::PluginDatabaseWin::findPlugin): If we fail to find a plugin
3314         for the given extension, overwrite the incoming MIME type parameter
3315         with the MIME type for the file extension, and search for a plugin for
3316         that MIME type. Also, changed the way that the extension is determined
3317         (WebCore::PluginDatabaseWin::createPluginView): Pass a mutable String
3318         to findPlugin() so that it can be updated if necessary
3319         * plugins/win/PluginDatabaseWin.h: Changed findPlugin() to take a non-
3320         const String, removed definition of pluginForExtension, added
3321         definition for MIMETypeForExtension
3322         * plugins/win/PluginPackageWin.cpp: 
3323         (WebCore::PluginPackageWin::fetchInfo): Store the MIME type in
3324         lowercase for easier compares
3325
3326 2007-10-29  Andrew Wellington  <proton@wiretapped.net>
3327
3328         Not reviewed - build fix
3329
3330         Fix Mac Build.
3331         
3332         WebKit/WebCore/xml/XSLTProcessor.cpp:79: warning: 'level' may be used uninitialized
3333         in this function
3334
3335         * xml/XSLTProcessor.cpp:
3336         (WebCore::XSLTProcessor::parseErrorFunc):
3337
3338 2007-10-29  Alp Toker  <alp@atoker.com>
3339
3340         Reviewed by Adam Roben.
3341
3342         http://bugs.webkit.org/show_bug.cgi?id=15725
3343         [GTK] WebCore.pro header dependencies are incorrect
3344
3345         Fix header dependencies in the build system
3346
3347         INCLUDEPATH and DEPENDPATH are now up to date.
3348
3349         * WebCore.pro:
3350
3351 2007-10-29  Beth Dakin  <bdakin@apple.com>
3352
3353         Build fix.
3354
3355         * css/CSSParser.cpp:
3356         (WebCore::CSSParser::parseTimingFunctionValue):
3357         * css/CSSStyleSelector.cpp:
3358         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
3359
3360 2007-10-29  David Hyatt  <hyatt@apple.com>
3361
3362         Land the back end for CSS animated property transitions.  I am landing this in stages, so the AnimationController
3363         class is deliberately left empty.
3364
3365         Reviewed by darin/aroben
3366
3367         * WebCore.pro:
3368         * WebCore.vcproj/WebCore.vcproj:
3369         * WebCore.xcodeproj/project.pbxproj:
3370         * css/CSSComputedStyleDeclaration.cpp:
3371         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3372         * css/CSSPropertyNames.in:
3373         * css/CSSTimingFunctionValue.cpp: Added.
3374         (WebCore::CSSTimingFunctionValue::cssText):
3375         * css/CSSTimingFunctionValue.h: Added.
3376         (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
3377         (WebCore::CSSTimingFunctionValue::firstPoint):
3378         (WebCore::CSSTimingFunctionValue::secondPoint):
3379         * css/CSSValueKeywords.in:
3380         * history/CachedPage.cpp:
3381         (WebCore::CachedPage::restore):
3382         * page/AnimationController.cpp: Added.
3383         (WebCore::AnimationController::AnimationController):
3384         (WebCore::AnimationController::~AnimationController):
3385         (WebCore::AnimationController::cancelTransitions):
3386         (WebCore::AnimationController::updateTransitions):
3387         (WebCore::AnimationController::suspendAnimations):
3388         (WebCore::AnimationController::resumeAnimations):
3389         * page/AnimationController.h: Added.
3390         * page/Frame.cpp:
3391         (WebCore::Frame::animationController):
3392         (WebCore::Frame::clearTimers):
3393         * page/Frame.h:
3394         * page/FramePrivate.h:
3395         * rendering/RenderBox.cpp:
3396         (WebCore::RenderBox::setStyle):
3397         (WebCore::RenderBox::destroy):
3398         * rendering/RenderObject.cpp:
3399         (WebCore::RenderObject::animationController):
3400         * rendering/RenderObject.h:
3401         * rendering/RenderStyle.cpp:
3402         (WebCore::Transition::Transition):
3403         (WebCore::Transition::~Transition):
3404         (WebCore::Transition::operator=):
3405         (WebCore::Transition::operator==):
3406         (WebCore::Transition::fillUnsetProperties):
3407         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3408         (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData):
3409         (WebCore::StyleRareNonInheritedData::operator==):
3410         (WebCore::StyleRareNonInheritedData::transitionDataEquivalent):
3411         (WebCore::RenderStyle::diff):
3412         (WebCore::RenderStyle::adjustTransitions):
3413         (WebCore::RenderStyle::accessTransitions):
3414         * rendering/RenderStyle.h:
3415         (WebCore::BackgroundLayer::next):
3416         (WebCore::):
3417         (WebCore::TimingFunction::TimingFunction):
3418         (WebCore::TimingFunction::operator==):
3419         (WebCore::Transition::next):
3420         (WebCore::Transition::isTransitionDurationSet):
3421         (WebCore::Transition::isTransitionRepeatCountSet):
3422         (WebCore::Transition::isTransitionTimingFunctionSet):
3423         (WebCore::Transition::isTransitionPropertySet):
3424         (WebCore::Transition::isEmpty):
3425         (WebCore::Transition::clearTransitionDuration):
3426         (WebCore::Transition::clearTransitionRepeatCount):
3427         (WebCore::Transition::clearTransitionTimingFunction):
3428         (WebCore::Transition::clearTransitionProperty):
3429         (WebCore::Transition::transitionDuration):
3430         (WebCore::Transition::transitionRepeatCount):
3431         (WebCore::Transition::transitionTimingFunction):
3432         (WebCore::Transition::transitionProperty):
3433         (WebCore::Transition::setTransitionDuration):
3434         (WebCore::Transition::setTransitionRepeatCount):
3435         (WebCore::Transition::setTransitionTimingFunction):
3436         (WebCore::Transition::setTransitionProperty):
3437         (WebCore::Transition::setNext):
3438         (WebCore::Transition::operator!=):
3439         (WebCore::RenderStyle::transitions):
3440         (WebCore::RenderStyle::clearTransitions):
3441         (WebCore::RenderStyle::inheritTransitions):
3442         (WebCore::RenderStyle::initialTransitionDuration):
3443         (WebCore::RenderStyle::initialTransitionRepeatCount):
3444         (WebCore::RenderStyle::initialTransitionTimingFunction):
3445         (WebCore::RenderStyle::initialTransitionProperty):
3446         * rendering/RenderWidget.cpp:
3447         (WebCore::RenderWidget::destroy):
3448
3449 2007-10-29  Alexey Proskuryakov  <ap@webkit.org>
3450
3451         Reviewed by Darin.
3452
3453         http://bugs.webkit.org/show_bug.cgi?id=6040
3454         XSLT does not report errors to the user
3455
3456         Made parseErrorFunc a static member function of XSLTProcessor to be reusable from XSLStylesheet.
3457         Switched to xmlSetStructuredErrorFunc to get an error structure instead of pre-formatted console
3458         output. Got rid of DeprecatedString in XSLTProcessor.
3459
3460         * dom/Document.cpp:
3461         (WebCore::Document::applyXSLTransform):
3462         * xml/XSLStyleSheet.cpp:
3463         (WebCore::XSLStyleSheet::parseString):
3464         * xml/XSLTProcessor.cpp:
3465         (WebCore::XSLTProcessor::parseErrorFunc):
3466         (WebCore::docLoaderFunc):
3467         (WebCore::setXSLTLoadCallBack):
3468         (WebCore::writeToString):
3469         (WebCore::saveResultToString):
3470         (WebCore::transformTextStringToXHTMLDocumentString):
3471         (WebCore::xsltParamArrayFromParameterMap):
3472         (WebCore::freeXsltParamArray):
3473         (WebCore::XSLTProcessor::createDocumentFromSource):
3474         (WebCore::createFragmentFromSource):
3475         (WebCore::xsltStylesheetPointer):
3476         (WebCore::xmlDocPtrFromNode):
3477         (WebCore::resultMIMEType):
3478         (WebCore::XSLTProcessor::transformToString):
3479         (WebCore::XSLTProcessor::transformToDocument):
3480         (WebCore::XSLTProcessor::transformToFragment):
3481         * xml/XSLTProcessor.h:
3482         (WebCore::XSLTProcessor::setXSLStylesheet):
3483         (WebCore::XSLTProcessor::importStylesheet):
3484         (WebCore::XSLTProcessor::xslStylesheet):
3485
3486 2007-10-29  Dan Bernstein  <mitz@apple.com>
3487
3488         Reviewed by John Sullivan.
3489
3490         - fix <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page
3491
3492         Test: fast/repaint/layout-state-only-positioned.html
3493
3494         * rendering/RenderBlock.cpp:
3495         (WebCore::RenderBlock::layoutOnlyPositionedObjects): Pop layout state
3496         before updating scroll info, which possibly repaints us.
3497
3498 2007-10-29  David Kilzer  <ddkilzer@webkit.org>
3499
3500         REGRESSION (r17701): Favicons should be viewable as image documents
3501         <http://bugs.webkit.org/show_bug.cgi?id=15640>
3502
3503         Reviewed by Darin.
3504
3505         On Tiger and Leopard, the image/x-icon MIME type is not returned from
3506         CGImageSourceCopyTypeIdentifiers(), so opening a URL to a favicon caused
3507         the icon to be downloaded instead being displayed in an image document.
3508
3509         Test: fast/images/favicon-as-image.html
3510
3511         * platform/MIMETypeRegistry.cpp:
3512         (WebCore::initialiseSupportedImageMIMETypes): Manually add image/x-icon to
3513         supportedImageMIMETypes and supportedImageResourceMIMETypes.  Also fixed
3514         comment about the image/bmp MIME type since it applies to both Tiger and
3515         Leopard.
3516
3517 2007-10-29  Maciej Stachowiak  <mjs@apple.com>
3518
3519         Reviewed by Mark.
3520
3521         - fixed assertion failures detected by the new assertions
3522
3523         * bindings/objc/DOMRGBColor.mm:
3524         (-[DOMRGBColor dealloc]): Clear _internal before calling [super dealloc]
3525         because it's not a pointer and shouldn't be in the normal wrapper cache.
3526         * dom/Document.cpp:
3527         (WebCore::Document::addImageMap): Don't access hashmap if name is null.
3528         (WebCore::Document::removeImageMap): ditto
3529         * dom/StyledElement.cpp:
3530         (WebCore::StyledElement::parseMappedAttribute): Don't claim we have a class
3531         when the class attribute is empty.
3532         * platform/TextCodecICU.cpp:
3533         (WebCore::gbkCallbackEscape): Don't look up 0 code points.
3534
3535 2007-10-28  Alexey Proskuryakov  <ap@webkit.org>
3536
3537         Reviewed by Darin.
3538
3539         http://bugs.webkit.org/show_bug.cgi?id=10734
3540         Made HTMLOptionElement.index read-only, matching IE and DOM standard.
3541
3542         Test: fast/dom/HTMLOptionElement/set-option-index-text.html
3543
3544         * html/HTMLOptionElement.idl: Marked index as readonly.
3545
3546         * html/HTMLOptionElement.cpp:
3547         * html/HTMLOptionElement.h:
3548         Removed setIndex().
3549
3550 2007-10-28  Eric Seidel  <eric@webkit.org>
3551
3552         Reviewed by darin.
3553
3554         Fix leaks on TOT and prevent Path code from logging to console so frequently
3555
3556         * platform/graphics/svg/SVGResourceFilter.h:
3557         (WebCore::SVGResourceFilterPlatformData::SVGResourceFilterPlatformData):
3558         (WebCore::SVGResourceFilterPlatformData::~SVGResourceFilterPlatformData):
3559         * platform/graphics/svg/cg/CgSupport.cpp:
3560         (WebCore::strokeBoundingBox):
3561         * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
3562         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
3563
3564 2007-10-28  Mark Rowe  <mrowe@apple.com>
3565
3566         Reviewed by Maciej.
3567
3568         Replace uses of isNaN and isInf with isnan and isinf.
3569
3570         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
3571         (WebCore::JSHTMLOptionsCollection::setLength):
3572
3573 2007-10-28  Maciej Stachowiak  <mjs@apple.com>
3574
3575         Reviewed by Mark.
3576
3577         - fixed REGRESSION(r27176): Reproducible crash while trying to order dinner makes bdash sad
3578         http://bugs.webkit.org/show_bug.cgi?id=15731
3579
3580         * bindings/js/kjs_window.cpp:
3581         (KJS::Window::installTimeout): Avoid putting in or accessing empty or deleted keys.
3582         (KJS::Window::clearTimeout): ditto
3583         * manual-tests/bad-clearTimeout-crash.html: Added. Automated test not possible.
3584
3585 2007-10-28  Kevin Ollivier  <kevino@theolliviers.com>
3586
3587         wx port defines for graphics and network layers.
3588
3589         Reviewed by Darin Adler.
3590
3591         * platform/graphics/AffineTransform.h:
3592         * platform/graphics/BitmapImage.h:
3593         * platform/graphics/Color.h:
3594         * platform/graphics/FloatRect.h:
3595         * platform/graphics/GraphicsContext.h:
3596         * platform/graphics/ImageSource.h:
3597         * platform/graphics/IntPoint.h:
3598         * platform/graphics/IntRect.h:
3599         * platform/graphics/Path.h:
3600         * platform/graphics/Pen.h:
3601         * platform/network/ResourceHandle.h:
3602
3603
3604 2007-10-28  Alp Toker  <alp@atoker.com>
3605
3606         Reviewed by Anders Carlsson.
3607
3608         http://bugs.webkit.org/show_bug.cgi?id=14124
3609         [CURL] Support data URLs
3610
3611         Add data URL support (both Base64 and percent-encoded formats).
3612
3613         Inspired by code from the Qt port.