2011-01-07 Chris Marrin <cmarrin@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2011-01-07  Chris Marrin  <cmarrin@apple.com>
2
3         Unreviewed.
4
5         Use new wkCACFLayerGetContextUserData function
6
7         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
8
9 2011-01-07  James Robinson  <jamesr@chromium.org>
10
11         Fix compile bustage due to bad merge in 75276.
12
13         * page/animation/AnimationController.cpp:
14         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
15
16 2010-12-17  Jer Noble  <jer@kokode.apple.com>
17
18         Reviewed by Simon Fraser.
19
20         Implement WebKit Full Screen support.
21         https://bugs.webkit.org/show_bug.cgi?id=49481
22         rdar://problem/8247444
23
24         Mark for export all those WebCore functions needed by WebFullscreenController.
25
26         * WebCore.exp.in:
27
28 2010-12-17  Jer Noble  <jer@kokode.apple.com>
29
30         Reviewed by Simon Fraser.
31
32         Implement WebKit Full Screen support.
33         https://bugs.webkit.org/show_bug.cgi?id=49481
34         rdar://problem/8247444
35         
36         screenRect is useful for more than just HTMLMediaElements.  Promote it into
37         Element.
38
39         * dom/Element.cpp: Moved into Element from HTMLMediaElement.
40         * dom/Element.h: Ditto.
41         * dom/Node.cpp:
42         * html/HTMLMediaElement.cpp: Moved screenRect into Element.
43         * html/HTMLMediaElement.h: Ditto.
44         * WebCore.exp.in: Modify the exports list to reflect the new symbol name.
45
46 2010-12-17  Jer Noble  <jer@kokode.apple.com>
47
48         Reviewed by Simon Fraser.
49
50         Implement WebKit Full Screen support.
51         https://bugs.webkit.org/show_bug.cgi?id=49481
52         rdar://problem/8247444
53
54         The RenderFullScreen is intended to be used by clients of that API to allow a DOM subtree to
55         be rendered outside its original Frame. Because of this, there are a few areas of the
56         rendering code which need to be special cased: RenderFullScreen layers should not be clipped
57         to the viewport, as they will almost always be rendering outside the viewport area;
58         RenderFullScreen graphics layers should not be reparented by the RenderLayerCompositor, as
59         the client will likely want to reparent the platformLayer into their own fullscreen platform
60         window; the FrameView must update the RenderFullScreen graphics layer tree separately from
61         the root layer, as the two trees are disconnected.
62
63         * page/FrameView.cpp:
64         (WebCore::FrameView::updateCompositingLayers):  Special treatment for fullscreen renderer.
65         (WebCore::FrameView::syncCompositingStateRecursive): Ditto.
66         (WebCore::FrameView::paintContents): Ditto.
67         * rendering/RenderLayer.h: Add a new ContentChangeType enum entry for FullScreen.
68         * rendering/RenderLayer.cpp: 
69         (WebCore::RenderLayer::contentChanged): Add support for above.
70         * rendering/RenderLayerBacking.cpp:
71         (WebCore::layerOrAncestorIsFullScreen): New function.
72         (WebCore::RenderLayerBacking::updateCompositedBounds): Do not clip if the layerOrAncestorIsFullScreen.
73         * rendering/RenderLayerCompositor.cpp:
74         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Special treatment for fullscreen renderer.
75         (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto.
76         (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto.
77         * rendering/RenderLayerCompositor.h:
78
79 2010-12-17  Jer Noble  <jer@kokode.apple.com>
80
81         Reviewed by Simon Fraser.
82
83         Implemented non-accelerated fullscreen support.  The Document will now vend a RenderFullScreen object for clients to
84         use to relocate the fullscreen element subtree.
85
86         https://bugs.webkit.org/show_bug.cgi?id=49481
87         rdar://problem/8247444
88
89         * css/CSSStyleSelector.cpp:
90         (WebCore::loadFullScreenRulesIfNeeded): Change webkitFullScreen -> webkitIsFullScreen.
91         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
92         * dom/Document.cpp:
93         (WebCore::Document::Document): Initialize m_fullScreenRenderer.
94         (WebCore::Document::detach): Call setFullScreenRenderer(0).
95         (WebCore::Document::nodeWillBeRemoved): Replicate the logic in webkitWillEnterFullScreenForElement.
96         (WebCore::Document::webkitWillEnterFullScreenForElement):  Detach the fullscreen element to cause
97             a new RenderFullScreen renderer to be created with the new fullscreen element.
98         (WebCore::Document::webkitDidEnterFullScreenForElement):  Notify clients of a fullscreen change
99             here, rather in "willEnter", to avoid reentrancy problems when clients remove nodes in response
100             to webkitfullscreenchange events.
101         (WebCore::Document::webkitWillExitFullScreenForElement): Recalculate the fullscreen element's style.
102         (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
103         (WebCore::Document::setFullScreenRenderer): Accessor for m_fullScreenRenderer.
104         (WebCore::Document::setFullScreenRendererSize): Set the style on the m_fullScreenRenderer with a new
105             size; this keeps clients from having to access the renderer's style directly.
106         (WebCore::Document::setFullScreenRendererBackgroundColor): Ditto.
107         * dom/Document.h:
108         (WebCore::Document::webkitIsFullScreen): Change webkitFullScreen -> webkitIsFullScreen.
109         (WebCore::Document::fullScreenRenderer): Accessor.
110         * dom/Document.idl:
111         * dom/Node.cpp:
112         (WebCore::Node::createRendererIfNeeded): If the document is in fullscreen mode, create a RenderFullScreen
113             object to insert between the fullscreen element and its parent.
114         * page/ChromeClient.h:
115         (WebCore::ChromeClient::fullScreenRendererChanged): Added.
116         * rendering/MediaControlElements.cpp:
117         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Change webkitFullScreen -> webkitIsFullScreen.
118
119 2010-12-17  Jer Noble  <jer@kokode.apple.com>
120
121         Reviewed by Simon Fraser.
122
123         Implement WebKit Full Screen support.
124         https://bugs.webkit.org/show_bug.cgi?id=49481
125         rdar://problem/8247444
126         
127         This patch introduces a new RenderObject type: RenderFullScreen.  The RenderFullScreen renderer 
128         will be used to implement new FullScreen APIs.  Because the RenderFullScreen object will be the
129         parent of the current fullscreen element, the style rules for fullscreen objects must change to
130         match.
131         
132         * WebCore.xcodeproj/project.pbxproj:
133         * rendering/RenderFullScreen.cpp: Added.
134         (RenderFullScreen::setAnimating): Sets the m_isAnimating flag.
135         (RenderFullScreen::createFullScreenStyle): Returns a new RenderStyle containing the default stye
136             for RenderFullScreen objects.
137         * rendering/RenderFullScreen.h: Added.
138         (WebCore::RenderFullScreen::isRenderFullScreen): Added.  Overrides the RenderObject version.
139         * rendering/RenderObject.h:
140         (WebCore::RenderObject::isRenderFullScreen): Added.  Used for type-checking RenderFullScreen objects.
141         * css/fullscreen.css:  Modified the contained fullscreen styles.
142
143
144 2011-01-07  James Robinson  <jamesr@chromium.org>
145
146         Revert "Implement mozilla's animationTime property"
147         https://bugs.webkit.org/show_bug.cgi?id=51952
148
149         This approach isn't quite right.
150
151         * Android.mk:
152         * CMakeLists.txt:
153         * GNUmakefile.am:
154         * WebCore.exp.in:
155         * WebCore.gypi:
156         * WebCore.pro:
157         * WebCore.vcproj/WebCore.vcproj:
158         * WebCore.xcodeproj/project.pbxproj:
159         * page/DOMWindow.cpp:
160         * page/DOMWindow.h:
161         * page/DOMWindow.idl:
162         * page/Frame.cpp:
163         * page/Frame.h:
164         * page/Page.cpp:
165         (WebCore::Page::Page):
166         * page/Page.h:
167         * page/animation/AnimationController.cpp:
168         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
169         * page/animation/AnimationTimeController.cpp: Removed.
170         * page/animation/AnimationTimeController.h: Removed.
171
172 2011-01-07  Jan Erik Hanssen  <jhanssen@sencha.com>
173
174         Reviewed by Andreas Kling.
175
176         [Qt] Black text on black buttons using a dark theme
177         https://bugs.webkit.org/show_bug.cgi?id=35024
178
179         Implement RenderThemeQt::systemColor to apply the correct colors from the current Qt style.
180
181         * platform/qt/RenderThemeQt.cpp:
182         (WebCore::RenderThemeQt::systemColor):
183         * platform/qt/RenderThemeQt.h:
184
185 2011-01-05  Adrienne Walker  <enne@google.com>
186
187         Reviewed by Kenneth Russell.
188
189         Add WEBKIT_lose_context WebGL extension.
190         https://bugs.webkit.org/show_bug.cgi?id=51492
191
192         Tests: fast/canvas/webgl/context-lost-restored.html
193                fast/canvas/webgl/context-lost.html
194
195         * CMakeLists.txt:
196         * DerivedSources.make:
197         * GNUmakefile.am:
198         * WebCore.gypi:
199         * WebCore.pri:
200         * WebCore.pro:
201         * WebCore.xcodeproj/project.pbxproj:
202         * bindings/js/JSWebGLRenderingContextCustom.cpp:
203         (WebCore::toJS):
204         (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
205         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
206         (WebCore::toV8Object):
207         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
208         * html/canvas/WebGLExtension.h:
209         * html/canvas/WebGLRenderingContext.cpp:
210         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
211         (WebCore::WebGLRenderingContext::getExtension):
212         (WebCore::WebGLRenderingContext::getSupportedExtensions):
213         (WebCore::WebGLRenderingContext::forceLostContext):
214         (WebCore::WebGLRenderingContext::onLostContext):
215         (WebCore::WebGLRenderingContext::getNumberOfExtensions):
216         (WebCore::WebGLRenderingContext::getExtensionNumber):
217         * html/canvas/WebGLRenderingContext.h:
218         * html/canvas/WebKitLoseContext.cpp: Copied from WebCore/html/canvas/WebGLExtension.h.
219         (WebCore::WebKitLoseContext::WebKitLoseContext):
220         (WebCore::WebKitLoseContext::~WebKitLoseContext):
221         (WebCore::WebKitLoseContext::getName):
222         (WebCore::WebKitLoseContext::create):
223         (WebCore::WebKitLoseContext::loseContext):
224         * html/canvas/WebKitLoseContext.h: Copied from WebCore/html/canvas/WebGLExtension.h.
225         * html/canvas/WebKitLoseContext.idl: Copied from WebCore/html/canvas/WebGLExtension.h.
226
227 2011-01-07  Chris Marrin  <cmarrin@apple.com>
228
229         Unreviewed.
230
231         Build fix for Chromium. Missing include.
232
233         * page/animation/AnimationBase.cpp:
234
235 2011-01-07  Chris Marrin  <cmarrin@apple.com>
236
237         Unreviewed.
238
239         Build fix.
240
241         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
242
243 2011-01-06  Gavin Barraclough  <barraclough@apple.com>
244
245         Reviewed by Geoff Garen.
246
247         Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
248
249         The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
250         destructor early, in order to release wrappers once we know we no longer intend to use them.
251         Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
252         lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
253         A sequence of events that triggers the bug would look like this:
254
255         (1) Create a DOMWrapperWorld.
256         (2) Register a timer in the world.
257         (3) Call unregisterWorld() on the world.
258         (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
259         (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
260             called forgetWorld() none exists.
261         (6) Attempt to add a wrapper to a NULL map.
262
263         Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
264
265         * WebCore.exp.in:
266         * bindings/js/DOMWrapperWorld.cpp:
267         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
268         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
269         (WebCore::DOMWrapperWorld::clearWrappers):
270         * bindings/js/DOMWrapperWorld.h:
271
272 2011-01-07  Chris Marrin  <cmarrin@apple.com>
273
274         Rubber-stamped by Simon Fraser.
275
276         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
277         https://bugs.webkit.org/show_bug.cgi?id=49388
278
279         Final step in unifying GraphicsLayer logic across Win and Mac. This 
280         implements the Windows side classes for PlatformCALayer and supporting
281         classes. Also changed MediaPlayer to use new PlatformCALayerClient
282         so it can use PlatformCALayer directly rather than a dummy GraphicsLayer.
283         WKCACFLayerRenderer now does the task of notifying animations of their
284         start time. Also commented out an assert in AnimationBase because
285         AnimationController's frame time is not in sync with the new 
286         AnimationTimeController. I've opened a new bug for that issue:
287
288             https://bugs.webkit.org/show_bug.cgi?id=52037
289             
290         This also includes the Mac side changes backed out in 
291         http://trac.webkit.org/changeset/75227.
292
293         * WebCore.vcproj/WebCore.vcproj:
294         * WebCore.vcproj/WebCoreCommon.vsprops:
295         * WebCore.vcproj/copyForwardingHeaders.cmd:
296         * WebCore.xcodeproj/project.pbxproj:
297         * config.h:
298         * page/animation/AnimationBase.cpp:
299         (WebCore::AnimationBase::freezeAtTime):
300         (WebCore::AnimationBase::getElapsedTime):
301         * page/animation/AnimationController.cpp:
302         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
303         * page/animation/KeyframeAnimation.cpp:
304         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
305         * platform/graphics/GraphicsLayer.h:
306         (WebCore::GraphicsLayer::layerDidDisplay):
307         (WebCore::GraphicsLayer::showDebugBorders):
308         (WebCore::GraphicsLayer::showRepaintCounter):
309         * platform/graphics/ca/GraphicsLayerCA.cpp:
310         (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
311         (WebCore::GraphicsLayerCA::setContentsToImage):
312         (WebCore::GraphicsLayerCA::setContentsToMedia):
313         (WebCore::GraphicsLayerCA::layerDidDisplay):
314         (WebCore::GraphicsLayerCA::updateSublayerList):
315         * platform/graphics/ca/GraphicsLayerCA.h:
316         (WebCore::GraphicsLayerCA::platformCALayer):
317         (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer):
318         (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges):
319         (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation):
320         (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
321         (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders):
322         (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
323         (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
324         (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque):
325         (WebCore::GraphicsLayerCA::platformCALayerDrawsContent):
326         (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay):
327         * platform/graphics/ca/PlatformCAAnimation.h:
328         * platform/graphics/ca/PlatformCALayer.h:
329         (WebCore::PlatformCALayer::owner):
330         (WebCore::PlatformCALayer::animationStarted):
331         * platform/graphics/ca/PlatformCALayerClient.h: Copied from WebCore/platform/graphics/ca/PlatformCALayerClient.h.
332         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
333         (PlatformCALayer::setOwner):
334         (PlatformCALayer::create):
335         (PlatformCALayer::PlatformCALayer):
336         (PlatformCALayer::contents):
337         (PlatformCALayer::setContents):
338         * platform/graphics/ca/win: Added.
339         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: Added.
340         * platform/graphics/ca/win/PlatformCALayerWin.cpp: Added.
341         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: Added.
342         * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added.
343         (WebCore::PlatformCALayerWinInternal::owner):
344         * platform/graphics/mac/WebGLLayer.mm:
345         (-[WebGLLayer display]):
346         * platform/graphics/mac/WebLayer.h:
347         * platform/graphics/mac/WebLayer.mm:
348         (drawLayerContents):
349         (setLayerNeedsDisplayInRect):
350         (-[WebLayer setNeedsDisplay]):
351         (-[WebLayer display]):
352         * platform/graphics/mac/WebTiledLayer.mm:
353         (-[WebTiledLayer setNeedsDisplay]):
354         (-[WebTiledLayer display]):
355         * platform/graphics/win/GraphicsContextCGWin.cpp:
356         (WebCore::CGContextWithHDC):
357         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
358         (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
359         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
360         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
361         (WebCore::MediaPlayerPrivateFullscreenWindow::rootChildLayer):
362         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
363         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::~LayerClient):
364         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerRespondsToLayoutChanges):
365         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerAnimationStarted):
366         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOrientation):
367         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents):
368         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowDebugBorders):
369         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowRepaintCounter):
370         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount):
371         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOpaque):
372         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDrawsContent):
373         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayerDidDisplay):
374         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
375         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
376         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
377         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
378         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
379         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
380         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
381         (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
382         (WebCore::MediaPlayerPrivate::createLayerForMovie):
383         * platform/graphics/win/WKCACFLayerRenderer.cpp:
384         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
385         (WebCore::WKCACFLayerRenderer::rootLayer):
386         (WebCore::WKCACFLayerRenderer::addPendingAnimatedLayer):
387         (WebCore::WKCACFLayerRenderer::setRootChildLayer):
388         (WebCore::WKCACFLayerRenderer::setNeedsDisplay):
389         (WebCore::WKCACFLayerRenderer::destroyRenderer):
390         (WebCore::WKCACFLayerRenderer::render):
391         * platform/graphics/win/WKCACFLayerRenderer.h:
392         (WebCore::WKCACFLayerRendererClient::animationsStarted):
393         (WebCore::WKCACFLayerRendererClient::syncCompositingState):
394         * rendering/RenderLayerBacking.cpp:
395         (WebCore::RenderLayerBacking::showDebugBorders):
396         (WebCore::RenderLayerBacking::showRepaintCounter):
397         * rendering/RenderLayerCompositor.cpp:
398         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
399         * rendering/RenderLayerCompositor.h:
400         (WebCore::RenderLayerCompositor::compositorShowDebugBorders):
401         (WebCore::RenderLayerCompositor::compositorShowRepaintCounter):
402         (WebCore::RenderLayerCompositor::notifyAnimationStarted):
403         (WebCore::RenderLayerCompositor::notifySyncRequired):
404         (WebCore::RenderLayerCompositor::paintContents):
405         (WebCore::RenderLayerCompositor::showDebugBorders):
406         (WebCore::RenderLayerCompositor::showRepaintCounter):
407
408 2011-01-07  Nate Chapin  <japhet@chromium.org>
409
410         Reviewed by Darin Fisher.
411
412         Let PingLoader send cookies if FrameLoaderClient permits it.
413         https://bugs.webkit.org/show_bug.cgi?id=51898
414
415         Test: http/tests/navigation/ping-cookie.html
416
417         * loader/PingLoader.cpp:
418         (WebCore::PingLoader::PingLoader): Set m_shouldUseCredentialStorage
419             at load start time, since we won't be able to call 
420             FrameLoaderClient::shouldUseCredentialStorage() later.
421         * loader/PingLoader.h:
422         (WebCore::PingLoader::shouldUseCredentialStorage):
423
424 2011-01-07  Xan Lopez  <xlopez@igalia.com>
425
426         Unreviewed, rolling out r75256.
427         http://trac.webkit.org/changeset/75256
428         https://bugs.webkit.org/show_bug.cgi?id=50869
429
430         Broke GTK+ canvas tests
431
432         * platform/graphics/cairo/PathCairo.cpp:
433         (WebCore::Path::addArc):
434
435 2011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
436
437         Reviewed by Martin Robinson.
438
439         [GTK] Port scrollbar painting to GtkStyleContext
440         https://bugs.webkit.org/show_bug.cgi?id=52051
441
442         Use GtkStyleContext API to paint scrollbars when building with
443         GTK+ 3.x.
444
445         No new tests. This should not change functionality.
446
447         * platform/gtk/RenderThemeGtk.h:
448         * platform/gtk/RenderThemeGtk3.cpp:
449         (WebCore::RenderThemeGtk::gtkScrollbarStyle):
450         * platform/gtk/ScrollbarThemeGtk.cpp:
451         * platform/gtk/ScrollbarThemeGtk.h:
452         * platform/gtk/ScrollbarThemeGtk2.cpp:
453         (WebCore::gtkStyleSetCallback):
454         (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
455         * platform/gtk/ScrollbarThemeGtk3.cpp:
456         (WebCore::gtkStyleChangedCallback):
457         (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
458         (WebCore::ScrollbarThemeGtk::updateThemeProperties):
459         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
460         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
461         (WebCore::ScrollbarThemeGtk::paintThumb):
462         (WebCore::ScrollbarThemeGtk::paintButton):
463
464 2011-01-07  Dan Bernstein  <mitz@apple.com>
465
466         Reviewed by Darin Adler.
467
468         <rdar://problem/8783318> Text emphasis marks should not appear over characters that have ruby annotations
469         https://bugs.webkit.org/show_bug.cgi?id=51267
470
471         Test: fast/text/emphasis-avoid-ruby.html
472
473         * rendering/InlineFlowBox.cpp:
474         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Use getEmphasisMarkPosition() to check if
475         there are text emphasis marks.
476         (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Ditto.
477         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Ditto.
478         * rendering/InlineTextBox.cpp:
479         (WebCore::InlineTextBox::getEmphasisMarkPosition): Added. Returns true and sets the emphasis mark
480         position if the text is style with emphasis marks and there isn’t a ruby annotation that should
481         suppress them. Otherwise returns false.
482         (WebCore::InlineTextBox::paint): Use getEmphasisMarkPosition() to check if emphasis marks should
483         be painted.
484         * rendering/InlineTextBox.h:
485
486 2011-01-07  Alejandro G. Castro  <alex@igalia.com>
487
488         Reviewed by Martin Robinson.
489
490         [cairo] Rendering a lot of arcs on top of each other causes time
491         outs in some tests
492         https://bugs.webkit.org/show_bug.cgi?id=50869
493
494         We avoid the situation where we have to render the same arc
495         multiple times over itself. Now it renders just one oval and
496         moves to the end angle.
497
498         * platform/graphics/cairo/PathCairo.cpp:
499         (WebCore::Path::addArc):
500
501 2011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
502
503         Reviewed by Martin Robinson.
504
505         [GTK] Port buttons painting to GtkStyleContext
506         https://bugs.webkit.org/show_bug.cgi?id=51812
507
508         Use GtkStyleContext API to paint buttons when building with GTK+
509         3.x.
510
511         No new tests. This should not change functionality.
512
513         * platform/gtk/RenderThemeGtk3.cpp:
514         (WebCore::adjustRectForFocus):
515         (WebCore::RenderThemeGtk::adjustRepaintRect):
516         (WebCore::RenderThemeGtk::paintButton):
517
518 2011-01-07  Zhenyao Mo  <zmo@google.com>
519
520         Unreviewed, build fix.
521
522         * html/canvas/WebGLRenderingContext.cpp:
523         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
524
525 2011-01-06  Zhenyao Mo  <zmo@google.com>
526
527         Reviewed by Kenneth Russell.
528
529         copyTexSubImage2D shouldn't have undefined pixels
530         https://bugs.webkit.org/show_bug.cgi?id=51559
531
532         * html/canvas/WebGLRenderingContext.cpp:
533         (WebCore::WebGLRenderingContext::copyTexImage2D): Refactor to share some code with copyTexSubImage2D through helper function clip2D.
534         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Initialize undefined pixels to 0.
535         (WebCore::WebGLRenderingContext::validateTexFuncLevel): Seperate the validation of level from validateTexFuncParameters.
536         (WebCore::WebGLRenderingContext::validateTexFuncParameters): Ditto.
537         * html/canvas/WebGLRenderingContext.h:
538         * html/canvas/WebGLTexture.cpp:
539         (WebCore::WebGLTexture::getType): Expose the type of a texture.
540         * html/canvas/WebGLTexture.h:
541
542 2011-01-07  Takashi Toyoshima  <toyoshim@google.com>
543
544         Reviewed by Kenneth Russell.
545
546         cleanupAfterGraphicsCall() is never called in
547         WebGLRenderingContext::checkFramebufferStatus()
548         https://bugs.webkit.org/show_bug.cgi?id=51668
549
550         No new tests. This is a trivial bug.
551
552         * html/canvas/WebGLRenderingContext.cpp:
553         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
554
555 2011-01-07  Mario Sanchez Prada  <msanchez@igalia.com>
556
557         Reviewed by Chris Fleizach.
558
559         GTK: AX: atk tests need to be updated after recent changes
560         https://bugs.webkit.org/show_bug.cgi?id=51932
561
562         Make sure we can always get the right accesssible parent for an
563         AtkObject when traversing the hierarchy bottom up.
564
565         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
566         (isRootObject): New function to check whether an
567         AccessibilityObject is the root one or not, according to the
568         latest changes in the hierarchy.
569         (atkParentOfRootObject): Gets the appropriate AtkObject from GTK's
570         GAIL as the parent of the root AtkObject from WebCore.
571         (webkit_accessible_get_parent): Use atkParentOfRootObject.
572         (webkit_accessible_get_index_in_parent): Ditto.
573         (atkRole): Expose AccessibilityObjects with ScrollAreaRole as
574         AtkObject's of role ATK_ROLE_SCROLLED_PANE.
575
576 2011-01-07  Zhenyao Mo  <zmo@google.com>
577
578         Unreviewed, Mac 32-bit build fix.
579         Use float instead of double in GL function arguments to avoid implicit type down casting.
580
581         * html/canvas/WebGLRenderingContext.cpp:
582         (WebCore::WebGLRenderingContext::blendColor):
583         (WebCore::WebGLRenderingContext::clearColor):
584         (WebCore::WebGLRenderingContext::clearDepth):
585         (WebCore::WebGLRenderingContext::depthRange):
586         (WebCore::WebGLRenderingContext::lineWidth):
587         (WebCore::WebGLRenderingContext::polygonOffset):
588         (WebCore::WebGLRenderingContext::sampleCoverage):
589         * html/canvas/WebGLRenderingContext.h:
590         * html/canvas/WebGLRenderingContext.idl:
591
592 2011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
593
594         Reviewed by Xan Lopez.
595
596         [GTK] Port slider painting to GtkStyleContext
597         https://bugs.webkit.org/show_bug.cgi?id=51874
598
599         Use GtkStyleContext API to paint sliders when building with GTK+
600         3.x. Also move the code to adjust media slider to its own method
601         in RenderThemeGtk.cpp since it's common to both gtk 2 and 3.
602
603         No new tests. This should not change functionality.
604
605         * platform/gtk/RenderThemeGtk.cpp:
606         (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
607         * platform/gtk/RenderThemeGtk.h:
608         * platform/gtk/RenderThemeGtk2.cpp:
609         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
610         * platform/gtk/RenderThemeGtk3.cpp:
611         (WebCore::RenderThemeGtk::paintSliderTrack):
612         (WebCore::RenderThemeGtk::paintSliderThumb):
613         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
614
615 2011-01-07  Benjamin Poulain  <benjamin.poulain@nokia.com>
616
617         Reviewed by Andreas Kling.
618
619         [Qt] [WK2] QtWebKit does not build in debug, FileReader.cpp does not compile
620         https://bugs.webkit.org/show_bug.cgi?id=51992
621
622         Add the missing header. CString is used in debug by the calls to LOG().
623
624         * fileapi/FileReader.cpp:
625
626 2011-01-07  Alejandro G. Castro  <alex@igalia.com>
627
628         Reviewed by Martin Robinson.
629
630         Cairo's ContextShadow may mis-render some box shadows
631         https://bugs.webkit.org/show_bug.cgi?id=51374
632
633         The space required for the internal shadow of the corners was not
634         correctly considered.
635
636         * platform/graphics/cairo/ContextShadowCairo.cpp:
637         (WebCore::ContextShadow::drawRectShadow):
638
639 2011-01-06  Adam Barth  <abarth@webkit.org>
640
641         Reviewed by Darin Adler.
642
643         REGRESSION (r74663): ASSERTION FAILED: m_tokenizer->lineNumber() == line.zeroBasedInt()
644         https://bugs.webkit.org/show_bug.cgi?id=52013
645
646         When excluding line numbers for composite strings, we forgot to exclude
647         the line number for the current string!
648
649         Test: fast/parser/line-number-composite-segmented-string.html
650
651         * platform/text/SegmentedString.cpp:
652         (WebCore::SegmentedString::setExcludeLineNumbers):
653
654 2011-01-06  Chris Marrin  <cmarrin@apple.com>
655
656         Unreviewed.
657
658         Back out changes in http://trac.webkit.org/changeset/75199
659         This breaks the Windows build. Fixing it on that side. Until
660         then I'll back this out.
661
662 2011-01-06  Jenn Braithwaite  <jennb@chromium.org>
663
664         Reviewed by Dmitry Titov.
665
666         When a live frame is moved between pages, some plug-in DOM methods cease to function
667         https://bugs.webkit.org/show_bug.cgi?id=45770
668
669         Test: fast/frames/iframe-reparenting-plugins.html
670
671         * page/Frame.cpp:
672         (WebCore::Frame::~Frame):
673         (WebCore::Frame::addObserver):
674         (WebCore::Frame::removeObserver):
675         * page/Frame.h:
676         (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
677         Added observer to be notified when frame is destroyed.
678         * page/Page.cpp:
679         (WebCore::Page::~Page):
680         (WebCore::Page::refreshPlugins):
681         PluginData no longer stores page pointer.
682         * plugins/DOMMimeType.cpp:
683         (WebCore::DOMMimeType::DOMMimeType):
684         (WebCore::DOMMimeType::~DOMMimeType):
685         (WebCore::DOMMimeType::enabledPlugin):
686         * plugins/DOMMimeType.h:
687         (WebCore::DOMMimeType::create):
688         (WebCore::DOMMimeType::frameDestroyed):
689         Store frame instead of page pointer in DOMMimeType.
690         * plugins/DOMMimeTypeArray.cpp:
691         (WebCore::DOMMimeTypeArray::item):
692         (WebCore::DOMMimeTypeArray::namedItem):
693         Provide frame to create DOMMimeType.
694         * plugins/DOMPlugin.cpp:
695         (WebCore::DOMPlugin::DOMPlugin):
696         (WebCore::DOMPlugin::~DOMPlugin):
697         (WebCore::DOMPlugin::item):
698         (WebCore::DOMPlugin::namedItem):
699         * plugins/DOMPlugin.h:
700         (WebCore::DOMPlugin::create):
701         (WebCore::DOMPlugin::frameDestroyed):
702         Store frame instead of page pointer in DOMPlugin.
703         * plugins/DOMPluginArray.cpp:
704         (WebCore::DOMPluginArray::item):
705         (WebCore::DOMPluginArray::namedItem):
706         Provide frame to create DOMPlugin.
707         * plugins/PluginData.cpp:
708         (WebCore::PluginData::PluginData):
709         (WebCore::PluginData::initPlugins):
710         * plugins/PluginData.h:
711         No longer stores a pointer to the page.
712         Added page parameter to initPlugins.
713         * plugins/PluginDataNone.cpp:
714         (WebCore::PluginData::initPlugins):
715         * plugins/chromium/PluginDataChromium.cpp:
716         (WebCore::PluginData::initPlugins):
717         * plugins/gtk/PluginDataGtk.cpp:
718         (WebCore::PluginData::initPlugins):
719         * plugins/wx/PluginDataWx.cpp:
720         (WebCore::PluginData::initPlugins):
721         Updated platforms to add (unused) page parameter to initPlugins.
722
723 2011-01-05  Zhenyao Mo  <zmo@google.com>
724
725         Reviewed by Kenneth Russell.
726
727         Define GC3D types to match GL types and use them in GraphicsContext3D
728         https://bugs.webkit.org/show_bug.cgi?id=45557
729
730         * html/canvas/WebGLRenderingContext.cpp:
731         (WebCore::WebGLRenderingContext::readPixels):
732         (WebCore::WebGLRenderingContext::validateTexFuncData):
733         * platform/graphics/GraphicsContext3D.cpp:
734         (WebCore::GraphicsContext3D::texImage2DResourceSafe):
735         (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
736         (WebCore::GraphicsContext3D::extractImageData):
737         (WebCore::GraphicsContext3D::extractTextureData):
738         * platform/graphics/GraphicsContext3D.h:
739         * platform/graphics/cg/GraphicsContext3DCG.cpp:
740         (WebCore::GraphicsContext3D::getImageData):
741         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
742         (WebCore::SharedGraphicsContext3D::enable):
743         (WebCore::SharedGraphicsContext3D::disable):
744         (WebCore::SharedGraphicsContext3D::clear):
745         (WebCore::SharedGraphicsContext3D::drawArrays):
746         (WebCore::SharedGraphicsContext3D::getError):
747         (WebCore::SharedGraphicsContext3D::getIntegerv):
748         (WebCore::SharedGraphicsContext3D::createFramebuffer):
749         (WebCore::SharedGraphicsContext3D::createTexture):
750         (WebCore::SharedGraphicsContext3D::deleteFramebuffer):
751         (WebCore::SharedGraphicsContext3D::deleteTexture):
752         (WebCore::SharedGraphicsContext3D::framebufferTexture2D):
753         (WebCore::SharedGraphicsContext3D::texParameteri):
754         (WebCore::SharedGraphicsContext3D::texImage2D):
755         (WebCore::SharedGraphicsContext3D::texSubImage2D):
756         (WebCore::SharedGraphicsContext3D::readPixels):
757         (WebCore::SharedGraphicsContext3D::setActiveTexture):
758         (WebCore::SharedGraphicsContext3D::bindTexture):
759         (WebCore::SharedGraphicsContext3D::bindFramebuffer):
760         * platform/graphics/gpu/SharedGraphicsContext3D.h:
761         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
762         (WebCore::GraphicsContext3D::activeTexture):
763         (WebCore::GraphicsContext3D::attachShader):
764         (WebCore::GraphicsContext3D::bindAttribLocation):
765         (WebCore::GraphicsContext3D::bindBuffer):
766         (WebCore::GraphicsContext3D::bindFramebuffer):
767         (WebCore::GraphicsContext3D::bindRenderbuffer):
768         (WebCore::GraphicsContext3D::bindTexture):
769         (WebCore::GraphicsContext3D::blendColor):
770         (WebCore::GraphicsContext3D::blendEquation):
771         (WebCore::GraphicsContext3D::blendEquationSeparate):
772         (WebCore::GraphicsContext3D::blendFunc):
773         (WebCore::GraphicsContext3D::blendFuncSeparate):
774         (WebCore::GraphicsContext3D::bufferData):
775         (WebCore::GraphicsContext3D::bufferSubData):
776         (WebCore::GraphicsContext3D::checkFramebufferStatus):
777         (WebCore::GraphicsContext3D::clearColor):
778         (WebCore::GraphicsContext3D::clear):
779         (WebCore::GraphicsContext3D::clearDepth):
780         (WebCore::GraphicsContext3D::clearStencil):
781         (WebCore::GraphicsContext3D::colorMask):
782         (WebCore::GraphicsContext3D::compileShader):
783         (WebCore::GraphicsContext3D::copyTexImage2D):
784         (WebCore::GraphicsContext3D::copyTexSubImage2D):
785         (WebCore::GraphicsContext3D::cullFace):
786         (WebCore::GraphicsContext3D::depthFunc):
787         (WebCore::GraphicsContext3D::depthMask):
788         (WebCore::GraphicsContext3D::depthRange):
789         (WebCore::GraphicsContext3D::detachShader):
790         (WebCore::GraphicsContext3D::disable):
791         (WebCore::GraphicsContext3D::disableVertexAttribArray):
792         (WebCore::GraphicsContext3D::drawArrays):
793         (WebCore::GraphicsContext3D::drawElements):
794         (WebCore::GraphicsContext3D::enable):
795         (WebCore::GraphicsContext3D::enableVertexAttribArray):
796         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
797         (WebCore::GraphicsContext3D::framebufferTexture2D):
798         (WebCore::GraphicsContext3D::frontFace):
799         (WebCore::GraphicsContext3D::generateMipmap):
800         (WebCore::GraphicsContext3D::getActiveAttrib):
801         (WebCore::GraphicsContext3D::getActiveUniform):
802         (WebCore::GraphicsContext3D::getAttachedShaders):
803         (WebCore::GraphicsContext3D::getAttribLocation):
804         (WebCore::GraphicsContext3D::getError):
805         (WebCore::GraphicsContext3D::getString):
806         (WebCore::GraphicsContext3D::hint):
807         (WebCore::GraphicsContext3D::isBuffer):
808         (WebCore::GraphicsContext3D::isEnabled):
809         (WebCore::GraphicsContext3D::isFramebuffer):
810         (WebCore::GraphicsContext3D::isProgram):
811         (WebCore::GraphicsContext3D::isRenderbuffer):
812         (WebCore::GraphicsContext3D::isShader):
813         (WebCore::GraphicsContext3D::isTexture):
814         (WebCore::GraphicsContext3D::lineWidth):
815         (WebCore::GraphicsContext3D::linkProgram):
816         (WebCore::GraphicsContext3D::pixelStorei):
817         (WebCore::GraphicsContext3D::polygonOffset):
818         (WebCore::GraphicsContext3D::readPixels):
819         (WebCore::GraphicsContext3D::renderbufferStorage):
820         (WebCore::GraphicsContext3D::sampleCoverage):
821         (WebCore::GraphicsContext3D::scissor):
822         (WebCore::GraphicsContext3D::stencilFunc):
823         (WebCore::GraphicsContext3D::stencilFuncSeparate):
824         (WebCore::GraphicsContext3D::stencilMask):
825         (WebCore::GraphicsContext3D::stencilMaskSeparate):
826         (WebCore::GraphicsContext3D::stencilOp):
827         (WebCore::GraphicsContext3D::stencilOpSeparate):
828         (WebCore::GraphicsContext3D::texParameterf):
829         (WebCore::GraphicsContext3D::texParameteri):
830         (WebCore::GraphicsContext3D::uniform1f):
831         (WebCore::GraphicsContext3D::uniform1fv):
832         (WebCore::GraphicsContext3D::uniform2f):
833         (WebCore::GraphicsContext3D::uniform2fv):
834         (WebCore::GraphicsContext3D::uniform3f):
835         (WebCore::GraphicsContext3D::uniform3fv):
836         (WebCore::GraphicsContext3D::uniform4f):
837         (WebCore::GraphicsContext3D::uniform4fv):
838         (WebCore::GraphicsContext3D::uniform1i):
839         (WebCore::GraphicsContext3D::uniform1iv):
840         (WebCore::GraphicsContext3D::uniform2i):
841         (WebCore::GraphicsContext3D::uniform2iv):
842         (WebCore::GraphicsContext3D::uniform3i):
843         (WebCore::GraphicsContext3D::uniform3iv):
844         (WebCore::GraphicsContext3D::uniform4i):
845         (WebCore::GraphicsContext3D::uniform4iv):
846         (WebCore::GraphicsContext3D::uniformMatrix2fv):
847         (WebCore::GraphicsContext3D::uniformMatrix3fv):
848         (WebCore::GraphicsContext3D::uniformMatrix4fv):
849         (WebCore::GraphicsContext3D::useProgram):
850         (WebCore::GraphicsContext3D::validateProgram):
851         (WebCore::GraphicsContext3D::vertexAttrib1f):
852         (WebCore::GraphicsContext3D::vertexAttrib1fv):
853         (WebCore::GraphicsContext3D::vertexAttrib2f):
854         (WebCore::GraphicsContext3D::vertexAttrib2fv):
855         (WebCore::GraphicsContext3D::vertexAttrib3f):
856         (WebCore::GraphicsContext3D::vertexAttrib3fv):
857         (WebCore::GraphicsContext3D::vertexAttrib4f):
858         (WebCore::GraphicsContext3D::vertexAttrib4fv):
859         (WebCore::GraphicsContext3D::vertexAttribPointer):
860         (WebCore::GraphicsContext3D::viewport):
861         (WebCore::GraphicsContext3D::getBooleanv):
862         (WebCore::GraphicsContext3D::getBufferParameteriv):
863         (WebCore::GraphicsContext3D::getFloatv):
864         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
865         (WebCore::GraphicsContext3D::getIntegerv):
866         (WebCore::GraphicsContext3D::getProgramiv):
867         (WebCore::GraphicsContext3D::getProgramInfoLog):
868         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
869         (WebCore::GraphicsContext3D::getShaderiv):
870         (WebCore::GraphicsContext3D::getShaderInfoLog):
871         (WebCore::GraphicsContext3D::getTexParameterfv):
872         (WebCore::GraphicsContext3D::getTexParameteriv):
873         (WebCore::GraphicsContext3D::getUniformfv):
874         (WebCore::GraphicsContext3D::getUniformiv):
875         (WebCore::GraphicsContext3D::getUniformLocation):
876         (WebCore::GraphicsContext3D::getVertexAttribfv):
877         (WebCore::GraphicsContext3D::getVertexAttribiv):
878         (WebCore::GraphicsContext3D::getVertexAttribOffset):
879         (WebCore::GraphicsContext3D::texImage2D):
880         (WebCore::GraphicsContext3D::texSubImage2D):
881         (WebCore::GraphicsContext3D::createBuffer):
882         (WebCore::GraphicsContext3D::createFramebuffer):
883         (WebCore::GraphicsContext3D::createProgram):
884         (WebCore::GraphicsContext3D::createRenderbuffer):
885         (WebCore::GraphicsContext3D::createShader):
886         (WebCore::GraphicsContext3D::createTexture):
887         (WebCore::GraphicsContext3D::deleteBuffer):
888         (WebCore::GraphicsContext3D::deleteFramebuffer):
889         (WebCore::GraphicsContext3D::deleteProgram):
890         (WebCore::GraphicsContext3D::deleteRenderbuffer):
891         (WebCore::GraphicsContext3D::deleteShader):
892         (WebCore::GraphicsContext3D::deleteTexture):
893         (WebCore::GraphicsContext3D::sizeInBytes):
894         (WebCore::GraphicsContext3D::synthesizeGLError):
895         * platform/graphics/qt/GraphicsContext3DQt.cpp:
896         (WebCore::GraphicsContext3D::activeTexture):
897         (WebCore::GraphicsContext3D::attachShader):
898         (WebCore::GraphicsContext3D::getAttachedShaders):
899         (WebCore::GraphicsContext3D::bindAttribLocation):
900         (WebCore::GraphicsContext3D::bindBuffer):
901         (WebCore::GraphicsContext3D::bindFramebuffer):
902         (WebCore::GraphicsContext3D::bindRenderbuffer):
903         (WebCore::GraphicsContext3D::bindTexture):
904         (WebCore::GraphicsContext3D::blendColor):
905         (WebCore::GraphicsContext3D::blendEquation):
906         (WebCore::GraphicsContext3D::blendEquationSeparate):
907         (WebCore::GraphicsContext3D::blendFunc):
908         (WebCore::GraphicsContext3D::blendFuncSeparate):
909         (WebCore::GraphicsContext3D::bufferData):
910         (WebCore::GraphicsContext3D::bufferSubData):
911         (WebCore::GraphicsContext3D::checkFramebufferStatus):
912         (WebCore::GraphicsContext3D::clearColor):
913         (WebCore::GraphicsContext3D::clear):
914         (WebCore::GraphicsContext3D::clearDepth):
915         (WebCore::GraphicsContext3D::clearStencil):
916         (WebCore::GraphicsContext3D::colorMask):
917         (WebCore::GraphicsContext3D::compileShader):
918         (WebCore::GraphicsContext3D::copyTexImage2D):
919         (WebCore::GraphicsContext3D::copyTexSubImage2D):
920         (WebCore::GraphicsContext3D::cullFace):
921         (WebCore::GraphicsContext3D::depthFunc):
922         (WebCore::GraphicsContext3D::depthMask):
923         (WebCore::GraphicsContext3D::depthRange):
924         (WebCore::GraphicsContext3D::detachShader):
925         (WebCore::GraphicsContext3D::disable):
926         (WebCore::GraphicsContext3D::disableVertexAttribArray):
927         (WebCore::GraphicsContext3D::drawArrays):
928         (WebCore::GraphicsContext3D::drawElements):
929         (WebCore::GraphicsContext3D::enable):
930         (WebCore::GraphicsContext3D::enableVertexAttribArray):
931         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
932         (WebCore::GraphicsContext3D::framebufferTexture2D):
933         (WebCore::GraphicsContext3D::frontFace):
934         (WebCore::GraphicsContext3D::generateMipmap):
935         (WebCore::GraphicsContext3D::getActiveAttrib):
936         (WebCore::GraphicsContext3D::getActiveUniform):
937         (WebCore::GraphicsContext3D::getAttribLocation):
938         (WebCore::GraphicsContext3D::getError):
939         (WebCore::GraphicsContext3D::getString):
940         (WebCore::GraphicsContext3D::hint):
941         (WebCore::GraphicsContext3D::isBuffer):
942         (WebCore::GraphicsContext3D::isEnabled):
943         (WebCore::GraphicsContext3D::isFramebuffer):
944         (WebCore::GraphicsContext3D::isProgram):
945         (WebCore::GraphicsContext3D::isRenderbuffer):
946         (WebCore::GraphicsContext3D::isShader):
947         (WebCore::GraphicsContext3D::isTexture):
948         (WebCore::GraphicsContext3D::linkProgram):
949         (WebCore::GraphicsContext3D::pixelStorei):
950         (WebCore::GraphicsContext3D::polygonOffset):
951         (WebCore::GraphicsContext3D::readPixels):
952         (WebCore::GraphicsContext3D::renderbufferStorage):
953         (WebCore::GraphicsContext3D::sampleCoverage):
954         (WebCore::GraphicsContext3D::scissor):
955         (WebCore::GraphicsContext3D::stencilFunc):
956         (WebCore::GraphicsContext3D::stencilFuncSeparate):
957         (WebCore::GraphicsContext3D::stencilMask):
958         (WebCore::GraphicsContext3D::stencilMaskSeparate):
959         (WebCore::GraphicsContext3D::stencilOp):
960         (WebCore::GraphicsContext3D::stencilOpSeparate):
961         (WebCore::GraphicsContext3D::texParameterf):
962         (WebCore::GraphicsContext3D::texParameteri):
963         (WebCore::GraphicsContext3D::uniform1f):
964         (WebCore::GraphicsContext3D::uniform1fv):
965         (WebCore::GraphicsContext3D::uniform2f):
966         (WebCore::GraphicsContext3D::uniform2fv):
967         (WebCore::GraphicsContext3D::uniform3f):
968         (WebCore::GraphicsContext3D::uniform3fv):
969         (WebCore::GraphicsContext3D::uniform4f):
970         (WebCore::GraphicsContext3D::uniform4fv):
971         (WebCore::GraphicsContext3D::uniform1i):
972         (WebCore::GraphicsContext3D::uniform1iv):
973         (WebCore::GraphicsContext3D::uniform2i):
974         (WebCore::GraphicsContext3D::uniform2iv):
975         (WebCore::GraphicsContext3D::uniform3i):
976         (WebCore::GraphicsContext3D::uniform3iv):
977         (WebCore::GraphicsContext3D::uniform4i):
978         (WebCore::GraphicsContext3D::uniform4iv):
979         (WebCore::GraphicsContext3D::uniformMatrix2fv):
980         (WebCore::GraphicsContext3D::uniformMatrix3fv):
981         (WebCore::GraphicsContext3D::uniformMatrix4fv):
982         (WebCore::GraphicsContext3D::useProgram):
983         (WebCore::GraphicsContext3D::validateProgram):
984         (WebCore::GraphicsContext3D::vertexAttrib1f):
985         (WebCore::GraphicsContext3D::vertexAttrib1fv):
986         (WebCore::GraphicsContext3D::vertexAttrib2f):
987         (WebCore::GraphicsContext3D::vertexAttrib2fv):
988         (WebCore::GraphicsContext3D::vertexAttrib3f):
989         (WebCore::GraphicsContext3D::vertexAttrib3fv):
990         (WebCore::GraphicsContext3D::vertexAttrib4f):
991         (WebCore::GraphicsContext3D::vertexAttrib4fv):
992         (WebCore::GraphicsContext3D::vertexAttribPointer):
993         (WebCore::GraphicsContext3D::viewport):
994         (WebCore::GraphicsContext3D::getBooleanv):
995         (WebCore::GraphicsContext3D::getBufferParameteriv):
996         (WebCore::GraphicsContext3D::getFloatv):
997         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
998         (WebCore::GraphicsContext3D::getIntegerv):
999         (WebCore::GraphicsContext3D::getProgramiv):
1000         (WebCore::GraphicsContext3D::getProgramInfoLog):
1001         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
1002         (WebCore::GraphicsContext3D::getShaderiv):
1003         (WebCore::GraphicsContext3D::getShaderInfoLog):
1004         (WebCore::GraphicsContext3D::getShaderSource):
1005         (WebCore::GraphicsContext3D::getTexParameterfv):
1006         (WebCore::GraphicsContext3D::getTexParameteriv):
1007         (WebCore::GraphicsContext3D::getUniformfv):
1008         (WebCore::GraphicsContext3D::getUniformiv):
1009         (WebCore::GraphicsContext3D::getUniformLocation):
1010         (WebCore::GraphicsContext3D::getVertexAttribfv):
1011         (WebCore::GraphicsContext3D::getVertexAttribiv):
1012         (WebCore::GraphicsContext3D::getVertexAttribOffset):
1013         (WebCore::GraphicsContext3D::texImage2D):
1014         (WebCore::GraphicsContext3D::texSubImage2D):
1015         (WebCore::GraphicsContext3D::createBuffer):
1016         (WebCore::GraphicsContext3D::createFramebuffer):
1017         (WebCore::GraphicsContext3D::createProgram):
1018         (WebCore::GraphicsContext3D::createRenderbuffer):
1019         (WebCore::GraphicsContext3D::createShader):
1020         (WebCore::GraphicsContext3D::createTexture):
1021         (WebCore::GraphicsContext3D::deleteBuffer):
1022         (WebCore::GraphicsContext3D::deleteFramebuffer):
1023         (WebCore::GraphicsContext3D::deleteProgram):
1024         (WebCore::GraphicsContext3D::deleteRenderbuffer):
1025         (WebCore::GraphicsContext3D::deleteShader):
1026         (WebCore::GraphicsContext3D::deleteTexture):
1027         (WebCore::GraphicsContext3D::sizeInBytes):
1028         (WebCore::GraphicsContext3D::synthesizeGLError):
1029         (WebCore::GraphicsContext3D::getImageData):
1030         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1031         (WebCore::GraphicsContext3D::getImageData):
1032
1033 2011-01-06  Martin Robinson  <mrobinson@igalia.com>
1034
1035         Reviewed by Eric Seidel.
1036
1037         [GTK] Initial build support for WebGL
1038         https://bugs.webkit.org/show_bug.cgi?id=51716
1039
1040         Add initial build support for WebGL and insert bits of implementation
1041         necessary for clean compilation into GraphicsContext3D.
1042
1043         No new tests. This is just a build change.
1044
1045         * GNUmakefile.am: Add missing files to the source lists.
1046         * platform/graphics/GraphicsContext3D.h: Include IntSize.h as it's used below.
1047         Include typedefs necessary for WebGL on GTK+ and consolidate typdefs which are the
1048         same across different platforms. X11 headers define the VERSION symbol, so it's
1049         necessary to undefine it, since it's used as an enum value.
1050
1051 2011-01-06  Helder Correia  <helder@sencha.com>
1052
1053         Reviewed by Kenneth Rohde Christiansen.
1054
1055         [Qt] GraphicsContext::drawConvexPolygon() has unnecessary code for shadow
1056         https://bugs.webkit.org/show_bug.cgi?id=52014
1057
1058         The function is only used by RenderObject to draw box sides.
1059         The shadow branch is never used and thus can be removed.
1060
1061         No new tests are necessary.
1062
1063         * platform/graphics/qt/GraphicsContextQt.cpp:
1064         (WebCore::GraphicsContext::drawConvexPolygon):
1065
1066 2011-01-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1067
1068         Reviewed by Kenneth Rohde Christiansen.
1069
1070         [Qt] Make sure touch is disabled in the minimal configuration
1071         https://bugs.webkit.org/show_bug.cgi?id=51316
1072
1073         No new tests as there is no new functionality.
1074
1075         * features.pri:
1076
1077 2011-01-06  Martin Robinson  <mrobinson@igalia.com>
1078
1079         Reviewed by Eric Seidel.
1080
1081         [GTK] Freetype backend does not support WOFF
1082         https://bugs.webkit.org/show_bug.cgi?id=51904
1083
1084         * CMakeListsEfl.txt: Add WOFF support to the sources list.
1085         * GNUmakefile.am: Add WOFF support to the sources list.
1086         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
1087         (WebCore::createFontCustomPlatformData): Call the WOFF decoder when appropriate.
1088         (WebCore::FontCustomPlatformData::supportsFormat): Advertise support for WOFF.
1089
1090 2011-01-06  James Simonsen  <simonjam@chromium.org>
1091
1092         Reviewed by Darin Fisher.
1093
1094         [Web Timing] Remove vendor prefix
1095         https://bugs.webkit.org/show_bug.cgi?id=48922
1096
1097         * page/DOMWindow.cpp:
1098         (WebCore::DOMWindow::performance): Rename to performance.
1099         * page/DOMWindow.h:
1100         * page/DOMWindow.idl: Rename to performance and make replaceable.
1101
1102 2011-01-06  Chris Marrin  <cmarrin@apple.com>
1103
1104         Reviewed by Simon Fraser.
1105
1106         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
1107         https://bugs.webkit.org/show_bug.cgi?id=49388
1108
1109         Changed PlatformCALayer API. Added PlatformCALayerClient abstract class which is
1110         used to communicate from PlatformCALayer to the owner. This replaces passing
1111         GraphicsLayerCA pointer when creating PlatformCALayer. It also includes the
1112         API that used to be in PlatformCALayerLayout. GraphicsLayerCA now implements
1113         the PlatformCALayerClient API.
1114
1115         This change has little impact on the Mac side but makes the Windows
1116         interface simpler, especially when handling video layers on Windows.
1117
1118         * WebCore.xcodeproj/project.pbxproj:
1119         * config.h:
1120         * platform/graphics/GraphicsLayer.h:
1121         (WebCore::GraphicsLayer::layerDidDisplay):
1122         (WebCore::GraphicsLayer::showDebugBorders):
1123         (WebCore::GraphicsLayer::showRepaintCounter):
1124         * platform/graphics/ca/GraphicsLayerCA.cpp:
1125         (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
1126         (WebCore::GraphicsLayerCA::setContentsToImage):
1127         (WebCore::GraphicsLayerCA::setContentsToMedia):
1128         (WebCore::GraphicsLayerCA::layerDidDisplay):
1129         (WebCore::GraphicsLayerCA::updateSublayerList):
1130         * platform/graphics/ca/GraphicsLayerCA.h:
1131         (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer):
1132         (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges):
1133         (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation):
1134         (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
1135         (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders):
1136         (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
1137         (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
1138         (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque):
1139         (WebCore::GraphicsLayerCA::platformCALayerDrawsContent):
1140         (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay):
1141         (WebCore::GraphicsLayerCA::platformCALayer):
1142         * platform/graphics/ca/PlatformCALayer.h:
1143         (WebCore::PlatformCALayer::owner):
1144         (WebCore::PlatformCALayer::animationStarted):
1145         * platform/graphics/ca/PlatformCALayerClient.h: Added.
1146         (WebCore::PlatformCALayerClient::~PlatformCALayerClient):
1147         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1148         (PlatformCALayer::setOwner):
1149         (PlatformCALayer::create):
1150         (PlatformCALayer::PlatformCALayer):
1151         (PlatformCALayer::contents):
1152         (PlatformCALayer::setContents):
1153         * platform/graphics/mac/WebGLLayer.mm:
1154         (-[WebGLLayer display]):
1155         * platform/graphics/mac/WebLayer.h:
1156         * platform/graphics/mac/WebLayer.mm:
1157         (drawLayerContents):
1158         (setLayerNeedsDisplayInRect):
1159         (-[WebLayer setNeedsDisplay]):
1160         (-[WebLayer display]):
1161         * platform/graphics/mac/WebTiledLayer.mm:
1162         (-[WebTiledLayer setNeedsDisplay]):
1163         (-[WebTiledLayer display]):
1164         * rendering/RenderLayerBacking.cpp:
1165         (WebCore::RenderLayerBacking::showDebugBorders):
1166         (WebCore::RenderLayerBacking::showRepaintCounter):
1167         * rendering/RenderLayerCompositor.cpp:
1168         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1169         * rendering/RenderLayerCompositor.h:
1170         (WebCore::RenderLayerCompositor::compositorShowDebugBorders):
1171         (WebCore::RenderLayerCompositor::compositorShowRepaintCounter):
1172         (WebCore::RenderLayerCompositor::notifyAnimationStarted):
1173         (WebCore::RenderLayerCompositor::notifySyncRequired):
1174         (WebCore::RenderLayerCompositor::paintContents):
1175         (WebCore::RenderLayerCompositor::showDebugBorders):
1176         (WebCore::RenderLayerCompositor::showRepaintCounter):
1177
1178 2011-01-06  Tony Gentilcore  <tonyg@chromium.org>
1179
1180         Reviewed by Eric Seidel.
1181
1182         Allow framesets after hidden inputs
1183         https://bugs.webkit.org/show_bug.cgi?id=51998
1184
1185         This implements the HTML5 spec update in response to:
1186         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11156
1187
1188         * html/parser/HTMLTreeBuilder.cpp:
1189         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1190
1191 2010-12-29  Zhenyao Mo  <zmo@google.com>
1192
1193         Reviewed by Kenneth Russell.
1194
1195         vertexAttribPointer should raise INVALID_OPERATION if stride/offset is not multiple of the type size
1196         https://bugs.webkit.org/show_bug.cgi?id=51725
1197
1198         * html/canvas/WebGLRenderingContext.cpp:
1199         (WebCore::WebGLRenderingContext::vertexAttribPointer):
1200
1201 2011-01-06  Patrick Gansterer  <paroga@webkit.org>
1202
1203         Reviewed by Eric Seidel.
1204
1205         [WINCE] Remove JSC::g_stackBase
1206         https://bugs.webkit.org/show_bug.cgi?id=51779
1207
1208         * platform/wince/SharedTimerWinCE.cpp:
1209         (WebCore::TimerWindowWndProc):
1210
1211 2011-01-06  Robert Hogan  <robert@webkit.org>
1212
1213         Reviewed by Antonio Gomes.
1214
1215         [Qt] Introduce QDRTNode for passing WebCore::Node across JS bridge
1216
1217         This allows LayoutTestController to pass WebCore::Node back to
1218         layout tests.
1219
1220         Also amend nodesFromRect-links-and-text.html and
1221         nodesFromRect-inner-documents.html so that they do not produce
1222         platform-specific results.
1223
1224         Unskip:
1225         fast/dom/nodesFromRect-links-and-text.html
1226         fast/dom/nodesFromRect-inner-documents.html
1227
1228         https://bugs.webkit.org/show_bug.cgi?id=48957
1229
1230         * bridge/qt/qt_runtime.cpp:
1231         (JSC::Bindings::QtDRTNodeRuntime::create):
1232         (JSC::Bindings::QtDRTNodeRuntime::get):
1233         (JSC::Bindings::convertValueToQVariant):
1234         (JSC::Bindings::convertQVariantToValue):
1235
1236 2011-01-06  Joone Hur  <joone.hur@collabora.co.uk>
1237
1238         Reviewed by Eric Seidel.
1239
1240         WML Parser should treat line/column number in a consistent way
1241         https://bugs.webkit.org/show_bug.cgi?id=51601
1242
1243         XML Parser treats line/column number as 1-based values, but WML ErrorHandler treat them as 0-based.
1244         Therefore, this patch allows WML ErrorHandler to use 1-based values.
1245
1246         * dom/XMLDocumentParser.cpp:
1247         (WebCore::XMLDocumentParser::handleError): Treat line/column number as 1 based values.
1248         * dom/XMLDocumentParser.h: Make textPositionOneBased public and Add TextPosition1(m_lastErrorPosition) to keep error line/column number.
1249         * dom/XMLDocumentParserLibxml2.cpp:
1250         (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. 
1251         * dom/XMLDocumentParserQt.cpp:
1252         (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. 
1253         * wml/WMLErrorHandling.cpp:
1254         (WebCore::reportWMLError): Use 1 based value instead of 0 based value to report error line/column number.
1255
1256 2011-01-05  Adam Roben  <aroben@apple.com>
1257
1258         Remove some dead code from WKCACFLayerRenderer
1259
1260         Fixes <http://webkit.org/b/51954> WKCACFLayerRenderer has dead and
1261         redundant code for reacting to changes to the layer tree
1262
1263         Reviewed by Sam Weinig.
1264
1265         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1266         * platform/graphics/win/WKCACFLayerRenderer.h:
1267         Removed didFlushContext and the HashMap it depended on. We react to
1268         changes to the layer tree in layerTreeDidChange instead.
1269
1270 2011-01-06  Chris Fleizach  <cfleizach@apple.com>
1271
1272         Reviewed by Beth Dakin.
1273
1274         AX: "AXExpanded" not exposed on most ARIA roles that use aria-expanded
1275         https://bugs.webkit.org/show_bug.cgi?id=51995
1276
1277         Test: platform/mac/accessibility/aria-expanded-standard-items.html
1278
1279         * accessibility/AccessibilityObject.cpp:
1280         (WebCore::AccessibilityObject::supportsARIAExpanded):
1281         (WebCore::AccessibilityObject::isExpanded):
1282         * accessibility/AccessibilityObject.h:
1283         * accessibility/AccessibilityRenderObject.cpp:
1284         (WebCore::AccessibilityRenderObject::isVisited):
1285         * accessibility/AccessibilityRenderObject.h:
1286         * accessibility/mac/AccessibilityObjectWrapper.mm:
1287         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1288
1289 2010-12-28  Zhenyao Mo  <zmo@google.com>
1290
1291         Reviewed by Kenneth Russell.
1292
1293         Must generate INVALID_VALUE errors for strings containing out-of-range characters
1294         https://bugs.webkit.org/show_bug.cgi?id=50929
1295
1296         * html/canvas/WebGLRenderingContext.cpp: Validate characters according to GLSL ES 1.0 spec section 3.1.
1297         (WebCore::WebGLRenderingContext::bindAttribLocation):
1298         (WebCore::WebGLRenderingContext::getAttribLocation):
1299         (WebCore::WebGLRenderingContext::getUniformLocation):
1300         (WebCore::WebGLRenderingContext::shaderSource):
1301         (WebCore::WebGLRenderingContext::validateString): Helper function to perform the character validation.
1302         * html/canvas/WebGLRenderingContext.h: Declare validateString().
1303
1304 2011-01-06  Yong Li  <yoli@rim.com>
1305
1306         Reviewed by Adam Barth.
1307         Add the test case that is missed in r75066.
1308         https://bugs.webkit.org/show_bug.cgi?id=48077
1309
1310         Test case: WebCore/manual-tests/bugzilla-48077.html.
1311
1312 2011-01-06  James Robinson  <jamesr@chromium.org>
1313
1314         Reviewed by Simon Fraser.
1315
1316         Implement mozilla's animationTime property
1317         https://bugs.webkit.org/show_bug.cgi?id=51952
1318
1319         Implements mozilla's animationTime property as described here:
1320         https://developer.mozilla.org/en/DOM/window.mozAnimationStartTime
1321         and http://hacks.mozilla.org/2010/08/more-efficient-javascript-animations-with-mozrequestanimationframe/
1322         The property is called webkitAnimationTime as calling it the 'Start' time is not very informative.
1323         This property exposes a notion of a 'current' time to use for declarative animations and allows
1324         scripts to synchronize imperative animations with declarative ones if they choose to.  Once queried
1325         this time is saved and used for all declarative animation updates until the embedder paints/composites
1326         the next frame and clears it, or 15ms elapse (in case the embedder isn't producing frames, for example
1327         if the page is in a background tab).
1328
1329         This patch also ensures that all declarative animations started in the same script execution block
1330         are synchronized even if some time elapses while script is running.
1331
1332         Test: fast/animation/animation-time.html
1333
1334         * WebCore.gypi:
1335         * page/DOMWindow.cpp:
1336         (WebCore::DOMWindow::webkitAnimationTime):
1337         * page/DOMWindow.h:
1338         * page/DOMWindow.idl:
1339         * page/Frame.cpp:
1340         (WebCore::Frame::currentAnimationTime):
1341         * page/Frame.h:
1342         * page/Page.cpp:
1343         (WebCore::Page::Page):
1344         * page/Page.h:
1345         (WebCore::Page::animationTime):
1346         * page/animation/AnimationController.cpp:
1347         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
1348         * page/animation/AnimationTimeController.cpp: Added.
1349         (WebCore::AnimationTimeController::AnimationTimeController):
1350         (WebCore::AnimationTimeController::~AnimationTimeController):
1351         (WebCore::AnimationTimeController::currentAnimationTime):
1352         (WebCore::AnimationTimeController::clearCurrentAnimationTime):
1353         (WebCore::AnimationTimeController::clearCurrentAnimationTimeTimerFired):
1354         * page/animation/AnimationTimeController.h: Added.
1355         (WebCore::AnimationTimeController::create):
1356
1357 2011-01-06  Abhishek Arya  <inferno@chromium.org>
1358
1359         Reviewed by Simon Fraser.
1360
1361         Null out the parent stylesheet pointer when a css rule is removed.
1362         https://bugs.webkit.org/show_bug.cgi?id=51993
1363
1364         Tests: fast/dom/StyleSheet/removed-media-rule-deleted-parent-crash.html
1365                fast/dom/StyleSheet/removed-stylesheet-rule-deleted-parent-crash.html
1366
1367         * css/CSSRuleList.cpp:
1368         (WebCore::CSSRuleList::deleteRule):
1369         * css/CSSStyleSheet.cpp:
1370         (WebCore::CSSStyleSheet::deleteRule):
1371
1372 2011-01-04  Adrienne Walker  <enne@google.com>
1373
1374         Reviewed by Kenneth Russell.
1375
1376         NaN in a TypedArray should be converted to zero only for Float32Array.
1377         https://bugs.webkit.org/show_bug.cgi?id=46990
1378
1379         Test: LayoutTests/fast/canvas/webgl/array-unit-tests.html
1380
1381         * bindings/js/JSArrayBufferViewHelper.h:
1382         (WebCore::convertArrayValue):
1383         (WebCore::constructArrayBufferView):
1384         * html/canvas/Float32Array.h:
1385         (WebCore::Float32Array::set):
1386         (WebCore::Float32Array::item):
1387
1388 2011-01-06  Patrick Gansterer  <paroga@webkit.org>
1389
1390         Unreviewed Windows build fix for r75161.
1391
1392         * platform/graphics/cg/GraphicsContextCG.cpp: Missing include added.
1393
1394 2011-01-06  Patrick Gansterer  <paroga@webkit.org>
1395
1396         Unreviewed WinCE build fix for r75139.
1397
1398         Try to remove include after adding forward-declaration in r75145.
1399
1400         * platform/graphics/Gradient.h:
1401
1402 2011-01-06  Renata Hodovan  <reni@webkit.org>
1403
1404         Reviewed by Andreas Kling.
1405
1406         https://bugs.webkit.org/show_bug.cgi?id=51811
1407         Merge m_height and m_width members of ImageData into the new m_size member.
1408
1409         Image (BitmapImage, ImageSource) types in WebKit use IntSize to store their
1410         width and height argument, except ImageData. This patch refactors ImageData
1411         to follow the style of other Image types in WebKit.
1412         Using of PassRefPtrs other than argument passing is not allowed in WebKit anymore.
1413         This patch also refactors the PassRefPtr usages of ImageData.
1414
1415         It's just a refactoring, so we don't need any new tests.
1416
1417         * bindings/js/SerializedScriptValue.cpp:
1418         (WebCore::CloneSerializer::write):
1419         (WebCore::CloneDeserializer::readTerminal):
1420         * bindings/v8/SerializedScriptValue.cpp:
1421         (WebCore::ZigZag::Reader::readImageData):
1422         * html/ImageData.cpp:
1423         (WebCore::ImageData::create):
1424         (WebCore::ImageData::ImageData):
1425         * html/ImageData.h:
1426         (WebCore::ImageData::size):
1427         (WebCore::ImageData::width):
1428         (WebCore::ImageData::height):
1429         * html/canvas/CanvasRenderingContext2D.cpp:
1430         (WebCore::createEmptyImageData):
1431         (WebCore::CanvasRenderingContext2D::createImageData):
1432         (WebCore::CanvasRenderingContext2D::getImageData):
1433         * html/canvas/CanvasRenderingContext2D.h:
1434         * platform/graphics/haiku/ImageBufferHaiku.cpp:
1435         (WebCore::getImageData):
1436
1437 2011-01-06  Yael Aharon  <yael.aharon@nokia.com>
1438
1439         Reviewed by Darin Adler.
1440
1441         document.querySelector(':nth-child(foo)') should throw a syntax error
1442         https://bugs.webkit.org/show_bug.cgi?id=51231
1443
1444         Also fixes 
1445         CSSNthSelector parsing code is illegible and buggy (allows "n3" as a valid selector)
1446         https://bugs.webkit.org/show_bug.cgi?id=21815
1447
1448         Add a check in the parser that other than an+b, only "odd" or "even" would be allowed
1449         as parameters to nth selector.
1450
1451         Tests: fast/css/css3-nth-tokens-script.html
1452                fast/css/css3-nth-tokens-style.html
1453
1454         * css/CSSGrammar.y:
1455         * css/CSSParser.cpp:
1456         (WebCore::isValidNthToken):
1457         * css/CSSParser.h:
1458
1459 2011-01-06  Jan Erik Hanssen  <jhanssen@sencha.com>
1460
1461         Reviewed by Andreas Kling.
1462
1463         [Qt] crash in QNetworkReplyHandler::sendResponseIfNeeded()
1464         https://bugs.webkit.org/show_bug.cgi?id=51453
1465
1466         Check if m_reply is NULL before accessing.
1467
1468         * manual-tests/load-deferrer-resume-crash.html: Added.
1469         * platform/network/qt/QNetworkReplyHandler.cpp:
1470         (WebCore::QNetworkReplyHandler::setLoadMode):
1471         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1472
1473 2011-01-06  Andras Becsi  <abecsi@webkit.org>
1474
1475         Reviewed by Csaba Osztrogonác.
1476
1477         [Qt][V8] Fix the build when DEVICE_ORIENTATION is enabled.
1478
1479         No new tests needed.
1480
1481         * WebCore.pro: remove duplications and globally add RuntimeEnabledFeatures.
1482
1483 2011-01-06  Helder Correia  <helder@sencha.com>
1484
1485         Reviewed by Kenneth Rohde Christiansen.
1486
1487         [Qt][GTK] Use GraphicsContext::hasShadow() in port-specific code
1488         https://bugs.webkit.org/show_bug.cgi?id=51985
1489
1490         r75139 introduced GraphicsContext::hasShadow(). This can now simplify
1491         and unify some code in the Qt and GTK ports.
1492
1493         No new tests necessary for this refactoring.
1494
1495         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1496         (WebCore::GraphicsContext::fillRect):
1497         (WebCore::GraphicsContext::fillRoundedRect):
1498         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1499         * platform/graphics/qt/GraphicsContextQt.cpp:
1500         (WebCore::GraphicsContext::drawConvexPolygon):
1501         (WebCore::GraphicsContext::fillPath):
1502         (WebCore::GraphicsContext::strokePath):
1503         (WebCore::GraphicsContext::fillRect):
1504         (WebCore::GraphicsContext::fillRoundedRect):
1505
1506 2011-01-05  Darin Adler  <darin@apple.com>
1507
1508         Fix Chromium Mac build.
1509
1510         * platform/graphics/Gradient.h: Forward-declare CGContextRef.
1511         This might even make it possible to remove the include of
1512         <CoreGraphics/CoreGraphics.h> for PLATFORM(WIN), but I did not
1513         do that at this time because I don't want to break the Windows
1514         build when fixing the Chromium build.
1515
1516 2011-01-05  Xianzhu Wang  <wangxianzhu@google.com>
1517
1518         Reviewed by David Levin.
1519
1520         Implement RemoteFontStream's skip behavior (in FontCustomPlatformData.cpp)
1521         https://bugs.webkit.org/show_bug.cgi?id=51736
1522
1523         No new tests. This change has potential effect on @font-face CSS feature
1524         on ports using Skia. Tested on Chromium that this change won't break
1525         fast/css/font-face-remote.html. This change can make the test pass on
1526         other ports using Skia.
1527
1528         * platform/graphics/skia/FontCustomPlatformData.cpp:
1529         (WebCore::RemoteFontStream::read):
1530
1531 2011-01-05  Helder Correia  <helder@sencha.com>
1532
1533         Reviewed by Simon Fraser.
1534
1535         Shadows are not drawn when filling a rect with a gradient fillStyle on Mac and Chromium-Mac
1536         https://bugs.webkit.org/show_bug.cgi?id=51869
1537
1538         GraphicsContext::fillRect(const FloatRect&) is clipping to the rect.
1539         The shadow is being drawn, but getting clipped to the rect being filled.
1540         The solution is to draw the gradient into a CGLayer (when a shadow is
1541         required), then render the layer to the GraphicsContext.
1542
1543         This patch also fixes:
1544         canvas/philip/tests/2d.shadow.gradient.alpha.html
1545         canvas/philip/tests/2d.shadow.gradient.basic.html
1546         canvas/philip/tests/2d.shadow.gradient.transparent.2.html
1547
1548         Test: fast/canvas/canvas-fillRect-gradient-shadow.html
1549
1550         * platform/graphics/Gradient.h:
1551         * platform/graphics/cg/GradientCG.cpp:
1552         (WebCore::Gradient::paint):
1553         * platform/graphics/cg/GraphicsContextCG.cpp:
1554         (WebCore::GraphicsContext::fillRect):
1555
1556 2011-01-05  Steve Falkenburg  <sfalken@apple.com>
1557
1558         Reviewed by Darin Adler.
1559
1560         Debug and Release builds on Windows clobber each other
1561         https://bugs.webkit.org/show_bug.cgi?id=49185
1562
1563         Changes the structure of WebKitBuild build products directory so we
1564         completely separate each build configuration into independent directories.
1565         
1566         Although we previously had per-configuration directories for obj, this change adds
1567         per-configuration directories for bin, lib, obj, and include. Each configuration's
1568         build products are stored within a directory inside of WebKitBuild.
1569         
1570         Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
1571         defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
1572
1573         * WebCore.vcproj/QTMovieWinCommon.vsprops:
1574         * WebCore.vcproj/QTMovieWinPostBuild.cmd:
1575         * WebCore.vcproj/QTMovieWinPreBuild.cmd:
1576         * WebCore.vcproj/WebCore.make:
1577         * WebCore.vcproj/WebCore.vcproj:
1578         * WebCore.vcproj/WebCoreCommon.vsprops:
1579         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
1580         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
1581         * WebCore.vcproj/WebCoreMediaQT.vsprops:
1582         * WebCore.vcproj/WebCorePostBuild.cmd:
1583         * WebCore.vcproj/WebCorePreBuild.cmd:
1584         * WebCore.vcproj/copyForwardingHeaders.cmd:
1585         * WebCore.vcproj/copyInspectorFiles.cmd:
1586
1587 2011-01-05  Simon Fraser  <simon.fraser@apple.com>
1588
1589         Reviewed by Ariya Hidayat.
1590
1591         Directly composited SVG images fail to render
1592         https://bugs.webkit.org/show_bug.cgi?id=51975
1593         
1594         There was already code, added in r67900, to detect whether an image
1595         may be directly composited, by checking to see if it's a bitmap image.
1596         
1597         However, CachedImage::image() returns the nullImage() if m_image is null,
1598         which is a BitmapImage, confusing this test.
1599
1600         Test: compositing/images/direct-svg-image.html
1601
1602         * loader/cache/CachedImage.cpp: Remove nullImage(), since Image has
1603         exactly the same method.
1604         (WebCore::CachedImage::image): Use Image::nullImage().
1605         * loader/cache/CachedImage.h:
1606         (WebCore::CachedImage::hasImage): New method to ask whether the m_image is
1607         non-null.
1608         * rendering/RenderLayerBacking.cpp:
1609         (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use hasImage()
1610         so that we don't test the nullImage.
1611
1612 2011-01-05  Simon Fraser  <simon.fraser@apple.com>
1613
1614         Reviewed by Darin Adler.
1615
1616         Fix percentage values in radius of radial gradients
1617         https://bugs.webkit.org/show_bug.cgi?id=51979
1618         
1619         Handle percentage values for the ending size of radial gradients.
1620
1621         Test: fast/gradients/css3-radial-gradients3.html
1622
1623         * css/CSSGradientValue.cpp:
1624         (WebCore::CSSRadialGradientValue::resolveRadius): Add parameter for height or width, which is
1625         non-null if percentage values are allowed, and compute percentage values when we see them.
1626         (WebCore::CSSRadialGradientValue::createGradient): Pass height or width down to say that
1627         percentages are OK when resolving end radii.
1628         * css/CSSGradientValue.h: New parameter for resolveRadius.
1629
1630 2011-01-05  James Simonsen  <simonjam@chromium.org>
1631
1632         Reviewed by Adam Barth.
1633
1634         [Web Timing] Zero out some values on cross-origin redirects
1635         https://bugs.webkit.org/show_bug.cgi?id=49294
1636
1637         Tests: http/tests/misc/webtiming-cross-origin-redirect.php
1638                http/tests/misc/webtiming-origins.html
1639
1640         * loader/DocumentLoadTiming.h:
1641         (WebCore::DocumentLoadTiming::DocumentLoadTiming): Add flags for cross-origin redirects and same-origin navigation.
1642         * loader/FrameLoader.cpp:
1643         (WebCore::FrameLoader::~FrameLoader):
1644         (WebCore::FrameLoader::stopLoading): Don't overwrite previous unload times.
1645         (WebCore::FrameLoader::completed):
1646         (WebCore::FrameLoader::loadWithDocumentLoader): Remember previous URL to see if navigation is same-origin.
1647         (WebCore::FrameLoader::commitProvisionalLoad): Set flag if navigation is same-origin.
1648         * loader/FrameLoader.h:
1649         * loader/MainResourceLoader.cpp:
1650         (WebCore::MainResourceLoader::willSendRequest): Set flag on cross-origin redirects.
1651         * page/PerformanceNavigation.cpp:
1652         (WebCore::PerformanceNavigation::redirectCount): Clear if cross-origin redirect flag is set.
1653         * page/PerformanceTiming.cpp:
1654         (WebCore::PerformanceTiming::redirectStart): Ditto.
1655         (WebCore::PerformanceTiming::redirectEnd): Ditto.
1656         (WebCore::PerformanceTiming::unloadEventStart): Clear if cross-origin navigation is set.
1657         (WebCore::PerformanceTiming::unloadEventEnd): Ditto.
1658
1659 2011-01-05  Helder Correia  <helder@sencha.com>
1660
1661         Reviewed by Ariya Hidayat.
1662
1663         [Qt] Default focus ring is too wide
1664         https://bugs.webkit.org/show_bug.cgi?id=51854
1665
1666         This is an intermediate step to solve this bug. Use QPalette::Highlight
1667         instead of default half-transparent black as the focus ring color.
1668
1669         * platform/graphics/qt/GraphicsContextQt.cpp:
1670         (WebCore::drawFocusRingForPath):
1671         * platform/qt/RenderThemeQt.cpp:
1672         (WebCore::RenderThemeQt::platformFocusRingColor):
1673         * platform/qt/RenderThemeQt.h:
1674
1675 2011-01-05  James Simonsen  <simonjam@chromium.org>
1676
1677         Reviewed by Darin Fisher.
1678
1679         [Web Timing] requestStart and responseStart should be available even if the document is still loading
1680         https://bugs.webkit.org/show_bug.cgi?id=51368
1681
1682         Test: http/tests/misc/webtiming-slow-load.php
1683
1684         * page/PerformanceTiming.cpp:
1685         (WebCore::getPossiblySkewedTimeInKnownRange): Handle case where response is not yet complete.
1686         (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Use full upper bound.
1687
1688 2011-01-05  Chris Rogers  <crogers@google.com>
1689
1690         Reviewed by Darin Fisher.
1691
1692         Add WebKitClient::createAudioDevice() for Chromium port of web audio API
1693         https://bugs.webkit.org/show_bug.cgi?id=51424
1694
1695         No new tests since audio API is not yet implemented.
1696
1697         * WebCore.gyp/WebCore.gyp:
1698         * WebCore.gypi:
1699
1700 2011-01-05  Anders Carlsson  <andersca@apple.com>
1701
1702         Try again.
1703
1704         * WebCore.exp.in:
1705
1706 2011-01-05  Anders Carlsson  <andersca@apple.com>
1707
1708         Attempt to fix Leopard build.
1709
1710         * WebCore.exp.in:
1711
1712 2011-01-05  Evan Martin  <evan@chromium.org>
1713
1714         Reviewed by Tony Chang.
1715
1716         [chromium] refactor complex text on Linux
1717         https://bugs.webkit.org/show_bug.cgi?id=51956
1718
1719         Pull out TextRunWalker from FontLinux.cpp.  Put it in its own file.
1720         Rename it to ComplexTextController, to match platform/graphics/mac
1721         more closely.
1722
1723         No tests because the change is just renaming a class.
1724
1725         * WebCore.gyp/WebCore.gyp:
1726         * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Added.
1727         (WebCore::ComplexTextController::ComplexTextController):
1728         (WebCore::ComplexTextController::~ComplexTextController):
1729         (WebCore::ComplexTextController::isWordBreak):
1730         (WebCore::ComplexTextController::determineWordBreakSpacing):
1731         (WebCore::ComplexTextController::setPadding):
1732         (WebCore::ComplexTextController::reset):
1733         (WebCore::ComplexTextController::setBackwardsIteration):
1734         (WebCore::ComplexTextController::nextScriptRun):
1735         (WebCore::ComplexTextController::widthOfFullRun):
1736         (WebCore::ComplexTextController::setupFontForScriptRun):
1737         (WebCore::ComplexTextController::allocHarfbuzzFont):
1738         (WebCore::ComplexTextController::deleteGlyphArrays):
1739         (WebCore::ComplexTextController::createGlyphArrays):
1740         (WebCore::ComplexTextController::resetGlyphArrays):
1741         (WebCore::ComplexTextController::shapeGlyphs):
1742         (WebCore::ComplexTextController::setGlyphXPositions):
1743         (WebCore::ComplexTextController::normalizeSpacesAndMirrorChars):
1744         (WebCore::ComplexTextController::getNormalizedTextRun):
1745         * platform/graphics/chromium/ComplexTextControllerLinux.h: Added.
1746         (WebCore::ComplexTextController::setWordSpacingAdjustment):
1747         (WebCore::ComplexTextController::setLetterSpacingAdjustment):
1748         (WebCore::ComplexTextController::letterSpacing):
1749         (WebCore::ComplexTextController::setXOffsetToZero):
1750         (WebCore::ComplexTextController::rtl):
1751         (WebCore::ComplexTextController::glyphs):
1752         (WebCore::ComplexTextController::length):
1753         (WebCore::ComplexTextController::xPositions):
1754         (WebCore::ComplexTextController::advances):
1755         (WebCore::ComplexTextController::width):
1756         (WebCore::ComplexTextController::logClusters):
1757         (WebCore::ComplexTextController::numCodePoints):
1758         (WebCore::ComplexTextController::fontPlatformDataForScriptRun):
1759         (WebCore::ComplexTextController::isCodepointSpace):
1760         * platform/graphics/chromium/FontLinux.cpp:
1761         (WebCore::Font::drawComplexText):
1762         (WebCore::Font::floatWidthForComplexText):
1763         (WebCore::glyphIndexForXPositionInScriptRun):
1764         (WebCore::Font::offsetForPositionForComplexText):
1765         (WebCore::Font::selectionRectForComplexText):
1766
1767 2011-01-05  Pratik Solanki  <psolanki@apple.com>
1768
1769         Reviewed by Darin Adler.
1770
1771         Merge cf and mac header files with same name
1772         https://bugs.webkit.org/show_bug.cgi?id=51916
1773
1774         Since most of the code in the header files is identical, we can merge them and have #if
1775         USE(CFNETWORK) to separate out the network specific parts.
1776
1777         * WebCore.xcodeproj/project.pbxproj:
1778         * platform/network/cf/AuthenticationChallenge.h:
1779         (WebCore::AuthenticationChallenge::sender):
1780         (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
1781         * platform/network/cf/ResourceError.h:
1782         (WebCore::ResourceError::ResourceError):
1783         * platform/network/cf/ResourceRequest.h:
1784         (WebCore::ResourceRequest::ResourceRequest):
1785         * platform/network/cf/ResourceResponse.h:
1786         (WebCore::ResourceResponse::ResourceResponse):
1787         * platform/network/mac/AuthenticationChallenge.h: Removed.
1788         * platform/network/mac/ResourceError.h: Removed.
1789         * platform/network/mac/ResourceRequest.h: Removed.
1790         * platform/network/mac/ResourceResponse.h: Removed.
1791
1792 2011-01-05  Anders Carlsson  <andersca@apple.com>
1793
1794         Reviewed by Adele Peterson.
1795
1796         Implement word transformation
1797         https://bugs.webkit.org/show_bug.cgi?id=51943
1798
1799         Export Editor functions needed by WebKit2.
1800
1801         * WebCore.exp.in:
1802
1803 2011-01-05  Simon Fraser  <simon.fraser@apple.com>
1804
1805         Reviewed by Dave Hyatt.
1806
1807         Implement repeating CSS3 gradients
1808         https://bugs.webkit.org/show_bug.cgi?id=51843
1809         
1810         Add support for repeating gradients, via the new gradient functions
1811         -webkit-repeating-linear-gradient and -webkit-repeating-radial-gradient.
1812
1813         Tests: fast/gradients/css3-repeating-linear-gradients.html
1814                fast/gradients/css3-repeating-radial-gradients.html
1815
1816         * css/CSSGradientValue.h:
1817         (WebCore::CSSGradientValue::isRepeating): Accessor for whethe the gradient repeats.
1818         (WebCore::CSSGradientValue::CSSGradientValue): Pass CSSGradientRepeat in.
1819         (WebCore::CSSLinearGradientValue::create): Pass CSSGradientRepeat.
1820         (WebCore::CSSLinearGradientValue::CSSLinearGradientValue): Ditto
1821         (WebCore::CSSRadialGradientValue::create): Ditto.
1822         (WebCore::CSSRadialGradientValue::CSSRadialGradientValue): Ditto.
1823
1824         * css/CSSGradientValue.cpp:
1825         (WebCore::CSSGradientValue::addStops): Pass maxLengthForRepeat, which
1826         is used for repeating radial gradients. Add code to repeat the stops,
1827         adding stops before the start, and after the end until the 0-N range is
1828         covered, where N is large enough to ensure the box is covered. Fix an issue
1829         with repeating gradients where if both stops were < 0, it would fail to clamp
1830         them to 0.
1831         
1832         (WebCore::CSSLinearGradientValue::cssText): Output strings for repeating gradients.
1833         (WebCore::CSSLinearGradientValue::createGradient): maxExtent for linear gradients is 1,
1834         because they are guaranteed to fill the box already.
1835         (WebCore::CSSRadialGradientValue::cssText): Output strings for repeating gradients.
1836         (WebCore::CSSRadialGradientValue::createGradient): Compute the distance to the furthest
1837         corner in order to inform addStops() how much additional extent is required.
1838
1839         * css/CSSParser.cpp:
1840         (WebCore::CSSParser::parseDeprecatedGradient): Old gradients never repeat.
1841         (WebCore::CSSParser::parseLinearGradient): Pass down CSSGradientRepeat.
1842         (WebCore::CSSParser::parseRadialGradient): Ditto.
1843         (WebCore::CSSParser::isGeneratedImageValue): Add repeating gradient functions.
1844         (WebCore::CSSParser::parseGeneratedImage): Ditto.
1845         * css/CSSParser.h: Pass CSSGradientRepeat to gradient functions.
1846         * platform/graphics/cg/GradientCG.cpp: Remove unused #include.
1847
1848 2011-01-05  Martin Robinson  <mrobinson@igalia.com>
1849
1850         Reviewed by Ariya Hidayat.
1851
1852         ContextShadow::blurLayerImage() not endian-safe
1853         https://bugs.webkit.org/show_bug.cgi?id=51822
1854
1855         Correct the channel map in ContextShadow to reflect the different
1856         ordering of pixels on processors with different endianness.
1857
1858         No new tests. This is covered by the existing shadow tests. It was
1859         not discovered, because all of the bots using ContextShadow are
1860         little-endian.
1861
1862         * platform/graphics/ContextShadow.cpp:
1863         (WebCore::ContextShadow::blurLayerImage): Initialize the channel mapping
1864         based on machine endianness.
1865
1866 2011-01-05  Mihai Parparita  <mihaip@chromium.org>
1867
1868         Reviewed by Nate Chapin.
1869
1870         [Chromium] Crash when drawing PDF plug-in scrollbars
1871         https://bugs.webkit.org/show_bug.cgi?id=51942
1872
1873         Pepper plug-in scrollbars don't have a parent, guard against that before
1874         seeing if the parent is a FrameView.
1875
1876         Not testable via layout tests, verified fix by hand.
1877         
1878         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1879         (WebCore::ScrollbarThemeChromiumMac::paint):
1880
1881 2011-01-05  Abhishek Arya  <inferno@chromium.org>
1882
1883         Unreviewed.
1884
1885         Update FIXME comment to sound better. Also initialize the block to fix compile.
1886
1887         * rendering/RenderBlock.cpp:
1888         (WebCore::RenderBlock::removeChild):
1889
1890 2011-01-05  Abhishek Arya  <inferno@chromium.org>
1891
1892         Reviewed by Dave Hyatt.
1893
1894         Do not merge anonymous blocks when one of them is the one getting removed.
1895         https://bugs.webkit.org/show_bug.cgi?id=51919
1896
1897         Test: fast/block/merge-anonymous-block-remove-child-crash.html
1898
1899         * rendering/RenderBlock.cpp:
1900         (WebCore::RenderBlock::removeChild):
1901
1902 2011-01-05  Ryosuke Niwa  <rniwa@webkit.org>
1903
1904         Reviewed by Eric Seidel.
1905
1906         ApplyStyleCommand::applyRelativeFontStyleChange should take EditingStyle*
1907         https://bugs.webkit.org/show_bug.cgi?id=50641
1908
1909         Modified applyRelativeFontStyleChange to take EditingStyle instead of CSSMutableStyleDeclaration.
1910         Also extracted the logic to obtain the font size delta from ApplyStyleCommand to EditingStyle.
1911         The font size delta is now stored as a member variable of EditingStyle as supposed to a property
1912         in CSSMutableStyleDeclration as soon as EditingStyle is instantiated.
1913
1914         No new tests are added since this is a refactoring.
1915
1916         * editing/ApplyStyleCommand.cpp:
1917         (WebCore::ApplyStyleCommand::doApply): Calls applyRelativeFontStyleChange.
1918         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Takes EditingStyle.
1919         * editing/ApplyStyleCommand.h:
1920         * editing/EditingStyle.cpp:
1921         (WebCore::EditingStyle::EditingStyle): Initializes m_fontSizeDelta.
1922         (WebCore::EditingStyle::init): Ditto.
1923         (WebCore::EditingStyle::extractFontSizeDelta): Extracted from applyRelativeFontStyleChange.
1924         (WebCore::EditingStyle::isEmpty): Takes care of m_fontSizeDelta.
1925         (WebCore::EditingStyle::setStyle): Calls extractFontSizeDelta.
1926         (WebCore::EditingStyle::overrideWithStyle): Ditto.
1927         (WebCore::EditingStyle::clear): Initializes m_fontSizeDelta.
1928         (WebCore::EditingStyle::copy): Calls extractFontSizeDelta.
1929         * editing/EditingStyle.h:
1930         (WebCore::EditingStyle::fontSizeDelta): Added.
1931         (WebCore::EditingStyle::hasFontSizeDelta): Added.
1932         * editing/Editor.h:
1933
1934 2011-01-05  Dan Bernstein  <mitz@apple.com>
1935
1936         Reviewed by Darin Adler.
1937
1938         <rdar://problem/8799835> hyphenate-character: auto should fall back to hyphen-minus if the primary font lacks a hyphen glyph
1939         https://bugs.webkit.org/show_bug.cgi?id=51915
1940
1941         This changes the results of existing tests in fast/text.
1942
1943         * platform/graphics/Font.h:
1944         * platform/graphics/FontFastPath.cpp:
1945         (WebCore::Font::primaryFontHasGlyphForCharacter): Added.
1946         * rendering/style/RenderStyle.cpp:
1947         * platform/graphics/qt/FontQt.cpp:
1948         (WebCore::Font::primaryFontHasGlyphForCharacter): Added a stub.
1949         (WebCore::RenderStyle::hyphenString): For hyphenate-character: auto, return a
1950         hyphen only if the primary font has a hyphen glyph, and otherwise return a
1951         hyphen-minus.
1952
1953 2011-01-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1954
1955         Reviewed by Ariya Hidayat.
1956
1957         [Qt] [Symbian] Make CONFIG-=def_files the default configuration for trunk builds
1958         https://bugs.webkit.org/show_bug.cgi?id=51888
1959
1960         Overrule Qt's default from qconfig.pri for non-production builds so
1961         that CONFIG(def_files) evaluates to false and QtWebKit trunk builds succeed.
1962
1963         No new tests as there is no new functionality.
1964
1965         * WebCore.pro:
1966
1967 2011-01-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1968
1969         Unreviewed, rolling out r74778.
1970         http://trac.webkit.org/changeset/74778
1971         https://bugs.webkit.org/show_bug.cgi?id=51930
1972
1973         Android and QtWebKit-V8 uses V8DOMWindowShell::setContext.
1974         (Requested by bbandix on #webkit).
1975
1976         * bindings/v8/V8DOMWindowShell.cpp:
1977         (WebCore::V8DOMWindowShell::setContext):
1978         * bindings/v8/V8DOMWindowShell.h:
1979
1980 2011-01-05  Yi Shen  <yi.4.shen@nokia.com>
1981
1982         Reviewed by Andreas Kling.
1983
1984         [Qt] Animated GIF images does not animate 10x as expected by default.
1985         https://bugs.webkit.org/show_bug.cgi?id=36818
1986
1987         Add a test animated GIF which should be displayed 2 times and stop.
1988
1989         * manual-tests/animated-gif-looping.html:
1990         * manual-tests/resources/animated-2x.gif: Added.
1991
1992 2011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1993
1994         Reviewed by Martin Robinson.
1995
1996         [GTK] Fork code of ScrollbarThemeGtk that will differ for GTK+ 3
1997         https://bugs.webkit.org/show_bug.cgi?id=51923
1998
1999         Split out pieces of ScrollbarThemeGtk into ScrollbarThemeGtk2 and
2000         ScrollbarThemeGtk3 that will differ between GTK+ 2 and GTK+ 3.
2001
2002         No new tests. This should not change functionality.
2003
2004         * GNUmakefile.am: Add ScrollbarThemeGtk2.cpp and ScrollbarThemeGtk3.cpp
2005         * platform/gtk/ScrollbarThemeGtk.cpp:
2006         (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
2007         * platform/gtk/ScrollbarThemeGtk.h:
2008         * platform/gtk/ScrollbarThemeGtk2.cpp: Added.
2009         (WebCore::ScrollbarThemeGtk::updateThemeProperties):
2010         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
2011         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
2012         (WebCore::ScrollbarThemeGtk::paintThumb):
2013         (WebCore::ScrollbarThemeGtk::paintButton):
2014         * platform/gtk/ScrollbarThemeGtk3.cpp: Added.
2015         (WebCore::ScrollbarThemeGtk::updateThemeProperties):
2016         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
2017         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
2018         (WebCore::ScrollbarThemeGtk::paintThumb):
2019         (WebCore::ScrollbarThemeGtk::paintButton):
2020
2021 2011-01-05  Patrick Gansterer  <paroga@webkit.org>
2022
2023         Reviewed by Andreas Kling.
2024
2025         [CMake] Fix the usage of SOURCE_GROUP
2026         https://bugs.webkit.org/show_bug.cgi?id=51739
2027
2028         * CMakeLists.txt:
2029
2030 2011-01-05  Andras Becsi  <abecsi@webkit.org>
2031
2032         Reviewed by Csaba Osztrogonác.
2033
2034         [Qt][V8] Fix the build after recent changes.
2035
2036         No new tests needed.
2037
2038         * WebCore.pro: Add missing files, and remove obsolete ones.
2039
2040 2011-01-05  Yong Li  <yoli@rim.com>
2041
2042         Reviewed by Adam Barth.
2043
2044         Suspend HTMLParserScheduler when page load is deferred to
2045         avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
2046         from an external script or by events, and is blocked by a modal dialog,
2047         WebKit can parse more HTML source and also start another JS execution.
2048         
2049         https://bugs.webkit.org/show_bug.cgi?id=48077
2050
2051         Test case: WebCore/manual-tests/bugzilla-48077.html.
2052
2053         * dom/DocumentParser.cpp:
2054         (WebCore::DocumentParser::suspendScheduledTasks):
2055         (WebCore::DocumentParser::resumeScheduledTasks):
2056         * dom/DocumentParser.h:
2057         * html/parser/HTMLDocumentParser.cpp:
2058         (WebCore::HTMLDocumentParser::suspendScheduledTasks):
2059         (WebCore::HTMLDocumentParser::resumeScheduledTasks):
2060         * html/parser/HTMLParserScheduler.cpp:
2061         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
2062         (WebCore::HTMLParserScheduler::suspend):
2063         (WebCore::HTMLParserScheduler::resume):
2064         * html/parser/HTMLParserScheduler.h:
2065         (WebCore::HTMLParserScheduler::isScheduledForResume):
2066         * page/PageGroupLoadDeferrer.cpp:
2067         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2068         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2069
2070 2011-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
2071
2072         Reviewed by Kenneth Rohde Christiansen, Gustavo Noronha Silva
2073
2074         [GStreamer] MediaPlayerPrivateGStreamer::totalBytes() does not work reliably
2075         https://bugs.webkit.org/show_bug.cgi?id=51926
2076
2077         Work around potential upstream bug: Querying a GstBin for the duration,
2078         will forward the query to all sink children. Our WebKitWebSrc however
2079         is a bin with only source children, therefore the query fails. Until
2080         this is changed upstream, this patch works around it as follows,
2081         based on suggestion by Philippe Normand and Sebastian Dröge:
2082
2083         When the initial query fails, attempt the same query on all source
2084         pads and take the maximum length reported.
2085
2086         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2087         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
2088
2089 2011-01-05  Philippe Normand  <pnormand@igalia.com>
2090
2091         Rubber-stamped by Eric Seidel.
2092
2093         [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30
2094         https://bugs.webkit.org/show_bug.cgi?id=51810
2095
2096         Based on a patch by Mart Raudsepp.
2097
2098         No new tests, build fix only.
2099
2100         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
2101         (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay
2102         API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was
2103         introduced in same version as the xoverlay API change.
2104
2105 2011-01-05  Leo Yang  <leo.yang@torchmobile.com.cn>
2106
2107         Reviewed by Dirk Schulze.
2108
2109         Malformed SVG causes crash in updateContainerOffset
2110         https://bugs.webkit.org/show_bug.cgi?id=44610
2111
2112         We should check recursive <use> at the begining of
2113         WebCore::SVGUseElement::buildInstanceTree instead
2114         of at the end of it because the target element's
2115         children may cause infinite recursive <use>.
2116
2117         Test: svg/custom/recursive-use.svg
2118
2119         * svg/SVGUseElement.cpp:
2120         (WebCore::SVGUseElement::buildInstanceTree):
2121         (WebCore::SVGUseElement::hasCycleUseReferencing):
2122         * svg/SVGUseElement.h:
2123
2124 2011-01-04  Antti Koivisto  <antti@apple.com>
2125
2126         Reviewed by Dan Bernstein.
2127
2128         https://bugs.webkit.org/show_bug.cgi?id=51907
2129         Style selector should only be recalculated when the pending sheet count goes to zero
2130         
2131         Shark says this is a significant performance improvement on some sites with lots of stylesheets.
2132
2133         * dom/Document.cpp:
2134         (WebCore::Document::removePendingSheet):
2135
2136 2011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2137
2138         Reviewed by Martin Robinson.
2139
2140         [GTK] Use GtkStyleContext to get platform colors
2141         https://bugs.webkit.org/show_bug.cgi?id=51830
2142
2143         Use GtkStyleContext API to get platform colors when building with
2144         GTK+ 3.x.
2145
2146         No new tests. This should not change functionality.
2147
2148         * platform/graphics/Color.h: Add specialized constructor for GdkRGBA.
2149         * platform/graphics/gtk/ColorGtk.cpp:
2150         (WebCore::Color::Color):
2151         (WebCore::Color::operator GdkRGBA):
2152         * platform/gtk/RenderThemeGtk3.cpp:
2153         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
2154         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
2155         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
2156         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
2157         (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
2158         (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
2159         (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
2160         (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
2161         (WebCore::RenderThemeGtk::systemColor):
2162
2163 2011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2164
2165         Unreviewed. Build fix for GTK when using gtk+-3 after r75009.
2166
2167         * platform/gtk/RenderThemeGtk3.cpp:
2168         (WebCore::RenderThemeGtk::getStockIcon): Use adoptGRef instead of
2169         adoptGRefPtr which doesn't exist.
2170
2171 2011-01-05  Alexey Proskuryakov  <ap@apple.com>
2172
2173         Reviewed by Sam Weinig.
2174
2175         https://bugs.webkit.org/show_bug.cgi?id=51903
2176         Tell UI process which subframe is largest
2177
2178         * WebCore.exp.in: Exported FrameView::contentsSize().
2179
2180 2011-01-04  Chris Fleizach  <cfleizach@apple.com>
2181
2182         Unreviewed. GTK build fix.
2183
2184         WK2: Support Accessibility
2185         https://bugs.webkit.org/show_bug.cgi?id=51859
2186
2187         * page/FrameView.cpp:
2188         (WebCore::FrameView::axObjectCache):
2189
2190 2011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
2191
2192         Unreviewed, rolling out r74992.
2193         http://trac.webkit.org/changeset/74992
2194         https://bugs.webkit.org/show_bug.cgi?id=51917
2195
2196         Crash in HTMLDocumentParser::suspendScheduledTasks()
2197         (Requested by tkent on #webkit).
2198
2199         * dom/DocumentParser.cpp:
2200         * dom/DocumentParser.h:
2201         * html/parser/HTMLDocumentParser.cpp:
2202         * html/parser/HTMLDocumentParser.h:
2203         * html/parser/HTMLParserScheduler.cpp:
2204         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
2205         * html/parser/HTMLParserScheduler.h:
2206         (WebCore::HTMLParserScheduler::isScheduledForResume):
2207         * page/PageGroupLoadDeferrer.cpp:
2208         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2209         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2210
2211 2011-01-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
2212
2213         Reviewed by Kenneth Rohde Christiansen.
2214
2215         [Qt] [WK2] Add support for non-trivial context menu action
2216         https://bugs.webkit.org/show_bug.cgi?id=51902
2217
2218         Fix the preprocessor guard for ContextMenuItemTagSelectAll in
2219         the implementation of ContextMenuController::contextMenuItemSelected(). The guard was
2220         inconsistent with what is defined in ContextMenuItem.h.
2221
2222         * page/ContextMenuController.cpp:
2223         (WebCore::ContextMenuController::contextMenuItemSelected):
2224
2225 2011-01-04  Tony Gentilcore  <tonyg@chromium.org>
2226
2227         Reviewed by Ryosuke Niwa.
2228
2229         Avoid manual ref/deref in AsyncScriptRunner by using PendingScript
2230         https://bugs.webkit.org/show_bug.cgi?id=51723
2231
2232         ScriptElement should also be able to keep its Element+CachedScript in
2233         a PendingScript, and then executeScriptSoon can accept a PendingScript.
2234         Once HTMLScriptRunner, ScriptElement, and AsyncScriptRunner all use
2235         PendingScripts, then generic request and execute which operate on
2236         PendingScripts can be factored out to avoid code duplicate that we have.
2237
2238         No new tests because no new functionality.
2239
2240         * dom/AsyncScriptRunner.cpp:
2241         (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
2242         (WebCore::AsyncScriptRunner::executeScriptSoon):
2243         (WebCore::AsyncScriptRunner::timerFired):
2244         * dom/AsyncScriptRunner.h:
2245         * dom/PendingScript.h: Add ctor which sets element and cachedScript. Rename adoptElement->setElement.
2246         * dom/HTMLScriptRunner.cpp:
2247         (WebCore::HTMLScriptRunner::requestPendingScript):
2248
2249 2011-01-04  Jeff Miller  <jeffm@apple.com>
2250
2251         Reviewed by Darin Adler.
2252
2253         Member variable and method naming cleanup to be consistent with WebKit2.
2254         https://bugs.webkit.org/show_bug.cgi?id=51228
2255
2256         * page/win/EventHandlerWin.cpp:
2257         (WebCore::EventHandler::eventActivatedView):
2258         Rename activatedWebView() to didActivateWebView().
2259         
2260         * platform/PlatformMouseEvent.h:
2261         Rename m_activatedWebView to m_didActivateWebView.
2262         
2263         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2264         Initialize platform-specific member variables in PlatformMouseEvent constructors.
2265         
2266         (WebCore::PlatformMouseEvent::didActivateWebView):
2267         Rename activatedWebView() to didActivateWebView().
2268
2269         * platform/win/PlatformMouseEventWin.cpp:
2270         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2271         Rename m_activatedWebView to m_didActivateWebView.
2272
2273 2011-01-04  Yael Aharon  <yael.aharon@nokia.com>
2274
2275         Reviewed by Darin Adler.
2276
2277         CSS3 :nth-child selector and valid whitespace test fails
2278         https://bugs.webkit.org/show_bug.cgi?id=36279
2279
2280         Teach the tokenizer to allow white spaces around [+/-] signs in nth constructs.
2281
2282         Test: fast/css/css3-nth-space.html
2283
2284         * css/tokenizer.flex:
2285
2286 2011-01-04  Chris Fleizach  <cfleizach@apple.com>
2287
2288         Unreviewed. Build fix.
2289
2290         WK2: Support Accessibility
2291         https://bugs.webkit.org/show_bug.cgi?id=51859
2292
2293         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2294         (fallbackObject):
2295
2296 2011-01-04  Cosmin Truta  <ctruta@chromium.org>
2297
2298         Reviewed by Eric Seidel.
2299
2300         [chromium] PNG compression settings optimized for speed
2301         https://bugs.webkit.org/show_bug.cgi?id=51719
2302
2303         Although Z_HUFFMAN_ONLY is the fastest on hard-to-compress images,
2304         it is also the slowest, by a wide margin, on easy-to-compress images.
2305         Use a more balanced configuration, based on the libpng compression defaults,
2306         but with a faster compression level (3 instead of 6), and a faster filter
2307         ("sub" instead of "all").
2308
2309         No change in behaviour, so no new tests.
2310
2311         * platform/image-encoders/skia/PNGImageEncoder.cpp:
2312         (WebCore::PNGImageEncoder::encode):
2313
2314 2011-01-04  Chris Fleizach  <cfleizach@apple.com>
2315
2316         Reviewed by Sam Weinig.
2317
2318         WK2: Support Accessibility
2319         https://bugs.webkit.org/show_bug.cgi?id=51859
2320
2321         WK2 doesn't use platform scroll views anymore. Accessibility code
2322         needs to have its own scroll views. 
2323
2324         Test: platform/mac/accessibility/webkit-scrollarea.html
2325
2326         * CMakeLists.txt:
2327         * GNUmakefile.am:
2328         * WebCore.exp.in:
2329         * WebCore.gypi:
2330         * WebCore.pro:
2331         * WebCore.vcproj/WebCore.vcproj:
2332         * WebCore.xcodeproj/project.pbxproj:
2333         * accessibility/AXObjectCache.cpp:
2334         (WebCore::AXObjectCache::AXObjectCache):
2335         (WebCore::AXObjectCache::get):
2336         (WebCore::AXObjectCache::getOrCreate):
2337         (WebCore::AXObjectCache::rootObject):
2338         (WebCore::AXObjectCache::remove):
2339         (WebCore::AXObjectCache::handleScrollbarUpdate):
2340         * accessibility/AXObjectCache.h:
2341         (WebCore::AXObjectCache::handleScrollbarUpdate):
2342         * accessibility/AccessibilityARIAGrid.h:
2343         * accessibility/AccessibilityAllInOne.cpp:
2344         * accessibility/AccessibilityImageMapLink.cpp:
2345         * accessibility/AccessibilityImageMapLink.h:
2346         * accessibility/AccessibilityListBoxOption.cpp:
2347         * accessibility/AccessibilityListBoxOption.h:
2348         * accessibility/AccessibilityObject.cpp:
2349         (WebCore::AccessibilityObject::updateChildrenIfNecessary):
2350         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
2351         (WebCore::AccessibilityObject::axObjectCache):
2352         (WebCore::AccessibilityObject::focusedUIElement):
2353         * accessibility/AccessibilityObject.h:
2354         (WebCore::AccessibilityObject::isAccessibilityScrollView):
2355         (WebCore::AccessibilityObject::isScrollView):
2356         (WebCore::AccessibilityObject::canSetNumericValue):
2357         (WebCore::AccessibilityObject::scrollBar):
2358         (WebCore::AccessibilityObject::size):
2359         (WebCore::AccessibilityObject::setValue):
2360         * accessibility/AccessibilityRenderObject.cpp:
2361         (WebCore::AccessibilityRenderObject::parentObject):
2362         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
2363         (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
2364         (WebCore::AccessibilityRenderObject::addChildren):
2365         * accessibility/AccessibilityRenderObject.h:
2366         * accessibility/AccessibilityScrollView.cpp: Added.
2367         (WebCore::AccessibilityScrollView::AccessibilityScrollView):
2368         (WebCore::AccessibilityScrollView::create):
2369         (WebCore::AccessibilityScrollView::scrollBar):
2370         (WebCore::AccessibilityScrollView::children):
2371         (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
2372         (WebCore::AccessibilityScrollView::removeChildScrollbar):
2373         (WebCore::AccessibilityScrollView::addChildScrollbar):
2374         (WebCore::AccessibilityScrollView::addChildren):
2375         (WebCore::AccessibilityScrollView::webAreaObject):
2376         (WebCore::AccessibilityScrollView::accessibilityHitTest):
2377         (WebCore::AccessibilityScrollView::document):
2378         (WebCore::AccessibilityScrollView::elementRect):
2379         (WebCore::AccessibilityScrollView::parentObject):
2380         * accessibility/AccessibilityScrollView.h: Added.
2381         (WebCore::AccessibilityScrollView::roleValue):
2382         (WebCore::AccessibilityScrollView::scrollView):
2383         (WebCore::AccessibilityScrollView::accessibilityIsIgnored):
2384         (WebCore::AccessibilityScrollView::isAccessibilityScrollView):
2385         (WebCore::toAccessibilityScrollView):
2386         * accessibility/AccessibilityScrollbar.cpp:
2387         (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
2388         (WebCore::AccessibilityScrollbar::create):
2389         (WebCore::AccessibilityScrollbar::elementRect):
2390         (WebCore::AccessibilityScrollbar::document):
2391         (WebCore::AccessibilityScrollbar::orientation):
2392         (WebCore::AccessibilityScrollbar::isEnabled):
2393         (WebCore::AccessibilityScrollbar::valueForRange):
2394         (WebCore::AccessibilityScrollbar::setValue):
2395         * accessibility/AccessibilityScrollbar.h:
2396         (WebCore::AccessibilityScrollbar::setParent):
2397         (WebCore::AccessibilityScrollbar::canSetValueAttribute):
2398         (WebCore::AccessibilityScrollbar::canSetNumericValue):
2399         (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
2400         (WebCore::AccessibilityScrollbar::parentObject):
2401         (WebCore::AccessibilityScrollbar::roleValue):
2402         * accessibility/mac/AccessibilityObjectMac.mm:
2403         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2404         * accessibility/mac/AccessibilityObjectWrapper.mm:
2405         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2406         (-[AccessibilityObjectWrapper remoteAccessibilityParentObject]):
2407         (-[AccessibilityObjectWrapper position]):
2408         (-[AccessibilityObjectWrapper scrollViewParent]):
2409         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2410         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
2411         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2412         * dom/Document.cpp:
2413         (WebCore::Document::axObjectCache):
2414         * loader/EmptyClients.h:
2415         (WebCore::EmptyFrameLoaderClient::accessibilityRemoteObject):
2416         * loader/FrameLoaderClient.h:
2417         * page/FrameView.cpp:
2418         (WebCore::FrameView::~FrameView):
2419         (WebCore::FrameView::axObjectCache):
2420         * page/FrameView.h:
2421         * platform/ScrollView.cpp:
2422         (WebCore::ScrollView::setHasHorizontalScrollbar):
2423         (WebCore::ScrollView::setHasVerticalScrollbar):
2424         * platform/Scrollbar.cpp:
2425         (WebCore::Scrollbar::~Scrollbar):
2426         (WebCore::Scrollbar::scroll):
2427         (WebCore::Scrollbar::axObjectCache):
2428         * platform/Scrollbar.h:
2429         * platform/Widget.h:
2430         (WebCore::Widget::axObjectCache):
2431
2432 2011-01-04  W. James MacLean  <wjmaclean@chromium.org>
2433
2434         Reviewed by Kenneth Russell.
2435
2436         [chromium] Add support to compositor to composite to offscreen texture.
2437         https://bugs.webkit.org/show_bug.cgi?id=50833
2438
2439         A patch to extend compositor to be able to composite into an offscreen texture instead
2440         of just directly to the display buffer. Builds on RenderSurfaceChromium support.
2441         Explicitly resets alpha channel before rendering to display.
2442
2443         * platform/graphics/chromium/LayerRendererChromium.cpp:
2444         (WebCore::LayerRendererChromium::LayerRendererChromium):
2445         (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
2446         (WebCore::LayerRendererChromium::drawLayers):
2447         (WebCore::LayerRendererChromium::setCompositeOffscreen):
2448         (WebCore::LayerRendererChromium::useRenderSurface):
2449         (WebCore::LayerRendererChromium::setScissorToRect):
2450         * platform/graphics/chromium/LayerRendererChromium.h:
2451         (WebCore::LayerRendererChromium::isCompositingOffscreen):
2452         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
2453
2454 2011-01-04  Evan Martin  <evan@chromium.org>
2455
2456         Reviewed by Tony Chang.
2457
2458         [chromium] depend on harfbuzz explicitly
2459         https://bugs.webkit.org/show_bug.cgi?id=51895
2460
2461         platform/graphics/chromium uses Harfbuzz directly.  Rather than
2462         expecting Skia to adjust the include paths, be explicit about
2463         the dependency.
2464
2465         * WebCore.gyp/WebCore.gyp:
2466
2467 2011-01-04  Darin Adler  <darin@apple.com>
2468
2469         Reviewed by Brady Eidson.
2470
2471         Add back/forward encoding and decoding to WebKit2
2472         https://bugs.webkit.org/show_bug.cgi?id=51901
2473
2474         * WebCore.exp.in: Export functions used in WebKit2.
2475
2476         * history/HistoryItem.cpp:
2477         (WebCore::HistoryItem::encodeBackForwardTree): Use references instead of pointers.
2478         (WebCore::HistoryItem::encodeBackForwardTreeNode): Ditto.
2479         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
2480         * history/HistoryItem.h: Ditto.
2481         * platform/network/FormData.cpp:
2482         (WebCore::encode): Ditto.
2483         (WebCore::decode): Ditto.
2484         (WebCore::FormData::encodeForBackForward): Ditto.
2485         (WebCore::FormData::decodeForBackForward): Ditto.
2486         * platform/network/FormData.h: Ditto.
2487
2488 2011-01-04  Xiaomei Ji  <xji@chromium.org>
2489
2490         Reviewed by Dan Bernstein.
2491
2492         Implement sel.modify('move', 'left'/'right', 'lineBoundary').
2493         https://bugs.webkit.org/show_bug.cgi?id=33435
2494
2495         * editing/SelectionController.cpp:
2496         (WebCore::SelectionController::modifyMovingRight):
2497         (WebCore::SelectionController::modifyMovingLeft):
2498         * editing/visible_units.cpp:
2499         (WebCore::logicalStartOfLine):
2500         (WebCore::logicalEndOfLine):
2501         (WebCore::leftBoundaryOfLine):
2502         (WebCore::rightBoundaryOfLine):
2503         * editing/visible_units.h:
2504
2505 2011-01-04  Martin Robinson  <mrobinson@igalia.com>
2506
2507         Reviewed by Xan Lopez.
2508
2509         [GTK] Use the default CSS text input control border width of relying on the GTK+ theme
2510         https://bugs.webkit.org/show_bug.cgi?id=51887
2511
2512         Do not rely on the GTK+ theme to determine text control borders. This simplifies
2513         the RenderTheme code, prevents metrics differences between GTK+ 2.x and 3.x and
2514         doesn't break the rendering of any theme that I've encountered.
2515
2516         * platform/gtk/RenderThemeGtk.cpp:
2517         (WebCore::RenderThemeGtk::adjustSearchFieldStyle): No longer call setTextInputBorders, but
2518         still disable any border radius.
2519         * platform/gtk/RenderThemeGtk.h: Remove setTextInputBorders and no longer override the
2520         default style of text areas and text input controls.
2521         * platform/gtk/RenderThemeGtk2.cpp: Ditto.
2522         * platform/gtk/RenderThemeGtk3.cpp: Ditto.
2523
2524 2011-01-03  Martin Robinson  <mrobinson@igalia.com>
2525
2526         Reviewed by Darin Adler.
2527
2528         Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr
2529         https://bugs.webkit.org/show_bug.cgi?id=51846
2530
2531         No new tests. This should not introduce any functional changes.
2532
2533         Changed all references to PlatformRefPtr in GTK+ code to GRefPtr. Changed
2534         all references to PlatformRefPtr in Brew code to RefPtr.
2535
2536 2011-01-04  David Kilzer  <ddkilzer@apple.com>
2537
2538         <http://webkit.org/b/51890> Move ResourceLoadPriority.h into WebCore/platform/network
2539
2540         Reviewed by Antti Koivisto.
2541
2542         This is needed to prevent a WebCore/platform policy violation in
2543         my next patch.
2544
2545         * WebCore.gypi: Updated for moved header.
2546         * WebCore.pro: Ditto.
2547         * WebCore.vcproj/WebCore.vcproj: Ditto.
2548         * WebCore.xcodeproj/project.pbxproj: Ditto.
2549         * platform/network/ResourceLoadPriority.h: Renamed from WebCore/loader/ResourceLoadPriority.h.
2550
2551 2011-01-04  Brady Eidson  <beidson@apple.com>
2552
2553         Reviewed by a spell checker.
2554
2555         * storage/StorageMap.h: mesured?  Really?
2556
2557 2011-01-04  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
2558
2559         Reviewed by Xan Lopez.
2560
2561         [GTK] Port stock icon painting to GtkStyleContext
2562         https://bugs.webkit.org/show_bug.cgi?id=51764
2563
2564         Port stock icon painting for media and search input elements to
2565         GtkStyleContext. Also create the initial machinery for accessing
2566         style contexts for all GTK+ 3.x based widgets.
2567
2568         No new tests. This should not change functionality.
2569
2570         * platform/gtk/RenderThemeGtk.cpp:
2571         (WebCore::paintGdkPixbuf):
2572         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
2573         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
2574         (WebCore::RenderThemeGtk::paintMediaButton):
2575         * platform/gtk/RenderThemeGtk.h:
2576         * platform/gtk/RenderThemeGtk2.cpp:
2577         (WebCore::RenderThemeGtk::getStockIcon):
2578         * platform/gtk/RenderThemeGtk3.cpp:
2579         (WebCore::gtkStyleChangedCallback):
2580         (WebCore::styleContextMap):
2581         (WebCore::getStyleContext):
2582         (WebCore::RenderThemeGtk::paintMenuList):
2583
2584 2010-12-31  Antti Koivisto  <antti@apple.com>
2585
2586         Reviewed by Dave Hyatt.
2587
2588         Scripts should not be executed before preceding stylesheets are loaded
2589         https://bugs.webkit.org/show_bug.cgi?id=8852
2590
2591         Block inline script execution on pending stylesheet loads. This matches
2592         other browsers and HTML5.
2593
2594         Tests: fast/tokenizer/inline-script-stylesheet-write.html
2595                fast/tokenizer/inline-script-stylesheet.html
2596
2597         * dom/PendingScript.cpp:
2598         (WebCore::PendingScript::releaseElementAndClear):
2599         * dom/PendingScript.h:
2600         (WebCore::PendingScript::PendingScript):
2601         (WebCore::PendingScript::operator=):
2602         (WebCore::PendingScript::startingPosition):
2603         (WebCore::PendingScript::setStartingPosition):
2604         * html/HTMLLinkElement.cpp:
2605         (WebCore::HTMLLinkElement::process):
2606         
2607         This fixes an unrelated bug with beforeload events that was exposed by the other
2608         changes (fast/dom/beforeload/remove-link-in-beforeload-listener.html).
2609         
2610         * html/parser/HTMLScriptRunner.cpp:
2611         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
2612         (WebCore::HTMLScriptRunner::runScript):
2613
2614 2011-01-04  Xianzhu Wang  <wangxianzhu@google.com>
2615
2616         Reviewed by Darin Adler.
2617
2618         Let DataView.getInt8() and DataView.setInt8() use int8_t instead of
2619         ambiguous 'char' to fix fast/canvas/webgl/data-view-test.html failure
2620         on ARM.
2621         https://bugs.webkit.org/show_bug.cgi?id=51861
2622
2623         By the way, changed other getIntXX() and setIntXX() methods to use
2624         more precise integer types.
2625
2626         * bindings/js/JSDataViewCustom.cpp:
2627         (WebCore::setDataViewMember):
2628         * bindings/v8/custom/V8DataViewCustom.cpp:
2629         (WebCore::V8DataView::getInt8Callback):
2630         (WebCore::V8DataView::setInt8Callback):
2631         * html/canvas/DataView.cpp:
2632         (WebCore::DataView::getInt8):
2633         (WebCore::DataView::setInt8):
2634         * html/canvas/DataView.h:
2635         * html/canvas/DataView.idl:
2636
2637 2011-01-04  Yong Li  <yoli@rim.com>
2638
2639         Reviewed by Adam Barth.
2640
2641         Suspend HTMLParserScheduler when page load is deferred to
2642         avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
2643         from an external script or by events, and is blocked by a modal dialog,
2644         WebKit can parse more HTML source and also start another JS execution.
2645         
2646         https://bugs.webkit.org/show_bug.cgi?id=48077
2647
2648         Test case: WebCore/manual-tests/bugzilla-48077.html.
2649
2650         * dom/DocumentParser.cpp:
2651         (WebCore::DocumentParser::suspendScheduledTasks):
2652         (WebCore::DocumentParser::resumeScheduledTasks):
2653         * dom/DocumentParser.h:
2654         * html/parser/HTMLDocumentParser.cpp:
2655         (WebCore::HTMLDocumentParser::suspendScheduledTasks):
2656         (WebCore::HTMLDocumentParser::resumeScheduledTasks):
2657         * html/parser/HTMLParserScheduler.cpp:
2658         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
2659         (WebCore::HTMLParserScheduler::suspend):
2660         (WebCore::HTMLParserScheduler::resume):
2661         * html/parser/HTMLParserScheduler.h:
2662         (WebCore::HTMLParserScheduler::isScheduledForResume):
2663         * page/PageGroupLoadDeferrer.cpp:
2664         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2665         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2666
2667 2011-01-04  Tony Gentilcore  <tonyg@chromium.org>
2668
2669         Unreviewed build fix.
2670
2671         Include glib-object.h for GObject
2672         https://bugs.webkit.org/show_bug.cgi?id=51876
2673
2674         * bindings/gobject/DOMObjectCache.cpp:
2675
2676 2011-01-04  Ryosuke Niwa  <rniwa@webkit.org>
2677
2678         Reviewed by Dan Bernstein.
2679
2680         Clicking on the first or the last letter of LTR/RTL text in a RTL/LTR block puts caret on the opposite side.
2681         https://bugs.webkit.org/show_bug.cgi?id=50992
2682
2683         Fixed the bug by interchanging the offset when the direction of inline text box and the containing block
2684         does not match. Reused the code added by http://trac.webkit.org/changeset/73553.
2685
2686         Test: editing/selection/caret-bidi-first-and-last-letters.html
2687
2688         * rendering/InlineTextBox.cpp:
2689         (WebCore::InlineTextBox::offsetForPosition):
2690
2691 2010-12-29  Tony Gentilcore  <tonyg@chromium.org>
2692
2693         Reviewed by Darin Adler.
2694
2695         Remove 2 unnecessary includes from Document.h
2696         https://bugs.webkit.org/show_bug.cgi?id=51727
2697
2698         No new tests because no changed functionality.
2699
2700         * dom/Document.cpp:
2701         * dom/Document.h:
2702         * editing/Editor.cpp:
2703         * editing/SpellChecker.h:
2704         * editing/SplitTextNodeCommand.cpp:
2705         * editing/TextCheckingHelper.cpp:
2706         * page/FrameView.cpp:
2707         * page/Page.cpp:
2708         * rendering/HitTestResult.cpp:
2709         * rendering/InlineTextBox.cpp:
2710         * rendering/InlineTextBox.h:
2711         * rendering/svg/SVGInlineFlowBox.cpp:
2712
2713 2011-01-04  Patrick Gansterer  <paroga@webkit.org>
2714
2715         Unreviewed WinCE build fix.
2716
2717         * CMakeListsWinCE.txt: Added missing include directories, files and libraries.
2718
2719 2011-01-04  Yi Shen  <yi.4.shen@nokia.com>
2720
2721         Reviewed by Simon Hausmann.
2722
2723         Provide an interface to require using fullscreen mediaplayer
2724         https://bugs.webkit.org/show_bug.cgi?id=51133
2725
2726         Only video should be displayed in fullscreen when 
2727         requiresFullscreenForVideoPlayback is specified.
2728
2729         No new tests because no client implements requiresFullscreenForVideoPlayback yet.
2730
2731         * html/HTMLMediaElement.cpp:
2732         (WebCore::HTMLMediaElement::updatePlayState):
2733
2734 2011-01-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
2735
2736         Reviewed by Kenneth Rohde Christiansen.
2737
2738         [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2
2739         https://bugs.webkit.org/show_bug.cgi?id=51825
2740
2741         Implement contextMenuItemVector() for Qt, this method is used in WebKit 2 to get the
2742         platform independent menu informations.
2743
2744         * platform/qt/ContextMenuQt.cpp:
2745         (WebCore::contextMenuItemVector):
2746
2747 2011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
2748
2749         Unreviewed, rolling out r74960.
2750         http://trac.webkit.org/changeset/74960
2751         https://bugs.webkit.org/show_bug.cgi?id=51868
2752
2753         Rollout since we hit an assert after this patch. (Requested by
2754         krit on #webkit).
2755
2756         * svg/SVGUseElement.cpp:
2757         (WebCore::SVGUseElement::buildInstanceTree):
2758
2759 2011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
2760
2761         Unreviewed, rolling out r74961.
2762         http://trac.webkit.org/changeset/74961
2763         https://bugs.webkit.org/show_bug.cgi?id=51867
2764
2765         breaks 32/64-bits debug bots build (Requested by philn-tp on
2766         #webkit).
2767
2768         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
2769         (WebCore::GStreamerGWorld::setWindowOverlay):
2770
2771 2011-01-03  Philippe Normand  <pnormand@igalia.com>
2772
2773         Rubber-stamped by Eric Seidel.
2774
2775         [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30
2776         https://bugs.webkit.org/show_bug.cgi?id=51810
2777
2778         Based on a patch by Mart Raudsepp.
2779
2780         No new tests, build fix only.
2781
2782         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
2783         (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay
2784         API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was
2785         introduced in same version as the xoverlay API change.
2786
2787 2011-01-04  Leo Yang  <leo.yang@torchmobile.com.cn>
2788
2789         Reviewed by Dirk Schulze.
2790
2791         Malformed SVG causes crash in updateContainerOffset
2792         https://bugs.webkit.org/show_bug.cgi?id=44610
2793
2794         We should check recursive <use> at the begining of
2795         WebCore::SVGUseElement::buildInstanceTree instead
2796         of at the end of it because the target element's
2797         children may cause infinite recursive <use>.
2798
2799         Test: svg/custom/recursive-use.svg
2800
2801         * svg/SVGUseElement.cpp:
2802         (WebCore::SVGUseElement::buildInstanceTree):
2803
2804 2011-01-04  Kent Tamura  <tkent@chromium.org>
2805
2806         Unreviewed, build fix.
2807
2808         Try to fix Clang build.
2809
2810         * css/CSSParser.cpp:
2811         (WebCore::valueFromSideKeyword):
2812         (WebCore::CSSParser::parseLinearGradient):
2813
2814 2011-01-03  Julie-Jeongeun-Kim  <Jeongeun.Kim@obigo.com>
2815
2816         Reviewed by Darin Adler.
2817
2818         HTML5 Conformance Test failure: approved/xhtml5/object_border_pixel.xhtml
2819         https://bugs.webkit.org/show_bug.cgi?id=48596
2820         
2821         border attribute was not parsed in HTMLObjectElement.
2822         I added code for it as HTMLImageElement handled.
2823
2824         new test:fast/html/object-border.html
2825
2826         * html/HTMLObjectElement.cpp:
2827         (WebCore::HTMLObjectElement::parseMappedAttribute):
2828
2829 2011-01-03  Darin Adler  <darin@apple.com>
2830
2831         Try to fix Chromium build.
2832
2833         * history/HistoryItem.cpp:
2834         (WebCore::HistoryItem::encodeBackForwardTreeNode): Added a V8 case here.
2835         Not sure this ever will be used with V8.
2836         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
2837
2838 2011-01-03  Darin Adler  <darin@apple.com>
2839
2840         Try to fix Leopard build.
2841
2842         * history/HistoryItem.cpp: Use a consistent type, uint64_t, for the
2843         size variable.
2844
2845 2011-01-03  Abhishek Arya  <inferno@chromium.org>
2846
2847         Reviewed by Darin Adler.
2848
2849         Fixes before child calculation when adding anonymous childs to table parts.
2850         https://bugs.webkit.org/show_bug.cgi?id=50932
2851
2852         Fix in r74364 was incomplete. When before child is equal to the table part(to
2853         which the new child is getting added), it confuses the table part to add it
2854         incorrectly as an after child. The patch fixes by passing the before child as
2855         the table part's first child.
2856
2857         Tests: fast/css-generated-content/table-before-after-child-add.html
2858                fast/css-generated-content/table-cell-before-after-child-add.html
2859                fast/css-generated-content/table-row-before-after-child-add.html
2860                fast/css-generated-content/table-row-before-after-child-add.html
2861
2862         * rendering/RenderTable.cpp:
2863         (WebCore::RenderTable::addChild):
2864         * rendering/RenderTableRow.cpp:
2865         (WebCore::RenderTableRow::addChild):
2866         * rendering/RenderTableSection.cpp:
2867         (WebCore::RenderTableSection::addChild):
2868
2869 2011-01-03  Dan Bernstein  <mitz@apple.com>
2870
2871         Reviewed by Simon Fraser.
2872
2873         Shrink HTMLTableCellElement
2874         https://bugs.webkit.org/show_bug.cgi?id=51858
2875
2876         * html/HTMLTableCellElement.cpp:
2877         (WebCore::HTMLTableCellElement::HTMLTableCellElement): Removed intialization of m_row and
2878         m_col.
2879         * html/HTMLTableCellElement.h: Removed m_row and m_col and their accessors.
2880
2881 2011-01-03  Darin Adler  <darin@apple.com>
2882
2883         Fix build.
2884
2885         * platform/network/FormData.cpp:
2886         (WebCore::FormData::create): Roll back uint8_t change.
2887         (WebCore::FormData::flatten): Ditto.
2888         (WebCore::FormData::flattenToString): Ditto.
2889         (WebCore::encode): Ditto.
2890         (WebCore::decode): Ditto.
2891         (WebCore::FormData::encodeForBackForward):
2892         * platform/network/FormData.h: Ditto.
2893         * platform/network/mac/FormDataStreamMac.mm:
2894         (WebCore::advanceCurrentStream): Ditto.
2895
2896 2011-01-03  Darin Adler  <darin@apple.com>
2897
2898         Reviewed by Brady Eidson.
2899
2900         Add code to encode/decode the back/forward tree
2901         https://bugs.webkit.org/show_bug.cgi?id=51853
2902
2903         * history/HistoryItem.cpp:
2904         (WebCore::HistoryItem::encodeBackForwardTree): Added.
2905         (WebCore::HistoryItem::encodeBackForwardTreeNode): Added.
2906         (WebCore::HistoryItem::decodeBackForwardTree): Added.
2907         * history/HistoryItem.h: Added functions above.
2908
2909         * platform/network/FormData.cpp:
2910         (WebCore::FormData::create): Changed type to Vector<uint8_t> instead of
2911         Vector<char>. This type is used in our newer code for vectors of bytes.
2912         (WebCore::FormData::flatten): Ditto.
2913         (WebCore::FormData::flattenToString): Ditto. Had to add a cast here.
2914         (WebCore::FormData::encodeForBackForward): Added.
2915         (WebCore::FormData::decodeForBackForward): Added.
2916         * platform/network/FormData.h: Changed type to Vector<uint8_t> instead of
2917         Vector<char>. Also made some single-argument constructors explicit.
2918         Also added the new functions.
2919
2920         * platform/network/mac/FormDataStreamMac.mm:
2921         (WebCore::advanceCurrentStream): Changed to use uint8_t to match above.
2922
2923 2011-01-03  Simon Fraser  <simon.fraser@apple.com>
2924
2925         Attempt to fix GTK build.
2926
2927         * platform/graphics/gtk/FontGtk.cpp:
2928         (WebCore::drawGlyphsShadow):
2929
2930 2011-01-03  Helder Correia  <helder@sencha.com>
2931
2932         Reviewed by Simon Fraser.
2933
2934         ContextShadow can avoid code duplication for getting the CTM
2935         https://bugs.webkit.org/show_bug.cgi?id=51799
2936
2937         ContextShadow defines its own getTransformationMatrixFromContext()
2938         which does exactly the same as GraphicsContext::getCTM().
2939
2940         Existing tests: fast/canvas/canvas*shadow*html
2941
2942         * platform/graphics/ContextShadow.cpp:
2943         (WebCore::ContextShadow::mustUseContextShadow):
2944         (WebCore::ContextShadow::adjustBlurDistance):
2945         (WebCore::ContextShadow::calculateLayerBoundingRect):
2946         * platform/graphics/ContextShadow.h:
2947         * platform/graphics/cairo/ContextShadowCairo.cpp:
2948         (WebCore::ContextShadow::beginShadowLayer):
2949         (WebCore::ContextShadow::endShadowLayer):
2950         (WebCore::ContextShadow::drawRectShadowWithoutTiling):
2951         * platform/graphics/cairo/FontCairo.cpp:
2952         (WebCore::drawGlyphsShadow):
2953         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2954         (WebCore::drawPathShadow):
2955         * platform/graphics/cairo/ImageCairo.cpp:
2956         (WebCore::BitmapImage::draw):
2957         * platform/graphics/gtk/FontGtk.cpp:
2958         (WebCore::drawGlyphsShadow):
2959         * platform/graphics/qt/ContextShadowQt.cpp:
2960         (WebCore::ContextShadow::beginShadowLayer):
2961         (WebCore::ContextShadow::endShadowLayer):
2962         * platform/graphics/qt/FontQt.cpp:
2963         (WebCore::drawTextCommon):
2964         * platform/graphics/qt/GraphicsContextQt.cpp:
2965         (WebCore::GraphicsContext::fillPath):
2966         (WebCore::GraphicsContext::strokePath):
2967         (WebCore::GraphicsContext::fillRect):
2968         (WebCore::GraphicsContext::fillRoundedRect):
2969         * platform/graphics/qt/ImageQt.cpp:
2970         (WebCore::BitmapImage::draw):
2971         * platform/graphics/qt/StillImageQt.cpp:
2972         (WebCore::StillImage::draw):
2973
2974 2011-01-03  Darin Adler  <darin@apple.com>
2975
2976         Reviewed by Dan Bernstein.
2977
2978         InsertTextCommand::m_charactersAdded is unused
2979         https://bugs.webkit.org/show_bug.cgi?id=51849
2980
2981         * editing/InsertTextCommand.cpp:
2982         (WebCore::InsertTextCommand::InsertTextCommand): Don't initialize m_charactersAdded.
2983         (WebCore::InsertTextCommand::input): Don't update m_charactersAdded.
2984         * editing/InsertTextCommand.h: Removed charactersAdded function and
2985         m_charactersAdded data member.
2986
2987 2011-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2988
2989         Reviewed by Martin Robinson.
2990
2991         [GTK] Move paintMenuListButton() to RenderThemeGtk.cpp
2992         https://bugs.webkit.org/show_bug.cgi?id=51832
2993
2994         Method paintMenuListButton() contains code common to both gtk 2
2995         and 3, so it can be moved to RenderThemeGtk.cpp instead of
2996         duplicating it.
2997
2998         * platform/gtk/RenderThemeGtk.cpp:
2999         (WebCore::RenderThemeGtk::paintMenuListButton):
3000         * platform/gtk/RenderThemeGtk2.cpp:
3001         * platform/gtk/RenderThemeGtk3.cpp:
3002
3003 2011-01-03  Pratik Solanki  <psolanki@apple.com>
3004
3005         Reviewed by Darin Adler.
3006
3007         https://bugs.webkit.org/show_bug.cgi?id=51850
3008         Put CFNetwork loader code inside USE(CFNETWORK)
3009
3010         Add USE(CFNETWORK) macros around all the cf/mac network files. Also added all CFNetwork
3011         files to the WebCore Xcode project.
3012
3013         * WebCore.xcodeproj/project.pbxproj:
3014         * loader/cf/ResourceLoaderCFNet.cpp:
3015         * loader/mac/ResourceLoaderMac.mm:
3016         * platform/network/cf/AuthenticationCF.cpp:
3017         * platform/network/cf/AuthenticationCF.h:
3018         * platform/network/cf/CookieJarCFNet.cpp:
3019         * platform/network/cf/CookieStorageCFNet.cpp:
3020         * platform/network/cf/CookieStorageCFNet.h:
3021         * platform/network/cf/CredentialStorageCFNet.cpp:
3022         * platform/network/cf/FormDataStreamCFNet.cpp:
3023         * platform/network/cf/FormDataStreamCFNet.h:
3024         * platform/network/cf/LoaderRunLoopCF.cpp:
3025         * platform/network/cf/LoaderRunLoopCF.h:
3026         * platform/network/cf/ResourceError.h:
3027         * platform/network/cf/ResourceHandleCFNet.cpp:
3028         * platform/network/cf/ResourceRequest.h:
3029         * platform/network/cf/ResourceRequestCFNet.cpp:
3030         * platform/network/cf/ResourceRequestCFNet.h:
3031         * platform/network/cf/ResourceResponse.h:
3032         * platform/network/cf/ResourceResponseCFNet.cpp:
3033         * platform/network/mac/AuthenticationMac.h:
3034         * platform/network/mac/AuthenticationMac.mm:
3035         * platform/network/mac/FormDataStreamMac.h:
3036         * platform/network/mac/FormDataStreamMac.mm:
3037         * platform/network/mac/ResourceError.h:
3038         * platform/network/mac/ResourceHandleMac.mm:
3039         * platform/network/mac/ResourceRequest.h:
3040         * platform/network/mac/ResourceRequestMac.mm:
3041         * platform/network/mac/ResourceResponse.h:
3042         * platform/network/mac/ResourceResponseMac.mm:
3043
3044 2011-01-03  Yi Shen  <yi.4.shen@nokia.com>
3045
3046         Reviewed by Adam Barth.
3047
3048         [Qt] Add SelectAll option to the context menu for the editor
3049         https://bugs.webkit.org/show_bug.cgi?id=50049
3050
3051         Enable SelectAll for the Qt context menu.
3052
3053         * page/ContextMenuController.cpp:
3054         (WebCore::ContextMenuController::populate):
3055         * platform/ContextMenuItem.h:
3056         * platform/LocalizationStrategy.h:
3057         * platform/LocalizedStrings.cpp:
3058         (WebCore::contextMenuItemTagSelectAll):
3059         * platform/LocalizedStrings.h:
3060
3061 2011-01-03  Dan Bernstein  <mitz@apple.com>
3062
3063         Reviewed by Darin Adler.
3064
3065         Shrink RootInlineBox
3066         https://bugs.webkit.org/show_bug.cgi?id=51847
3067
3068         * rendering/RootInlineBox.cpp:
3069         (WebCore::RootInlineBox::alignBoxesInBlockDirection): Changed to use the baselineType()
3070         accessor.
3071         * rendering/RootInlineBox.h: Rolled m_baselineType into a bitfield. Changed its type to
3072         unsigned because otherwise MSVC treats it as signed.
3073         (WebCore::RootInlineBox::baselineType): Added a cast.
3074
3075 2011-01-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3076
3077         Reviewed by Martin Robinson.
3078
3079         [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
3080         https://bugs.webkit.org/show_bug.cgi?id=50698
3081
3082         Fix DOM bindings generation to no longer include the now-gone
3083         webkitprivate.h header, including the appropriate replacements
3084         instead.
3085
3086         * bindings/scripts/CodeGeneratorGObject.pm:
3087
3088 2011-01-03  Brady Eidson  <beidson@apple.com>
3089
3090         Reviewed by Darin Adler.
3091
3092         Add Encode/Decode machinery Darin and I plan to work with for back/forward stuff in WebKit2.
3093
3094         * ForwardingHeaders/wtf/Decoder.h: Added.
3095         * ForwardingHeaders/wtf/Encoder.h: Added.
3096
3097 2011-01-03  Chris Fleizach  <cfleizach@apple.com>
3098
3099         Reviewed by Darin Adler.
3100
3101         AX: Regression: WebKit no longer auto-scrolls with VoiceOver navigation
3102         https://bugs.webkit.org/show_bug.cgi?id=51833
3103
3104         Make sure the web area returns the contentsSize, not the same size as what is displayed.
3105
3106         Test: platform/mac/accessibility/webarea-size-equals-content-size.html
3107
3108         * accessibility/AccessibilityRenderObject.cpp:
3109         (WebCore::AccessibilityRenderObject::boundingBoxRect):
3110
3111 2011-01-03  Simon Fraser  <simon.fraser@apple.com>
3112
3113         Fix warning in 32-bit builds.
3114
3115         * css/CSSGradientValue.cpp:
3116         (WebCore::CSSLinearGradientValue::createGradient):
3117
3118 2011-01-03  Benjamin C Meyer  <bmeyer@rim.com>
3119
3120         Reviewed by Daniel Bates.
3121
3122         In the cmake build system move logic related to ENABLE_NOTIFICATIONS into its own block.
3123         https://bugs.webkit.org/show_bug.cgi?id=51827
3124
3125         * CMakeLists.txt:
3126
3127 2011-01-03  Dan Bernstein  <mitz@apple.com>
3128
3129         Reviewed by Simon Fraser.
3130
3131         Remove the unused RenderTableCell::m_percentageHeight
3132         https://bugs.webkit.org/show_bug.cgi?id=51837
3133
3134         * rendering/RenderTableCell.cpp:
3135         (WebCore::RenderTableCell::RenderTableCell): Removed initialization of m_percentageHeight.
3136         * rendering/RenderTableCell.h: Removed m_percentageHeight.
3137
3138 2011-01-03  Simon Fraser  <simon.fraser@apple.com>
3139
3140         Reviewed by David Hyatt.
3141
3142         Implement -webkit-linear-gradient and -webkit-radial-gradient
3143         https://bugs.webkit.org/show_bug.cgi?id=28152
3144
3145         Add support for -webkit-radial-gradients.
3146
3147         Tests: fast/gradients/css3-radial-gradients.html
3148                fast/gradients/css3-radial-gradients2.html
3149
3150         * css/CSSGradientValue.cpp:
3151         (WebCore::blend): Used to blend colors, which is necessary when truncating
3152         the start of radial gradients.
3153         (WebCore::GradientStop): Small struct to aid gradient stop processing.
3154         (WebCore::CSSGradientValue::addStops): Rename 'positions' to 'stops', and store
3155         the color so that we can blend it when truncating radial gradients. Changed
3156         to handle both linear and radial gradients.
3157         (WebCore::CSSRadialGradientValue::cssText): Update to follow the spec.
3158         (WebCore::CSSRadialGradientValue::resolveRadius): Stylistic change.
3159         (WebCore::distanceToClosestCorner): New utility method.
3160         (WebCore::distanceToFarthestCorner): Ditto.
3161         (WebCore::CSSRadialGradientValue::createGradient): New logic to deal with shape and
3162         fill rules.
3163
3164         * css/CSSGradientValue.h:
3165         (WebCore::CSSGradientValue::isLinearGradient): Color-stop processing needs to know what
3166         kind of gradient it's dealing with, so add new isFooGradient methods.
3167         (WebCore::CSSGradientValue::isRadialGradient): Ditto.
3168         (WebCore::CSSLinearGradientValue::isLinearGradient):
3169         (WebCore::CSSRadialGradientValue::setShape): New setters for shape, size etc.
3170         (WebCore::CSSRadialGradientValue::setSizingBehavior):
3171         (WebCore::CSSRadialGradientValue::setEndHorizontalSize):
3172         (WebCore::CSSRadialGradientValue::setEndVerticalSize):
3173         (WebCore::CSSRadialGradientValue::isRadialGradient):
3174
3175         * css/CSSParser.h:
3176         * css/CSSParser.h: Pass a CSSParserValueList* into parseFillPositionXY() and parseFillPosition()
3177         so we can use parseFillPosition() when parsing a gradient function.
3178         * css/CSSParser.cpp:
3179         (WebCore::CSSParser::parseFillPositionXY): Pass in a CSSParserValueList*
3180         (WebCore::CSSParser::parseFillPosition): Ditto
3181         (WebCore::CSSParser::parseFillProperty): Pass m_valueList to parseFillPosition.
3182         (WebCore::CSSParser::parseTransformOriginShorthand): Ditto
3183         (WebCore::CSSParser::parseRadialGradient): Flesh out radial gradient parsing.
3184         (WebCore::CSSParser::parseTransformOrigin): Pass m_valueList to parseFillPosition.
3185         (WebCore::CSSParser::parsePerspectiveOrigin): Ditto
3186
3187         * css/CSSValueKeywords.in: New keywords for radial gradient shape and fill behaviors.
3188
3189         * platform/graphics/Gradient.cpp:
3190         (WebCore::Gradient::Gradient): Pass aspect ratio for elliptical gradients.
3191         * platform/graphics/Gradient.h: Add aspect ratio for elliptical gradients.
3192         (WebCore::Gradient::create):
3193         (WebCore::Gradient::startRadius): Expose radii.
3194         (WebCore::Gradient::endRadius):
3195         (WebCore::Gradient::setStartRadius): Setters are required for when we need to scale color stops.
3196         (WebCore::Gradient::setEndRadius):
3197         (WebCore::Gradient::aspectRatio):
3198         * platform/graphics/cg/GradientCG.cpp:
3199         (WebCore::Gradient::paint): For elliptical gradients, scale the CTM.
3200         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3201         (WebCore::GraphicsContext::fillRect): Use start/endRadius() rather than r0() and r1().
3202
3203 2011-01-03  Simon Fraser  <simon.fraser@apple.com>
3204
3205         Reviewed by David Hyatt.
3206
3207         Implement -webkit-linear-gradient and -webkit-radial-gradient
3208         https://bugs.webkit.org/show_bug.cgi?id=28152
3209         
3210         Add support for the parsing and rendering of non-repeating CSS3 linear gradients,
3211         according to <http://dev.w3.org/csswg/css3-images/#linear-gradients>.
3212
3213         Tests: fast/gradients/css3-color-stop-units.html
3214                fast/gradients/css3-color-stops.html
3215                fast/gradients/css3-gradient-parsing.html
3216                fast/gradients/css3-linear-angle-gradients.html
3217
3218         * css/CSSGradientValue.h:
3219         Add subclasses of CSSGradientValue for linear and radial gradients.
3220         
3221         * css/CSSGradientValue.cpp:
3222         (WebCore::CSSGradientValue::image): Add FIXME comment about why we can't cache
3223         the gradient sometimes.
3224         (WebCore::compareStops): positions are CSSValues now.
3225         (WebCore::CSSGradientValue::sortStopsIfNeeded): Add assertion that this is only called
3226         for old-style gradients.
3227         (WebCore::CSSGradientValue::addStops): New method that handles the spec rules about
3228         missing positions, ensuring that stop position is ordered, and spacing out stops
3229         without positions. Also normalize gradients which use stops outside the 0-1 range
3230         so that platforms can render them correctly.
3231         (WebCore::positionFromValue): Determin the position on the gradient line for percentage,
3232         number and length values.
3233         (WebCore::CSSGradientValue::computeEndPoint):
3234         (WebCore::CSSLinearGradientValue::cssText):
3235         (WebCore::endPointsFromAngle): Compute endpoints for a gradient which covers the rectangle
3236         given an angle.
3237         (WebCore::CSSLinearGradientValue::createGradient):
3238         (WebCore::CSSRadialGradientValue::cssText):
3239         (WebCore::CSSRadialGradientValue::resolveRadius):
3240         (WebCore::CSSRadialGradientValue::createGradient):
3241
3242         * css/CSSParser.cpp:
3243         (WebCore::CSSParser::parseValue): Style fix.
3244         (WebCore::CSSParser::parseContent): Use isGeneratedImageValue() and parseGeneratedImage()
3245         (WebCore::CSSParser::parseFillImage): Use isGeneratedImageValue() and parseGeneratedImage()
3246         (WebCore::CSSParser::parseBorderImage): Use isGeneratedImageValue() and parseGeneratedImage()
3247         (WebCore::parseDeprecatedGradientPoint): Renamed to indicate that it's only used for -webkit-gradient.
3248         (WebCore::parseDeprecatedGradientColorStop): Renamed to indicate that it's only used for -webkit-gradient,
3249         and fixed to store CSSValues for the stop position.
3250         (WebCore::CSSParser::parseDeprecatedGradient): Renamed to indicate that it's only used for -webkit-gradient,
3251         and create CSSLinearGradientValue and CSSRadialGradientValue as appropriate.
3252         (WebCore::valueFromSideKeyword):
3253         (WebCore::parseGradientColorOrKeyword): Color parsing utility.
3254         (WebCore::CSSParser::parseLinearGradient): New method to parse linear gradients.
3255         (WebCore::CSSParser::parseRadialGradient): Stub for new method to parse radial gradients.
3256         (WebCore::CSSParser::isGeneratedImageValue): Detect gradients and CSS canvas.
3257         (WebCore::CSSParser::parseGeneratedImage): Parser for generated images like gradients
3258         and CSS canvas.
3259         * css/CSSParser.h:
3260         * platform/graphics/Gradient.h:
3261         (WebCore::Gradient::setP0): We need to be able to change the points when normalizing gradients.
3262         (WebCore::Gradient::setP1): Ditto.
3263
3264 2011-01-03  Noam Rosenthal  <noam.rosenthal@nokia.com>
3265
3266         Reviewed by Andreas Kling.
3267
3268         [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
3269         https://bugs.webkit.org/show_bug.cgi?id=51464
3270
3271         Added a way to bind any QObject created as a plugin to JavaScript, 
3272         by adding a custom member (qtObject) to WebCore::Widget. 
3273         Added a test to tst_qwebpage to make sure plugins created 
3274         as QGraphicsWidget are accessible through JavaScript.
3275
3276         * bindings/js/ScriptControllerQt.cpp:
3277         (WebCore::ScriptController::createScriptInstanceForWidget):
3278         * platform/Widget.h:
3279         * platform/qt/WidgetQt.cpp:
3280         (WebCore::Widget::Widget):
3281         (WebCore::Widget::setBindingObject):
3282         (WebCore::Widget::bindingObject):
3283
3284 2011-01-03  David Hyatt  <hyatt@apple.com>
3285
3286         Reviewed by Simon Fraser.
3287
3288         https://bugs.webkit.org/show_bug.cgi?id=51328
3289
3290         Printing on a page with body { height: 100% } clips out the overflow contents.  This happened
3291         because the computePageRects function was never correct.  It was using the layer's width and height
3292         for the document's width and height, and the layer no longer includes overflow in its width and
3293         height.  It was also incorrectly assuming the first page would begin at (0,0), and this is an invalid
3294         assumption in RTL or vertical text environments.
3295
3296         Added printing/page-count-percentage-height.html
3297
3298         * page/PrintContext.cpp:
3299         (WebCore::PrintContext::computePageRects):
3300         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
3301
3302 2011-01-03  Csaba Osztrogonác  <ossy@webkit.org>
3303
3304         [Qt] Unreviewed buildfix for --minimal build after r74895.
3305
3306         * html/InputType.cpp: Missing include added.
3307         * html/NumberInputType.cpp: Missing include added.
3308
3309 2011-01-02  Darin Adler  <darin@apple.com>
3310
3311         Reviewed by Kent Tamura.
3312
3313         Eliminate HTMLInputElement::m_deprecatedTypeNumber, other input refactoring and renaming
3314         https://bugs.webkit.org/show_bug.cgi?id=51791
3315
3316         * dom/InputElement.h: Make sanitizeValueForTextField public so it can
3317         be called by InputType.
3318
3319         * html/BaseButtonInputType.cpp:
3320         (WebCore::BaseButtonInputType::accessKeyAction): Added.
3321         (WebCore::BaseButtonInputType::storesValueSeparateFromAttribute): Added.
3322         * html/BaseButtonInputType.h: Ditto.
3323
3324         * html/BaseCheckableInputType.cpp:
3325         (WebCore::BaseCheckableInputType::canSetStringValue): Added.
3326         (WebCore::BaseCheckableInputType::accessKeyAction): Added.
3327         (WebCore::BaseCheckableInputType::fallbackValue): Added.
3328         (WebCore::BaseCheckableInputType::storesValueSeparateFromAttribute): Added.
3329         (WebCore::BaseCheckableInputType::isCheckable): Added.
3330         * html/BaseCheckableInputType.h: Ditto.
3331
3332         * html/BaseDateAndTimeInputType.cpp:
3333         (WebCore::BaseDateAndTimeInputType::hasSpinButton): Added.
3334         * html/BaseDateAndTimeInputType.h: Ditto.
3335
3336         * html/BaseTextInputType.h: Made more functions private.
3337
3338         * html/ButtonInputType.cpp:
3339         (WebCore::ButtonInputType::isTextButton): Added.
3340         * html/ButtonInputType.h: Ditto.
3341
3342         * html/CheckboxInputType.cpp:
3343         (WebCore::CheckboxInputType::willDispatchClick): Added.
3344         (WebCore::CheckboxInputType::didDispatchClick): Added.
3345         (WebCore::CheckboxInputType::isCheckbox): Added.
3346         * html/CheckboxInputType.h: Ditto.
3347
3348         * html/DateTimeInputType.cpp:
3349         (WebCore::DateTimeInputType::scaledStepValueShouldBeInteger): Fixed
3350         typo in name of this function.
3351         * html/DateTimeInputType.h: Ditto.
3352         * html/DateTimeLocalInputType.cpp:
3353         (WebCore::DateTimeLocalInputType::scaledStepValueShouldBeInteger): Ditto.
3354         * html/DateTimeLocalInputType.h: Ditto.
3355
3356         * html/EmailInputType.cpp:
3357         (WebCore::EmailInputType::isEmailField): Added.
3358         * html/EmailInputType.h: Ditto.
3359
3360         * html/FileInputType.cpp:
3361         (WebCore::FileInputType::FileInputType): Added.
3362         (WebCore::FileInputType::canSetStringValue): Added.
3363         (WebCore::FileInputType::canChangeFromAnotherType): Added.
3364         (WebCore::FileInputType::files): Added.
3365         (WebCore::FileInputType::canSetValue): Added.
3366         (WebCore::FileInputType::getTypeSpecificValue): Added.
3367         (WebCore::FileInputType::storesValueSeparateFromAttribute): Added.
3368         (WebCore::FileInputType::setFileList): Added.
3369         (WebCore::FileInputType::isFileUpload): Added.
3370         * html/FileInputType.h: Ditto.
3371
3372         * html/HTMLInputElement.cpp:
3373         (WebCore::HTMLInputElement::HTMLInputElement): Updated for data member
3374         renaming and removal.
3375         (WebCore::HTMLInputElement::isValidValue): Call canSetStringValue
3376         instead of checking specific type numbers.
3377         (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
3378         Use fastGetAttribute and fixed typo in the name of the
3379         scaledStepValueShouldBeInteger function.
3380         (WebCore::HTMLInputElement::isKeyboardFocusable): Call
3381         InputType::isKeyboardFocusable; moved most of the type-specific
3382         logic there.
3383         (WebCore::HTMLInputElement::shouldUseInputMethod): Call
3384         InputType::shouldUseInputMethod; moved the type-specific logic there.
3385         (WebCore::HTMLInputElement::handleBlurEvent): Call
3386         InputType::handleBlurEvent; moved the type-specific logic there.
3387         (WebCore::HTMLInputElement::setType): Tweak the names and types
3388         in this function.
3389         (WebCore::HTMLInputElement::updateType): Removed the code that
3390         set m_deprecatedTypeNumber. Compare types by comparing the value
3391         from formControlType. Removed file-specific logic and instead call
3392         InputType::canChangeFromAnotherType. Streamlined the logic for
3393         activation callbacks.
3394         (WebCore::HTMLInputElement::accessKeyAction): Call
3395         InputType::accessKeyAction; moved the type-specific logic there.
3396         (WebCore::HTMLInputElement::mapToEntry): Call
3397         InputType::shouldRespectHeightAndWidthAttributes and
3398         InputType::shouldRespectAlignAttribute.
3399         (WebCore::HTMLInputElement::parseMappedAttribute): Updated
3400         for name changes and the removal of m_defaultChecked. Changed the
3401         alt attribute logic to be based on the class of the renderer.
3402         Call InputType::srcAttributeChanged and moved the type-specific
3403         logic there. Call shouldRespectAlignAttribute and
3404         shouldRespectHeightAndWidthAttributes rather than having
3405         type-specific logic here. Call minOrMaxAttributeChanged.
3406         (WebCore::HTMLInputElement::rendererIsNeeded): Call
3407         InputType::rendererIsNeeded; moved the type-specific logic there.
3408         (WebCore::HTMLInputElement::attach): Removed the unneeded m_inited
3409         flag, which was redundant with the m_haveType flag. Call
3410         InputType::attach; moved the type-specific logic there.
3411         (WebCore::HTMLInputElement::altText): Use fastGetAttribute.
3412         (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Call
3413         InputType::canBeSuccessfulSubmitButton; moved the type-specific
3414         logic there.
3415         (WebCore::HTMLInputElement::isActivatedSubmit): Updated for
3416         name changes.
3417         (WebCore::HTMLInputElement::setActivatedSubmit): Ditto.
3418         (WebCore::HTMLInputElement::reset): Updated to use
3419         InputType::storesValueSeparateFromAttribute. Also use
3420         hasAttribute(checkedAttr) rather than m_defaultChecked,
3421         since both are the same. Also updated for name change.
3422         (WebCore::HTMLInputElement::setChecked): Updated for name
3423         changes. Also added call to
3424         InputType::shouldSendChangeEventAfterCheckedChanged and
3425         moved the type-specific logic there.
3426         (WebCore::HTMLInputElement::setIndeterminate): Call
3427         isCheckable to see if indeterminate is allowed.
3428         Also updated for name changes.
3429         (WebCore::HTMLInputElement::copyNonAttributeProperties):
3430         Updated for name changes and removed data members.
3431         (WebCore::HTMLInputElement::value): Call
3432         InputType::getTypeSpecificValue and InputType::fallbackValue.
3433         Moved the type-specific logic there.
3434         (WebCore::HTMLInputElement::valueWithDefault): Call
3435         InputType::defaultValue. Moved the type-specific logic there.
3436         (WebCore::HTMLInputElement::setSuggestedValue): Call
3437         InputType::canSetSuggestedValue. Moved the type-specific logic
3438         there.
3439         (WebCore::HTMLInputElement::setValue): Call
3440         InputType::canSetValue. Moved the type-specific logic there.
3441         Clear the file list if it exists rather than checking the
3442         type explicitly. We could probably do that a more elegant way.
3443         (WebCore::HTMLInputElement::placeholder): Use fastGetAttribute.
3444         (WebCore::HTMLInputElement::setValueFromRenderer): Use the
3445         isFileUpload function in the assertion.
3446         (WebCore::HTMLInputElement::setFileListFromRenderer): Put most
3447         of the code from this function into FileInputType::setFileList.
3448         (WebCore::HTMLInputElement::preDispatchEventHandler): Changed
3449         to call InputType::willDispatchClick, which does the type-specific
3450         work. Still need to use a single struct for all types, because
3451         the type of the element could change during the event handling.
3452         (WebCore::HTMLInputElement::postDispatchEventHandler): Changed
3453         to call InputType::didDispatchClick.
3454         (WebCore::HTMLInputElement::defaultValue): Use fastGetAttribute.
3455         (WebCore::HTMLInputElement::accept): Use fastGetAttribute.
3456         (WebCore::HTMLInputElement::alt): Use fastGetAttribute.
3457         (WebCore::HTMLInputElement::src): Use fastGetAttribute.
3458         (WebCore::HTMLInputElement::setAutofilled): Updated for name
3459         changes.
3460         (WebCore::HTMLInputElement::files): Use InputType::files.
3461         (WebCore::HTMLInputElement::isAcceptableValue): Use
3462         InputType::isAcceptableValue.
3463         (WebCore::HTMLInputElement::sanitizeValue): Use
3464         InputType::sanitizeValue.
3465         (WebCore::HTMLInputElement::hasUnacceptableValue): Use
3466         InputType::hasUnacceptableValue.
3467         (WebCore::HTMLInputElement::needsActivationCallback): Use
3468         InputType::shouldResetOnDocumentActivation.
3469         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Use
3470         InputType::willMoveToNewOwnerDocument.
3471         (WebCore::HTMLInputElement::dataList): Use
3472         InputType::shouldRespectListAttribute.
3473         (WebCore::HTMLInputElement::selectedOption): Tweaked logic
3474         and naming a bit.
3475         (WebCore::HTMLInputElement::stepUpFromRenderer): Use
3476         fastGetAttribute.
3477         (WebCore::HTMLInputElement::isSpeechEnabled): Use
3478         InputType::shouldRespectSpeechAttribute.
3479         (WebCore::HTMLInputElement::isTextButton): No longer inline.
3480         Calls through to InputType.
3481         (WebCore::HTMLInputElement::isRadioButton): Ditto.
3482         (WebCore::HTMLInputElement::isSearchField): Ditto.
3483         (WebCore::HTMLInputElement::isInputTypeHidden): Ditto.
3484         (WebCore::HTMLInputElement::isPasswordField): Ditto.
3485         (WebCore::HTMLInputElement::isCheckbox): Ditto.
3486         (WebCore::HTMLInputElement::isText): Ditto.
3487         (WebCore::HTMLInputElement::isEmailField): Ditto.
3488         (WebCore::HTMLInputElement::isFileUpload): Ditto.
3489         (WebCore::HTMLInputElement::isImageButton): Ditto.
3490         (WebCore::HTMLInputElement::isNumberField): Ditto.
3491         (WebCore::HTMLInputElement::isSubmitButton): Ditto.
3492         (WebCore::HTMLInputElement::isTelephoneField): Ditto.
3493         (WebCore::HTMLInputElement::isURLField): Ditto.
3494         (WebCore::HTMLInputElement::isEnumeratable): Ditto.
3495         (WebCore::HTMLInputElement::isChecked): No longer inline.
3496         Calls InputType::isCheckable.
3497         (WebCore::HTMLInputElement::hasSpinButton): No longer inline.
3498         Calls through to InputType.
3499         (WebCore::HTMLInputElement::supportsPlaceholder): No longer
3500         inline. Calls isTextType as before, but with no special case
3501         for ISINDEX. That special case was unneeded since it returns
3502         true from isTextType.
3503         (WebCore::HTMLInputElement::checkedRadioButtons): No longer
3504         inline.
3505         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
3506         No longer inline.
3507
3508         * html/HTMLInputElement.h: Removed multiple unneeded includes.
3509         The big one is probably InputType.h, but also HTMLFormElement.h.
3510         Removed unneeded forward declarations. Made many functions
3511         no longer inline since they now need to make virtual function
3512         dispatches. Removed the unneeded defaultChecked and
3513         webkitdirectory functions. Both are handled by HTML attribute
3514         reflection for DOM bindings, and the callers instead can get
3515         at the attribute. Made updateCheckedRadioButtons public so it
3516         can be called by an InputType class. Removed
3517         DeprecatedInputType, InputTypeMap, createTypeMap,
3518         deprecatedInputType, allowsIndeterminate,
3519         respectHeightAndWidthAttrs, storesValueSeparateFromAttribute,
3520         m_imageLoader, m_fileList, m_deprecatedTypeNumber,
3521         m_defaultChecked, and m_inited. Renamed m_checked to
3522         m_isChecked, m_useDefaultChecked to m_reflectsCheckedAttribute,
3523         m_indeterminate tom_isIndeterminate, m_haveType to m_hasType,
3524         m_activeSubmit to m_isActivatedSubmit, and m_autofilled to
3525         m_isAutofilled.
3526         
3527         * html/HiddenInputType.cpp:
3528         (WebCore::HiddenInputType::accessKeyAction): Added.
3529         (WebCore::HiddenInputType::rendererIsNeeded) Added.:
3530         (WebCore::HiddenInputType::storesValueSeparateFromAttribute): Added.
3531         (WebCore::HiddenInputType::isHiddenType): Added.
3532         (WebCore::HiddenInputType::shouldRespectHeightAndWidthAttributes): Added.
3533         * html/HiddenInputType.h: Ditto.
3534
3535         * html/ImageInputType.cpp:
3536         (WebCore::ImageInputType::ImageInputType): Moved out of the header file.
3537         (WebCore::ImageInputType::srcAttributeChanged): Added.
3538         (WebCore::ImageInputType::attach): Added.
3539         (WebCore::ImageInputType::willMoveToNewOwnerDocument): Added.
3540         (WebCore::ImageInputType::shouldRespectAlignAttribute): Added.
3541         (WebCore::ImageInputType::canBeSuccessfulSubmitButton): Added.
3542         (WebCore::ImageInputType::isImageButton): Added.
3543         (WebCore::ImageInputType::isEnumeratable): Added.
3544         (WebCore::ImageInputType::shouldRespectHeightAndWidthAttributes): Added.
3545         * html/ImageInputType.h: Ditto.
3546
3547         * html/InputType.cpp:
3548         (WebCore::InputType::create): Changed argument type to String. There
3549         is no value in taking an AtomicString here.
3550         (WebCore::InputType::scaledStepValueShouldBeInteger): Fixed typo in
3551         this function name.
3552         (WebCore::InputType::canSetStringValue): Added.
3553         (WebCore::InputType::isKeyboardFocusable): Added.
3554         (WebCore::InputType::shouldUseInputMethod): Added.
3555         (WebCore::InputType::handleBlurEvent): Added.
3556         (WebCore::InputType::accessKeyAction): Added.
3557         (WebCore::InputType::attach): Added.
3558         (WebCore::InputType::srcAttributeChanged): Added.
3559         (WebCore::InputType::willMoveToNewOwnerDocument): Added.
3560         (WebCore::InputType::shouldRespectAlignAttribute): Added.
3561         (WebCore::InputType::canChangeFromAnotherType): Added.