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