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