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