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