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