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