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