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