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