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