2011-04-14 Ilya Tikhonovsky <loislo@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
2
3         Reviewed by Pavel Feldman.
4
5         Web Inspector:Duplicated display of storage db when running Web SQL from an iframe.
6         https://bugs.webkit.org/show_bug.cgi?id=57830
7
8         There was created a new InspectorDatabaseResource entry for every didOpenDatabase event.
9         Moreover there is new WebCore::Database for each didOpenDatabase event.
10         I decided to change the old instance of the Database to a new one if they both use the same file.
11
12         * inspector/InspectorDatabaseAgent.cpp:
13         (WebCore::InspectorDatabaseAgent::didOpenDatabase):
14         (WebCore::InspectorDatabaseAgent::findByFileName):
15         * inspector/InspectorDatabaseAgent.h:
16         * inspector/InspectorDatabaseResource.h:
17         (WebCore::InspectorDatabaseResource::setDatabase):
18
19 2011-04-14  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
20
21         Reviewed by Dirk Schulze.
22
23         svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg crashes in Debug build
24         https://bugs.webkit.org/show_bug.cgi?id=58525
25
26         A renderer is created even for those filter primitives
27         which parent is not a filter. A rendererIsNeeded() is
28         added to SVGFilterPrimitiveStandardAttributes.
29
30         Test: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg
31
32         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
33         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
34         * svg/SVGFilterPrimitiveStandardAttributes.h:
35
36 2011-04-14  Alexis Menard  <alexis.menard@openbossa.org>
37
38         Reviewed by Andreas Kling.
39
40         REGRESSION(r83397) [Qt] When the video is loading and the poster is shown
41         all the controls are not visible except the play button.
42         https://bugs.webkit.org/show_bug.cgi?id=58484
43
44         r83397 introduces a new API hasOwnDisabledStateHandlingFor to handle when
45         the controls should be disabled. Qt port paints its own controls, we don't want
46         the default implementation to handle the hidden/disable state for us.
47
48         Existing tests covers the visibility of the controls.
49
50         * platform/qt/RenderThemeQt.h:
51         (WebCore::RenderThemeQt::hasOwnDisabledStateHandlingFor):
52
53 2011-04-14  Andreas Kling  <andreas.kling@nokia.com>
54
55         Reviewed by Kenneth Rohde Christiansen.
56
57         [Qt] Disabled form controls don't actually look disabled.
58         https://bugs.webkit.org/show_bug.cgi?id=58490
59
60         Unsetting QStyle::State_Enabled is not enough to get the "disabled" appearance
61         when painting controls. We must also set the QStyleOption's palette's current
62         color group.
63
64         * platform/qt/RenderThemeQt.cpp:
65         (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
66
67 2011-04-14  Nancy Piedra  <nancy.piedra@nokia.com>
68
69         Reviewed by Benjamin Poulain.
70
71         [Qt] MediaPlayerPrivateQt::supportsType does not parse codec parameter
72         https://bugs.webkit.org/show_bug.cgi?id=58188
73
74         The codec parameter in MediaPlayerPrivateQt::supportsType was not parsed into
75         a QStringList. This change parses and trims the list.
76
77         An additional test was added to video-can-play-type.html to test parsing of codec parameter.
78
79         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
80         (WebCore::MediaPlayerPrivateQt::supportsType):
81
82 2011-04-14  Zoltan Herczeg  <zherczeg@webkit.org>
83
84         Reviewed by Nikolas Zimmermann.
85
86         Optimizing lightning filter to ARM-NEON SIMD instruction set
87         https://bugs.webkit.org/show_bug.cgi?id=54456
88
89         NEON is the SIMD instruction set for ARM. This instruction set
90         allows to speed-up the lighting filter by 4 times on ARM
91         (on WebCore/manual-tests/svg-filter-animation.svg).
92
93         * WebCore.pri:
94         * WebCore.pro:
95         * platform/graphics/filters/FELighting.cpp:
96         (WebCore::FELighting::drawLighting):
97         (WebCore::getPowerCoefficients):
98         (WebCore::FELighting::drawInteriorPixels):
99         * platform/graphics/filters/FELighting.h:
100         * platform/graphics/filters/arm/FELightingNEON.cpp: Added.
101         (__attribute__):
102         * platform/graphics/filters/arm/FELightingNEON.h: Added.
103
104 2011-04-14  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
105
106         Reviewed by Benjamin Poulain.
107
108         [Qt] GraphicsContext3D internal buffers are not freed
109         https://bugs.webkit.org/show_bug.cgi?id=57530
110
111         * platform/graphics/qt/GraphicsContext3DQt.cpp:
112         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
113
114 2011-04-14  Andy Estes  <aestes@apple.com>
115
116         Reviewed by Maciej Stachowiak.
117
118         REGRESSION (r75555): Safari RSS sidebar jiggles when scrolling
119         https://bugs.webkit.org/show_bug.cgi?id=52988
120         
121         Safari RSS relies on synchronous dispatch of ScrollEvent to update the
122         position of its sidebar during scrolling without producing a jiggling
123         effect. Due to r75555, this event is no longer dispatched synchronously
124         which results in stale repaints before the onscroll handler gets a
125         chance to update the position of the sidebar.
126         
127         Since it is impractical to resolve this issue in Safari RSS itself, add
128         a quirk that restores synchronous ScrollEvent dispatch for Safari RSS.
129         
130         No tests. This is an app-specific change that doesn't affect web
131         content.
132
133         * Android.mk: Add platform/RuntimeApplicationChecks.[cpp|h]
134         * CMakeLists.txt: Ditto.
135         * GNUmakefile.list.am: Ditto.
136         * WebCore.gypi: Ditto.
137         * WebCore.pro: Ditto.
138         * WebCore.vcproj/WebCore.vcproj: Ditto.
139         * WebCore.xcodeproj/project.pbxproj: Ditto.
140         * dom/EventQueue.cpp:
141         (WebCore::shouldDispatchScrollEventSynchronously): Send ScrollEvent
142         synchronously if the embedding application is Safari and the document's
143         URL scheme is "feed" or "feeds".
144         (WebCore::EventQueue::enqueueOrDispatchScrollEvent): Dispatch
145         ScrollEvent synchronously if shouldDispatchScrollEventSynchronously()
146         returns true.
147         * dom/EventQueue.h:
148         * page/EventHandler.cpp:
149         (WebCore::EventHandler::sendScrollEvent): Call enqueueOrDispatchScrollEvent().
150         * platform/RuntimeApplicationChecks.cpp: Added.
151         (WebCore::mainBundleIsEqualTo): Add a helper routine for CF platforms
152         that checks if the main bundle's identifier is equal to a given string.
153         This function returns false for non-CF platforms.
154         (WebCore::applicationIsSafari): Call mainBundleIsEqualTo().
155         (WebCore::applicationIsAppleMail): Ditto.
156         (WebCore::applicationIsMicrosoftMessenger): Ditto.
157         (WebCore::applicationIsAdobeInstaller): Ditto.
158         (WebCore::applicationIsAOLInstantMessenger): Ditto.
159         (WebCore::applicationIsMicrosoftMyDay): Ditto.
160         (WebCore::applicationIsMicrosoftOutlook): Ditto.
161         * platform/mac/RuntimeApplicationChecks.mm: Removed. Functions moved to
162         RuntimeApplicationChecks.cpp.
163         * rendering/RenderLayer.cpp:
164         (WebCore::RenderLayer::scrollTo): Call enqueueOrDispatchScrollEvent().
165         * rendering/RenderListBox.cpp:
166         (WebCore::RenderListBox::scrollTo): Call enqueueOrDispatchScrollEvent().
167
168 2011-04-14  John Bates  <jbates@google.com>
169
170         Reviewed by Kenneth Russell.
171
172         Fix bug with adding wrong context to LayerRendererChromium and get rid of RefPtr loop.
173         https://bugs.webkit.org/show_bug.cgi?id=58383
174
175         * platform/graphics/chromium/LayerRendererChromium.cpp:
176         (WebCore::LayerRendererChromium::addChildContext):
177         (WebCore::LayerRendererChromium::removeChildContext):
178         * platform/graphics/chromium/LayerRendererChromium.h:
179
180 2011-04-14  Renata Hodovan  <reni@webkit.org>
181
182         Reviewed by Nikolas Zimmermann.
183
184         CSS related SVG*Element changes doesn't require relayout
185         https://bugs.webkit.org/show_bug.cgi?id=56906
186
187         The changes of some CSS related SVGFilter properties e.g. lighting_color, flood_color, flood_opacity
188         need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange()
189         we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties
190         via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes.
191
192         Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html
193                svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html
194                svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html
195                svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html
196
197         * platform/graphics/filters/FEFlood.cpp:
198         (WebCore::FEFlood::setFloodColor):
199         (WebCore::FEFlood::setFloodOpacity):
200         * platform/graphics/filters/FEFlood.h:
201         * platform/graphics/filters/FESpecularLighting.cpp:
202         (WebCore::FESpecularLighting::setLightingColor):
203         * platform/graphics/filters/FESpecularLighting.h:
204         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
205         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
206         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
207         * rendering/svg/SVGResourcesCache.cpp:
208         (WebCore::SVGResourcesCache::clientStyleChanged):
209         * svg/SVGFEDiffuseLightingElement.cpp:
210         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
211         * svg/SVGFEFloodElement.cpp:
212         (WebCore::SVGFEFloodElement::setFilterEffectAttribute):
213         * svg/SVGFEFloodElement.h:
214         * svg/SVGFESpecularLightingElement.cpp:
215         (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
216
217 2011-04-13  James Robinson  <jamesr@chromium.org>
218
219         Reviewed by Simon Fraser.
220
221         Allow setting composited backing stores for scrollbars and scroll corners
222         https://bugs.webkit.org/show_bug.cgi?id=57202
223
224         This teaches ScrollableArea to manage GraphicsLayer backings for the two scrollbars and
225         scroll corner. ScrollableArea can position the layers and route invalidation and paint calls to
226         the correct place but depends on subclasses to manage the lifetime of the GraphicsLayers and
227         place them into the correct place in the hierarchy.
228
229         FrameView and RenderLayerCompositor updated to provide layers for frames with overflow controls.
230         that need them.  The overflow control layers are siblings of the frame's clip layer.
231
232         RenderLayer and RenderLayerBacking updated to provide overflow control layers for layers that
233         need them.  Currently, layers are only created for overflow controls on layers that are already composited
234         for other reasons and not necessarily for every RenderLayer with overflow.  Overflow control layers are siblings
235         of the RenderLayerBacking's clipping layer if it exists, otherwise they are siblings of the layer's normal
236         children.
237
238         Tested by a number of compositing/ tests that have scrollbars and by these new tests:
239                compositing/iframes/repaint-after-losing-scrollbars.html
240                compositing/overflow/clip-content-under-overflow-controls.html
241                compositing/overflow/content-gains-scrollbars.html
242                compositing/overflow/content-loses-scrollbars.html
243                compositing/overflow/overflow-scrollbar-layers.html
244                compositing/overflow/repaint-after-losing-scrollbars.html
245
246         * css/CSSStyleSelector.cpp:
247         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
248         * page/FrameView.cpp:
249         (WebCore::FrameView::layerForHorizontalScrollbar):
250         (WebCore::FrameView::layerForVerticalScrollbar):
251         (WebCore::FrameView::layerForScrollCorner):
252         (WebCore::FrameView::syncCompositingStateForThisFrame):
253         (WebCore::FrameView::contentsResized):
254         (WebCore::FrameView::updateScrollCorner):
255         * page/FrameView.h:
256         * platform/ScrollView.cpp:
257         (WebCore::ScrollView::wheelEvent):
258         * platform/ScrollView.h:
259         * platform/ScrollableArea.cpp:
260         (WebCore::ScrollableArea::invalidateScrollbar):
261         (WebCore::ScrollableArea::invalidateScrollCorner):
262         * platform/ScrollableArea.h:
263         (WebCore::ScrollableArea::paintScrollCorner):
264         (WebCore::ScrollableArea::layerForHorizontalScrollbar):
265         (WebCore::ScrollableArea::layerForVerticalScrollbar):
266         (WebCore::ScrollableArea::layerForScrollCorner):
267         * platform/Scrollbar.cpp:
268         (WebCore::Scrollbar::invalidateRect):
269         * platform/Scrollbar.h:
270         * platform/ScrollbarThemeComposite.cpp:
271         (WebCore::ScrollbarThemeComposite::paint):
272         * platform/graphics/chromium/ContentLayerChromium.cpp:
273         (WebCore::ContentLayerChromium::paintContentsIfDirty):
274         * platform/graphics/chromium/LayerRendererChromium.cpp:
275         (WebCore::LayerRendererChromium::create):
276         (WebCore::LayerRendererChromium::LayerRendererChromium):
277         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
278         (WebCore::LayerRendererChromium::drawRootLayer):
279         (WebCore::LayerRendererChromium::setViewport):
280         (WebCore::LayerRendererChromium::updateAndDrawLayers):
281         (WebCore::LayerRendererChromium::updateLayers):
282         (WebCore::LayerRendererChromium::setRootLayer):
283         (WebCore::LayerRendererChromium::cleanupSharedObjects):
284         * platform/graphics/chromium/LayerRendererChromium.h:
285         * platform/mac/ScrollAnimatorMac.mm:
286         (-[ScrollbarPartAnimation setCurrentProgress:]):
287         * platform/win/PopupMenuWin.h:
288         (WebCore::PopupMenuWin::invalidateScrollCornerRect):
289         (WebCore::PopupMenuWin::isScrollCornerVisible):
290         (WebCore::PopupMenuWin::scrollCornerRect):
291         * rendering/RenderLayer.cpp:
292         (WebCore::RenderLayer::scrollCornerRect):
293         (WebCore::RenderLayer::scrollCornerAndResizerRect):
294         (WebCore::RenderLayer::isScrollCornerVisible):
295         (WebCore::RenderLayer::invalidateScrollbarRect):
296         (WebCore::RenderLayer::invalidateScrollCornerRect):
297         (WebCore::RenderLayer::positionOverflowControls):
298         (WebCore::RenderLayer::paintOverflowControls):
299         (WebCore::RenderLayer::paintScrollCorner):
300         (WebCore::RenderLayer::layerForHorizontalScrollbar):
301         (WebCore::RenderLayer::layerForVerticalScrollbar):
302         (WebCore::RenderLayer::layerForScrollCorner):
303         * rendering/RenderLayer.h:
304         (WebCore::RenderLayer::horizontalScrollbar):
305         (WebCore::RenderLayer::verticalScrollbar):
306         * rendering/RenderLayerBacking.cpp:
307         (WebCore::RenderLayerBacking::~RenderLayerBacking):
308         (WebCore::RenderLayerBacking::updateAfterWidgetResize):
309         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
310         (WebCore::RenderLayerBacking::updateInternalHierarchy):
311         (WebCore::RenderLayerBacking::updateClippingLayers):
312         (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
313         (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
314         (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
315         (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
316         (WebCore::paintScrollbar):
317         (WebCore::RenderLayerBacking::paintContents):
318         * rendering/RenderLayerBacking.h:
319         (WebCore::RenderLayerBacking::layerForHorizontalScrollbar):
320         (WebCore::RenderLayerBacking::layerForVerticalScrollbar):
321         (WebCore::RenderLayerBacking::layerForScrollCorner):
322         * rendering/RenderLayerCompositor.cpp:
323         (WebCore::RenderLayerCompositor::updateCompositingLayers):
324         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
325         (WebCore::RenderLayerCompositor::frameViewDidChangeLocation):
326         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
327         (WebCore::RenderLayerCompositor::rootPlatformLayer):
328         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
329         (WebCore::paintScrollbar):
330         (WebCore::RenderLayerCompositor::paintContents):
331         (WebCore::shouldCompositeOverflowControls):
332         (WebCore::RenderLayerCompositor::requiresHorizontalScrollbarLayer):
333         (WebCore::RenderLayerCompositor::requiresVerticalScrollbarLayer):
334         (WebCore::RenderLayerCompositor::requiresScrollCornerLayer):
335         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
336         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
337         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
338         (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
339         * rendering/RenderLayerCompositor.h:
340         (WebCore::RenderLayerCompositor::layerForHorizontalScrollbar):
341         (WebCore::RenderLayerCompositor::layerForVerticalScrollbar):
342         (WebCore::RenderLayerCompositor::layerForScrollCorner):
343         * rendering/RenderListBox.h:
344         (WebCore::RenderListBox::isScrollCornerVisible):
345         (WebCore::RenderListBox::scrollCornerRect):
346         (WebCore::RenderListBox::invalidateScrollCornerRect):
347
348 2011-04-13  Cary Clark  <caryclark@chromium.org>
349  
350          Reviewed by Eric Seidel.
351           
352          [Chromium] allow concurrent Skia and CG datatypes
353          https://bugs.webkit.org/show_bug.cgi?id=57848
354
355          The Chromium port is experimenting with running Skia as the WebKit rendering engine, and CoreGraphics
356          as the UI rendering engine. This permits Chromium to unify its graphics story while leveraging OS X to
357          draw elements like scrollbars and buttons.
358  
359          Restructure the common graphics units, points, and rectangles, to convert to Sk-types and CG-types at
360          the same time. This requires only adding to the existing preprocessor commands, and will have no effect
361          on any existing platform.
362          
363          Eventually, WTF_USE_SKIA_ON_MAC_CHROME will be defined to enable this, but for now, there's no
364          functional change.
365  
366          No new tests as this provides no new functionality.
367  
368          * platform/graphics/FloatPoint.h: Add USE(SKIA_ON_MAC_CHROME) to make CG type and operators visible
369          to a Skia-based Chrome Mac build.
370          * platform/graphics/FloatRect.h: Ditto.
371          * platform/graphics/FloatSize.h: Ditto.
372          * platform/graphics/IntPoint.h: Ditto.
373          * platform/graphics/IntRect.h: Ditto.
374          * platform/graphics/IntSize.h: Ditto.
375          * platform/graphics/cg/FloatPointCG.cpp: Ditto.
376          * platform/graphics/cg/FloatRectCG.cpp: Ditto.
377          * platform/graphics/cg/FloatSizeCG.cpp: Ditto.
378          * platform/graphics/cg/IntPointCG.cpp: Ditto.
379          * platform/graphics/cg/IntRectCG.cpp: Ditto.
380          * platform/graphics/cg/IntSizeCG.cpp: Ditto.
381  
382 2011-04-13  Roland Steiner  <rolandsteiner@chromium.org>
383
384         Reviewed by Dimitri Glazkov.
385
386         Bug 58460 - childTypeAllowed() should be const
387         https://bugs.webkit.org/show_bug.cgi?id=58460
388
389         Made childTypeAllowed const.
390
391         No new tests. (minor refactoring).
392
393         * dom/Attr.cpp:
394         (WebCore::Attr::childTypeAllowed):
395         * dom/Attr.h:
396         * dom/CDATASection.cpp:
397         (WebCore::CDATASection::childTypeAllowed):
398         * dom/CDATASection.h:
399         * dom/Comment.cpp:
400         (WebCore::Comment::childTypeAllowed):
401         * dom/Comment.h:
402         * dom/Document.cpp:
403         (WebCore::Document::childTypeAllowed):
404         * dom/Document.h:
405         * dom/DocumentFragment.cpp:
406         (WebCore::DocumentFragment::childTypeAllowed):
407         * dom/DocumentFragment.h:
408         * dom/Element.cpp:
409         (WebCore::Element::childTypeAllowed):
410         * dom/Element.h:
411         * dom/Node.h:
412         (WebCore::Node::childTypeAllowed):
413         * dom/Notation.cpp:
414         (WebCore::Notation::childTypeAllowed):
415         * dom/Notation.h:
416         * dom/ProcessingInstruction.cpp:
417         (WebCore::ProcessingInstruction::childTypeAllowed):
418         * dom/ProcessingInstruction.h:
419         * dom/Text.cpp:
420         (WebCore::Text::childTypeAllowed):
421         * dom/Text.h:
422
423 2011-04-13  Jon Lee  <jonlee@apple.com>
424
425         Reviewed by Maciej Stachowiak.
426
427         REGRESSION(r81880): Paste menu is disabled for many edit fields (yahoo and google search, yahoo mail msg, forms, etc)
428         https://bugs.webkit.org/show_bug.cgi?id=58284
429         <rdar://problem/9246149>
430
431         * WebCore.exp.in: Exporting EditingBehavior.h for use in WebKit2
432         * editing/EditingBehavior.h:
433         (WebCore::EditingBehavior::shouldClearSelectionWhenLosingWebPageFocus): moving the platform-specific code out of an #ifdef and into this class for run-time instead of compile-time checking
434
435 2011-04-13  Yael Aharon  <yael.aharon@nokia.com>
436
437         Reviewed by Eric Seidel.
438
439         constructLine should take bidiRuns as a parameter
440         https://bugs.webkit.org/show_bug.cgi?id=58458
441
442         Pass bidiRuns to constructLine and move reachedEndOfTextRenderer so that it is
443         declared before constructLine.
444
445         No new tests as this is refactoring only.
446
447         * rendering/RenderBlock.h:
448         * rendering/RenderBlockLineLayout.cpp:
449         (WebCore::reachedEndOfTextRenderer):
450         (WebCore::RenderBlock::constructLine):
451         (WebCore::RenderBlock::layoutInlineChildren):
452
453 2011-04-13  Oliver Hunt  <oliver@apple.com>
454
455         Reviewed by Geoff Garen.
456
457         GC allocate Structure
458         https://bugs.webkit.org/show_bug.cgi?id=58483
459
460         Update WebCore for Structure being a GC allocated object
461
462         * WebCore.exp.in:
463         * bindings/js/JSAudioConstructor.h:
464         (WebCore::JSAudioConstructor::createStructure):
465         * bindings/js/JSDOMBinding.cpp:
466         (WebCore::cacheDOMStructure):
467         * bindings/js/JSDOMBinding.h:
468         (WebCore::DOMObjectWithGlobalPointer::createStructure):
469         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
470         (WebCore::DOMConstructorObject::createStructure):
471         (WebCore::DOMConstructorObject::DOMConstructorObject):
472         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
473         * bindings/js/JSDOMGlobalObject.cpp:
474         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
475         (WebCore::JSDOMGlobalObject::markChildren):
476         * bindings/js/JSDOMGlobalObject.h:
477         (WebCore::JSDOMGlobalObject::createStructure):
478         * bindings/js/JSDOMWindowBase.cpp:
479         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
480         * bindings/js/JSDOMWindowBase.h:
481         (WebCore::JSDOMWindowBase::createStructure):
482         * bindings/js/JSDOMWindowShell.cpp:
483         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
484         (WebCore::JSDOMWindowShell::setWindow):
485         * bindings/js/JSDOMWindowShell.h:
486         (WebCore::JSDOMWindowShell::createStructure):
487         * bindings/js/JSDOMWrapper.h:
488         (WebCore::DOMObject::DOMObject):
489         * bindings/js/JSEventListener.cpp:
490         (WebCore::JSEventListener::JSEventListener):
491         * bindings/js/JSImageConstructor.h:
492         (WebCore::JSImageConstructor::createStructure):
493         * bindings/js/JSImageDataCustom.cpp:
494         (WebCore::toJS):
495         * bindings/js/JSOptionConstructor.h:
496         (WebCore::JSOptionConstructor::createStructure):
497         * bindings/js/JSWorkerContextBase.cpp:
498         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
499         * bindings/js/JSWorkerContextBase.h:
500         (WebCore::JSWorkerContextBase::createStructure):
501         * bindings/js/ScriptCachedFrameData.h:
502         * bindings/js/SerializedScriptValue.h:
503         * bindings/js/WorkerScriptController.cpp:
504         (WebCore::WorkerScriptController::initScript):
505         * bindings/scripts/CodeGeneratorJS.pm:
506         * bridge/c/CRuntimeObject.h:
507         (JSC::Bindings::CRuntimeObject::createStructure):
508         * bridge/c/c_instance.cpp:
509         (JSC::Bindings::CRuntimeMethod::createStructure):
510         * bridge/jni/jsc/JavaInstanceJSC.cpp:
511         (JavaRuntimeMethod::createStructure):
512         * bridge/jni/jsc/JavaRuntimeObject.h:
513         (JSC::Bindings::JavaRuntimeObject::createStructure):
514         * bridge/objc/ObjCRuntimeObject.h:
515         (JSC::Bindings::ObjCRuntimeObject::createStructure):
516         * bridge/objc/objc_instance.mm:
517         (ObjCRuntimeMethod::createStructure):
518         * bridge/objc/objc_runtime.h:
519         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
520         * bridge/runtime_array.cpp:
521         (JSC::RuntimeArray::RuntimeArray):
522         * bridge/runtime_array.h:
523         (JSC::RuntimeArray::createStructure):
524         * bridge/runtime_method.cpp:
525         (JSC::RuntimeMethod::RuntimeMethod):
526         * bridge/runtime_method.h:
527         (JSC::RuntimeMethod::createStructure):
528         * bridge/runtime_object.cpp:
529         (JSC::Bindings::RuntimeObject::RuntimeObject):
530         * bridge/runtime_object.h:
531         (JSC::Bindings::RuntimeObject::createStructure):
532         * history/HistoryItem.h:
533
534 2011-04-13  Cary Clark  <caryclark@google.com>
535
536         Reviewed by Eric Seidel.
537
538         Allow CG Font support in Chrome Darwin build using Skia
539         https://bugs.webkit.org/show_bug.cgi?id=58321
540         
541         This allows Chrome to use Skia to do WebKit rendering, while
542         using CoreGraphics for glyph creation and computing font metrics.
543         It relies on an undefined platform token, WTF_USE_SKIA_ON_MAC_CHROME.
544
545         No new tests needed, no functionality change.
546
547         * loader/cache/CachedFont.cpp: Make CGFontRef functions and
548         CG-specific font code available to Chrome builds on Darwin using Skia.
549         * platform/graphics/FontPlatformData.h: Ditto.
550         (WebCore::FontPlatformData::hash): Ditto.
551         * platform/graphics/GlyphBuffer.h: Ditto.
552         (WebCore::GlyphBuffer::advanceAt): Ditto.
553         (WebCore::GlyphBuffer::add): Ditto.
554         (WebCore::GlyphBuffer::expandLastAdvance): Ditto.
555         * platform/graphics/SimpleFontData.h: Ditto.
556
557 2011-04-13  Alexis Menard  <alexis.menard@openbossa.org>
558
559         Reviewed by Dimitri Glazkov.
560
561         The timeline of the video controls is unusable if the multimedia backend returns a
562         infinite duration.
563         https://bugs.webkit.org/show_bug.cgi?id=58452
564
565         In case the underlaying media element backend returns crazy values, e.g.
566         an infinite duration for the video we need to bail out and hide the timeline
567         rather than in a broken state where you can't use it. The previous code was just
568         checking if the duration was NaN.
569
570         We can't control from JS what the backend will return as a duration for the video
571         so we can't make an test for it.
572
573         * html/shadow/MediaControlRootElement.cpp:
574         (WebCore::MediaControlRootElement::reset):
575
576 2011-04-13  Abhishek Arya  <inferno@chromium.org>
577
578         Reviewed by James Robinson.
579
580         Draw outline for render widgets.
581         https://bugs.webkit.org/show_bug.cgi?id=57439
582
583         Test: fast/frames/iframe-outline.html
584
585         * rendering/RenderWidget.cpp:
586         (WebCore::RenderWidget::paint):
587
588 2011-04-13  Kent Tamura  <tkent@chromium.org>
589
590         Reviewed by Dimitri Glazkov.
591
592         Change the representation of ShadowRoot nodes in render tree dumps
593         https://bugs.webkit.org/show_bug.cgi?id=58432
594
595         Show "#shadow-root" for ShadorRoot nodes instead of "#document-fragment"
596         in DRT results.
597
598         No new tests. This change doesn't affect existing tests yet.
599
600         * dom/DocumentFragment.h:
601           Make nodeName() protected in order that ShdowRoot can override it.
602         * dom/ShadowRoot.cpp:
603         (WebCore::ShadowRoot::nodeName): Returns "#shadow-root".
604         * dom/ShadowRoot.h: Declare nodeName().
605         * rendering/RenderTreeAsText.cpp:
606         (WebCore::nodePosition): Don't show "child N " if the node is a shadow boundary.
607           We don't use isShadowRoot() here because the legacy shadow root nodes
608           return true for isShadowRoot() and we don't want to update existing
609           test results.
610
611 2011-04-13  Ryosuke Niwa  <rniwa@webkit.org>
612
613         Reviewed by Eric Seidel.
614
615         Merge LineOffsets and LineWidth
616         https://bugs.webkit.org/show_bug.cgi?id=58411
617
618         Merged lineOffsets into LineWidth.
619
620         After this patch, available width is updated in positionNewFloatOnLine via updateAvailableWidth and
621         shrinkAvailableWidthForNewFloatIfNeeded instead of findNextBreak. This is correct because
622         - LineOffsets::update and LineOffsets::shrinkWidthForNewFloatIfNeeded were only called in positionNewFloatOnLine
623           besides LineOffsets' constructor
624         - positionNewFloatOnLine was only called in skipLeadingWhitespace and findNextLineBreak
625         - findNextLineBreak updates the available width whenever it calls skipLeadingWhitespace or positionNewFloatOnLine
626
627         * rendering/RenderBlock.h:
628         * rendering/RenderBlockLineLayout.cpp:
629         (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineWidth instead of LineOffset
630         (WebCore::LineWidth::LineWidth): Takes RenderBlock* and boolean isFirstLine; call updateAvailableWidth
631         because the initial available width was used to be computed from lineOffsets.width().
632         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight): Added.
633         (WebCore::LineWidth::updateAvailableWidth): Renamed from LineOffsets::update; this function now updates
634         m_availableWidth via computeAvailableWidthFromLeftAndRight as well as m_left and m_right.
635         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Renamed from
636         LineOffsets::shrinkWidthForNewFloatIfNeeded. This function also calls computeAvailableWidthFromLeftAndRight.
637         (WebCore::LineWidth::applyOverhang): No longer takes arguments since both arguments were member variables
638         of LineOffsets.
639         (WebCore::LineWidth::fitBelowFloats): No longer takes isFirstLine.
640         (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
641         (WebCore::RenderBlock::positionNewFloatOnLine): Takes a reference to LineWidth.
642
643 2011-04-13  Ryuan Choi  <ryuan.choi@samsung.com>
644
645         Reviewed by Kenneth Rohde Christiansen.
646
647         [CMAKE] Separate DerivedSources.
648         https://bugs.webkit.org/show_bug.cgi?id=58427
649
650         No new tests since these are refactoring only.
651
652         * CMakeLists.txt:
653         * UseJSC.cmake:
654
655 2011-04-13  Noel Gordon  <noel.gordon@gmail.com>
656
657         Reviewed by Kenneth Russell.
658
659         [chromium] Fix canvas.toDataURL mimeType assertion
660         https://bugs.webkit.org/show_bug.cgi?id=58425
661
662         Following r81213, reassert expected toDataURL() mimeType, remove an unused variable.
663
664         No new tests. Covered by existing tests.
665
666         * platform/graphics/skia/ImageBufferSkia.cpp:
667         (WebCore::ImageToDataURL):
668         (WebCore::ImageBuffer::toDataURL):
669
670 2011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
671
672         Reviewed by Andreas Kling.
673
674         [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
675         https://bugs.webkit.org/show_bug.cgi?id=58375
676
677         As QNAM now makes actual synchronous loads there is no need for a nested event loop
678         in ResourceHandleQt.
679
680         Moving the call for QNetworkReplyWrapper::synchronousLoad from
681         ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
682         redirections to work in synchronous requests.
683
684         * platform/network/qt/QNetworkReplyHandler.cpp:
685         (WebCore::QNetworkReplyHandler::start):
686         * platform/network/qt/QNetworkReplyHandler.h:
687         * platform/network/qt/ResourceHandleQt.cpp:
688         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
689         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
690         (WebCore::WebCoreSynchronousLoader::didReceiveData):
691         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
692         (WebCore::WebCoreSynchronousLoader::didFail):
693         (WebCore::ResourceHandle::loadResourceSynchronously):
694
695 2011-04-13  Roland Steiner  <rolandsteiner@chromium.org>
696
697         Reviewed by David Hyatt.
698
699         Bug 55930 - Incorrect handling of 'display:' property within nested <ruby> tags
700         https://bugs.webkit.org/show_bug.cgi?id=55930
701
702         Non-inline :before/:after generated content is now wrapped with an anonymous inline block.
703
704         Also, added an additional check in RenderObjectChildList::updateBeforeAfterContent()
705         to verify that the created render object is legal under the parent.
706
707         Tests: fast/ruby/after-block-doesnt-crash.html
708                fast/ruby/after-table-doesnt-crash.html
709                fast/ruby/before-block-doesnt-crash.html
710                fast/ruby/before-table-doesnt-crash.html
711
712         * rendering/RenderObjectChildList.cpp:
713         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
714         * rendering/RenderRuby.cpp:
715         (WebCore::isAnonymousRubyInlineBlock):
716         (WebCore::rubyBeforeBlock):
717         (WebCore::rubyAfterBlock):
718         (WebCore::createAnonymousRubyInlineBlock):
719         (WebCore::lastRubyRun):
720         (WebCore::RenderRubyAsInline::addChild):
721         (WebCore::RenderRubyAsInline::removeChild):
722         (WebCore::RenderRubyAsBlock::addChild):
723         (WebCore::RenderRubyAsBlock::removeChild):
724         * rendering/RenderRuby.h:
725
726 2011-04-13  Matthew Delaney  <mdelaney@apple.com>
727
728         Reviewed by Simon Fraser.
729
730         [CG] Refactor get/putImageData routines from ImageBufferCG into a (new) ImageBufferDataCG.cpp
731         https://bugs.webkit.org/show_bug.cgi?id=58084
732
733         No new tests. Does not affect outward behavior.
734
735         * WebCore.gypi:
736         * WebCore.vcproj/WebCore.vcproj:
737         * WebCore.xcodeproj/project.pbxproj:
738         * platform/graphics/ImageBuffer.h:
739         * platform/graphics/ImageBufferData.h: Added.
740         * platform/graphics/cairo/ImageBufferData.h: Removed.
741         * platform/graphics/cairo/ImageBufferDataCairo.h: Added.
742         * platform/graphics/cg/ImageBufferCG.cpp:
743         (WebCore::ImageBuffer::getUnmultipliedImageData):
744         (WebCore::ImageBuffer::getPremultipliedImageData):
745         (WebCore::ImageBuffer::putUnmultipliedImageData):
746         (WebCore::ImageBuffer::putPremultipliedImageData):
747         * platform/graphics/cg/ImageBufferDataCG.cpp: Added.
748         (WebCore::ImageBufferData::ImageBufferData):
749         (WebCore::haveVImageRoundingErrorFix):
750         (WebCore::ImageBufferData::getData):
751         (WebCore::ImageBufferData::putData):
752         * platform/graphics/cg/ImageBufferData.h: Removed.
753         * platform/graphics/cg/ImageBufferDataCG.h: Added.
754         * platform/graphics/chromium/ImageBufferData.h: Removed.
755         * platform/graphics/chromium/ImageBufferDataSkia.h: Added.
756         * platform/graphics/haiku/ImageBufferData.h: Removed.
757         * platform/graphics/haiku/ImageBufferDataHaiku.h: Added.
758         * platform/graphics/qt/ImageBufferData.h: Removed.
759         * platform/graphics/qt/ImageBufferDataQt.h: Added.
760         * platform/graphics/wince/ImageBufferData.h: Removed.
761         * platform/graphics/wince/ImageBufferDataWince.h: Added.
762         * platform/graphics/wx/ImageBufferData.h: Removed.
763         * platform/graphics/wx/ImageBufferDataWx.h: Added.
764
765 2011-04-13  Simon Fraser  <simon.fraser@apple.com>
766
767         Reviewed by Dan Bernstein.
768
769         Remove std:: prefix on some min/max calls
770         https://bugs.webkit.org/show_bug.cgi?id=58493
771
772         Remove std:: namespacing on min/max in favor of a 'using' clause.
773
774         * platform/graphics/RoundedIntRect.cpp:
775         (WebCore::RoundedIntRect::Radii::expand):
776         * rendering/style/RenderStyle.cpp:
777         (WebCore::calcConstraintScaleFor):
778
779 2011-04-13  Alexis Menard  <alexis.menard@openbossa.org>
780
781         Reviewed by Andreas Kling.
782
783         Replace our own RenderThemeQt::getMediaElementFromRenderObject by
784         MediaControlsElement::toParentMediaElement used by every other port.
785
786         * platform/qt/RenderThemeQt.cpp:
787         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
788         (WebCore::RenderThemeQt::paintMediaMuteButton):
789         (WebCore::RenderThemeQt::paintMediaPlayButton):
790         (WebCore::RenderThemeQt::paintMediaSliderTrack):
791         * platform/qt/RenderThemeQt.h:
792
793 2011-04-13  Geoffrey Garen  <ggaren@apple.com>
794
795         Reviewed by Oliver Hunt.
796
797         Switched DOM wrappers to use HashMap of Weak<T> instead of WeakGCMap<T>
798         https://bugs.webkit.org/show_bug.cgi?id=58482
799
800         This will allow wrappers to make individual decisions about their lifetimes.
801
802         * bindings/js/DOMWrapperWorld.cpp:
803         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
804         (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots):
805         (WebCore::JSNodeHandleOwner::finalize):
806         (WebCore::DOMObjectHandleOwner::isReachableFromOpaqueRoots):
807         (WebCore::DOMObjectHandleOwner::finalize):
808         * bindings/js/DOMWrapperWorld.h:
809         (WebCore::JSNodeHandleOwner::JSNodeHandleOwner):
810         (WebCore::DOMObjectHandleOwner::DOMObjectHandleOwner):
811         (WebCore::DOMWrapperWorld::jsNodeHandleOwner):
812         (WebCore::DOMWrapperWorld::domObjectHandleOwner): Added handle owners
813         for JSNode and DOMObject, our two hash table values. For now, the owners
814         just take care to remove their handles from their respective hash tables.
815         
816         Changed the hash table type to be a standard HashMap of weak pointers,
817         instead of a WeakGCMap.
818
819         * bindings/js/JSDOMBinding.cpp:
820         (WebCore::getCachedDOMObjectWrapper):
821         (WebCore::cacheDOMObjectWrapper):
822         (WebCore::cacheDOMNodeWrapper):
823         (WebCore::isObservableThroughDOM):
824         (WebCore::markDOMNodesForDocument):
825         (WebCore::takeWrappers):
826         (WebCore::updateDOMNodeDocument):
827         (WebCore::markDOMObjectWrapper):
828         (WebCore::markDOMNodeWrapper): Updated wrapper hash table access to
829         accomodate its new data type.
830
831         * bindings/js/JSNodeCustom.h:
832         (WebCore::getCachedDOMNodeWrapper): Ditto.
833
834         * dom/Document.h: Updated declaration to match the above.
835
836 2011-04-13  Sam Weinig  <sam@webkit.org>
837
838         Fix Mac builds.
839
840         * WebCore.exp.in:
841
842 2011-04-13  Sam Weinig  <sam@webkit.org>
843
844         Reviewed by Gavin Barraclough.
845
846         WebKit2 doesn't keep overlay scrollers shown while scroll gesture held
847         <rdar://problem/9260518>
848
849         Notify the scrollbar painter controller when gesture scrolls begin and end.
850
851         * WebCore.exp.in:
852         * platform/mac/ScrollAnimatorMac.h:
853         * platform/mac/ScrollAnimatorMac.mm:
854         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
855         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
856         (WebCore::ScrollAnimatorMac::beginScrollGesture):
857         (WebCore::ScrollAnimatorMac::endScrollGesture):
858         * platform/mac/WebCoreSystemInterface.h:
859         * platform/mac/WebCoreSystemInterface.mm:
860
861 2011-04-13  Eric Carlson  <eric.carlson@apple.com>
862
863         Reviewed by Maciej Stachowiak.
864
865         MediaPlayerPrivateAVFoundationObjC should adopt [AVURLAsset isPlayableExtendedMIMEType:]
866         https://bugs.webkit.org/show_bug.cgi?id=58451
867         <rdar://problem/9278468>
868
869         No new tests, supported MIME types haven't changed.
870
871         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
872         (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Use 
873         [AVURLAsset isPlayableExtendedMIMEType] instead of just the list of types.
874
875 2011-04-13  Eric Carlson  <eric.carlson@apple.com>
876
877         Reviewed by Alexey Proskuryakov.
878
879         Media engine fallback doesn't always work
880         https://bugs.webkit.org/show_bug.cgi?id=58462
881
882         No new tests, this was verified manually with the url noted in the bug.
883
884         * platform/graphics/MediaPlayer.cpp:
885         (WebCore::MediaPlayer::networkStateChanged):
886
887 2011-04-13  Zhenyao Mo  <zmo@google.com>
888
889         Reviewed by Kenneth Russell.
890
891         Extension3D needs to provide a way to check if an extension is enabled
892         https://bugs.webkit.org/show_bug.cgi?id=58410
893
894         * html/canvas/WebGLRenderingContext.cpp:
895         (WebCore::WebGLRenderingContext::setupFlags): Use isEnabled() instead of supports().
896         * platform/graphics/Extensions3D.h: Add isEnabled().
897         * platform/graphics/chromium/Extensions3DChromium.h: Ditto.
898         * platform/graphics/opengl/Extensions3DOpenGL.cpp: Ditto.
899         (WebCore::Extensions3DOpenGL::isEnabled):
900         * platform/graphics/opengl/Extensions3DOpenGL.h: Ditto.
901         * platform/graphics/qt/Extensions3DQt.cpp: Ditto.
902         (WebCore::Extensions3DQt::isEnabled):
903         * platform/graphics/qt/Extensions3DQt.h: Ditto.
904
905 2011-04-13  Oliver Hunt  <oliver@apple.com>
906
907         Reviewed by Gavin Barraclough.
908
909         Make PropertyMapEntry use a WriteBarrier for specificValue
910         https://bugs.webkit.org/show_bug.cgi?id=58407
911
912         Pass JSGlobalData reference on to APIs that now need them
913
914         * bindings/js/JSDOMWindowShell.h:
915         (WebCore::JSDOMWindowShell::setWindow):
916         * bindings/js/JSHTMLDocumentCustom.cpp:
917         (WebCore::JSHTMLDocument::all):
918
919 2011-04-12  Pavel Podivilov  <podivilov@chromium.org>
920
921         Reviewed by Pavel Feldman.
922
923         Web Inspector: fix source mapping for de-obfuscated scripts.
924         https://bugs.webkit.org/show_bug.cgi?id=58231
925
926         * inspector/front-end/ScriptFormatterWorker.js:
927         (buildMapping):
928         * inspector/front-end/SourceFile.js:
929         (WebInspector.SourceMapping):
930         (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
931         (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
932         (WebInspector):
933         (WebInspector.FormattedSourceMapping):
934         (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
935         (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
936
937 2011-04-13  Mario Sanchez Prada  <msanchez@igalia.com>
938
939         Reviewed by Martin Robinson.
940
941         [GTK] Consider editable and non editable nodes when calculating selection offsets
942         https://bugs.webkit.org/show_bug.cgi?id=58431
943
944         Use firstPositionInOrBeforeNode() and lastPositionInOrAfterNode().
945
946         This is needed to ensure that getSelectionOffsetsForObject() works
947         well when non editable nodes are present in the selection, since
948         firstPositionInNode() and lastPositionInNode() don't work in those
949         cases (they assume the node is editable).
950
951         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
952         (getSelectionOffsetsForObject): Updated calls.
953
954 2011-04-13  Mario Sanchez Prada  <msanchez@igalia.com>
955
956         Reviewed by Martin Robinson.
957
958         [GTK] Missing nullchecks in GTK's a11y wrapper
959         https://bugs.webkit.org/show_bug.cgi?id=58429
960
961         Add missing nullchecks for coreObject->document().
962
963         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
964         (atkParentOfRootObject): Add missing nullcheck.
965         (getPangoLayoutForAtk): Ditto.
966         (webkit_accessible_text_get_caret_offset): Ditto.
967         (textExtents): Ditto.
968         (webkit_accessible_editable_text_insert_text): Ditto.
969         (webkit_accessible_editable_text_delete_text): Ditto.
970
971 2011-04-13  Thierry Reding  <thierry.reding@avionic-design.de>
972
973         Gtk+ port fails to build when enabling WebGL
974         https://bugs.webkit.org/show_bug.cgi?id=58434
975
976         Fix the GTK+ WebGL build after the introduction of PlatformContextCairo.
977
978         * platform/graphics/GraphicsContext3D.h:
979         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
980         (WebCore::GraphicsContext3D::paintToCanvas):
981
982 2011-04-12  Philippe Normand  <pnormand@igalia.com>
983
984         Reviewed by Martin Robinson.
985
986         REGRESSION(r83561): doesn't pause in-window playback during fullscreen playback
987         https://bugs.webkit.org/show_bug.cgi?id=58312
988
989         Make sure to link the videoValve in all cases, fpsdisplaysink
990         being used or not.
991
992         No new test, this patch fixes an internal feature of the player,
993         not publicly exposed. Having two video sinks and pausing one while
994         the other displays the fullscreen video is an implementation
995         detail of the GStreamer player.
996
997         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
998         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
999
1000 2011-04-13  Ilya Tikhonovsky  <loislo@chromium.org>
1001
1002         Reviewed by Yury Semikhatsky.
1003
1004         Web Inspector: there is a problem if an optional param is not at the end of a params list.
1005         https://bugs.webkit.org/show_bug.cgi?id=58440
1006
1007         In InspectorBackend.dispatch method we are converting the message's params object into array of arguments
1008         for a callback. But in some cases the optional parameter is declared in the middle of the params list.
1009         That gets us into a problem if this param has been skipped in the message. In that case the tail of the
1010         event params will be shifted. We can slightly modify dispatcher and it will put the params in right places.
1011
1012         * inspector/CodeGeneratorInspector.pm:
1013
1014 2011-04-13  Ben Taylor  <bentaylor.solx86@gmail.com>
1015
1016         Reviewed by Eric Seidel.
1017
1018         https://bugs.webkit.org/show_bug.cgi?id=57337
1019
1020         Work around a bug in ternary opertions in the Solaris Studio
1021         12/12.1/12.2 compilers, using an if clause.
1022
1023         * dom/NodeRenderStyle.h:
1024         (WebCore::Node::renderStyle):
1025
1026 2011-04-13  Brian Salomon  <bsalomon@google.com>
1027
1028         Reviewed by Kenneth Russell.
1029
1030         Use new skia API for wrapping DrawingBuffer's FBO/Tex IDs in skia object
1031         https://bugs.webkit.org/show_bug.cgi?id=58363
1032
1033         No new tests needed, exercised by all existing canvas2d tests.
1034
1035         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1036         (WebCore::DrawingBuffer::getGrPlatformSurfaceDesc):
1037         * platform/graphics/gpu/DrawingBuffer.h:
1038         * platform/graphics/skia/PlatformContextSkia.cpp:
1039         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
1040
1041 2011-04-13  Andrey Kosyakov  <caseq@chromium.org>
1042
1043         Unreviewed. Fix chromium clang build problem:
1044         ApplyPropertyExpandingSuppressValue::applyValue() shadows a virtual method
1045         with a different signature in base class instead of overriding it.
1046
1047         * css/CSSStyleApplyProperty.cpp:
1048         (WebCore::ApplyPropertyExpandingSuppressValue::applyValue):
1049
1050 2011-04-13  Kinuko Yasuda  <kinuko@chromium.org>
1051
1052         Reviewed by David Levin.
1053
1054         Add mock implementation and plumbing code for unified Quota API
1055         https://bugs.webkit.org/show_bug.cgi?id=57927
1056
1057         Added mock implementation and some plumbing code for the quota API,
1058         that is based on the discussion on public-webapps:
1059         http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0346.html
1060
1061         No new tests: tests will be added when we expose the API.
1062
1063         * CMakeLists.txt: Added new file entries.
1064         * DerivedSources.cpp: Added new file entries.
1065         * DerivedSources.make: Added new file entries.
1066         * GNUmakefile.am: Added new file entries.
1067         * WebCore.gypi: Added new file entries.
1068         * WebCore.pro: Added new file entries.
1069         * WebCore.vcproj/WebCore.vcproj: Added new file entries.
1070         * WebCore.xcodeproj/project.pbxproj: Added new file entries.
1071         * storage/StorageInfo.cpp: Added.
1072         * storage/StorageInfo.h: Added.
1073         * storage/StorageInfoErrorCallback.h: Added.
1074         * storage/StorageInfoQuotaCallback.h: Added.
1075         * storage/StorageInfoUsageCallback.h: Added.
1076
1077 2011-04-13  Gustavo Noronha Silva  <gns@gnome.org>
1078
1079         Reviewed by Martin Robinson.
1080
1081         [GTK] PluginPackage should check whether a plugin mixes GTK+ 2 and 3 symbols itself
1082         https://bugs.webkit.org/show_bug.cgi?id=58297
1083
1084         Make sure we do not load plugins that use symbols of a different
1085         GTK+ major version to avoid bugs and crashes.
1086
1087         * plugins/gtk/PluginPackageGtk.cpp:
1088         (WebCore::moduleMixesGtkSymbols):
1089         (WebCore::PluginPackage::load):
1090
1091 2011-04-13  Andrey Adaikin  <aandrey@google.com>
1092
1093         Reviewed by Pavel Feldman.
1094
1095         Web Inspector: Implement undo/redo in text editor
1096         https://bugs.webkit.org/show_bug.cgi?id=58426
1097
1098         Native undo/redo does not work because we modify DOM structure (highlights, chunks and etc.)
1099         Implement it via keyboard shortcuts for now (Cmd/Ctrl+Z and Cmd/Ctrl+Shift+Z).
1100         FIXME: Do something with the popup's Undo and Redo menu options - they invoke native's undo/redo.
1101
1102         * inspector/front-end/SourceFrame.js:
1103         (WebInspector.SourceFrame.prototype.endEditing):
1104         * inspector/front-end/TextEditorModel.js:
1105         (WebInspector.TextEditorModel.prototype.setText):
1106         (WebInspector.TextEditorModel.prototype._innerSetText):
1107         (WebInspector.TextEditorModel.prototype._pushUndoableCommand):
1108         (WebInspector.TextEditorModel.prototype.undo):
1109         (WebInspector.TextEditorModel.prototype.redo):
1110         (WebInspector.TextEditorModel.prototype._doUndo):
1111         * inspector/front-end/TextViewer.js:
1112         (WebInspector.TextViewer.prototype._textChanged):
1113         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
1114         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
1115         (WebInspector.TextViewer.prototype._registerShortcuts):
1116         (WebInspector.TextViewer.prototype._cancelEditing):
1117         (WebInspector.TextViewer.prototype._handleUndoRedo):
1118         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
1119         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
1120         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
1121         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
1122         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
1123         (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
1124         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1125         (WebInspector.TextEditorMainPanel.prototype.textChanged):
1126         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
1127
1128 2011-04-13  Pavel Feldman  <pfeldman@chromium.org>
1129
1130         Reviewed by Yury Semikhatsky.
1131
1132         Web Inspector: make optional event parameter last to prevent regressions.
1133         https://bugs.webkit.org/show_bug.cgi?id=58433
1134
1135         * inspector/Inspector.json:
1136         * inspector/InspectorResourceAgent.cpp:
1137         (WebCore::InspectorResourceAgent::willSendRequest):
1138         * inspector/front-end/NetworkManager.js:
1139         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
1140
1141 2011-04-13  Pavel Feldman  <pfeldman@chromium.org>
1142
1143         Not reviewed: revert Inspector.json change for breaking world.
1144
1145         * inspector/Inspector.json:
1146
1147 2011-04-13  Pavel Feldman  <pfeldman@chromium.org>
1148
1149         Not reviewed: swap methods in the Inspector.json.
1150
1151         * inspector/Inspector.json:
1152
1153 2011-04-13  Csaba Osztrogonác  <ossy@webkit.org>
1154
1155         Unreviewed, rolling out r83695.
1156         http://trac.webkit.org/changeset/83695
1157         https://bugs.webkit.org/show_bug.cgi?id=58375
1158
1159         [Qt][WK2]It broke http tests
1160
1161         * platform/network/qt/QNetworkReplyHandler.cpp:
1162         (WebCore::QNetworkReplyHandler::start):
1163         (WebCore::QNetworkReplyHandler::synchronousLoad):
1164         * platform/network/qt/QNetworkReplyHandler.h:
1165         * platform/network/qt/ResourceHandleQt.cpp:
1166         (WebCore::WebCoreSynchronousLoader::resourceResponse):
1167         (WebCore::WebCoreSynchronousLoader::resourceError):
1168         (WebCore::WebCoreSynchronousLoader::data):
1169         (WebCore::WebCoreSynchronousLoader::setReplyFinished):
1170         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
1171         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
1172         (WebCore::WebCoreSynchronousLoader::didReceiveData):
1173         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
1174         (WebCore::WebCoreSynchronousLoader::didFail):
1175         (WebCore::WebCoreSynchronousLoader::waitForCompletion):
1176         (WebCore::ResourceHandle::loadResourceSynchronously):
1177
1178 2011-04-13  Pavel Podivilov  <podivilov@chromium.org>
1179
1180         Reviewed by Pavel Feldman.
1181
1182         Web Inspector: inactive style sheets should be read only.
1183         https://bugs.webkit.org/show_bug.cgi?id=58423
1184
1185         * inspector/front-end/ResourceView.js:
1186         (WebInspector.CSSSourceFrame):
1187         (WebInspector.CSSSourceFrame.prototype.isContentEditable):
1188         (WebInspector.CSSSourceFrame.prototype._loadStyleSheet.didGetAllStyleSheets.didCreateForId):
1189         (WebInspector.CSSSourceFrame.prototype._loadStyleSheet):
1190
1191 2011-04-13  Mikhail Naganov  <mnaganov@chromium.org>
1192
1193         Reviewed by Pavel Feldman.
1194
1195         Web Inspector: [Chromium] Prepare to move detailed heap snapshots storage and processing into workers.
1196         https://bugs.webkit.org/show_bug.cgi?id=58320
1197
1198         Introduce a proxy object that emulates worker behavior and change UI code to cope with it.
1199
1200         * WebCore.gypi:
1201         * WebCore.vcproj/WebCore.vcproj:
1202         * inspector/front-end/DetailedHeapshotGridNodes.js:
1203         (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate.sorted):
1204         (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate):
1205         (WebInspector.HeapSnapshotGridNode.prototype._populate):
1206         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
1207         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
1208         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
1209         (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort.afterPopulate):
1210         (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort):
1211         (WebInspector.HeapSnapshotGridNode.prototype.sort):
1212         (WebInspector.HeapSnapshotGenericObjectNode):
1213         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
1214         (WebInspector.HeapSnapshotGenericObjectNode.prototype._updateHasChildren):
1215         (WebInspector.HeapSnapshotObjectNode):
1216         (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
1217         (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
1218         (WebInspector.HeapSnapshotInstanceNode):
1219         (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
1220         (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
1221         (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
1222         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
1223         (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
1224         (WebInspector.HeapSnapshotDiffNode.prototype._calculateDiff):
1225         (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
1226         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
1227         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
1228         (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
1229         (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
1230         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
1231         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
1232         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
1233         (WebInspector.HeapSnapshotDominatorObjectNode):
1234         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
1235         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
1236         * inspector/front-end/DetailedHeapshotView.js:
1237         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
1238         (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
1239         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
1240         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
1241         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.baseSnapshotNodeIdsReceived):
1242         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.pushBaseSnapshotNodeIds):
1243         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.snapshotNodeIdsReceived):
1244         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
1245         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
1246         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
1247         (WebInspector.HeapSnapshotRetainingPathsList):
1248         (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths):
1249         (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
1250         (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
1251         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
1252         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching):
1253         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
1254         (WebInspector.DetailedHeapshotView.profileCallback):
1255         (WebInspector.DetailedHeapshotView):
1256         (WebInspector.DetailedHeapshotView.prototype.get profileWrapper):
1257         (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper):
1258         (WebInspector.DetailedHeapshotView.prototype.show.profileCallback1):
1259         (WebInspector.DetailedHeapshotView.prototype.show.profileCallback2):
1260         (WebInspector.DetailedHeapshotView.prototype.show):
1261         (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
1262         * inspector/front-end/HeapSnapshot.js:
1263         * inspector/front-end/HeapSnapshotProxy.js: Added.
1264         * inspector/front-end/PleaseWaitMessage.js:
1265         * inspector/front-end/ProfilesPanel.js:
1266         (WebInspector.ProfilesPanel.prototype._reset):
1267         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
1268         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
1269         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
1270         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed):
1271         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
1272         * inspector/front-end/WebKit.qrc:
1273         * inspector/front-end/inspector.html:
1274
1275 2011-04-13  Alexander Pavlov  <apavlov@chromium.org>
1276
1277         Reviewed by Pavel Feldman.
1278
1279         Web Inspector: Web Page Performance auditing fails
1280         https://bugs.webkit.org/show_bug.cgi?id=58322
1281
1282         * inspector/front-end/AuditRules.js:
1283         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
1284         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded):
1285         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1286         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
1287         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
1288         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable):
1289         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
1290         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
1291         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
1292         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable):
1293         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
1294
1295 2011-04-13  Pavel Feldman  <pfeldman@google.com>
1296
1297         Reviewed by Yury Semikhatsky.
1298
1299         Web Inspector: enumerate properties in Inspector.json using array, not object keys.
1300         https://bugs.webkit.org/show_bug.cgi?id=58418
1301
1302         * inspector/Inspector.json:
1303
1304 2011-04-06  Pavel Podivilov  <podivilov@chromium.org>
1305
1306         Reviewed by Pavel Feldman.
1307
1308         Web Inspector: add "De-obfuscate Source" item to source frame text area context menu.
1309         https://bugs.webkit.org/show_bug.cgi?id=57942
1310
1311         * English.lproj/localizedStrings.js:
1312         * inspector/front-end/DebuggerPresentationModel.js:
1313         (WebInspector.DebuggerPresentationModel.prototype.formatSourceFilesToggled):
1314         * inspector/front-end/ScriptsPanel.js:
1315         (WebInspector.ScriptsPanel):
1316         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
1317         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
1318         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.toggleFormatSourceFiles):
1319         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled):
1320         * inspector/front-end/SourceFrame.js:
1321         (WebInspector.SourceFrame.prototype._contextMenu):
1322         (WebInspector.SourceFrame.prototype._populateLineGutterContextMenu):
1323         (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
1324         (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
1325         (WebInspector.SourceFrameDelegate.prototype.toggleFormatSourceFiles):
1326         (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled):
1327
1328 2011-04-13  Nikolas Zimmermann  <nzimmermann@rim.com>
1329
1330         Reviewed by Dirk Schulze.
1331
1332         SVGTextContentElements textLength returns 0
1333         https://bugs.webkit.org/show_bug.cgi?id=52543
1334
1335         Add proper handling of the SVGTextContentElement textLength property, according to SVG 1.1 2nd edition.
1336
1337         If the textLength attributes is not explicitely set "textContentElement.textLength.baseVal"
1338         will return the same as "textContentElement.getComputedTextLength()". If it's set the values
1339         aren't equal anymore. getComputedTextLength() ignores the textLength attributes as well as the
1340         lengthAdjust attribute. Adapt all of SVGTextQuery to ignore the lengthAdjust/textLength attributes.
1341         This is how Opera implements it, and it makes sense to a certain degree, as otherwhise getComputedTextLength()
1342         and textLength.baseVal.value would always be the same. Nor does the spec mention that textLength is honored
1343         in the SVG Text DOM API.
1344
1345         Fixes svg/custom/text-dom-01-f.svg (from SVG 1.1 2nd edition, should be moved into the new W3C-SVG-1.1-SE directory).
1346         Fixes svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg (last subtest related to textLength now passes).
1347
1348         Added new svg/dynamic-updates testcases covering dynamic changes of lengthAdjust/textLength and the synchronization
1349         with getComputedTextLength().
1350
1351         Tests: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg
1352                svg/dynamic-updates/SVGTextElement-dom-lengthAdjust-attr.html
1353                svg/dynamic-updates/SVGTextElement-dom-textLength-attr.html
1354                svg/dynamic-updates/SVGTextElement-svgdom-lengthAdjust-prop.html
1355                svg/dynamic-updates/SVGTextElement-svgdom-textLength-prop.html
1356
1357         * rendering/svg/RenderSVGInlineText.cpp:
1358         (WebCore::RenderSVGInlineText::positionForPoint):
1359         * rendering/svg/SVGInlineFlowBox.cpp:
1360         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
1361         * rendering/svg/SVGInlineTextBox.cpp:
1362         (WebCore::SVGInlineTextBox::offsetForPositionInFragment):
1363         (WebCore::SVGInlineTextBox::selectionRect):
1364         (WebCore::SVGInlineTextBox::paintSelectionBackground):
1365         (WebCore::SVGInlineTextBox::paint):
1366         (WebCore::SVGInlineTextBox::calculateBoundaries):
1367         * rendering/svg/SVGTextChunkBuilder.cpp:
1368         (WebCore::SVGTextChunkBuilder::buildTextChunks):
1369         (WebCore::SVGTextChunkBuilder::layoutTextChunks):
1370         (WebCore::SVGTextChunkBuilder::addTextChunk):
1371         (WebCore::SVGTextChunkBuilder::processTextChunk):
1372         (WebCore::SVGTextChunkBuilder::processTextLengthSpacingCorrection):
1373         (WebCore::SVGTextChunkBuilder::processTextAnchorCorrection):
1374         * rendering/svg/SVGTextFragment.h:
1375         (WebCore::SVGTextFragment::SVGTextFragment):
1376         (WebCore::SVGTextFragment::buildFragmentTransform):
1377         (WebCore::SVGTextFragment::transformAroundOrigin):
1378         (WebCore::SVGTextFragment::buildTransformForTextOnPath):
1379         (WebCore::SVGTextFragment::buildTransformForTextOnLine):
1380         * rendering/svg/SVGTextLayoutEngine.cpp:
1381         (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
1382         (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
1383         (WebCore::dumpTextBoxes):
1384         (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
1385         (WebCore::SVGTextLayoutEngine::finishLayout):
1386         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
1387         * rendering/svg/SVGTextQuery.cpp:
1388         (WebCore::SVGTextQuery::textLengthCallback):
1389         (WebCore::SVGTextQuery::subStringLengthCallback):
1390         (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
1391         (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
1392         (WebCore::SVGTextQuery::rotationOfCharacterCallback):
1393         (WebCore::calculateGlyphBoundaries):
1394         * svg/SVGTextContentElement.cpp:
1395         (WebCore::SVGTextContentElement::SVGTextContentElement):
1396         (WebCore::SVGTextContentElement::synchronizeTextLength):
1397         (WebCore::SVGTextContentElement::textLengthAnimated):
1398         (WebCore::SVGTextContentElement::parseMappedAttribute):
1399         (WebCore::SVGTextContentElement::svgAttributeChanged):
1400         * svg/SVGTextContentElement.h:
1401         (WebCore::SVGTextContentElement::specifiedTextLength):
1402         * svg/SVGTextPathElement.cpp:
1403         (WebCore::SVGTextPathElement::svgAttributeChanged):
1404         * svg/SVGTextPositioningElement.cpp:
1405         (WebCore::SVGTextPositioningElement::svgAttributeChanged):
1406
1407 2011-04-13  Pavel Feldman  <pfeldman@google.com>
1408
1409         Reviewed by Yury Semikhatsky.
1410
1411         Web Inspector: requestDocument can result in race condition in DOMAgent.js
1412         https://bugs.webkit.org/show_bug.cgi?id=58415
1413
1414         * inspector/front-end/DOMAgent.js:
1415         (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable):
1416         (WebInspector.DOMAgent.prototype.requestDocument):
1417
1418 2011-04-12  Pavel Feldman  <pfeldman@google.com>
1419
1420         Reviewed by Yury Semikhatsky.
1421
1422         Web Inspector: another pass of protocol renames.
1423         https://bugs.webkit.org/show_bug.cgi?id=58340
1424
1425         * inspector/Inspector.json:
1426         * inspector/InspectorDOMAgent.cpp:
1427         (WebCore::InspectorDOMAgent::getDocument):
1428         (WebCore::InspectorDOMAgent::performSearch):
1429         (WebCore::InspectorDOMAgent::setSearchingForNode):
1430         * inspector/InspectorDOMAgent.h:
1431         * inspector/InspectorDebuggerAgent.cpp:
1432         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1433         * inspector/InspectorDebuggerAgent.h:
1434         * inspector/InspectorRuntimeAgent.cpp:
1435         (WebCore::InspectorRuntimeAgent::evaluate):
1436         * inspector/InspectorRuntimeAgent.h:
1437         * inspector/front-end/ElementsPanel.js:
1438         (WebInspector.ElementsPanel.prototype._setSearchingForNode):
1439         (WebInspector.ElementsPanel.prototype.setSearchingForNode):
1440
1441 2011-04-12  Luke Macpherson   <macpherson@chromium.org>
1442
1443         Reviewed by Dimitri Glazkov.
1444
1445         Implement remaining Background and Mask css properties in CSSStyleApplyProperty
1446         https://bugs.webkit.org/show_bug.cgi?id=58390
1447
1448         No new tests required as no functionality changed.
1449
1450         * css/CSSStyleApplyProperty.cpp:
1451         (WebCore::ApplyPropertyExpanding): Class to expand one property to 0-4 properties.
1452         (WebCore::ApplyPropertyExpandingSuppressValue): Expand properties but suppress applyValue.
1453
1454         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1455         (WebCore::CSSStyleSelector::applyProperty): Remove implementations that have been moved to CSSStyleApplyProperty.
1456
1457 2011-04-12  Sergey Glazunov  <serg.glazunov@gmail.com>
1458
1459         Reviewed by Dimitri Glazkov.
1460
1461         Element::setAttribute should check the namespace of an id attribute
1462         https://bugs.webkit.org/show_bug.cgi?id=58359
1463
1464         Test: fast/dom/id-attribute-with-namespace-crash.html
1465
1466         * dom/Element.cpp:
1467         (WebCore::Element::setAttribute):
1468
1469 2011-04-12  Mike Lawther  <mikelawther@chromium.org>
1470
1471         Reviewed by James Robinson.
1472
1473         Update boolean operators in RenderStyle to be compatible with check-webkit-style
1474         https://bugs.webkit.org/show_bug.cgi?id=58409
1475
1476         No new functionality, so no new tests.
1477
1478         * rendering/style/RenderStyle.cpp:
1479         (WebCore::RenderStyle::operator==):
1480         (WebCore::RenderStyle::inheritedNotEqual):
1481         (WebCore::positionedObjectMoved):
1482         (WebCore::RenderStyle::diff):
1483         (WebCore::RenderStyle::applyTransform):
1484         * rendering/style/RenderStyle.h:
1485         (WebCore::InheritedFlags::isOriginalDisplayInlineType):
1486
1487 2011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
1488
1489         Reviewed by Andreas Kling.
1490
1491         [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
1492         https://bugs.webkit.org/show_bug.cgi?id=58375
1493
1494         As QNAM now makes actual synchronous loads there is no need for a nested event loop
1495         in ResourceHandleQt.
1496
1497         Moving the call for QNetworkReplyWrapper::synchronousLoad from
1498         ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
1499         redirections to work in synchronous requests.
1500
1501         * platform/network/qt/QNetworkReplyHandler.cpp:
1502         (WebCore::QNetworkReplyHandler::start):
1503         * platform/network/qt/QNetworkReplyHandler.h:
1504         * platform/network/qt/ResourceHandleQt.cpp:
1505         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
1506         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
1507         (WebCore::WebCoreSynchronousLoader::didReceiveData):
1508         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
1509         (WebCore::WebCoreSynchronousLoader::didFail):
1510         (WebCore::ResourceHandle::loadResourceSynchronously):
1511
1512 2011-04-12  Vangelis Kokkevis  <vangelis@chromium.org>
1513
1514         Reviewed by James Robinson.
1515
1516         [chromium] Move the calculation of the layer's z coordinate to the
1517         right spot so that it can be picked up by its sublayers.
1518         https://bugs.webkit.org/show_bug.cgi?id=58397
1519
1520         Test: platform/chromium/compositing/child-layer-3d-sorting.html
1521
1522         * platform/graphics/chromium/LayerRendererChromium.cpp:
1523         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
1524
1525 2011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
1526
1527         Reviewed by Andreas Kling.
1528
1529         [Qt] QNetworkReplyHandler refactoring: signal queue
1530         https://bugs.webkit.org/show_bug.cgi?id=57075
1531
1532         The idea is to make all signals that come from the QNetworkReply to pass through a queue and to
1533         stop that queue when loading is deferred. This way almost all the deferred logic can be removed
1534         from QNetworkReplyHandler class and encapsulated in its own class.
1535
1536         To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper
1537         methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods.
1538         This together with empting the queue at wrapper destruction time makes sure that the handler will
1539         not receive calls from a dead wrapper.
1540
1541         The new class is named QNetworkReplyHandlerCallQueue.
1542
1543         * platform/network/qt/QNetworkReplyHandler.cpp:
1544         (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue):
1545         (WebCore::QNetworkReplyHandlerCallQueue::push):
1546         (WebCore::QNetworkReplyHandlerCallQueue::lock):
1547         (WebCore::QNetworkReplyHandlerCallQueue::unlock):
1548         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
1549         (WebCore::QNetworkReplyHandlerCallQueue::flush):
1550         (WebCore::QueueLocker::QueueLocker):
1551         (WebCore::QueueLocker::~QueueLocker):
1552         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
1553         (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
1554         (WebCore::QNetworkReplyWrapper::receiveMetaData):
1555         (WebCore::QNetworkReplyWrapper::readyRead):
1556         (WebCore::QNetworkReplyWrapper::didReceiveFinished):
1557         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1558         (WebCore::QNetworkReplyHandler::resetState):
1559         (WebCore::QNetworkReplyHandler::release):
1560         (WebCore::QNetworkReplyHandler::finish):
1561         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1562         (WebCore::QNetworkReplyHandler::forwardData):
1563         (WebCore::QNetworkReplyHandler::start):
1564         (WebCore::QNetworkReplyHandler::synchronousLoad):
1565         * platform/network/qt/QNetworkReplyHandler.h:
1566         (WebCore::QNetworkReplyHandlerCallQueue::deferSignals):
1567         (WebCore::QNetworkReplyHandlerCallQueue::clear):
1568         (WebCore::QNetworkReplyWrapper::synchronousLoad):
1569         (WebCore::QNetworkReplyHandler::setLoadingDeferred):
1570         * platform/network/qt/ResourceHandleQt.cpp:
1571         (WebCore::ResourceHandle::loadResourceSynchronously):
1572
1573 2011-04-12  Kenichi Ishibashi  <bashi@chromium.org>
1574
1575         Reviewed by Kent Tamura.
1576
1577         Fix wrong calculation of HTMLFormElement::m_associatedElementsAfterIndex.
1578         https://bugs.webkit.org/show_bug.cgi?id=58247
1579
1580         - Increment m_associatedElementsAfterIndex when the form owner and an
1581         inserted form associated element have the same parent chain.
1582         - Always iterate over m_associatedElements to decrease indexes when a
1583         form associated element is removed. This is needed for a case that the
1584         form associated element is removed from the form element due to
1585         deleting the 'form' attribute. No behavioral change expected with this
1586         change.
1587
1588         Tests: fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html
1589                fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail2.html
1590
1591         * html/HTMLFormElement.cpp:
1592         (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
1593         Incremet m_associatedElementsAfterIndex when compareDocumentPosition()
1594         returns DOCUMENT_POSITION_CONTAINED_BY.
1595         (WebCore::HTMLFormElement::removeFormElement):
1596         Always iterate m_associatedElements to adjust indexes.
1597
1598 2011-04-12  Diego Gonzalez  <diegohcg@webkit.org>
1599
1600         Reviewed by Kenneth Rohde Christiansen.
1601
1602         [Qt] Do not show scrollbars when use mobile theme
1603         https://bugs.webkit.org/show_bug.cgi?id=58380
1604
1605         * platform/qt/ScrollbarThemeQt.cpp:
1606         (WebCore::ScrollbarThemeQt::scrollbarThickness):
1607
1608 2011-04-12  Anantanarayanan G Iyengar  <ananta@chromium.org>
1609
1610         Reviewed by Alexey Proskuryakov.
1611
1612         The default backspace event handler should mark the event as handled if navigation succeeds.
1613         https://bugs.webkit.org/show_bug.cgi?id=58379
1614
1615         We should mark the event as handled only if we were able to successfully navigate backwards or forwards.
1616         These navigations can fail if there is now back/forward history. This can occur in cases like ChromeFrame
1617         where history is managed by an external browser like IE.
1618
1619         No new tests added as this scenario can occur when the history view is split across two browsers (WebKit and IE)
1620         It is non trivial to simulate this environment.
1621
1622         * page/EventHandler.cpp:
1623         (WebCore::EventHandler::defaultBackspaceEventHandler):
1624
1625 2011-04-12  Ryosuke Niwa  <rniwa@webkit.org>
1626
1627         Reviewed by Eric Seidel.
1628
1629         Make availableWidth and totalOverhangWidth in findNextLineBreak member variables of LineWidth
1630         https://bugs.webkit.org/show_bug.cgi?id=58400
1631
1632         Added m_availableWidth and m_overhangWidth to LineWidth this allows us to encapsulate m_overhangWidth.
1633
1634         * rendering/RenderBlock.h:
1635         * rendering/RenderBlockLineLayout.cpp:
1636         (WebCore::LineWidth::LineWidth):
1637         (WebCore::LineWidth::fitsOnLine): Added; returns true if current width + first argument <= availableWidth.
1638         (WebCore::LineWidth::availableWidth): Added.
1639         (WebCore::LineWidth::setAvailableWidth): Added; takes LineOffsets.
1640         (WebCore::LineWidth::applyOverhang): Added; obtains the overhang width from ruby run and inflates
1641         the available width.
1642         (WebCore::LineWidth::fitBelowFloats): Moved from RenderBlock.
1643         (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
1644
1645 2011-04-12  Alexis Menard  <alexis.menard@openbossa.org>
1646
1647         Unreviewed warning fix.
1648
1649         MediaControlElements has been moved to html/shadow.
1650
1651         * WebCore.pro:
1652
1653 2011-04-12  Yael Aharon  <yael.aharon@nokia.com>
1654
1655         Reviewed by Eric Seidel.
1656
1657         Rename onEndChain and make it a static method.
1658         https://bugs.webkit.org/show_bug.cgi?id=58403
1659
1660         No new tests since this is refactoring only.
1661
1662         * rendering/InlineFlowBox.cpp:
1663         (WebCore::isLastChildForRenderer):
1664         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
1665         * rendering/InlineFlowBox.h:
1666
1667 2011-04-12  Eric Carlson  <eric.carlson@apple.com>
1668
1669         Not reviewed, build fix.
1670
1671         Fix non-accelerated build after r83667.
1672
1673         * html/HTMLMediaElement.cpp:
1674         (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): Guard call to 
1675             mediaPlayerRenderingModeChanged with USE(ACCELERATED_COMPOSITING.
1676
1677 2011-04-12  Adrienne Walker  <enne@google.com>
1678
1679         Reviewed by James Robinson.
1680
1681         [chromium] TilingData mishandles very small texture sizes
1682         https://bugs.webkit.org/show_bug.cgi?id=58364
1683
1684         Use zero tiles when the texture size is too small for tiling.
1685
1686         * platform/graphics/gpu/TilingData.cpp:
1687         (WebCore::TilingData::TilingData):
1688         (WebCore::TilingData::setMaxTextureSize):
1689
1690 2011-04-12  Csaba Osztrogonác  <ossy@webkit.org>
1691
1692         Unreviewed, rolling out r83634 and r83659.
1693         http://trac.webkit.org/changeset/83634
1694         http://trac.webkit.org/changeset/83659
1695         https://bugs.webkit.org/show_bug.cgi?id=57075
1696
1697         It made 2 tests time out
1698
1699         * platform/network/qt/QNetworkReplyHandler.cpp:
1700         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
1701         (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
1702         (WebCore::QNetworkReplyWrapper::receiveMetaData):
1703         (WebCore::QNetworkReplyWrapper::didReceiveFinished):
1704         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1705         (WebCore::QNetworkReplyHandler::resetState):
1706         (WebCore::QNetworkReplyHandler::setLoadingDeferred):
1707         (WebCore::QNetworkReplyHandler::resumeDeferredLoad):
1708         (WebCore::QNetworkReplyHandler::release):
1709         (WebCore::QNetworkReplyHandler::finish):
1710         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1711         (WebCore::QNetworkReplyHandler::forwardData):
1712         (WebCore::QNetworkReplyHandler::start):
1713         * platform/network/qt/QNetworkReplyHandler.h:
1714         * platform/network/qt/ResourceHandleQt.cpp:
1715         (WebCore::WebCoreSynchronousLoader::resourceResponse):
1716         (WebCore::WebCoreSynchronousLoader::resourceError):
1717         (WebCore::WebCoreSynchronousLoader::data):
1718         (WebCore::WebCoreSynchronousLoader::setReplyFinished):
1719         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
1720         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
1721         (WebCore::WebCoreSynchronousLoader::didReceiveData):
1722         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
1723         (WebCore::WebCoreSynchronousLoader::didFail):
1724         (WebCore::WebCoreSynchronousLoader::waitForCompletion):
1725         (WebCore::ResourceHandle::loadResourceSynchronously):
1726
1727 2011-04-12  Sam Weinig  <sam@webkit.org>
1728
1729         Reviewed by Simon Fraser.
1730
1731         Frames prevent scrolling containing page
1732         <rdar://problem/8990409>
1733         https://bugs.webkit.org/show_bug.cgi?id=58392
1734
1735         Also fixes:
1736         Should rubber-band on pages with no scrollbars
1737         <rdar://problem/9034280>
1738
1739         * page/FrameView.cpp:
1740         (WebCore::FrameView::FrameView):
1741         Make the main frame rubber-band horizontally and vertically always.
1742
1743         * platform/ScrollTypes.h:
1744         Add ScrollElasticity enum.
1745
1746         * platform/ScrollableArea.cpp:
1747         Default to no elasticity.
1748
1749         (WebCore::ScrollableArea::ScrollableArea):
1750         * platform/ScrollableArea.h:
1751         (WebCore::ScrollableArea::setVerticalScrollElasticity):
1752         (WebCore::ScrollableArea::verticalScrollElasticity):
1753         (WebCore::ScrollableArea::setHorizontalScrollElasticity):
1754         (WebCore::ScrollableArea::horizontalScrollElasticity):
1755         Add state for horizontal and vertical elasticity.
1756
1757         * platform/mac/ScrollAnimatorMac.mm:
1758         (WebCore::ScrollAnimatorMac::handleWheelEvent):
1759         Bail out of new scrolling behavior if we can't rubber-band. By bailing before
1760         accepting the wheel event, we allow the wheel event to be forwarded. We will
1761         need to refine this logic to allow subframe scrolling in the future.
1762
1763         (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
1764         (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
1765         Switch stretching behavior based on the ScrollableArea's elasticity.
1766
1767 2011-04-12  Geoffrey Garen  <ggaren@apple.com>
1768
1769         Not reviewed.
1770
1771         Try to fix the Chromium build.
1772         
1773         Why have one URL when you can have two at twice the price?
1774
1775         * platform/KURL.h:
1776         (WebCore::KURL::KURL):
1777         (WebCore::KURL::isHashTableDeletedValue):
1778         * platform/KURLGoogle.cpp:
1779         (WebCore::KURLGooglePrivate::KURLGooglePrivate):
1780         * platform/KURLGooglePrivate.h: Added a GoogleURL path for KURL's hash
1781         table deleted value constructor.
1782
1783 2011-04-12  Stephanie Lewis  <slewis@apple.com>
1784
1785         Reviewed by Oliver Hunt.
1786         https://bugs.webkit.org/show_bug.cgi?id=58280
1787         Fix a layout test by correctly comparing enums, and not adding exceptions.
1788
1789         * bindings/js/SerializedScriptValue.cpp:
1790         (WebCore::SerializedScriptValue::create):
1791         (WebCore::SerializedScriptValue::deserialize):
1792         * bindings/js/SerializedScriptValue.h:
1793
1794 2011-04-12  Eric Carlson  <eric.carlson@apple.com>
1795
1796         Reviewed by Simon Fraser.
1797
1798         Apple movie trailers play only audio
1799         https://bugs.webkit.org/show_bug.cgi?id=58339
1800         <rdar://problem/9237606>
1801
1802         No new tests, covered by existing layout and manual tests.
1803
1804         * html/HTMLMediaElement.cpp:
1805         (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated): Do the logging before calling any functions.
1806         (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): New, if still displaying the poster 
1807             change the display mode to Video and force a style recalc so the video layer gets hooked
1808             up the the render tree.
1809         * html/HTMLMediaElement.h: Define new display mode, PosterWaitingForVideo, to signal that we
1810             want to stop displaying the poster as soon as the first frame of video is available.
1811
1812         * html/HTMLVideoElement.cpp:
1813         (WebCore::HTMLVideoElement::setDisplayMode): Change display mode to PosterWaitingForVideo when
1814             we want to display Video but the media engines doesn't have the first frame yet.
1815         * html/HTMLVideoElement.h:
1816         (WebCore::HTMLVideoElement::shouldDisplayPosterImage): Update to return true when display mode
1817             is PosterWaitingForVideo.
1818
1819         * manual-tests/media-elements/video-replaces-poster.html: Clean up bit-rot from patch changes.
1820
1821         * platform/graphics/MediaPlayer.cpp:
1822         (WebCore::MediaPlayer::firstVideoFrameAvailable): New, passthrough from media engien to element.
1823         * platform/graphics/MediaPlayer.h:
1824         (WebCore::MediaPlayerClient::mediaPlayerFirstVideoFrameAvailable):
1825
1826         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1827         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Initialize 
1828             m_haveReportedFirstVideoFrame and m_playWhenFramesAvailable.
1829         (WebCore::MediaPlayerPrivateAVFoundation::play): Don't actually start playback until the first
1830             frame of video has loaded, or audio will begin to play before we can show video.
1831         (WebCore::MediaPlayerPrivateAVFoundation::pause): Clear m_playWhenFramesAvailable.
1832         (WebCore::MediaPlayerPrivateAVFoundation::updateStates): When first frame of video is
1833             available, inform elment and begin playback if it was previousl requested.
1834         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1835
1836         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
1837         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
1838         (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer): Correct logging.
1839         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Ditto.
1840         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPlay): Renamed from play.
1841         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPause): Rename from pause.
1842
1843 2011-04-12  Jian Li  <jianli@chromium.org>
1844
1845         Unreviewed, rolling out r83649.
1846         http://trac.webkit.org/changeset/83649
1847         https://bugs.webkit.org/show_bug.cgi?id=57563
1848
1849         This patch causes compiling errors for chromium
1850
1851         * platform/graphics/chromium/FontChromiumWin.cpp:
1852         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
1853         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
1854         (WebCore::Font::drawComplexText):
1855         * platform/graphics/chromium/ImageBufferData.h:
1856         * platform/graphics/chromium/LayerChromium.h:
1857         * platform/graphics/chromium/LayerRendererChromium.h:
1858         * platform/graphics/chromium/PlatformCanvas.cpp:
1859         (WebCore::PlatformCanvas::resize):
1860         * platform/graphics/chromium/PlatformCanvas.h:
1861         * platform/graphics/chromium/TransparencyWin.cpp:
1862         (WebCore::TransparencyWin::compositeTextComposite):
1863         (WebCore::TransparencyWin::makeLayerOpaque):
1864         * platform/graphics/skia/ImageBufferSkia.cpp:
1865         (WebCore::ImageBuffer::ImageBuffer):
1866         * platform/graphics/skia/ImageSkia.cpp:
1867         (WebCore::paintSkBitmap):
1868         (WebCore::Image::drawPattern):
1869         * platform/graphics/skia/PlatformContextSkia.cpp:
1870         (WebCore::PlatformContextSkia::PlatformContextSkia):
1871         (WebCore::PlatformContextSkia::setCanvas):
1872         (WebCore::PlatformContextSkia::isPrinting):
1873         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
1874         * platform/graphics/skia/PlatformContextSkia.h:
1875         (WebCore::PlatformContextSkia::canvas):
1876
1877 2011-04-12  Enrica Casucci  <enrica@apple.com>
1878
1879         Reviewed by Alexey Proskuryakov.
1880
1881         Implement non-activating clicks to allow dragging out of a background window.
1882         https://bugs.webkit.org/show_bug.cgi?id=55053
1883         <rdar://problem/9042197>
1884
1885         * WebCore.exp.in: Added new exported method.
1886
1887 2011-04-12  Geoffrey Garen  <ggaren@apple.com>
1888
1889         Reviewed by Geoffrey Garen.
1890
1891         Cleaned up hash traits, and added hash traits for handles
1892         https://bugs.webkit.org/show_bug.cgi?id=58381
1893
1894         * dom/QualifiedName.h: Use new SimpleClassHashTraits to avoid duplication.
1895
1896         * platform/KURL.h:
1897         (WebCore::KURL::KURL):
1898         (WebCore::KURL::isHashTableDeletedValue): Added explicit hash table
1899         deleted value constructor, to be more explicit and enable use of
1900         SimpleClassHashTraits.
1901
1902         * platform/KURLHash.h: Use new SimpleClassHashTraits to avoid duplication.
1903
1904         * platform/graphics/FontCache.cpp: Ditto.
1905         * platform/network/ProtectionSpaceHash.h: Ditto.
1906         * svg/properties/SVGAnimatedPropertyDescription.h: Ditto.
1907
1908 2011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
1909
1910         Reviewed by Andreas Kling.
1911
1912         [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
1913         https://bugs.webkit.org/show_bug.cgi?id=58375
1914
1915         As QNAM now makes actual synchronous loads there is no need for a nested event loop
1916         in ResourceHandleQt.
1917
1918         Moving the call for QNetworkReplyWrapper::synchronousLoad from
1919         ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
1920         redirections to work in synchronous requests.
1921
1922         * platform/network/qt/QNetworkReplyHandler.cpp:
1923         (WebCore::QNetworkReplyHandler::start):
1924         * platform/network/qt/QNetworkReplyHandler.h:
1925         * platform/network/qt/ResourceHandleQt.cpp:
1926         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
1927         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
1928         (WebCore::WebCoreSynchronousLoader::didReceiveData):
1929         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
1930         (WebCore::WebCoreSynchronousLoader::didFail):
1931         (WebCore::ResourceHandle::loadResourceSynchronously):
1932
1933 2011-04-11  Jer Noble  <jer.noble@apple.com>
1934
1935         Reviewed by Simon Fraser.
1936
1937         REGRESSION: Vimeo fullscreen video displays incorrectly
1938         https://bugs.webkit.org/show_bug.cgi?id=58291
1939
1940         Set the RenderFullScreen's zIndex to the max.  And make sure to override
1941         a video element's specified width and height by making its full screen rules
1942         important.  Also, always show the controls when a media element is in full
1943         screen mode.
1944
1945         Test: fullscreen/video-specified-size.html
1946         Test: fullscreen/full-screen-zIndex.html
1947
1948         * css/fullscreen.css:
1949         (video:-webkit-full-screen): 
1950         * html/HTMLMediaElement.cpp:
1951         (WebCore::HTMLMediaElement::controls): Always show controls in full screen mode.
1952         (WebCore::HTMLMediaElement::preDispatchEventHandler): Added. Handle the fullscreen
1953             change event and hide or show the controls accordingly.
1954         * html/HTMLMediaElement.h:
1955         * rendering/RenderFullScreen.cpp:
1956         (RenderFullScreen::createFullScreenStyle): Set the zIndex to INT_MAX and use a 
1957             vertical flexbox instead of a horizontal one.
1958
1959 2011-04-12  Chris Marrin  <cmarrin@apple.com>
1960
1961         Reviewed by Simon Fraser.
1962
1963         Page tears and stutters in WebKit2 when page is > 2048 pixels wide
1964         https://bugs.webkit.org/show_bug.cgi?id=58330
1965
1966         Added API to GraphicsLayer to disable switching to tiled layers. This is 
1967         set in the nonCompositedContentLayer in WK2, causing that layer to never
1968         switch to tiles and avoiding the asynchronous update of the content during
1969         scroll.
1970
1971         * platform/graphics/ca/GraphicsLayerCA.cpp:
1972             Implement setAllowTiledLayer() to simulate a SizeChanged action to 
1973             properly switch between tiled and untiled layer.
1974         * platform/graphics/ca/GraphicsLayerCA.h:
1975
1976 2011-04-12  Alok Priyadarshi  <alokp@chromium.org>
1977
1978         Reviewed by James Robinson.
1979
1980         Remove dependency on chromium skia::PlatformCanvas
1981         https://bugs.webkit.org/show_bug.cgi?id=57563
1982
1983         This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas.
1984         The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium.
1985         We will eventually define an API that every port using skia will define.
1986
1987         * platform/graphics/chromium/FontChromiumWin.cpp:
1988         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
1989         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
1990         (WebCore::Font::drawComplexText):
1991         * platform/graphics/chromium/ImageBufferData.h:
1992         * platform/graphics/chromium/LayerChromium.h:
1993         * platform/graphics/chromium/LayerRendererChromium.h:
1994         * platform/graphics/chromium/PlatformCanvas.cpp:
1995         (WebCore::PlatformCanvas::resize):
1996         * platform/graphics/chromium/PlatformCanvas.h:
1997         * platform/graphics/chromium/TransparencyWin.cpp:
1998         (WebCore::TransparencyWin::compositeTextComposite):
1999         (WebCore::TransparencyWin::makeLayerOpaque):
2000         * platform/graphics/skia/ImageBufferSkia.cpp:
2001         (WebCore::ImageBuffer::ImageBuffer):
2002         * platform/graphics/skia/ImageSkia.cpp:
2003         (WebCore::paintSkBitmap):
2004         (WebCore::Image::drawPattern):
2005         * platform/graphics/skia/PlatformContextSkia.cpp:
2006         (WebCore::PlatformContextSkia::PlatformContextSkia):
2007         (WebCore::PlatformContextSkia::setCanvas):
2008         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
2009         * platform/graphics/skia/PlatformContextSkia.h:
2010         (WebCore::PlatformContextSkia::canvas):
2011         (WebCore::PlatformContextSkia::printing):
2012         (WebCore::PlatformContextSkia::setPrinting):
2013
2014 2011-04-11  Stephanie Lewis  <slewis@apple.com>
2015
2016         Reviewed by Oliver Hunt.
2017
2018         https://bugs.webkit.org/show_bug.cgi?id=58280
2019         <rdar://problem/9252824> javascript in an inconsistent state due to serialization returning an un-handled exception
2020         Currently serialization and deserialization can throw javascript exceptions.  Since SerializedScriptValue is called in
2021         several places that do not always involve direct calls into javascript have the functions return an error code and the callers
2022         decide whether or not to throw exceptions.
2023
2024         Don't allow SerializedScriptValue to attempt to serialize objects that inherit from JSNavigator.h.  Walking that object creates
2025         additional objects which eventually causes serialization to end up throwing a stack overflow error.  Instead fail immediately.
2026
2027         Untangle header includes.  SerializedScriptValue was inheriting ScriptValue.h, but not using it.  Since ScriptValue depends on
2028         SerializedScriptValue this could lead to a circular header dependency.
2029
2030         No change in functionality, covered by current tests
2031
2032         * WebCore.exp.in:
2033         * bindings/js/JSMessageEventCustom.cpp:
2034         (WebCore::JSMessageEvent::initMessageEvent):
2035         * bindings/js/ScriptValue.cpp:
2036         (WebCore::ScriptValue::serialize):
2037         (WebCore::ScriptValue::deserialize):
2038         * bindings/js/ScriptValue.h:
2039         * bindings/js/SerializedScriptValue.cpp:
2040         (WebCore::CloneSerializer::serialize):
2041         (WebCore::CloneSerializer::dumpIfTerminal):
2042         (WebCore::CloneDeserializer::deserialize):
2043         (WebCore::SerializedScriptValue::create):
2044         (WebCore::SerializedScriptValue::deserialize):
2045         (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
2046         (WebCore::SerializedScriptValue::serializationDidCompleteSuccessfully):
2047         * bindings/js/SerializedScriptValue.h:
2048
2049         * bindings/js/JSWorkerContextBase.cpp: header include fix
2050         * loader/FrameLoader.h: header include fix
2051         * page/Frame.cpp: header include fix
2052
2053 2011-03-28  Adam Barth  <abarth@webkit.org>
2054
2055         Reviewed by Kenneth Russell.
2056
2057         Move libtess from WebCore/thirdparty to ThirdParty
2058         https://bugs.webkit.org/show_bug.cgi?id=57288
2059
2060         * WebCore.gyp/WebCore.gyp:
2061             - Add libtess as a legit dependency.
2062         * WebCore.gypi:
2063             - Remove libtess files from the gypi.
2064         * thirdparty/glu: Removed.
2065
2066 2011-04-12  Ryosuke Niwa  <rniwa@webkit.org>
2067
2068         Reviewed by David Hyatt.
2069
2070         Bundle w and tmpW in findNextLineBreak together as a class
2071         https://bugs.webkit.org/show_bug.cgi?id=58362
2072
2073         Renamed w, tempW, and width in findNextLineBreak to committedWidth, uncommittedWidth,
2074         and availableWidth respectively. Also bundled committedWidth and uncommittedWith as a class
2075         named LineWidth.
2076
2077         * rendering/RenderBlockLineLayout.cpp:
2078         (WebCore::LineWidth::LineWidth): Added.
2079         (WebCore::LineWidth::currentWidth): Added; returns the sum of committed and uncommitted width.
2080         (WebCore::LineWidth::uncommittedWidth): Added.
2081         (WebCore::LineWidth::committedWidth): Added.
2082         (WebCore::LineWidth::addUncommittedWidth): Added; adds the specified width to the uncommitted width.
2083         (WebCore::LineWidth::commit): Added; commits the current width and clears the uncommitted width.
2084         (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
2085
2086 2011-04-12  Yael Aharon  <yael.aharon@nokia.com>
2087
2088         Reviewed by Eric Seidel.
2089
2090         REGRESSION(r82419): extra border in t0805-c5519-ibrdr-r-00-a.html
2091         https://bugs.webkit.org/show_bug.cgi?id=57459
2092
2093         Slightly change the way we decide if a InlineFlowBox is the last box for its renderer.
2094         We include the border in that box under these conditions:
2095         (1) The next line was not created, or it is constructed. We check the previous line for rtl.
2096         (2) The logicallyLastRun is not a descendant of this renderer.
2097         (3) The logicallyLastRun is a descendant of this renderer, but it is the last child of this renderer and it does not wrap to the next line.
2098         I added the tests from bug 47210, because now the draw the borders correctly.
2099
2100         Tests: fast/borders/bidi-002.html
2101                fast/borders/bidi-004.html
2102                fast/borders/bidi-009a.html
2103
2104         * rendering/InlineFlowBox.cpp:
2105         (WebCore::InlineFlowBox::onEndChain):
2106         (WebCore::isAnsectorAndWithinBlock):
2107         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
2108         * rendering/InlineFlowBox.h:
2109         * rendering/RenderBlock.h:
2110         * rendering/RenderBlockLineLayout.cpp:
2111         (WebCore::RenderBlock::constructLine):
2112         (WebCore::RenderBlock::layoutInlineChildren):
2113
2114 2011-04-12  Geoffrey Garen  <ggaren@apple.com>
2115
2116         Reviewed by Sam Weinig.
2117
2118         Cleaned up some Vector traits, and added missing Vector traits for handles
2119         https://bugs.webkit.org/show_bug.cgi?id=58372
2120
2121         * platform/graphics/BitmapImage.h: Added a FIXME because the current
2122         Vector traits for FrameData are logically incorrect, but I couldn't find
2123         a place where this currently results in bad behavior, and it's not
2124         immediately obvious what the right solution is.
2125
2126 2011-04-12  Dimitri Glazkov  <dglazkov@chromium.org>
2127
2128         Reviewed by Eric Seidel.
2129
2130         Move MediaControlElements to html/shadow.
2131         https://bugs.webkit.org/show_bug.cgi?id=58347
2132
2133         Mechanical move of the files.
2134
2135         * Android.mk: Updated the build file.
2136         * CMakeLists.txt: Ditto.
2137         * GNUmakefile.list.am: Ditto.
2138         * WebCore.gypi: Ditto.
2139         * WebCore.pro: Ditto.
2140         * WebCore.vcproj/WebCore.vcproj: Ditto.
2141         * WebCore.xcodeproj/project.pbxproj: Ditto, also ran sort-XCode-project-files.
2142         * html/shadow/MediaControlElements.cpp: Copied from Source/WebCore/rendering/MediaControlElements.cpp.
2143         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
2144         * html/shadow/MediaControlElements.h: Copied from Source/WebCore/rendering/MediaControlElements.h.
2145         * rendering/MediaControlElements.cpp: Removed.
2146         * rendering/MediaControlElements.h: Removed.
2147         * rendering/RenderingAllInOne.cpp: Removed the files that were moved.
2148
2149 2011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
2150
2151         Reviewed by Andreas Kling.
2152
2153         [Qt] QNetworkReplyHandler refactoring: signal queue
2154         https://bugs.webkit.org/show_bug.cgi?id=57075
2155
2156         The idea is to make all signals that come from the QNetworkReply to pass through a queue and to
2157         stop that queue when loading is deferred. This way almost all the deferred logic can be removed
2158         from QNetworkReplyHandler class and encapsulated in its own class.
2159
2160         To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper
2161         methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods.
2162         This together with empting the queue at wrapper destruction time makes sure that the handler will
2163         not receive calls from a dead wrapper.
2164
2165         The new class is named QNetworkReplyHandlerCallQueue.
2166
2167         * platform/network/qt/QNetworkReplyHandler.cpp:
2168         (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue):
2169         (WebCore::QNetworkReplyHandlerCallQueue::push):
2170         (WebCore::QNetworkReplyHandlerCallQueue::lock):
2171         (WebCore::QNetworkReplyHandlerCallQueue::unlock):
2172         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
2173         (WebCore::QueueLocker::QueueLocker):
2174         (WebCore::QueueLocker::~QueueLocker):
2175         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
2176         (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
2177         (WebCore::QNetworkReplyWrapper::receiveMetaData):
2178         (WebCore::QNetworkReplyWrapper::readyRead):
2179         (WebCore::QNetworkReplyWrapper::didReceiveFinished):
2180         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2181         (WebCore::QNetworkReplyHandler::resetState):
2182         (WebCore::QNetworkReplyHandler::release):
2183         (WebCore::QNetworkReplyHandler::finish):
2184         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2185         (WebCore::QNetworkReplyHandler::forwardData):
2186         (WebCore::QNetworkReplyHandler::start):
2187         (WebCore::QNetworkReplyHandler::synchronousLoad):
2188         * platform/network/qt/QNetworkReplyHandler.h:
2189         (WebCore::QNetworkReplyHandlerCallQueue::deferSignals):
2190         (WebCore::QNetworkReplyHandlerCallQueue::clear):
2191         (WebCore::QNetworkReplyWrapper::synchronousLoad):
2192         (WebCore::QNetworkReplyHandler::setLoadingDeferred):
2193         * platform/network/qt/ResourceHandleQt.cpp:
2194         (WebCore::ResourceHandle::loadResourceSynchronously):
2195
2196 2011-04-12  David Hyatt  <hyatt@apple.com>
2197
2198         Reviewed by Dan Bernstein.
2199
2200         https://bugs.webkit.org/show_bug.cgi?id=58176
2201         
2202         Inline replaced elements following positioned elements on lines are not rendered. Make sure the
2203         logic for skipping run construction in appendRunsForObject matches the new logic that I added
2204         to findNextLineBreak. If they don't match up, you risk confusing the run construction code and
2205         causing it to not make runs for objects that follow the positioned object on the line.
2206
2207         Added fast/inline/positioned-object-between-replaced-elements.html
2208         
2209         * rendering/RenderBlockLineLayout.cpp:
2210         (WebCore::RenderBlock::appendRunsForObject):
2211
2212 2011-04-12  Alice Liu  <alice.liu@apple.com>
2213
2214         Reviewed by Sam Weinig.
2215
2216         https://bugs.webkit.org/show_bug.cgi?id=58292
2217         Provide new setting to allow site icon loading despite disabling automatic image loading in general.
2218
2219         Test: http/tests/misc/favicon-loads-with-icon-loading-override.html
2220
2221         * WebCore.exp.in: Added export symbol
2222         * loader/FrameLoader.cpp:
2223         (WebCore::FrameLoader::startIconLoader): Check new setting before deciding that site icon images shouldn't be loaded.
2224         * page/Settings.cpp:
2225         (WebCore::Settings::Settings): Add initializer for new setting
2226         (WebCore::Settings::setLoadsSiteIconsIgnoringImageLoadingSetting): Add setter for new setting.
2227         * page/Settings.h: Explain nuances regarding loadsImagesAutomatically setting.
2228         (WebCore::Settings::loadsSiteIconsIgnoringImageLoadingSetting): Added getter.
2229
2230 2011-04-12  Ryosuke Niwa  <rniwa@webkit.org>
2231
2232         Reviewed by Eric Seidel.
2233
2234         Move StyleChange and other global functions from ApplyStyleCommand to EditingStyle
2235         https://bugs.webkit.org/show_bug.cgi?id=55974
2236
2237         Moved StyleChange, getIdentifierValue, and legacyFontSizeFromCSSValue from ApplyStyleCommand
2238         to EditingStyle. Also moved reconcileTextDecorationProperties, getIdentifierValue,
2239         setTextDecorationProperty, isCSSValueLength, legacyFontSizeFromCSSValue, extractTextStyles,
2240         diffTextDecorations, fontWeightIsBold, getTextAlignment, and getPropertiesNotIn.
2241
2242         Because of this move, getPropertiesNotIn is no longer visible outside of EditingStyle.cpp
2243
2244         * editing/ApplyStyleCommand.cpp:
2245         * editing/ApplyStyleCommand.h:
2246         * editing/EditingStyle.cpp:
2247         (WebCore::reconcileTextDecorationProperties):
2248         (WebCore::StyleChange::StyleChange):
2249         (WebCore::setTextDecorationProperty):
2250         (WebCore::getRGBAFontColor):
2251         (WebCore::StyleChange::extractTextStyles):
2252         (WebCore::diffTextDecorations):
2253         (WebCore::fontWeightIsBold):
2254         (WebCore::getTextAlignment):
2255         (WebCore::getPropertiesNotIn):
2256         (WebCore::getIdentifierValue):
2257         (WebCore::isCSSValueLength):
2258         (WebCore::legacyFontSizeFromCSSValue):
2259         * editing/EditingStyle.h:
2260         (WebCore::StyleChange::cssStyle):
2261         (WebCore::StyleChange::applyBold):
2262         (WebCore::StyleChange::applyItalic):
2263         (WebCore::StyleChange::applyUnderline):
2264         (WebCore::StyleChange::applyLineThrough):
2265         (WebCore::StyleChange::applySubscript):
2266         (WebCore::StyleChange::applySuperscript):
2267         (WebCore::StyleChange::applyFontColor):
2268         (WebCore::StyleChange::applyFontFace):
2269         (WebCore::StyleChange::applyFontSize):
2270         (WebCore::StyleChange::fontColor):
2271         (WebCore::StyleChange::fontFace):
2272         (WebCore::StyleChange::fontSize):
2273         (WebCore::StyleChange::operator==):
2274         (WebCore::StyleChange::operator!=):
2275
2276 2011-04-12  Diego Gonzalez  <diegohcg@webkit.org>
2277
2278         Reviewed by Kenneth Rohde Christiansen.
2279
2280         [Qt] Better padding for inputs and comboxes in mobile theme
2281         https://bugs.webkit.org/show_bug.cgi?id=58248
2282
2283         * platform/qt/RenderThemeQt.cpp:
2284         (WebCore::RenderThemeQt::setButtonPadding):
2285         (WebCore::RenderThemeQt::adjustTextFieldStyle):
2286         (WebCore::RenderThemeQt::paintTextField):
2287         (WebCore::RenderThemeQt::adjustMenuListStyle):
2288
2289 2011-04-11  Abhishek Arya  <inferno@chromium.org>
2290
2291         Reviewed by Dave Hyatt.
2292
2293         Replace insertChildNode with addChild in handleRunIn's reparenting
2294         of inlineRunIn to currBlock.
2295         https://bugs.webkit.org/show_bug.cgi?id=58228
2296
2297         Use addChild instead of insertChildNode since it handles 
2298         correct placement of the children, esp where we cannot insert
2299         anything before the first child. e.g. details tag requires that its
2300         first child be a summary child and won't be able to remove child if
2301         that is not the case.
2302
2303         Test: fast/runin/runin-reparent-crash.html
2304
2305         * rendering/RenderBlock.cpp:
2306         (WebCore::RenderBlock::handleRunInChild):
2307
2308 2011-04-12  Chris Fleizach  <cfleizach@apple.com>
2309
2310         Unreviewed. Fixing Leopard build.
2311
2312         REGRESSION: WK2: misspelled AX attributes no longer returned from text fields
2313         https://bugs.webkit.org/show_bug.cgi?id=58304
2314
2315         checkTextOfParagraph is not available on Leopard. That code needs to be conditionalized with USE(UNIFIED_TEXT_CHECKING).
2316
2317         * accessibility/mac/AccessibilityObjectWrapper.mm:
2318         (AXAttributeStringSetSpelling):
2319
2320 2011-04-12  Mario Sanchez Prada  <msanchez@igalia.com>
2321
2322         Unreviewed. Added missing files to GNUmakefile.list.am.
2323
2324         * GNUmakefile.list.am: Added IDBLevelDBBackingStore.[h|cpp].
2325
2326 2011-04-12  Cris Neckar  <cdn@chromium.org>
2327
2328         Reviewed by Nikolas Zimmermann.
2329
2330         Add handling for non-svg inline text boxes in text box lists.
2331         https://bugs.webkit.org/show_bug.cgi?id=57933
2332
2333         Test: svg/text/svg-rtl-text-crash.html
2334
2335         * rendering/svg/RenderSVGInlineText.cpp:
2336         (WebCore::RenderSVGInlineText::positionForPoint):
2337         * rendering/svg/SVGInlineFlowBox.cpp:
2338         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
2339         * rendering/svg/SVGRenderTreeAsText.cpp:
2340         (WebCore::writeSVGInlineTextBoxes):
2341         * rendering/svg/SVGRootInlineBox.cpp:
2342         (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
2343         (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
2344         * rendering/svg/SVGTextQuery.cpp:
2345         (WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
2346
2347 2011-04-12  Mario Sanchez Prada  <msanchez@igalia.com>
2348
2349         Reviewed by Chris Fleizach.
2350
2351         [GTK] Expose menu items and menus as children of a menu bar
2352         https://bugs.webkit.org/show_bug.cgi?id=56659
2353
2354         Ensure menu items get exposed when they're children of menu bars.
2355
2356         * accessibility/AccessibilityRenderObject.cpp:
2357         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
2358         Consider menu bars as potential parent objects for menu items.
2359
2360 2011-04-12  Pavel Feldman  <pfeldman@google.com>
2361
2362         Reviewed by Yury Semikhatsky.
2363
2364         Web Inspector: remove scriptWorldType from the protocol.
2365         https://bugs.webkit.org/show_bug.cgi?id=58324
2366
2367         * inspector/Inspector.json:
2368         * inspector/InspectorDebuggerAgent.cpp:
2369         (WebCore::InspectorDebuggerAgent::didParseSource):
2370         * inspector/ScriptDebugListener.h:
2371         (WebCore::ScriptDebugListener::~ScriptDebugListener):
2372         * inspector/front-end/DebuggerModel.js:
2373         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
2374         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
2375         * inspector/front-end/Script.js:
2376         (WebInspector.Script):
2377         * inspector/front-end/ScriptsPanel.js:
2378         * inspector/front-end/SourceFile.js:
2379         (WebInspector.SourceFile):
2380
2381 2011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
2382
2383         Reviewed by Eric Carlson.
2384
2385         Should MediaControls::changedNetworkState fiddle with Fullscreen controls?
2386         https://bugs.webkit.org/show_bug.cgi?id=58163
2387
2388         Covered by existing tests and manual-tests/media-controls.html.
2389
2390         * html/shadow/MediaControls.cpp:
2391         (WebCore::MediaControls::reset): Moved fullscreen showing/hiding here.
2392         (WebCore::MediaControls::changedNetworkState): ... from here.
2393
2394 2011-04-12  Ilya Tikhonovsky  <loislo@chromium.org>
2395
2396         Reviewed by Pavel Feldman.
2397
2398         Web Inspector: remove unnecessary method InspectorAgent.didEvaluateForTestInFrontend.
2399         https://bugs.webkit.org/show_bug.cgi?id=58335
2400
2401         It was the method for Inspector layout tests.
2402         We can use RuntimeAgent.evaluate instead.
2403
2404         * inspector/Inspector.json:
2405         * inspector/InspectorAgent.cpp:
2406         * inspector/InspectorAgent.h:
2407         * inspector/InspectorController.cpp:
2408         (WebCore::InspectorController::connectFrontend):
2409         * inspector/front-end/TestController.js:
2410         (WebInspector.TestController.prototype.notifyDone):
2411
2412 2011-04-12  Philippe Normand  <pnormand@igalia.com>
2413
2414         Reviewed by Martin Robinson.
2415
2416         [GStreamer] some public callbacks remain
2417         https://bugs.webkit.org/show_bug.cgi?id=58307
2418
2419         Cleanup of the player public/private APIs. Moving the GstMessage
2420         handling code inside of the player allowed some APIs to move to
2421         the private scope of the class.
2422
2423         No new tests, this patch is a cleanup and should not affect
2424         current tests coverage.
2425
2426         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2427         (WebCore::mediaPlayerPrivateMessageCallback):
2428         (WebCore::mediaPlayerPrivateSourceChangedCallback):
2429         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
2430         (WebCore::mediaPlayerPrivateMuteChangedCallback):
2431         (WebCore::mediaPlayerPrivateRepaintCallback):
2432         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
2433         (WebCore::MediaPlayerPrivateGStreamer::currentTime):
2434         (WebCore::MediaPlayerPrivateGStreamer::seek):
2435         (WebCore::MediaPlayerPrivateGStreamer::setRate):
2436         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
2437         (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
2438         (WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
2439         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2440
2441 2011-04-12  Philippe Normand  <pnormand@igalia.com>
2442
2443         Reviewed by Martin Robinson.
2444
2445         [GStreamer] advertize HTTP Live Streaming mime-type
2446         https://bugs.webkit.org/show_bug.cgi?id=58318
2447
2448         Register the hls mime-type in the internal cache if found in the
2449         typefind factories.
2450
2451         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2452         (WebCore::mimeTypeCache):
2453
2454 2011-04-11  MORITA Hajime  <morrita@google.com>
2455
2456         Reviewed by Ryosuke Niwa.
2457         
2458         RenderIndicator and ShadowBlockElement are no longer used.
2459         https://bugs.webkit.org/show_bug.cgi?id=58277
2460
2461         Removed RenderIndicator and ShadowBlockElement.
2462         
2463         No new tests. Just removed unused code.
2464
2465         * CMakeLists.txt:
2466         * GNUmakefile.list.am:
2467         * WebCore.gypi:
2468         * WebCore.pro:
2469         * WebCore.vcproj/WebCore.vcproj:
2470         * WebCore.xcodeproj/project.pbxproj:
2471         * rendering/RenderIndicator.cpp: Removed.
2472         * rendering/RenderIndicator.h: Removed.
2473         * rendering/RenderMeter.h:
2474         * rendering/RenderingAllInOne.cpp:
2475         * rendering/ShadowElement.cpp:
2476         * rendering/ShadowElement.h:
2477
2478 2011-04-12  Csaba Osztrogonác  <ossy@webkit.org>
2479
2480         Reviewed by Benjamin Poulain.
2481
2482         fast/css/dashboard-regions-attr-crash.html asserts
2483         https://bugs.webkit.org/show_bug.cgi?id=58233
2484
2485         Move DASHBOARD_SUPPORT feature detection from features.pri to CodeGenerators.pri
2486         not to generate incorrect properties into CSSPropertyNames.h.
2487
2488         * CodeGenerators.pri:
2489         * features.pri:
2490
2491 2011-04-12  Chris Fleizach  <cfleizach@apple.com>
2492
2493         Reviewed by Dan Bernstein.
2494
2495         REGRESSION: WK2: misspelled AX attributes no longer returned from text fields
2496         https://bugs.webkit.org/show_bug.cgi?id=58304
2497
2498         checkSpellingOfString is no longer implemented in WK2. Accessibility needs to change to use
2499         checkTextOfParagraph in order to retrieve misspelled ranges.
2500
2501         Existing tests cover this functionality.
2502
2503         * accessibility/mac/AccessibilityObjectWrapper.mm:
2504         (AXAttributeStringSetSpelling):
2505
2506 2011-04-12  Sergio Villar Senin  <svillar@igalia.com>
2507
2508         Reviewed by Martin Robinson.
2509
2510         [GTK] Remove m_idleHandler from ResourceHandleSoup
2511         https://bugs.webkit.org/show_bug.cgi?id=58319
2512
2513         The m_idleHandler attribute is no longer used in ResourceHandleSoup.
2514         No new tests needed, no functionality change.
2515
2516         * platform/network/ResourceHandleInternal.h:
2517         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2518         * platform/network/soup/ResourceHandleSoup.cpp:
2519         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2520
2521 2011-04-12  Andrey Adaikin  <aandrey@google.com>
2522
2523         Reviewed by Yury Semikhatsky.
2524
2525         Web Inspector: Breakpoints and execution line decoration should stay in place if the edited line is not whitespace
2526         https://bugs.webkit.org/show_bug.cgi?id=58314
2527
2528         * inspector/front-end/SourceFrame.js:
2529         (WebInspector.SourceFrame.prototype._lineNumberAfterEditing):
2530
2531 2011-04-11  Pavel Podivilov  <podivilov@chromium.org>
2532
2533         Reviewed by Pavel Feldman.
2534
2535         Web Inspector: move shortcut handlers from SourceFrame to TextViewer.
2536         https://bugs.webkit.org/show_bug.cgi?id=58238
2537
2538         Commit/cancel editing functionality is common for all resource types, and it deals with TextViewer state.
2539
2540         * inspector/front-end/SourceFrame.js:
2541         (WebInspector.SourceFrame):
2542         (WebInspector.SourceFrame.prototype.isContentEditable):
2543         (WebInspector.SourceFrame.prototype._createTextViewer):
2544         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
2545         (WebInspector.SourceFrame.prototype.commitEditing):
2546         (WebInspector.SourceFrame.prototype.cancelEditing):
2547         * inspector/front-end/TextViewer.js:
2548         (WebInspector.TextViewer.prototype._doubleClick):
2549         (WebInspector.TextViewer.prototype._registerShortcuts):
2550         (WebInspector.TextViewer.prototype._handleKeyDown):
2551         (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
2552         (WebInspector.TextViewer.prototype._commitEditing):
2553         (WebInspector.TextViewer.prototype._cancelEditing):
2554         (WebInspector.TextViewerDelegate.prototype.endEditing):
2555         (WebInspector.TextViewerDelegate.prototype.commitEditing):
2556         (WebInspector.TextViewerDelegate.prototype.cancelEditing):
2557
2558 2011-04-12  Pavel Feldman  <pfeldman@google.com>
2559
2560         Reviewed by Yury Semikhatsky.
2561
2562         Web Inspector: cookies view is empty even for sites with cookies.
2563         https://bugs.webkit.org/show_bug.cgi?id=58316
2564
2565         Test: http/tests/inspector/resource-tree-model.html
2566
2567         * inspector/front-end/ResourceTreeModel.js:
2568         (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
2569
2570 2011-04-11  Stephen White  <senorblanco@chromium.org>
2571
2572         Reviewed by James Robinson.
2573
2574         [chromium] GPU-accelerated canvas-to-canvas drawImage is incorrect.
2575         https://bugs.webkit.org/show_bug.cgi?id=58258
2576
2577         When one accelerated canvas is drawn to another via drawImage(), if the
2578         prior call in the source canvas was non-accelerated, the 
2579         hardware canvas is not up-to-date, and the results will be incorrect.
2580         Fixed by calling prepareForHardwareDraw() on the source context.
2581
2582         Test: fast/canvas/canvas-to-canvas.html
2583
2584         * platform/graphics/skia/ImageBufferSkia.cpp:
2585         (WebCore::ImageBuffer::draw):
2586
2587 2011-04-12  Mikhail Naganov  <mnaganov@chromium.org>
2588
2589         Reviewed by Pavel Feldman.
2590
2591         Web Inspector: [Chromium] Add some more tests for detailed heap snapshots UI.
2592         https://bugs.webkit.org/show_bug.cgi?id=58146
2593
2594         Tests: inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting.html
2595                inspector/profiler/detailed-heapshots-comparison-show-all.html
2596                inspector/profiler/detailed-heapshots-comparison-show-next.html
2597                inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting.html
2598                inspector/profiler/detailed-heapshots-comparison-sorting.html
2599                inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting.html
2600                inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting.html
2601                inspector/profiler/detailed-heapshots-dominators-show-all.html
2602                inspector/profiler/detailed-heapshots-dominators-show-next.html
2603                inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting.html
2604                inspector/profiler/detailed-heapshots-dominators-sorting.html
2605                inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting.html
2606
2607         * inspector/front-end/DetailedHeapshotView.js:
2608         (WebInspector.HeapSnapshotDiffDataGrid):
2609
2610 2011-04-12  Ilya Tikhonovsky  <loislo@chromium.org>
2611
2612         Reviewed by Yury Semikhatsky.
2613
2614         Web Inspector: there was incorrect value of id property of responses for malformed json-rpc 2.0 requests.
2615         https://bugs.webkit.org/show_bug.cgi?id=58305
2616
2617         It was 0 if the message is not a json object or it has no id property. But according to spec it must be null.
2618
2619         * inspector/CodeGeneratorInspector.pm:
2620
2621 2011-04-11  Pavel Podivilov  <podivilov@chromium.org>
2622
2623         Reviewed by Pavel Feldman.
2624
2625         Web Inspector: [chromium] script formatting doesn't work when chromium is built with debug_devtools=1.
2626         https://bugs.webkit.org/show_bug.cgi?id=58232
2627
2628         * WebCore.gypi:
2629
2630 2011-04-12  Pavel Podivilov  <podivilov@chromium.org>
2631
2632         Reviewed by Pavel Feldman.
2633
2634         Web Inspector: REGRESSION: Most resources in the Network panel show a blank panel when clicked.
2635         https://bugs.webkit.org/show_bug.cgi?id=58273
2636
2637         * inspector/front-end/SourceFrame.js:
2638         (WebInspector.SourceFrame):
2639         (WebInspector.SourceFrame.prototype.get visible):
2640         (WebInspector.SourceFrame.prototype.set visible):
2641         (WebInspector.SourceFrame.prototype.show):
2642         (WebInspector.SourceFrame.prototype.hide):
2643         (WebInspector.SourceFrame.prototype.detach):
2644         (WebInspector.SourceFrame.prototype._ensureContentLoaded):
2645         (WebInspector.SourceFrame.prototype.markDiff):
2646         (WebInspector.SourceFrame.prototype.addMessage):
2647         (WebInspector.SourceFrame.prototype.clearMessages):
2648         (WebInspector.SourceFrame.prototype.get scrollTop):
2649         (WebInspector.SourceFrame.prototype.set scrollTop):
2650         (WebInspector.SourceFrame.prototype.highlightLine):
2651         (WebInspector.SourceFrame.prototype._clearLineHighlight):
2652         (WebInspector.SourceFrame.prototype._initializeTextViewer):
2653         (WebInspector.SourceFrame.prototype.performSearch):
2654         (WebInspector.SourceFrame.prototype.searchCanceled):
2655         (WebInspector.SourceFrame.prototype._jumpToSearchResult):
2656         (WebInspector.SourceFrame.prototype.setExecutionLine):
2657         (WebInspector.SourceFrame.prototype.clearExecutionLine):
2658         (WebInspector.SourceFrame.prototype.resize):
2659
2660 2011-04-12  Pavel Feldman  <pfeldman@google.com>
2661
2662         Reviewed by Yury Semikhatsky.
2663
2664         Web Inspector: document runtime agent, share remote object definition between domains.
2665         https://bugs.webkit.org/show_bug.cgi?id=58246
2666
2667         * inspector/Inspector.json:
2668
2669 2011-04-12  Pavel Feldman  <pfeldman@google.com>
2670
2671         Reviewed by Yury Semikhatsky.
2672
2673         Web Inspector: document console domain, support cross-domain type references.
2674         https://bugs.webkit.org/show_bug.cgi?id=58240
2675
2676         * inspector/ConsoleMessage.cpp:
2677         (WebCore::messageSourceValue):
2678         (WebCore::messageTypeValue):
2679         (WebCore::messageLevelValue):
2680         (WebCore::ConsoleMessage::addToFrontend):
2681         * inspector/Inspector.json:
2682         * inspector/ScriptCallFrame.cpp:
2683         (WebCore::ScriptCallFrame::buildInspectorObject):
2684         * inspector/front-end/ConsoleView.js:
2685         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
2686         (WebInspector.ConsoleMessage):
2687         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
2688         (WebInspector.ConsoleMessage.prototype.isEqual):
2689         * inspector/front-end/NetworkManager.js:
2690         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
2691         * inspector/generate-inspector-idl:
2692         * page/Console.h:
2693
2694 2011-04-06  Philippe Normand  <pnormand@igalia.com>
2695
2696         Reviewed by Martin Robinson.
2697
2698         [GStreamer] RTSP playback broken
2699         https://bugs.webkit.org/show_bug.cgi?id=56930
2700
2701         Rely on {audio,video}-changed playbin2 signals instead of the
2702         -tags-changed signals because some media don't provide tags and
2703         then can trick the media-player to not paint video, for instance.
2704
2705         Also trigger a video size calculation after the video sink
2706         negotiated its caps. This is useful in the cases where
2707         audio-changed signal is emitted but the video sink takes more time
2708         to negociate caps with its peer.
2709
2710         This patch also fixes the rtsp manual-test with a new stream url
2711         which seems to be more permanent than the previous WWDC keynote
2712         stream.
2713
2714         * manual-tests/video-rtsp.html:
2715         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2716         (WebCore::mediaPlayerPrivateVideoChangedCallback):
2717         (WebCore::mediaPlayerPrivateAudioChangedCallback):
2718         (WebCore::mediaPlayerPrivateAudioChangeTimeoutCallback):
2719         (WebCore::mediaPlayerPrivateVideoChangeTimeoutCallback):
2720         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
2721         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2722         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
2723         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
2724         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
2725         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
2726         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
2727         (WebCore::MediaPlayerPrivateGStreamer::paint):
2728         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
2729         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2730
2731 2011-04-12  Vsevolod Vlasov  <vsevik@chromium.org>
2732
2733         Reviewed by Pavel Feldman.
2734
2735         Web Inspector: Failed/canceled resource requests kept showing as Pending in network panel.
2736         https://bugs.webkit.org/show_bug.cgi?id=58135
2737
2738         Added statuses for failed/canceled resource loading.
2739
2740         * English.lproj/localizedStrings.js:
2741         * inspector/Inspector.json:
2742         * inspector/InspectorResourceAgent.cpp:
2743         (WebCore::InspectorResourceAgent::didFailLoading):
2744         * inspector/front-end/NetworkManager.js:
2745         * inspector/front-end/NetworkPanel.js:
2746         * inspector/front-end/Resource.js:
2747
2748 2011-04-12  Steve Block  <steveblock@google.com>
2749
2750         Reviewed by Oliver Hunt.
2751
2752         Callable objects created via JavaScriptCore API cannot be used as Geolocation callbacks
2753         https://bugs.webkit.org/show_bug.cgi?id=40012
2754
2755         Covered by fast/dom/Geolocation/argument-types.html
2756
2757         * bindings/js/CallbackFunction.cpp:
2758         (WebCore::checkFunctionOnlyCallback):
2759
2760 2011-04-07  Philippe Normand  <pnormand@igalia.com>
2761
2762         Reviewed by Martin Robinson.
2763
2764         [GStreamer] report playback statistics
2765         https://bugs.webkit.org/show_bug.cgi?id=58033
2766
2767         Provide media playback statistics using fpsdisplaysink and
2768         position queries.
2769
2770         * manual-tests/video-statistics.html: Added.
2771         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2772         (WebCore::MediaPlayerPrivateGStreamer::decodedFrameCount):
2773         (WebCore::MediaPlayerPrivateGStreamer::droppedFrameCount):
2774         (WebCore::MediaPlayerPrivateGStreamer::audioDecodedByteCount):
2775         (WebCore::MediaPlayerPrivateGStreamer::videoDecodedByteCount):
2776         (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink):
2777         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
2778         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
2779         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2780
2781 2011-04-11  Philippe Normand  <pnormand@igalia.com>
2782
2783         Reviewed by Martin Robinson.
2784
2785         [GStreamer] warnings in media/video-set-rate-from-pause.html
2786         https://bugs.webkit.org/show_bug.cgi?id=58220
2787
2788         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2789         (WebCore::MediaPlayerPrivateGStreamer::setRate): Pause the
2790         pipeline if new rate is zero, like advised in the GStreamer
2791         documentation of gst_event_new_seek().
2792
2793 2011-04-11  Vangelis Kokkevis  <vangelis@chromium.org>
2794
2795         Reviewed by James Robinson.
2796
2797         [chromium] Properly invalidate the contents of ImageLayerChromium's
2798         when the actual image contents change.
2799         https://bugs.webkit.org/show_bug.cgi?id=58181
2800
2801         Test: compositing/images/content-image-change.html
2802
2803         * platform/graphics/chromium/ContentLayerChromium.cpp:
2804         (WebCore::ContentLayerChromium::updateTexture):
2805         * platform/graphics/chromium/ImageLayerChromium.cpp:
2806         (WebCore::ImageLayerChromium::ImageLayerChromium):
2807         (WebCore::ImageLayerChromium::setContents):
2808         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2809         * platform/graphics/chromium/ImageLayerChromium.h:
2810
2811 2011-04-11  Simon Fraser  <simon.fraser@apple.com>
2812
2813         Reviewed by Dan Bernstein.
2814
2815         -webkit-box-shadow:inset does not animate transform as an inset shadow
2816         https://bugs.webkit.org/show_bug.cgi?id=45176
2817         
2818         Two fixes:
2819         1. Don't run transitions between different shadow styles (normal vs. inset).
2820         2. When either source or destination is null, use a default shadow with a
2821         matching style so that the transition runs.
2822
2823         Test: transitions/mismatched-shadow-styles.html
2824
2825         * page/animation/AnimationBase.cpp:
2826         (WebCore::blendFunc):
2827         (WebCore::PropertyWrapperShadow::blend):
2828
2829 2011-04-11  John Bates  <jbates@google.com>
2830
2831         Reviewed by Kenneth Russell.
2832
2833         chromium support for glSetLatch and glWaitLatch between 3D contexts
2834         https://bugs.webkit.org/show_bug.cgi?id=58003
2835
2836         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2837         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
2838         (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
2839         (WebCore::Canvas2DLayerChromium::setLayerRenderer):
2840         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2841         * platform/graphics/chromium/Extensions3DChromium.h:
2842         * platform/graphics/chromium/GLES2Canvas.cpp:
2843         (WebCore::Cubic::Cubic):
2844         * platform/graphics/chromium/LayerRendererChromium.cpp:
2845         (WebCore::LayerRendererChromium::LayerRendererChromium):
2846         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2847         (WebCore::LayerRendererChromium::updateLayers):
2848         (WebCore::LayerRendererChromium::addChildContext):
2849         (WebCore::LayerRendererChromium::removeChildContext):
2850         * platform/graphics/chromium/LayerRendererChromium.h:
2851         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2852         (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
2853         (WebCore::WebGLLayerChromium::updateCompositorResources):
2854         (WebCore::WebGLLayerChromium::setContext):
2855         (WebCore::WebGLLayerChromium::setLayerRenderer):
2856         * platform/graphics/chromium/WebGLLayerChromium.h:
2857
2858 2011-04-11  Alexey Marinichev  <amarinichev@chromium.org>
2859
2860         Reviewed by James Robinson.
2861
2862         LayerChromium/CCLayerImpl ownership fix
2863         https://bugs.webkit.org/show_bug.cgi?id=58283
2864
2865         CCLayerImpl's m_owner field lifetime should match the lifetime of the
2866         corresponding LayerChromium.  This change moves resetting of m_owner
2867         into LayerChromium's destructor.
2868
2869         Tested similarly to bug 57577.
2870
2871         * platform/graphics/chromium/LayerChromium.cpp:
2872         (WebCore::LayerChromium::~LayerChromium):
2873         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2874         (WebCore::CCLayerImpl::cleanupResources):
2875         * platform/graphics/chromium/cc/CCLayerImpl.h:
2876         (WebCore::CCLayerImpl::resetOwner):
2877
2878 2011-04-11  Daniel Bates  <dbates@rim.com>
2879
2880         Attempt to fix the GTK build after changeset 83527 <http://trac.webkit.org/changeset/83527>
2881         (https://bugs.webkit.org/show_bug.cgi?id=53556).
2882
2883         * GNUmakefile.list.am: Append files HTMLTrackElement.{h, cpp} to the list webcore_sources.
2884
2885 2011-04-11  Brady Eidson  <beidson@apple.com>
2886
2887         Reviewed by Maciej Stachowiak.
2888
2889         <rdar://problem/9251515> and https://bugs.webkit.org/show_bug.cgi?id=58072
2890         URLs accessed as a result of pushState/replaceState should count as "visited" and be in the global history
2891
2892         Test: fast/loader/stateobjects/state-url-sets-links-visited.html
2893
2894         * loader/HistoryController.cpp:
2895         (WebCore::HistoryController::pushState): Notify the history client and add the visited link.
2896         (WebCore::HistoryController::replaceState): Ditto.
2897
2898 2011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
2899
2900         Reviewed by Eric Carlson.
2901
2902         Rename MediaControls to MediaControlRootElement.
2903         https://bugs.webkit.org/show_bug.cgi?id=58250
2904
2905         Mechanical move using do-webcore-rename.
2906
2907 2011-04-11  Dean Jackson  <dino@apple.com>
2908
2909         Reviewed by Simon Fraser.
2910
2911         https://bugs.webkit.org/show_bug.cgi?id=58285
2912         CompositeAnimation is cleared while an AnimationBase is waiting for notification
2913
2914         Occasionally hardware animations would trigger a state where
2915         they would tell the AnimationControllerPrivate that it should notify
2916         any waiting animations that they are ready to start, even though
2917         the RenderObject had gone away and hence the CompositeAnimation
2918         had been destroyed. The fix is to zero the pointer from AnimationBase
2919         when the CompositeAnimation destructor runs (or its animations are
2920         cleared) and test the validity of the CompositeAnimation before it
2921         is used in AnimationBase.
2922
2923         * page/animation/AnimationBase.cpp:
2924         (WebCore::AnimationBase::updateStateMachine):
2925         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
2926         (WebCore::AnimationBase::updatePlayState):
2927         (WebCore::AnimationBase::freezeAtTime):
2928         (WebCore::AnimationBase::beginAnimationUpdateTime):
2929         - test that the CompositeAnimation exists
2930         * page/animation/AnimationBase.h:
2931         (WebCore::AnimationBase::clear):
2932         - rename clearRenderer() to clear() as it now also clears the CompositeAnimation
2933         * page/animation/CompositeAnimation.cpp:
2934         (WebCore::CompositeAnimation::clearRenderer):
2935         (WebCore::CompositeAnimation::updateKeyframeAnimations):
2936         - call clear() rather than clearRenderer()
2937
2938 2011-04-11  Justin Novosad  <junov@chromium.org>
2939
2940         Reviewed by Kenneth Russell.
2941
2942         [Chromium] Text anti-aliasing fails when rendering text with shadow
2943         https://bugs.webkit.org/show_bug.cgi?id=57584
2944
2945         * platform/graphics/chromium/FontChromiumWin.cpp:
2946         (WebCore::drawGlyphsWin): new static function, code factored-out
2947         from WebCore::Font::drawGlyphs
2948         (WebCore::Font::drawGlyphs): may separate font rendering into two
2949         passes to allow foreground glyphs to be rendered with GDI when Skia 
2950         is required for rendering shadows
2951         * platform/graphics/skia/SkiaFontWin.cpp:
2952         (WebCore::windowsCanHandleDrawTextShadow):
2953         Modified method so that it does not assume a shadow is present, and
2954         returns true if there is no shadow (GDI can draw 'no shadow')
2955         (WebCore::windowsCanHandleTextDrawing):
2956         Factored out into sub methods so that the the shadow and foregound
2957         glyph properties can be tested separately independently.
2958         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
2959         New method returns true if the foreground glyph only has effect
2960         that can be draw with GDI
2961         (WebCore::paintSkiaText):
2962         * platform/graphics/skia/SkiaFontWin.h:
2963
2964 2011-04-11  Ryosuke Niwa  <rniwa@webkit.org>
2965
2966         Unreviewed, rolling out r83515.
2967         http://trac.webkit.org/changeset/83515
2968         https://bugs.webkit.org/show_bug.cgi?id=57178
2969
2970         Broke GTK builds. nextOnLineExists and prevOnLineExists are still used in AccessibilityObjectWrapperAtk.cpp.
2971
2972         * rendering/InlineBox.cpp:
2973         (WebCore::InlineBox::nextOnLineExists):
2974         (WebCore::InlineBox::prevOnLineExists):
2975         * rendering/InlineBox.h:
2976         (WebCore::InlineBox::InlineBox):
2977
2978 2011-04-11  Brady Eidson  <beidson@apple.com>
2979
2980         Reverting, seeing something else still broken.  Sorry.
2981
2982         * html/HTMLTrackElement.cpp:
2983
2984 2011-04-11  Brady Eidson  <beidson@apple.com>
2985
2986         Fix the build.
2987
2988         * html/HTMLTrackElement.cpp: Case-sensitive, please.
2989
2990 2011-04-11  Alexis Menard  <alexis.menard@openbossa.org>
2991
2992         Unreviewed build fix for Mac.
2993
2994         An idl file was added in the wrong place.
2995
2996         * WebCore.xcodeproj/project.pbxproj:
2997
2998 2011-04-11  Chris Marrin  <cmarrin@apple.com>
2999
3000         Rubberstamped by Dan Bernstein.
3001
3002         xhr.responseType = 'arraybuffer' works on Mac but not on Windows
3003         https://bugs.webkit.org/show_bug.cgi?id=50334
3004
3005         Got rid of guards around arraybuffer logic in XHR. ArrayBuffer and friends
3006         are always turned on now, so there's not need for the guard. I reenabled the
3007         test that was Skipped on Windows and it works now.
3008
3009         * bindings/js/JSXMLHttpRequestCustom.cpp:
3010         (WebCore::JSXMLHttpRequest::markChildren):
3011         (WebCore::JSXMLHttpRequest::send):
3012         (WebCore::JSXMLHttpRequest::response):
3013         * xml/XMLHttpRequest.cpp:
3014         (WebCore::XMLHttpRequest::responseArrayBuffer):
3015         (WebCore::XMLHttpRequest::setResponseType):
3016         (WebCore::XMLHttpRequest::send):
3017         (WebCore::XMLHttpRequest::clearResponseBuffers):
3018         (WebCore::XMLHttpRequest::didReceiveData):
3019         * xml/XMLHttpRequest.h:
3020         (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
3021
3022 2011-04-11  Anna Cavender  <annacc@chromium.org>
3023
3024         Reviewed by Eric Carlson.
3025
3026         Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
3027         https://bugs.webkit.org/show_bug.cgi?id=53556
3028
3029         No new tests. No real functionality added just yet.
3030
3031         * CMakeLists.txt:
3032         * CodeGenerators.pri:
3033         * Configurations/FeatureDefines.xcconfig:
3034         * DerivedSources.make:
3035         * GNUmakefile.am:
3036         * GNUmakefile.list.am:
3037         * WebCore.gypi:
3038         * WebCore.xcodeproj/project.pbxproj:
3039         * features.pri:
3040         * html/HTMLAttributeNames.in:
3041         * html/HTMLTagNames.in:
3042         * html/HTMLTrackElement.cpp: Added.
3043         (WebCore::HTMLTrackElement::HTMLTrackElement):
3044         (WebCore::HTMLTrackElement::create):
3045         (WebCore::HTMLTrackElement::insertedIntoTree):
3046         (WebCore::HTMLTrackElement::willRemove):
3047         (WebCore::HTMLTrackElement::src):
3048         (WebCore::HTMLTrackElement::setSrc):
3049         (WebCore::HTMLTrackElement::kind):
3050         (WebCore::HTMLTrackElement::setKind):
3051         (WebCore::HTMLTrackElement::srclang):
3052         (WebCore::HTMLTrackElement::setSrclang):
3053         (WebCore::HTMLTrackElement::label):
3054         (WebCore::HTMLTrackElement::setLabel):
3055         (WebCore::HTMLTrackElement::isDefault):
3056         (WebCore::HTMLTrackElement::setIsDefault):
3057         (WebCore::HTMLTrackElement::isURLAttribute):
3058         * html/HTMLTrackElement.h: Added.
3059         * html/HTMLTrackElement.idl: Added.
3060
3061 2011-04-11  Ben Taylor  <bentaylor.solx86@gmail.com>
3062
3063         Reviewed by David Levin.
3064
3065         https://bugs.webkit.org/show_bug.cgi?id=57535
3066
3067         Better compile fix for Solaris 10/Sun Studio 12 CC 
3068         needing <sys/time.h>
3069
3070         * loader/icon/IconRecord.h:
3071         * page/Page.h:
3072         * platform/network/ResourceResponseBase.h:
3073
3074 2011-04-11  Alexey Proskuryakov  <ap@apple.com>
3075
3076         Reviewed by Maciej Stachowiak.
3077
3078         WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
3079         https://bugs.webkit.org/show_bug.cgi?id=58265
3080         <rdar://problem/9221468>
3081
3082         * page/EventHandler.cpp:
3083         (WebCore::EventHandler::defaultKeyboardEventHandler): Handle Backspace.
3084         (WebCore::EventHandler::defaultSpaceEventHandler): Enabled this on Mac, and added checks for
3085         other modifiers - no one wants to scroll on Ctrl+Alt+Space and such.
3086         (WebCore::EventHandler::defaultBackspaceEventHandler): Backspace goes back, Shift-backspace
3087         goes forward. All browsers do it.
3088         (WebCore::EventHandler::defaultArrowEventHandler): Assert that this function was called
3089         for a correct event.
3090         (WebCore::EventHandler::defaultTabEventHandler): Ditto.
3091
3092         * page/EventHandler.h: Added defaultBackspaceEventHandler.
3093
3094 2011-04-11  Matthew Delaney  <mdelaney@apple.com>
3095
3096         Reviewed by Dan Bernstein.
3097
3098         [CG] drawImage with a subimage bleeds pixel data at borders
3099         https://bugs.webkit.org/show_bug.cgi?id=58267
3100
3101         Test: fast/canvas/DrawImageSinglePixelStretch.html
3102
3103         * platform/graphics/cg/ImageCG.cpp:
3104         (WebCore::BitmapImage::draw): Any interpolation quality other than 'none' will graft out the subimage first now.
3105
3106 2011-04-11  Chris Marrin  <cmarrin@apple.com>
3107
3108         Reviewed by Simon Fraser.
3109
3110         iframe/compositing propagation should also work for <object> and framesets
3111         https://bugs.webkit.org/show_bug.cgi?id=39037
3112
3113         Generalized the code that handles the parenting of composited <iframe> elements
3114         to include <frame> and <object> elements. This includes forcing the parent
3115         element to be composited and constructing the layer tree in the child document
3116         and properly parenting it. Much of the change is giving the function calls more
3117         generic names (from ...IFrame... to ...Frame...)
3118         
3119         Compositing tests that were done in RenderIFrame have been moved to RenderPart
3120         since this is the highest base class common to all 3 elements.
3121         
3122         I also renamed several ...IFrame... functions to
3123         ...Frame... and changed them so they work on a RenderPart for determining
3124         if the renderer is composited. One other detail is that <iframe> and 
3125         <object> never share style since they might be composited. I had to add
3126         <frame> to that list.
3127
3128         Tests: compositing/framesets/composited-frame-alignment.html
3129                compositing/objects/composited-object-alignment.html
3130
3131         * css/CSSStyleSelector.cpp: Add <frame> to list of element types that should never share style since it might be composited.
3132         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3133         * page/FrameView.cpp:
3134         (WebCore::FrameView::hasCompositedContentIncludingDescendants):
3135         (WebCore::FrameView::setIsOverlapped):
3136         * rendering/RenderIFrame.cpp: Moved methods to RenderPart
3137         * rendering/RenderIFrame.h:
3138         * rendering/RenderLayerBacking.cpp:
3139         (WebCore::RenderLayerBacking::updateAfterWidgetResize):
3140         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3141         (WebCore::RenderLayerBacking::paintingGoesToWindow):
3142         * rendering/RenderLayerCompositor.cpp:
3143         (WebCore::RenderLayerCompositor::updateBacking):
3144         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3145         (WebCore::RenderLayerCompositor::frameContentsCompositor):
3146         (WebCore::RenderLayerCompositor::parentFrameContentLayers):
3147         (WebCore::RenderLayerCompositor::didMoveOnscreen):
3148         (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
3149         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
3150         (WebCore::RenderLayerCompositor::enclosingFrameElement):
3151         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
3152         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
3153         (WebCore::RenderLayerCompositor::requiresScrollLayer):
3154         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
3155         (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
3156         (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
3157         * rendering/RenderLayerCompositor.h:
3158         * rendering/RenderPart.cpp: Functions moved from RenderIFrame
3159         (WebCore::RenderPart::requiresLayer):
3160         (WebCore::RenderPart::requiresAcceleratedCompositing):
3161         * rendering/RenderPart.h:
3162
3163 2011-04-11  Yael Aharon  <yael.aharon@nokia.com>
3164
3165         Reviewed by Eric Seidel.
3166
3167         InlineBox::prevOnline and InlineBox::prevOnlineExists() are confusing and should be renamed
3168         https://bugs.webkit.org/show_bug.cgi?id=57178
3169
3170         Remove prevOnLineExists() and nextOnLineExists() as they are not used anymore.
3171         No new tests needed because this is cleanup only.
3172
3173         * rendering/InlineBox.cpp:
3174         * rendering/InlineBox.h:
3175         (WebCore::InlineBox::InlineBox):
3176         (WebCore::InlineBox::setPrevOnLine):
3177
3178 2011-04-11  David Hyatt  <hyatt@apple.com>
3179
3180         Reviewed by Dan Bernstein.
3181
3182         https://bugs.webkit.org/show_bug.cgi?id=58261
3183
3184         Fix for layout regression on marketwatch.com. When I converted TrailingFloatsRootInlineBox over
3185         to the new overflow model, I messed up the math and passed a bottom value where I should have
3186         passed a height value. This patch fixes the code to be logically equivalent to the way it
3187         was prior to my changes.
3188
3189         Added fast/overflow/trailing-float-linebox.html.
3190
3191         * rendering/RenderBlockLineLayout.cpp:
3192         (WebCore::RenderBlock::layoutInlineChildren):
3193
3194 2011-04-11  Adrienne Walker  <enne@google.com>
3195
3196         Unreviewed, rolling out r83500.
3197         http://trac.webkit.org/changeset/83500
3198         https://bugs.webkit.org/show_bug.cgi?id=57113
3199
3200         Regresses huge-layer-rotated test
3201
3202         * platform/graphics/chromium/ContentLayerChromium.cpp:
3203         (WebCore::ContentLayerChromium::ContentLayerChromium):
3204         (WebCore::ContentLayerChromium::~ContentLayerChromium):
3205         (WebCore::ContentLayerChromium::cleanupResources):
3206         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
3207         (WebCore::ContentLayerChromium::paintContentsIfDirty):
3208         (WebCore::ContentLayerChromium::resizeUploadBuffer):
3209         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
3210         (WebCore::ContentLayerChromium::updateTexture):
3211         (WebCore::ContentLayerChromium::draw):
3212         (WebCore::ContentLayerChromium::updateCompositorResources):
3213         (WebCore::ContentLayerChromium::unreserveContentsTexture):
3214         (WebCore::ContentLayerChromium::bindContentsTexture):
3215         (WebCore::ContentLayerChromium::dumpLayerProperties):
3216         * platform/graphics/chromium/ContentLayerChromium.h:
3217         (WebCore::ContentLayerChromium::drawsContent):
3218         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3219         (WebCore::GraphicsLayerChromium::setMaskLayer):
3220         * platform/graphics/chromium/ImageLayerChromium.cpp:
3221         (WebCore::ImageLayerChromium::paintContentsIfDirty):
3222         (WebCore::ImageLayerChromium::updateTextureIfNeeded):
3223         * platform/graphics/chromium/ImageLayerChromium.h:
3224         * platform/graphics/chromium/LayerChromium.h:
3225         (WebCore::LayerChromium::draw):
3226         * platform/graphics/chromium/LayerRendererChromium.cpp:
3227         (WebCore::LayerRendererChromium::drawRootLayer):
3228         (WebCore::LayerRendererChromium::drawLayers):
3229         (WebCore::LayerRendererChromium::paintContentsRecursive):
3230         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
3231         (WebCore::LayerRendererChromium::drawLayer):
3232         (WebCore::LayerRendererChromium::initializeSharedObjects):
3233         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3234         * platform/graphics/chromium/LayerRendererChromium.h:
3235         (WebCore::LayerRendererChromium::contentLayerProgram):
3236         * platform/graphics/chromium/LayerTilerChromium.cpp:
3237         (WebCore::LayerTilerChromium::invalidateRect):
3238         (WebCore::LayerTilerChromium::update):
3239         (WebCore::LayerTilerChromium::updateFromPixels):
3240         (WebCore::LayerTilerChromium::draw):
3241         * platform/graphics/chromium/LayerTilerChromium.h:
3242         * platform/graphics/chromium/PlatformCanvas.cpp:
3243         (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
3244         (WebCore::PlatformCanvas::Painter::Painter):
3245         * platform/graphics/chromium/PlatformCanvas.h:
3246         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3247         (WebCore::RenderSurfaceChromium::draw):
3248         * platform/graphics/chromium/RenderSurfaceChromium.h:
3249         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
3250         (WebCore::CCCanvasLayerImpl::draw):
3251         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
3252         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3253         (WebCore::CCHeadsUpDisplay::draw):
3254         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3255         (WebCore::CCLayerImpl::draw):
3256         * platform/graphics/chromium/cc/CCLayerImpl.h:
3257         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
3258         (WebCore::CCPluginLayerImpl::draw):
3259         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
3260         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3261         (WebCore::CCVideoLayerImpl::draw):
3262         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3263
3264 2011-04-11  Jon Honeycutt  <jhoneycutt@apple.com>
3265
3266         <rdar://problem/9267042> Assertion failure on launch in
3267         LayerChangesFlusher::setHook().
3268
3269         https://bugs.webkit.org/show_bug.cgi?id=58270
3270
3271         Reviewed by Adam Roben.
3272
3273         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
3274         (WebCore::LayerChangesFlusher::setHook):
3275         MSDN says that the HINSTANCE passed in must be null if the thread ID
3276         passed is a thread created by this process and the hook procedure is
3277         within this process.
3278
3279 2011-04-11  MORITA Hajime  <morrita@google.com>
3280
3281         Unreviewed build fix.
3282
3283         Changeset 83492 broke Leopard build.
3284         https://bugs.webkit.org/show_bug.cgi?id=58268
3285
3286         * editing/Editor.cpp:
3287         (WebCore::Editor::markMisspellingsAfterTypingToWord):
3288
3289 2011-03-25  Adrienne Walker  <enne@google.com>
3290
3291         Reviewed by James Robinson.
3292
3293         [chromium] Tile content and image layers
3294         https://bugs.webkit.org/show_bug.cgi?id=57113
3295
3296         Layers tile by default if any dimension is larger than 512.  Smaller
3297         layers are contained within a single texture but still use the tiler
3298         infrastructure so that there's only one code path.
3299
3300         Remove large layer support from content layers.  Content layers no
3301         longer own a platform canvas--they own a tiler.  Refactor tiler to
3302         allow for better separation of update/upload/paint.  Add rect
3303         parameter to update and draw functions on layers for the layer-space
3304         rect of interest.  This is necessary to know which tiles need to be
3305         drawn.
3306
3307         * platform/graphics/chromium/ContentLayerChromium.cpp:
3308         (WebCore::ContentLayerChromium::ContentLayerChromium):
3309         (WebCore::ContentLayerChromium::~ContentLayerChromium):
3310         (WebCore::ContentLayerPainter::ContentLayerPainter):
3311         (WebCore::ContentLayerPainter::paint):
3312         (WebCore::ContentLayerChromium::paintContentsIfDirty):
3313         (WebCore::ContentLayerChromium::setLayerRenderer):
3314         (WebCore::ContentLayerChromium::tilingTransform):
3315         (WebCore::ContentLayerChromium::visibleLayerRect):
3316         (WebCore::ContentLayerChromium::layerBounds):
3317         (WebCore::ContentLayerChromium::updateLayerSize):
3318         (WebCore::ContentLayerChromium::draw):
3319         (WebCore::ContentLayerChromium::createTilerIfNeeded):
3320         (WebCore::ContentLayerChromium::updateCompositorResources):
3321         (WebCore::ContentLayerChromium::setTilingOption):
3322         (WebCore::ContentLayerChromium::bindContentsTexture):
3323         (WebCore::ContentLayerChromium::unreserveContentsTexture):
3324         (WebCore::ContentLayerChromium::setIsMask):
3325         (WebCore::ContentLayerChromium::dumpLayerProperties):
3326         * platform/graphics/chromium/ContentLayerChromium.h:
3327         (WebCore::ContentLayerChromium::drawsContent):
3328         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3329         (WebCore::GraphicsLayerChromium::setMaskLayer):
3330         * platform/graphics/chromium/ImageLayerChromium.cpp:
3331         (WebCore::ImageLayerChromium::paintContentsIfDirty):
3332         (WebCore::ImageLayerChromium::updateCompositorResources):
3333         (WebCore::ImageLayerChromium::layerBounds):
3334         (WebCore::ImageLayerChromium::tilingTransform):
3335         * platform/graphics/chromium/ImageLayerChromium.h:
3336         * platform/graphics/chromium/LayerChromium.h:
3337         (WebCore::LayerChromium::invalidateRect):
3338         (WebCore::LayerChromium::paintContentsIfDirty):
3339         (WebCore::LayerChromium::setIsMask):
3340         (WebCore::LayerChromium::draw):
3341         * platform/graphics/chromium/LayerRendererChromium.cpp:
3342         (WebCore::LayerRendererChromium::drawRootLayer):
3343         (WebCore::LayerRendererChromium::drawLayers):
3344         (WebCore::LayerRendererChromium::paintContentsRecursive):
3345         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
3346         (WebCore::LayerRendererChromium::drawLayer):
3347         (WebCore::LayerRendererChromium::initializeSharedObjects):
3348         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3349         * platform/graphics/chromium/LayerRendererChromium.h:
3350         * platform/graphics/chromium/LayerTilerChromium.cpp:
3351         (WebCore::LayerTilerChromium::getSingleTexture):
3352         (WebCore::LayerTilerChromium::invalidateRect):
3353         (WebCore::LayerTilerChromium::update):
3354         (WebCore::LayerTilerChromium::uploadCanvas):
3355         (WebCore::LayerTilerChromium::updateFromPixels):
3356         (WebCore::LayerTilerChromium::draw):
3357         (WebCore::LayerTilerChromium::unreserveTextures):
3358         * platform/graphics/chromium/LayerTilerChromium.h:
3359         (WebCore::LayerTilerChromium::setLayerRenderer):
3360         (WebCore::LayerTilerChromium::skipsDraw):
3361         * platform/graphics/chromium/PlatformCanvas.cpp:
3362         (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
3363         (WebCore::PlatformCanvas::Painter::Painter):
3364         * platform/graphics/chromium/PlatformCanvas.h:
3365         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3366         (WebCore::RenderSurfaceChromium::draw):
3367         * platform/graphics/chromium/RenderSurfaceChromium.h:
3368         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
3369         (WebCore::CCCanvasLayerImpl::draw):
3370         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
3371         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3372         (WebCore::CCHeadsUpDisplay::draw):
3373         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3374         (WebCore::CCLayerImpl::draw):
3375         * platform/graphics/chromium/cc/CCLayerImpl.h:
3376         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
3377         (WebCore::CCPluginLayerImpl::draw):
3378         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
3379         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3380         (WebCore::CCVideoLayerImpl::draw):
3381         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3382
3383 2011-04-11  Eric Carlson  <eric.carlson@apple.com>
3384
3385         Reviewed by Simon Fraser.
3386
3387         Ignore context change callbacks when not on the main thread
3388         https://bugs.webkit.org/show_bug.cgi?id=58256
3389         <rdar://problem/9266090>
3390
3391         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
3392         (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Do nothing when not called
3393             on the main thread. This should only happen when no changes have actually 
3394             been committed to the context, eg. when a video frame has been added to an image
3395             queue, so return without triggering animations etc.
3396
3397 2011-04-11  Daniel Cheng  <dcheng@chromium.org>
3398
3399         Reviewed by Dmitry Titov.
3400
3401         [chromium] Implement image/png support in DataTransferItems
3402         https://bugs.webkit.org/show_bug.cgi?id=58106
3403
3404         This patch implements DataTransferItem::getAsFile() using Blobs. In
3405         addition, plumbing for image/png has been added so image paste will be
3406         supported as long as the renderer makes that data available.
3407
3408         Tests: editing/pasteboard/data-transfer-items-image-png.html
3409
3410         * dom/DataTransferItem.h:
3411         * dom/DataTransferItem.idl:
3412         * platform/chromium/ClipboardMimeTypes.cpp:
3413         * platform/chromium/ClipboardMimeTypes.h:
3414         * platform/chromium/DataTransferItemChromium.cpp:
3415         (WebCore::DataTransferItemChromium::getAsString):
3416         (WebCore::DataTransferItemChromium::getAsFile):
3417         * platform/chromium/DataTransferItemChromium.h:
3418         * platform/chromium/PlatformBridge.h:
3419
3420 2011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
3421
3422         Reviewed by Chris Fleizach.
3423
3424         [Gtk] Implement support for Embedded Objects
3425         https://bugs.webkit.org/show_bug.cgi?id=52148
3426
3427         Expose special OBJECT character for replaced elements, implementing
3428         AtkText and AtkHyperlink when required.
3429
3430         * accessibility/AccessibilityRenderObject.cpp:
3431         (WebCore::textIteratorBehaviorForTextRange): New helper function,
3432         to return the right behavior, depending on the platform, so it
3433         ensures that object replacement characters get emitted for GTK.
3434         (WebCore::AccessibilityRenderObject::textUnderElement): Use the
3435         new helper function textIteratorBehaviorForTextRange.
3436         (WebCore::AccessibilityRenderObject::stringValue): Ditto.
3437         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
3438         Consider replaced elements when calculating range length in GTK.
3439
3440         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3441         (textForRenderer): Ouput the 'object replacement character' for
3442         replaced objects.
3443         (getSelectionOffsetsForObject): Consider replaced elements when
3444         calculating range length in GTK.
3445         (webkitAccessibleHypertextGetLink): Remove wrong extra check that
3446         were causing only links to be considered.
3447         (webkitAccessibleHypertextGetNLinks): Replace wrong 'isLink()'
3448         check with the right one, by checking that the right ATK interface
3449         is being implemented by the AtkObject.
3450         (getInterfaceMaskFromObject): Implement the Hyperlink interface
3451         both for links and replaced objects.
3452         (objectAndOffsetUnignored): Consider replaced elements when
3453         calculating range length in GTK.
3454
3455         * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
3456         (getRangeLengthForObject): Ensure spaces are used for replaced
3457         elements when calling to TextIterator::rangeLength().
3458
3459         * editing/TextIterator.h: New value in the TextIteratorBehavior
3460         enumeration (TextIteratorEmitsObjectReplacementCharacters) and new
3461         private variable to consider that new option internally.
3462         * editing/TextIterator.cpp: