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