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