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