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