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