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