2009-02-11 Julien Chaffraix <jchaffraix@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-02-11  Julien Chaffraix  <jchaffraix@webkit.org>
2
3         Reviewed by Eric Seidel.
4
5         Bug 23536: Auto-generate HTMLElementFactory
6
7         Make the platform auto-generate the HTMLElementFactory.
8
9         * DerivedSources.make:
10         * GNUmakefile.am:
11         * WebCore.pro:
12         * WebCore.scons:
13         * WebCore.vcproj/WebCore.vcproj:
14         * WebCore.xcodeproj/project.pbxproj:
15         * WebCoreSources.bkl:
16         * webcore-base.bkl:
17
18 2009-02-11  Sam Weinig  <sam@webkit.org>
19
20         Reviewed by David Hyatt.
21
22         Remove unneeded ASSERTS.
23
24         * rendering/RenderBox.h:
25         (WebCore::RenderBox::width):
26         (WebCore::RenderBox::height):
27         (WebCore::RenderBox::size):
28         (WebCore::RenderBox::frameRect):
29
30 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
31
32         Reviewed by Dave Hyatt
33
34         https://bugs.webkit.org/show_bug.cgi?id=23548
35
36         When opacity or transform change on an object which has a compositing layer,
37         avoid repainting the layer.
38         
39         Added a new StyleDifference value, StyleDifferenceRecompositeLayer, which indicates
40         that the only thing styleChanged() has to do is to update composited properties of
41         the layer. RenderStyle::diff() now has an out param for a bitmask of "context sensitive"
42         properties, currently for opacity and transform. When one of these changes, we need
43         to see if we have a compositing layer before we decide whether to layout/repaint,
44         or just update the composited layer, via adjustStyleDifference().
45         
46         * rendering/RenderObject.cpp:
47         (WebCore::RenderObject::adjustStyleDifference):
48         (WebCore::RenderObject::setStyle):
49         (WebCore::RenderObject::styleDidChange):
50         * rendering/RenderObject.h:
51         * rendering/style/RenderStyle.cpp:
52         (WebCore::RenderStyle::diff):
53         * rendering/style/RenderStyle.h:
54         * rendering/style/RenderStyleConstants.h:
55         (WebCore::):
56
57 2009-02-11  Alexey Proskuryakov  <ap@webkit.org>
58
59         Reviewed by Darin Adler.
60
61         <rdar://problem/6562920> Pasted text should be normalized to NFC
62
63         Testing requires putting non-HTML content in pasteboard, so it cannot be done with WebKit alone.
64
65         * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::plainText): Route the text through
66         -[NSString precomposedStringWithCanonicalMapping].
67
68 2009-02-10  Chris Marrin  <cmarrin@apple.com>
69
70         Reviewed by Simon Fraser.
71
72         https://bugs.webkit.org/show_bug.cgi?id=23883
73
74         Added new TransformOperation subclasses and methods to existing ones
75         to support 3D.
76
77         * WebCore.xcodeproj/project.pbxproj:
78         * platform/graphics/transforms/IdentityTransformOperation.h:
79         (WebCore::IdentityTransformOperation::isAffine):
80         * platform/graphics/transforms/Matrix3DTransformOperation.cpp: Added.
81         (WebCore::Matrix3DTransformOperation::blend):
82         * platform/graphics/transforms/Matrix3DTransformOperation.h: Added.
83         (WebCore::Matrix3DTransformOperation::create):
84         (WebCore::Matrix3DTransformOperation::isIdentity):
85         (WebCore::Matrix3DTransformOperation::isAffine):
86         (WebCore::Matrix3DTransformOperation::getOperationType):
87         (WebCore::Matrix3DTransformOperation::isSameType):
88         (WebCore::Matrix3DTransformOperation::operator==):
89         (WebCore::Matrix3DTransformOperation::apply):
90         (WebCore::Matrix3DTransformOperation::Matrix3DTransformOperation):
91         * platform/graphics/transforms/MatrixTransformOperation.h:
92         (WebCore::MatrixTransformOperation::isAffine):
93         (WebCore::MatrixTransformOperation::apply):
94         * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Added.
95         (WebCore::PerspectiveTransformOperation::blend):
96         * platform/graphics/transforms/PerspectiveTransformOperation.h: Added.
97         (WebCore::PerspectiveTransformOperation::create):
98         (WebCore::PerspectiveTransformOperation::isIdentity):
99         (WebCore::PerspectiveTransformOperation::isAffine):
100         (WebCore::PerspectiveTransformOperation::getOperationType):
101         (WebCore::PerspectiveTransformOperation::isSameType):
102         (WebCore::PerspectiveTransformOperation::operator==):
103         (WebCore::PerspectiveTransformOperation::apply):
104         (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation):
105         * platform/graphics/transforms/RotateTransformOperation.cpp:
106         (WebCore::RotateTransformOperation::blend):
107         * platform/graphics/transforms/RotateTransformOperation.h:
108         (WebCore::RotateTransformOperation::create):
109         (WebCore::RotateTransformOperation::angle):
110         (WebCore::RotateTransformOperation::isAffine):
111         (WebCore::RotateTransformOperation::operator==):
112         (WebCore::RotateTransformOperation::apply):
113         (WebCore::RotateTransformOperation::RotateTransformOperation):
114         * platform/graphics/transforms/ScaleTransformOperation.cpp:
115         (WebCore::ScaleTransformOperation::blend):
116         * platform/graphics/transforms/ScaleTransformOperation.h:
117         (WebCore::ScaleTransformOperation::create):
118         (WebCore::ScaleTransformOperation::z):
119         (WebCore::ScaleTransformOperation::isIdentity):
120         (WebCore::ScaleTransformOperation::isAffine):
121         (WebCore::ScaleTransformOperation::operator==):
122         (WebCore::ScaleTransformOperation::apply):
123         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
124         * platform/graphics/transforms/SkewTransformOperation.h:
125         (WebCore::SkewTransformOperation::isAffine):
126         * platform/graphics/transforms/TransformOperation.h:
127         (WebCore::TransformOperation::):
128         (WebCore::TransformOperation::is3DOperation):
129         * platform/graphics/transforms/TransformOperations.h:
130         (WebCore::TransformOperations::isAffine):
131         (WebCore::TransformOperations::has3DOperation):
132         * platform/graphics/transforms/TranslateTransformOperation.cpp:
133         (WebCore::TranslateTransformOperation::blend):
134         * platform/graphics/transforms/TranslateTransformOperation.h:
135         (WebCore::TranslateTransformOperation::create):
136         (WebCore::TranslateTransformOperation::z):
137         (WebCore::TranslateTransformOperation::isIdentity):
138         (WebCore::TranslateTransformOperation::isAffine):
139         (WebCore::TranslateTransformOperation::operator==):
140         (WebCore::TranslateTransformOperation::apply):
141         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
142
143 2009-02-11  David Hyatt  <hyatt@apple.com>
144
145         Move createAnonymousBlock() to RenderBlock.  Since anonymous blocks are always parented to some other block,
146         we can move this function to RenderBlock.  Fix a couple of call sites as a result of this restriction.
147
148         Reviewed by Simon Fraser
149
150         * rendering/RenderBlock.cpp:
151         (WebCore::RenderBlock::createAnonymousBlock):
152         * rendering/RenderBlock.h:
153         * rendering/RenderInline.cpp:
154         (WebCore::RenderInline::childBecameNonInline):
155         * rendering/RenderObject.cpp:
156         (WebCore::RenderObject::handleDynamicFloatPositionChange):
157         * rendering/RenderObject.h:
158
159 2009-02-11  David Hyatt  <hyatt@apple.com>
160
161         https://bugs.webkit.org/show_bug.cgi?id=23895
162
163         Remove two complete nonsense lines that I accidentally added from a cut and paste error.  This
164         restores the original logic.
165
166         Reviewed by Simon Fraser
167
168         * rendering/RenderBox.cpp:
169         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
170
171 2009-02-11  David Hyatt  <hyatt@apple.com>
172
173         Rename getBaselineOfFirstLineBox to firstLineBoxBaseline.  Rename getBaselineOfLastLineBox to
174         lastLineBoxBaseline.  Remove the functions from RenderObject and add them to RenderBox instead.
175
176         Reviewed by Eric Seidel
177
178         * rendering/RenderBlock.cpp:
179         (WebCore::RenderBlock::baselinePosition):
180         (WebCore::RenderBlock::firstLineBoxBaseline):
181         (WebCore::RenderBlock::lastLineBoxBaseline):
182         * rendering/RenderBlock.h:
183         * rendering/RenderBox.h:
184         (WebCore::RenderBox::firstLineBoxBaseline):
185         (WebCore::RenderBox::lastLineBoxBaseline):
186         * rendering/RenderFlexibleBox.cpp:
187         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
188         * rendering/RenderObject.h:
189         * rendering/RenderTable.cpp:
190         (WebCore::RenderTable::firstLineBoxBaseline):
191         * rendering/RenderTable.h:
192         * rendering/RenderTableCell.cpp:
193         (WebCore::RenderTableCell::baselinePosition):
194         * rendering/RenderTableSection.cpp:
195         (WebCore::RenderTableSection::firstLineBoxBaseline):
196         * rendering/RenderTableSection.h:
197
198 2009-02-11  Eric Carlson  <eric.carlson@apple.com>
199
200         Reviewed by Simon Fraser
201
202         https://bugs.webkit.org/show_bug.cgi?id=23877
203         Allow port to disable progress events from <video> and <audio> elements
204
205         * html/HTMLMediaElement.cpp: Initialize m_sendProgressEvents.
206         (WebCore::HTMLMediaElement::HTMLMediaElement): Don't post progress events if m_sendProgressEvents is false.
207         (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): Ditto.
208         (WebCore::HTMLMediaElement::load): Ditto.
209         * html/HTMLMediaElement.h: Add m_sendProgressEvents
210
211 2009-02-11  Adam Roben  <aroben@apple.com>
212
213         Windows build fix
214
215         * DerivedSources.cpp: Removed SVGElementFactory.cpp, since including
216         it leads to ambiguities for symbols like "aTag", which exist in both
217         the HTMLNames and SVGNames namespaces.
218
219         * WebCore.vcproj/WebCore.vcproj: Added SVGElementFactory.cpp to the
220         project directly. VS also decided to reformat this file a little bit.
221
222 2009-02-10  Julien Chaffraix  <jchaffraix@webkit.org>
223
224         Reviewed by Eric Seidel.
225
226         Bug 23536: Auto-generate HTMLElementFactory
227
228         Those are the last auto-generation bits needed to have a working generated HTMLElementFactory:
229
230         - Added a new option mapToTagName that enables a tag to use another's options and tagName (<image>
231           uses imgTag for example) and wired the code generation to be consistent with the current factory.
232
233         - Disabled dashboard compatibility check for HTMLElementFactory as it would make at least one test case fail.
234
235         - Pass the QualifiedName down to the Element constructor for shared constructors to make the generated code as
236           close as possible to the current one. We will pass the QualifiedName for all Element in a forthcoming patch.
237
238         * dom/make_names.pl: Did all the above points and tweaked the code generation to match the current HTMLElementFactory
239           as closely as possible.
240
241         * html/HTMLElementFactory.cpp:
242         (WebCore::quoteConstructor):
243         * html/HTMLQuoteElement.cpp:
244         (WebCore::HTMLQuoteElement::HTMLQuoteElement): Moved setUsesBeforeAfterRules to HTMLQuoteElement' constructor because some
245         part of the code creates elements without using the HTMLElementFactory. Also added a FIXME as it is not the right place.
246
247         * html/HTMLTagNames.in: Corrected <image> parameters.
248
249 2009-02-10  David Hyatt  <hyatt@apple.com>
250
251         Fix for pixel test regression in fast/text.  Make sure not to add in
252         the borderTop and paddingTop of the block to the baseline when painting
253         strict mode text decorations.
254         
255         Reviewed by Mark Rowe
256     
257         * rendering/InlineFlowBox.cpp:
258         (WebCore::InlineFlowBox::paintTextDecorations):
259         * rendering/InlineFlowBox.h:
260
261 2009-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
262
263         Windows build fix after r40837.
264
265         Not reviewed.
266
267         * DerivedSources.cpp:
268
269 2009-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
270
271         <rdar://6349412> REGRESSION(r37204): Page is not repainted during and
272         after pan scrolling
273
274         Reviewed by Steve Falkenburg.
275
276         * platform/ScrollView.cpp:
277         (WebCore::ScrollView::scrollContents): Don't repaint the pan scroll
278         icon rect immediately; we will paint after the view has been scrolled.
279
280 2009-02-10  Oliver Hunt  <oliver@apple.com>
281
282         Reviewed by Adele Peterson.
283
284         <rdar://problem/6156755> onMouseOver events do not fire properly for cross frame drag and drop
285
286         This problem was caused by incorrectly ignoring whether or not the
287         default behaviour of the mousedown event was suppressed.  If a
288         mousedown handler in a frame prevents default handling then the
289         subsequent mousemove events fired for the drag should not be
290         captured by that frame, should the mouse move out of its bounds.
291
292         Test: fast/events/mouse-drag-from-frame.html
293
294         * page/EventHandler.cpp:
295         (WebCore::EventHandler::EventHandler):
296         (WebCore::EventHandler::clear):
297         (WebCore::EventHandler::handleMouseReleaseEvent):
298             Reset new m_capturesDragging flag
299
300         (WebCore::EventHandler::handleMousePressEvent):
301             Respect the m_capturesDragging flag when we propagate
302             a mousedown event to a subframe.
303
304         * page/EventHandler.h:
305         (WebCore::EventHandler::capturesDragging):
306
307 2009-02-10  Kevin Ollivier  <kevino@theolliviers.com>
308
309         wx build fixes for recent changes to TransformationMatrix and DOMElement.
310
311         * WebCoreSources.bkl:
312         * dom/Element.cpp:
313         * platform/graphics/transforms/TransformationMatrix.h:
314         * platform/graphics/wx/TransformationMatrixWx.cpp:
315         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
316
317 2009-02-10  David Hyatt  <hyatt@apple.com>
318
319         Some renames on line boxes.  xPos()/yPos() -> x()/y().  setXPos()/setYPos() -> setX()/setY().  m_object/object() -> m_renderer/renderer().  textObject() -> textRenderer().
320         
321         Reviewed by Sam Weinig
322
323         * dom/Position.cpp:
324         (WebCore::Position::upstream):
325         (WebCore::Position::downstream):
326         * editing/VisiblePosition.cpp:
327         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
328         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
329         (WebCore::VisiblePosition::localCaretRect):
330         * editing/visible_units.cpp:
331         (WebCore::startPositionForLine):
332         (WebCore::endPositionForLine):
333         (WebCore::previousLinePosition):
334         (WebCore::nextLinePosition):
335         * rendering/EllipsisBox.cpp:
336         (WebCore::EllipsisBox::paint):
337         (WebCore::EllipsisBox::nodeAtPoint):
338         * rendering/InlineBox.cpp:
339         (WebCore::InlineBox::showTreeForThis):
340         (WebCore::InlineBox::height):
341         (WebCore::InlineBox::caretMinOffset):
342         (WebCore::InlineBox::caretMaxOffset):
343         (WebCore::InlineBox::deleteLine):
344         (WebCore::InlineBox::extractLine):
345         (WebCore::InlineBox::attachLine):
346         (WebCore::InlineBox::adjustPosition):
347         (WebCore::InlineBox::paint):
348         (WebCore::InlineBox::nodeAtPoint):
349         (WebCore::InlineBox::selectionState):
350         (WebCore::InlineBox::canAccommodateEllipsis):
351         * rendering/InlineBox.h:
352         (WebCore::InlineBox::InlineBox):
353         (WebCore::InlineBox::renderer):
354         (WebCore::InlineBox::setX):
355         (WebCore::InlineBox::x):
356         (WebCore::InlineBox::setY):
357         (WebCore::InlineBox::y):
358         (WebCore::InlineBox::topOverflow):
359         (WebCore::InlineBox::bottomOverflow):
360         (WebCore::InlineBox::leftOverflow):
361         (WebCore::InlineBox::rightOverflow):
362         (WebCore::InlineBox::visibleToHitTesting):
363         (WebCore::InlineBox::boxModelObject):
364         * rendering/InlineFlowBox.cpp:
365         (WebCore::InlineFlowBox::height):
366         (WebCore::InlineFlowBox::addToLine):
367         (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
368         (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
369         (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
370         (WebCore::InlineFlowBox::rendererLineBoxes):
371         (WebCore::InlineFlowBox::onEndChain):
372         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
373         (WebCore::InlineFlowBox::placeBoxesHorizontally):
374         (WebCore::InlineFlowBox::verticallyAlignBoxes):
375         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
376         (WebCore::verticalPositionForBox):
377         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
378         (WebCore::InlineFlowBox::placeBoxesVertically):
379         (WebCore::InlineFlowBox::nodeAtPoint):
380         (WebCore::InlineFlowBox::paint):
381         (WebCore::InlineFlowBox::paintFillLayer):
382         (WebCore::InlineFlowBox::paintBoxShadow):
383         (WebCore::InlineFlowBox::paintBoxDecorations):
384         (WebCore::InlineFlowBox::paintMask):
385         (WebCore::InlineFlowBox::paintTextDecorations):
386         * rendering/InlineFlowBox.h:
387         (WebCore::InlineFlowBox::borderLeft):
388         (WebCore::InlineFlowBox::borderRight):
389         (WebCore::InlineFlowBox::borderTop):
390         (WebCore::InlineFlowBox::borderBottom):
391         (WebCore::InlineFlowBox::baseline):
392         * rendering/InlineTextBox.cpp:
393         (WebCore::InlineTextBox::height):
394         (WebCore::InlineTextBox::selectionState):
395         (WebCore::InlineTextBox::selectionRect):
396         (WebCore::InlineTextBox::deleteLine):
397         (WebCore::InlineTextBox::extractLine):
398         (WebCore::InlineTextBox::attachLine):
399         (WebCore::InlineTextBox::placeEllipsisBox):
400         (WebCore::InlineTextBox::isLineBreak):
401         (WebCore::InlineTextBox::nodeAtPoint):
402         (WebCore::InlineTextBox::paint):
403         (WebCore::InlineTextBox::selectionStartEnd):
404         (WebCore::InlineTextBox::paintSelection):
405         (WebCore::InlineTextBox::paintCompositionBackground):
406         (WebCore::InlineTextBox::paintCustomHighlight):
407         (WebCore::InlineTextBox::paintDecoration):
408         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
409         (WebCore::InlineTextBox::paintTextMatchMarker):
410         (WebCore::InlineTextBox::paintDocumentMarkers):
411         (WebCore::InlineTextBox::paintCompositionUnderline):
412         (WebCore::InlineTextBox::textPos):
413         (WebCore::InlineTextBox::offsetForPosition):
414         (WebCore::InlineTextBox::positionForOffset):
415         * rendering/InlineTextBox.h:
416         (WebCore::InlineTextBox::textRenderer):
417         * rendering/ListMarkerBox.cpp:
418         (WebCore::ListMarkerBox::isText):
419         * rendering/RenderBlock.cpp:
420         (WebCore::RenderBlock::paintEllipsisBoxes):
421         (WebCore::RenderBlock::lowestPosition):
422         (WebCore::RenderBlock::rightmostPosition):
423         (WebCore::RenderBlock::leftmostPosition):
424         (WebCore::RenderBlock::positionForBox):
425         (WebCore::RenderBlock::positionForCoordinates):
426         (WebCore::RenderBlock::getBaselineOfFirstLineBox):
427         (WebCore::RenderBlock::getBaselineOfLastLineBox):
428         (WebCore::RenderBlock::adjustForBorderFit):
429         (WebCore::RenderBlock::addFocusRingRects):
430         * rendering/RenderBox.cpp:
431         (WebCore::RenderBox::paintCustomHighlight):
432         (WebCore::RenderBox::position):
433         (WebCore::RenderBox::containingBlockWidthForPositioned):
434         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
435         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
436         * rendering/RenderBoxModelObject.cpp:
437         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
438         * rendering/RenderFlexibleBox.cpp:
439         (WebCore::RenderFlexibleBox::layoutVerticalBox):
440         * rendering/RenderInline.cpp:
441         (WebCore::RenderInline::absoluteRects):
442         (WebCore::RenderInline::absoluteQuads):
443         (WebCore::RenderInline::offsetLeft):
444         (WebCore::RenderInline::offsetTop):
445         (WebCore::RenderInline::linesBoundingBox):
446         (WebCore::RenderInline::relativePositionedInlineOffset):
447         (WebCore::RenderInline::addFocusRingRects):
448         (WebCore::RenderInline::paintOutline):
449         * rendering/RenderLayer.cpp:
450         (WebCore::RenderLayer::localBoundingBox):
451         * rendering/RenderSVGTSpan.cpp:
452         (WebCore::RenderSVGTSpan::absoluteRects):
453         (WebCore::RenderSVGTSpan::absoluteQuads):
454         * rendering/RenderSVGText.cpp:
455         (WebCore::RenderSVGText::absoluteRects):
456         (WebCore::RenderSVGText::absoluteQuads):
457         (WebCore::RenderSVGText::relativeBBox):
458         * rendering/RenderSVGTextPath.cpp:
459         (WebCore::RenderSVGTextPath::absoluteRects):
460         (WebCore::RenderSVGTextPath::absoluteQuads):
461         * rendering/RenderText.cpp:
462         (WebCore::RenderText::absoluteRects):
463         (WebCore::RenderText::absoluteRectsForRange):
464         (WebCore::RenderText::absoluteQuads):
465         (WebCore::RenderText::absoluteQuadsForRange):
466         (WebCore::RenderText::localCaretRect):
467         (WebCore::RenderText::linesBoundingBox):
468         * rendering/RootInlineBox.cpp:
469         (WebCore::RootInlineBox::height):
470         (WebCore::RootInlineBox::clearTruncation):
471         (WebCore::RootInlineBox::placeEllipsis):
472         (WebCore::RootInlineBox::paintEllipsisBox):
473         (WebCore::RootInlineBox::addHighlightOverflow):
474         (WebCore::RootInlineBox::paintCustomHighlight):
475         (WebCore::RootInlineBox::paint):
476         (WebCore::RootInlineBox::nodeAtPoint):
477         (WebCore::RootInlineBox::childRemoved):
478         (WebCore::RootInlineBox::fillLineSelectionGap):
479         (WebCore::RootInlineBox::block):
480         (WebCore::isEditableLeaf):
481         (WebCore::RootInlineBox::closestLeafChildForXPos):
482         (WebCore::RootInlineBox::setVerticalOverflowPositions):
483         * rendering/RootInlineBox.h:
484         (WebCore::RootInlineBox::bottomOverflow):
485         (WebCore::RootInlineBox::floats):
486         (WebCore::RootInlineBox::setHorizontalOverflowPositions):
487         (WebCore::RootInlineBox::setVerticalSelectionPositions):
488         * rendering/SVGCharacterLayoutInfo.cpp:
489         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
490         * rendering/SVGInlineTextBox.cpp:
491         (WebCore::SVGInlineTextBox::calculateGlyphWidth):
492         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
493         (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
494         (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
495         (WebCore::SVGInlineTextBox::nodeAtPoint):
496         (WebCore::SVGInlineTextBox::paintCharacters):
497         (WebCore::SVGInlineTextBox::paintSelection):
498         (WebCore::SVGInlineTextBox::paintDecoration):
499         * rendering/SVGRenderTreeAsText.cpp:
500         (WebCore::writeSVGInlineTextBox):
501         * rendering/SVGRootInlineBox.cpp:
502         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
503         (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
504         (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
505         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback):
506         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback):
507         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
508         (WebCore::SVGRootInlineBox::paint):
509         (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
510         (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
511         (WebCore::svgTextRunForInlineTextBox):
512         (WebCore::cummulatedWidthOrHeightOfTextChunk):
513         (WebCore::applyTextAnchorToTextChunk):
514         (WebCore::SVGRootInlineBox::buildLayoutInformation):
515         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
516         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
517         (WebCore::SVGRootInlineBox::buildTextChunks):
518         * rendering/bidi.cpp:
519         (WebCore::RenderBlock::constructLine):
520         (WebCore::RenderBlock::computeVerticalPositionsForLine):
521         (WebCore::RenderBlock::layoutInlineChildren):
522         (WebCore::RenderBlock::checkLinesForTextOverflow):
523         * svg/SVGTextContentElement.cpp:
524         (WebCore::cumulativeCharacterRangeLength):
525         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
526         (WebCore::findInlineTextBoxInTextChunks):
527
528 2009-02-10  Simon Fraser  <simon.fraser@apple.com>
529
530         Reviewed by Dave Hyatt
531
532         Clean up "fallbackAnimating" logic in AnimationBase. This flag indicates
533         that animation of an accelerated property must run in software for some reason.
534         
535         Also remove use of private headers in GraphicsLayerCA related to a case
536         where we may have to fall back on software animation of transform.
537
538         * page/animation/AnimationBase.cpp:
539         (WebCore::AnimationBase::blendProperties):
540         * page/animation/AnimationBase.h:
541         * page/animation/ImplicitAnimation.cpp:
542         (WebCore::ImplicitAnimation::animate):
543         * page/animation/KeyframeAnimation.cpp:
544         (WebCore::KeyframeAnimation::animate):
545         * platform/graphics/mac/GraphicsLayerCA.h:
546         * platform/graphics/mac/GraphicsLayerCA.mm:
547         (WebCore::getValueFunctionNameForTransformOperation):
548         (WebCore::caValueFunctionSupported):
549         (WebCore::GraphicsLayerCA::setBackgroundColor):
550         (WebCore::GraphicsLayerCA::setOpacity):
551         (WebCore::GraphicsLayerCA::animateTransform):
552         (WebCore::GraphicsLayerCA::animateFloat):
553         (WebCore::GraphicsLayerCA::setBasicAnimation):
554         (WebCore::GraphicsLayerCA::setKeyframeAnimation):
555
556 2009-02-10  Simon Fraser  <simon.fraser@apple.com>
557
558         Reviewed by Dave Hyatt
559
560         Move enclosingCompositingLayer() from RenderObject to RenderLayer, since it
561         relates to the RenderLayer z-order/overflow structure, rather than the render tree
562         parent chain. Add a convenience method, ancestorCompositingLayer(), which finds
563         the enclosing layer excluding self.
564         
565         Fix enclosingCompositingLayer() to correctly look at stacking context and overflow
566         lists.
567         
568         Check for documentBeingDestroyed() in a few places to avoid work on document
569         teardown.
570         
571         * rendering/RenderLayer.cpp:
572         (WebCore::RenderLayer::enclosingCompositingLayer):
573         (WebCore::RenderLayer::setParent):
574         (WebCore::RenderLayer::dirtyZOrderLists):
575         (WebCore::RenderLayer::dirtyOverflowList):
576         * rendering/RenderLayer.h:
577         (WebCore::RenderLayer::ancestorCompositingLayer):
578         * rendering/RenderLayerBacking.cpp:
579         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
580         * rendering/RenderLayerCompositor.cpp:
581         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
582         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
583         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
584         (WebCore::RenderLayerCompositor::clippedByAncestor):
585         * rendering/RenderLayerCompositor.h:
586         * rendering/RenderObject.cpp:
587         (WebCore::RenderObject::containerForRepaint):
588         * rendering/RenderObject.h:
589
590 2009-02-10  David Hyatt  <hyatt@apple.com>
591
592         Rename xPos() and yPos() on RenderLayer to x() and y() to match RenderBox.  Rename setPos to setLocation.
593
594         Reviewed by Simon Fraser
595
596         * dom/MouseRelatedEvent.cpp:
597         (WebCore::MouseRelatedEvent::receivedTarget):
598         * rendering/RenderLayer.cpp:
599         (WebCore::RenderLayer::updateLayerPosition):
600         (WebCore::RenderLayer::convertToLayerCoords):
601         * rendering/RenderLayer.h:
602         (WebCore::RenderLayer::x):
603         (WebCore::RenderLayer::y):
604         (WebCore::RenderLayer::setLocation):
605         * rendering/RenderTreeAsText.cpp:
606         (WebCore::write):
607         (WebCore::externalRepresentation):
608
609 2009-02-10  Darin Fisher  <darin@chromium.org>
610
611         Reviewed by Eric Seidel.
612
613         https://bugs.webkit.org/show_bug.cgi?id=23879
614         Add missing PLATFORM(SKIA) changes to TransformationMatrix.h
615
616         * platform/graphics/transforms/TransformationMatrix.h:
617
618 2009-02-10  Sam Weinig  <sam@webkit.org>
619
620         Reviewed by David Hyatt.
621
622         Fix for https://bugs.webkit.org/show_bug.cgi?id=15897
623         Please implement getBoundingClientRect and getClientRects
624         <rdar://problem/6139669>
625
626         Cursory implementation of Element.getBoundingClientRect and
627         Element.getClientRects. Adds necessary infrastructure classes
628         ClientRect and ClientRectList.
629
630         Tests: fast/dom/getBoundingClientRect.html
631                fast/dom/getClientRects.html
632
633         * DerivedSources.make:
634         * GNUmakefile.am:
635         * WebCore.pro:
636         * WebCore.vcproj/WebCore.vcproj:
637         * WebCore.xcodeproj/project.pbxproj:
638         * WebCoreSources.bkl:
639         * dom/ClientRect.cpp: Added.
640         (WebCore::ClientRect::ClientRect):
641         * dom/ClientRect.h: Added.
642         (WebCore::ClientRect::create):
643         (WebCore::ClientRect::top):
644         (WebCore::ClientRect::right):
645         (WebCore::ClientRect::bottom):
646         (WebCore::ClientRect::left):
647         (WebCore::ClientRect::width):
648         (WebCore::ClientRect::height):
649         * dom/ClientRect.idl: Added.
650         * dom/ClientRectList.cpp: Added.
651         (WebCore::ClientRectList::ClientRectList):
652         (WebCore::ClientRectList::~ClientRectList):
653         (WebCore::ClientRectList::length):
654         (WebCore::ClientRectList::item):
655         * dom/ClientRectList.h: Added.
656         (WebCore::ClientRectList::create):
657         * dom/ClientRectList.idl: Added.
658         * dom/Element.cpp:
659         (WebCore::Element::getClientRects):
660         (WebCore::Element::getBoundingClientRect):
661         * dom/Element.h:
662         * dom/Element.idl:
663         * page/DOMWindow.idl:
664         * rendering/RenderInline.cpp:
665         (WebCore::RenderInline::absoluteRects):
666         (WebCore::RenderInline::absoluteQuads):
667
668 2009-02-10  David Hyatt  <hyatt@apple.com>
669
670         Get rid of capsLockStateMayHaveChanged on RenderObject.  It is only implemented by one class (text fields),
671         so devirtualize and just query at the single call site.
672
673         Reviewed by Eric Seidel
674
675         * page/EventHandler.cpp:
676         (WebCore::EventHandler::capsLockStateMayHaveChanged):
677         * rendering/RenderObject.h:
678         * rendering/RenderTextControlSingleLine.h:
679
680 2009-02-10  David Hyatt  <hyatt@apple.com>
681
682         Shrink the size of all RenderObjects (except for RenderInlines) by 4 bytes.  This patch moves the cached vertical position member to RenderInlines,
683         since they were the only objects being queried across multiple lines.
684         
685         Reviewed by Sam Weinig
686
687         * rendering/InlineFlowBox.cpp:
688         (WebCore::verticalPositionForBox):
689         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
690         * rendering/RenderBoxModelObject.cpp:
691         (WebCore::RenderBoxModelObject::verticalPosition):
692         * rendering/RenderBoxModelObject.h:
693         * rendering/RenderInline.cpp:
694         (WebCore::RenderInline::RenderInline):
695         (WebCore::RenderInline::verticalPositionFromCache):
696         * rendering/RenderInline.h:
697         (WebCore::RenderInline::invalidateVerticalPosition):
698         * rendering/RenderObject.cpp:
699         (WebCore::RenderObject::RenderObject):
700         * rendering/RenderObject.h:
701         * rendering/RenderText.cpp:
702         * rendering/RenderText.h:
703         * rendering/bidi.cpp:
704         (WebCore::RenderBlock::layoutInlineChildren):
705
706 2009-02-10  Dimitri Glazkov  <dglazkov@chromium.org>
707
708         Reviewed by Mark Rowe.
709
710         https://bugs.webkit.org/show_bug.cgi?id=23868
711         Fix code style issues: removed 80-col wrapping, incorrect include style, if statement body on same line.
712
713         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
714         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
715
716 2009-02-10  Dimitri Glazkov  <dglazkov@chromium.org>
717
718         Reviewed by Eric Seidel.
719
720         https://bugs.webkit.org/show_bug.cgi?id=23868
721         Add HTMLInputElement and HTMLOptionsCollection V8 custom bindings.
722
723         * bindings/v8/custom/V8HTMLInputElementCustom.cpp: Added.
724         (WebCore::ACCESSOR_GETTER):
725         (WebCore::ACCESSOR_SETTER):
726         (WebCore::CALLBACK_FUNC_DECL):
727         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: Added.
728         (WebCore::ACCESSOR_GETTER):
729         (WebCore::ACCESSOR_SETTER):
730
731 2009-02-10  Adam Roben  <aroben@apple.com>
732
733         Fix Bug 23871: Assertion failure beneath WebCore::openFunc when
734         running http/tests/security/xss-DENIED-xsl-document-redirect.xml
735
736         <https://bugs.webkit.org/show_bug.cgi?id=23871>
737
738         Reviewed by Alexey Proskuryakov.
739
740         Covered by existing tests.
741
742         * dom/XMLTokenizerLibxml2.cpp:
743         (WebCore::openFunc): Use the two-parameter KURL constructor so that
744         the string will be parsed. libxml2 gives us a UTF-8-encoded string
745         that needs to be parsed.
746
747 2009-02-10  David Hyatt  <hyatt@apple.com>
748
749         Shrink the size of all replaced elements (images, form controls, plugins) by 4 bytes by packing the
750         overflow boolean into the RenderObject base class.
751
752         Reviewed by Sam Weinig
753
754         * rendering/RenderObject.cpp:
755         (WebCore::RenderObject::RenderObject):
756         * rendering/RenderObject.h:
757         (WebCore::RenderObject::replacedHasOverflow):
758         (WebCore::RenderObject::setReplacedHasOverflow):
759         * rendering/RenderReplaced.cpp:
760         (WebCore::RenderReplaced::RenderReplaced):
761         (WebCore::RenderReplaced::~RenderReplaced):
762         (WebCore::RenderReplaced::adjustOverflowForBoxShadow):
763         (WebCore::RenderReplaced::overflowHeight):
764         (WebCore::RenderReplaced::overflowWidth):
765         (WebCore::RenderReplaced::overflowLeft):
766         (WebCore::RenderReplaced::overflowTop):
767         (WebCore::RenderReplaced::overflowRect):
768         * rendering/RenderReplaced.h:
769
770 2009-02-10  Eric Carlson  <eric.carlson@apple.com>
771
772         Reviewed by Simon Fraser.
773
774         https://bugs.webkit.org/show_bug.cgi?id=23870
775         Make it possible for a port to require a user gesture for an <audio> or <video> element
776         to load a url.
777
778         * html/HTMLMediaElement.cpp:
779         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_loadRestrictions.
780         (WebCore::HTMLMediaElement::attributeChanged): Only one attribute can change so put an "else" between tests.
781         (WebCore::HTMLMediaElement::load): Return INVALID_STATE_ERR if RequireUserGestureLoadRestriction is set 
782         and we are not preocessing a user gesture.
783         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): Remove unnecessary white space.
784         (WebCore::HTMLMediaElement::play): Ditto.
785         (WebCore::HTMLMediaElement::endScrubbing): Remove unnecessary braces added in r40789.
786         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Cache currentTime() in a local instead of calling it
787         multiple times.
788         (WebCore::HTMLMediaElement::processingUserGesture): New.
789         * html/HTMLMediaElement.h:
790         (WebCore::HTMLMediaElement::): Define LoadRestrictions, add m_loadRestrictions.
791
792 2009-02-10  Holger Hans Peter Freyther  <zecke@selfish.org>
793
794         Reviewed by Sam Weinig.
795
796         Remove the SVG checks from FloatPoint3D as it is used
797         by TransformationMatrix.
798
799         * platform/graphics/FloatPoint3D.cpp:
800         * platform/graphics/FloatPoint3D.h:
801
802 2009-02-10  David Hyatt  <hyatt@apple.com>
803
804         Remove the m_baseline member variable from all line boxes, since it can easily be computed when needed and did not need to be cached.
805
806         Reviewed by Sam Weinig
807
808         * rendering/EllipsisBox.cpp:
809         (WebCore::EllipsisBox::paint):
810         (WebCore::EllipsisBox::nodeAtPoint):
811         * rendering/EllipsisBox.h:
812         (WebCore::EllipsisBox::EllipsisBox):
813         * rendering/InlineBox.h:
814         (WebCore::InlineBox::InlineBox):
815         * rendering/InlineFlowBox.cpp:
816         (WebCore::InlineFlowBox::verticallyAlignBoxes):
817         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
818         (WebCore::InlineFlowBox::placeBoxesVertically):
819         (WebCore::InlineFlowBox::paintTextDecorations):
820         * rendering/InlineFlowBox.h:
821         (WebCore::InlineFlowBox::marginBorderPaddingLeft):
822         (WebCore::InlineFlowBox::marginBorderPaddingRight):
823         (WebCore::InlineFlowBox::marginLeft):
824         (WebCore::InlineFlowBox::marginRight):
825         (WebCore::InlineFlowBox::borderLeft):
826         (WebCore::InlineFlowBox::borderRight):
827         (WebCore::InlineFlowBox::borderTop):
828         (WebCore::InlineFlowBox::borderBottom):
829         (WebCore::InlineFlowBox::paddingLeft):
830         (WebCore::InlineFlowBox::paddingRight):
831         (WebCore::InlineFlowBox::paddingTop):
832         (WebCore::InlineFlowBox::paddingBottom):
833         (WebCore::InlineFlowBox::includeLeftEdge):
834         (WebCore::InlineFlowBox::includeRightEdge):
835         (WebCore::InlineFlowBox::baseline):
836         * rendering/InlineTextBox.cpp:
837         (WebCore::InlineTextBox::paint):
838         (WebCore::InlineTextBox::paintDecoration):
839         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
840         (WebCore::InlineTextBox::paintCompositionUnderline):
841         * rendering/RenderBlock.cpp:
842         (WebCore::RenderBlock::getBaselineOfFirstLineBox):
843         (WebCore::RenderBlock::getBaselineOfLastLineBox):
844         * rendering/RenderTableCell.cpp:
845         (WebCore::RenderTableCell::baselinePosition):
846         * rendering/RootInlineBox.cpp:
847         (WebCore::RootInlineBox::placeEllipsis):
848         * rendering/SVGInlineTextBox.cpp:
849         (WebCore::SVGInlineTextBox::paintDecoration):
850         * rendering/SVGRootInlineBox.cpp:
851         (WebCore::applyTextAnchorToTextChunk):
852         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
853
854 2009-02-10  Alexey Proskuryakov  <ap@webkit.org>
855
856         Reviewed by Darin Adler.
857
858         https://bugs.webkit.org/show_bug.cgi?id=23867
859         Eliminate obsolete frame->document() checks
860
861         * page/FrameView.cpp: (WebCore::FrameView::paintContents): Apparently due to a typo
862         (document vs. !document), fillWithRed was always set to false, and other branches were
863         never taken. Removing the check for document restores debug-only red color filling.
864
865         * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Only call dispatchWindowObjectAvailable()
866         after a document is created. A client can do anything in its delegate method, so we'd need
867         to have frame->document() checks otherwise. DumpRenderTree uses this delegate to add its
868         custom property, and it was crashing due to null document in JSDOMWindowBase::getOwnPropertySlot().
869
870         * bindings/js/JSDOMWindowBase.cpp:
871         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
872         * bindings/js/JSDOMWindowCustom.cpp:
873         (WebCore::JSDOMWindow::addEventListener):
874         (WebCore::JSDOMWindow::removeEventListener):
875         * bindings/js/JSNavigatorCustom.cpp:
876         (WebCore::needsYouTubeQuirk):
877         * bindings/js/ScheduledAction.cpp:
878         (WebCore::ScheduledAction::execute):
879         * bindings/js/ScriptControllerMac.mm:
880         (WebCore::updateRenderingForBindings):
881         * dom/Document.cpp:
882         (WebCore::Document::initSecurityContext):
883         * editing/Editor.cpp:
884         (WebCore::Editor::deleteWithDirection):
885         (WebCore::Editor::dispatchCPPEvent):
886         (WebCore::Editor::applyStyle):
887         (WebCore::Editor::applyParagraphStyle):
888         * editing/EditorCommand.cpp:
889         (WebCore::Editor::Command::execute):
890         (WebCore::Editor::Command::isEnabled):
891         (WebCore::Editor::Command::state):
892         (WebCore::Editor::Command::value):
893         * editing/SelectionController.cpp:
894         (WebCore::SelectionController::recomputeCaretRect):
895         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
896         (WebCore::SelectionController::selectAll):
897         (WebCore::SelectionController::setFocused):
898         * inspector/InspectorController.cpp:
899         (WebCore::getResourceDocumentNode):
900         * inspector/JavaScriptDebugServer.cpp:
901         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
902         * loader/DocumentLoader.cpp:
903         (WebCore::canonicalizedTitle):
904         (WebCore::DocumentLoader::stopLoading):
905         (WebCore::DocumentLoader::isLoadingInAPISense):
906         (WebCore::DocumentLoader::subresource):
907         (WebCore::DocumentLoader::getSubresources):
908         * loader/FrameLoader.cpp:
909         (WebCore::FrameLoader::urlSelected):
910         (WebCore::FrameLoader::stop):
911         (WebCore::FrameLoader::iconURL):
912         (WebCore::FrameLoader::executeIfJavaScriptURL):
913         (WebCore::FrameLoader::clear):
914         (WebCore::FrameLoader::endIfNotLoadingMainResource):
915         (WebCore::FrameLoader::restoreDocumentState):
916         (WebCore::FrameLoader::gotoAnchor):
917         (WebCore::FrameLoader::loadDone):
918         (WebCore::FrameLoader::checkCompleted):
919         (WebCore::FrameLoader::checkCallImplicitClose):
920         (WebCore::FrameLoader::scheduleRefresh):
921         (WebCore::FrameLoader::outgoingOrigin):
922         (WebCore::FrameLoader::canCachePageContainingThisFrame):
923         (WebCore::FrameLoader::logCanCacheFrameDecision):
924         (WebCore::FrameLoader::updatePolicyBaseURL):
925         (WebCore::FrameLoader::setPolicyBaseURL):
926         (WebCore::FrameLoader::frameDetached):
927         (WebCore::FrameLoader::shouldScrollToAnchor):
928         (WebCore::FrameLoader::saveDocumentState):
929         * loader/archive/cf/LegacyWebArchive.cpp:
930         (WebCore::LegacyWebArchive::create):
931         * loader/icon/IconFetcher.cpp:
932         (WebCore::IconFetcher::create):
933         * loader/icon/IconLoader.cpp:
934         (WebCore::IconLoader::startLoading):
935         * page/AccessibilityRenderObject.cpp:
936         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
937         * page/Chrome.cpp:
938         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
939         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
940         * page/DOMWindow.cpp:
941         (WebCore::DOMWindow::sessionStorage):
942         (WebCore::DOMWindow::alert):
943         (WebCore::DOMWindow::confirm):
944         (WebCore::DOMWindow::prompt):
945         (WebCore::DOMWindow::scrollX):
946         (WebCore::DOMWindow::scrollY):
947         (WebCore::DOMWindow::getMatchedCSSRules):
948         (WebCore::DOMWindow::openDatabase):
949         (WebCore::DOMWindow::scrollBy):
950         (WebCore::DOMWindow::scrollTo):
951         * page/EventHandler.cpp:
952         (WebCore::EventHandler::allowDHTMLDrag):
953         (WebCore::EventHandler::scrollOverflow):
954         (WebCore::EventHandler::handleMousePressEvent):
955         (WebCore::EventHandler::handleMouseDoubleClickEvent):
956         (WebCore::EventHandler::handleMouseMoveEvent):
957         (WebCore::EventHandler::handleMouseReleaseEvent):
958         (WebCore::EventHandler::updateDragAndDrop):
959         (WebCore::EventHandler::handleWheelEvent):
960         (WebCore::EventHandler::sendContextMenuEvent):
961         (WebCore::EventHandler::capsLockStateMayHaveChanged):
962         (WebCore::EventHandler::sendResizeEvent):
963         (WebCore::EventHandler::sendScrollEvent):
964         * page/FocusController.cpp:
965         (WebCore::deepFocusableNode):
966         (WebCore::FocusController::advanceFocus):
967         * page/Frame.cpp:
968         (WebCore::Frame::setFocusedNodeIfNeeded):
969         (WebCore::Frame::shouldApplyTextZoom):
970         (WebCore::Frame::shouldApplyPageZoom):
971         (WebCore::Frame::setZoomFactor):
972         (WebCore::Frame::setPrinting):
973         (WebCore::Frame::reapplyStyles):
974         (WebCore::Frame::isContentEditable):
975         (WebCore::Frame::computeAndSetTypingStyle):
976         (WebCore::Frame::selectionComputedStyle):
977         (WebCore::Frame::applyEditingStyleToBodyElement):
978         (WebCore::Frame::removeEditingStyleFromBodyElement):
979         (WebCore::Frame::contentRenderer):
980         (WebCore::Frame::styleForSelectionStart):
981         (WebCore::Frame::setSelectionFromNone):
982         (WebCore::Frame::findString):
983         (WebCore::Frame::markAllMatchesForText):
984         (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
985         (WebCore::Frame::documentTypeString):
986         (WebCore::Frame::shouldClose):
987         (WebCore::Frame::respondToChangedSelection):
988         * page/FrameView.cpp:
989         (WebCore::FrameView::~FrameView):
990         (WebCore::FrameView::createScrollbar):
991         (WebCore::FrameView::layout):
992         (WebCore::FrameView::layoutTimerFired):
993         (WebCore::FrameView::scheduleRelayout):
994         (WebCore::FrameView::needsLayout):
995         (WebCore::FrameView::unscheduleRelayout):
996         (WebCore::FrameView::windowClipRect):
997         * page/Geolocation.cpp:
998         (WebCore::Geolocation::disconnectFrame):
999         * page/Page.cpp:
1000         (WebCore::networkStateChanged):
1001         (WebCore::Page::~Page):
1002         (WebCore::Page::unmarkAllTextMatches):
1003         (WebCore::Page::setMediaVolume):
1004         * page/animation/AnimationController.cpp:
1005         (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
1006         * page/mac/EventHandlerMac.mm:
1007         (WebCore::EventHandler::currentKeyboardEvent):
1008         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
1009         * page/mac/FrameMac.mm:
1010         (WebCore::Frame::dashboardRegionsDictionary):
1011         (WebCore::Frame::setUserStyleSheetLocation):
1012         (WebCore::Frame::setUserStyleSheet):
1013         * storage/LocalStorageArea.cpp:
1014         (WebCore::LocalStorageArea::dispatchStorageEvent):
1015         * storage/SessionStorageArea.cpp:
1016         (WebCore::SessionStorageArea::dispatchStorageEvent):
1017         * svg/graphics/SVGImage.cpp:
1018         (WebCore::SVGImage::setContainerSize):
1019         (WebCore::SVGImage::usesContainerSize):
1020         (WebCore::SVGImage::size):
1021         (WebCore::SVGImage::hasRelativeWidth):
1022         (WebCore::SVGImage::hasRelativeHeight):
1023         Removed frame->document() checks.
1024
1025 2009-02-10  Adam Treat  <adam.treat@torchmobile.com>
1026
1027         Reviewed by George Staikos.
1028
1029         Attempt to fix the Qt build after r40791.
1030
1031         * rendering/RenderSVGRoot.cpp:
1032
1033 2009-02-10  Adam Treat  <adam.treat@torchmobile.com>
1034
1035         Reviewed by George Staikos.
1036
1037         Minor code cleanup.
1038
1039         * dom/ContainerNode.cpp:
1040         (WebCore::ContainerNode::replaceChild):
1041
1042 2009-02-10  Adam Treat  <adam.treat@torchmobile.com>
1043
1044         Fix Qt build following r40793.
1045
1046         * editing/qt/EditorQt.cpp:
1047
1048 2009-02-10  Feng Qian <feng@chromium.org>
1049
1050         Reviewed by Alexey Proskuryakov.
1051
1052         Fix crashes when accessing navigator object of a deleted frame.
1053         https://bugs.webkit.org/show_bug.cgi?id=23626
1054         A layout test is added: fast/dom/navigator-detached-no-crash.html
1055
1056         * page/Navigator.cpp:
1057         (WebCore::Navigator::cookieEnabled):
1058         (WebCore::Navigator::javaEnabled):
1059
1060 2009-02-10  Sverrir Berg  <sverrir@chromium.org>
1061
1062         Reviewed by Eric Seidel.
1063
1064         https://bugs.webkit.org/show_bug.cgi?id=23630
1065         Add complex font rendering using Skia instead of Windows ScriptTextOut.
1066         This adds support for enhanced webkit styles when drawing complex
1067         glyphs.
1068
1069         * platform/graphics/chromium/FontChromiumWin.cpp:
1070         (WebCore::Font::drawGlyphs):
1071         (WebCore::Font::drawComplexText):
1072         * platform/graphics/chromium/UniscribeHelper.cpp:
1073         (WebCore::containsMissingGlyphs):
1074         (WebCore::UniscribeHelper::draw):
1075         (WebCore::UniscribeHelper::shape):
1076         * platform/graphics/chromium/UniscribeHelper.h:
1077         * platform/graphics/skia/SkiaFontWin.cpp:
1078         (WebCore::windowsCanHandleTextDrawing):
1079         (WebCore::skiaDrawText):
1080         (WebCore::paintSkiaText):
1081         * platform/graphics/skia/SkiaFontWin.h:
1082
1083 2009-02-10  Darin Fisher  <darin@chromium.org>
1084
1085         Revert r40797 as requested by Sam Weinig.
1086
1087         https://bugs.webkit.org/show_bug.cgi?id=23809
1088
1089         * bindings/scripts/CodeGeneratorJS.pm:
1090         * dom/Document.idl:
1091         * html/HTMLCanvasElement.idl:
1092
1093 2009-02-09  Darin Fisher  <darin@chromium.org>
1094
1095         Reviewed by Eric Seidel.
1096
1097         https://bugs.webkit.org/show_bug.cgi?id=23855
1098         Fix TransformationMatrixSkia.cpp and GraphicsContextSkia.cpp bustage
1099
1100         * platform/graphics/skia/GraphicsContextSkia.cpp:
1101         (WebCore::GraphicsContext::getCTM):
1102         * platform/graphics/skia/TransformationMatrixSkia.cpp:
1103         (WebCore::TransformationMatrix::operator SkMatrix):
1104
1105 2009-02-09  Dan Bernstein  <mitz@apple.com>
1106
1107         Reviewed by Dave Hyatt.
1108
1109         - fix <rdar://problem/6568942> REGRESSION: Font rendering in Wikipedia input field is incorrect (default GDI text mode)
1110
1111         * platform/graphics/win/SimpleFontDataWin.cpp:
1112         (WebCore::SimpleFontData::widthForGDIGlyph): Make sure that the DC is
1113         in the advanced graphics mode before calling GetCharWidthI(), because
1114         otherwise that function returns incorrect results for the default UI
1115         font at a certain size.
1116
1117 2009-02-09  Chris Marrin  <cmarrin@apple.com>
1118
1119         Reviewed by Simon Fraser
1120
1121         https://bugs.webkit.org/show_bug.cgi?id=23689
1122
1123         Added 3D functions to WebKitCSSMatrix. This depends on the 3D functions
1124         added to TransformationMatrix in https://bugs.webkit.org/show_bug.cgi?id=6868
1125
1126         Test: transforms/3d/cssmatrix-3d-interface.xhtml
1127
1128         * css/WebKitCSSMatrix.cpp:
1129         * css/WebKitCSSMatrix.h:
1130         * css/WebKitCSSMatrix.idl:
1131
1132 2009-02-09  Mark Rowe  <mrowe@apple.com>
1133
1134         Reviewed by Darin Adler.
1135
1136         Fix <https://bugs.webkit.org/show_bug.cgi?id=23858>
1137         Bug 23858: Crash when removing a HTMLSelectElement from the document from inside its focus event handler
1138
1139         * html/HTMLSelectElement.cpp:
1140         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't store the renderer in a local variable
1141         as it can be invalidated by any of the calls to focus() within the function.  Instead, retrieve it and
1142         null-check it when it is needed.
1143
1144 2009-02-09  David Hyatt  <hyatt@apple.com>
1145
1146         Remove the m_height member from InlineBox.  This shaves 4 bytes off of all inline boxes.  Unfortunately SVG
1147         sets heights that are independent of the renderer or of the font, and so all SVG boxes have to retain m_height
1148         member variables.
1149
1150         height() on InlineBox is now a virtual function that does a dynamic computation (including shrinking boxes
1151         with no text children).  For SVG boxes there is also a non-virtual setHeight function for updating the
1152         m_height member variable like before.
1153     
1154         Reviewed by Darin Adler
1155
1156         * rendering/EllipsisBox.cpp:
1157         (WebCore::EllipsisBox::nodeAtPoint):
1158         * rendering/EllipsisBox.h:
1159         (WebCore::EllipsisBox::EllipsisBox):
1160         * rendering/InlineBox.cpp:
1161         (WebCore::InlineBox::height):
1162         (WebCore::InlineBox::root):
1163         * rendering/InlineBox.h:
1164         (WebCore::InlineBox::InlineBox):
1165         (WebCore::InlineBox::isInlineFlowBox):
1166         (WebCore::InlineBox::isRootInlineBox):
1167         (WebCore::InlineBox::topOverflow):
1168         (WebCore::InlineBox::bottomOverflow):
1169         (WebCore::InlineBox::leftOverflow):
1170         (WebCore::InlineBox::rightOverflow):
1171         * rendering/InlineFlowBox.cpp:
1172         (WebCore::InlineFlowBox::height):
1173         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
1174         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1175         (WebCore::InlineFlowBox::placeBoxesVertically):
1176         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
1177         (WebCore::InlineFlowBox::nodeAtPoint):
1178         * rendering/InlineFlowBox.h:
1179         (WebCore::InlineFlowBox::isInlineFlowBox):
1180         * rendering/InlineTextBox.cpp:
1181         (WebCore::InlineTextBox::height):
1182         (WebCore::InlineTextBox::nodeAtPoint):
1183         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1184         (WebCore::InlineTextBox::paintCompositionUnderline):
1185         * rendering/InlineTextBox.h:
1186         * rendering/RootInlineBox.cpp:
1187         (WebCore::RootInlineBox::height):
1188         (WebCore::RootInlineBox::placeEllipsis):
1189         (WebCore::RootInlineBox::setVerticalOverflowPositions):
1190         * rendering/RootInlineBox.h:
1191         (WebCore::RootInlineBox::isRootInlineBox):
1192         (WebCore::RootInlineBox::topOverflow):
1193         (WebCore::RootInlineBox::bottomOverflow):
1194         (WebCore::RootInlineBox::leftOverflow):
1195         (WebCore::RootInlineBox::rightOverflow):
1196         (WebCore::RootInlineBox::selectionBottom):
1197         (WebCore::RootInlineBox::Overflow::Overflow):
1198         (WebCore::RootInlineBox::setVerticalSelectionPositions):
1199         * rendering/SVGInlineFlowBox.h:
1200         (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
1201         (WebCore::SVGInlineFlowBox::height):
1202         (WebCore::SVGInlineFlowBox::setHeight):
1203         * rendering/SVGInlineTextBox.cpp:
1204         (WebCore::SVGInlineTextBox::SVGInlineTextBox):
1205         * rendering/SVGInlineTextBox.h:
1206         (WebCore::SVGInlineTextBox::height):
1207         (WebCore::SVGInlineTextBox::setHeight):
1208         * rendering/SVGRootInlineBox.cpp:
1209         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
1210         * rendering/SVGRootInlineBox.h:
1211         (WebCore::SVGRootInlineBox::SVGRootInlineBox):
1212         (WebCore::SVGRootInlineBox::height):
1213         (WebCore::SVGRootInlineBox::setHeight):
1214
1215 2009-02-09  Eric Seidel  <eric@webkit.org>
1216
1217         Reviewed by Sam Weinig.
1218
1219         Document our Selection DOM extensions
1220         (in preparation for re-writing Selection to work with ranges)
1221
1222         * page/DOMSelection.cpp:
1223         (WebCore::DOMSelection::type):
1224         * page/DOMSelection.h:
1225         * page/DOMSelection.idl:
1226
1227 2009-02-09  Eric Seidel  <eric@webkit.org>
1228
1229         Attempt to fix wx build
1230
1231         * WebCoreSources.bkl: change Selection to VisibleSelection
1232
1233 2009-02-06  Darin Fisher  <darin@chromium.org>
1234
1235         Reviewed by Eric Seidel.
1236
1237         https://bugs.webkit.org/show_bug.cgi?id=23809
1238         Return CanvasRenderingContext2D instead of DOMObject in IDL to avoid V8 #ifdefs
1239
1240         * bindings/scripts/CodeGeneratorJS.pm:
1241         * dom/Document.idl:
1242         * html/HTMLCanvasElement.idl:
1243
1244 2009-02-09  Dirk Schulze  <krit@webkit.org>
1245
1246         Reviewed by Eric Seidel.
1247
1248         Transform the gradient instead of the context for most platforms and
1249         transform the context after CGContextReplacePathWithStrokedPath for CG.
1250
1251         REGRESSION: SVG gradient transformation/BoundingBox can cause ugly stroke thickness
1252         https://bugs.webkit.org/show_bug.cgi?id=23547
1253
1254         * platform/graphics/Gradient.h:
1255         (WebCore::Gradient::setGradientSpaceTransform):
1256         (WebCore::Gradient::gradientSpaceTransform):
1257         * platform/graphics/cairo/GradientCairo.cpp:
1258         (WebCore::Gradient::platformGradient):
1259         * platform/graphics/cg/GraphicsContextCG.cpp:
1260         (WebCore::GraphicsContext::fillPath):
1261         (WebCore::GraphicsContext::strokePath):
1262         (WebCore::GraphicsContext::fillRect):
1263         * platform/graphics/qt/GraphicsContextQt.cpp:
1264         (WebCore::GraphicsContext::fillPath):
1265         (WebCore::GraphicsContext::strokePath):
1266         (WebCore::GraphicsContext::fillRect):
1267         * platform/graphics/skia/GradientSkia.cpp:
1268         (WebCore::Gradient::platformGradient):
1269         * svg/graphics/SVGPaintServerGradient.cpp:
1270         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
1271         (WebCore::clipToTextMask):
1272         (WebCore::SVGPaintServerGradient::setup):
1273         (WebCore::SVGPaintServerGradient::teardown):
1274
1275 2009-02-09  Sam Weinig  <sam@webkit.org>
1276
1277         Reviewed by David Hyatt.
1278
1279         Fix the highlight when inspecting inline elements.
1280
1281         * inspector/InspectorController.cpp:
1282         (WebCore::drawHighlightForBox):
1283         (WebCore::drawHighlightForLineBoxes):
1284         (WebCore::InspectorController::drawNodeHighlight):
1285
1286 2009-02-09  Eric Seidel  <eric@webkit.org>
1287
1288         Fix the gtk build by adding VisibleSelection and removing Selection.
1289
1290         * GNUmakefile.am:
1291
1292 2009-02-09  Eric Seidel  <eric@webkit.org>
1293
1294         Reviewed by Dave Hyatt.
1295
1296         Rename Selection to VisibleSelection to allow us to separate
1297         the selections the user works with from the ones used by
1298         the JS editing APIs.
1299         https://bugs.webkit.org/show_bug.cgi?id=23852
1300
1301         No functional changes, thus no tests.
1302
1303         * WebCore.base.exp:
1304         * WebCore.pro:
1305         * WebCore.scons:
1306         * WebCore.vcproj/WebCore.vcproj:
1307         * WebCore.xcodeproj/project.pbxproj:
1308         * dom/Element.cpp:
1309         (WebCore::Element::updateFocusAppearance):
1310         * editing/ApplyStyleCommand.cpp:
1311         (WebCore::ApplyStyleCommand::updateStartEnd):
1312         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
1313         * editing/BreakBlockquoteCommand.cpp:
1314         (WebCore::BreakBlockquoteCommand::doApply):
1315         * editing/CompositeEditCommand.cpp:
1316         (WebCore::CompositeEditCommand::inputText):
1317         (WebCore::CompositeEditCommand::deleteSelection):
1318         (WebCore::CompositeEditCommand::rebalanceWhitespace):
1319         (WebCore::CompositeEditCommand::pushAnchorElementDown):
1320         (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown):
1321         (WebCore::CompositeEditCommand::moveParagraphs):
1322         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
1323         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
1324         * editing/CompositeEditCommand.h:
1325         * editing/CreateLinkCommand.cpp:
1326         (WebCore::CreateLinkCommand::doApply):
1327         * editing/DeleteButtonController.cpp:
1328         (WebCore::enclosingDeletableElement):
1329         (WebCore::DeleteButtonController::respondToChangedSelection):
1330         * editing/DeleteButtonController.h:
1331         * editing/DeleteSelectionCommand.cpp:
1332         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
1333         (WebCore::DeleteSelectionCommand::clearTransientState):
1334         (WebCore::DeleteSelectionCommand::doApply):
1335         * editing/DeleteSelectionCommand.h:
1336         (WebCore::DeleteSelectionCommand::create):
1337         * editing/EditCommand.cpp:
1338         (WebCore::EditCommand::setStartingSelection):
1339         (WebCore::EditCommand::setEndingSelection):
1340         * editing/EditCommand.h:
1341         (WebCore::EditCommand::startingSelection):
1342         (WebCore::EditCommand::endingSelection):
1343         * editing/Editor.cpp:
1344         (WebCore::Editor::selectionForCommand):
1345         (WebCore::Editor::respondToChangedSelection):
1346         (WebCore::Editor::respondToChangedContents):
1347         (WebCore::Editor::applyStyle):
1348         (WebCore::Editor::applyParagraphStyle):
1349         (WebCore::Editor::appliedEditing):
1350         (WebCore::Editor::unappliedEditing):
1351         (WebCore::Editor::reappliedEditing):
1352         (WebCore::Editor::insertTextWithoutSendingTextEvent):
1353         (WebCore::Editor::selectComposition):
1354         (WebCore::Editor::confirmComposition):
1355         (WebCore::Editor::advanceToNextMisspelling):
1356         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
1357         (WebCore::markMisspellingsOrBadGrammar):
1358         (WebCore::Editor::markMisspellings):
1359         (WebCore::Editor::markBadGrammar):
1360         (WebCore::Editor::rangeForPoint):
1361         (WebCore::Editor::transpose):
1362         * editing/Editor.h:
1363         * editing/EditorCommand.cpp:
1364         (WebCore::expandSelectionToGranularity):
1365         (WebCore::executeSwapWithMark):
1366         (WebCore::enabledVisibleSelection):
1367         (WebCore::enabledVisibleSelectionAndMark):
1368         (WebCore::enableCaretInEditableText):
1369         * editing/FormatBlockCommand.cpp:
1370         (WebCore::FormatBlockCommand::modifyRange):
1371         (WebCore::FormatBlockCommand::doApply):
1372         * editing/IndentOutdentCommand.cpp:
1373         (WebCore::IndentOutdentCommand::indentRegion):
1374         (WebCore::IndentOutdentCommand::outdentRegion):
1375         (WebCore::IndentOutdentCommand::doApply):
1376         * editing/InsertLineBreakCommand.cpp:
1377         (WebCore::InsertLineBreakCommand::doApply):
1378         * editing/InsertListCommand.cpp:
1379         (WebCore::InsertListCommand::modifyRange):
1380         (WebCore::InsertListCommand::doApply):
1381         * editing/InsertParagraphSeparatorCommand.cpp:
1382         (WebCore::InsertParagraphSeparatorCommand::doApply):
1383         * editing/InsertTextCommand.cpp:
1384         (WebCore::InsertTextCommand::performTrivialReplace):
1385         (WebCore::InsertTextCommand::input):
1386         * editing/ModifySelectionListLevel.cpp:
1387         (WebCore::getStartEndListChildren):
1388         (WebCore::canIncreaseListLevel):
1389         (WebCore::canDecreaseListLevel):
1390         * editing/MoveSelectionCommand.cpp:
1391         (WebCore::MoveSelectionCommand::doApply):
1392         * editing/RemoveFormatCommand.cpp:
1393         * editing/ReplaceSelectionCommand.cpp:
1394         (WebCore::ReplacementFragment::ReplacementFragment):
1395         (WebCore::ReplaceSelectionCommand::doApply):
1396         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
1397         * editing/Selection.cpp: Removed.
1398         * editing/Selection.h: Removed.
1399         * editing/SelectionController.cpp:
1400         (WebCore::SelectionController::moveTo):
1401         (WebCore::SelectionController::setSelection):
1402         (WebCore::SelectionController::nodeWillBeRemoved):
1403         (WebCore::SelectionController::clear):
1404         (WebCore::SelectionController::setBase):
1405         (WebCore::SelectionController::setExtent):
1406         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
1407         (WebCore::SelectionController::selectAll):
1408         (WebCore::SelectionController::setSelectedRange):
1409         * editing/SelectionController.h:
1410         (WebCore::SelectionController::selection):
1411         (WebCore::SelectionController::selectionType):
1412         * editing/TypingCommand.cpp:
1413         (WebCore::TypingCommand::insertText):
1414         (WebCore::TypingCommand::deleteKeyPressed):
1415         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1416         * editing/TypingCommand.h:
1417         * editing/VisiblePosition.cpp:
1418         (WebCore::VisiblePosition::honorEditableBoundaryAtOrBefore):
1419         (WebCore::VisiblePosition::honorEditableBoundaryAtOrAfter):
1420         * editing/VisibleSelection.cpp: Added.
1421         (WebCore::VisibleSelection::VisibleSelection):
1422         (WebCore::VisibleSelection::selectionFromContentsOfNode):
1423         (WebCore::VisibleSelection::setBase):
1424         (WebCore::VisibleSelection::setExtent):
1425         (WebCore::VisibleSelection::firstRange):
1426         (WebCore::VisibleSelection::toNormalizedRange):
1427         (WebCore::VisibleSelection::expandUsingGranularity):
1428         (WebCore::makeSearchRange):
1429         (WebCore::VisibleSelection::appendTrailingWhitespace):
1430         (WebCore::VisibleSelection::setBaseAndExtentToDeepEquivalents):
1431         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
1432         (WebCore::VisibleSelection::updateSelectionType):
1433         (WebCore::VisibleSelection::validate):
1434         (WebCore::VisibleSelection::setWithoutValidation):
1435         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
1436         (WebCore::VisibleSelection::isContentEditable):
1437         (WebCore::VisibleSelection::isContentRichlyEditable):
1438         (WebCore::VisibleSelection::rootEditableElement):
1439         (WebCore::VisibleSelection::shadowTreeRootNode):
1440         (WebCore::VisibleSelection::debugPosition):
1441         (WebCore::VisibleSelection::formatForDebugger):
1442         (WebCore::VisibleSelection::showTreeForThis):
1443         (showTree):
1444         * editing/VisibleSelection.h: Added.
1445         (WebCore::VisibleSelection::):
1446         (WebCore::VisibleSelection::selectionType):
1447         (WebCore::VisibleSelection::setAffinity):
1448         (WebCore::VisibleSelection::affinity):
1449         (WebCore::VisibleSelection::base):
1450         (WebCore::VisibleSelection::extent):
1451         (WebCore::VisibleSelection::start):
1452         (WebCore::VisibleSelection::end):
1453         (WebCore::VisibleSelection::visibleStart):
1454         (WebCore::VisibleSelection::visibleEnd):
1455         (WebCore::VisibleSelection::isNone):
1456         (WebCore::VisibleSelection::isCaret):
1457         (WebCore::VisibleSelection::isRange):
1458         (WebCore::VisibleSelection::isCaretOrRange):
1459         (WebCore::VisibleSelection::isBaseFirst):
1460         (WebCore::VisibleSelection::granularity):
1461         (WebCore::operator==):
1462         (WebCore::operator!=):
1463         * editing/htmlediting.cpp:
1464         (WebCore::selectionForParagraphIteration):
1465         (WebCore::avoidIntersectionWithNode):
1466         * editing/htmlediting.h:
1467         * editing/markup.cpp:
1468         (WebCore::createMarkup):
1469         * html/HTMLInputElement.cpp:
1470         (WebCore::HTMLInputElement::selection):
1471         * html/HTMLInputElement.h:
1472         * html/HTMLTextAreaElement.cpp:
1473         (WebCore::HTMLTextAreaElement::selection):
1474         * html/HTMLTextAreaElement.h:
1475         * page/AccessibilityObject.cpp:
1476         (WebCore::AccessibilityObject::selection):
1477         (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
1478         * page/AccessibilityObject.h:
1479         * page/AccessibilityRenderObject.cpp:
1480         (WebCore::AccessibilityRenderObject::selection):
1481         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
1482         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
1483         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
1484         (WebCore::AccessibilityRenderObject::doAXRangeForLine):
1485         * page/AccessibilityRenderObject.h:
1486         * page/DOMSelection.cpp:
1487         (WebCore::DOMSelection::anchorNode):
1488         (WebCore::DOMSelection::anchorOffset):
1489         (WebCore::DOMSelection::focusNode):
1490         (WebCore::DOMSelection::focusOffset):
1491         (WebCore::DOMSelection::collapseToEnd):
1492         (WebCore::DOMSelection::collapseToStart):
1493         (WebCore::DOMSelection::getRangeAt):
1494         (WebCore::DOMSelection::addRange):
1495         * page/DOMSelection.h:
1496         * page/DragController.cpp:
1497         (WebCore::DragController::tryDocumentDrag):
1498         (WebCore::setSelectionToDragCaret):
1499         (WebCore::DragController::concludeEditDrag):
1500         (WebCore::prepareClipboardForImageDrag):
1501         (WebCore::DragController::startDrag):
1502         (WebCore::DragController::placeDragCaret):
1503         * page/EditorClient.h:
1504         * page/EventHandler.cpp:
1505         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
1506         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
1507         (WebCore::EventHandler::handleMousePressEventTripleClick):
1508         (WebCore::EventHandler::handleMousePressEventSingleClick):
1509         (WebCore::EventHandler::updateSelectionForMouseDrag):
1510         (WebCore::EventHandler::handleMouseReleaseEvent):
1511         * page/Frame.cpp:
1512         (WebCore::Frame::mark):
1513         (WebCore::Frame::setMark):
1514         (WebCore::Frame::selectionLayoutChanged):
1515         (WebCore::Frame::shouldChangeSelection):
1516         (WebCore::Frame::shouldDeleteSelection):
1517         (WebCore::Frame::revealSelection):
1518         (WebCore::Frame::setSelectionFromNone):
1519         (WebCore::Frame::findString):
1520         (WebCore::Frame::respondToChangedSelection):
1521         * page/Frame.h:
1522         * page/Page.cpp:
1523         (WebCore::Page::selection):
1524         * page/Page.h:
1525         * page/mac/AccessibilityObjectWrapper.mm:
1526         (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
1527         * rendering/RenderBlock.cpp:
1528         (WebCore::RenderBlock::fillInlineSelectionGaps):
1529         * rendering/RenderTextControl.cpp:
1530         (WebCore::RenderTextControl::setSelectionRange):
1531         (WebCore::RenderTextControl::selection):
1532         * rendering/RenderTextControl.h:
1533         * rendering/RenderTreeAsText.cpp:
1534         (WebCore::writeSelection):
1535         * rendering/RootInlineBox.cpp:
1536         (WebCore::RootInlineBox::fillLineSelectionGap):
1537         * svg/SVGTextContentElement.cpp:
1538         (WebCore::SVGTextContentElement::selectSubString):
1539
1540 2009-02-09  Dimitri Glazkov  <dglazkov@chromium.org>
1541
1542         Reviewed by Dave Hyatt.
1543
1544         https://bugs.webkit.org/show_bug.cgi?id=23806
1545         Fix a regression crash where an empty src value and a "text/html" type
1546         on an EMBED element did not finish ResourceRequest initialization due to
1547         an early return.
1548
1549         Test: fast/loader/empty-embed-src-attribute.html
1550
1551         * loader/FrameLoader.cpp:
1552         (WebCore::FrameLoader::addExtraFieldsToRequest):
1553
1554 2009-02-09  Rob Buis  <rwlbuis@gmail.com>
1555
1556         Reviewed by Eric Seidel.
1557
1558         https://bugs.webkit.org/show_bug.cgi?id=23816
1559         Clean up RenderSVGRoot.cpp
1560
1561         Clean up RenderSVGRoot.cpp.
1562
1563         * rendering/RenderSVGRoot.cpp:
1564         (WebCore::RenderSVGRoot::paint):
1565         (WebCore::RenderSVGRoot::calcViewport):
1566
1567 2009-02-09  Eric Carlson  <eric.carlson@apple.com>
1568
1569         Reviewed by Antti Koivisto
1570         
1571         https://bugs.webkit.org/show_bug.cgi?id=23737
1572         Make it possible to control media element playback without knowing so many
1573         internal implementation details.
1574
1575         * html/HTMLMediaElement.cpp:
1576         (WebCore::HTMLMediaElement::togglePlayState): New, toggle between playing and paused state.
1577         (WebCore::HTMLMediaElement::beginScrubbing): New, pause as necessary for scrubbing mode.
1578         (WebCore::HTMLMediaElement::endScrubbing): New, resume playback if paused for scrubbing mode.
1579         * html/HTMLMediaElement.h:
1580
1581         (WebCore::HTMLMediaElement::hasVideo): New, added so clients don't need to access MediaPlayer directly.
1582         * html/HTMLVideoElement.h:
1583
1584         (WebCore::HTMLVideoElement::hasVideo): New.
1585
1586         * rendering/MediaControlElements.cpp:
1587         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Use new media element 
1588         togglePlayState method.
1589         (WebCore::MediaControlTimelineElement::defaultEventHandler): Tell media element when scrubbing
1590         begins and ends so it can deal with pausing logic. Don't call setCurrentTime unless the time
1591         will change.
1592
1593         * rendering/RenderMedia.cpp:
1594         (WebCore::RenderMedia::updateControls): Ask media element if it is able to play instead of including
1595         internal logic here.
1596         (WebCore::RenderMedia::updateControlVisibility): Ditto.
1597
1598 2009-02-09  Eric Carlson  <eric.carlson@apple.com>
1599
1600         Reviewed by Antti Koivisto
1601
1602         Change RenderPart and RenderPartObject constructors to take a Node*
1603         instead of a HTMLFrameOwnerElement* since that is all then need.
1604
1605         * rendering/RenderPart.cpp:
1606         (WebCore::RenderPart::RenderPart): take Node* instead of HTMLFrameOwnerElement*
1607         * rendering/RenderPart.h:
1608         * rendering/RenderPartObject.cpp:
1609         (WebCore::RenderPartObject::RenderPartObject):  take Node* instead of HTMLFrameOwnerElement*
1610         * rendering/RenderPartObject.h:
1611
1612 2009-02-09  Dan Bernstein  <mitz@apple.com>
1613
1614         - fix -Wmissing-prototypes builds
1615
1616         * editing/ReplaceSelectionCommand.cpp:
1617         (WebCore::isHeaderElement): Marked this function static.
1618         (WebCore::haveSameTagName): Ditto.
1619         * editing/markup.cpp:
1620         (WebCore::isSpecialAncestorBlock): Ditto.
1621         * platform/graphics/transforms/TransformationMatrix.cpp:
1622         (WebCore::makeMapBetweenRects): Removed unused function.
1623         * platform/graphics/transforms/TransformationMatrix.h: Removed unused
1624         declaration of private member makeMapBetweenRects().
1625
1626 2009-02-09  Adam Treat  <adam.treat@torchmobile.com>
1627
1628         Reviewed by Sam Weinig.
1629
1630         https://bugs.webkit.org/show_bug.cgi?id=23850
1631         Code cleanup of HTMLParser class which was using a mix of m_* and bare
1632         class member variable names which helps to obfuscate the code.  Also
1633         changed a few of the static helper functions to take a const pointer type
1634         as they should not be modifying the node.
1635
1636         * html/HTMLParser.cpp:
1637         (WebCore::HTMLParser::HTMLParser):
1638         (WebCore::HTMLParser::~HTMLParser):
1639         (WebCore::HTMLParser::reset):
1640         (WebCore::HTMLParser::setCurrent):
1641         (WebCore::HTMLParser::parseToken):
1642         (WebCore::HTMLParser::parseDoctypeToken):
1643         (WebCore::isTableSection):
1644         (WebCore::isTablePart):
1645         (WebCore::isTableRelated):
1646         (WebCore::HTMLParser::insertNode):
1647         (WebCore::HTMLParser::handleError):
1648         (WebCore::HTMLParser::textCreateErrorCheck):
1649         (WebCore::HTMLParser::commentCreateErrorCheck):
1650         (WebCore::HTMLParser::headCreateErrorCheck):
1651         (WebCore::HTMLParser::bodyCreateErrorCheck):
1652         (WebCore::HTMLParser::framesetCreateErrorCheck):
1653         (WebCore::HTMLParser::formCreateErrorCheck):
1654         (WebCore::HTMLParser::isindexCreateErrorCheck):
1655         (WebCore::HTMLParser::noscriptCreateErrorCheck):
1656         (WebCore::HTMLParser::pCloserStrictCreateErrorCheck):
1657         (WebCore::HTMLParser::mapCreateErrorCheck):
1658         (WebCore::HTMLParser::getNode):
1659         (WebCore::HTMLParser::allowNestedRedundantTag):
1660         (WebCore::HTMLParser::processCloseTag):
1661         (WebCore::HTMLParser::isInline):
1662         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
1663         (WebCore::HTMLParser::reopenResidualStyleTags):
1664         (WebCore::HTMLParser::pushBlock):
1665         (WebCore::HTMLParser::popBlock):
1666         (WebCore::HTMLParser::popOneBlockCommon):
1667         (WebCore::HTMLParser::popOneBlock):
1668         (WebCore::HTMLParser::moveOneBlockToStack):
1669         (WebCore::HTMLParser::checkIfHasPElementInScope):
1670         (WebCore::HTMLParser::popInlineBlocks):
1671         (WebCore::HTMLParser::freeBlock):
1672         (WebCore::HTMLParser::createHead):
1673         (WebCore::HTMLParser::handleIsindex):
1674         (WebCore::HTMLParser::startBody):
1675         (WebCore::HTMLParser::finished):
1676         (WebCore::HTMLParser::reportErrorToConsole):
1677         * html/HTMLParser.h:
1678
1679 2009-02-09  Alexey Proskuryakov  <ap@webkit.org>
1680
1681         Applying review comment on a second location.
1682
1683         * rendering/RenderText.cpp: (WebCore::RenderText::nextOffset):
1684         Use "ifdef BUILDING_ON_TIGER".
1685
1686 2009-02-09  Alexey Proskuryakov  <ap@webkit.org>
1687
1688         Reviewed by Darin Adler.
1689
1690         https://bugs.webkit.org/show_bug.cgi?id=23845
1691         editing/deleting/backward-deletion.html fails on Tiger
1692
1693         * rendering/RenderText.cpp:
1694         (WebCore::RenderText::previousOffset):
1695         (WebCore::RenderText::nextOffset):
1696         Work around a bug in older ICU versions by hardcoding narrow voiced marks.
1697
1698 2009-02-09  Adam Roben  <aroben@apple.com>
1699
1700         Windows build fix
1701
1702         * WebCore.vcproj/WebCore.vcproj: Fix the XML syntax.
1703
1704 2009-02-09  Jian Li  <jianli@chromium.org>
1705
1706         Reviewed by Alexey Proskuryakov.
1707
1708         Make WorkerMessagingProxy derive from two base proxy classes.
1709         https://bugs.webkit.org/show_bug.cgi?id=23777
1710
1711         * bindings/js/WorkerScriptController.cpp:
1712         (WebCore::WorkerScriptController::evaluate):
1713         * dom/Worker.cpp:
1714         (WebCore::Worker::terminate):
1715         (WebCore::Worker::hasPendingActivity):
1716         * dom/WorkerContext.cpp:
1717         (WebCore::WorkerContext::reportException):
1718         * dom/WorkerMessagingProxy.cpp:
1719         (WebCore::WorkerThreadActivityReportTask::performTask):
1720         (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
1721         (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
1722         (WebCore::WorkerMessagingProxy::terminateWorkerContext):
1723         (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage):
1724         (WebCore::WorkerMessagingProxy::reportPendingActivity):
1725         (WebCore::WorkerMessagingProxy::reportPendingActivityInternal):
1726         (WebCore::WorkerMessagingProxy::hasPendingActivity):
1727         * dom/WorkerMessagingProxy.h:
1728
1729 2009-02-09  Jian Li  <jianli@chromium.org>
1730
1731         Reviewed by Alexey Proskuryakov.
1732
1733         Introduce 2 base classes to split WorkerMessagingProxy.
1734         https://bugs.webkit.org/show_bug.cgi?id=23776
1735
1736         * GNUmakefile.am:
1737         * WebCore.vcproj/WebCore.vcproj:
1738         * WebCore.xcodeproj/project.pbxproj:
1739         * dom/WorkerContextProxy.h: Added.
1740         (WebCore::WorkerContextProxy::~WorkerContextProxy):
1741         * dom/WorkerObjectProxy.h: Added.
1742         (WebCore::WorkerObjectProxy::~WorkerObjectProxy):
1743
1744 2009-02-08  David Hyatt  <hyatt@apple.com>
1745
1746         Fix for https://bugs.webkit.org/show_bug.cgi?id=23839
1747
1748         Make sure that generated content is properly handled when content is moved from a block run-in
1749         to an inline run-in.
1750
1751         Reviewed by Sam Weinig
1752
1753         Added fast/runin/002.html
1754
1755         * rendering/RenderBlock.cpp:
1756         (WebCore::RenderBlock::handleRunInChild):
1757
1758 2009-02-08  David Hyatt  <hyatt@apple.com>
1759
1760         Fix for https://bugs.webkit.org/show_bug.cgi?id=23832, crash when inspecting an image using the
1761         Web inspector.
1762
1763         Reviewed by Mark Rowe
1764
1765         * rendering/RenderObject.cpp:
1766         (WebCore::RenderObject::absoluteRectsForRange):
1767         (WebCore::RenderObject::absoluteQuadsForRange):
1768
1769 2009-02-08  Dirk Schulze  <krit@webkit.org>
1770
1771         Unreviewed Qt build fix.
1772         
1773         TransformationMatrix changes in r40761 broke QT build.
1774
1775         * platform/graphics/qt/GraphicsContextQt.cpp:
1776         (WebCore::GraphicsContext::getCTM):
1777         (WebCore::GraphicsContext::scale):
1778
1779 2009-02-08  Dirk Schulze  <krit@webkit.org>
1780
1781         Reviewed by Holger Freyther.
1782
1783         This is a follow up of the last commit. It cleans up TransformationMatrix.h
1784         and convert to a series of #elif.
1785
1786         * platform/graphics/transforms/TransformationMatrix.h:
1787
1788 2009-02-08  Gustavo Noronha Silva  <gns@gnome.org>
1789
1790         Reviewed by Simon Fraser.
1791
1792         [CAIRO] build broken by TransformationMatrix rework
1793         https://bugs.webkit.org/show_bug.cgi?id=23831
1794
1795         Fixed cairo build after the TransformationMatrix rework done in
1796         revision 40761.
1797
1798         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1799         (WebCore::GraphicsContext::getCTM):
1800         (WebCore::GraphicsContext::concatCTM):
1801         * platform/graphics/cairo/TransformationMatrixCairo.cpp:
1802         (WebCore::TransformationMatrix::operator cairo_matrix_t):
1803         * platform/graphics/transforms/TransformationMatrix.h:
1804
1805 2009-02-07  David Hyatt  <hyatt@apple.com>
1806
1807         Shrink the size of all InlineTextBoxes and all InlineBoxes (for images and replaced elements) by four bytes.
1808         Change the overflow variable on InlineFlowBoxes into a short and move the bits for InlineFlowBoxes out of the
1809         base InlineBox class.  Since the number of bits in the base class was 35, shoving the 3 bits for InlineFlowBoxes
1810         back down into that class (into the 16 bits exposed by making the overflow variable into a short), all text
1811         boxes and image boxes shrink by 4 bytes.
1812
1813         Reviewed by Anders
1814
1815         * rendering/InlineBox.h:
1816         (WebCore::InlineBox::InlineBox):
1817         * rendering/InlineFlowBox.cpp:
1818         (WebCore::InlineFlowBox::placeBoxesHorizontally):
1819         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1820         (WebCore::InlineFlowBox::placeBoxesVertically):
1821         * rendering/InlineFlowBox.h:
1822         (WebCore::InlineFlowBox::InlineFlowBox):
1823         (WebCore::InlineFlowBox::maxHorizontalVisualOverflow):
1824         (WebCore::InlineFlowBox::hasTextChildren):
1825
1826 2009-02-07  Dean Jackson  <dino@apple.com>
1827
1828         Attempted build fix for Qt. Not reviewed.
1829
1830         TransformationMatrix changes in r40761 broke non-Apple builds.
1831
1832         * platform/graphics/qt/TransformationMatrixQt.cpp:
1833         (WebCore::TransformationMatrix::operator QMatrix):
1834         * platform/graphics/transforms/TransformationMatrix.h:
1835
1836 2009-02-07  David Hyatt  <hyatt@apple.com>
1837
1838         This patch changes the base class of RenderInline from RenderBox to RenderBoxModelObject.  This shift
1839         in base class knocks 32 bytes off the size of every RenderInline.  All of the necessary functions
1840         for both RenderInline and RenderBox have either been pulled up into RenderBoxModelObject for sharing
1841         or split into two functions (one in each derived class).
1842
1843         Reviewed by Anders and Antti
1844
1845         * dom/Element.cpp:
1846         (WebCore::Element::offsetLeft):
1847         (WebCore::Element::offsetTop):
1848         (WebCore::Element::offsetWidth):
1849         (WebCore::Element::offsetHeight):
1850         (WebCore::Element::offsetParent):
1851         (WebCore::Element::clientWidth):
1852         (WebCore::Element::clientHeight):
1853         (WebCore::Element::scrollWidth):
1854         (WebCore::Element::scrollHeight):
1855         * dom/Node.cpp:
1856         (WebCore::Node::renderBox):
1857         (WebCore::Node::renderBoxModelObject):
1858         * dom/Node.h:
1859         * html/HTMLAnchorElement.cpp:
1860         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
1861         * rendering/InlineBox.h:
1862         (WebCore::InlineBox::boxModelObject):
1863         * rendering/InlineFlowBox.cpp:
1864         (WebCore::InlineFlowBox::marginLeft):
1865         (WebCore::InlineFlowBox::marginRight):
1866         (WebCore::InlineFlowBox::placeBoxesHorizontally):
1867         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1868         (WebCore::InlineFlowBox::placeBoxesVertically):
1869         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
1870         * rendering/InlineFlowBox.h:
1871         (WebCore::InlineFlowBox::borderLeft):
1872         (WebCore::InlineFlowBox::borderRight):
1873         (WebCore::InlineFlowBox::paddingLeft):
1874         (WebCore::InlineFlowBox::paddingRight):
1875         * rendering/RenderBlock.cpp:
1876         (WebCore::getBorderPaddingMargin):
1877         (WebCore::RenderBlock::calcInlinePrefWidths):
1878         * rendering/RenderBox.cpp:
1879         (WebCore::RenderBox::imageChanged):
1880         (WebCore::RenderBox::calcReplacedWidthUsing):
1881         (WebCore::RenderBox::calcReplacedHeightUsing):
1882         (WebCore::RenderBox::containingBlockWidthForPositioned):
1883         (WebCore::RenderBox::containingBlockHeightForPositioned):
1884         (WebCore::RenderBox::calcAbsoluteHorizontal):
1885         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
1886         (WebCore::RenderBox::calcAbsoluteVertical):
1887         (WebCore::RenderBox::calcAbsoluteVerticalValues):
1888         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
1889         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
1890         (WebCore::RenderBox::positionForCoordinates):
1891         * rendering/RenderBox.h:
1892         (WebCore::RenderBox::borderBoundingBox):
1893         (WebCore::RenderBox::offsetHeight):
1894         (WebCore::RenderBox::marginTop):
1895         (WebCore::RenderBox::marginBottom):
1896         (WebCore::RenderBox::marginLeft):
1897         (WebCore::RenderBox::marginRight):
1898         * rendering/RenderBoxModelObject.cpp:
1899         (WebCore::RenderBoxModelObject::offsetLeft):
1900         (WebCore::RenderBoxModelObject::offsetTop):
1901         (WebCore::RenderBoxModelObject::paddingTop):
1902         (WebCore::RenderBoxModelObject::paddingBottom):
1903         (WebCore::RenderBoxModelObject::paddingLeft):
1904         (WebCore::RenderBoxModelObject::paddingRight):
1905         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1906         (WebCore::RenderBoxModelObject::calculateBackgroundSize):
1907         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1908         * rendering/RenderBoxModelObject.h:
1909         (WebCore::RenderBoxModelObject::borderTop):
1910         (WebCore::RenderBoxModelObject::borderBottom):
1911         (WebCore::RenderBoxModelObject::borderLeft):
1912         (WebCore::RenderBoxModelObject::borderRight):
1913         (WebCore::RenderBoxModelObject::hasHorizontalBordersPaddingOrMargin):
1914         (WebCore::RenderBoxModelObject::hasHorizontalBordersOrPadding):
1915         (WebCore::RenderBoxModelObject::childBecameNonInline):
1916         (WebCore::RenderBoxModelObject::isBoxModelObject):
1917         * rendering/RenderInline.cpp:
1918         (WebCore::RenderInline::RenderInline):
1919         (WebCore::RenderInline::destroy):
1920         (WebCore::RenderInline::styleDidChange):
1921         (WebCore::nextContinuation):
1922         (WebCore::RenderInline::continuationBefore):
1923         (WebCore::RenderInline::addChildIgnoringContinuation):
1924         (WebCore::RenderInline::splitInlines):
1925         (WebCore::RenderInline::splitFlow):
1926         (WebCore::RenderInline::addChildToContinuation):
1927         (WebCore::RenderInline::absoluteRects):
1928         (WebCore::RenderInline::offsetLeft):
1929         (WebCore::RenderInline::offsetTop):
1930         (WebCore::RenderInline::marginLeft):
1931         (WebCore::RenderInline::marginRight):
1932         (WebCore::RenderInline::positionForCoordinates):
1933         (WebCore::RenderInline::clippedOverflowRectForRepaint):
1934         (WebCore::RenderInline::rectWithOutlineForRepaint):
1935         (WebCore::RenderInline::computeRectForRepaint):
1936         (WebCore::RenderInline::updateDragState):
1937         (WebCore::RenderInline::childBecameNonInline):
1938         (WebCore::RenderInline::updateHitTestResult):
1939         (WebCore::RenderInline::imageChanged):
1940         (WebCore::RenderInline::addFocusRingRects):
1941         * rendering/RenderInline.h:
1942         (WebCore::RenderInline::marginTop):
1943         (WebCore::RenderInline::marginBottom):
1944         (WebCore::RenderInline::continuation):
1945         (WebCore::RenderInline::setContinuation):
1946         * rendering/RenderLineBoxList.cpp:
1947         (WebCore::RenderLineBoxList::paint):
1948         (WebCore::RenderLineBoxList::hitTest):
1949         * rendering/RenderLineBoxList.h:
1950         * rendering/RenderObject.cpp:
1951         (WebCore::addLayers):
1952         (WebCore::RenderObject::removeLayers):
1953         (WebCore::RenderObject::moveLayers):
1954         (WebCore::RenderObject::findNextLayer):
1955         (WebCore::RenderObject::enclosingLayer):
1956         (WebCore::RenderObject::enclosingCompositingLayer):
1957         (WebCore::RenderObject::setLayerNeedsFullRepaint):
1958         (WebCore::RenderObject::handleDynamicFloatPositionChange):
1959         (WebCore::RenderObject::destroy):
1960         (WebCore::RenderObject::offsetParent):
1961         * rendering/RenderObject.h:
1962         (WebCore::RenderObject::isInlineContinuation):
1963         * rendering/RenderSVGTSpan.cpp:
1964         (WebCore::RenderSVGTSpan::absoluteRects):
1965         (WebCore::RenderSVGTSpan::absoluteQuads):
1966         * rendering/RenderSVGTextPath.cpp:
1967         (WebCore::RenderSVGTextPath::absoluteRects):
1968         (WebCore::RenderSVGTextPath::absoluteQuads):
1969         * rendering/RenderTreeAsText.cpp:
1970         (WebCore::operator<<):
1971         * rendering/RenderView.cpp:
1972         (WebCore::RenderView::setBestTruncatedAt):
1973         * rendering/RenderView.h:
1974         * rendering/bidi.cpp:
1975         (WebCore::getBorderPaddingMargin):
1976         (WebCore::inlineWidth):
1977         (WebCore::RenderBlock::layoutInlineChildren):
1978         (WebCore::inlineFlowRequiresLineBox):
1979         (WebCore::requiresLineBox):
1980         (WebCore::RenderBlock::findNextLineBreak):
1981         * wml/WMLAElement.cpp:
1982         (WebCore::WMLAElement::isKeyboardFocusable):
1983
1984 2009-02-07  Yael Aharon <yael.aharon@nokia.com>
1985
1986         Reviewed by Timothy Hatcher <timothy@hatcher.name>
1987
1988         Partial fix for <https://bugs.webkit.org/show_bug.cgi?id=21051>
1989         Include localStorage and sessionStorage in DatabasesPanel.
1990
1991         * WebCore.vcproj/WebCore.vcproj:
1992         * inspector/InspectorController.cpp:
1993         (WebCore::InspectorDOMStorageResource::create):
1994         (WebCore::InspectorDOMStorageResource::setScriptObject):
1995         (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
1996         (WebCore::InspectorController::populateScriptObjects):
1997         (WebCore::InspectorController::addDOMStorageScriptResource):
1998         (WebCore::InspectorController::removeDOMStorageScriptResource):
1999         (WebCore::InspectorController::resetScriptObjects):
2000         (WebCore::InspectorController::didCommitLoad):
2001         (WebCore::InspectorController::didUseDOMStorage):
2002         * inspector/InspectorController.h:
2003         * inspector/front-end/DOMStorage.js: Added.
2004         (WebInspector.DOMStorage):
2005         (WebInspector.DOMStorage.prototype.get domStorage):
2006         (WebInspector.DOMStorage.prototype.set domStorage):
2007         (WebInspector.DOMStorage.prototype.get domain):
2008         (WebInspector.DOMStorage.prototype.set domain):
2009         (WebInspector.DOMStorage.prototype.get isLocalStorage):
2010         (WebInspector.DOMStorage.prototype.set isLocalStorage):
2011         * inspector/front-end/DOMStorageItemsView.js: Added.
2012         (WebInspector.DOMStorageItemsView):
2013         (WebInspector.DOMStorageItemsView.prototype.show):
2014         (WebInspector.DOMStorageItemsView.prototype.update):
2015         * inspector/front-end/DatabaseQueryView.js:
2016         (WebInspector.DatabaseQueryView):
2017         * inspector/front-end/DatabaseTableView.js:
2018         (WebInspector.DatabaseTableView):
2019         (WebInspector.DatabaseTableView.prototype._queryFinished):
2020         (WebInspector.DatabaseTableView.prototype._queryError):
2021         * inspector/front-end/DatabasesPanel.js:
2022         (WebInspector.DatabasesPanel):
2023         (WebInspector.DatabasesPanel.prototype.reset):
2024         (WebInspector.DatabasesPanel.prototype.addDatabase):
2025         (WebInspector.DatabasesPanel.prototype.addDOMStorage):
2026         (WebInspector.DatabasesPanel.prototype.showDatabase):
2027         (WebInspector.DatabasesPanel.prototype.showDOMStorage):
2028         (WebInspector.DatabasesPanel.prototype.closeVisibleView):
2029         (WebInspector.DatabasesPanel.prototype.updateDatabaseTables):
2030         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
2031         (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
2032         (WebInspector.DOMStorageSidebarTreeElement):
2033         (WebInspector.DOMStorageSidebarTreeElement.prototype.onselect):
2034         (WebInspector.DOMStorageSidebarTreeElement.prototype.get mainTitle):
2035         (WebInspector.DOMStorageSidebarTreeElement.prototype.set mainTitle):
2036         (WebInspector.DOMStorageSidebarTreeElement.prototype.get subtitle):
2037         (WebInspector.DOMStorageSidebarTreeElement.prototype.set subtitle):
2038         * inspector/front-end/Images/domStorage.png: Added.
2039         * inspector/front-end/WebKit.qrc:
2040         * inspector/front-end/inspector.css:
2041         * inspector/front-end/inspector.html:
2042         * inspector/front-end/inspector.js:
2043         (WebInspector.addDOMStorage):
2044         * page/DOMWindow.cpp:
2045         (WebCore::DOMWindow::sessionStorage):
2046         (WebCore::DOMWindow::localStorage):
2047
2048 2009-02-07  Feng Qian <feng@chromium.org>
2049
2050         Reviewed by Eric Seidel <eric@webkit.org>
2051
2052         Put #if ENABLE(PAN_SCROLLING) around EventHandler::setPanScrollCursor. 
2053         https://bugs.webkit.org/show_bug.cgi?id=23574
2054
2055         * page/EventHandler.cpp:
2056         * page/EventHandler.h:
2057
2058 2009-02-07  Zalan Bujtas  <zbujtas@gmail.com>
2059
2060         Reviewed by Rob Buis <rwlbuis@gmail.com>
2061         
2062         https://bugs.webkit.org/show_bug.cgi?id=23788
2063         call style()->isOriginalDisplayInlineType() on RenderBox instead of RenderObject. 
2064         
2065         * rendering/bidi.cpp:
2066         (WebCore::RenderBlock::skipLeadingWhitespace):
2067
2068 2009-02-07  Rob Buis  <rwlbuis@gmail.com>
2069
2070         Reviewed by Darin.
2071
2072         https://bugs.webkit.org/show_bug.cgi?id=3248
2073         Bug 3248: Mouse events on OPTION element seem to be ignored
2074
2075         Support mouse events on options in a select when it forms a list box.
2076
2077         Test: fast/forms/option-mouseevents.html
2078
2079         * html/HTMLSelectElement.cpp: Convert to coords relative to the list box.
2080         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2081         * rendering/RenderListBox.cpp: Handle hit testing for option elements.
2082         (WebCore::RenderListBox::nodeAtPoint):
2083         * rendering/RenderListBox.h:
2084
2085 2009-02-07  Adam Treat  <adam.treat@torchmobile.com>
2086
2087         Prospective build fix for all non-Apple platforms.
2088
2089         * platform/graphics/transforms/TransformationMatrix.h:
2090
2091 2009-02-06  Chris Marrin  <cmarrin@apple.com>
2092
2093         Reviewed by Simon Fraser.
2094
2095         https://bugs.webkit.org/show_bug.cgi?id=6868
2096
2097         I have not only made TransformationMatrix platform independent
2098         but I've also added 3D methods, which will be used when I update
2099         WebKitCSSMatrix to include 3D (see https://bugs.webkit.org/show_bug.cgi?id=23689).
2100         I am now keeping a full 4x4 matrix in TransformationMatrix. I'm also doing all
2101         the math as doubles rather than floats. This makes a TransformationMatrix
2102         go from 24 bytes to 128 bytes, but I don't think this class is used enough to
2103         make this overhead will be significant.
2104
2105         The change from floats to doubles has caused some differences in rounding and
2106         display (sometimes things that displayed as -0.0 now display as 0.0 or vice versa),
2107         so I've had to change some LayoutTest results in the SVG tests.
2108
2109         * platform/graphics/FloatPoint.cpp:
2110         (WebCore::FloatPoint::matrixTransform):
2111         * platform/graphics/cg/GraphicsContextCG.cpp:
2112         (WebCore::GraphicsContext::getCTM):
2113         * platform/graphics/cg/TransformationMatrixCG.cpp:
2114         (WebCore::TransformationMatrix::operator CGAffineTransform):
2115         * platform/graphics/transforms/TransformationMatrix.cpp:
2116         (WebCore::determinant2x2):
2117         (WebCore::determinant3x3):
2118         (WebCore::determinant4x4):
2119         (WebCore::adjoint):
2120         (WebCore::inverse):
2121         (WebCore::transposeMatrix4):
2122         (WebCore::v4MulPointByMatrix):
2123         (WebCore::v3Length):
2124         (WebCore::v3Scale):
2125         (WebCore::v3Dot):
2126         (WebCore::v3Combine):
2127         (WebCore::v3Cross):
2128         (WebCore::decompose):
2129         (WebCore::slerp):
2130         (WebCore::TransformationMatrix::scale):
2131         (WebCore::TransformationMatrix::rotateFromVector):
2132         (WebCore::TransformationMatrix::flipX):
2133         (WebCore::TransformationMatrix::flipY):
2134         (WebCore::makeMapBetweenRects):
2135         (WebCore::TransformationMatrix::projectPoint):
2136         (WebCore::TransformationMatrix::mapPoint):
2137         (WebCore::TransformationMatrix::mapRect):
2138         (WebCore::TransformationMatrix::mapQuad):
2139         (WebCore::TransformationMatrix::scale3d):
2140         (WebCore::TransformationMatrix::rotate3d):
2141         (WebCore::TransformationMatrix::translate):
2142         (WebCore::TransformationMatrix::translate3d):
2143         (WebCore::TransformationMatrix::skew):
2144         (WebCore::TransformationMatrix::applyPerspective):
2145         (WebCore::TransformationMatrix::multLeft):
2146         (WebCore::TransformationMatrix::multVecMatrix):
2147         (WebCore::TransformationMatrix::isInvertible):
2148         (WebCore::TransformationMatrix::inverse):
2149         (WebCore::blendFloat):
2150         (WebCore::TransformationMatrix::blend):
2151         (WebCore::TransformationMatrix::decompose):
2152         (WebCore::TransformationMatrix::recompose):
2153         * platform/graphics/transforms/TransformationMatrix.h:
2154         (WebCore::TransformationMatrix::TransformationMatrix):
2155         (WebCore::TransformationMatrix::setMatrix):
2156         (WebCore::TransformationMatrix::operator =):
2157         (WebCore::TransformationMatrix::makeIdentity):
2158         (WebCore::TransformationMatrix::isIdentity):
2159         (WebCore::TransformationMatrix::map):
2160         (WebCore::TransformationMatrix::m11):
2161         (WebCore::TransformationMatrix::setM11):
2162         (WebCore::TransformationMatrix::m12):
2163         (WebCore::TransformationMatrix::setM12):
2164         (WebCore::TransformationMatrix::m13):
2165         (WebCore::TransformationMatrix::setM13):
2166         (WebCore::TransformationMatrix::m14):
2167         (WebCore::TransformationMatrix::setM14):
2168         (WebCore::TransformationMatrix::m21):
2169         (WebCore::TransformationMatrix::setM21):
2170         (WebCore::TransformationMatrix::m22):
2171         (WebCore::TransformationMatrix::setM22):
2172         (WebCore::TransformationMatrix::m23):
2173         (WebCore::TransformationMatrix::setM23):
2174         (WebCore::TransformationMatrix::m24):
2175         (WebCore::TransformationMatrix::setM24):
2176         (WebCore::TransformationMatrix::m31):
2177         (WebCore::TransformationMatrix::setM31):
2178         (WebCore::TransformationMatrix::m32):
2179         (WebCore::TransformationMatrix::setM32):
2180         (WebCore::TransformationMatrix::m33):
2181         (WebCore::TransformationMatrix::setM33):
2182         (WebCore::TransformationMatrix::m34):
2183         (WebCore::TransformationMatrix::setM34):
2184         (WebCore::TransformationMatrix::m41):
2185         (WebCore::TransformationMatrix::setM41):
2186         (WebCore::TransformationMatrix::m42):
2187         (WebCore::TransformationMatrix::setM42):
2188         (WebCore::TransformationMatrix::m43):
2189         (WebCore::TransformationMatrix::setM43):
2190         (WebCore::TransformationMatrix::m44):
2191         (WebCore::TransformationMatrix::setM44):
2192         (WebCore::TransformationMatrix::a):
2193         (WebCore::TransformationMatrix::setA):
2194         (WebCore::TransformationMatrix::b):
2195         (WebCore::TransformationMatrix::setB):
2196         (WebCore::TransformationMatrix::c):
2197         (WebCore::TransformationMatrix::setC):
2198         (WebCore::TransformationMatrix::d):
2199         (WebCore::TransformationMatrix::setD):
2200         (WebCore::TransformationMatrix::e):
2201         (WebCore::TransformationMatrix::setE):
2202         (WebCore::TransformationMatrix::f):
2203         (WebCore::TransformationMatrix::setF):
2204         (WebCore::TransformationMatrix::multiply):
2205         (WebCore::TransformationMatrix::rotate):
2206         (WebCore::TransformationMatrix::skewX):
2207         (WebCore::TransformationMatrix::skewY):
2208         (WebCore::TransformationMatrix::hasPerspective):
2209         (WebCore::TransformationMatrix::):
2210         (WebCore::TransformationMatrix::isAffine):
2211         (WebCore::TransformationMatrix::operator==):
2212         (WebCore::TransformationMatrix::operator*=):
2213         (WebCore::TransformationMatrix::operator*):
2214         * rendering/RenderForeignObject.cpp:
2215         (WebCore::RenderForeignObject::nodeAtPoint):
2216         * rendering/RenderLayer.cpp:
2217         (WebCore::RenderLayer::updateTransform):
2218         * rendering/RenderPath.cpp:
2219         (WebCore::RenderPath::mapAbsolutePointToLocal):
2220         * rendering/RenderSVGImage.cpp:
2221         (WebCore::RenderSVGImage::nodeAtPoint):
2222         * rendering/RenderSVGRoot.cpp:
2223         (WebCore::RenderSVGRoot::nodeAtPoint):
2224         * rendering/RenderSVGText.cpp:
2225         (WebCore::RenderSVGText::nodeAtPoint):
2226         * rendering/RenderSVGViewportContainer.cpp:
2227         (WebCore::RenderSVGViewportContainer::nodeAtPoint):
2228         * svg/SVGAnimateMotionElement.cpp:
2229         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
2230         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
2231         * svg/SVGSVGElement.cpp:
2232         (WebCore::SVGSVGElement::viewport):
2233         * svg/SVGTransform.cpp:
2234         (SVGTransform::setTranslate):
2235         (SVGTransform::setScale):
2236         (SVGTransform::setRotate):
2237         (SVGTransform::setSkewX):
2238         (SVGTransform::setSkewY):
2239         * svg/graphics/SVGResourceMarker.cpp:
2240         (WebCore::SVGResourceMarker::draw):
2241
2242 2009-02-07  Simon Hausmann  <simon.hausmann@nokia.com>
2243
2244         Reviewed by Tor Arne Vestbø.
2245
2246         For the Qt port implement Image::drawPattern via
2247         BitmapImage::drawPatterns' implementation and implement
2248         Gradient::fill.
2249
2250         This partially fixes rendering of generated gradient content.
2251
2252         * platform/graphics/BitmapImage.h: Remove the drawPattern
2253         implementation for the Qt port in BitmapImage, it's been moved to
2254         Image::drawPattern.
2255         * platform/graphics/qt/GradientQt.cpp:
2256         (WebCore::Gradient::fill): Implement using a simple fillRect.
2257         * platform/graphics/qt/ImageQt.cpp:
2258         (WebCore::Image::drawPattern): Moved implementation from
2259         BitmapImage::drawPattern.
2260
2261 2009-02-06  Eric Seidel  <eric@webkit.org>
2262
2263         Reviewed by Justin Garcia.
2264
2265         DOMSelection.getRangeAt() returns a different range than the selection
2266         https://bugs.webkit.org/show_bug.cgi?id=23601
2267
2268         Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range
2269
2270         Test: fast/dom/Selection/getRangeAt.html
2271
2272         * WebCore.base.exp:
2273         * dom/InputElement.cpp:
2274         (WebCore::InputElement::handleBeforeTextInsertedEvent):
2275         * editing/DeleteButtonController.cpp:
2276         (WebCore::enclosingDeletableElement):
2277         * editing/Editor.cpp:
2278         (WebCore::Editor::selectedRange):
2279         (WebCore::Editor::fontForSelection):
2280         (WebCore::Editor::applyStyleToSelection):
2281         (WebCore::Editor::applyParagraphStyleToSelection):
2282         (WebCore::Editor::insertTextWithoutSendingTextEvent):
2283         (WebCore::Editor::insertLineBreak):
2284         (WebCore::Editor::insertParagraphSeparator):
2285         (WebCore::Editor::ignoreSpelling):
2286         (WebCore::Editor::isSelectionUngrammatical):
2287         (WebCore::Editor::guessesForUngrammaticalSelection):
2288         (WebCore::markMisspellingsOrBadGrammar):
2289         (WebCore::Editor::rangeForPoint):
2290         * editing/EditorCommand.cpp:
2291         (WebCore::expandSelectionToGranularity):
2292         (WebCore::executeDeleteToMark):
2293         (WebCore::executeSelectToMark):
2294         * editing/RemoveFormatCommand.cpp:
2295         (WebCore::RemoveFormatCommand::doApply):
2296         * editing/ReplaceSelectionCommand.cpp:
2297         (WebCore::ReplacementFragment::ReplacementFragment):
2298         * editing/Selection.cpp:
2299         (WebCore::Selection::firstRange):
2300         (WebCore::Selection::toNormalizedRange):
2301         * editing/Selection.h:
2302         * editing/SelectionController.h:
2303         (WebCore::SelectionController::toNormalizedRange):
2304         * editing/TypingCommand.cpp:
2305         (WebCore::TypingCommand::deleteKeyPressed):
2306         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2307         * editing/markup.cpp:
2308         (WebCore::createMarkup):
2309         * loader/archive/cf/LegacyWebArchive.cpp:
2310         (WebCore::LegacyWebArchive::createFromSelection):
2311         * page/AccessibilityRenderObject.cpp:
2312         (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
2313         * page/ContextMenuController.cpp:
2314         (WebCore::ContextMenuController::contextMenuItemSelected):
2315         * page/DOMSelection.cpp:
2316         (WebCore::DOMSelection::getRangeAt):
2317         (WebCore::DOMSelection::addRange):
2318         (WebCore::DOMSelection::deleteFromDocument):
2319         (WebCore::DOMSelection::containsNode):
2320         (WebCore::DOMSelection::toString):
2321         * page/DragController.cpp:
2322         (WebCore::setSelectionToDragCaret):
2323         (WebCore::DragController::concludeEditDrag):
2324         (WebCore::DragController::startDrag):
2325         * page/EventHandler.cpp:
2326         (WebCore::EventHandler::dispatchMouseEvent):
2327         * page/Frame.cpp:
2328         (WebCore::Frame::selectedText):
2329         (WebCore::Frame::shouldChangeSelection):
2330         (WebCore::Frame::shouldDeleteSelection):
2331         (WebCore::Frame::selectionComputedStyle):
2332         (WebCore::Frame::selectionTextRects):
2333         (WebCore::Frame::findString):
2334         (WebCore::Frame::respondToChangedSelection):
2335         * platform/ContextMenu.cpp:
2336         (WebCore::selectionContainsPossibleWord):
2337
2338 2009-02-06  Brady Eidson  <beidson@apple.com>
2339
2340         Reviewed by Dan Bernstein
2341
2342         <rdar://problem/6563402> - Workaround a case where ::didReceiveData() might be called on a ResourceHandleClient 
2343         before ::didReceiveResponse().
2344
2345         No layout test, as we don't have a concrete way to reproduce these conditions.  To that effect, I've added an ASSERT
2346         to catch the conditions before the workaround takes effect in case any WebKit Debug-build developer runs across
2347         this case and can come up with something more reproducible.
2348
2349         * loader/MainResourceLoader.cpp:
2350         (WebCore::MainResourceLoader::didReceiveData): If the response is null create a dummy response.  This is much 
2351           like the FrameLoader::init() response that is used for initial document creation.
2352
2353 2009-02-06  Geoffrey Garen  <ggaren@apple.com>
2354
2355         Build fix.
2356
2357         * WebCore.base.exp:
2358
2359 2009-02-06  Xan Lopez  <xan@gnome.org>
2360
2361         Reviewed by Holger Freyther.
2362
2363         https://bugs.webkit.org/show_bug.cgi?id=23621
2364
2365         Do not use m_scrollOffset to check if we are setting the same
2366         value than we already have.
2367
2368         m_scrollOffset starts at 0 for ScrollView, so when opening a new
2369         page and scrolling to 0 (the usual case) the check will fail and
2370         we won't update the adjustment value, resulting in a possibly
2371         mispositioned scrollbar. Use the adjustment value directly
2372         instead, which is what we are updating anyway.
2373
2374         * platform/gtk/ScrollViewGtk.cpp:
2375         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
2376         (WebCore::ScrollView::platformHandleVerticalAdjustment):
2377
2378 2009-02-06  Justin Garcia  <justin.garcia@apple.com>
2379
2380         Reviewed by Oliver Hunt.
2381         
2382         https://bugs.webkit.org/show_bug.cgi?id=23800
2383         Header elements are not always preserved during paste
2384         
2385         At paste time, don't merge out of header elements.  At copy time, be sure to include
2386         headers in the list of special common ancestor blocks, so that copying a paragraph or less
2387         of content inside a header will include the header element in the copied markup.
2388
2389         * editing/ReplaceSelectionCommand.cpp:
2390         (WebCore::areSameHeaderElements):
2391         (WebCore::ReplaceSelectionCommand::shouldMerge):
2392         * editing/markup.cpp:
2393         (WebCore::isSpecialAncestorBlock):
2394         (WebCore::createMarkup):
2395
2396 2009-02-06  Geoffrey Garen  <ggaren@apple.com>
2397
2398         Reviewed by Sam Weinig.
2399
2400         Part III of <rdar://problem/6552272>.
2401         
2402         Make redirect data available to WebKit. (I tried having WebKit track this
2403         data for itself, but that went wrong -- it's just too hard to figure
2404         out the weird corners of the WebCore loader from within another framework.)
2405
2406         * loader/DocumentLoader.cpp:
2407         (WebCore::DocumentLoader::DocumentLoader):
2408         * loader/DocumentLoader.h: Store a flag indicating whether we created
2409         a global history entry. If we didn't, then we know that the next redirect
2410         should not link to us, since we're not in history.
2411         
2412         (WebCore::DocumentLoader::clientRedirectSourceForHistory):
2413         (WebCore::DocumentLoader::clientRedirectDestinationForHistory):
2414         (WebCore::DocumentLoader::setClientRedirectSourceForHistory):
2415         (WebCore::DocumentLoader::serverRedirectSourceForHistory):
2416         (WebCore::DocumentLoader::serverRedirectDestinationForHistory):
2417         (WebCore::DocumentLoader::didCreateGlobalHistoryEntry):
2418         (WebCore::DocumentLoader::setDidCreateGlobalHistoryEntry): Added accessors
2419         to help WebKit wade through the muck of WebCore history.
2420
2421         * loader/EmptyClients.h:
2422         (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryRedirectLinks): Renamed
2423         this client function to say what it does, instead of when it's called.
2424
2425         * loader/FrameLoader.cpp:
2426         (WebCore::FrameLoader::load):
2427         (WebCore::FrameLoader::loadWithNavigationAction): In the case of a redirect,
2428         store a link to the previous history URL in the new DocumentLoader, so
2429         it can update WebKit with that link when the load commits.
2430
2431         (WebCore::FrameLoader::updateHistory*): Use our new flags and names,
2432         described above.
2433
2434         * loader/FrameLoader.h:
2435         (WebCore::FrameLoader::documentLoader):
2436         (WebCore::FrameLoader::policyDocumentLoader):
2437         (WebCore::FrameLoader::provisionalDocumentLoader):
2438         (WebCore::FrameLoader::state): Inlined a few trivial functions because
2439         performance mistakes give me the itches.
2440         
2441         * loader/FrameLoaderClient.h: Renamed this client function to say what
2442         it does, instead of when it's called.
2443
2444 2009-02-06  Eric Seidel  <eric@webkit.org>
2445
2446         Reviewed by Justin Garcia.
2447
2448         Minor refactoring and cleanup to Selection code
2449         https://bugs.webkit.org/show_bug.cgi?id=23774
2450
2451         No functional changes, thus no tests.
2452
2453         * editing/Editor.cpp:
2454         (WebCore::Editor::applyStyle):
2455         (WebCore::Editor::applyParagraphStyle):
2456         * editing/Selection.cpp:
2457         (WebCore::Selection::Selection):
2458         (WebCore::Selection::setBaseAndExtentToDeepEquivalents):
2459         (WebCore::Selection::setStartAndEndFromBaseAndExtentRespectingGranularity):
2460         (WebCore::Selection::updateSelectionType):
2461         (WebCore::Selection::validate):
2462         (WebCore::Selection::setWithoutValidation):
2463         (WebCore::Selection::adjustSelectionToAvoidCrossingEditingBoundaries):
2464         * editing/Selection.h:
2465         (WebCore::Selection::):
2466         (WebCore::Selection::selectionType):
2467         (WebCore::Selection::extent):
2468         (WebCore::Selection::isNone):
2469         (WebCore::Selection::isCaret):
2470         (WebCore::Selection::isRange):
2471         (WebCore::Selection::isCaretOrRange):
2472         * editing/SelectionController.h:
2473         (WebCore::SelectionController::selectionType):
2474         * editing/TypingCommand.cpp:
2475         (WebCore::TypingCommand::deleteKeyPressed):
2476         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2477         * page/Frame.cpp:
2478         (WebCore::Frame::revealSelection):
2479
2480 2009-02-06  Dimitri Glazkov  <dglazkov@chromium.org>
2481
2482         Reviewed by Eric Seidel.
2483
2484         https://bugs.webkit.org/show_bug.cgi?id=23801
2485         Add custom V8 bindings for SVG.
2486
2487         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Added.
2488         (WebCore::CALLBACK_FUNC_DECL):
2489         * bindings/v8/custom/V8SVGLengthCustom.cpp: Added.
2490         (WebCore::ACCESSOR_GETTER):
2491         (WebCore::CALLBACK_FUNC_DECL):
2492         * bindings/v8/custom/V8SVGMatrixCustom.cpp: Added.
2493         (WebCore::CALLBACK_FUNC_DECL):
2494
2495 2009-02-06  David Levin  <levin@chromium.org>
2496
2497         Reviewed by Eric Seidel.
2498
2499         Bug 23792: unused param is used in RenderLayer.cp but not #include'd
2500         <https://bugs.webkit.org/show_bug.cgi?id=23792>
2501
2502         Add include file for UnusedParam which is used in this file.
2503
2504         * rendering/RenderLayer.cpp:
2505
2506 2009-02-06  David Levin  <levin@chromium.org>
2507
2508         Reviewed by Eric Seidel.
2509
2510         <https://bugs.webkit.org/show_bug.cgi?id=23741>
2511
2512         Bug 23798: KURLGoogle needs support for protocolInHTTPFamily
2513         <https://bugs.webkit.org/show_bug.cgi?id=23798>
2514
2515         Add protocolInHTTPFamily() to the KURLGoogle implementation.
2516         This is another chromium build fix to mirror r40553.
2517
2518         While in this file, I did some style fixes and consistency fixes:
2519         + fixed many_occurences_of_underscoring_naming
2520         + usages of NULL
2521         + comparisons to 0
2522         + changed the copyright remove an extraneous , and capitalize the (C)
2523           which was suggested for other files that I've submitted.
2524
2525         No observable change in behavior, so no test.
2526
2527         * platform/KURL.h:
2528         (WebCore::KURL::protocolInHTTPFamily):
2529         * platform/KURLGoogle.cpp:
2530         (WebCore::KURLCharsetConverter::ConvertFromUTF16):
2531         (WebCore::lowerCaseEqualsASCII):
2532         (WebCore::KURLGooglePrivate::KURLGooglePrivate):
2533         (WebCore::KURLGooglePrivate::setUtf8):
2534         (WebCore::KURLGooglePrivate::setAscii):
2535         (WebCore::KURLGooglePrivate::init):
2536         (WebCore::KURLGooglePrivate::initProtocolInHTTPFamily):
2537         (WebCore::KURLGooglePrivate::copyTo):
2538         (WebCore::KURLGooglePrivate::replaceComponents):
2539         (WebCore::KURL::KURL):
2540         (WebCore::KURL::createCFURL):
2541         (WebCore::KURL::isEmpty):
2542         (WebCore::KURL::protocolInHTTPFamily):
2543         (WebCore::KURL::query):
2544         (WebCore::decodeURLEscapeSequences):
2545         (WebCore::KURL::protocolIs):
2546         (WebCore::encodeWithURLEscapeSequences):
2547         (WebCore::KURL::invalidate):
2548         (WebCore::equalIgnoringRef):
2549         * platform/KURLGooglePrivate.h:
2550
2551 2009-02-06  David Kilzer  <ddkilzer@apple.com>
2552
2553         Bug 23741: StyleRareNonInheritedData::operator==() should not compare ContentData objects by pointer
2554
2555         Reviewed by Darin Adler.
2556
2557         * rendering/style/RenderStyle.cpp:
2558         (WebCore::RenderStyle::contentDataEquivalent): Moved method to
2559         WebCore::StyleRareNonInheritedData class.
2560         * rendering/style/RenderStyle.h:
2561         (WebCore::InheritedFlags::contentDataEquivalent): Replaced declaration
2562         with inline method that calls contentDataEquivalent() on
2563         WebCore::StyleRareNonInheritedData instead.
2564         * rendering/style/StyleRareNonInheritedData.cpp:
2565         (WebCore::StyleRareNonInheritedData::operator==): This is the bug fix!
2566         Replaced pointer comparison of ContentData objects with call to
2567         StyleRareNonInheritedData::contentDataEquivalent().
2568         (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Added.
2569         * rendering/style/StyleRareNonInheritedData.h:
2570         (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Added
2571         declaration.
2572
2573 2009-02-06  Simon Fraser  <simon.fraser@apple.com>
2574
2575         Reviewed by Eric Seidel
2576
2577         Factor code that checks whether the object is rooted in
2578         repaint() and repaintRectangle() into a common isRooted()
2579         method.
2580         
2581         * rendering/RenderObject.cpp:
2582         (WebCore::RenderObject::repaint):
2583         (WebCore::RenderObject::repaintRectangle):
2584         (WebCore::RenderObject::isRooted):
2585         * rendering/RenderObject.h:
2586
2587 2009-02-06  Simon Fraser  <simon.fraser@apple.com>
2588
2589         Reviewed by Eric Seidel
2590
2591         Expose an isRootLayer() method on RenderLayer that works whether the
2592         layer is rooted or not, and use that in a few places in the
2593         accelerated compositing code.
2594
2595         * rendering/RenderLayer.h:
2596         (WebCore::RenderLayer::isRootLayer):
2597         * rendering/RenderLayerBacking.cpp:
2598         (WebCore::RenderLayerBacking::paintingGoesToWindow):
2599         * rendering/RenderLayerCompositor.cpp:
2600         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2601         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
2602
2603 2009-02-06  Dan Bernstein  <mitz@apple.com>
2604
2605         Reviewed by Darin Adler.
2606
2607         - fix <rdar://problem/6552338> FontCache::releaseFontData() called on a small caps font that is not in the cache
2608
2609         Most platforms do not retrieve the small caps font from the FontCache,
2610         but cross-platform code in ~SimpleFontData() assumes the the small caps
2611         font data did come from the cache and therefore calls releaseFontData()
2612         on it.
2613
2614         * platform/graphics/SimpleFontData.cpp:
2615         (WebCore::SimpleFontData::~SimpleFontData): Reordered to call
2616         platformDestroy() before releasing the small caps font and pruning the
2617         glyph page tree. This allows platformDestroy() to reset
2618         m_smallCapsFontData to 0 if it was not obtained from the cache.
2619         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
2620         (WebCore::SimpleFontData::platformDestroy): Set m_smallCapsFontData to
2621         0 after deleting it.
2622         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2623         (WebCore::SimpleFontData::platformDestroy): Ditto.
2624         * platform/graphics/gtk/SimpleFontDataPango.cpp:
2625         (WebCore::SimpleFontData::platformDestroy): Ditto.
2626         * platform/graphics/win/SimpleFontDataWin.cpp:
2627         (WebCore::SimpleFontData::platformCommonDestroy): Ditto.
2628         * platform/graphics/wx/SimpleFontDataWx.cpp:
2629         (WebCore::SimpleFontData::platformDestroy): Ditto.
2630
2631 2009-02-06  Simon Fraser  <simon.fraser@apple.com>
2632
2633         Reviewed by Eric Seidel
2634
2635         Make RenderStyle::transitionForProperty() const.
2636         
2637         * rendering/style/RenderStyle.cpp:
2638         (WebCore::RenderStyle::transitionForProperty):
2639         * rendering/style/RenderStyle.h:
2640
2641 2009-02-06  Simon Fraser  <simon.fraser@apple.com>
2642
2643         Fix build when ACCELERATED_COMPOSITING is turned on.
2644
2645         Remove font smoothing changes that will be committed
2646         separately.
2647
2648         * platform/graphics/mac/WebLayer.mm:
2649         (WebCore::if):
2650
2651 2009-02-06  Anders Carlsson  <andersca@apple.com>
2652
2653         Build fix.
2654         
2655         * bridge/npapi.h:
2656
2657 2009-02-06  Darin Fisher  <darin@chromium.org>
2658
2659         Reviewed by Eric Seidel.
2660
2661         https://bugs.webkit.org/show_bug.cgi?id=23790
2662         Custom -> JSCCustom in SVGPointList.idl
2663
2664         * svg/SVGPointList.idl:
2665
2666 2009-02-06  Anantanarayanan Iyengar  <ananta@chromium.org>
2667
2668         Reviewed by Eric Seidel.
2669
2670         https://bugs.webkit.org/show_bug.cgi?id=23309
2671         Fix whitespace indent errors. The rest of the original patch has already
2672         landed.
2673
2674         * platform/graphics/cairo/ImageSourceCairo.cpp:
2675         (WebCore::ImageSource::clear):
2676         * platform/graphics/cg/ImageSourceCG.cpp:
2677         (WebCore::ImageSource::clear):
2678         * platform/graphics/qt/ImageSourceQt.cpp:
2679         (WebCore::ImageSource::clear):
2680         * platform/graphics/wx/ImageSourceWx.cpp:
2681         (WebCore::ImageSource::clear):
2682
2683 2009-02-06  Dirk Schulze  <krit@webkit.org>
2684
2685         Reviewed by Simon Hausmann.
2686
2687         Fix bug in clearRect(). Use fillRect() instead of eraseRect() to get
2688         the context transparent.
2689
2690         [QT] clearRect fill's a given rect with white
2691         https://bugs.webkit.org/show_bug.cgi?id=23728
2692
2693         * platform/graphics/qt/GraphicsContextQt.cpp:
2694         (WebCore::GraphicsContext::clearRect):
2695
2696 2009-02-06  Simon Fraser  <simon.fraser@apple.com>
2697
2698         Reviewed by Dave Hyatt
2699
2700         https://bugs.webkit.org/show_bug.cgi?id=23781
2701         
2702         When the document is attached and detached, and when it becomes active/inactive
2703         (e.g. coming out or going into the page cache) we need to call
2704         RenderView::didMoveOnscreen()/willMoveOffscreen() to hook and unhook the composited
2705         layers.
2706         
2707         Also, if Document::recalcStyle() does not do a layout, it needs to
2708         update the compositing layers.
2709         
2710         * dom/Document.cpp:
2711         (WebCore::Document::updateRendering):
2712         (WebCore::Document::updateLayout):
2713         (WebCore::Document::attach):
2714         (WebCore::Document::detach):
2715         (WebCore::Document::documentWillBecomeInactive):
2716         (WebCore::Document::documentDidBecomeActive):
2717
2718 2009-02-06  Simon Hausmann  <simon.hausmann@nokia.com>
2719
2720         Reviewed by Tor Arne Vestbø.
2721
2722         Added support for different ownership models for wrapped QObjects in
2723         the JavaScript environment.
2724
2725         * bindings/js/ScriptControllerQt.cpp:
2726         (WebCore::ScriptController::createScriptInstanceForWidget): Specify
2727         QtOwnership for scriptable widgets.
2728         * bridge/npruntime_internal.h: Add "NormalState" to the list of
2729         undef'ed macros as an included Qt header uses "NormalState" as value
2730         in an enum.
2731         * bridge/qt/qt_instance.cpp:
2732         (JSC::Bindings::QtInstance::QtInstance): Save and initialize ownership
2733         member.
2734         (JSC::Bindings::QtInstance::~QtInstance): Respect
2735         QScriptEngine::ValueOwnership policy with regards to wrapped m_object.
2736         (JSC::Bindings::QtInstance::getQtInstance): Pass the ownership down to
2737         the instance.
2738         * bridge/qt/qt_instance.h:
2739         (JSC::Bindings::QtInstance::create): Ditto.
2740         * bridge/qt/qt_runtime.cpp:
2741         (JSC::Bindings::convertQVariantToValue): Use QtOwnership for
2742         automatically wrapped QObjects.
2743         (JSC::Bindings::QtConnectionObject::execute): Ditto.
2744
2745 2009-02-05  Maciej Stachowiak  <mjs@apple.com> and Brady Eidson  <beidson@apple.com>
2746
2747         Reviewed by Dan Bernstein and Geoff Garen.
2748
2749         - WebCore code to track per-day and per-week visit counts in history
2750
2751         The basic idea is as follows: we track daily visits for up to 13
2752         days, and weekly visits for up to 5 weeks past the end of the
2753         current daily visits. As soon as the number of daily counts goes
2754         over 13, we squish them down into weeks, and then prune the excess weeks.
2755
2756         * history/HistoryItem.cpp:
2757         (WebCore::HistoryItem::HistoryItem): Remove bogus whitespace.
2758         (WebCore::timeToDay): Helper function: convert time to days from the epoch.
2759         (WebCore::HistoryItem::padDailyCountsForNewVisit): Insert 0 counts if
2760         a site is visited after a span of days.
2761         (WebCore::HistoryItem::collapseDailyVisitsToWeekly): Core day/week upgrade
2762         algorithm as described above.
2763         (WebCore::HistoryItem::recordVisitAtTime): Use above helpers to record all
2764         info about a visit to this history item.
2765         (WebCore::HistoryItem::setLastVisitedTime): Updated.
2766         (WebCore::HistoryItem::visited): Updated.
2767         (WebCore::HistoryItem::recordInitialVisit): New function to
2768         handle recording data about the very first visit, replacing the
2769         prior practice of explicitly setting visit count to 1.
2770         (WebCore::HistoryItem::adoptVisitCounts): Take ownership of
2771         daily and weekly visit count vectors.
2772         (WebCore::HistoryItem::mergeAutoCompleteHints): Added a comment
2773         noting that this function doesn't work properly now (though
2774         this shouldn't matter much in practice.)
2775         * history/HistoryItem.h:
2776         (WebCore::HistoryItem::dailyVisitCounts): Accessor for daily counts.
2777         (WebCore::HistoryItem::weeklyVisitCounts): Ditto for weekly counts.
2778         * WebCore.base.exp: Add new symbols and sort.
2779
2780 2009-02-05  Alexey Proskuryakov  <ap@webkit.org>
2781
2782         Reviewed by Darin Adler.
2783
2784         <rdar://problem/6438271> Improve backspace handling of accented characters
2785
2786         Test: platform/mac/editing/deleting/backward-delete.html
2787
2788         This change makes WebKit behave like AppKit on the Mac. Other platforms are not affected,
2789         because the current behavior matches their standards (tested on Windows, assumed elsewhere).
2790
2791         * dom/Position.cpp:
2792         (WebCore::Position::previous):
2793         (WebCore::Position::next):
2794         (WebCore::Position::uncheckedPreviousOffsetForBackwardDeletion):
2795         * dom/Position.h:
2796         Added a new option for previous(), used to move to a next position for backward deletion.
2797         Renamed EUsingComposedCharacters to PositionMoveType.
2798
2799         * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed):
2800         Use previous(BackwardDeletion) to find a proper range to delete. Also, simplified a check
2801         surrounding this code a little.
2802
2803         * editing/htmlediting.cpp:
2804         (WebCore::nextVisuallyDistinctCandidate):
2805         (WebCore::previousVisuallyDistinctCandidate):
2806         Adjusted for renamed enum values.
2807
2808         * rendering/RenderObject.cpp:
2809         * rendering/RenderObject.h:
2810         * rendering/RenderText.h:
2811         Added previousOffsetForBackwardDeletion().
2812
2813         * rendering/RenderText.cpp: (WebCore::RenderText::previousOffsetForBackwardDeletion):
2814         On PLATFORM(MAC), use an algorithm that matches the one AppKit has for backward deletion.
2815
2816 2009-02-05  Adam Roben  <aroben@apple.com>
2817
2818         Fix a crash in RenderWidget::destroy when navigating away from a page
2819         with an <iframe>
2820
2821         This was a regression caused by r40679
2822
2823         Reviewed by Dave Hyatt.
2824
2825         Tested by many many tests.
2826
2827         * rendering/RenderWidget.cpp:
2828         (WebCore::RenderWidget::destroy): Only deref the RenderWidget after we
2829         finish accessing its members.
2830
2831 2009-02-05  Simon Fraser  <simon.fraser@apple.com>
2832
2833         Reviewed by Anders Carlsson
2834
2835         getAnimatedStyleForRenderer() should not create a new
2836         CompositeAnimation if the object isn't already animating, and
2837         it should just fall back to returning renderer->style().
2838         
2839         * page/animation/AnimationController.cpp:
2840         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
2841
2842 2009-02-05  Simon Fraser  <simon.fraser@apple.com>
2843
2844         Fix build when ACCELERATED_COMPOSITING is turned on.
2845        
2846         Give RenderLayerBacking some love after the great
2847         RenderBoxModelObject split.
2848         
2849         * rendering/RenderLayerBacking.cpp:
2850         (WebCore::RenderLayerBacking::updateLayerTransform):
2851         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2852         (WebCore::RenderLayerBacking::contentsBox):
2853         (WebCore::RenderLayerBacking::paintIntoLayer):
2854         (WebCore::RenderLayerBacking::startAnimation):
2855         (WebCore::RenderLayerBacking::startTransition):
2856         * rendering/RenderLayerBacking.h:
2857         (WebCore::RenderLayerBacking::renderer):
2858
2859 2009-02-05  Simon Fraser  <simon.fraser@apple.com>
2860
2861         Fix build when ACCELERATED_COMPOSITING is turned on.
2862         
2863         writeIndent() needs to be static to avoid warnings on some OSes,
2864         and remove unused CAToTransform3D() method.
2865
2866         * platform/graphics/GraphicsLayer.cpp:
2867         (WebCore::writeIndent):
2868         * platform/graphics/mac/GraphicsLayerCA.mm:
2869
2870 2009-02-05  Simon Fraser  <simon.fraser@apple.com>
2871
2872         Reviewed by Anders Carlsson
2873
2874         Add some methods to the TransformOperation classes that are required
2875         by GraphicsLayer when ACCELERATED_COMPOSITING is turned on.
2876
2877         * platform/graphics/transforms/MatrixTransformOperation.h:
2878         (WebCore::MatrixTransformOperation::create):
2879         (WebCore::MatrixTransformOperation::MatrixTransformOperation):
2880         * platform/graphics/transforms/ScaleTransformOperation.h:
2881         (WebCore::ScaleTransformOperation::x):
2882         (WebCore::ScaleTransformOperation::y):
2883         * platform/graphics/transforms/TranslateTransformOperation.h:
2884         (WebCore::TranslateTransformOperation::x):
2885         (WebCore::TranslateTransformOperation::y):
2886
2887 2009-02-05  Simon Fraser  <simon.fraser@apple.com>
2888
2889         Minor clenaup: fix brace style in CompositeAnimationPrivate::updateTransitions(),
2890         and correct a usage of UNUSED_PARAM().
2891
2892         * page/animation/CompositeAnimation.cpp:
2893         (WebCore::CompositeAnimationPrivate::updateTransitions):
2894         * page/animation/ImplicitAnimation.cpp:
2895         (WebCore::ImplicitAnimation::startAnimation):
2896
2897 2009-02-05  Simon Fraser  <simon.fraser@apple.com>
2898
2899         Fix build when ACCELERATED_COMPOSITING is turned on.
2900         
2901         animationOfPropertyIsAccelerated() needs to be public because
2902         it is called from AnimationController.
2903
2904         * page/animation/AnimationBase.h:
2905
2906 2009-02-05  Simon Fraser  <simon.fraser@apple.com>
2907
2908         Reviewed by Anders Carlsson
2909
2910         Fix mis-typed enum value which is hidden inside #ifdefs so didn't break
2911         the build.
2912
2913         * page/FrameView.cpp:
2914         (WebCore::FrameView::updateCompositingLayers):
2915
2916 2009-02-05  Sam Weinig  <sam@webkit.org>
2917
2918         Reviewed by Geoffrey Garen.
2919
2920         Fix missing checked toRenderBlock casts.
2921
2922         * rendering/RenderBlock.cpp:
2923         (WebCore::RenderBlock::clearFloats):
2924         * rendering/RenderBox.cpp:
2925         (WebCore::RenderBox::availableHeightUsing):
2926
2927 2009-02-05  Sam Weinig  <sam@webkit.org>
2928
2929         Patch from Darin Adler.
2930         Reviewed by Sam Weinig.
2931
2932         Fix case where we were casting to RenderView.
2933
2934         No test case possible.
2935
2936         * editing/mac/SelectionControllerMac.mm:
2937         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2938
2939 2009-02-05  Aaron Boodman  <aa@chromium.org>
2940
2941         Reviewed by Dave Hyatt.
2942
2943         https://bugs.webkit.org/show_bug.cgi?id=23708
2944         Adds documentElementAvailable() callback to FrameLoaderClient.
2945
2946         * dom/XMLTokenizerLibxml2.cpp:
2947         (WebCore::XMLTokenizer::startElementNs):
2948         Add call to dispatchDocumentElementAvailable()
2949         * dom/XMLTokenizerQt.cpp:
2950         (WebCore::XMLTokenizer::parseStartElement):
2951         Ditto.
2952         * html/HTMLParser.cpp:
2953         (WebCore::HTMLParser::insertNode):
2954         Ditto.
2955         * loader/EmptyClients.h:
2956         (WebCore::EmptyFrameLoaderClient::documentElementAvailable):
2957         Stub out documentElementAvailable().
2958         * loader/FrameLoader.cpp:
2959         documentElementAvailable() callback plumbing.
2960         * loader/FrameLoader.h:
2961         Ditto.
2962         * loader/FrameLoaderClient.h:
2963         Add new documentElementAvailable() callback.
2964
2965 2009-02-05  Scott Violet  <sky@google.com>
2966
2967         Reviewed by Eric Seidel.
2968
2969         https://bugs.webkit.org/show_bug.cgi?id=23766
2970         CanvasRenderingContext2D::setShadow needs else for other platforms.
2971
2972         Implements the CMYK variant of CanvasRenderingContext2D::setShadow for
2973         other platforms using the CMYK color constructor.
2974
2975         * html/CanvasRenderingContext2D.cpp:
2976         (WebCore::CanvasRenderingContext2D::setShadow):
2977
2978 2009-02-05  Scott Violet  <sky@google.com>
2979
2980         Reviewed by Eric Seidel.
2981
2982         https://bugs.webkit.org/show_bug.cgi?id=23687
2983         Wires up Skia'a ImageBuffer::toDataURL to support pngs.
2984         This helps Chromium pass a couple of layout tests.
2985
2986         * platform/graphics/skia/ImageBufferSkia.cpp:
2987         (WebCore::ImageBuffer::toDataURL):
2988         * platform/image-encoders: Added.
2989         * platform/image-encoders/skia: Added.
2990         * platform/image-encoders/skia/PNGImageEncoder.cpp: Added.
2991         (WebCore::):
2992         (WebCore::PngEncoderState::EncoderWriteCallback):
2993         (WebCore::PngEncoderState::ConvertBGRAtoRGB):
2994         (WebCore::PngEncoderState::PngWriteStructDestroyer::PngWriteStructDestroyer):
2995         (WebCore::PngEncoderState::PngWriteStructDestroyer::~PngWriteStructDestroyer):
2996         (WebCore::PNGImageEncoder::encode):
2997         * platform/image-encoders/skia/PNGImageEncoder.h: Added.
2998
2999 2009-02-05  Sam Weinig  <sam@webkit.org>
3000
3001         Reviewed by Darin Adler.
3002
3003         Fix missing checked cast.
3004
3005         * rendering/RenderObject.cpp:
3006         (WebCore::RenderObject::containingBlock):
3007
3008 2009-02-05  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3009
3010         Not reviewed. Fix WML enabled builds.
3011
3012         FrameLoader::load() got an additional 'lockHistory' parameter, pass 'false'.
3013
3014         * wml/WMLGoElement.cpp:
3015         (WebCore::WMLGoElement::executeTask):
3016
3017 2009-02-05  Scott Violet  <sky@google.com>
3018
3019         Reviewed by Eric Seidel.
3020
3021         https://bugs.webkit.org/show_bug.cgi?id=23625
3022         Additional fix: Skia platform doesn't render text to a canvas or support clipping to an image buffer
3023
3024         Fixes three bugs in PlatformContextSkia:
3025
3026         * When a new layer was started clipped to an image we used the
3027           assignment operator to copy the SkBitmap. If the SkBitmap owns it's
3028           pixels, this is not the right thing to do. Instead we need to create
3029           a copy of the image.
3030         * State holds an SkBitmap by value. State's copy constructor does a
3031           memcpy. This is confusing and subtle, I've converted to use a member
3032           initializer list which I think is clearer and less error prone.
3033         * When creating a new layer there is no need to copy the clip image.
3034
3035         * platform/graphics/skia/PlatformContextSkia.cpp:
3036         (PlatformContextSkia::State::State):
3037         (PlatformContextSkia::save):
3038         (PlatformContextSkia::beginLayerClippedToImage):
3039
3040 2009-02-05  Scott Violet  <sky@google.com>
3041
3042         Reviewed by George Staikos.
3043
3044         https://bugs.webkit.org/show_bug.cgi?id=23462
3045         Changes call from setFillColor to setStrokeColor.
3046
3047         * html/CanvasStyle.cpp:
3048         (WebCore::CanvasStyle::applyStrokeColor):
3049
3050 2009-02-05  David Hyatt  <hyatt@apple.com>
3051
3052         Fix crash on svg custom stop test.  A virtual function didn't get patched properly.
3053
3054         Reviewed by Sam Weinig
3055
3056         * rendering/RenderObject.cpp:
3057         (WebCore::RenderObject::clippedOverflowRectForRepaint):
3058         * rendering/RenderSVGGradientStop.h:
3059         (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
3060
3061 2009-02-05  Simon Fraser  <simon.fraser@apple.com>
3062
3063         Reviewed by Dave Hyatt
3064
3065         https://bugs.webkit.org/show_bug.cgi?id=23765
3066
3067         Add toRenderBoxModelObject() so that we can cast objects that
3068         can have layers.
3069         
3070         Fix getComputedStyle to return the current value of style
3071         properties that are undergoing accelerated animations, by
3072         asking the AnimationController if the property has accelerated
3073         animations, and, if so, asking it to generate an appropriate
3074         style.
3075         
3076         Tightened up some type safety (CSSPropertyID), and code clarity
3077         (replace bool with enum).
3078
3079         * WebCore.xcodeproj/project.pbxproj:
3080         * css/CSSComputedStyleDeclaration.cpp:
3081         (WebCore::hasCompositedLayer):
3082         (WebCore::computedTransform):
3083         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3084         * page/animation/AnimationController.cpp:
3085         (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
3086         (WebCore::AnimationController::isAnimatingPropertyOnRenderer):
3087         (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
3088         * page/animation/AnimationController.h:
3089         * page/animation/AnimationControllerPrivate.h:
3090         * page/animation/ImplicitAnimation.cpp:
3091         (WebCore::ImplicitAnimation::startAnimation):
3092         (WebCore::ImplicitAnimation::endAnimation):
3093         * page/animation/KeyframeAnimation.cpp:
3094         (WebCore::KeyframeAnimation::startAnimation):
3095         (WebCore::KeyframeAnimation::endAnimation):
3096         * rendering/RenderBoxModelObject.h:
3097         (WebCore::RenderBoxModelObject::isBoxModelObject):
3098         (WebCore::toRenderBoxModelObject):
3099         * rendering/RenderLayerBacking.cpp:
3100         (WebCore::RenderLayerBacking::updateLayerTransform):
3101         * rendering/RenderObject.h:
3102         (WebCore::RenderObject::isBoxModelObject):
3103         * rendering/style/RenderStyle.cpp:
3104         (WebCore::RenderStyle::applyTransform):
3105         * rendering/style/RenderStyle.h:
3106         (WebCore::InheritedFlags::):
3107
3108 2009-02-05  Dimitri Glazkov  <dglazkov@chromium.org>
3109
3110         Reviewed by Eric Seidel.
3111
3112         https://bugs.webkit.org/show_bug.cgi?id=23767
3113         Add custom V8 bindings for HTML5 database.
3114
3115         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Added.
3116         (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
3117         (WebCore::V8CustomSQLStatementCallback::~V8CustomSQLStatementCallback):
3118         (WebCore::V8CustomSQLStatementCallback::handleEvent):
3119         * bindings/v8/custom/V8CustomSQLStatementCallback.h: Added.
3120         (WebCore::V8CustomSQLStatementCallback::create):
3121         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Added.
3122         (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
3123         (WebCore::V8CustomSQLStatementErrorCallback::~V8CustomSQLStatementErrorCallback):
3124         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
3125         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Added.
3126         (WebCore::V8CustomSQLStatementErrorCallback::create):
3127         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Added.
3128         (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
3129         (WebCore::V8CustomSQLTransactionCallback::~V8CustomSQLTransactionCallback):
3130         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
3131         * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Added.
3132         (WebCore::V8CustomSQLTransactionCallback::create):
3133         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Added.
3134         (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
3135         (WebCore::V8CustomSQLTransactionErrorCallback::~V8CustomSQLTransactionErrorCallback):
3136         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
3137         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Added.
3138         (WebCore::V8CustomSQLTransactionErrorCallback::create):
3139         * bindings/v8/custom/V8CustomVoidCallback.cpp: Added.
3140         (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
3141         (WebCore::V8CustomVoidCallback::~V8CustomVoidCallback):
3142         (WebCore::V8CustomVoidCallback::handleEvent):
3143         (WebCore::invokeCallback):
3144         * bindings/v8/custom/V8CustomVoidCallback.h: Added.
3145         (WebCore::V8CustomVoidCallback::create):
3146         * bindings/v8/custom/V8DatabaseCustom.cpp: Added.
3147         (WebCore::CALLBACK_FUNC_DECL):
3148         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Added.
3149         (WebCore::CALLBACK_FUNC_DECL):
3150         * bindings/v8/custom/V8SQLTransactionCustom.cpp: Added.
3151         (WebCore::CALLBACK_FUNC_DECL):
3152
3153 2009-02-05  Dimitri Glazkov  <dglazkov@chromium.org>
3154
3155         Reviewed by Eric Seidel.
3156
3157         https://bugs.webkit.org/show_bug.cgi?id=23747
3158         Add Chromium threading-related files.
3159
3160         * platform/chromium/TemporaryLinkStubs.cpp: Removed theading-related stubs.
3161
3162 2009-02-05  Sam Weinig  <sam@webkit.org>
3163
3164         Reviewed by Adam Roben.
3165
3166         Add toRenderButton methods for casting RenderObjects to RenderButtons. The methods will assert if the object
3167         is not a RenderButton. Also add a toRenderButton method that takes a RenderButton but returns void and that
3168         is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderButton.
3169
3170         * rendering/RenderButton.h:
3171         (WebCore::RenderButton::isRenderButton):
3172         (WebCore::toRenderButton):
3173         * rendering/RenderFileUploadControl.cpp:
3174         (WebCore::RenderFileUploadControl::paintObject):
3175         * rendering/RenderObject.h:
3176         (WebCore::RenderObject::isRenderButton):
3177
3178 2009-02-05  David Hyatt  <hyatt@apple.com>
3179
3180         Move the m_layer member variable of RenderBox up into RenderBoxModelObject.  Refactor styleDidChange'
3181         of RenderObject, RenderBoxModelObject and RenderBox to get more of the code in the correct subclass.  
3182         In order to set the various RenderObject bits properly prior to the test for whether a layer is 
3183         required, I added an additional method, updateBoxModelInfoAfterStyleChange, that is responsible
3184         for setting all of the bits.
3185         
3186         Eliminate hasStaticX/Y, staticX/Y, and setStaticX/Y from the render tree.  Move hasStaticX/Y to
3187         RenderStyle, and just use the corresponding layer() methods for the
3188         staticX/Y getters/setters.
3189
3190         Reviewed by Sam Weinig
3191
3192         * rendering/RenderBlock.cpp:
3193         (WebCore::RenderBlock::layoutBlock):
3194         (WebCore::RenderBlock::adjustPositionedBlock):
3195         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
3196         (WebCore::RenderBlock::layoutPositionedObjects):
3197         (WebCore::RenderBlock::paintObject):
3198         (WebCore::RenderBlock::nodeAtPoint):
3199         (WebCore::RenderBlock::offsetForContents):
3200         (WebCore::RenderBlock::calcPrefWidths):
3201         (WebCore::RenderBlock::baselinePosition):
3202         * rendering/RenderBox.cpp:
3203         (WebCore::RenderBox::RenderBox):
3204         (WebCore::RenderBox::destroy):
3205         (WebCore::RenderBox::styleWillChange):
3206         (WebCore::RenderBox::styleDidChange):
3207         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
3208         (WebCore::RenderBox::scrollWidth):
3209         (WebCore::RenderBox::scrollHeight):
3210         (WebCore::RenderBox::scrollLeft):
3211         (WebCore::RenderBox::scrollTop):
3212         (WebCore::RenderBox::setScrollLeft):
3213         (WebCore::RenderBox::setScrollTop):
3214         (WebCore::RenderBox::getOverflowClipRect):
3215         (WebCore::RenderBox::localToAbsolute):
3216         (WebCore::RenderBox::absoluteToLocal):
3217         (WebCore::RenderBox::localToContainerQuad):
3218         (WebCore::RenderBox::position):
3219         (WebCore::RenderBox::computeRectForRepaint):
3220         (WebCore::RenderBox::calcAbsoluteHorizontal):
3221         (WebCore::RenderBox::calcAbsoluteVertical):
3222         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3223         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
3224         * rendering/RenderBox.h:
3225         * rendering/RenderBoxModelObject.cpp:
3226         (WebCore::RenderBoxModelObject::RenderBoxModelObject):
3227         (WebCore::RenderBoxModelObject::destroy):
3228         (WebCore::RenderBoxModelObject::styleWillChange):
3229         (WebCore::RenderBoxModelObject::styleDidChange):
3230         (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
3231         * rendering/RenderBoxModelObject.h:
3232         (WebCore::RenderBoxModelObject::layer):
3233         (WebCore::RenderBoxModelObject::requiresLayer):
3234         * rendering/RenderFlexibleBox.cpp:
3235         (WebCore::RenderFlexibleBox::layoutBlock):
3236         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3237         (WebCore::RenderFlexibleBox::layoutVerticalBox):
3238         * rendering/RenderInline.cpp:
3239         (WebCore::RenderInline::updateBoxModelInfoFromStyle):
3240         (WebCore::RenderInline::styleDidChange):
3241         (WebCore::RenderInline::relativePositionedInlineOffset):
3242         * rendering/RenderInline.h:
3243         * rendering/RenderLayer.cpp:
3244         (WebCore::RenderLayer::setStaticY):
3245         (WebCore::RenderLayer::updateLayerPosition):
3246         * rendering/RenderLayer.h:
3247         * rendering/RenderObject.cpp:
3248         (WebCore::RenderObject::setStyle):
3249         (WebCore::RenderObject::styleDidChange):
3250         * rendering/RenderObject.h:
3251         (WebCore::RenderObject::markContainingBlocksForLayout):
3252         * rendering/RenderTableRow.cpp:
3253         (WebCore::RenderTableRow::paint):
3254         * rendering/RenderWidget.cpp:
3255         (WebCore::RenderWidget::destroy):
3256         * rendering/bidi.cpp:
3257         (WebCore::appendRunsForObject):
3258         (WebCore::RenderBlock::layoutInlineChildren):
3259         (WebCore::RenderBlock::skipTrailingWhitespace):
3260         (WebCore::RenderBlock::skipLeadingWhitespace):
3261         (WebCore::RenderBlock::findNextLineBreak):
3262         * rendering/style/RenderStyle.h:
3263         (WebCore::InheritedFlags::hasStaticX):
3264         (WebCore::InheritedFlags::hasStaticY):
3265
3266 2009-02-05  Sam Weinig  <sam@webkit.org>
3267
3268         Fix the windows build.
3269
3270         * bindings/scripts/CodeGeneratorCOM.pm:
3271         * dom/Node.idl:
3272
3273 2009-02-05  Anders Carlsson  <andersca@apple.com>
3274
3275         Reviewed by Kevin Decker.
3276         
3277         Update to match Gecko.
3278         
3279         * bridge/npapi.h:
3280         * plugins/npfunctions.h:
3281
3282 2009-02-05  Sam Weinig  <sam@webkit.org>
3283
3284         Reviewed by Darin Adler.
3285
3286         Finish merging EventTargetNode up into Node.
3287
3288         This also fixes a small recently introduced issue where EventListeners
3289         would not be removed from the document if they were attached to comment
3290         nodes outside of the documentElement.
3291
3292         * GNUmakefile.am:
3293         * WebCore.pro:
3294         * WebCore.scons:
3295         * WebCore.vcproj/WebCore.vcproj:
3296         * WebCore.xcodeproj/project.pbxproj:
3297         * WebCoreSources.bkl:
3298         * bindings/js/JSEventTargetNodeCustom.cpp: Removed.
3299         * bindings/js/JSNodeCustom.cpp:
3300         (WebCore::JSNode::addEventListener):
3301         (WebCore::JSNode::removeEventListener):
3302         (WebCore::JSNode::pushEventHandlerScope):
3303         * bindings/scripts/CodeGenerator.pm:
3304         * dom/CharacterData.cpp:
3305         (WebCore::CharacterData::CharacterData):
3306         (WebCore::CharacterData::rendererIsNeeded):
3307         * dom/CharacterData.h:
3308         * dom/ContainerNode.cpp:
3309         (WebCore::ContainerNode::willRemove):
3310         (WebCore::ContainerNode::attach):
3311         (WebCore::ContainerNode::detach):
3312         (WebCore::ContainerNode::insertedIntoDocument):
3313         (WebCore::ContainerNode::removedFromDocument):
3314         (WebCore::ContainerNode::setFocus):
3315         (WebCore::ContainerNode::setActive):
3316         (WebCore::ContainerNode::setHovered):
3317         (WebCore::dispatchChildInsertionEvents):
3318         (WebCore::dispatchChildRemovalEvents):
3319         * dom/ContainerNode.h:
3320         (WebCore::ContainerNode::ContainerNode):
3321         * dom/Document.cpp:
3322         (WebCore::Document::removeAllEventListenersFromAllNodes):
3323         (WebCore::Document::removeAllDisconnectedNodeEventListeners):
3324         (WebCore::Document::setFocusedNode):
3325         * dom/EventTargetNode.cpp: Removed.
3326         * dom/EventTargetNode.h: Removed.
3327         * dom/Node.cpp:
3328         (WebCore::Node::scriptExecutionContext):
3329         (WebCore::Node::eventListeners):
3330         (WebCore::Node::insertedIntoDocument):
3331         (WebCore::Node::removedFromDocument):
3332         (WebCore::Node::willMoveToNewOwnerDocument):
3333         (WebCore::Node::didMoveToNewOwnerDocument):
3334         (WebCore::updateSVGElementInstancesAfterEventListenerChange):
3335         (WebCore::Node::addEventListener):
3336         (WebCore::Node::removeEventListener):
3337         (WebCore::Node::removeAllEventListenersSlowCase):
3338         (WebCore::Node::handleLocalEvents):
3339         (WebCore::eventTargetAsSVGElementInstance):
3340         (WebCore::eventTargetRespectingSVGTargetRules):
3341         (WebCore::Node::dispatchEvent):
3342         (WebCore::Node::dispatchGenericEvent):
3343         (WebCore::Node::dispatchSubtreeModifiedEvent):
3344         (WebCore::Node::dispatchWindowEvent):
3345         (WebCore::Node::dispatchUIEvent):
3346         (WebCore::Node::dispatchKeyEvent):
3347         (WebCore::Node::dispatchMouseEvent):
3348         (WebCore::Node::dispatchSimulatedMouseEvent):
3349         (WebCore::Node::dispatchSimulatedClick):
3350         (WebCore::Node::dispatchWheelEvent):
3351         (WebCore::Node::dispatchWebKitAnimationEvent):
3352         (WebCore::Node::dispatchWebKitTransitionEvent):
3353         (WebCore::Node::dispatchFocusEvent):
3354         (WebCore::Node::dispatchBlurEvent):
3355         (WebCore::Node::dispatchEventForType):
3356         (WebCore::Node::dispatchProgressEvent):
3357         (WebCore::Node::dispatchStorageEvent):
3358         (WebCore::Node::removeInlineEventListenerForType):
3359         (WebCore::Node::setInlineEventListenerForType):
3360         (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
3361         (WebCore::Node::inlineEventListenerForType):
3362         (WebCore::Node::disabled):
3363         (WebCore::Node::defaultEventHandler):
3364         (WebCore::Node::onabort):
3365         (WebCore::Node::setOnabort):
3366         (WebCore::Node::onblur):
3367         (WebCore::Node::setOnblur):
3368         (WebCore::Node::onchange):
3369         (WebCore::Node::setOnchange):
3370         (WebCore::Node::onclick):
3371         (WebCore::Node::setOnclick):
3372         (WebCore::Node::oncontextmenu):
3373         (WebCore::Node::setOncontextmenu):
3374         (WebCore::Node::ondblclick):
3375         (WebCore::Node::setOndblclick):
3376         (WebCore::Node::onerror):
3377         (WebCore::Node::setOnerror):
3378         (WebCore::Node::onfocus):
3379         (WebCore::Node::setOnfocus):
3380         (WebCore::Node::oninput):
3381         (WebCore::Node::setOninput):
3382         (WebCore::Node::onkeydown):
3383         (WebCore::Node::setOnkeydown):
3384         (WebCore::Node::onkeypress):
3385         (WebCore::Node::setOnkeypress):
3386         (WebCore::Node::onkeyup):
3387         (WebCore::Node::setOnkeyup):
3388         (WebCore::Node::onload):
3389         (WebCore::Node::setOnload):
3390         (WebCore::Node::onmousedown):
3391         (WebCore::Node::setOnmousedown):
3392         (WebCore::Node::onmousemove):
3393         (WebCore::Node::setOnmousemove):
3394         (WebCore::Node::onmouseout):
3395         (WebCore::Node::setOnmouseout):
3396         (WebCore::Node::onmouseover):
3397         (WebCore::Node::setOnmouseover):
3398         (WebCore::Node::onmouseup):
3399         (WebCore::Node::setOnmouseup):
3400         (WebCore::Node::onmousewheel):
3401         (WebCore::Node::setOnmousewheel):
3402         (WebCore::Node::onbeforecut):
3403         (WebCore::Node::setOnbeforecut):
3404         (WebCore::Node::oncut):
3405         (WebCore::Node::setOncut):
3406         (WebCore::Node::onbeforecopy):
3407         (WebCore::Node::setOnbeforecopy):
3408         (WebCore::Node::oncopy):
3409         (WebCore::Node::setOncopy):
3410         (WebCore::Node::onbeforepaste):
3411         (WebCore::Node::setOnbeforepaste):
3412         (WebCore::Node::onpaste):
3413         (WebCore::Node::setOnpaste):
3414         (WebCore::Node::ondragenter):
3415         (WebCore::Node::setOndragenter):
3416         (WebCore::Node::ondragover):
3417         (WebCore::Node::setOndragover):
3418         (WebCore::Node::ondragleave):
3419         (WebCore::Node::setOndragleave):
3420         (WebCore::Node::ondrop):
3421         (WebCore::Node::setOndrop):
3422         (WebCore::Node::ondragstart):
3423         (WebCore::Node::setOndragstart):
3424         (WebCore::Node::ondrag):
3425         (WebCore::Node::setOndrag):
3426         (WebCore::Node::ondragend):
3427         (WebCore::Node::setOndragend):
3428         (WebCore::Node::onreset):
3429         (WebCore::Node::setOnreset):
3430         (WebCore::Node::onresize):
3431         (WebCore::Node::setOnresize):
3432         (WebCore::Node::onscroll):
3433         (WebCore::Node::setOnscroll):
3434         (WebCore::Node::onsearch):
3435         (WebCore::Node::setOnsearch):
3436         (WebCore::Node::onselect):
3437         (WebCore::Node::setOnselect):
3438         (WebCore::Node::onselectstart):
3439         (WebCore::Node::setOnselectstart):
3440         (WebCore::Node::onsubmit):
3441         (WebCore::Node::setOnsubmit):
3442         (WebCore::Node::onunload):
3443         (WebCore::Node::setOnunload):
3444         * dom/Node.h:
3445         * editing/Editor.cpp:
3446         (WebCore::Editor::dispatchCPPEvent):
3447         * html/HTMLFormElement.cpp:
3448         (WebCore::HTMLFormElement::handleLocalEvents):
3449         * html/HTMLInputElement.cpp:
3450         (WebCore::HTMLInputElement::defaultEventHandler):
3451         * html/HTMLTokenizer.cpp:
3452         (WebCore::HTMLTokenizer::notifyFinished):
3453         * loader/MediaDocument.cpp:
3454         (WebCore::MediaDocument::defaultEventHandler):
3455         * page/AccessibilityRenderObject.cpp:
3456         (WebCore::AccessibilityRenderObject::mouseButtonListener):
3457         * page/EventHandler.cpp:
3458         (WebCore::EventHandler::dispatchDragEvent):
3459         (WebCore::EventHandler::updateMouseEventTargetNode):
3460         (WebCore::EventHandler::dispatchMouseEvent):
3461         (WebCore::EventHandler::handleWheelEvent):
3462         (WebCore::EventHandler::canMouseDownStartSelect):
3463         (WebCore::EventHandler::canMouseDragExtendSelect):
3464         (WebCore::eventTargetNodeForDocument):
3465         (WebCore::EventHandler::keyEvent):
3466         * page/FrameView.cpp:
3467         (WebCore::FrameView::scheduleEvent):
3468         (WebCore::FrameView::updateOverflowStatus):
3469         * page/FrameView.h:
3470         * page/Page.cpp:
3471         (WebCore::networkStateChanged):
3472         * rendering/RenderLayer.cpp:
3473         (WebCore::RenderLayer::scrollToOffset):
3474         (WebCore::RenderLayer::updateOverflowStatus):
3475         * rendering/RenderListBox.cpp:
3476         (WebCore::RenderListBox::valueChanged):
3477         * rendering/RenderMedia.h:
3478         * rendering/RenderTextControl.cpp:
3479         (WebCore::RenderTextControl::selectionChanged):
3480         * svg/SVGElementInstance.h:
3481         (WebCore::SVGElementInstance::toNode):
3482         * xml/XPathExpression.cpp:
3483         (WebCore::XPathExpression::evaluate):
3484         * xml/XPathResult.cpp:
3485         (WebCore::XPathResult::XPathResult):
3486
3487 2009-02-05  Adam Treat  <adam.treat@torchmobile.com>
3488
3489         Fix the Qt build now that EventTargetNode.idl was removed in r40672.
3490
3491         * WebCore.pro:
3492
3493 2009-02-05  Scott Violet  <sky@google.com>
3494
3495         Reviewed by Sam Weinig.
3496
3497         Bug 23462: Add RGB -> CMYK conversion algorithm
3498         <https://bugs.webkit.org/show_bug.cgi?id=23462>
3499
3500         Adds an RGB -> CMYK converter. This isn't perfect, but better than
3501         nothing.
3502
3503         * html/CanvasStyle.cpp:
3504         (WebCore::CanvasStyle::applyStrokeColor):
3505         (WebCore::CanvasStyle::applyFillColor):
3506         (WebCore::CanvasStyle::cmykToRGB):
3507         * html/CanvasStyle.h:
3508
3509 2009-02-04  Sam Weinig  <sam@webkit.org>
3510
3511         Reviewed by Darin Adler.
3512
3513         First stage of merging EventTargetNode up into Node. The intent of this change
3514         is to both simplify the inheritance hierarchy (at the same time making it more
3515         closely match the spec which states that all Nodes are EventTargets) and save
3516         4 bytes per Node that the polymorphic multiple-inheritance was costing us.
3517
3518         This does the bare minimum to get things compiling, the next patch will clean 
3519
3520         * DerivedSources.make:
3521         * WebCore.base.exp:
3522         * WebCore.xcodeproj/project.pbxproj:
3523         * bindings/js/JSDocumentCustom.cpp:
3524         (WebCore::JSDocument::mark):
3525         * bindings/js/JSEventListener.cpp:
3526         (WebCore::JSLazyEventListener::parseCode):
3527         * bindings/js/JSEventTarget.cpp:
3528         (WebCore::toEventTarget):
3529         * bindings/js/JSEventTarget.h:
3530         * bindings/js/JSEventTargetNodeCustom.cpp:
3531         (WebCore::JSNode::addEventListener):
3532         (WebCore::JSNode::removeEventListener):
3533         (WebCore::JSNode::pushEventHandlerScope):
3534         * bindings/js/JSStyleSheetCustom.cpp:
3535         * bindings/scripts/CodeGeneratorJS.pm:
3536         * bindings/scripts/CodeGeneratorObjC.pm:
3537         * dom/Attr.idl:
3538         * dom/CharacterData.h:
3539         * dom/CharacterData.idl:
3540         * dom/Document.idl:
3541         * dom/DocumentFragment.idl:
3542         * dom/Element.idl:
3543         * dom/EventTarget.cpp:
3544         (WebCore::EventTarget::toNode):
3545         * dom/EventTarget.h:
3546         * dom/EventTarget.idl:
3547         * dom/EventTargetNode.cpp:
3548         (WebCore::Node::scriptExecutionContext):
3549         (WebCore::Node::eventListeners):
3550         (WebCore::Node::insertedIntoDocument):
3551         (WebCore::Node::removedFromDocument):
3552         (WebCore::Node::willMoveToNewOwnerDocument):
3553         (WebCore::Node::didMoveToNewOwnerDocument):
3554         (WebCore::Node::addEventListener):
3555         (WebCore::Node::removeEventListener):
3556         (WebCore::Node::removeAllEventListenersSlowCase):
3557         (WebCore::Node::handleLocalEvents):
3558         (WebCore::Node::dispatchEvent):
3559         (WebCore::Node::dispatchGenericEvent):
3560         (WebCore::Node::dispatchSubtreeModifiedEvent):
3561         (WebCore::Node::dispatchWindowEvent):
3562         (WebCore::Node::dispatchUIEvent):
3563         (WebCore::Node::dispatchKeyEvent):
3564         (WebCore::Node::dispatchMouseEvent):
3565         (WebCore::Node::dispatchSimulatedMouseEvent):
3566         (WebCore::Node::dispatchSimulatedClick):
3567         (WebCore::Node::dispatchWheelEvent):
3568         (WebCore::Node::dispatchWebKitAnimationEvent):
3569         (WebCore::Node::dispatchWebKitTransitionEvent):
3570         (WebCore::Node::dispatchFocusEvent):
3571         (WebCore::Node::dispatchBlurEvent):
3572         (WebCore::Node::dispatchEventForType):
3573         (WebCore::Node::dispatchProgressEvent):
3574         (WebCore::Node::dispatchStorageEvent):
3575         (WebCore::Node::removeInlineEventListenerForType):
3576         (WebCore::Node::setInlineEventListenerForType):
3577         (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
3578         (WebCore::Node::inlineEventListenerForType):
3579         (WebCore::Node::disabled):
3580         (WebCore::Node::defaultEventHandler):
3581         (WebCore::Node::onabort):
3582         (WebCore::Node::setOnabort):