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