5ad11229256198510f94d07853ea56346ef09ed3
[WebKit-https.git] / WebCore / ChangeLog
1 2009-02-13  Adam Treat  <adam.treat@torchmobile.com>
2
3         Caught by Darin Adler.
4
5         No reason to check m_tokenizer twice for 0 in a row.
6
7         * dom/Document.cpp:
8         (WebCore::Document::write):
9
10 2009-02-13  Lyon Chen  <lyon.chen@torchmobile.com>
11
12         Reviewed by Dave Hyatt.
13
14         Take into account y() + height() when calculating getLowerRightCorner.
15
16         * dom/ContainerNode.cpp:
17         (WebCore::ContainerNode::getLowerRightCorner):
18
19 2009-02-13  Antti Koivisto  <antti@apple.com>
20
21         Reviewed by Dave Hyatt.
22
23         Most of this code was in RenderBox, restore the copyright lines.
24
25         * rendering/RenderBoxModelObject.cpp:
26         * rendering/RenderBoxModelObject.h:
27
28 2009-02-13  David Hyatt  <hyatt@apple.com>
29
30         Get rid of printBoxDecorations, since it is dead code.
31
32         Reviewed by Dan Bernstein
33
34         * rendering/RenderObject.h:
35
36 2009-02-13  Adam Treat  <adam.treat@torchmobile.com>
37
38         Reviewed by Darin Adler.
39
40         https://bugs.webkit.org/show_bug.cgi?id=23952
41         Add Document::write overload which takes a SegmentedString since this
42         is what the tokenizer expects anyway.  Modified JSHTMLDocument so it once
43         again calls Document::write instead of injecting the string directly into
44         the tokenizer.  This ensures that all document.write's are funneled through
45         one method again, but should still be just as fast for JSHTMLDocumentCustom.
46
47         * bindings/js/JSHTMLDocumentCustom.cpp:
48         (WebCore::documentWrite):
49         * dom/Document.cpp:
50         (WebCore::Document::write):
51         * dom/Document.h:
52
53 2009-02-13  David Hyatt  <hyatt@apple.com>
54
55         Reviewed by Simon Fraser
56
57         Remove updateWidgetPosition on RenderObject.  Change RenderView's set of widgets
58         to have a tighter type: RenderWidget instead of RenderObject.  Devirtualize
59         updateWidgetPosition, since all RenderWidgets (except for applets) are now
60         RenderParts also.
61         
62         * rendering/RenderObject.cpp:
63         * rendering/RenderObject.h:
64         * rendering/RenderPart.cpp:
65         * rendering/RenderPart.h:
66         * rendering/RenderView.cpp:
67         (WebCore::RenderView::updateWidgetPositions):
68         (WebCore::RenderView::addWidget):
69         (WebCore::RenderView::removeWidget):
70         * rendering/RenderView.h:
71         * rendering/RenderWidget.cpp:
72         (WebCore::RenderWidget::updateWidgetPosition):
73         * rendering/RenderWidget.h:
74
75 2009-02-13  David Hyatt  <hyatt@apple.com>
76
77         Reviewed by Eric Seidel
78
79         Remove isEditable() on RenderObject.  It is dead code.
80
81         * rendering/RenderObject.cpp:
82         * rendering/RenderObject.h:
83
84 2009-02-13  David Hyatt  <hyatt@apple.com>
85
86         Reviewed by Eric Seidel
87
88         Add isTextControl() to RenderObject.  Patch call sites thats asked isTextField() || isTextArea() to just use
89         isTextControl() instead.
90         
91         Add a toRenderTextControl converter for doing checked casting to RenderTextControls.
92
93         * dom/Document.cpp:
94         (WebCore::Document::setFocusedNode):
95         * dom/InputElement.cpp:
96         (WebCore::InputElement::updateSelectionRange):
97         * editing/ReplaceSelectionCommand.cpp:
98         (WebCore::ReplacementFragment::ReplacementFragment):
99         * editing/TextIterator.cpp:
100         (WebCore::TextIterator::handleReplacedElement):
101         * html/HTMLInputElement.cpp:
102         (WebCore::HTMLInputElement::selectionStart):
103         (WebCore::HTMLInputElement::selectionEnd):
104         (WebCore::HTMLInputElement::setSelectionStart):
105         (WebCore::HTMLInputElement::setSelectionEnd):
106         (WebCore::HTMLInputElement::select):
107         (WebCore::HTMLInputElement::defaultEventHandler):
108         (WebCore::HTMLInputElement::selection):
109         * html/HTMLTextAreaElement.cpp:
110         (WebCore::HTMLTextAreaElement::selectionStart):
111         (WebCore::HTMLTextAreaElement::selectionEnd):
112         (WebCore::HTMLTextAreaElement::setSelectionStart):
113         (WebCore::HTMLTextAreaElement::setSelectionEnd):
114         (WebCore::HTMLTextAreaElement::select):
115         (WebCore::HTMLTextAreaElement::setSelectionRange):
116         (WebCore::HTMLTextAreaElement::appendFormData):
117         (WebCore::HTMLTextAreaElement::updateValue):
118         (WebCore::HTMLTextAreaElement::selection):
119         * page/AccessibilityRenderObject.cpp:
120         (WebCore::AccessibilityRenderObject::isNativeTextControl):
121         (WebCore::AccessibilityRenderObject::text):
122         (WebCore::AccessibilityRenderObject::selectedText):
123         (WebCore::AccessibilityRenderObject::selectedTextRange):
124         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
125         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
126         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
127         (WebCore::AccessibilityRenderObject::observableObject):
128         * page/Frame.cpp:
129         (WebCore::Frame::notifyRendererOfSelectionChange):
130         * rendering/RenderObject.h:
131         (WebCore::RenderObject::isTextControl):
132         (WebCore::objectIsRelayoutBoundary):
133         * rendering/RenderTextControl.h:
134         (WebCore::RenderTextControl::isTextControl):
135         (WebCore::toRenderTextControl):
136         * rendering/TextControlInnerElements.cpp:
137         (WebCore::TextControlInnerTextElement::defaultEventHandler):
138         * wml/WMLInputElement.cpp:
139         (WebCore::WMLInputElement::select):
140         (WebCore::WMLInputElement::defaultEventHandler):
141         (WebCore::WMLInputElement::isConformedToInputMask):
142
143 2009-02-13  David Hyatt  <hyatt@apple.com>
144
145         Get rid of isEdited/setEdited on RenderObject.  Devirtualize isEdited/setEdited on RenderTextControl.
146         Callers were already asking if the renderer was a text field (or a text area), so it was especially
147         pointless to waste a second virtual function call after making one just to determine the object type.
148     
149         Reviewed by Simon Fraser
150
151         * dom/Document.cpp:
152         (WebCore::Document::setFocusedNode):
153         * html/HTMLInputElement.cpp:
154         (WebCore::HTMLInputElement::defaultEventHandler):
155         * rendering/RenderObject.h:
156         * rendering/RenderTextControl.h:
157         (WebCore::RenderTextControl::isEdited):
158         (WebCore::RenderTextControl::setEdited):
159
160 2009-02-13  Scott Violet  <sky@google.com>
161
162         Reviewed by Eric Seidel.
163
164         https://bugs.webkit.org/show_bug.cgi?id=23934
165         Skia platform doesn't render text decoration shadows.
166
167         Makes Skia render text decoration shadows correctly. We weren't
168         preparing the SkPaint correctly and didn't have a couple of checks
169         CG has. Additionally makes the fillColor/strokeColor methods
170         consistent.
171
172         This behavior is covered by existing layout tests (see bug for list).
173
174         * platform/graphics/chromium/FontChromiumWin.cpp:
175         (WebCore::Font::drawGlyphs):
176         (WebCore::Font::drawComplexText):
177         * platform/graphics/skia/GraphicsContextSkia.cpp:
178         (WebCore::GraphicsContext::drawLineForText):
179         * platform/graphics/skia/PlatformContextSkia.cpp:
180         (PlatformContextSkia::effectiveFillColor):
181         (PlatformContextSkia::effectiveStrokeColor):
182         * platform/graphics/skia/PlatformContextSkia.h:
183
184 2009-02-12  Darin Fisher  <darin@chromium.org>
185
186         Reviewed by Eric Seidel.
187
188         https://bugs.webkit.org/show_bug.cgi?id=23944
189         KURLGoogle's pre-parsed canonicalSpec constructor should take a CString
190
191         * platform/KURL.h:
192         * platform/KURLGoogle.cpp:
193         (WebCore::KURLGooglePrivate::setUtf8):
194         (WebCore::KURLGooglePrivate::setAscii):
195         (WebCore::KURLGooglePrivate::init):
196         (WebCore::KURLGooglePrivate::replaceComponents):
197         (WebCore::KURL::KURL):
198         * platform/KURLGooglePrivate.h:
199
200 2009-02-13  David Hyatt  <hyatt@apple.com>
201
202         Remove leftmost/rightmost/lowestPosition from RenderObject.  They only need to be called on boxes.
203
204         Reviewed by Dan Bernstein
205
206         * rendering/RenderBlock.cpp:
207         (WebCore::RenderBlock::lowestPosition):
208         (WebCore::RenderBlock::rightmostPosition):
209         (WebCore::RenderBlock::leftmostPosition):
210         * rendering/RenderLayer.cpp:
211         (WebCore::RenderLayer::computeScrollDimensions):
212         * rendering/RenderMedia.cpp:
213         (WebCore::RenderMedia::lowestPosition):
214         (WebCore::RenderMedia::rightmostPosition):
215         (WebCore::RenderMedia::leftmostPosition):
216         * rendering/RenderObject.h:
217         * rendering/RenderTableSection.cpp:
218         (WebCore::RenderTableSection::lowestPosition):
219         (WebCore::RenderTableSection::rightmostPosition):
220         (WebCore::RenderTableSection::leftmostPosition):
221
222 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
223
224         Fix build with ACCELERATED_COMPOSITING turned on.
225
226         toRenderBox()->x() asserts for a layer on an inline; use
227         m_owningLayer->renderBoxX() instead.
228         
229         * rendering/RenderLayerBacking.cpp:
230         (WebCore::RenderLayerBacking::paintIntoLayer):
231
232 2009-02-12  Darin Adler  <darin@apple.com>
233
234         Reviewed by Oliver Hunt.
235
236         Speed up document.write a bit.
237
238         * bindings/js/JSHTMLDocumentCustom.cpp:
239         (WebCore::documentWrite): Added. Uses SegmentedString to avoid conversion from
240         UString to String and to avoid appending strings. Also added code to handle
241         newlines efficiently.
242         (WebCore::JSHTMLDocument::write): Changed to use documentWrite.
243         (WebCore::JSHTMLDocument::writeln): Ditto.
244
245         * dom/Document.cpp:
246         (WebCore::Document::prepareToWrite): Added. Refactored the initialization part
247         of write into a separate function for use in the JavaScript binding.
248         (WebCore::Document::write): Changed to call prepareToWrite.
249
250         * dom/Document.h: Added declaration for prepareToWrite.
251
252 2009-02-13  Prasanth Ullattil  <pullatti@trolltech.com>
253
254         Reviewed by Simon Hausmann.
255
256         Fixes crash in the Qt port on Windows with comboboxes
257
258         The focusWidget in the input context is not reset properly.
259         The QApplication::setFocusWidget() wont reset the IC if the reason is
260         PopupFocusReason, this is not ideal. For the time being we are going
261         to do this from webkit itself.
262
263         * platform/qt/QWebPopup.cpp:
264         (WebCore::QWebPopup::hidePopup):
265
266 2009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
267
268         wx build fix, typo while tweaking last patch for commit.
269
270         * platform/wx/wxcode/gtk/fontprops.cpp:
271         (GetTextExtent):
272
273 2009-02-12  miggilin  <mr.diggilin@gmail.com>
274
275         Reviewed by Kevin Ollivier.
276
277         Use Cairo/PANGO to fix text measurements and implement proper
278         non-kerned text drawing on wxGTK.
279
280         https://bugs.webkit.org/show_bug.cgi?id=17727
281
282         * platform/graphics/GlyphBuffer.h:
283         * platform/graphics/wx/FontPlatformDataWx.cpp:
284         (WebCore::fontWeightToWxFontWeight):
285         * platform/graphics/wx/SimpleFontDataWx.cpp:
286         (WebCore::SimpleFontData::platformWidthForGlyph):
287         * platform/wx/wxcode/fontprops.h:
288         * platform/wx/wxcode/gtk/fontprops.cpp:
289         (wxFontProperties::wxFontProperties):
290         (GetTextExtent):
291         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
292         (WebCore::pangoFontMap):
293         (WebCore::createPangoFontForFont):
294         (WebCore::createScaledFontForFont):
295         (WebCore::pango_font_get_glyph):
296         (WebCore::drawTextWithSpacing):
297         * platform/wx/wxcode/non-kerned-drawing.h:
298
299 2009-02-12  Chris Marrin  <cmarrin@apple.com>
300
301         Reviewed by Simon Fraser
302
303         https://bugs.webkit.org/show_bug.cgi?id=23942
304
305         Hook up 3D CSS transforms to the accelerated compositor backend.
306         Not enabled by default.
307
308         * page/animation/AnimationBase.cpp:
309         (WebCore::blendFunc):
310         (WebCore::ensurePropertyMap):
311         * page/animation/CompositeAnimation.cpp:
312         (WebCore::CompositeAnimationPrivate::updateTransitions):
313         * page/animation/ImplicitAnimation.cpp:
314         (WebCore::ImplicitAnimation::willNeedService):
315         * page/animation/KeyframeAnimation.cpp:
316         (WebCore::KeyframeAnimation::willNeedService):
317         * platform/graphics/GraphicsLayer.cpp:
318         (WebCore::GraphicsLayer::TransformValueList::makeFunctionList):
319         (WebCore::GraphicsLayer::dumpProperties):
320         * platform/graphics/mac/GraphicsLayerCA.mm:
321         (WebCore::copyTransform):
322         (WebCore::getValueFunctionNameForTransformOperation):
323         (WebCore::GraphicsLayerCA::animateTransform):
324         * rendering/RenderBox.cpp:
325         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
326         * rendering/RenderLayer.cpp:
327         (WebCore::RenderLayer::updateTransform):
328         (WebCore::RenderLayer::hasTransformStyle3D):
329         (WebCore::RenderLayer::hasPerspective):
330         (WebCore::RenderLayer::perspectiveTransform):
331         * rendering/RenderLayer.h:
332         * rendering/RenderLayerBacking.cpp:
333         (WebCore::RenderLayerBacking::updateGraphicsLayers):
334         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
335         (WebCore::RenderLayerBacking::computeTransformOrigin):
336         (WebCore::RenderLayerBacking::computePerspectiveOrigin):
337         * rendering/RenderLayerBacking.h:
338         * rendering/RenderLayerCompositor.cpp:
339         (WebCore::RenderLayerCompositor::has3DContent):
340         (WebCore::requiresCompositingLayerForTransform):
341         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
342         (WebCore::RenderLayerCompositor::layerHas3DContent):
343         * rendering/RenderLayerCompositor.h:
344
345 2009-02-12  David Hyatt  <hyatt@apple.com>
346
347         Reviewed by Eric Seidel
348
349         Get rid of containingBlockHeight(), since it had only one implementation (despite being virtual) and just returned
350         containingBlock()->availableHeight().  The latter reads better anyway.  Rename containingBlockWidth() to
351         containingBlockWidthForContent() and move it to RenderBoxModelObject.
352
353         * rendering/RenderBlock.cpp:
354         (WebCore::RenderBlock::localCaretRect):
355         * rendering/RenderBox.cpp:
356         (WebCore::RenderBox::containingBlockWidthForContent):
357         (WebCore::RenderBox::calcWidth):
358         (WebCore::RenderBox::calcReplacedWidthUsing):
359         * rendering/RenderBox.h:
360         * rendering/RenderBoxModelObject.cpp:
361         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
362         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
363         (WebCore::RenderBoxModelObject::containingBlockWidthForContent):
364         * rendering/RenderBoxModelObject.h:
365         * rendering/RenderInline.cpp:
366         (WebCore::RenderInline::marginLeft):
367         (WebCore::RenderInline::marginRight):
368         * rendering/RenderObject.cpp:
369         * rendering/RenderObject.h:
370         * rendering/RenderSVGContainer.cpp:
371         (WebCore::RenderSVGContainer::calcReplacedWidth):
372
373 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
374
375         Fix non-Mac builds by adding Matrix3DTransformOperation.* and
376         PerspectiveTransformOperation.*. Cleaned out some cruft in 
377         the WebCore.vcproj fle.
378
379         * GNUmakefile.am:
380         * WebCore.pro:
381         * WebCore.scons:
382         * WebCore.vcproj/WebCore.vcproj:
383
384 2009-02-12  David Smith  <catfish.man@gmail.com>
385
386         Reviewed by Dave Hyatt.
387         
388         Fix https://bugs.webkit.org/show_bug.cgi?id=23935
389         Nested :not() and non-simple selectors in :not() should be invalid
390
391         * css/CSSGrammar.y: Reject nested :not()
392         * css/CSSStyleSelector.cpp:
393         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ASSERT() rather than checking, since the parser enforces it now
394
395 2009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
396
397         wx build fixes.
398
399         * WebCoreSources.bkl:
400
401 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
402
403         Fix build with ACCELERATED_COMPOSITING turned on.
404         
405         Need to cast toRenderBox() in order to call overflowClipRect().
406
407         * rendering/RenderLayerBacking.cpp:
408         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
409
410 2009-02-12  Oliver Hunt  <oliver@apple.com>
411
412         Reviewed by NOBODY (Build fix).
413
414         Fix windows build.
415
416         * css/CSSParser.h:
417
418 2009-02-12  David Hyatt  <hyatt@apple.com>
419
420         Rename getOverflowClipRect and getClipRect to overflowClipRect and clipRect.  Move them to RenderBox, since these methods
421         only apply to boxes.  Devirtualize clipRect, since it was not subclassed.  Move controlClip stuff to RenderBox also.
422
423         Reviewed by Simon Fraser
424
425         * editing/Editor.cpp:
426         (WebCore::Editor::insideVisibleArea):
427         * rendering/RenderBox.cpp:
428         (WebCore::RenderBox::overflowClipRect):
429         (WebCore::RenderBox::clipRect):
430         * rendering/RenderBox.h:
431         (WebCore::RenderBox::hasControlClip):
432         (WebCore::RenderBox::controlClipRect):
433         * rendering/RenderForeignObject.cpp:
434         (WebCore::RenderForeignObject::paint):
435         * rendering/RenderLayer.cpp:
436         (WebCore::RenderLayer::calculateClipRects):
437         (WebCore::RenderLayer::calculateRects):
438         * rendering/RenderLayerBacking.cpp:
439         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
440         * rendering/RenderObject.h:
441         (WebCore::RenderObject::hasClip):
442         (WebCore::RenderObject::hasOverflowClip):
443         * rendering/RenderTable.cpp:
444         (WebCore::RenderTable::overflowClipRect):
445         * rendering/RenderTable.h:
446
447 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
448
449         Fix build with ACCELERATED_COMPOSITING turned on (simple copy/paste error)
450
451         * platform/graphics/mac/GraphicsLayerCA.mm:
452         (WebCore::GraphicsLayerCA::setBasicAnimation):
453
454 2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
455
456         Not reviewed.
457
458         Release build fix when VIDEO is disabled (it should also
459         help the builds with WORKERS or XSLT disabled).
460
461         * bindings/js/JSDOMWindowBase.cpp:
462         (jsDOMWindowBaseAudio): Added an UNUSED_PARAM for exec and slot when
463         VIDEO is disabled.
464         (jsDOMWindowBaseWorker): Ditto for WORKERS.
465         (jsDOMWindowBaseXSLTProcessor): Ditto for XSLT.
466
467 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
468
469         Reviewed by Simon Fraser.
470
471         https://bugs.webkit.org/show_bug.cgi?id=23923
472         Implement mediaPlayerVolumeChanged so a media engine can report autonomous volume changes.
473         Supporting this requires that we know when we are processing a media engine callback so
474         we don't turn around and tell the media player to change the volume when it is reporting
475         a volume change.
476         
477         * html/HTMLMediaElement.cpp:
478         (WebCore::HTMLMediaElement::HTMLMediaElement): initialize m_processingMediaPlayerCallback
479         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): call begin/endProcessingMediaPlayerCallback
480         (WebCore::HTMLMediaElement::setNetworkState): logic split out of mediaPlayerNetworkStateChanged 
481         to make it easier to maintain m_processingMediaPlayerCallback.
482         (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): call begin/endProcessingMediaPlayerCallback
483         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
484         (WebCore::HTMLMediaElement::mediaPlayerRepaint): Ditto.
485         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): New
486         (WebCore::HTMLMediaElement::updateVolume): Don't change media engine volume if we are processing
487         a callback from the engine.
488         * html/HTMLMediaElement.h:
489         (WebCore::HTMLMediaElement::processingMediaPlayerCallback): New, return true if (m_processingMediaPlayerCallback>0)
490         (WebCore::HTMLMediaElement::beginProcessingMediaPlayerCallback): New, increment m_processingMediaPlayerCallback
491         (WebCore::HTMLMediaElement::endProcessingMediaPlayerCallback): New, decrement m_processingMediaPlayerCallback
492
493 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
494
495         Reviewed by Simon Fraser.
496
497         Support MPEG content on Mac and Windows.
498         <rdar://problem/5917509>
499         https://bugs.webkit.org/show_bug.cgi?id=23495
500
501         Test: media/audio-mpeg-supported.html
502
503         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
504         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
505
506         * platform/graphics/win/QTMovieWin.cpp:
507         (QTMovieWin::disableUnsupportedTracks):
508
509         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: fix typo added in r40925 
510
511 2009-02-12  David Hyatt  <hyatt@apple.com>
512
513         Reviewed by Sam Weinig
514
515         Move containsFloats, hasOverhangingFloats, shrinkToAvoidFloats and avoidsFloats down to
516         RenderBox, since these methods only apply to boxes.
517
518         * rendering/RenderBlock.cpp:
519         (WebCore::RenderBlock::collapseMargins):
520         (WebCore::RenderBlock::clearFloatsIfNeeded):
521         (WebCore::RenderBlock::layoutBlockChildren):
522         (WebCore::RenderBlock::clearFloats):
523         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
524         (WebCore::RenderBlock::calcBlockPrefWidths):
525         * rendering/RenderBlock.h:
526         (WebCore::RenderBlock::containsFloats):
527         (WebCore::RenderBlock::hasOverhangingFloats):
528         * rendering/RenderBox.cpp:
529         (WebCore::RenderBox::shrinkToAvoidFloats):
530         (WebCore::RenderBox::avoidsFloats):
531         * rendering/RenderBox.h:
532         * rendering/RenderObject.cpp:
533         * rendering/RenderObject.h:
534         (WebCore::RenderObject::isFloatingOrPositioned):
535         * rendering/RenderView.h:
536
537 2009-02-12  Chris Marrin  <cmarrin@apple.com>        
538
539         Reviewed by Dave Hyatt
540         
541         https://bugs.webkit.org/show_bug.cgi?id=23908
542         
543         Added parsing of 3d transform functions and properties
544         (perspective, perspective-origin, transform-style-3d, 
545         and backface-visibility).   
546         
547         Test: transforms/3d/cssmatrix-3d-interface.xhtml
548         
549         * css/CSSComputedStyleDeclaration.cpp:
550         (WebCore::):
551         (WebCore::computedTransform):
552         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
553         * css/CSSMutableStyleDeclaration.cpp:
554         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
555         * css/CSSParser.cpp:
556         (WebCore::CSSParser::parseValue):
557         (WebCore::CSSParser::parseFillProperty):
558         (WebCore::CSSParser::parseTransformOriginShorthand):
559         (WebCore::TransformOperationInfo::TransformOperationInfo):
560         (WebCore::CSSParser::parseTransform):
561         (WebCore::CSSParser::parseTransformOrigin):
562         (WebCore::CSSParser::parsePerspectiveOrigin):
563         * css/CSSParser.h:
564         * css/CSSPrimitiveValue.h:
565         (WebCore::CSSPrimitiveValue::isUnitTypeLength):
566         * css/CSSPropertyNames.in:
567         * css/CSSStyleSelector.cpp:
568         (WebCore::CSSStyleSelector::adjustRenderStyle):
569         (WebCore::convertToLength):
570         (WebCore::CSSStyleSelector::applyProperty):
571         (WebCore::CSSStyleSelector::mapFillSize):
572         (WebCore::CSSStyleSelector::mapFillXPosition):
573         (WebCore::CSSStyleSelector::mapFillYPosition):
574         (WebCore::getTransformOperationType):
575         (WebCore::CSSStyleSelector::createTransformOperations):
576         * css/CSSValueKeywords.in:
577         * css/WebKitCSSTransformValue.cpp:
578         (WebCore::WebKitCSSTransformValue::cssText):
579         * css/WebKitCSSTransformValue.h:
580         (WebCore::WebKitCSSTransformValue::):
581         * css/WebKitCSSTransformValue.idl:
582         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
583         * platform/graphics/transforms/Matrix3DTransformOperation.h:
584         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
585         * platform/graphics/transforms/PerspectiveTransformOperation.h:
586         * platform/graphics/transforms/RotateTransformOperation.cpp:
587         (WebCore::RotateTransformOperation::blend):
588         * platform/graphics/transforms/RotateTransformOperation.h:
589         (WebCore::RotateTransformOperation::RotateTransformOperation):
590         * platform/graphics/transforms/ScaleTransformOperation.h:
591         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
592         * platform/graphics/transforms/TransformOperation.h:
593         (WebCore::TransformOperation::is3DOperation):
594         * platform/graphics/transforms/TransformOperations.h:
595         (WebCore::TransformOperations::has3DOperation):
596         * platform/graphics/transforms/TranslateTransformOperation.h:
597         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
598         
599 2009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
600
601         wx build fix.
602
603         * webcore-base.bkl:
604
605 2009-02-12  Brady Eidson  <beidson@apple.com>
606
607         Reviewed by Darin Adler
608
609         Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
610
611         * platform/mac/SharedBufferMac.mm: Change to use RefPtr<> instead of ref()/deref().
612         (-[WebCoreSharedBufferData dealloc]):
613         (-[WebCoreSharedBufferData finalize]):
614         (-[WebCoreSharedBufferData initWithSharedBuffer:]):
615
616 2009-02-12  David Hyatt  <hyatt@apple.com>
617
618         Remove calcWidth from RenderObject.  Nobody ever called it on RenderObjects.
619
620         Reviewed by Sam Weinig
621
622         * rendering/RenderObject.h:
623
624 2009-02-12  David Hyatt  <hyatt@apple.com>
625
626         Reviewed by Mark Rowe
627
628         Fix for regression where form controls would paint yellow highlights.  The containsComposition check needs to
629         null check node() now.
630
631         * rendering/InlineTextBox.cpp:
632         (WebCore::InlineTextBox::paint):
633
634 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
635
636         Build fix
637
638         Change Animation::setDirection() to take the new enum value, and fix
639         the single caller.
640
641         Fix build error in MediaPlayerPrivateQTKit.h.
642         
643         * css/CSSStyleSelector.cpp:
644         (WebCore::CSSStyleSelector::mapAnimationDirection):
645         * platform/animation/Animation.h:
646         (WebCore::Animation::setDirection):
647         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
648
649 2009-02-12  David Hyatt  <hyatt@apple.com>
650
651         Reviewed by Simon Fraser
652
653         Remove the overrideSize methods from RenderObject.  Devirtualize all of the accessors on RenderBox.
654
655         * rendering/RenderBox.h:
656         * rendering/RenderObject.h:
657
658 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
659
660         Darin Adler, Antti Koivisto, Holger Hans Peter Freyther
661         
662         Bug 23797: A platform should be able to use more than one media engine for <video> and <audio>
663         https://bugs.webkit.org/show_bug.cgi?id=23797
664
665         * WebCore.xcodeproj/project.pbxproj: add MediaPlayerPrivate.h
666
667         * html/HTMLMediaElement.cpp:
668         (WebCore::HTMLMediaElement::load): selectMediaURL now also returns a MIME type, pass it to
669         MediaPlayer::load so it can choose the right media engine
670         (WebCore::HTMLMediaElement::selectMediaURL): renamed from pickMedia. use MIMETypeRegistry
671         functions to strip params from the url and extract the codecs parameter. call 
672         MediaPlayer::supportsType to see if we can open the file since only a media engine can
673         answer questions about supported type+codecs.
674         * html/HTMLMediaElement.h:
675
676         * platform/MIMETypeRegistry.cpp:
677         (WebCore::MIMETypeRegistry::getParameterFromMIMEType): New, find and return a MIME type parameter
678         (WebCore::MIMETypeRegistry::stripParametersFromMIMEType): New, strip all parameters from a MIME type
679         * platform/MIMETypeRegistry.h:
680
681         * platform/graphics/MediaPlayer.cpp:
682         (WebCore::NullMediaPlayerPrivate::NullMediaPlayerPrivate):
683         (WebCore::NullMediaPlayerPrivate::load):
684         (WebCore::NullMediaPlayerPrivate::cancelLoad):
685         (WebCore::NullMediaPlayerPrivate::play):
686         (WebCore::NullMediaPlayerPrivate::pause):
687         (WebCore::NullMediaPlayerPrivate::naturalSize):
688         (WebCore::NullMediaPlayerPrivate::hasVideo):
689         (WebCore::NullMediaPlayerPrivate::setVisible):
690         (WebCore::NullMediaPlayerPrivate::duration):
691         (WebCore::NullMediaPlayerPrivate::currentTime):
692         (WebCore::NullMediaPlayerPrivate::seek):
693         (WebCore::NullMediaPlayerPrivate::seeking):
694         (WebCore::NullMediaPlayerPrivate::setEndTime):
695         (WebCore::NullMediaPlayerPrivate::setRate):
696         (WebCore::NullMediaPlayerPrivate::paused):
697         (WebCore::NullMediaPlayerPrivate::setVolume):
698         (WebCore::NullMediaPlayerPrivate::networkState):
699         (WebCore::NullMediaPlayerPrivate::readyState):
700         (WebCore::NullMediaPlayerPrivate::maxTimeSeekable):
701         (WebCore::NullMediaPlayerPrivate::maxTimeBuffered):
702         (WebCore::NullMediaPlayerPrivate::dataRate):
703         (WebCore::NullMediaPlayerPrivate::totalBytesKnown):
704         (WebCore::NullMediaPlayerPrivate::totalBytes):
705         (WebCore::NullMediaPlayerPrivate::bytesLoaded):
706         (WebCore::NullMediaPlayerPrivate::setRect):
707         (WebCore::NullMediaPlayerPrivate::paint):
708         (WebCore::createNullMediaPlayer):
709         Do nothing media player so MediaPlayer doesn't have to NULL check before calling current engine.
710
711         (WebCore::MediaPlayerFactory::MediaPlayerFactory): New, factory constructor.
712         (WebCore::installedMediaEngines): New, returns vector of all installed engines.
713         (WebCore::addMediaEngine): New, add a media engine to the cache.
714         (WebCore::chooseBestEngineForTypeAndCodecs): New, return an engine that might support a MIME type.
715         (WebCore::MediaPlayer::MediaPlayer): create NULL media player so we have a default. Initialize m_currentMediaEngine.
716         (WebCore::MediaPlayer::~MediaPlayer): don't need to delete m_private, it is now an OwnPtr.
717         (WebCore::MediaPlayer::load): Take MIME type as well as url, since we need it to find the right
718           media engine. If no MIME type is provided, try to devine one from the url. Choose a media engine
719           based on the MIME type and codecs parameter.
720         (WebCore::MediaPlayer::currentTime): Remove excess white space.
721         (WebCore::MediaPlayer::supportsType): Take codecs param as well as MIME type. Return enum so we can
722         indicate "maybe" condition.
723         (WebCore::MediaPlayer::getSupportedTypes): Build up list of MIME types by consulting all engines.
724         (WebCore::MediaPlayer::isAvailable): return true if any media engine is installed.
725
726         * platform/graphics/MediaPlayer.h:
727         (WebCore::MediaPlayer::):
728         (WebCore::MediaPlayer::frameView): accessor function.
729
730         * platform/graphics/MediaPlayerPrivate.h: New, declares abstract interface for media engines.
731         (WebCore::MediaPlayerPrivateInterface::~MediaPlayerPrivateInterface):
732         (WebCore::MediaPlayerPrivateInterface::totalBytesKnown):
733
734         * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Add support for engine factory 
735
736         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
737         (WebCore::MediaPlayerPrivate::create): New, media engine factory function
738         (WebCore::MediaPlayerPrivate::registerMediaEngine): Register engine with MediaPlayer factory
739         (WebCore::MediaPlayerPrivate::load): URL is a const String.
740         (WebCore::MediaPlayerPrivate::duration): Declare const.
741         (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
742         (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
743         (WebCore::MediaPlayerPrivate::networkState): Ditto.
744         (WebCore::MediaPlayerPrivate::readyState): Ditto.
745         (WebCore::MediaPlayerPrivate::maxTimeBuffered): Ditto.
746         (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
747         (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
748         (WebCore::MediaPlayerPrivate::bytesLoaded): Ditto.
749         (WebCore::MediaPlayerPrivate::totalBytesKnown): Ditto.
750         (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
751         (WebCore::MediaPlayerPrivate::supportsType): Return MediaPlayer::SupportsType enum instead of bool.
752         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
753         (WebCore::MediaPlayerPrivate::isAvailable):
754
755         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
756         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
757         (WebCore::MediaPlayerPrivateQTKit::create): New, media engine factory function
758         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register engine with MediaPlayer factory
759         (WebCore::MediaPlayerPrivate::createQTMovieView): don't access MediaPlayer->m_frameView directly,
760         use accessor function.
761         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Ditto.
762         (WebCore::MediaPlayerPrivate::paint): Ditto.
763         (WebCore::mimeTypeCache): New.
764         (WebCore::MediaPlayerPrivate::getSupportedTypes): New, media engine factory function.
765         (WebCore::MediaPlayerPrivate::supportsType): return MediaPlayer::SupportsType enum instead of bool
766         (-[WebCoreMovieObserver initWithCallback:]): fix formatting
767
768         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
769         (WebCore::MediaPlayerPrivate::create):
770         (WebCore::MediaPlayerPrivate::registerMediaEngine):
771         (WebCore::MediaPlayerPrivate::supportsType):
772         (WebCore::MediaPlayerPrivate::load): URL is a const String.
773         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
774         (WebCore::MediaPlayerPrivate::isAvailable):
775
776         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
777         (WebCore::MediaPlayerPrivate::create): New, media engine factory function
778         (WebCore::MediaPlayerPrivate::registerMediaEngine): New, register engine with MediaPlayer factory
779         (WebCore::MediaPlayerPrivate::load): URL is a const String.
780         (WebCore::MediaPlayerPrivate::paint): don't access MediaPlayer->m_frameView directly,
781         use accessor function.
782         (WebCore::mimeTypeCache): New.
783         (WebCore::MediaPlayerPrivateQTWin::getSupportedTypes): New, media engine factory function.
784         (WebCore::MediaPlayerPrivateQTWin::supportsType): return MediaPlayer::SupportsType enum instead of bool
785         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
786
787 2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
788
789         Reviewed by Darin Adler.
790
791         Test: fast/dom/prefixed-image-tag.xhtml
792
793         Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool)
794
795         Instead we now directly propage the QualifiedName inside the generated Factory.
796
797         Test: fast/dom/prefixed-image-tag.xhtml
798
799         * dom/Document.cpp:
800         (WebCore::Document::createElement): Removed the setPrefix work-around
801         and replaced it with an ASSERT to catch mistakes inside the Factory code.
802         Remove the unneeded ExceptionCode argument.
803
804         (WebCore::Document::createElementNS): Removed ExceptionCode argument.
805         * dom/Document.h: Updated the signature.
806         * dom/XMLTokenizerLibxml2.cpp:
807         (WebCore::XMLTokenizer::startElementNs): Removed ExceptionCode argument.
808         * dom/XMLTokenizerQt.cpp: Ditto.
809         (WebCore::XMLTokenizer::parseStartElement): Ditto.
810
811         * dom/make_names.pl: Implemented the QualifiedName propogation logic
812         in the Factory.
813
814 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
815
816         Reviewed by Dave Hyatt
817
818         https://bugs.webkit.org/show_bug.cgi?id=23188
819         
820         Define enum values for Animation::direction(), and one for
821         IterationCountInfinite to make the code more self-documenting.
822         
823         Order the member vars of Animation to optimize packing.
824         
825         * css/CSSComputedStyleDeclaration.cpp:
826         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
827         * platform/animation/Animation.cpp:
828         (WebCore::Animation::Animation):
829         (WebCore::Animation::operator=):
830         (WebCore::Animation::animationsMatch):
831         * platform/animation/Animation.h:
832         (WebCore::Animation::):
833         (WebCore::Animation::direction):
834         (WebCore::Animation::initialAnimationDirection):
835         * platform/graphics/mac/GraphicsLayerCA.mm:
836         (WebCore::GraphicsLayerCA::setBasicAnimation):
837         (WebCore::GraphicsLayerCA::setKeyframeAnimation):
838
839 2009-02-12  Christian Dywan  <christian@twotoasts.de>
840
841         Reviewed by Holger Freyther.
842
843         * platform/network/soup/ResourceHandleSoup.cpp:
844         (WebCore::ResourceHandle::startHttp): Don't use O_CLOEXEC for now.
845
846 2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
847
848         Reviewed by Darin Adler.
849
850         Bug 23826: Potential bug with before/after rule while moving element from one document to another
851
852         Moved the document before/after toggle from the constructor to insertedIntoDocument.
853
854         Test: fast/css-generated-content/beforeAfter-interdocument.html
855
856         * html/HTMLQuoteElement.cpp:
857         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
858         (WebCore::HTMLQuoteElement::insertedIntoDocument):
859         * html/HTMLQuoteElement.h:
860
861 2009-02-12  David Hyatt  <hyatt@apple.com>
862
863         Reviewed by Simon Fraser
864
865         Fix for https://bugs.webkit.org/show_bug.cgi?id=23912
866
867         I have no idea why this broke.  As far as I can tell the old code never should have worked in
868         the first place.  Add code to handleWheelEvent that will find an enclosing renderer for a node
869         in order to attempt a wheel scroll.
870
871         * page/EventHandler.cpp:
872         (WebCore::EventHandler::handleWheelEvent):
873
874 2009-02-12  David Hyatt  <hyatt@apple.com>
875
876         Move the functions that paint borders, box shadows and border images into RenderBoxModelObject.  drawBorder and drawBorderArc, because they are used
877         for outlines as well as borders, need to stay in RenderObject.  Rename them to drawLineForBoxSide and drawArcForBoxSide in order to reflect their
878         more generic use.  Rename the BorderSide struct to BoxSide, since the concept of "side" is just a rectangle concept and not a border concept.
879
880         Reviewed by Simon Fraser
881
882         * rendering/InlineFlowBox.cpp:
883         (WebCore::InlineFlowBox::paintFillLayer):
884         (WebCore::InlineFlowBox::paintBoxShadow):
885         (WebCore::InlineFlowBox::paintBoxDecorations):
886         (WebCore::InlineFlowBox::paintMask):
887         * rendering/RenderBlock.cpp:
888         (WebCore::RenderBlock::paintColumns):
889         * rendering/RenderBoxModelObject.cpp:
890         (WebCore::RenderBoxModelObject::paintNinePieceImage):
891         (WebCore::RenderBoxModelObject::paintBorder):
892         (WebCore::RenderBoxModelObject::paintBoxShadow):
893         * rendering/RenderBoxModelObject.h:
894         * rendering/RenderFieldset.cpp:
895         (WebCore::RenderFieldset::paintBorderMinusLegend):
896         * rendering/RenderInline.cpp:
897         (WebCore::RenderInline::paintOutlineForLine):
898         * rendering/RenderObject.cpp:
899         (WebCore::RenderObject::drawLineForBoxSide):
900         (WebCore::RenderObject::drawArcForBoxSide):
901         (WebCore::RenderObject::paintOutline):
902         * rendering/RenderObject.h:
903         (WebCore::):
904         (WebCore::RenderObject::hasBoxDecorations):
905         * rendering/RenderTableCell.cpp:
906         (WebCore::CollapsedBorders::addBorder):
907         (WebCore::RenderTableCell::paintCollapsedBorder):
908
909 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
910
911         Reviewed by Simon Fraser
912
913         Bug 18322: video element should have ui when scripting is disabled
914         https://bugs.webkit.org/show_bug.cgi?id=18322
915
916         * html/HTMLMediaElement.cpp:
917         (WebCore::HTMLMediaElement::controls): always return 'true' when JavaScript is disabled.
918         * manual-tests/media-controls-when-javascript-disabled.html: Added.
919
920 2009-02-12  Dimitri Glazkov  <dglazkov@chromium.org>
921
922         Reviewed by Eric Seidel.
923
924         https://bugs.webkit.org/show_bug.cgi?id=23906
925         Add custom V8 bindings for HTMLPlugInElement.
926
927         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: Added.
928         (WebCore::NAMED_PROPERTY_GETTER):
929         (WebCore::NAMED_PROPERTY_SETTER):
930         (WebCore::CALLBACK_FUNC_DECL):
931         (WebCore::INDEXED_PROPERTY_GETTER):
932         (WebCore::INDEXED_PROPERTY_SETTER):
933
934 2009-02-12  Gustavo Noronha Silva  <gns@gnome.org>
935
936         Reviewed by Mark Rowe.
937
938         [GTK] Soup backend must handle upload of multiple files
939         https://bugs.webkit.org/show_bug.cgi?id=18343
940
941         * platform/network/soup/ResourceHandleSoup.cpp:
942         (WebCore::):
943         (WebCore::freeFileMapping):
944         (WebCore::ResourceHandle::startHttp): Support multipart request bodies
945         mmap'ing files to be uploaded.
946
947 2009-02-12  Adam Treat  <adam.treat@torchmobile.com>
948
949         Fix the Qt build following r40871 which changed RenderObject::element()
950         into RenderObject::node().
951
952         * platform/qt/RenderThemeQt.cpp:
953         (WebCore::RenderThemeQt::getMediaElementFromRenderObject):
954         (WebCore::RenderThemeQt::getMediaControlForegroundColor):
955
956 2009-02-12  Alexey Proskuryakov  <ap@webkit.org>
957
958         Build fix.
959
960         * platform/graphics/transforms/RotateTransformOperation.cpp: Include <algorithm>.
961
962 2009-02-12  Jian Li  <jianli@chromium.org>
963
964         Reviewed by Alexey Proskuryakov.
965
966         Change worker code to use different proxy class pointers.
967         https://bugs.webkit.org/show_bug.cgi?id=23859
968
969         This is a step towards using separate proxies in multi-process implementation.
970
971         * bindings/js/WorkerScriptController.cpp:
972         (WebCore::WorkerScriptController::evaluate):
973         * dom/Worker.cpp:
974         (WebCore::Worker::Worker):
975         (WebCore::Worker::~Worker):
976         (WebCore::Worker::postMessage):
977         (WebCore::Worker::terminate):
978         (WebCore::Worker::hasPendingActivity):
979         (WebCore::Worker::notifyFinished):
980         (WebCore::Worker::dispatchMessage):
981         * dom/Worker.h:
982         * dom/WorkerContext.cpp:
983         (WebCore::WorkerContext::~WorkerContext):
984         (WebCore::WorkerContext::reportException):
985         (WebCore::WorkerContext::addMessage):
986         (WebCore::WorkerContext::postMessage):
987         (WebCore::WorkerContext::dispatchMessage):
988         * dom/WorkerContext.h:
989         * dom/WorkerContextProxy.h:
990         * dom/WorkerMessagingProxy.cpp:
991         (WebCore::MessageWorkerContextTask::performTask):
992         (WebCore::MessageWorkerTask::performTask):
993         (WebCore::WorkerContextProxy::create):
994         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
995         (WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
996         (WebCore::WorkerMessagingProxy::startWorkerContext):
997         (WebCore::postConsoleMessageTask):
998         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
999         (WebCore::WorkerMessagingProxy::workerThreadCreated):
1000         * dom/WorkerMessagingProxy.h:
1001         * dom/WorkerObjectProxy.h:
1002         * dom/WorkerThread.cpp:
1003         (WebCore::WorkerThread::create):
1004         (WebCore::WorkerThread::WorkerThread):
1005         (WebCore::WorkerThread::workerThread):
1006         * dom/WorkerThread.h:
1007         (WebCore::WorkerThread::workerObjectProxy):
1008         * loader/WorkerThreadableLoader.cpp:
1009         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
1010
1011 2009-02-12  David Levin  <levin@chromium.org>
1012
1013         Reviewed by Alexey Proskuryakov.
1014
1015         Bug 23688: ThreadableLoader needs a sync implementation for Workers.
1016         <https://bugs.webkit.org/show_bug.cgi?id=23688>
1017
1018         Add ResourceError to ThreadableLoaderClient.
1019
1020         No observable change in behavior, so no test.
1021
1022         * loader/DocumentThreadableLoader.cpp:
1023         (WebCore::DocumentThreadableLoader::create):
1024         (WebCore::DocumentThreadableLoader::willSendRequest):
1025         (WebCore::DocumentThreadableLoader::didFail):
1026         * loader/ThreadableLoaderClient.h:
1027         (WebCore::ThreadableLoaderClient::didFail):
1028         (WebCore::ThreadableLoaderClient::didFailWillSendRequestCheck):
1029         * loader/ThreadableLoaderClientWrapper.h:
1030         (WebCore::ThreadableLoaderClientWrapper::didFail):
1031         * loader/WorkerThreadableLoader.cpp:
1032         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
1033         (WebCore::workerContextDidFail):
1034         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
1035         * loader/WorkerThreadableLoader.h:
1036         * xml/XMLHttpRequest.cpp:
1037         (WebCore::XMLHttpRequest::didFail):
1038         (WebCore::XMLHttpRequest::didFailWillSendRequestCheck):
1039         * xml/XMLHttpRequest.h:
1040
1041 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
1042
1043         Reviewed by Dave Hyatt
1044
1045         Fix the build on Leopard with ACCELERATED_COMPOSITING turned on.
1046
1047         * WebCore.xcodeproj/project.pbxproj:
1048         FloatPoint3D needs to be a private header, since it's included by GraphicsLayer.h
1049         * platform/graphics/mac/GraphicsLayerCA.mm:
1050         (WebCore::getTransformFunctionValue):
1051         (WebCore::caValueFunctionSupported):
1052         (WebCore::GraphicsLayerCA::setAnchorPoint):
1053         (WebCore::GraphicsLayerCA::setPreserves3D):
1054         (WebCore::GraphicsLayerCA::setContentsToImage):
1055         (WebCore::GraphicsLayerCA::setBasicAnimation):
1056         (WebCore::GraphicsLayerCA::setKeyframeAnimation):
1057         * rendering/RenderLayer.h:
1058         (WebCore::RenderLayer::isRootLayer):
1059         Fix isRootLayer to return true for the renderView's layer, not the root
1060         renderer's layer.
1061
1062 2009-02-11  Adele Peterson  <adele@apple.com>
1063
1064         Reviewed by Oliver Hunt.
1065
1066         Fix for https://bugs.webkit.org/show_bug.cgi?id=23910
1067         <rdar://problem/6160546> REGRESSION: In Full page mode, movie controller hides when I drag the knob if movie is playing
1068
1069         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::forwardEvent):
1070         When we get a mouseOut event, consider the mouse as still within the RenderMedia if the relatedTarget is a descendant.
1071
1072 2009-02-11  David Hyatt  <hyatt@apple.com>
1073
1074         Remove all of the inline box wrapper functions from RenderObject, since they only apply to RenderBox.  Devirtualize the functions.
1075         Patch all of the call sites to convert to a RenderBox.
1076
1077         Reviewed by Simon Fraser
1078
1079         * dom/Position.cpp:
1080         (WebCore::nextRenderedEditable):
1081         (WebCore::previousRenderedEditable):
1082         (WebCore::Position::getInlineBoxAndOffset):
1083         * rendering/InlineBox.cpp:
1084         (WebCore::InlineBox::deleteLine):
1085         (WebCore::InlineBox::extractLine):
1086         (WebCore::InlineBox::attachLine):
1087         * rendering/RenderLineBoxList.cpp:
1088         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
1089         * rendering/RenderObject.cpp:
1090         * rendering/RenderObject.h:
1091         * rendering/RenderObjectChildList.cpp:
1092         (WebCore::RenderObjectChildList::removeChildNode):
1093         * rendering/RenderTextControl.cpp:
1094         (WebCore::RenderTextControl::textWithHardLineBreaks):
1095
1096 2009-02-11  David Hyatt  <hyatt@apple.com>
1097
1098         Eliminate createInlineBox and dirtyLineBoxes from RenderObject.  These functions have been devirtualized.
1099         The single call site now calls a helper function that just bit checks and casts before calling the correct
1100         type.  RenderBlock's dirtyLineBoxes function was dead code (caused by the RenderFlow deletion), so it has
1101         just been removed.
1102
1103         Reviewed by Eric Seidel
1104
1105         * rendering/RenderBR.cpp:
1106         * rendering/RenderBR.h:
1107         * rendering/RenderBlock.cpp:
1108         (WebCore::RenderBlock::createRootInlineBox):
1109         * rendering/RenderBlock.h:
1110         * rendering/RenderBox.cpp:
1111         (WebCore::RenderBox::createInlineBox):
1112         * rendering/RenderBox.h:
1113         * rendering/RenderCounter.cpp:
1114         * rendering/RenderCounter.h:
1115         * rendering/RenderInline.cpp:
1116         (WebCore::RenderInline::createInlineFlowBox):
1117         * rendering/RenderInline.h:
1118         * rendering/RenderObject.cpp:
1119         * rendering/RenderObject.h:
1120         * rendering/RenderSVGInlineText.cpp:
1121         (WebCore::RenderSVGInlineText::createTextBox):
1122         * rendering/RenderSVGInlineText.h:
1123         (WebCore::RenderSVGInlineText::isSVGText):
1124         * rendering/RenderText.cpp:
1125         (WebCore::RenderText::createTextBox):
1126         (WebCore::RenderText::createInlineTextBox):
1127         * rendering/RenderText.h:
1128         * rendering/bidi.cpp:
1129         (WebCore::createInlineBoxForRenderer):
1130         (WebCore::RenderBlock::createLineBoxes):
1131         (WebCore::RenderBlock::constructLine):
1132         (WebCore::RenderBlock::layoutInlineChildren):
1133
1134 2009-02-11  Chris Marrin  <cmarrin@apple.com>
1135
1136         Reviewed by Dave Hyatt.
1137
1138         https://bugs.webkit.org/show_bug.cgi?id=23905
1139
1140         Adds support for 3D CSS properties (transform-style-3d, perspective, 
1141         perspective-origin, and backface-visibility) to RenderStyle and friends
1142
1143         * platform/graphics/transforms/TransformOperation.h
1144         * rendering/style/RenderStyle.cpp:
1145         (WebCore::RenderStyle::diff):
1146         (WebCore::RenderStyle::applyTransform):
1147         * rendering/style/RenderStyle.h:
1148         (WebCore::InheritedFlags::transformOriginZ):
1149         (WebCore::InheritedFlags::hasTransformRelatedProperty):
1150         (WebCore::InheritedFlags::transformStyle3D):
1151         (WebCore::InheritedFlags::backfaceVisibility):
1152         (WebCore::InheritedFlags::perspective):
1153         (WebCore::InheritedFlags::perspectiveOriginX):
1154         (WebCore::InheritedFlags::perspectiveOriginY):
1155         (WebCore::InheritedFlags::setTransformOriginZ):
1156         (WebCore::InheritedFlags::setTransformStyle3D):
1157         (WebCore::InheritedFlags::setBackfaceVisibility):
1158         (WebCore::InheritedFlags::setPerspective):
1159         (WebCore::InheritedFlags::setPerspectiveOriginX):
1160         (WebCore::InheritedFlags::setPerspectiveOriginY):
1161         (WebCore::InheritedFlags::initialTransformOriginZ):
1162         (WebCore::InheritedFlags::initialTransformStyle3D):
1163         (WebCore::InheritedFlags::initialBackfaceVisibility):
1164         (WebCore::InheritedFlags::initialPerspective):
1165         (WebCore::InheritedFlags::initialPerspectiveOriginX):
1166         (WebCore::InheritedFlags::initialPerspectiveOriginY):
1167         * rendering/style/RenderStyleConstants.h:
1168         (WebCore::):
1169         * rendering/style/StyleRareNonInheritedData.cpp:
1170         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1171         (WebCore::StyleRareNonInheritedData::operator==):
1172         * rendering/style/StyleRareNonInheritedData.h:
1173         * rendering/style/StyleTransformData.cpp:
1174         (WebCore::StyleTransformData::StyleTransformData):
1175         (WebCore::StyleTransformData::operator==):
1176         * rendering/style/StyleTransformData.h:
1177
1178 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
1179
1180         No review.
1181
1182         Fix ACCELERATED_COMPOSITING build.
1183
1184         * rendering/RenderLayerBacking.cpp:
1185         (WebCore::RenderLayerBacking::createGraphicsLayer):
1186         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1187         * rendering/RenderLayerCompositor.cpp:
1188         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1189
1190 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
1191
1192         Reviewed by Dave Hyatt
1193
1194         https://bugs.webkit.org/show_bug.cgi?id=23862
1195         
1196         Add a bit on RenderStyle that gets set when running accelerated
1197         transitions of transform or opacity. These ensure that styles
1198         compare as different during the transition, so that interruption
1199         can be detected reliably.
1200
1201         * page/animation/ImplicitAnimation.cpp:
1202         (WebCore::ImplicitAnimation::animate):
1203         * rendering/style/RenderStyle.h:
1204         (WebCore::InheritedFlags::isRunningAcceleratedAnimation):
1205         (WebCore::InheritedFlags::setIsRunningAcceleratedAnimation):
1206         * rendering/style/StyleRareNonInheritedData.cpp:
1207         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1208         (WebCore::StyleRareNonInheritedData::operator==):
1209         * rendering/style/StyleRareNonInheritedData.h:
1210
1211 2009-02-11  David Hyatt  <hyatt@apple.com>
1212
1213         Eliminate the virtual position() function from RenderObject.  Rename the position() overrides
1214         in RenderText and RenderBox to positionLineBox and devirtualize them.
1215         
1216         Patch the one call site to just check for isText() and isBox() and call the methods directly.
1217         
1218         Remove some unnecessary overrides of position() on table sections and rows.
1219     
1220         Reviewed by Simon Fraser
1221
1222         * rendering/RenderBox.cpp:
1223         (WebCore::RenderBox::positionLineBox):
1224         * rendering/RenderBox.h:
1225         * rendering/RenderObject.h:
1226         * rendering/RenderSVGRoot.cpp:
1227         * rendering/RenderSVGRoot.h:
1228         * rendering/RenderTableRow.h:
1229         (WebCore::RenderTableRow::lineHeight):
1230         * rendering/RenderTableSection.h:
1231         (WebCore::RenderTableSection::lineHeight):
1232         * rendering/RenderText.cpp:
1233         (WebCore::RenderText::positionLineBox):
1234         * rendering/RenderText.h:
1235         * rendering/bidi.cpp:
1236         (WebCore::RenderBlock::computeVerticalPositionsForLine):
1237
1238 2009-02-11  Dimitri Glazkov  <dglazkov@chromium.org>
1239
1240         Reviewed by Eric Seidel.
1241
1242         https://bugs.webkit.org/show_bug.cgi?id=23901
1243         Add HTML options/collections V8 custom bindings.
1244
1245         * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Added.
1246         (WebCore::getNamedItems):
1247         (WebCore::getItem):
1248         (WebCore::NAMED_PROPERTY_GETTER):
1249         (WebCore::CALLBACK_FUNC_DECL):
1250         * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Added.
1251         (WebCore::NAMED_PROPERTY_GETTER):
1252         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
1253         (WebCore::ACCESSOR_GETTER):
1254         (WebCore::ACCESSOR_SETTER):
1255         (WebCore::CALLBACK_FUNC_DECL):
1256         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1257         (WebCore::CALLBACK_FUNC_DECL):
1258         (WebCore::ACCESSOR_SETTER):
1259         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Added.
1260         (WebCore::CALLBACK_FUNC_DECL):
1261         (WebCore::removeElement):
1262         * bindings/v8/custom/V8HTMLSelectElementCustom.h: Added.
1263         * bindings/v8/custom/V8NamedNodesCollection.cpp: Added.
1264         (WebCore::V8NamedNodesCollection::item):
1265         (WebCore::V8NamedNodesCollection::itemWithName):
1266         * bindings/v8/custom/V8NamedNodesCollection.h: Added.
1267         (WebCore::V8NamedNodesCollection::V8NamedNodesCollection):
1268         (WebCore::V8NamedNodesCollection::length):
1269
1270 2009-02-11  Dimitri Dupuis-latour  <dupuislatour@apple.com>
1271
1272         Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
1273         This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.
1274
1275         Reviewed by Timothy Hatcher.
1276
1277         * inspector/InspectorClient.h:
1278         * inspector/InspectorController.cpp:
1279         (WebCore::hiddenPanels):
1280         (WebCore::InspectorController::hiddenPanels):
1281         (WebCore::InspectorController::windowScriptObjectAvailable):
1282         * inspector/InspectorController.h:
1283         * inspector/front-end/inspector.js:
1284         (WebInspector.loaded):
1285         * loader/EmptyClients.h:
1286         (WebCore::EmptyInspectorClient::hiddenPanels):
1287
1288 2009-02-11  David Hyatt  <hyatt@apple.com>
1289
1290         Combine RenderObject::element() and RenderObject::node() into a single function.  
1291         node() now has the "anonymous bit" checking behavior of element() and will
1292         return 0 for anonymous content.  This patch switches all callers of element() 
1293         to node() and patches old callers of node() to deal with situations where they
1294         did not expect node() to be 0.  A bunch of node() calls were calling stuff on 
1295         Document that they clearly didn't intend, so overall this is a nice improvement.
1296     
1297         Reviewed by Sam Weinig
1298
1299         * dom/ContainerNode.cpp:
1300         (WebCore::ContainerNode::getUpperLeftCorner):
1301         * dom/Element.cpp:
1302         (WebCore::Element::offsetParent):
1303         * dom/Position.cpp:
1304         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1305         * editing/ModifySelectionListLevel.cpp:
1306         (WebCore::getStartEndListChildren):
1307         (WebCore::IncreaseSelectionListLevelCommand::doApply):
1308         (WebCore::DecreaseSelectionListLevelCommand::doApply):
1309         * editing/TextIterator.cpp:
1310         (WebCore::TextIterator::advance):
1311         * editing/VisiblePosition.cpp:
1312         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
1313         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
1314         * editing/visible_units.cpp:
1315         (WebCore::startPositionForLine):
1316         (WebCore::endPositionForLine):
1317         * page/AXObjectCache.cpp:
1318         (WebCore::AXObjectCache::get):
1319         * page/AccessibilityList.cpp:
1320         (WebCore::AccessibilityList::isUnorderedList):
1321         (WebCore::AccessibilityList::isOrderedList):
1322         (WebCore::AccessibilityList::isDefinitionList):
1323         * page/AccessibilityListBox.cpp:
1324         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
1325         * page/AccessibilityRenderObject.cpp:
1326         (WebCore::AccessibilityRenderObject::isPasswordField):
1327         (WebCore::AccessibilityRenderObject::isFileUploadButton):
1328         (WebCore::AccessibilityRenderObject::isInputImage):
1329         (WebCore::AccessibilityRenderObject::isMultiSelect):
1330         (WebCore::AccessibilityRenderObject::isControl):
1331         (WebCore::AccessibilityRenderObject::getAttribute):
1332         (WebCore::AccessibilityRenderObject::anchorElement):
1333         (WebCore::AccessibilityRenderObject::actionElement):
1334         (WebCore::AccessibilityRenderObject::mouseButtonListener):
1335         (WebCore::AccessibilityRenderObject::helpText):
1336         (WebCore::AccessibilityRenderObject::textUnderElement):
1337         (WebCore::AccessibilityRenderObject::hasIntValue):
1338         (WebCore::AccessibilityRenderObject::intValue):
1339         (WebCore::AccessibilityRenderObject::labelElementContainer):
1340         (WebCore::AccessibilityRenderObject::title):
1341         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1342         (WebCore::AccessibilityRenderObject::boundingBoxRect):
1343         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
1344         (WebCore::AccessibilityRenderObject::titleUIElement):
1345         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1346         (WebCore::AccessibilityRenderObject::text):
1347         (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
1348         (WebCore::AccessibilityRenderObject::accessKey):
1349         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
1350         (WebCore::AccessibilityRenderObject::url):
1351         (WebCore::AccessibilityRenderObject::isFocused):
1352         (WebCore::AccessibilityRenderObject::setFocused):
1353         (WebCore::AccessibilityRenderObject::setValue):
1354         (WebCore::AccessibilityRenderObject::isEnabled):
1355         (WebCore::AccessibilityRenderObject::visiblePositionRange):
1356         (WebCore::AccessibilityRenderObject::index):
1357         (WebCore::AccessibilityRenderObject::activeDescendant):
1358         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
1359         (WebCore::AccessibilityRenderObject::observableObject):
1360         (WebCore::AccessibilityRenderObject::roleValue):
1361         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
1362         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
1363         * page/AccessibilityTable.cpp:
1364         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
1365         (WebCore::AccessibilityTable::title):
1366         * page/AccessibilityTableCell.cpp:
1367         (WebCore::AccessibilityTableCell::titleUIElement):
1368         * page/AccessibilityTableColumn.cpp:
1369         (WebCore::AccessibilityTableColumn::headerObjectForSection):
1370         * page/AccessibilityTableRow.cpp:
1371         (WebCore::AccessibilityTableRow::headerObject):
1372         * page/EventHandler.cpp:
1373         (WebCore::EventHandler::dispatchMouseEvent):
1374         (WebCore::EventHandler::canMouseDownStartSelect):
1375         (WebCore::EventHandler::canMouseDragExtendSelect):
1376         (WebCore::EventHandler::shouldDragAutoNode):
1377         * page/Frame.cpp:
1378         (WebCore::Frame::searchForLabelsAboveCell):
1379         (WebCore::Frame::setFocusedNodeIfNeeded):
1380         * page/FrameView.cpp:
1381         (WebCore::FrameView::updateOverflowStatus):
1382         * page/animation/AnimationBase.cpp:
1383         (WebCore::AnimationBase::updateStateMachine):
1384         * page/animation/AnimationController.cpp:
1385         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1386         (WebCore::AnimationController::cancelAnimations):
1387         (WebCore::AnimationController::updateAnimations):
1388         * page/animation/KeyframeAnimation.cpp:
1389         (WebCore::KeyframeAnimation::KeyframeAnimation):
1390         (WebCore::KeyframeAnimation::endAnimation):
1391         * page/mac/AccessibilityObjectWrapper.mm:
1392         (blockquoteLevel):
1393         (AXAttributeStringSetHeadingLevel):
1394         * page/mac/FrameMac.mm:
1395         (WebCore::Frame::searchForNSLabelsAboveCell):
1396         * rendering/InlineFlowBox.cpp:
1397         (WebCore::InlineFlowBox::verticallyAlignBoxes):
1398         (WebCore::InlineFlowBox::paint):
1399         (WebCore::shouldDrawTextDecoration):
1400         * rendering/InlineTextBox.cpp:
1401         (WebCore::InlineTextBox::paintDocumentMarkers):
1402         * rendering/RenderBR.cpp:
1403         (WebCore::RenderBR::positionForCoordinates):
1404         * rendering/RenderBlock.cpp:
1405         (WebCore::RenderBlock::layoutBlock):
1406         (WebCore::RenderBlock::handleRunInChild):
1407         (WebCore::RenderBlock::paintObject):
1408         (WebCore::RenderBlock::isSelectionRoot):
1409         (WebCore::RenderBlock::rightmostPosition):
1410         (WebCore::RenderBlock::positionForBox):
1411         (WebCore::RenderBlock::positionForRenderer):
1412         (WebCore::RenderBlock::positionForCoordinates):
1413         (WebCore::RenderBlock::hasLineIfEmpty):
1414         (WebCore::RenderBlock::updateFirstLetter):
1415         (WebCore::RenderBlock::updateHitTestResult):
1416         (WebCore::RenderBlock::addFocusRingRects):
1417         * rendering/RenderBox.cpp:
1418         (WebCore::RenderBox::styleWillChange):
1419         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
1420         (WebCore::RenderBox::paintRootBoxDecorations):
1421         (WebCore::RenderBox::positionForCoordinates):
1422         * rendering/RenderButton.cpp:
1423         (WebCore::RenderButton::updateFromElement):
1424         (WebCore::RenderButton::canHaveChildren):
1425         * rendering/RenderCounter.cpp:
1426         (WebCore::planCounter):
1427         * rendering/RenderFieldset.cpp:
1428         (WebCore::RenderFieldset::findLegend):
1429         * rendering/RenderFlexibleBox.cpp:
1430         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1431         * rendering/RenderForeignObject.cpp:
1432         (WebCore::RenderForeignObject::translationForAttributes):
1433         (WebCore::RenderForeignObject::calculateLocalTransform):
1434         * rendering/RenderFrame.h:
1435         (WebCore::RenderFrame::element):
1436         * rendering/RenderImage.cpp:
1437         (WebCore::RenderImage::paintReplaced):
1438         (WebCore::RenderImage::imageMap):
1439         (WebCore::RenderImage::nodeAtPoint):
1440         (WebCore::RenderImage::updateAltText):
1441         * rendering/RenderInline.cpp:
1442         (WebCore::RenderInline::cloneInline):
1443         (WebCore::RenderInline::updateHitTestResult):
1444         * rendering/RenderLayer.cpp:
1445         (WebCore::RenderLayer::isTransparent):
1446         (WebCore::RenderLayer::scrollToOffset):
1447         (WebCore::RenderLayer::resize):
1448         (WebCore::RenderLayer::createScrollbar):
1449         (WebCore::RenderLayer::updateOverflowStatus):
1450         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1451         (WebCore::RenderLayer::enclosingElement):
1452         (WebCore::RenderLayer::updateHoverActiveState):
1453         (WebCore::RenderLayer::updateScrollCornerStyle):
1454         (WebCore::RenderLayer::updateResizerStyle):
1455         * rendering/RenderLayer.h:
1456         (WebCore::RenderLayer::isRootLayer):
1457         * rendering/RenderListItem.cpp:
1458         (WebCore::getParentOfFirstLineBox):
1459         * rendering/RenderMarquee.cpp:
1460         (WebCore::RenderMarquee::marqueeSpeed):
1461         * rendering/RenderObject.cpp:
1462         (WebCore::RenderObject::RenderObject):
1463         (WebCore::RenderObject::isBody):
1464         (WebCore::RenderObject::isHR):
1465         (WebCore::RenderObject::isHTMLMarquee):
1466         (WebCore::RenderObject::isEditable):
1467         (WebCore::RenderObject::addPDFURLRect):
1468         (WebCore::RenderObject::showTreeForThis):
1469         (WebCore::RenderObject::draggableNode):
1470         (WebCore::RenderObject::hasOutlineAnnotation):
1471         (WebCore::RenderObject::positionForCoordinates):
1472         (WebCore::RenderObject::updateDragState):
1473         (WebCore::RenderObject::updateHitTestResult):
1474         (WebCore::RenderObject::getUncachedPseudoStyle):
1475         (WebCore::RenderObject::getTextDecorationColors):
1476         (WebCore::RenderObject::caretMaxOffset):
1477         (WebCore::RenderObject::offsetParent):
1478         * rendering/RenderObject.h:
1479         (WebCore::RenderObject::isRoot):
1480         (WebCore::RenderObject::isInlineContinuation):
1481         (WebCore::RenderObject::node):
1482         (WebCore::RenderObject::setNode):
1483         * rendering/RenderObjectChildList.cpp:
1484         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
1485         * rendering/RenderPart.cpp:
1486         (WebCore::RenderPart::updateWidgetPosition):
1487         * rendering/RenderPartObject.cpp:
1488         (WebCore::RenderPartObject::updateWidget):
1489         (WebCore::RenderPartObject::viewCleared):
1490         * rendering/RenderPath.cpp:
1491         (WebCore::RenderPath::calculateLocalTransform):
1492         (WebCore::RenderPath::layout):
1493         (WebCore::RenderPath::paint):
1494         (WebCore::RenderPath::drawMarkersIfNeeded):
1495         * rendering/RenderReplaced.cpp:
1496         (WebCore::RenderReplaced::positionForCoordinates):
1497         (WebCore::RenderReplaced::isSelected):
1498         * rendering/RenderSVGGradientStop.cpp:
1499         (WebCore::RenderSVGGradientStop::gradientElement):
1500         * rendering/RenderSVGImage.cpp:
1501         (WebCore::RenderSVGImage::calculateLocalTransform):
1502         * rendering/RenderSVGInlineText.cpp:
1503         (WebCore::RenderSVGInlineText::positionForCoordinates):
1504         * rendering/RenderSVGRoot.cpp:
1505         (WebCore::RenderSVGRoot::layout):
1506         (WebCore::RenderSVGRoot::applyContentTransforms):
1507         (WebCore::RenderSVGRoot::paint):
1508         (WebCore::RenderSVGRoot::calcViewport):
1509         (WebCore::RenderSVGRoot::absoluteTransform):
1510         * rendering/RenderSVGText.cpp:
1511         (WebCore::RenderSVGText::calculateLocalTransform):
1512         (WebCore::RenderSVGText::layout):
1513         * rendering/RenderSVGTextPath.cpp:
1514         (WebCore::RenderSVGTextPath::layoutPath):
1515         (WebCore::RenderSVGTextPath::startOffset):
1516         (WebCore::RenderSVGTextPath::exactAlignment):
1517         (WebCore::RenderSVGTextPath::stretchMethod):
1518         * rendering/RenderSVGTransformableContainer.cpp:
1519         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
1520         * rendering/RenderSVGViewportContainer.cpp:
1521         (WebCore::RenderSVGViewportContainer::calcViewport):
1522         (WebCore::RenderSVGViewportContainer::viewportTransform):
1523         (WebCore::RenderSVGViewportContainer::nodeAtPoint):
1524         * rendering/RenderTable.cpp:
1525         (WebCore::RenderTable::addChild):
1526         * rendering/RenderTableCell.cpp:
1527         (WebCore::RenderTableCell::updateFromElement):
1528         (WebCore::RenderTableCell::calcPrefWidths):
1529         * rendering/RenderTableCol.cpp:
1530         (WebCore::RenderTableCol::updateFromElement):
1531         * rendering/RenderTableRow.cpp:
1532         (WebCore::RenderTableRow::addChild):
1533         * rendering/RenderTableSection.cpp:
1534         (WebCore::RenderTableSection::addChild):
1535         * rendering/RenderText.cpp:
1536         (WebCore::RenderText::originalText):
1537         (WebCore::RenderText::positionForCoordinates):
1538         * rendering/RenderTextControlMultiLine.cpp:
1539         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
1540         * rendering/RenderTextControlSingleLine.cpp:
1541         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1542         * rendering/RenderTextFragment.cpp:
1543         (WebCore::RenderTextFragment::originalText):
1544         (WebCore::RenderTextFragment::previousCharacter):
1545         * rendering/RenderTheme.cpp:
1546         (WebCore::RenderTheme::isActive):
1547         (WebCore::RenderTheme::isChecked):
1548         (WebCore::RenderTheme::isIndeterminate):
1549         (WebCore::RenderTheme::isEnabled):
1550         (WebCore::RenderTheme::isFocused):
1551         (WebCore::RenderTheme::isPressed):
1552         (WebCore::RenderTheme::isReadOnlyControl):
1553         (WebCore::RenderTheme::isHovered):
1554         * rendering/RenderThemeMac.mm:
1555         (WebCore::RenderThemeMac::updatePressedState):
1556         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
1557         (WebCore::RenderThemeMac::paintMediaMuteButton):
1558         (WebCore::RenderThemeMac::paintMediaPlayButton):
1559         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
1560         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
1561         (WebCore::RenderThemeMac::paintMediaSliderTrack):
1562         (WebCore::RenderThemeMac::paintMediaSliderThumb):
1563         (WebCore::RenderThemeMac::paintMediaTimelineContainer):
1564         (WebCore::RenderThemeMac::paintMediaCurrentTime):
1565         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
1566         * rendering/RenderThemeSafari.cpp:
1567         (WebCore::RenderThemeSafari::paintMediaMuteButton):
1568         (WebCore::RenderThemeSafari::paintMediaPlayButton):
1569         (WebCore::RenderThemeSafari::paintMediaSliderTrack):
1570         * rendering/RenderTreeAsText.cpp:
1571         (WebCore::operator<<):
1572         (WebCore::writeSelection):
1573         * rendering/RenderWidget.cpp:
1574         (WebCore::RenderWidget::setWidgetGeometry):
1575         (WebCore::RenderWidget::updateWidgetPosition):
1576         (WebCore::RenderWidget::nodeAtPoint):
1577         * rendering/RootInlineBox.cpp:
1578         (WebCore::isEditableLeaf):
1579         * rendering/SVGRenderSupport.cpp:
1580         (WebCore::prepareToRenderSVGContent):
1581         * rendering/SVGRenderTreeAsText.cpp:
1582         (WebCore::write):
1583         * rendering/SVGRootInlineBox.cpp:
1584         (WebCore::SVGRootInlineBox::buildLayoutInformation):
1585         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
1586         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1587         (WebCore::SVGRootInlineBox::buildTextChunks):
1588         * rendering/style/SVGRenderStyle.cpp:
1589         (WebCore::SVGRenderStyle::cssPrimitiveToLength):
1590         * svg/SVGFont.cpp:
1591         (WebCore::SVGTextRunWalker::walk):
1592         (WebCore::floatWidthOfSubStringUsingSVGFont):
1593         (WebCore::Font::drawTextUsingSVGFont):
1594         * svg/SVGTextContentElement.cpp:
1595         (WebCore::findInlineTextBoxInTextChunks):
1596         * svg/graphics/SVGPaintServer.cpp:
1597         (WebCore::SVGPaintServer::fillPaintServer):
1598         (WebCore::SVGPaintServer::strokePaintServer):
1599
1600 2009-02-11  Brady Eidson  <beidson@apple.com>
1601
1602         Reviewed by Darin Adler
1603
1604         <rdar://problem/3541409> - Further FrameLoader and page cache cleanup
1605
1606         * history/CachedFrame.cpp:
1607         (WebCore::CachedFrame::restore): Moved updatePlatformScriptObjects() here.
1608
1609         * loader/FrameLoader.cpp:
1610         (WebCore::FrameLoader::commitProvisionalLoad): Rolled opened() into this method.  This method was
1611           the only caller and - in the future - will benefit from doing parts of opened()'s work differently.
1612         (WebCore::FrameLoader::open): Split off per-frame logic into open(CachedFrame&) method.
1613         (WebCore::FrameLoader::closeAndRemoveChild): Added.  Do the non-tree related cleanup that
1614           FrameTree::removeChild() used to do.
1615         (WebCore::FrameLoader::detachFromParent): Call ::closeAndRemoveChild() instead.
1616         (WebCore::FrameLoader::cachePageForHistoryItem): Perform the "can cache page" check here.
1617         * loader/FrameLoader.h:
1618
1619         * page/FrameTree.cpp:
1620         (WebCore::FrameTree::removeChild): Just remove the Frame from the tree.  Closing it and other
1621           cleanup is the responsibility of the FrameLoader.
1622         * page/FrameTree.h:
1623         (WebCore::FrameTree::detachFromParent): Added to just clear a Frame's parent pointer
1624
1625 2009-02-11  Scott Violet  <sky@google.com>
1626
1627         Reviewed by Eric Seidel.
1628
1629         https://bugs.webkit.org/show_bug.cgi?id=23882
1630         GraphicsContextSkia draws round rects as solid rects
1631
1632         Fixes two bugs in Skia's GraphicsContext::fillRoundedRect:
1633         . fillRoundedRect had an extra call to fillRect, resulting in always
1634           drawing a solid rectangle.
1635         . if the total radius along a given axis is greater than the size of
1636           the axis to draw, a solid rect should be drawn.
1637
1638         The layout tests LayoutTests/fast/css/shadow-multiple.html and
1639         LayoutTests/fast/box-shadow/basic-shadows.html cover this.
1640
1641         * platform/graphics/skia/GraphicsContextSkia.cpp:
1642         (WebCore::GraphicsContext::fillRoundedRect):
1643
1644 2009-02-11  Julien Chaffraix  <jchaffraix@webkit.org>
1645
1646         Reviewed by Eric Seidel.
1647
1648         Bug 23536: Auto-generate HTMLElementFactory
1649
1650         Remove the HTMLElementFactory files. Farewell.
1651
1652         * html/HTMLElementFactory.cpp: Removed.
1653         * html/HTMLElementFactory.h: Removed.
1654
1655 2009-02-11  Julien Chaffraix  <jchaffraix@webkit.org>
1656
1657         Reviewed by Eric Seidel.
1658
1659         Bug 23536: Auto-generate HTMLElementFactory
1660
1661         Make the platform auto-generate the HTMLElementFactory.
1662
1663         * DerivedSources.make:
1664         * GNUmakefile.am:
1665         * WebCore.pro:
1666         * WebCore.scons:
1667         * WebCore.vcproj/WebCore.vcproj:
1668         * WebCore.xcodeproj/project.pbxproj:
1669         * WebCoreSources.bkl:
1670         * webcore-base.bkl:
1671
1672 2009-02-11  Sam Weinig  <sam@webkit.org>
1673
1674         Reviewed by David Hyatt.
1675
1676         Remove unneeded ASSERTS.
1677
1678         * rendering/RenderBox.h:
1679         (WebCore::RenderBox::width):
1680         (WebCore::RenderBox::height):
1681         (WebCore::RenderBox::size):
1682         (WebCore::RenderBox::frameRect):
1683
1684 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
1685
1686         Reviewed by Dave Hyatt
1687
1688         Add function to RenderStyle to ask whether a background image has been specified.
1689
1690         * rendering/style/RenderStyle.h:
1691         (WebCore::InheritedFlags::hasBackgroundImage):
1692
1693 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
1694
1695         Reviewed by Dave Hyatt
1696
1697         https://bugs.webkit.org/show_bug.cgi?id=23548
1698
1699         When opacity or transform change on an object which has a compositing layer,
1700         avoid repainting the layer.
1701         
1702         Added a new StyleDifference value, StyleDifferenceRecompositeLayer, which indicates
1703         that the only thing styleChanged() has to do is to update composited properties of
1704         the layer. RenderStyle::diff() now has an out param for a bitmask of "context sensitive"
1705         properties, currently for opacity and transform. When one of these changes, we need
1706         to see if we have a compositing layer before we decide whether to layout/repaint,
1707         or just update the composited layer, via adjustStyleDifference().
1708         
1709         * rendering/RenderObject.cpp:
1710         (WebCore::RenderObject::adjustStyleDifference):
1711         (WebCore::RenderObject::setStyle):
1712         (WebCore::RenderObject::styleDidChange):
1713         * rendering/RenderObject.h:
1714         * rendering/style/RenderStyle.cpp:
1715         (WebCore::RenderStyle::diff):
1716         * rendering/style/RenderStyle.h:
1717         * rendering/style/RenderStyleConstants.h:
1718         (WebCore::):
1719
1720 2009-02-11  Alexey Proskuryakov  <ap@webkit.org>
1721
1722         Reviewed by Darin Adler.
1723
1724         <rdar://problem/6562920> Pasted text should be normalized to NFC
1725
1726         Testing requires putting non-HTML content in pasteboard, so it cannot be done with WebKit alone.
1727
1728         * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::plainText): Route the text through
1729         -[NSString precomposedStringWithCanonicalMapping].
1730
1731 2009-02-10  Chris Marrin  <cmarrin@apple.com>
1732
1733         Reviewed by Simon Fraser.
1734
1735         https://bugs.webkit.org/show_bug.cgi?id=23883
1736
1737         Added new TransformOperation subclasses and methods to existing ones
1738         to support 3D.
1739
1740         * WebCore.xcodeproj/project.pbxproj:
1741         * platform/graphics/transforms/IdentityTransformOperation.h:
1742         (WebCore::IdentityTransformOperation::isAffine):
1743         * platform/graphics/transforms/Matrix3DTransformOperation.cpp: Added.
1744         (WebCore::Matrix3DTransformOperation::blend):
1745         * platform/graphics/transforms/Matrix3DTransformOperation.h: Added.
1746         (WebCore::Matrix3DTransformOperation::create):
1747         (WebCore::Matrix3DTransformOperation::isIdentity):
1748         (WebCore::Matrix3DTransformOperation::isAffine):
1749         (WebCore::Matrix3DTransformOperation::getOperationType):
1750         (WebCore::Matrix3DTransformOperation::isSameType):
1751         (WebCore::Matrix3DTransformOperation::operator==):
1752         (WebCore::Matrix3DTransformOperation::apply):
1753         (WebCore::Matrix3DTransformOperation::Matrix3DTransformOperation):
1754         * platform/graphics/transforms/MatrixTransformOperation.h:
1755         (WebCore::MatrixTransformOperation::isAffine):
1756         (WebCore::MatrixTransformOperation::apply):
1757         * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Added.
1758         (WebCore::PerspectiveTransformOperation::blend):
1759         * platform/graphics/transforms/PerspectiveTransformOperation.h: Added.
1760         (WebCore::PerspectiveTransformOperation::create):
1761         (WebCore::PerspectiveTransformOperation::isIdentity):
1762         (WebCore::PerspectiveTransformOperation::isAffine):
1763         (WebCore::PerspectiveTransformOperation::getOperationType):
1764         (WebCore::PerspectiveTransformOperation::isSameType):
1765         (WebCore::PerspectiveTransformOperation::operator==):
1766         (WebCore::PerspectiveTransformOperation::apply):
1767         (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation):
1768         * platform/graphics/transforms/RotateTransformOperation.cpp:
1769         (WebCore::RotateTransformOperation::blend):
1770         * platform/graphics/transforms/RotateTransformOperation.h:
1771         (WebCore::RotateTransformOperation::create):
1772         (WebCore::RotateTransformOperation::angle):
1773         (WebCore::RotateTransformOperation::isAffine):
1774         (WebCore::RotateTransformOperation::operator==):
1775         (WebCore::RotateTransformOperation::apply):
1776         (WebCore::RotateTransformOperation::RotateTransformOperation):
1777         * platform/graphics/transforms/ScaleTransformOperation.cpp:
1778         (WebCore::ScaleTransformOperation::blend):
1779         * platform/graphics/transforms/ScaleTransformOperation.h:
1780         (WebCore::ScaleTransformOperation::create):
1781         (WebCore::ScaleTransformOperation::z):
1782         (WebCore::ScaleTransformOperation::isIdentity):
1783         (WebCore::ScaleTransformOperation::isAffine):
1784         (WebCore::ScaleTransformOperation::operator==):
1785         (WebCore::ScaleTransformOperation::apply):
1786         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
1787         * platform/graphics/transforms/SkewTransformOperation.h:
1788         (WebCore::SkewTransformOperation::isAffine):
1789         * platform/graphics/transforms/TransformOperation.h:
1790         (WebCore::TransformOperation::):
1791         (WebCore::TransformOperation::is3DOperation):
1792         * platform/graphics/transforms/TransformOperations.h:
1793         (WebCore::TransformOperations::isAffine):
1794         (WebCore::TransformOperations::has3DOperation):
1795         * platform/graphics/transforms/TranslateTransformOperation.cpp:
1796         (WebCore::TranslateTransformOperation::blend):
1797         * platform/graphics/transforms/TranslateTransformOperation.h:
1798         (WebCore::TranslateTransformOperation::create):
1799         (WebCore::TranslateTransformOperation::z):
1800         (WebCore::TranslateTransformOperation::isIdentity):
1801         (WebCore::TranslateTransformOperation::isAffine):
1802         (WebCore::TranslateTransformOperation::operator==):
1803         (WebCore::TranslateTransformOperation::apply):
1804         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
1805
1806 2009-02-11  David Hyatt  <hyatt@apple.com>
1807
1808         Move createAnonymousBlock() to RenderBlock.  Since anonymous blocks are always parented to some other block,
1809         we can move this function to RenderBlock.  Fix a couple of call sites as a result of this restriction.
1810
1811         Reviewed by Simon Fraser
1812
1813         * rendering/RenderBlock.cpp:
1814         (WebCore::RenderBlock::createAnonymousBlock):
1815         * rendering/RenderBlock.h:
1816         * rendering/RenderInline.cpp:
1817         (WebCore::RenderInline::childBecameNonInline):
1818         * rendering/RenderObject.cpp:
1819         (WebCore::RenderObject::handleDynamicFloatPositionChange):
1820         * rendering/RenderObject.h:
1821
1822 2009-02-11  David Hyatt  <hyatt@apple.com>
1823
1824         https://bugs.webkit.org/show_bug.cgi?id=23895
1825
1826         Remove two complete nonsense lines that I accidentally added from a cut and paste error.  This
1827         restores the original logic.
1828
1829         Reviewed by Simon Fraser
1830
1831         * rendering/RenderBox.cpp:
1832         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
1833
1834 2009-02-11  David Hyatt  <hyatt@apple.com>
1835
1836         Rename getBaselineOfFirstLineBox to firstLineBoxBaseline.  Rename getBaselineOfLastLineBox to
1837         lastLineBoxBaseline.  Remove the functions from RenderObject and add them to RenderBox instead.
1838
1839         Reviewed by Eric Seidel
1840
1841         * rendering/RenderBlock.cpp:
1842         (WebCore::RenderBlock::baselinePosition):
1843         (WebCore::RenderBlock::firstLineBoxBaseline):
1844         (WebCore::RenderBlock::lastLineBoxBaseline):
1845         * rendering/RenderBlock.h:
1846         * rendering/RenderBox.h:
1847         (WebCore::RenderBox::firstLineBoxBaseline):
1848         (WebCore::RenderBox::lastLineBoxBaseline):
1849         * rendering/RenderFlexibleBox.cpp:
1850         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1851         * rendering/RenderObject.h:
1852         * rendering/RenderTable.cpp:
1853         (WebCore::RenderTable::firstLineBoxBaseline):
1854         * rendering/RenderTable.h:
1855         * rendering/RenderTableCell.cpp:
1856         (WebCore::RenderTableCell::baselinePosition):
1857         * rendering/RenderTableSection.cpp:
1858         (WebCore::RenderTableSection::firstLineBoxBaseline):
1859         * rendering/RenderTableSection.h:
1860
1861 2009-02-11  Eric Carlson  <eric.carlson@apple.com>
1862
1863         Reviewed by Simon Fraser
1864
1865         https://bugs.webkit.org/show_bug.cgi?id=23877
1866         Allow port to disable progress events from <video> and <audio> elements
1867
1868         * html/HTMLMediaElement.cpp: Initialize m_sendProgressEvents.
1869         (WebCore::HTMLMediaElement::HTMLMediaElement): Don't post progress events if m_sendProgressEvents is false.
1870         (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): Ditto.
1871         (WebCore::HTMLMediaElement::load): Ditto.
1872         * html/HTMLMediaElement.h: Add m_sendProgressEvents
1873
1874 2009-02-11  Adam Roben  <aroben@apple.com>
1875
1876         Windows build fix
1877
1878         * DerivedSources.cpp: Removed SVGElementFactory.cpp, since including
1879         it leads to ambiguities for symbols like "aTag", which exist in both
1880         the HTMLNames and SVGNames namespaces.
1881
1882         * WebCore.vcproj/WebCore.vcproj: Added SVGElementFactory.cpp to the
1883         project directly. VS also decided to reformat this file a little bit.
1884
1885 2009-02-10  Julien Chaffraix  <jchaffraix@webkit.org>
1886
1887         Reviewed by Eric Seidel.
1888
1889         Bug 23536: Auto-generate HTMLElementFactory
1890
1891         Those are the last auto-generation bits needed to have a working generated HTMLElementFactory:
1892
1893         - Added a new option mapToTagName that enables a tag to use another's options and tagName (<image>
1894           uses imgTag for example) and wired the code generation to be consistent with the current factory.
1895
1896         - Disabled dashboard compatibility check for HTMLElementFactory as it would make at least one test case fail.
1897
1898         - Pass the QualifiedName down to the Element constructor for shared constructors to make the generated code as
1899           close as possible to the current one. We will pass the QualifiedName for all Element in a forthcoming patch.
1900
1901         * dom/make_names.pl: Did all the above points and tweaked the code generation to match the current HTMLElementFactory
1902           as closely as possible.
1903
1904         * html/HTMLElementFactory.cpp:
1905         (WebCore::quoteConstructor):
1906         * html/HTMLQuoteElement.cpp:
1907         (WebCore::HTMLQuoteElement::HTMLQuoteElement): Moved setUsesBeforeAfterRules to HTMLQuoteElement' constructor because some
1908         part of the code creates elements without using the HTMLElementFactory. Also added a FIXME as it is not the right place.
1909
1910         * html/HTMLTagNames.in: Corrected <image> parameters.
1911
1912 2009-02-10  David Hyatt  <hyatt@apple.com>
1913
1914         Fix for pixel test regression in fast/text.  Make sure not to add in
1915         the borderTop and paddingTop of the block to the baseline when painting
1916         strict mode text decorations.
1917         
1918         Reviewed by Mark Rowe
1919     
1920         * rendering/InlineFlowBox.cpp:
1921         (WebCore::InlineFlowBox::paintTextDecorations):
1922         * rendering/InlineFlowBox.h:
1923
1924 2009-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
1925
1926         Windows build fix after r40837.
1927
1928         Not reviewed.
1929
1930         * DerivedSources.cpp:
1931
1932 2009-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
1933
1934         <rdar://6349412> REGRESSION(r37204): Page is not repainted during and
1935         after pan scrolling
1936
1937         Reviewed by Steve Falkenburg.
1938
1939         * platform/ScrollView.cpp:
1940         (WebCore::ScrollView::scrollContents): Don't repaint the pan scroll
1941         icon rect immediately; we will paint after the view has been scrolled.
1942
1943 2009-02-10  Oliver Hunt  <oliver@apple.com>
1944
1945         Reviewed by Adele Peterson.
1946
1947         <rdar://problem/6156755> onMouseOver events do not fire properly for cross frame drag and drop
1948
1949         This problem was caused by incorrectly ignoring whether or not the
1950         default behaviour of the mousedown event was suppressed.  If a
1951         mousedown handler in a frame prevents default handling then the
1952         subsequent mousemove events fired for the drag should not be
1953         captured by that frame, should the mouse move out of its bounds.
1954
1955         Test: fast/events/mouse-drag-from-frame.html
1956
1957         * page/EventHandler.cpp:
1958         (WebCore::EventHandler::EventHandler):
1959         (WebCore::EventHandler::clear):
1960         (WebCore::EventHandler::handleMouseReleaseEvent):
1961             Reset new m_capturesDragging flag
1962
1963         (WebCore::EventHandler::handleMousePressEvent):
1964             Respect the m_capturesDragging flag when we propagate
1965             a mousedown event to a subframe.
1966
1967         * page/EventHandler.h:
1968         (WebCore::EventHandler::capturesDragging):
1969
1970 2009-02-10  Kevin Ollivier  <kevino@theolliviers.com>
1971
1972         wx build fixes for recent changes to TransformationMatrix and DOMElement.
1973
1974         * WebCoreSources.bkl:
1975         * dom/Element.cpp:
1976         * platform/graphics/transforms/TransformationMatrix.h:
1977         * platform/graphics/wx/TransformationMatrixWx.cpp:
1978         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
1979
1980 2009-02-10  David Hyatt  <hyatt@apple.com>
1981
1982         Some renames on line boxes.  xPos()/yPos() -> x()/y().  setXPos()/setYPos() -> setX()/setY().  m_object/object() -> m_renderer/renderer().  textObject() -> textRenderer().
1983         
1984         Reviewed by Sam Weinig
1985
1986         * dom/Position.cpp:
1987         (WebCore::Position::upstream):
1988         (WebCore::Position::downstream):
1989         * editing/VisiblePosition.cpp:
1990         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
1991         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
1992         (WebCore::VisiblePosition::localCaretRect):
1993         * editing/visible_units.cpp:
1994         (WebCore::startPositionForLine):
1995         (WebCore::endPositionForLine):
1996         (WebCore::previousLinePosition):
1997         (WebCore::nextLinePosition):
1998         * rendering/EllipsisBox.cpp:
1999         (WebCore::EllipsisBox::paint):
2000         (WebCore::EllipsisBox::nodeAtPoint):
2001         * rendering/InlineBox.cpp:
2002         (WebCore::InlineBox::showTreeForThis):
2003         (WebCore::InlineBox::height):
2004         (WebCore::InlineBox::caretMinOffset):
2005         (WebCore::InlineBox::caretMaxOffset):
2006         (WebCore::InlineBox::deleteLine):
2007         (WebCore::InlineBox::extractLine):
2008         (WebCore::InlineBox::attachLine):
2009         (WebCore::InlineBox::adjustPosition):
2010         (WebCore::InlineBox::paint):
2011         (WebCore::InlineBox::nodeAtPoint):
2012         (WebCore::InlineBox::selectionState):
2013         (WebCore::InlineBox::canAccommodateEllipsis):
2014         * rendering/InlineBox.h:
2015         (WebCore::InlineBox::InlineBox):
2016         (WebCore::InlineBox::renderer):
2017         (WebCore::InlineBox::setX):
2018         (WebCore::InlineBox::x):
2019         (WebCore::InlineBox::setY):
2020         (WebCore::InlineBox::y):
2021         (WebCore::InlineBox::topOverflow):
2022         (WebCore::InlineBox::bottomOverflow):
2023         (WebCore::InlineBox::leftOverflow):
2024         (WebCore::InlineBox::rightOverflow):
2025         (WebCore::InlineBox::visibleToHitTesting):
2026         (WebCore::InlineBox::boxModelObject):
2027         * rendering/InlineFlowBox.cpp:
2028         (WebCore::InlineFlowBox::height):
2029         (WebCore::InlineFlowBox::addToLine):
2030         (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
2031         (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
2032         (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
2033         (WebCore::InlineFlowBox::rendererLineBoxes):
2034         (WebCore::InlineFlowBox::onEndChain):
2035         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
2036         (WebCore::InlineFlowBox::placeBoxesHorizontally):
2037         (WebCore::InlineFlowBox::verticallyAlignBoxes):
2038         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
2039         (WebCore::verticalPositionForBox):
2040         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2041         (WebCore::InlineFlowBox::placeBoxesVertically):
2042         (WebCore::InlineFlowBox::nodeAtPoint):
2043         (WebCore::InlineFlowBox::paint):
2044         (WebCore::InlineFlowBox::paintFillLayer):
2045         (WebCore::InlineFlowBox::paintBoxShadow):
2046         (WebCore::InlineFlowBox::paintBoxDecorations):
2047         (WebCore::InlineFlowBox::paintMask):
2048         (WebCore::InlineFlowBox::paintTextDecorations):
2049         * rendering/InlineFlowBox.h:
2050         (WebCore::InlineFlowBox::borderLeft):
2051         (WebCore::InlineFlowBox::borderRight):
2052         (WebCore::InlineFlowBox::borderTop):
2053         (WebCore::InlineFlowBox::borderBottom):
2054         (WebCore::InlineFlowBox::baseline):
2055         * rendering/InlineTextBox.cpp:
2056         (WebCore::InlineTextBox::height):
2057         (WebCore::InlineTextBox::selectionState):
2058         (WebCore::InlineTextBox::selectionRect):
2059         (WebCore::InlineTextBox::deleteLine):
2060         (WebCore::InlineTextBox::extractLine):
2061         (WebCore::InlineTextBox::attachLine):
2062         (WebCore::InlineTextBox::placeEllipsisBox):
2063         (WebCore::InlineTextBox::isLineBreak):
2064         (WebCore::InlineTextBox::nodeAtPoint):
2065         (WebCore::InlineTextBox::paint):
2066         (WebCore::InlineTextBox::selectionStartEnd):
2067         (WebCore::InlineTextBox::paintSelection):
2068         (WebCore::InlineTextBox::paintCompositionBackground):
2069         (WebCore::InlineTextBox::paintCustomHighlight):
2070         (WebCore::InlineTextBox::paintDecoration):
2071         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2072         (WebCore::InlineTextBox::paintTextMatchMarker):
2073         (WebCore::InlineTextBox::paintDocumentMarkers):
2074         (WebCore::InlineTextBox::paintCompositionUnderline):
2075         (WebCore::InlineTextBox::textPos):
2076         (WebCore::InlineTextBox::offsetForPosition):
2077         (WebCore::InlineTextBox::positionForOffset):
2078         * rendering/InlineTextBox.h:
2079         (WebCore::InlineTextBox::textRenderer):
2080         * rendering/ListMarkerBox.cpp:
2081         (WebCore::ListMarkerBox::isText):
2082         * rendering/RenderBlock.cpp:
2083         (WebCore::RenderBlock::paintEllipsisBoxes):
2084         (WebCore::RenderBlock::lowestPosition):
2085         (WebCore::RenderBlock::rightmostPosition):
2086         (WebCore::RenderBlock::leftmostPosition):
2087         (WebCore::RenderBlock::positionForBox):
2088         (WebCore::RenderBlock::positionForCoordinates):
2089         (WebCore::RenderBlock::getBaselineOfFirstLineBox):
2090         (WebCore::RenderBlock::getBaselineOfLastLineBox):
2091         (WebCore::RenderBlock::adjustForBorderFit):
2092         (WebCore::RenderBlock::addFocusRingRects):
2093         * rendering/RenderBox.cpp:
2094         (WebCore::RenderBox::paintCustomHighlight):
2095         (WebCore::RenderBox::position):
2096         (WebCore::RenderBox::containingBlockWidthForPositioned):
2097         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
2098         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
2099         * rendering/RenderBoxModelObject.cpp:
2100         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2101         * rendering/RenderFlexibleBox.cpp:
2102         (WebCore::RenderFlexibleBox::layoutVerticalBox):
2103         * rendering/RenderInline.cpp:
2104         (WebCore::RenderInline::absoluteRects):
2105         (WebCore::RenderInline::absoluteQuads):
2106         (WebCore::RenderInline::offsetLeft):
2107         (WebCore::RenderInline::offsetTop):
2108         (WebCore::RenderInline::linesBoundingBox):
2109         (WebCore::RenderInline::relativePositionedInlineOffset):
2110         (WebCore::RenderInline::addFocusRingRects):
2111         (WebCore::RenderInline::paintOutline):
2112         * rendering/RenderLayer.cpp:
2113         (WebCore::RenderLayer::localBoundingBox):
2114         * rendering/RenderSVGTSpan.cpp:
2115         (WebCore::RenderSVGTSpan::absoluteRects):
2116         (WebCore::RenderSVGTSpan::absoluteQuads):
2117         * rendering/RenderSVGText.cpp:
2118         (WebCore::RenderSVGText::absoluteRects):
2119         (WebCore::RenderSVGText::absoluteQuads):
2120         (WebCore::RenderSVGText::relativeBBox):
2121         * rendering/RenderSVGTextPath.cpp:
2122         (WebCore::RenderSVGTextPath::absoluteRects):
2123         (WebCore::RenderSVGTextPath::absoluteQuads):
2124         * rendering/RenderText.cpp:
2125         (WebCore::RenderText::absoluteRects):
2126         (WebCore::RenderText::absoluteRectsForRange):
2127         (WebCore::RenderText::absoluteQuads):
2128         (WebCore::RenderText::absoluteQuadsForRange):
2129         (WebCore::RenderText::localCaretRect):
2130         (WebCore::RenderText::linesBoundingBox):
2131         * rendering/RootInlineBox.cpp:
2132         (WebCore::RootInlineBox::height):
2133         (WebCore::RootInlineBox::clearTruncation):
2134         (WebCore::RootInlineBox::placeEllipsis):
2135         (WebCore::RootInlineBox::paintEllipsisBox):
2136         (WebCore::RootInlineBox::addHighlightOverflow):
2137         (WebCore::RootInlineBox::paintCustomHighlight):
2138         (WebCore::RootInlineBox::paint):
2139         (WebCore::RootInlineBox::nodeAtPoint):
2140         (WebCore::RootInlineBox::childRemoved):
2141         (WebCore::RootInlineBox::fillLineSelectionGap):
2142         (WebCore::RootInlineBox::block):
2143         (WebCore::isEditableLeaf):
2144         (WebCore::RootInlineBox::closestLeafChildForXPos):
2145         (WebCore::RootInlineBox::setVerticalOverflowPositions):
2146         * rendering/RootInlineBox.h:
2147         (WebCore::RootInlineBox::bottomOverflow):
2148         (WebCore::RootInlineBox::floats):
2149         (WebCore::RootInlineBox::setHorizontalOverflowPositions):
2150         (WebCore::RootInlineBox::setVerticalSelectionPositions):
2151         * rendering/SVGCharacterLayoutInfo.cpp:
2152         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
2153         * rendering/SVGInlineTextBox.cpp:
2154         (WebCore::SVGInlineTextBox::calculateGlyphWidth):
2155         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
2156         (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
2157         (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
2158         (WebCore::SVGInlineTextBox::nodeAtPoint):
2159         (WebCore::SVGInlineTextBox::paintCharacters):
2160         (WebCore::SVGInlineTextBox::paintSelection):
2161         (WebCore::SVGInlineTextBox::paintDecoration):
2162         * rendering/SVGRenderTreeAsText.cpp:
2163         (WebCore::writeSVGInlineTextBox):
2164         * rendering/SVGRootInlineBox.cpp:
2165         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
2166         (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
2167         (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
2168         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback):
2169         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback):
2170         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
2171         (WebCore::SVGRootInlineBox::paint):
2172         (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
2173         (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
2174         (WebCore::svgTextRunForInlineTextBox):
2175         (WebCore::cummulatedWidthOrHeightOfTextChunk):
2176         (WebCore::applyTextAnchorToTextChunk):
2177         (WebCore::SVGRootInlineBox::buildLayoutInformation):
2178         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
2179         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2180         (WebCore::SVGRootInlineBox::buildTextChunks):
2181         * rendering/bidi.cpp:
2182         (WebCore::RenderBlock::constructLine):
2183         (WebCore::RenderBlock::computeVerticalPositionsForLine):
2184         (WebCore::RenderBlock::layoutInlineChildren):
2185         (WebCore::RenderBlock::checkLinesForTextOverflow):
2186         * svg/SVGTextContentElement.cpp:
2187         (WebCore::cumulativeCharacterRangeLength):
2188         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
2189         (WebCore::findInlineTextBoxInTextChunks):
2190
2191 2009-02-10  Simon Fraser  <simon.fraser@apple.com>
2192
2193         Reviewed by Dave Hyatt
2194
2195         Clean up "fallbackAnimating" logic in AnimationBase. This flag indicates
2196         that animation of an accelerated property must run in software for some reason.
2197         
2198         Also remove use of private headers in GraphicsLayerCA related to a case
2199         where we may have to fall back on software animation of transform.
2200
2201         * page/animation/AnimationBase.cpp:
2202         (WebCore::AnimationBase::blendProperties):
2203         * page/animation/AnimationBase.h:
2204         * page/animation/ImplicitAnimation.cpp:
2205         (WebCore::ImplicitAnimation::animate):
2206         * page/animation/KeyframeAnimation.cpp:
2207         (WebCore::KeyframeAnimation::animate):
2208         * platform/graphics/mac/GraphicsLayerCA.h:
2209         * platform/graphics/mac/GraphicsLayerCA.mm:
2210         (WebCore::getValueFunctionNameForTransformOperation):
2211         (WebCore::caValueFunctionSupported):
2212         (WebCore::GraphicsLayerCA::setBackgroundColor):
2213         (WebCore::GraphicsLayerCA::setOpacity):
2214         (WebCore::GraphicsLayerCA::animateTransform):
2215         (WebCore::GraphicsLayerCA::animateFloat):
2216         (WebCore::GraphicsLayerCA::setBasicAnimation):
2217         (WebCore::GraphicsLayerCA::setKeyframeAnimation):
2218
2219 2009-02-10  Simon Fraser  <simon.fraser@apple.com>
2220
2221         Reviewed by Dave Hyatt
2222
2223         Move enclosingCompositingLayer() from RenderObject to RenderLayer, since it
2224         relates to the RenderLayer z-order/overflow structure, rather than the render tree
2225         parent chain. Add a convenience method, ancestorCompositingLayer(), which finds
2226         the enclosing layer excluding self.
2227         
2228         Fix enclosingCompositingLayer() to correctly look at stacking context and overflow
2229         lists.
2230         
2231         Check for documentBeingDestroyed() in a few places to avoid work on document
2232         teardown.
2233         
2234         * rendering/RenderLayer.cpp:
2235         (WebCore::RenderLayer::enclosingCompositingLayer):
2236         (WebCore::RenderLayer::setParent):
2237         (WebCore::RenderLayer::dirtyZOrderLists):
2238         (WebCore::RenderLayer::dirtyOverflowList):
2239         * rendering/RenderLayer.h:
2240         (WebCore::RenderLayer::ancestorCompositingLayer):
2241         * rendering/RenderLayerBacking.cpp:
2242         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2243         * rendering/RenderLayerCompositor.cpp:
2244         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
2245         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2246         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
2247         (WebCore::RenderLayerCompositor::clippedByAncestor):
2248         * rendering/RenderLayerCompositor.h:
2249         * rendering/RenderObject.cpp:
2250         (WebCore::RenderObject::containerForRepaint):
2251         * rendering/RenderObject.h:
2252
2253 2009-02-10  David Hyatt  <hyatt@apple.com>
2254
2255         Rename xPos() and yPos() on RenderLayer to x() and y() to match RenderBox.  Rename setPos to setLocation.
2256
2257         Reviewed by Simon Fraser
2258
2259         * dom/MouseRelatedEvent.cpp:
2260         (WebCore::MouseRelatedEvent::receivedTarget):
2261         * rendering/RenderLayer.cpp:
2262         (WebCore::RenderLayer::updateLayerPosition):
2263         (WebCore::RenderLayer::convertToLayerCoords):
2264         * rendering/RenderLayer.h:
2265         (WebCore::RenderLayer::x):
2266         (WebCore::RenderLayer::y):
2267         (WebCore::RenderLayer::setLocation):
2268         * rendering/RenderTreeAsText.cpp:
2269         (WebCore::write):
2270         (WebCore::externalRepresentation):
2271
2272 2009-02-10  Darin Fisher  <darin@chromium.org>
2273
2274         Reviewed by Eric Seidel.
2275
2276         https://bugs.webkit.org/show_bug.cgi?id=23879
2277         Add missing PLATFORM(SKIA) changes to TransformationMatrix.h
2278
2279         * platform/graphics/transforms/TransformationMatrix.h:
2280
2281 2009-02-10  Sam Weinig  <sam@webkit.org>
2282
2283         Reviewed by David Hyatt.
2284
2285         Fix for https://bugs.webkit.org/show_bug.cgi?id=15897
2286         Please implement getBoundingClientRect and getClientRects
2287         <rdar://problem/6139669>
2288
2289         Cursory implementation of Element.getBoundingClientRect and
2290         Element.getClientRects. Adds necessary infrastructure classes
2291         ClientRect and ClientRectList.
2292
2293         Tests: fast/dom/getBoundingClientRect.html
2294                fast/dom/getClientRects.html
2295
2296         * DerivedSources.make:
2297         * GNUmakefile.am:
2298         * WebCore.pro:
2299         * WebCore.vcproj/WebCore.vcproj:
2300         * WebCore.xcodeproj/project.pbxproj:
2301         * WebCoreSources.bkl:
2302         * dom/ClientRect.cpp: Added.
2303         (WebCore::ClientRect::ClientRect):
2304         * dom/ClientRect.h: Added.
2305         (WebCore::ClientRect::create):
2306         (WebCore::ClientRect::top):
2307         (WebCore::ClientRect::right):
2308         (WebCore::ClientRect::bottom):
2309         (WebCore::ClientRect::left):
2310         (WebCore::ClientRect::width):
2311         (WebCore::ClientRect::height):
2312         * dom/ClientRect.idl: Added.
2313         * dom/ClientRectList.cpp: Added.
2314         (WebCore::ClientRectList::ClientRectList):
2315         (WebCore::ClientRectList::~ClientRectList):
2316         (WebCore::ClientRectList::length):
2317         (WebCore::ClientRectList::item):
2318         * dom/ClientRectList.h: Added.
2319         (WebCore::ClientRectList::create):
2320         * dom/ClientRectList.idl: Added.
2321         * dom/Element.cpp:
2322         (WebCore::Element::getClientRects):
2323         (WebCore::Element::getBoundingClientRect):
2324         * dom/Element.h:
2325         * dom/Element.idl:
2326         * page/DOMWindow.idl:
2327         * rendering/RenderInline.cpp:
2328         (WebCore::RenderInline::absoluteRects):
2329         (WebCore::RenderInline::absoluteQuads):
2330
2331 2009-02-10  David Hyatt  <hyatt@apple.com>
2332
2333         Get rid of capsLockStateMayHaveChanged on RenderObject.  It is only implemented by one class (text fields),
2334         so devirtualize and just query at the single call site.
2335
2336         Reviewed by Eric Seidel
2337
2338         * page/EventHandler.cpp:
2339         (WebCore::EventHandler::capsLockStateMayHaveChanged):
2340         * rendering/RenderObject.h:
2341         * rendering/RenderTextControlSingleLine.h:
2342
2343 2009-02-10  David Hyatt  <hyatt@apple.com>
2344
2345         Shrink the size of all RenderObjects (except for RenderInlines) by 4 bytes.  This patch moves the cached vertical position member to RenderInlines,
2346         since they were the only objects being queried across multiple lines.
2347         
2348         Reviewed by Sam Weinig
2349
2350         * rendering/InlineFlowBox.cpp:
2351         (WebCore::verticalPositionForBox):
2352         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2353         * rendering/RenderBoxModelObject.cpp:
2354         (WebCore::RenderBoxModelObject::verticalPosition):
2355         * rendering/RenderBoxModelObject.h:
2356         * rendering/RenderInline.cpp:
2357         (WebCore::RenderInline::RenderInline):
2358         (WebCore::RenderInline::verticalPositionFromCache):
2359         * rendering/RenderInline.h:
2360         (WebCore::RenderInline::invalidateVerticalPosition):
2361         * rendering/RenderObject.cpp:
2362         (WebCore::RenderObject::RenderObject):
2363         * rendering/RenderObject.h:
2364         * rendering/RenderText.cpp:
2365         * rendering/RenderText.h:
2366         * rendering/bidi.cpp:
2367         (WebCore::RenderBlock::layoutInlineChildren):
2368
2369 2009-02-10  Dimitri Glazkov  <dglazkov@chromium.org>
2370
2371         Reviewed by Mark Rowe.
2372
2373         https://bugs.webkit.org/show_bug.cgi?id=23868
2374         Fix code style issues: removed 80-col wrapping, incorrect include style, if statement body on same line.
2375
2376         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
2377         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2378
2379 2009-02-10  Dimitri Glazkov  <dglazkov@chromium.org>
2380
2381         Reviewed by Eric Seidel.
2382
2383         https://bugs.webkit.org/show_bug.cgi?id=23868
2384         Add HTMLInputElement and HTMLOptionsCollection V8 custom bindings.
2385
2386         * bindings/v8/custom/V8HTMLInputElementCustom.cpp: Added.
2387         (WebCore::ACCESSOR_GETTER):
2388         (WebCore::ACCESSOR_SETTER):
2389         (WebCore::CALLBACK_FUNC_DECL):
2390         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: Added.
2391         (WebCore::ACCESSOR_GETTER):
2392         (WebCore::ACCESSOR_SETTER):
2393
2394 2009-02-10  Adam Roben  <aroben@apple.com>
2395
2396         Fix Bug 23871: Assertion failure beneath WebCore::openFunc when
2397         running http/tests/security/xss-DENIED-xsl-document-redirect.xml
2398
2399         <https://bugs.webkit.org/show_bug.cgi?id=23871>
2400
2401         Reviewed by Alexey Proskuryakov.
2402
2403         Covered by existing tests.
2404
2405         * dom/XMLTokenizerLibxml2.cpp:
2406         (WebCore::openFunc): Use the two-parameter KURL constructor so that
2407         the string will be parsed. libxml2 gives us a UTF-8-encoded string
2408         that needs to be parsed.
2409
2410 2009-02-10  David Hyatt  <hyatt@apple.com>
2411
2412         Shrink the size of all replaced elements (images, form controls, plugins) by 4 bytes by packing the
2413         overflow boolean into the RenderObject base class.
2414
2415         Reviewed by Sam Weinig
2416
2417         * rendering/RenderObject.cpp:
2418         (WebCore::RenderObject::RenderObject):
2419         * rendering/RenderObject.h:
2420         (WebCore::RenderObject::replacedHasOverflow):
2421         (WebCore::RenderObject::setReplacedHasOverflow):
2422         * rendering/RenderReplaced.cpp:
2423         (WebCore::RenderReplaced::RenderReplaced):
2424         (WebCore::RenderReplaced::~RenderReplaced):
2425         (WebCore::RenderReplaced::adjustOverflowForBoxShadow):
2426         (WebCore::RenderReplaced::overflowHeight):
2427         (WebCore::RenderReplaced::overflowWidth):
2428         (WebCore::RenderReplaced::overflowLeft):
2429         (WebCore::RenderReplaced::overflowTop):
2430         (WebCore::RenderReplaced::overflowRect):
2431         * rendering/RenderReplaced.h:
2432
2433 2009-02-10  Eric Carlson  <eric.carlson@apple.com>
2434
2435         Reviewed by Simon Fraser.
2436
2437         https://bugs.webkit.org/show_bug.cgi?id=23870
2438         Make it possible for a port to require a user gesture for an <audio> or <video> element
2439         to load a url.
2440
2441         * html/HTMLMediaElement.cpp:
2442         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_loadRestrictions.
2443         (WebCore::HTMLMediaElement::attributeChanged): Only one attribute can change so put an "else" between tests.
2444         (WebCore::HTMLMediaElement::load): Return INVALID_STATE_ERR if RequireUserGestureLoadRestriction is set 
2445         and we are not preocessing a user gesture.
2446         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): Remove unnecessary white space.
2447         (WebCore::HTMLMediaElement::play): Ditto.
2448         (WebCore::HTMLMediaElement::endScrubbing): Remove unnecessary braces added in r40789.
2449         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Cache currentTime() in a local instead of calling it
2450         multiple times.
2451         (WebCore::HTMLMediaElement::processingUserGesture): New.
2452         * html/HTMLMediaElement.h:
2453         (WebCore::HTMLMediaElement::): Define LoadRestrictions, add m_loadRestrictions.
2454
2455 2009-02-10  Holger Hans Peter Freyther  <zecke@selfish.org>
2456
2457         Reviewed by Sam Weinig.
2458
2459         Remove the SVG checks from FloatPoint3D as it is used
2460         by TransformationMatrix.
2461
2462         * platform/graphics/FloatPoint3D.cpp:
2463         * platform/graphics/FloatPoint3D.h:
2464
2465 2009-02-10  David Hyatt  <hyatt@apple.com>
2466
2467         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.
2468
2469         Reviewed by Sam Weinig
2470
2471         * rendering/EllipsisBox.cpp:
2472         (WebCore::EllipsisBox::paint):
2473         (WebCore::EllipsisBox::nodeAtPoint):
2474         * rendering/EllipsisBox.h:
2475         (WebCore::EllipsisBox::EllipsisBox):
2476         * rendering/InlineBox.h:
2477         (WebCore::InlineBox::InlineBox):
2478         * rendering/InlineFlowBox.cpp:
2479         (WebCore::InlineFlowBox::verticallyAlignBoxes):
2480         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2481         (WebCore::InlineFlowBox::placeBoxesVertically):
2482         (WebCore::InlineFlowBox::paintTextDecorations):
2483         * rendering/InlineFlowBox.h:
2484         (WebCore::InlineFlowBox::marginBorderPaddingLeft):
2485         (WebCore::InlineFlowBox::marginBorderPaddingRight):
2486         (WebCore::InlineFlowBox::marginLeft):
2487         (WebCore::InlineFlowBox::marginRight):
2488         (WebCore::InlineFlowBox::borderLeft):
2489         (WebCore::InlineFlowBox::borderRight):
2490         (WebCore::InlineFlowBox::borderTop):
2491         (WebCore::InlineFlowBox::borderBottom):
2492         (WebCore::InlineFlowBox::paddingLeft):
2493         (WebCore::InlineFlowBox::paddingRight):
2494         (WebCore::InlineFlowBox::paddingTop):
2495         (WebCore::InlineFlowBox::paddingBottom):
2496         (WebCore::InlineFlowBox::includeLeftEdge):
2497         (WebCore::InlineFlowBox::includeRightEdge):
2498         (WebCore::InlineFlowBox::baseline):
2499         * rendering/InlineTextBox.cpp:
2500         (WebCore::InlineTextBox::paint):
2501         (WebCore::InlineTextBox::paintDecoration):
2502         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2503         (WebCore::InlineTextBox::paintCompositionUnderline):
2504         * rendering/RenderBlock.cpp:
2505         (WebCore::RenderBlock::getBaselineOfFirstLineBox):
2506         (WebCore::RenderBlock::getBaselineOfLastLineBox):
2507         * rendering/RenderTableCell.cpp:
2508         (WebCore::RenderTableCell::baselinePosition):
2509         * rendering/RootInlineBox.cpp:
2510         (WebCore::RootInlineBox::placeEllipsis):
2511         * rendering/SVGInlineTextBox.cpp:
2512         (WebCore::SVGInlineTextBox::paintDecoration):
2513         * rendering/SVGRootInlineBox.cpp:
2514         (WebCore::applyTextAnchorToTextChunk):
2515         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
2516
2517 2009-02-10  Alexey Proskuryakov  <ap@webkit.org>
2518
2519         Reviewed by Darin Adler.
2520
2521         https://bugs.webkit.org/show_bug.cgi?id=23867
2522         Eliminate obsolete frame->document() checks
2523
2524         * page/FrameView.cpp: (WebCore::FrameView::paintContents): Apparently due to a typo
2525         (document vs. !document), fillWithRed was always set to false, and other branches were
2526         never taken. Removing the check for document restores debug-only red color filling.
2527
2528         * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Only call dispatchWindowObjectAvailable()
2529         after a document is created. A client can do anything in its delegate method, so we'd need
2530         to have frame->document() checks otherwise. DumpRenderTree uses this delegate to add its
2531         custom property, and it was crashing due to null document in JSDOMWindowBase::getOwnPropertySlot().
2532
2533         * bindings/js/JSDOMWindowBase.cpp:
2534         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
2535         * bindings/js/JSDOMWindowCustom.cpp:
2536         (WebCore::JSDOMWindow::addEventListener):
2537         (WebCore::JSDOMWindow::removeEventListener):
2538         * bindings/js/JSNavigatorCustom.cpp:
2539         (WebCore::needsYouTubeQuirk):
2540         * bindings/js/ScheduledAction.cpp:
2541         (WebCore::ScheduledAction::execute):
2542         * bindings/js/ScriptControllerMac.mm:
2543         (WebCore::updateRenderingForBindings):
2544         * dom/Document.cpp:
2545         (WebCore::Document::initSecurityContext):
2546         * editing/Editor.cpp:
2547         (WebCore::Editor::deleteWithDirection):
2548         (WebCore::Editor::dispatchCPPEvent):
2549         (WebCore::Editor::applyStyle):
2550         (WebCore::Editor::applyParagraphStyle):
2551         * editing/EditorCommand.cpp:
2552         (WebCore::Editor::Command::execute):
2553         (WebCore::Editor::Command::isEnabled):
2554         (WebCore::Editor::Command::state):
2555         (WebCore::Editor::Command::value):
2556         * editing/SelectionController.cpp:
2557         (WebCore::SelectionController::recomputeCaretRect):
2558         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
2559         (WebCore::SelectionController::selectAll):
2560         (WebCore::SelectionController::setFocused):
2561         * inspector/InspectorController.cpp:
2562         (WebCore::getResourceDocumentNode):
2563         * inspector/JavaScriptDebugServer.cpp:
2564         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
2565         * loader/DocumentLoader.cpp:
2566         (WebCore::canonicalizedTitle):
2567         (WebCore::DocumentLoader::stopLoading):
2568         (WebCore::DocumentLoader::isLoadingInAPISense):
2569         (WebCore::DocumentLoader::subresource):
2570         (WebCore::DocumentLoader::getSubresources):
2571         * loader/FrameLoader.cpp:
2572         (WebCore::FrameLoader::urlSelected):
2573         (WebCore::FrameLoader::stop):
2574         (WebCore::FrameLoader::iconURL):
2575         (WebCore::FrameLoader::executeIfJavaScriptURL):
2576         (WebCore::FrameLoader::clear):
2577         (WebCore::FrameLoader::endIfNotLoadingMainResource):
2578         (WebCore::FrameLoader::restoreDocumentState):
2579         (WebCore::FrameLoader::gotoAnchor):
2580         (WebCore::FrameLoader::loadDone):
2581         (WebCore::FrameLoader::checkCompleted):
2582         (WebCore::FrameLoader::checkCallImplicitClose):
2583         (WebCore::FrameLoader::scheduleRefresh):
2584         (WebCore::FrameLoader::outgoingOrigin):
2585         (WebCore::FrameLoader::canCachePageContainingThisFrame):
2586         (WebCore::FrameLoader::logCanCacheFrameDecision):
2587         (WebCore::FrameLoader::updatePolicyBaseURL):
2588         (WebCore::FrameLoader::setPolicyBaseURL):
2589         (WebCore::FrameLoader::frameDetached):
2590         (WebCore::FrameLoader::shouldScrollToAnchor):
2591         (WebCore::FrameLoader::saveDocumentState):
2592         * loader/archive/cf/LegacyWebArchive.cpp:
2593         (WebCore::LegacyWebArchive::create):
2594         * loader/icon/IconFetcher.cpp:
2595         (WebCore::IconFetcher::create):
2596         * loader/icon/IconLoader.cpp:
2597         (WebCore::IconLoader::startLoading):
2598         * page/AccessibilityRenderObject.cpp:
2599         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
2600         * page/Chrome.cpp:
2601         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2602         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2603         * page/DOMWindow.cpp:
2604         (WebCore::DOMWindow::sessionStorage):
2605         (WebCore::DOMWindow::alert):
2606         (WebCore::DOMWindow::confirm):
2607         (WebCore::DOMWindow::prompt):
2608         (WebCore::DOMWindow::scrollX):
2609         (WebCore::DOMWindow::scrollY):
2610         (WebCore::DOMWindow::getMatchedCSSRules):
2611         (WebCore::DOMWindow::openDatabase):
2612         (WebCore::DOMWindow::scrollBy):
2613         (WebCore::DOMWindow::scrollTo):
2614         * page/EventHandler.cpp:
2615         (WebCore::EventHandler::allowDHTMLDrag):
2616         (WebCore::EventHandler::scrollOverflow):
2617         (WebCore::EventHandler::handleMousePressEvent):
2618         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2619         (WebCore::EventHandler::handleMouseMoveEvent):
2620         (WebCore::EventHandler::handleMouseReleaseEvent):
2621         (WebCore::EventHandler::updateDragAndDrop):
2622         (WebCore::EventHandler::handleWheelEvent):
2623         (WebCore::EventHandler::sendContextMenuEvent):
2624         (WebCore::EventHandler::capsLockStateMayHaveChanged):
2625         (WebCore::EventHandler::sendResizeEvent):
2626         (WebCore::EventHandler::sendScrollEvent):
2627         * page/FocusController.cpp:
2628         (WebCore::deepFocusableNode):
2629         (WebCore::FocusController::advanceFocus):
2630         * page/Frame.cpp:
2631         (WebCore::Frame::setFocusedNodeIfNeeded):
2632         (WebCore::Frame::shouldApplyTextZoom):
2633         (WebCore::Frame::shouldApplyPageZoom):
2634         (WebCore::Frame::setZoomFactor):
2635         (WebCore::Frame::setPrinting):
2636         (WebCore::Frame::reapplyStyles):
2637         (WebCore::Frame::isContentEditable):
2638         (WebCore::Frame::computeAndSetTypingStyle):
2639         (WebCore::Frame::selectionComputedStyle):
2640         (WebCore::Frame::applyEditingStyleToBodyElement):
2641         (WebCore::Frame::removeEditingStyleFromBodyElement):
2642         (WebCore::Frame::contentRenderer):
2643         (WebCore::Frame::styleForSelectionStart):
2644         (WebCore::Frame::setSelectionFromNone):
2645         (WebCore::Frame::findString):
2646         (WebCore::Frame::markAllMatchesForText):
2647         (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
2648         (WebCore::Frame::documentTypeString):
2649         (WebCore::Frame::shouldClose):
2650         (WebCore::Frame::respondToChangedSelection):
2651         * page/FrameView.cpp:
2652         (WebCore::FrameView::~FrameView):
2653         (WebCore::FrameView::createScrollbar):
2654         (WebCore::FrameView::layout):
2655         (WebCore::FrameView::layoutTimerFired):
2656         (WebCore::FrameView::scheduleRelayout):
2657         (WebCore::FrameView::needsLayout):
2658         (WebCore::FrameView::unscheduleRelayout):
2659         (WebCore::FrameView::windowClipRect):
2660         * page/Geolocation.cpp:
2661         (WebCore::Geolocation::disconnectFrame):
2662         * page/Page.cpp:
2663         (WebCore::networkStateChanged):
2664         (WebCore::Page::~Page):
2665         (WebCore::Page::unmarkAllTextMatches):
2666         (WebCore::Page::setMediaVolume):
2667         * page/animation/AnimationController.cpp:
2668         (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
2669         * page/mac/EventHandlerMac.mm:
2670         (WebCore::EventHandler::currentKeyboardEvent):
2671         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
2672         * page/mac/FrameMac.mm:
2673         (WebCore::Frame::dashboardRegionsDictionary):
2674         (WebCore::Frame::setUserStyleSheetLocation):
2675         (WebCore::Frame::setUserStyleSheet):
2676         * storage/LocalStorageArea.cpp:
2677         (WebCore::LocalStorageArea::dispatchStorageEvent):
2678         * storage/SessionStorageArea.cpp:
2679         (WebCore::SessionStorageArea::dispatchStorageEvent):
2680         * svg/graphics/SVGImage.cpp:
2681         (WebCore::SVGImage::setContainerSize):
2682         (WebCore::SVGImage::usesContainerSize):
2683         (WebCore::SVGImage::size):
2684         (WebCore::SVGImage::hasRelativeWidth):
2685         (WebCore::SVGImage::hasRelativeHeight):
2686         Removed frame->document() checks.
2687
2688 2009-02-10  Adam Treat  <adam.treat@torchmobile.com>
2689
2690         Reviewed by George Staikos.
2691
2692         Attempt to fix the Qt build after r40791.
2693
2694         * rendering/RenderSVGRoot.cpp:
2695
2696 2009-02-10  Adam Treat  <adam.treat@torchmobile.com>
2697
2698         Reviewed by George Staikos.
2699
2700         Minor code cleanup.
2701
2702         * dom/ContainerNode.cpp:
2703         (WebCore::ContainerNode::replaceChild):
2704
2705 2009-02-10  Adam Treat  <adam.treat@torchmobile.com>
2706
2707         Fix Qt build following r40793.
2708
2709         * editing/qt/EditorQt.cpp:
2710
2711 2009-02-10  Feng Qian <feng@chromium.org>
2712
2713         Reviewed by Alexey Proskuryakov.
2714
2715         Fix crashes when accessing navigator object of a deleted frame.
2716         https://bugs.webkit.org/show_bug.cgi?id=23626
2717         A layout test is added: fast/dom/navigator-detached-no-crash.html
2718
2719         * page/Navigator.cpp:
2720         (WebCore::Navigator::cookieEnabled):
2721         (WebCore::Navigator::javaEnabled):
2722
2723 2009-02-10  Sverrir Berg  <sverrir@chromium.org>
2724
2725         Reviewed by Eric Seidel.
2726
2727         https://bugs.webkit.org/show_bug.cgi?id=23630
2728         Add complex font rendering using Skia instead of Windows ScriptTextOut.
2729         This adds support for enhanced webkit styles when drawing complex
2730         glyphs.
2731
2732         * platform/graphics/chromium/FontChromiumWin.cpp:
2733         (WebCore::Font::drawGlyphs):
2734         (WebCore::Font::drawComplexText):
2735         * platform/graphics/chromium/UniscribeHelper.cpp:
2736         (WebCore::containsMissingGlyphs):
2737         (WebCore::UniscribeHelper::draw):
2738         (WebCore::UniscribeHelper::shape):
2739         * platform/graphics/chromium/UniscribeHelper.h:
2740         * platform/graphics/skia/SkiaFontWin.cpp:
2741         (WebCore::windowsCanHandleTextDrawing):
2742         (WebCore::skiaDrawText):
2743         (WebCore::paintSkiaText):
2744         * platform/graphics/skia/SkiaFontWin.h:
2745
2746 2009-02-10  Darin Fisher  <darin@chromium.org>
2747
2748         Revert r40797 as requested by Sam Weinig.
2749
2750         https://bugs.webkit.org/show_bug.cgi?id=23809
2751
2752         * bindings/scripts/CodeGeneratorJS.pm:
2753         * dom/Document.idl:
2754         * html/HTMLCanvasElement.idl:
2755
2756 2009-02-09  Darin Fisher  <darin@chromium.org>
2757
2758         Reviewed by Eric Seidel.
2759
2760         https://bugs.webkit.org/show_bug.cgi?id=23855
2761         Fix TransformationMatrixSkia.cpp and GraphicsContextSkia.cpp bustage
2762
2763         * platform/graphics/skia/GraphicsContextSkia.cpp:
2764         (WebCore::GraphicsContext::getCTM):
2765         * platform/graphics/skia/TransformationMatrixSkia.cpp:
2766         (WebCore::TransformationMatrix::operator SkMatrix):
2767
2768 2009-02-09  Dan Bernstein  <mitz@apple.com>
2769
2770         Reviewed by Dave Hyatt.
2771
2772         - fix <rdar://problem/6568942> REGRESSION: Font rendering in Wikipedia input field is incorrect (default GDI text mode)
2773
2774         * platform/graphics/win/SimpleFontDataWin.cpp:
2775         (WebCore::SimpleFontData::widthForGDIGlyph): Make sure that the DC is
2776         in the advanced graphics mode before calling GetCharWidthI(), because
2777         otherwise that function returns incorrect results for the default UI
2778         font at a certain size.
2779
2780 2009-02-09  Chris Marrin  <cmarrin@apple.com>
2781
2782         Reviewed by Simon Fraser
2783
2784         https://bugs.webkit.org/show_bug.cgi?id=23689
2785
2786         Added 3D functions to WebKitCSSMatrix. This depends on the 3D functions
2787         added to TransformationMatrix in https://bugs.webkit.org/show_bug.cgi?id=6868
2788
2789         Test: transforms/3d/cssmatrix-3d-interface.xhtml
2790
2791         * css/WebKitCSSMatrix.cpp:
2792         * css/WebKitCSSMatrix.h:
2793         * css/WebKitCSSMatrix.idl:
2794
2795 2009-02-09  Mark Rowe  <mrowe@apple.com>
2796
2797         Reviewed by Darin Adler.
2798
2799         Fix <https://bugs.webkit.org/show_bug.cgi?id=23858>
2800         Bug 23858: Crash when removing a HTMLSelectElement from the document from inside its focus event handler
2801
2802         * html/HTMLSelectElement.cpp:
2803         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't store the renderer in a local variable
2804         as it can be invalidated by any of the calls to focus() within the function.  Instead, retrieve it and
2805         null-check it when it is needed.
2806
2807 2009-02-09  David Hyatt  <hyatt@apple.com>
2808
2809         Remove the m_height member from InlineBox.  This shaves 4 bytes off of all inline boxes.  Unfortunately SVG
2810         sets heights that are independent of the renderer or of the font, and so all SVG boxes have to retain m_height
2811         member variables.
2812
2813         height() on InlineBox is now a virtual function that does a dynamic computation (including shrinking boxes
2814         with no text children).  For SVG boxes there is also a non-virtual setHeight function for updating the
2815         m_height member variable like before.
2816     
2817         Reviewed by Darin Adler
2818
2819         * rendering/EllipsisBox.cpp:
2820         (WebCore::EllipsisBox::nodeAtPoint):
2821         * rendering/EllipsisBox.h:
2822         (WebCore::EllipsisBox::EllipsisBox):
2823         * rendering/InlineBox.cpp:
2824         (WebCore::InlineBox::height):
2825         (WebCore::InlineBox::root):
2826         * rendering/InlineBox.h:
2827         (WebCore::InlineBox::InlineBox):
2828         (WebCore::InlineBox::isInlineFlowBox):
2829         (WebCore::InlineBox::isRootInlineBox):
2830         (WebCore::InlineBox::topOverflow):
2831         (WebCore::InlineBox::bottomOverflow):
2832         (WebCore::InlineBox::leftOverflow):
2833         (WebCore::InlineBox::rightOverflow):
2834         * rendering/InlineFlowBox.cpp:
2835         (WebCore::InlineFlowBox::height):
2836         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
2837         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2838         (WebCore::InlineFlowBox::placeBoxesVertically):
2839         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
2840         (WebCore::InlineFlowBox::nodeAtPoint):
2841         * rendering/InlineFlowBox.h:
2842         (WebCore::InlineFlowBox::isInlineFlowBox):
2843         * rendering/InlineTextBox.cpp:
2844         (WebCore::InlineTextBox::height):
2845         (WebCore::InlineTextBox::nodeAtPoint):
2846         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2847         (WebCore::InlineTextBox::paintCompositionUnderline):
2848         * rendering/InlineTextBox.h:
2849         * rendering/RootInlineBox.cpp:
2850         (WebCore::RootInlineBox::height):
2851         (WebCore::RootInlineBox::placeEllipsis):
2852         (WebCore::RootInlineBox::setVerticalOverflowPositions):
2853         * rendering/RootInlineBox.h:
2854         (WebCore::RootInlineBox::isRootInlineBox):
2855         (WebCore::RootInlineBox::topOverflow):
2856         (WebCore::RootInlineBox::bottomOverflow):
2857         (WebCore::RootInlineBox::leftOverflow):
2858         (WebCore::RootInlineBox::rightOverflow):
2859         (WebCore::RootInlineBox::selectionBottom):
2860         (WebCore::RootInlineBox::Overflow::Overflow):
2861         (WebCore::RootInlineBox::setVerticalSelectionPositions):
2862         * rendering/SVGInlineFlowBox.h:
2863         (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
2864         (WebCore::SVGInlineFlowBox::height):
2865         (WebCore::SVGInlineFlowBox::setHeight):
2866         * rendering/SVGInlineTextBox.cpp:
2867         (WebCore::SVGInlineTextBox::SVGInlineTextBox):
2868         * rendering/SVGInlineTextBox.h:
2869         (WebCore::SVGInlineTextBox::height):
2870         (WebCore::SVGInlineTextBox::setHeight):
2871         * rendering/SVGRootInlineBox.cpp:
2872         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
2873         * rendering/SVGRootInlineBox.h:
2874         (WebCore::SVGRootInlineBox::SVGRootInlineBox):
2875         (WebCore::SVGRootInlineBox::height):
2876         (WebCore::SVGRootInlineBox::setHeight):
2877
2878 2009-02-09  Eric Seidel  <eric@webkit.org>
2879
2880         Reviewed by Sam Weinig.
2881
2882         Document our Selection DOM extensions
2883         (in preparation for re-writing Selection to work with ranges)
2884
2885         * page/DOMSelection.cpp:
2886         (WebCore::DOMSelection::type):
2887         * page/DOMSelection.h:
2888         * page/DOMSelection.idl:
2889
2890 2009-02-09  Eric Seidel  <eric@webkit.org>
2891
2892         Attempt to fix wx build
2893
2894         * WebCoreSources.bkl: change Selection to VisibleSelection
2895
2896 2009-02-06  Darin Fisher  <darin@chromium.org>
2897
2898         Reviewed by Eric Seidel.
2899
2900         https://bugs.webkit.org/show_bug.cgi?id=23809
2901         Return CanvasRenderingContext2D instead of DOMObject in IDL to avoid V8 #ifdefs
2902
2903         * bindings/scripts/CodeGeneratorJS.pm:
2904         * dom/Document.idl:
2905         * html/HTMLCanvasElement.idl:
2906
2907 2009-02-09  Dirk Schulze  <krit@webkit.org>
2908
2909         Reviewed by Eric Seidel.
2910
2911         Transform the gradient instead of the context for most platforms and
2912         transform the context after CGContextReplacePathWithStrokedPath for CG.
2913
2914         REGRESSION: SVG gradient transformation/BoundingBox can cause ugly stroke thickness
2915         https://bugs.webkit.org/show_bug.cgi?id=23547
2916
2917         * platform/graphics/Gradient.h:
2918         (WebCore::Gradient::setGradientSpaceTransform):
2919         (WebCore::Gradient::gradientSpaceTransform):
2920         * platform/graphics/cairo/GradientCairo.cpp:
2921         (WebCore::Gradient::platformGradient):
2922         * platform/graphics/cg/GraphicsContextCG.cpp:
2923         (WebCore::GraphicsContext::fillPath):
2924         (WebCore::GraphicsContext::strokePath):
2925         (WebCore::GraphicsContext::fillRect):
2926         * platform/graphics/qt/GraphicsContextQt.cpp:
2927         (WebCore::GraphicsContext::fillPath):
2928         (WebCore::GraphicsContext::strokePath):
2929         (WebCore::GraphicsContext::fillRect):
2930         * platform/graphics/skia/GradientSkia.cpp:
2931         (WebCore::Gradient::platformGradient):
2932         * svg/graphics/SVGPaintServerGradient.cpp:
2933         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2934         (WebCore::clipToTextMask):
2935         (WebCore::SVGPaintServerGradient::setup):
2936         (WebCore::SVGPaintServerGradient::teardown):
2937
2938 2009-02-09  Sam Weinig  <sam@webkit.org>
2939
2940         Reviewed by David Hyatt.
2941
2942         Fix the highlight when inspecting inline elements.
2943
2944         * inspector/InspectorController.cpp:
2945         (WebCore::drawHighlightForBox):
2946         (WebCore::drawHighlightForLineBoxes):
2947         (WebCore::InspectorController::drawNodeHighlight):
2948
2949 2009-02-09  Eric Seidel  <eric@webkit.org>
2950
2951         Fix the gtk build by adding VisibleSelection and removing Selection.
2952
2953         * GNUmakefile.am:
2954
2955 2009-02-09  Eric Seidel  <eric@webkit.org>
2956
2957         Reviewed by Dave Hyatt.
2958
2959         Rename Selection to VisibleSelection to allow us to separate
2960         the selections the user works with from the ones used by
2961         the JS editing APIs.
2962         https://bugs.webkit.org/show_bug.cgi?id=23852
2963
2964         No functional changes, thus no tests.
2965
2966         * WebCore.base.exp:
2967         * WebCore.pro:
2968         * WebCore.scons:
2969         * WebCore.vcproj/WebCore.vcproj:
2970         * WebCore.xcodeproj/project.pbxproj:
2971         * dom/Element.cpp:
2972         (WebCore::Element::updateFocusAppearance):
2973         * editing/ApplyStyleCommand.cpp:
2974         (WebCore::ApplyStyleCommand::updateStartEnd):
2975         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
2976         * editing/BreakBlockquoteCommand.cpp:
2977         (WebCore::BreakBlockquoteCommand::doApply):
2978         * editing/CompositeEditCommand.cpp:
2979         (WebCore::CompositeEditCommand::inputText):
2980         (WebCore::CompositeEditCommand::deleteSelection):
2981         (WebCore::CompositeEditCommand::rebalanceWhitespace):
2982         (WebCore::CompositeEditCommand::pushAnchorElementDown):
2983         (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown):
2984         (WebCore::CompositeEditCommand::moveParagraphs):
2985         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
2986         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2987         * editing/CompositeEditCommand.h:
2988         * editing/CreateLinkCommand.cpp:
2989         (WebCore::CreateLinkCommand::doApply):
2990         * editing/DeleteButtonController.cpp:
2991         (WebCore::enclosingDeletableElement):
2992         (WebCore::DeleteButtonController::respondToChangedSelection):
2993         * editing/DeleteButtonController.h:
2994         * editing/DeleteSelectionCommand.cpp:
2995         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
2996         (WebCore::DeleteSelectionCommand::clearTransientState):
2997         (WebCore::DeleteSelectionCommand::doApply):
2998         * editing/DeleteSelectionCommand.h:
2999         (WebCore::DeleteSelectionCommand::create):
3000         * editing/EditCommand.cpp:
3001         (WebCore::EditCommand::setStartingSelection):
3002         (WebCore::EditCommand::setEndingSelection):
3003         * editing/EditCommand.h:
3004         (WebCore::EditCommand::startingSelection):
3005         (WebCore::EditCommand::endingSelection):
3006         * editing/Editor.cpp:
3007         (WebCore::Editor::selectionForCommand):
3008         (WebCore::Editor::respondToChangedSelection):
3009         (WebCore::Editor::respondToChangedContents):
3010         (WebCore::Editor::applyStyle):
3011         (WebCore::Editor::applyParagraphStyle):
3012         (WebCore::Editor::appliedEditing):
3013         (WebCore::Editor::unappliedEditing):
3014         (WebCore::Editor::reappliedEditing):
3015         (WebCore::Editor::insertTextWithoutSendingTextEvent):
3016         (WebCore::Editor::selectComposition):
3017         (WebCore::Editor::confirmComposition):
3018         (WebCore::Editor::advanceToNextMisspelling):
3019         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
3020         (WebCore::markMisspellingsOrBadGrammar):
3021         (WebCore::Editor::markMisspellings):
3022         (WebCore::Editor::markBadGrammar):
3023         (WebCore::Editor::rangeForPoint):
3024         (WebCore::Editor::transpose):
3025         * editing/Editor.h:
3026         * editing/EditorCommand.cpp:
3027         (WebCore::expandSelectionToGranularity):
3028         (WebCore::executeSwapWithMark):
3029         (WebCore::enabledVisibleSelection):
3030         (WebCore::enabledVisibleSelectionAndMark):
3031         (WebCore::enableCaretInEditableText):
3032         * editing/FormatBlockCommand.cpp:
3033         (WebCore::FormatBlockCommand::modifyRange):
3034         (WebCore::FormatBlockCommand::doApply):
3035         * editing/IndentOutdentCommand.cpp:
3036         (WebCore::IndentOutdentCommand::indentRegion):
3037         (WebCore::IndentOutdentCommand::outdentRegion):
3038         (WebCore::IndentOutdentCommand::doApply):
3039         * editing/InsertLineBreakCommand.cpp:
3040         (WebCore::InsertLineBreakCommand::doApply):
3041         * editing/InsertListCommand.cpp:
3042         (WebCore::InsertListCommand::modifyRange):
3043         (WebCore::InsertListCommand::doApply):
3044         * editing/InsertParagraphSeparatorCommand.cpp:
3045         (WebCore::InsertParagraphSeparatorCommand::doApply):
3046         * editing/InsertTextCommand.cpp:
3047         (WebCore::InsertTextCommand::performTrivialReplace):
3048         (WebCore::InsertTextCommand::input):
3049         * editing/ModifySelectionListLevel.cpp:
3050         (WebCore::getStartEndListChildren):
3051         (WebCore::canIncreaseListLevel):
3052         (WebCore::canDecreaseListLevel):
3053         * editing/MoveSelectionCommand.cpp:
3054         (WebCore::MoveSelectionCommand::doApply):
3055         * editing/RemoveFormatCommand.cpp:
3056         * editing/ReplaceSelectionCommand.cpp:
3057         (WebCore::ReplacementFragment::ReplacementFragment):
3058         (WebCore::ReplaceSelectionCommand::doApply):
3059         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
3060         * editing/Selection.cpp: Removed.
3061         * editing/Selection.h: Removed.
3062         * editing/SelectionController.cpp:
3063         (WebCore::SelectionController::moveTo):
3064         (WebCore::SelectionController::setSelection):
3065         (WebCore::SelectionController::nodeWillBeRemoved):
3066         (WebCore::SelectionController::clear):
3067         (WebCore::SelectionController::setBase):
3068         (WebCore::SelectionController::setExtent):
3069         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
3070         (WebCore::SelectionController::selectAll):
3071         (WebCore::SelectionController::setSelectedRange):
3072         * editing/SelectionController.h:
3073         (WebCore::SelectionController::selection):
3074         (WebCore::SelectionController::selectionType):
3075         * editing/TypingCommand.cpp:
3076         (WebCore::TypingCommand::insertText):
3077         (WebCore::TypingCommand::deleteKeyPressed):
3078         (WebCore::TypingCommand::forwardDeleteKeyPressed):
3079         * editing/TypingCommand.h:
3080         * editing/VisiblePosition.cpp:
3081         (WebCore::VisiblePosition::honorEditableBoundaryAtOrBefore):
3082         (WebCore::VisiblePosition::honorEditableBoundaryAtOrAfter):
3083         * editing/VisibleSelection.cpp: Added.
3084         (WebCore::VisibleSelection::VisibleSelection):
3085         (WebCore::VisibleSelection::selectionFromContentsOfNode):
3086         (WebCore::VisibleSelection::setBase):
3087         (WebCore::VisibleSelection::setExtent):
3088         (WebCore::VisibleSelection::firstRange):
3089         (WebCore::VisibleSelection::toNormalizedRange):
3090         (WebCore::VisibleSelection::expandUsingGranularity):
3091         (WebCore::makeSearchRange):
3092         (WebCore::VisibleSelection::appendTrailingWhitespace):
3093         (WebCore::VisibleSelection::setBaseAndExtentToDeepEquivalents):
3094         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
3095         (WebCore::VisibleSelection::updateSelectionType):
3096         (WebCore::VisibleSelection::validate):
3097         (WebCore::VisibleSelection::setWithoutValidation):
3098         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
3099         (WebCore::VisibleSelection::isContentEditable):
3100         (WebCore::VisibleSelection::isContentRichlyEditable):
3101         (WebCore::VisibleSelection::rootEditableElement):
3102         (WebCore::VisibleSelection::shadowTreeRootNode):
3103         (WebCore::VisibleSelection::debugPosition):
3104         (WebCore::VisibleSelection::formatForDebugger):
3105         (WebCore::VisibleSelection::showTreeForThis):
3106         (showTree):
3107         * editing/VisibleSelection.h: Added.
3108         (WebCore::VisibleSelection::):
3109         (WebCore::VisibleSelection::selectionType):
3110         (WebCore::VisibleSelection::setAffinity):
3111         (WebCore::VisibleSelection::affinity):
3112         (WebCore::VisibleSelection::base):
3113         (WebCore::VisibleSelection::extent):
3114         (WebCore::VisibleSelection::start):
3115         (WebCore::VisibleSelection::end):
3116         (WebCore::VisibleSelection::visibleStart):
3117         (WebCore::VisibleSelection::visibleEnd):
3118         (WebCore::VisibleSelection::isNone):
3119         (WebCore::VisibleSelection::isCaret):
3120         (WebCore::VisibleSelection::isRange):
3121         (WebCore::VisibleSelection::isCaretOrRange):
3122         (WebCore::VisibleSelection::isBaseFirst):
3123         (WebCore::VisibleSelection::granularity):
3124         (WebCore::operator==):
3125         (WebCore::operator!=):
3126         * editing/htmlediting.cpp:
3127         (WebCore::selectionForParagraphIteration):
3128         (WebCore::avoidIntersectionWithNode):
3129         * editing/htmlediting.h:
3130         * editing/markup.cpp:
3131         (WebCore::createMarkup):
3132         * html/HTMLInputElement.cpp:
3133         (WebCore::HTMLInputElement::selection):
3134         * html/HTMLInputElement.h:
3135         * html/HTMLTextAreaElement.cpp:
3136         (WebCore::HTMLTextAreaElement::selection):
3137         * html/HTMLTextAreaElement.h:
3138         * page/AccessibilityObject.cpp:
3139         (WebCore::AccessibilityObject::selection):
3140         (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
3141         * page/AccessibilityObject.h:
3142         * page/AccessibilityRenderObject.cpp:
3143         (WebCore::AccessibilityRenderObject::selection):
3144         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
3145         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
3146         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
3147         (WebCore::AccessibilityRenderObject::doAXRangeForLine):
3148         * page/AccessibilityRenderObject.h:
3149         * page/DOMSelection.cpp:
3150         (WebCore::DOMSelection::anchorNode):
3151         (WebCore::DOMSelection::anchorOffset):
3152         (WebCore::DOMSelection::focusNode):
3153         (WebCore::DOMSelection::focusOffset):
3154         (WebCore::DOMSelection::collapseToEnd):
3155         (WebCore::DOMSelection::collapseToStart):
3156         (WebCore::DOMSelection::getRangeAt):
3157         (WebCore::DOMSelection::addRange):
3158         * page/DOMSelection.h:
3159         * page/DragController.cpp:
3160         (WebCore::DragController::tryDocumentDrag):
3161         (WebCore::setSelectionToDragCaret):
3162         (WebCore::DragController::concludeEditDrag):
3163         (WebCore::prepareClipboardForImageDrag):
3164         (WebCore::DragController::startDrag):
3165         (WebCore::DragController::placeDragCaret):
3166         * page/EditorClient.h:
3167         * page/EventHandler.cpp:
3168         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
3169         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
3170         (WebCore::EventHandler::handleMousePressEventTripleClick):
3171         (WebCore::EventHandler::handleMousePressEventSingleClick):
3172         (WebCore::EventHandler::updateSelectionForMouseDrag):
3173         (WebCore::EventHandler::handleMouseReleaseEvent):
3174         * page/Frame.cpp:
3175         (WebCore::Frame::mark):
3176         (WebCore::Frame::setMark):
3177         (WebCore::Frame::selectionLayoutChanged):
3178         (WebCore::Frame::shouldChangeSelection):
3179         (WebCore::Frame::shouldDeleteSelection):
3180         (WebCore::Frame::revealSelection):
3181         (WebCore::Frame::setSelectionFromNone):
3182         (WebCore::Frame::findString):
3183         (WebCore::Frame::respondToChangedSelection):
3184         * page/Frame.h:
3185         * page/Page.cpp:
3186         (WebCore::Page::selection):
3187         * page/Page.h:
3188         * page/mac/AccessibilityObjectWrapper.mm:
3189         (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
3190         * rendering/RenderBlock.cpp:
3191         (WebCore::RenderBlock::fillInlineSelectionGaps):
3192         * rendering/RenderTextControl.cpp:
3193         (WebCore::RenderTextControl::setSelectionRange):
3194         (WebCore::RenderTextControl::selection):
3195         * rendering/RenderTextControl.h:
3196         * rendering/RenderTreeAsText.cpp:
3197         (WebCore::writeSelection):
3198         * rendering/RootInlineBox.cpp:
3199         (WebCore::RootInlineBox::fillLineSelectionGap):
3200         * svg/SVGTextContentElement.cpp:
3201         (WebCore::SVGTextContentElement::selectSubString):
3202
3203 2009-02-09  Dimitri Glazkov  <dglazkov@chromium.org>
3204
3205         Reviewed by Dave Hyatt.
3206
3207         https://bugs.webkit.org/show_bug.cgi?id=23806
3208         Fix a regression crash where an empty src value and a "text/html" type
3209         on an EMBED element did not finish ResourceRequest initialization due to
3210         an early return.
3211
3212         Test: fast/loader/empty-embed-src-attribute.html
3213
3214         * loader/FrameLoader.cpp:
3215         (WebCore::FrameLoader::addExtraFieldsToRequest):
3216
3217 2009-02-09  Rob Buis  <rwlbuis@gmail.com>
3218
3219         Reviewed by Eric Seidel.
3220
3221         https://bugs.webkit.org/show_bug.cgi?id=23816
3222         Clean up RenderSVGRoot.cpp
3223
3224         Clean up RenderSVGRoot.cpp.
3225
3226         * rendering/RenderSVGRoot.cpp:
3227         (WebCore::RenderSVGRoot::paint):
3228         (WebCore::RenderSVGRoot::calcViewport):
3229
3230 2009-02-09  Eric Carlson  <eric.carlson@apple.com>
3231
3232         Reviewed by Antti Koivisto
3233         
3234         https://bugs.webkit.org/show_bug.cgi?id=23737
3235         Make it possible to control media element playback without knowing so many
3236         internal implementation details.
3237
3238         * html/HTMLMediaElement.cpp:
3239         (WebCore::HTMLMediaElement::togglePlayState): New, toggle between playing and paused state.
3240         (WebCore::HTMLMediaElement::beginScrubbing): New, pause as necessary for scrubbing mode.
3241         (WebCore::HTMLMediaElement::endScrubbing): New, resume playback if paused for scrubbing mode.
3242         * html/HTMLMediaElement.h:
3243
3244         (WebCore::HTMLMediaElement::hasVideo): New, added so clients don't need to access MediaPlayer directly.
3245         * html/HTMLVideoElement.h:
3246
3247         (WebCore::HTMLVideoElement::hasVideo): New.
3248
3249         * rendering/MediaControlElements.cpp:
3250         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Use new media element 
3251         togglePlayState method.
3252         (WebCore::MediaControlTimelineElement::defaultEventHandler): Tell media element when scrubbing
3253         begins and ends so it can deal with pausing logic. Don't call setCurrentTime unless the time
3254         will change.
3255
3256         * rendering/RenderMedia.cpp:
3257         (WebCore::RenderMedia::updateControls): Ask media element if it is able to play instead of including
3258         internal logic here.
3259         (WebCore::RenderMedia::updateControlVisibility): Ditto.
3260
3261 2009-02-09  Eric Carlson  <eric.carlson@apple.com>
3262
3263         Reviewed by Antti Koivisto
3264
3265         Change RenderPart and RenderPartObject constructors to take a Node*
3266         instead of a HTMLFrameOwnerElement* since that is all then need.
3267
3268         * rendering/RenderPart.cpp:
3269         (WebCore::RenderPart::RenderPart): take Node* instead of HTMLFrameOwnerElement*
3270         * rendering/RenderPart.h:
3271         * rendering/RenderPartObject.cpp:
3272         (WebCore::RenderPartObject::RenderPartObject):  take Node* instead of HTMLFrameOwnerElement*
3273         * rendering/RenderPartObject.h:
3274
3275 2009-02-09  Dan Bernstein  <mitz@apple.com>
3276
3277         - fix -Wmissing-prototypes builds
3278
3279         * editing/ReplaceSelectionCommand.cpp:
3280         (WebCore::isHeaderElement): Marked this function static.
3281         (WebCore::haveSameTagName): Ditto.
3282         * editing/markup.cpp:
3283         (WebCore::isSpecialAncestorBlock): Ditto.
3284         * platform/graphics/transforms/TransformationMatrix.cpp:
3285         (WebCore::makeMapBetweenRects): Removed unused function.
3286         * platform/graphics/transforms/TransformationMatrix.h: Removed unused
3287         declaration of private member makeMapBetweenRects().
3288
3289 2009-02-09  Adam Treat  <adam.treat@torchmobile.com>
3290
3291         Reviewed by Sam Weinig.
3292
3293         https://bugs.webkit.org/show_bug.cgi?id=23850
3294         Code cleanup of HTMLParser class which was using a mix of m_* and bare
3295         class member variable names which helps to obfuscate the code.  Also
3296         changed a few of the static helper functions to take a const pointer type
3297         as they should not be modifying the node.
3298
3299         * html/HTMLParser.cpp:
3300         (WebCore::HTMLParser::HTMLParser):
3301         (WebCore::HTMLParser::~HTMLParser):
3302         (WebCore::HTMLParser::reset):
3303         (WebCore::HTMLParser::setCurrent):
3304         (WebCore::HTMLParser::parseToken):
3305         (WebCore::HTMLParser::parseDoctypeToken):
3306         (WebCore::isTableSection):
3307         (WebCore::isTablePart):
3308         (WebCore::isTableRelated):
3309         (WebCore::HTMLParser::insertNode):
3310         (WebCore::HTMLParser::handleError):
3311         (WebCore::HTMLParser::textCreateErrorCheck):
3312         (WebCore::HTMLParser::commentCreateErrorCheck):
3313         (WebCore::HTMLParser::headCreateErrorCheck):
3314         (WebCore::HTMLParser::bodyCreateErrorCheck):
3315         (WebCore::HTMLParser::framesetCreateErrorCheck):
3316         (WebCore::HTMLParser::formCreateErrorCheck):
3317         (WebCore::HTMLParser::isindexCreateErrorCheck):
3318         (WebCore::HTMLParser::noscriptCreateErrorCheck):
3319         (WebCore::HTMLParser::pCloserStrictCreateErrorCheck):
3320         (WebCore::HTMLParser::mapCreateErrorCheck):
3321         (WebCore::HTMLParser::getNode):
3322         (WebCore::HTMLParser::allowNestedRedundantTag):
3323         (WebCore::HTMLParser::processCloseTag):
3324         (WebCore::HTMLParser::isInline):
3325         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
3326         (WebCore::HTMLParser::reopenResidualStyleTags):
3327         (WebCore::HTMLParser::pushBlock):
3328         (WebCore::HTMLParser::popBlock):
3329         (WebCore::HTMLParser::popOneBlockCommon):
3330         (WebCore::HTMLParser::popOneBlock):
3331         (WebCore::HTMLParser::moveOneBlockToStack):
3332         (WebCore::HTMLParser::checkIfHasPElementInScope):
3333         (WebCore::HTMLParser::popInlineBlocks):
3334         (WebCore::HTMLParser::freeBlock):
3335         (WebCore::HTMLParser::createHead):
3336         (WebCore::HTMLParser::handleIsindex):
3337         (WebCore::HTMLParser::startBody):
3338         (WebCore::HTMLParser::finished):
3339         (WebCore::HTMLParser::reportErrorToConsole):
3340         * html/HTMLParser.h:
3341
3342 2009-02-09  Alexey Proskuryakov  <ap@webkit.org>
3343
3344         Applying review comment on a second location.
3345
3346         * rendering/RenderText.cpp: (WebCore::RenderText::nextOffset):
3347         Use "ifdef BUILDING_ON_TIGER".
3348
3349 2009-02-09  Alexey Proskuryakov  <ap@webkit.org>
3350
3351         Reviewed by Darin Adler.
3352
3353         https://bugs.webkit.org/show_bug.cgi?id=23845
3354         editing/deleting/backward-deletion.html fails on Tiger
3355
3356         * rendering/RenderText.cpp:
3357         (WebCore::RenderText::previousOffset):
3358         (WebCore::RenderText::nextOffset):
3359         Work around a bug in older ICU versions by hardcoding narrow voiced marks.
3360
3361 2009-02-09  Adam Roben  <aroben@apple.com>
3362
3363         Windows build fix
3364
3365         * WebCore.vcproj/WebCore.vcproj: Fix the XML syntax.
3366
3367 2009-02-09  Jian Li  <jianli@chromium.org>
3368
3369         Reviewed by Alexey Proskuryakov.
3370
3371         Make WorkerMessagingProxy derive from two base proxy classes.
3372         https://bugs.webkit.org/show_bug.cgi?id=23777
3373
3374         * bindings/js/WorkerScriptController.cpp:
3375         (WebCore::WorkerScriptController::evaluate):
3376         * dom/Worker.cpp:
3377         (WebCore::Worker::terminate):
3378         (WebCore::Worker::hasPendingActivity):
3379         * dom/WorkerContext.cpp:
3380         (WebCore::WorkerContext::reportException):
3381         * dom/WorkerMessagingProxy.cpp:
3382         (WebCore::WorkerThreadActivityReportTask::performTask):
3383         (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
3384         (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
3385         (WebCore::WorkerMessagingProxy::terminateWorkerContext):
3386         (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage):
3387         (WebCore::WorkerMessagingProxy::reportPendingActivity):
3388         (WebCore::WorkerMessagingProxy::reportPendingActivityInternal):
3389         (WebCore::WorkerMessagingProxy::hasPendingActivity):
3390         * dom/WorkerMessagingProxy.h:
3391
3392 2009-02-09  Jian Li  <jianli@chromium.org>
3393
3394         Reviewed by Alexey Proskuryakov.
3395
3396         Introduce 2 base classes to split WorkerMessagingProxy.
3397         https://bugs.webkit.org/show_bug.cgi?id=23776
3398
3399         * GNUmakefile.am:
3400         * WebCore.vcproj/WebCore.vcproj:
3401         * WebCore.xcodeproj/project.pbxproj:
3402         * dom/WorkerContextProxy.h: Added.
3403         (WebCore::WorkerContextProxy::~WorkerContextProxy):
3404         * dom/WorkerObjectProxy.h: Added.
3405         (WebCore::WorkerObjectProxy::~WorkerObjectProxy):
3406
3407 2009-02-08  David Hyatt  <hyatt@apple.com>
3408
3409         Fix for https://bugs.webkit.org/show_bug.cgi?id=23839
3410
3411         Make sure that generated content is properly handled when content is moved from a block run-in
3412         to an inline run-in.
3413
3414         Reviewed by Sam Weinig
3415
3416         Added fast/runin/002.html
3417
3418         * rendering/RenderBlock.cpp:
3419         (WebCore::RenderBlock::handleRunInChild):
3420
3421 2009-02-08  David Hyatt  <hyatt@apple.com>
3422
3423         Fix for https://bugs.webkit.org/show_bug.cgi?id=23832, crash when inspecting an image using the
3424         Web inspector.
3425
3426         Reviewed by Mark Rowe
3427
3428         * rendering/RenderObject.cpp:
3429         (WebCore::RenderObject::absoluteRectsForRange):
3430         (WebCore::RenderObject::absoluteQuadsForRange):
3431
3432 2009-02-08  Dirk Schulze  <krit@webkit.org>
3433
3434         Unreviewed Qt build fix.
3435         
3436         TransformationMatrix changes in r40761 broke QT build.
3437
3438         * platform/graphics/qt/GraphicsContextQt.cpp:
3439         (WebCore::GraphicsContext::getCTM):
3440         (WebCore::GraphicsContext::scale):
3441
3442 2009-02-08  Dirk Schulze  <krit@webkit.org>
3443
3444         Reviewed by Holger Freyther.
3445
3446         This is a follow up of the last commit. It cleans up TransformationMatrix.h
3447         and convert to a series of #elif.
3448
3449         * platform/graphics/transforms/TransformationMatrix.h:
3450
3451 2009-02-08  Gustavo Noronha Silva  <gns@gnome.org>
3452
3453         Reviewed by Simon Fraser.
3454
3455         [CAIRO] build broken by TransformationMatrix rework
3456         https://bugs.webkit.org/show_bug.cgi?id=23831
3457
3458         Fixed cairo build after the TransformationMatrix rework done in
3459         revision 40761.
3460
3461         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3462         (WebCore::GraphicsContext::getCTM):
3463         (WebCore::GraphicsContext::concatCTM):
3464         * platform/graphics/cairo/TransformationMatrixCairo.cpp:
3465         (WebCore::TransformationMatrix::operator cairo_matrix_t):
3466         * platform/graphics/transforms/TransformationMatrix.h:
3467
3468 2009-02-07  David Hyatt  <hyatt@apple.com>
3469
3470         Shrink the size of all InlineTextBoxes and all InlineBoxes (for images and replaced elements) by four bytes.
3471         Change the overflow variable on InlineFlowBoxes into a short and move the bits for InlineFlowBoxes out of the
3472         base InlineBox class.  Since the number of bits in the base class was 35, shoving the 3 bits for InlineFlowBoxes
3473         back down into that class (into the 16 bits exposed by making the overflow variable into a short), all text
3474         boxes and image boxes shrink by 4 bytes.
3475
3476         Reviewed by Anders
3477
3478         * rendering/InlineBox.h:
3479         (WebCore::InlineBox::InlineBox):
3480         * rendering/InlineFlowBox.cpp:
3481         (WebCore::InlineFlowBox::placeBoxesHorizontally):
3482         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3483         (WebCore::InlineFlowBox::placeBoxesVertically):
3484         * rendering/InlineFlowBox.h:
3485         (WebCore::InlineFlowBox::InlineFlowBox):
3486         (WebCore::InlineFlowBox::maxHorizontalVisualOverflow):
3487         (WebCore::InlineFlowBox::hasTextChildren):
3488
3489 2009-02-07  Dean Jackson  <dino@apple.com>
3490
3491         Attempted build fix for Qt. Not reviewed.
3492
3493         TransformationMatrix changes in r40761 broke non-Apple builds.
3494
3495         * platform/graphics/qt/TransformationMatrixQt.cpp:
3496         (WebCore::TransformationMatrix::operator QMatrix):
3497         * platform/graphics/transforms/TransformationMatrix.h:
3498
3499 2009-02-07  David Hyatt  <hyatt@apple.com>
3500
3501         This patch changes the base class of RenderInline from RenderBox to RenderBoxModelObject.  This shift
3502         in base class knocks 32 bytes off the size of every RenderInline.  All of the necessary functions
3503         for both RenderInline and RenderBox have either been pulled up into RenderBoxModelObject for sharing
3504         or split into two functions (one in each derived class).
3505
3506         Reviewed by Anders and Antti
3507
3508         * dom/Element.cpp:
3509         (WebCore::Element::offsetLeft):
3510         (WebCore::Element::offsetTop):
3511         (WebCore::Element::offsetWidth):
3512         (WebCore::Element::offsetHeight):
3513         (WebCore::Element::offsetParent):
3514         (WebCore::Element::clientWidth):
3515         (WebCore::Element::clientHeight):
3516         (WebCore::Element::scrollWidth):
3517         (WebCore::Element::scrollHeight):
3518         * dom/Node.cpp:
3519         (WebCore::Node::renderBox):
3520         (WebCore::Node::renderBoxModelObject):
3521         * dom/Node.h:
3522         * html/HTMLAnchorElement.cpp:
3523         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
3524         * rendering/InlineBox.h:
3525         (WebCore::InlineBox::boxModelObject):
3526         * rendering/InlineFlowBox.cpp:
3527         (WebCore::InlineFlowBox::marginLeft):
3528         (WebCore::InlineFlowBox::marginRight):
3529         (WebCore::InlineFlowBox::placeBoxesHorizontally):
3530         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3531         (WebCore::InlineFlowBox::placeBoxesVertically):
3532         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
3533         * rendering/InlineFlowBox.h:
3534         (WebCore::InlineFlowBox::borderLeft):
3535         (WebCore::InlineFlowBox::borderRight):
3536         (WebCore::InlineFlowBox::paddingLeft):
3537         (WebCore::InlineFlowBox::paddingRight):
3538         * rendering/RenderBlock.cpp:
3539         (WebCore::getBorderPaddingMargin):
3540         (WebCore::RenderBlock::calcInlinePrefWidths):
3541         * rendering/RenderBox.cpp:
3542         (WebCore::RenderBox::imageChanged):
3543         (WebCore::RenderBox::calcReplacedWidthUsing):
3544         (WebCore::RenderBox::calcReplacedHeightUsing):
3545         (WebCore::RenderBox::containingBlockWidthForPositioned):
3546         (WebCore::RenderBox::containingBlockHeightForPositioned):
3547         (WebCore::RenderBox::calcAbsoluteHorizontal):
3548         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
3549         (WebCore::RenderBox::calcAbsoluteVertical):
3550         (WebCore::RenderBox::calcAbsoluteVerticalValues):
3551         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3552         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
3553         (WebCore::RenderBox::positionForCoordinates):
3554         * rendering/RenderBox.h:
3555         (WebCore::RenderBox::borderBoundingBox):
3556         (WebCore::RenderBox::offsetHeight):
3557         (WebCore::RenderBox::marginTop):
3558         (WebCore::RenderBox::marginBottom):
3559         (WebCore::RenderBox::marginLeft):
3560         (WebCore::RenderBox::marginRight):
3561         * rendering/RenderBoxModelObject.cpp:
3562         (WebCore::RenderBoxModelObject::offsetLeft):
3563         (WebCore::RenderBoxModelObject::offsetTop):
3564         (WebCore::RenderBoxModelObject::paddingTop):
3565         (WebCore::RenderBoxModelObject::paddingBottom):
3566         (WebCore::RenderBoxModelObject::paddingLeft):
3567         (WebCore::RenderBoxModelObject::paddingRight):
3568         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3569         (WebCore::RenderBoxModelObject::calculateBackgroundSize):
3570         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
3571         * rendering/RenderBoxModelObject.h:
3572         (WebCore::RenderBoxModelObject::borderTop):
3573         (WebCore::RenderBoxModelObject::borderBottom):
3574         (WebCore::RenderBoxModelObject::borderLeft):
3575         (WebCore::RenderBoxModelObject::borderRight):
3576         (WebCore::RenderBoxModelObject::hasHorizontalBordersPaddingOrMargin):
3577         (WebCore::RenderBoxModelObject::hasHorizontalBordersOrPadding):
3578         (WebCore::RenderBoxModelObject::childBecameNonInline):
3579         (WebCore::RenderBoxModelObject::isBoxModelObject):
3580         * rendering/RenderInline.cpp:
3581         (WebCore::RenderInline::RenderInline):
3582         (WebCore::RenderInline::destroy):
3583         (WebCore::RenderInline::styleDidChange):
3584         (WebCore::nextContinuation):
3585         (WebCore::RenderInline::continuationBefore):
3586         (WebCore::RenderInline::addChildIgnoringContinuation):
3587         (WebCore::RenderInline::splitInlines):
3588         (WebCore::RenderInline::splitFlow):
3589         (WebCore::RenderInline::addChildToContinuation):
3590         (WebCore::RenderInline::absoluteRects):
3591         (WebCore::RenderInline::offsetLeft):
3592         (WebCore::RenderInline::offsetTop):
3593         (WebCore::RenderInline::marginLeft):
3594         (WebCore::RenderInline::marginRight):
3595         (WebCore::RenderInline::positionForCoordinates):
3596         (WebCore::RenderInline::clippedOverflowRectForRepaint):
3597         (WebCore::RenderInline::rectWithOutlineForRepaint):
3598         (WebCore::RenderInline::computeRectForRepaint):
3599         (WebCore::RenderInline::updateDragState):
3600         (WebCore::RenderInline::childBecameNonInline):
3601         (WebCore::RenderInline::updateHitTestResult):
3602         (WebCore::RenderInline::imageChanged):
3603         (WebCore::RenderInline::addFocusRingRects):
3604         * rendering/RenderInline.h:
3605         (WebCore::RenderInline::marginTop):
3606         (WebCore::RenderInline::marginBottom):
3607         (WebCore::RenderInline::continuation):
3608         (WebCore::RenderInline::setContinuation):
3609         * rendering/RenderLineBoxList.cpp:
3610         (WebCore::RenderLineBoxList::paint):
3611         (WebCore::RenderLineBoxList::hitTest):
3612         * rendering/RenderLineBoxList.h:
3613         * rendering/RenderObject.cpp:
3614         (WebCore::addLayers):
3615         (WebCore::RenderObject::removeLayers):
3616         (WebCore::RenderObject::moveLayers):
3617         (WebCore::RenderObject::findNextLayer):
3618         (WebCore::RenderObject::enclosingLayer):
3619         (WebCore::RenderObject::enclosingCompositingLayer):
3620         (WebCore::RenderObject::setLayerNeedsFullRepaint):
3621         (WebCore::RenderObject::handleDynamicFloatPositionChange):
3622         (WebCore::RenderObject::destroy):
3623         (WebCore::RenderObject::offsetParent):
3624         * rendering/RenderObject.h:
3625         (WebCore::RenderObject::isInlineContinuation):
3626         * rendering/RenderSVGTSpan.cpp:
3627         (WebCore::RenderSVGTSpan::absoluteRects):
3628         (WebCore::RenderSVGTSpan::absoluteQuads):
3629         * rendering/RenderSVGTextPath.cpp:
3630         (WebCore::RenderSVGTextPath::absoluteRects):
3631         (WebCore::RenderSVGTextPath::absoluteQuads):
3632         * rendering/RenderTreeAsText.cpp:
3633         (WebCore::operator<<):
3634         * rendering/RenderView.cpp:
3635         (WebCore::RenderView::setBestTruncatedAt):
3636         * rendering/RenderView.h:
3637         * rendering/bidi.cpp:
3638         (WebCore::getBorderPaddingMargin):
3639         (WebCore::inlineWidth):
3640         (WebCore::RenderBlock::layoutInlineChildren):
3641         (WebCore::inlineFlowRequiresLineBox):
3642         (WebCore::requiresLineBox):
3643         (WebCore::RenderBlock::findNextLineBreak):
3644         * wml/WMLAElement.cpp:
3645         (WebCore::WMLAElement::isKeyboardFocusable):
3646
3647 2009-02-07  Yael Aharon <yael.aharon@nokia.com>
3648
3649         Reviewed by Timothy Hatcher <timothy@hatcher.name>
3650
3651         Partial fix for <https://bugs.webkit.org/show_bug.cgi?id=21051>
3652         Include localStorage and sessionStorage in DatabasesPanel.
3653
3654         * WebCore.vcproj/WebCore.vcproj:
3655         * inspector/InspectorController.cpp:
3656         (WebCore::InspectorDOMStorageResource::create):
3657         (WebCore::InspectorDOMStorageResource::setScriptObject):
3658         (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
3659         (WebCore::InspectorController::populateScriptObjects):
3660         (WebCore::InspectorController::addDOMStorageScriptResource):
3661         (WebCore::InspectorController::removeDOMStorageScriptResource):
3662         (WebCore::InspectorController::resetScriptObjects):
3663         (WebCore::InspectorController::didCommitLoad):
3664         (WebCore::InspectorController::didUseDOMStorage):
3665         * inspector/InspectorController.h:
3666         * inspector/front-end/DOMStorage.js: Added.
3667         (WebInspector.DOMStorage):
3668         (WebInspector.DOMStorage.prototype.get domStorage):
3669         (WebInspector.DOMStorage.prototype.set domStorage):
3670         (WebInspector.DOMStorage.prototype.get domain):
3671         (WebInspector.DOMStorage.prototype.set domain):
3672         (WebInspector.DOMStorage.prototype.get isLocalStorage):
3673         (WebInspector.DOMStorage.prototype.set isLocalStorage):
3674         * inspector/front-end/DOMStorageItemsView.js: Added.
3675         (WebInspector.DOMStorageItemsView):
3676         (WebInspector.DOMStorageItemsView.prototype.show):
3677         (WebInspector.DOMStorageItemsView.prototype.update):
3678         * inspector/front-end/DatabaseQueryView.js:
3679         (WebInspector.DatabaseQueryView):
3680         * inspector/front-end/DatabaseTableView.js:
3681         (WebInspector.DatabaseTableView):
3682         (WebInspector.DatabaseTableView.prototype._queryFinished):
3683         (WebInspector.DatabaseTableView.prototype._queryError):
3684         * inspector/front-end/DatabasesPanel.js:
3685         (WebInspector.DatabasesPanel):
3686         (WebInspector.DatabasesPanel.prototype.reset):
3687         (WebInspector.DatabasesPanel.prototype.addDatabase):
3688         (WebInspector.DatabasesPanel.prototype.addDOMStorage):
3689         (WebInspector.DatabasesPanel.prototype.showDatabase):
3690         (WebInspector.DatabasesPanel.prototype.showDOMStorage):
3691         (WebInspector.DatabasesPanel.prototype.closeVisibleView):
3692         (WebInspector.DatabasesPanel.prototype.updateDatabaseTables):
3693         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
3694         (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
3695         (WebInspector.DOMStorageSidebarTreeElement):
3696         (WebInspector.DOMStorageSidebarTreeElement.prototype.onselect):
3697         (WebInspector.DOMStorageSidebarTreeElement.prototype.get mainTitle):
3698         (WebInspector.DOMStorageSidebarTreeElement.prototype.set mainTitle):
3699         (WebInspector.DOMStorageSidebarTreeElement.prototype.get subtitle):
3700         (WebInspector.DOMStorageSidebarTreeElement.prototype.set subtitle):
3701         * inspector/front-end/Images/domStorage.png: Added.
3702         * inspector/front-end/WebKit.qrc:
3703         * inspector/front-end/inspector.css:
3704         * inspector/front-end/inspector.html:
3705         * inspector/front-end/inspector.js:
3706         (WebInspector.addDOMStorage):
3707         * page/DOMWindow.cpp:
3708         (WebCore::DOMWindow::sessionStorage):
3709         (WebCore::DOMWindow::localStorage):
3710
3711 2009-02-07  Feng Qian <feng@chromium.org>
3712
3713         Reviewed by Eric Seidel <eric@webkit.org>
3714
3715         Put #if ENABLE(PAN_SCROLLING) around EventHandler::setPanScrollCursor. 
3716         https://bugs.webkit.org/show_bug.cgi?id=23574
3717
3718         * page/EventHandler.cpp:
3719         * page/EventHandler.h:
3720
3721 2009-02-07  Zalan Bujtas  <zbujtas@gmail.com>
3722
3723         Reviewed by Rob Buis <rwlbuis@gmail.com>
3724         
3725         https://bugs.webkit.org/show_bug.cgi?id=23788
3726         call style()->isOriginalDisplayInlineType() on RenderBox instead of RenderObject. 
3727         
3728         * rendering/bidi.cpp:
3729         (WebCore::RenderBlock::skipLeadingWhitespace):
3730
3731 2009-02-07  Rob Buis  <rwlbuis@gmail.com>
3732
3733         Reviewed by Darin.
3734
3735         https://bugs.webkit.org/show_bug.cgi?id=3248
3736         Bug 3248: Mouse events on OPTION element seem to be ignored
3737
3738         Support mouse events on options in a select when it forms a list box.
3739
3740         Test: fast/forms/option-mouseevents.html
3741
3742         * html/HTMLSelectElement.cpp: Convert to coords relative to the list box.
3743         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
3744         * rendering/RenderListBox.cpp: Handle hit testing for option elements.
3745         (WebCore::RenderListBox::nodeAtPoint):
3746         * rendering/RenderListBox.h:
3747
3748 2009-02-07  Adam Treat  <adam.treat@torchmobile.com>
3749
3750         Prospective build fix for all non-Apple platforms.
3751
3752         * platform/graphics/transforms/TransformationMatrix.h:
3753
3754 2009-02-06  Chris Marrin  <cmarrin@apple.com>
3755
3756         Reviewed by Simon Fraser.
3757
3758         https://bugs.webkit.org/show_bug.cgi?id=6868
3759
3760         I have not only made TransformationMatrix platform independent
3761         but I've also added 3D methods, which will be used when I update
3762         WebKitCSSMatrix to include 3D (see https://bugs.webkit.org/show_bug.cgi?id=23689).
3763         I am now keeping a full 4x4 matrix in TransformationMatrix. I'm also doing all
3764         the math as doubles rather than floats. This makes a TransformationMatrix
3765         go from 24 bytes to 128 bytes, but I don't think this class is used enough to
3766         make this overhead will be significant.
3767
3768         The change from floats to doubles has caused some differences in rounding and
3769         display (sometimes things that displayed as -0.0 now display as 0.0 or vice versa),
3770         so I've had to change some LayoutTest results in the SVG tests.
3771
3772         * platform/graphics/FloatPoint.cpp:
3773         (WebCore::FloatPoint::matrixTransform):
3774         * platform/graphics/cg/GraphicsContextCG.cpp:
3775         (WebCore::GraphicsContext::getCTM):
3776         * platform/graphics/cg/TransformationMatrixCG.cpp:
3777         (WebCore::TransformationMatrix::operator CGAffineTransform):
3778         * platform/graphics/transforms/TransformationMatrix.cpp:
3779         (WebCore::determinant2x2):
3780         (WebCore::determinant3x3):
3781         (WebCore::determinant4x4):
3782         (WebCore::adjoint):
3783         (WebCore::inverse):
3784         (WebCore::transposeMatrix4):
3785         (WebCore::v4MulPointByMatrix):
3786         (WebCore::v3Length):
3787         (WebCore::v3Scale):
3788         (WebCore::v3Dot):
3789         (WebCore::v3Combine):
3790         (WebCore::v3Cross):
3791         (WebCore::decompose):
3792         (WebCore::slerp):
3793         (WebCore::TransformationMatrix::scale):
3794         (WebCore::TransformationMatrix::rotateFromVector):
3795         (WebCore::TransformationMatrix::flipX):
3796         (WebCore::TransformationMatrix::flipY):
3797         (WebCore::makeMapBetweenRects):
3798         (WebCore::TransformationMatrix::projectPoint):
3799         (WebCore::TransformationMatrix::mapPoint):
3800         (WebCore::TransformationMatrix::mapRect):
3801         (WebCore::TransformationMatrix::mapQuad):
3802         (WebCore::TransformationMatrix::scale3d):
3803         (WebCore::TransformationMatrix::rotate3d):
3804         (WebCore::TransformationMatrix::translate):
3805         (WebCore::TransformationMatrix::translate3d):
3806         (WebCore::TransformationMatrix::skew):
3807         (WebCore::TransformationMatrix::applyPerspective):
3808         (WebCore::TransformationMatrix::multLeft):
3809         (WebCore::TransformationMatrix::multVecMatrix):
3810         (WebCore::TransformationMatrix::isInvertible):
3811         (WebCore::TransformationMatrix::inverse):
3812         (WebCore::blendFloat):
3813         (WebCore::TransformationMatrix::blend):
3814         (WebCore::TransformationMatrix::decompose):
3815         (WebCore::TransformationMatrix::recompose):
3816         * platform/graphics/transforms/TransformationMatrix.h:
3817         (WebCore::TransformationMatrix::TransformationMatrix):
3818         (WebCore::TransformationMatrix::setMatrix):
3819         (WebCore::TransformationMatrix::operator =):
3820         (WebCore::TransformationMatrix::makeIdentity):
3821         (WebCore::TransformationMatrix::isIdentity):
3822         (WebCore::TransformationMatrix::map):
3823         (WebCore::TransformationMatrix::m11):
3824         (WebCore::TransformationMatrix::setM11):
3825         (WebCore::TransformationMatrix::m12):
3826         (WebCore::TransformationMatrix::setM12):
3827         (WebCore::TransformationMatrix::m13):
3828         (WebCore::TransformationMatrix::setM13):
3829         (WebCore::TransformationMatrix::m14):
3830         (WebCore::TransformationMatrix::setM14):
3831         (WebCore::TransformationMatrix::m21):
3832         (WebCore::TransformationMatrix::setM21):
3833         (WebCore::TransformationMatrix::m22):
3834         (WebCore::TransformationMatrix::setM22):
3835         (WebCore::TransformationMatrix::m23):
3836         (WebCore::TransformationMatrix::setM23):
3837         (WebCore::TransformationMatrix::m24):
3838         (WebCore::TransformationMatrix::setM24):
3839         (WebCore::TransformationMatrix::m31):
3840         (WebCore::TransformationMatrix::setM31):
3841         (WebCore::TransformationMatrix::m32):
3842         (WebCore::TransformationMatrix::setM32):
3843         (WebCore::TransformationMatrix::m33):
3844         (WebCore::TransformationMatrix::setM33):
3845         (WebCore::TransformationMatrix::m34):
3846         (WebCore::TransformationMatrix::setM34):
3847         (WebCore::TransformationMatrix::m41):
3848         (WebCore::TransformationMatrix::setM41):
3849         (WebCore::TransformationMatrix::m42):
3850         (WebCore::TransformationMatrix::setM42):
3851         (WebCore::TransformationMatrix::m43):
3852         (WebCore::TransformationMatrix::setM43):
3853         (WebCore::TransformationMatrix::m44):
3854         (WebCore::TransformationMatrix::setM44):
3855         (WebCore::TransformationMatrix::a):
3856         (WebCore::TransformationMatrix::setA):
3857         (WebCore::TransformationMatrix::b):
3858         (WebCore::TransformationMatrix::setB):
3859         (WebCore::TransformationMatrix::c):
3860         (WebCore::TransformationMatrix::setC):
3861         (WebCore::TransformationMatrix::d):
3862         (WebCore::TransformationMatrix::setD):
3863         (WebCore::TransformationMatrix::e):
3864         (WebCore::TransformationMatrix::setE):
3865         (WebCore::TransformationMatrix::f):
3866         (WebCore::TransformationMatrix::setF):
3867         (WebCore::TransformationMatrix::multiply):
3868         (WebCore::TransformationMatrix::rotate):
3869         (WebCore::TransformationMatrix::skewX):
3870         (WebCore::TransformationMatrix::skewY):
3871         (WebCore::TransformationMatrix::hasPerspective):
3872         (WebCore::TransformationMatrix::):
3873         (WebCore::TransformationMatrix::isAffine):
3874         (WebCore::TransformationMatrix::operator==):
3875         (WebCore::TransformationMatrix::operator*=):
3876         (WebCore::TransformationMatrix::operator*):
3877         * rendering/RenderForeignObject.cpp:
3878         (WebCore::RenderForeignObject::nodeAtPoint):
3879         * rendering/RenderLayer.cpp:
3880         (WebCore::RenderLayer::updateTransform):
3881         * rendering/RenderPath.cpp:
3882         (WebCore::RenderPath::mapAbsolutePointToLocal):
3883         * rendering/RenderSVGImage.cpp:
3884         (WebCore::RenderSVGImage::nodeAtPoint):
3885         * rendering/RenderSVGRoot.cpp:
3886         (WebCore::RenderSVGRoot::nodeAtPoint):
3887         * rendering/RenderSVGText.cpp:
3888         (WebCore::RenderSVGText::nodeAtPoint):
3889         * rendering/RenderSVGViewportContainer.cpp:
3890         (WebCore::RenderSVGViewportContainer::nodeAtPoint):
3891         * svg/SVGAnimateMotionElement.cpp:
3892         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
3893         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
3894         * svg/SVGSVGElement.cpp:
3895         (WebCore::SVGSVGElement::viewport):
3896         * svg/SVGTransform.cpp:
3897         (SVGTransform::setTranslate):
3898         (SVGTransform::setScale):
3899         (SVGTransform::setRotate):
3900         (SVGTransform::setSkewX):
3901         (SVGTransform::setSkewY):
3902         * svg/graphics/SVGResourceMarker.cpp:
3903         (WebCore::SVGResourceMarker::draw):
3904
3905 2009-02-07  Simon Hausmann  <simon.hausmann@nokia.com>
3906
3907         Reviewed by Tor Arne Vestbø.
3908
3909         For the Qt port implement Image::drawPattern via
3910         BitmapImage::drawPatterns' implementation and implement
3911         Gradient::fill.
3912
3913         This partially fixes rendering of generated gradient content.
3914
3915         * platform/graphics/BitmapImage.h: Remove the drawPattern
3916         implementation for the Qt port in BitmapImage, it's been moved to
3917         Image::drawPattern.
3918         * platform/graphics/qt/GradientQt.cpp:
3919         (WebCore::Gradient::fill): Implement using a simple fillRect.
3920         * platform/graphics/qt/ImageQt.cpp:
3921         (WebCore::Image::drawPattern): Moved implementation from
3922         BitmapImage::drawPattern.
3923
3924 2009-02-06  Eric Seidel  <eric@webkit.org>
3925
3926         Reviewed by Justin Garcia.
3927
3928         DOMSelection.getRangeAt() returns a different range than the selection
3929         https://bugs.webkit.org/show_bug.cgi?id=23601
3930
3931         Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range
3932
3933         Test: fast/dom/Selection/getRangeAt.html
3934
3935         * WebCore.base.exp:
3936         * dom/InputElement.cpp:
3937         (WebCore::InputElement::handleBeforeTextInsertedEvent):
3938         * editing/DeleteButtonController.cpp:
3939         (WebCore::enclosingDeletableElement):
3940         * editing/Editor.cpp:
3941         (WebCore::Editor::selectedRange):
3942         (WebCore::Editor::fontForSelection):
3943         (WebCore::Editor::applyStyleToSelection):
3944         (WebCore::Editor::applyParagraphStyleToSelection):
3945         (WebCore::Editor::insertTextWithoutSendingTextEvent):
3946         (WebCore::Editor::insertLineBreak):
3947         (WebCore::Editor::insertParagraphSeparator):
3948         (WebCore::Editor::ignoreSpelling):
3949         (WebCore::Editor::isSelectionUngrammatical):
3950         (WebCore::Editor::guessesForUngrammaticalSelection):
3951         (WebCore::markMisspellingsOrBadGrammar):
3952         (WebCore::Editor::rangeForPoint):
3953         * editing/EditorCommand.cpp:
3954         (WebCore::expandSelectionToGranularity):
3955         (WebCore::executeDeleteToMark):
3956         (WebCore::executeSelectToMark):
3957         * editing/RemoveFormatCommand.cpp:
3958         (WebCore::RemoveFormatCommand::doApply):
3959         * editing/ReplaceSelectionCommand.cpp:
3960         (WebCore::ReplacementFragment::ReplacementFragment):
3961         * editing/Selection.cpp:
3962         (WebCore::Selection::firstRange):
3963         (WebCore::Selection::toNormalizedRange):
3964         * editing/Selection.h:
3965         * editing/SelectionController.h:
3966         (WebCore::SelectionController::toNormalizedRange):
3967         * editing/TypingCommand.cpp:
3968         (WebCore::TypingCommand::deleteKeyPressed):
3969         (WebCore::TypingCommand::forwardDeleteKeyPressed):
3970         * editing/markup.cpp:
3971         (WebCore::createMarkup):
3972         * loader/archive/cf/LegacyWebArchive.cpp:
3973         (WebCore::LegacyWebArchive::createFromSelection):
3974         * page/AccessibilityRenderObject.cpp:
3975         (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
3976         * page/ContextMenuController.cpp:
3977         (WebCore::ContextMenuController::contextMenuItemSelected):
3978         * page/DOMSelection.cpp:
3979         (WebCore::DOMSelection::getRangeAt):
3980         (WebCore::DOMSelection::addRange):
3981         (WebCore::DOMSelection::deleteFromDocument):
3982         (WebCore::DOMSelection::containsNode):
3983         (WebCore::DOMSelection::toString):
3984         * page/DragController.cpp:
3985         (WebCore::setSelectionToDragCaret):
3986         (WebCore::DragController::concludeEditDrag):
3987         (WebCore::DragController::startDrag):
3988         * page/EventHandler.cpp:
3989         (WebCore::EventHandler::dispatchMouseEvent):
3990         * page/Frame.cpp:
3991         (WebCore::Frame::selectedText):
3992         (WebCore::Frame::shouldChangeSelection):
3993         (WebCore::Frame::shouldDeleteSelection):
3994         (WebCore::Frame::selectionComputedStyle):
3995         (WebCore::Frame::selectionTextRects):
3996         (WebCore::Frame::findString):
3997         (WebCore::Frame::respondToChangedSelection):
3998         * platform/ContextMenu.cpp:
3999         (WebCore::selectionContainsPossibleWord):
4000
4001 2009-02-06  Brady Eidson  <beidson@apple.com>
4002
4003         Reviewed by Dan Bernstein
4004
4005         <rdar://problem/6563402> - Workaround a case where ::didReceiveData() might be called on a ResourceHandleClient 
4006         before ::didReceiveResponse().
4007
4008         No layout test, as we don't have a concrete way to reproduce these conditions.  To that effect, I've added an ASSERT
4009         to catch the conditions before the workaround takes effect in case any WebKit Debug-build developer runs across
4010         this case and can come up with something more reproducible.
4011
4012         * loader/MainResourceLoader.cpp:
4013         (WebCore::MainResourceLoader::didReceiveData): If the response is null create a dummy response.  This is much 
4014           like the FrameLoader::init() response that is used for initial document creation.
4015
4016 2009-02-06  Geoffrey Garen  <ggaren@apple.com>
4017
4018         Build fix.
4019
4020         * WebCore.base.exp:
4021
4022 2009-02-06  Xan Lopez  <xan@gnome.org>
4023
4024         Reviewed by Holger Freyther.
4025
4026         https://bugs.webkit.org/show_bug.cgi?id=23621
4027
4028         Do not use m_scrollOffset to check if we are setting the same
4029         value than we already have.
4030
4031         m_scrollOffset starts at 0 for ScrollView, so when opening a new
4032         page and scrolling to 0 (the usual case) the check will fail and
4033         we won't update the adjustment value, resulting in a possibly
4034         mispositioned scrollbar. Use the adjustment value directly
4035         instead, which is what we are updating anyway.
4036
4037         * platform/gtk/ScrollViewGtk.cpp:
4038         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
4039         (WebCore::ScrollView::platformHandleVerticalAdjustment):
4040
4041 2009-02-06  Justin Garcia  <justin.garcia@apple.com>
4042
4043         Reviewed by Oliver Hunt.
4044         
4045         https://bugs.webkit.org/show_bug.cgi?id=23800
4046         Header elements are not always preserved during paste
4047         
4048         At paste time, don't merge out of header elements.  At copy time, be sure to include
4049         headers in the list of special common ancestor blocks, so that copying a paragraph or less
4050         of content inside a header will include the header element in the copied markup.
4051
4052         * editing/ReplaceSelectionCommand.cpp:
4053         (WebCore::areSameHeaderElements):
4054         (WebCore::ReplaceSelectionCommand::shouldMerge):
4055         * editing/markup.cpp:
4056         (WebCore::isSpecialAncestorBlock):
4057         (WebCore::createMarkup):
4058
4059 2009-02-06  Geoffrey Garen  <ggaren@apple.com>
4060
4061         Reviewed by Sam Weinig.
4062
4063         Part III of <rdar://problem/6552272>.
4064         
4065         Make redirect data available to WebKit. (I tried having WebKit track this
4066         data for itself, but that went wrong -- it's just too hard to figure
4067         out the weird corners of the WebCore loader from within another framework.)
4068
4069         * loader/DocumentLoader.cpp:
4070         (WebCore::DocumentLoader::DocumentLoader):
4071         * loader/DocumentLoader.h: Store a flag indicating whether we created
4072         a global history entry. If we didn't, then we know that the next redirect
4073         should not link to us, since we're not in history.
4074         
4075         (WebCore::DocumentLoader::clientRedirectSourceForHistory):
4076         (WebCore::DocumentLoader::clientRedirectDestinationForHistory):
4077         (WebCore::DocumentLoader::setClientRedirectSourceForHistory):
4078         (WebCore::DocumentLoader::serverRedirectSourceForHistory):
4079         (WebCore::DocumentLoader::serverRedirectDestinationForHistory):
4080         (WebCore::DocumentLoader::didCreateGlobalHistoryEntry):
4081         (WebCore::DocumentLoader::setDidCreateGlobalHistoryEntry): Added accessors
4082         to help WebKit wade through the muck of WebCore history.
4083
4084         * loader/EmptyClients.h:
4085         (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryRedirectLinks): Renamed
4086         this client function to say what it does, instead of when it's called.
4087
4088         * loader/FrameLoader.cpp:
4089         (WebCore::FrameLoader::load):
4090         (WebCore::FrameLoader::loadWithNavigationAction): In the case of a redirect,
4091         store a link to the previous history URL in the new DocumentLoader, so
4092         it can update WebKit with that link when the load commits.
4093
4094         (WebCore::FrameLoader::updateHistory*): Use our new flags and names,
4095         described above.
4096
4097         * loader/FrameLoader.h:
4098         (WebCore::FrameLoader::documentLoader):
4099         (WebCore::FrameLoader::policyDocumentLoader):
4100         (WebCore::FrameLoader::provisionalDocumentLoader):
4101         (WebCore::FrameLoader::state): Inlined a few trivial functions because
4102         performance mistakes give me the itches.
4103         
4104         * loader/FrameLoaderClient.h: Renamed this client function to say what
4105         it does, instead of when it's called.
4106
4107 2009-02-06  Eric Seidel  <eric@webkit.org>
4108
4109         Reviewed by Justin Garcia.
4110
4111         Minor refactoring and cleanup to Selection code
4112         https://bugs.webkit.org/show_bug.cgi?id=23774
4113
4114         No functional changes, thus no tests.
4115
4116         * editing/Editor.cpp:
4117         (WebCore::Editor::applyStyle):
4118         (WebCore::Editor::applyParagraphStyle):
4119         * editing/Selection.cpp:
4120         (WebCore::Selection::Selection):
4121         (WebCore::Selection::setBaseAndExtentToDeepEquivalents):
4122         (WebCore::Selection::setStartAndEndFromBaseAndExtentRespectingGranularity):
4123         (WebCore::Selection::updateSelectionType):
4124         (WebCore::Selection::validate):
4125         (WebCore::Selection::setWithoutValidation):
4126         (WebCore::Selection::adjustSelectionToAvoidCrossingEditingBoundaries):
4127         * editing/Selection.h:
4128         (WebCore::Selection::):
4129         (WebCore::Selection::selectionType):
4130         (WebCore::Selection::extent):
4131         (WebCore::Selection::isNone):
4132         (WebCore::Selection::isCaret):
4133         (WebCore::Selection::isRange):
4134         (WebCore::Selection::isCaretOrRange):
4135         * editing/SelectionController.h:
4136         (WebCore::SelectionController::selectionType):
4137         * editing/TypingCommand.cpp:
4138         (WebCore::TypingCommand::deleteKeyPressed):
4139         (WebCore::TypingCommand::forwardDeleteKeyPressed):
4140         * page/Frame.cpp:
4141         (WebCore::Frame::revealSelection):
4142
4143 2009-02-06  Dimitri Glazkov  <dglazkov@chromium.org>
4144
4145         Reviewed by Eric Seidel.
4146
4147         https://bugs.webkit.org/show_bug.cgi?id=23801
4148         Add custom V8 bindings for SVG.
4149
4150         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Added.
4151         (WebCore::CALLBACK_FUNC_DECL):
4152         * bindings/v8/custom/V8SVGLengthCustom.cpp: Added.
4153         (WebCore::ACCESSOR_GETTER):
4154         (WebCore::CALLBACK_FUNC_DECL):
4155         * bindings/v8/custom/V8SVGMatrixCustom.cpp: Added.
4156         (WebCore::CALLBACK_FUNC_DECL):
4157
4158 2009-02-06  David Levin  <levin@chromium.org>
4159
4160         Reviewed by Eric Seidel.
4161
4162         Bug 23792: unused param is used in RenderLayer.cp but not #include'd
4163         <https://bugs.webkit.org/show_bug.cgi?id=23792>
4164
4165         Add include file for UnusedParam which is used in this file.
4166
4167         * rendering/RenderLayer.cpp:
4168
4169 2009-02-06  David Levin  <levin@chromium.org>
4170
4171         Reviewed by Eric Seidel.
4172
4173         <https://bugs.webkit.org/show_bug.cgi?id=23741>
4174
4175         Bug 23798: KURLGoogle needs support for protocolInHTTPFamily
4176         <https://bugs.webkit.org/show_bug.cgi?id=23798>
4177
4178         Add protocolInHTTPFamily() to the KURLGoogle implementation.
4179         This is another chromium build fix to mirror r40553.
4180
4181         While in this file, I did some style fixes and consistency fixes:
4182         + fixed many_occurences_of_underscoring_naming
4183         + usages of NULL
4184         + comparisons to 0
4185         + changed the copyright remove an extraneous , and capitalize the (C)
4186           which was suggested for other files that I've submitted.
4187
4188         No observable change in behavior, so no test.
4189
4190         * platform/KURL.h:
4191         (WebCore::KURL::protocolInHTTPFamily):
4192         * platform/KURLGoogle.cpp:
4193         (WebCore::KURLCharsetConverter::ConvertFromUTF16):
4194         (WebCore::lowerCaseEqualsASCII):
4195         (WebCore::KURLGooglePrivate::KURLGooglePrivate):
4196         (WebCore::KURLGooglePrivate::setUtf8):
4197         (WebCore::KURLGooglePrivate::setAscii):
4198         (WebCore::KURLGooglePrivate::init):
4199         (WebCore::KURLGooglePrivate::initProtocolInHTTPFamily):
4200         (WebCore::KURLGooglePrivate::copyTo):
4201         (WebCore::KURLGooglePrivate::replaceComponents):
4202         (WebCore::KURL::KURL):
4203         (WebCore::KURL::createCFURL):
4204         (WebCore::KURL::isEmpty):
4205         (WebCore::KURL::protocolInHTTPFamily):
4206         (WebCore::KURL::query):