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