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