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