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