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