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