Account for device scale factor when creating image for dragging.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-06-20  Varun Jain  <varunjain@chromium.org>
2
3         Account for device scale factor when creating image for dragging.
4         https://bugs.webkit.org/show_bug.cgi?id=89489
5
6         Reviewed by Adam Barth.
7
8         Manual Test: ManualTests/chromium/drag-image-accounts-for-device-scale.html
9
10         * page/Frame.cpp:
11         (WebCore::Frame::nodeImage):
12         (WebCore::Frame::dragImageForSelection):
13
14 2012-06-20  Jacky Jiang  <zhajiang@rim.com>
15
16         Add a != operator to ViewportArguments
17         https://bugs.webkit.org/show_bug.cgi?id=87505
18
19         Reviewed by Antonio Gomes.
20         Patch by Jacky Jiang  <zhajiang@rim.com>
21
22         Add a != operator to ViewportArguments for convenience.
23
24         * dom/ViewportArguments.h:
25         (ViewportArguments):
26         (WebCore::ViewportArguments::operator!=):
27
28 2012-06-20  Ryosuke Niwa  <rniwa@webkit.org>
29
30         Let Xcode have its own way.
31
32         * WebCore.xcodeproj/project.pbxproj:
33
34 2012-06-20  Ryosuke Niwa  <rniwa@webkit.org>
35
36         Move m_listsInvalidatedAtDocument from NodeListsNodeData to Document
37         https://bugs.webkit.org/show_bug.cgi?id=89603
38
39         Reviewed by Andreas Kling.
40
41         Moved the variable. m_listsInvalidatedAtDocument is never used in non-Document nodes
42         so it was just wasting memory space.
43
44         * dom/Document.cpp:
45         (WebCore::Document::registerDynamicSubtreeNodeList):
46         (WebCore::Document::unregisterDynamicSubtreeNodeList):
47         (WebCore):
48         (WebCore::Document::clearNodeListCaches):
49         * dom/Document.h:
50         (Document):
51         * dom/DynamicNodeList.h:
52         (DynamicSubtreeNodeList):
53         * dom/Node.cpp:
54         (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
55         (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
56         (WebCore):
57         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): RadioNodeList
58         is invalidated at document level. No need to invalidate it again here.
59         (WebCore::NodeListsNodeData::isEmpty):
60         * dom/NodeRareData.h:
61         (NodeListsNodeData):
62
63 2012-06-20  Sheriff Bot  <webkit.review.bot@gmail.com>
64
65         Unreviewed, rolling out r120854.
66         http://trac.webkit.org/changeset/120854
67         https://bugs.webkit.org/show_bug.cgi?id=89604
68
69         Broke Chromium WebKit Linux (dbg) (Requested by arv on
70         #webkit).
71
72         * Target.pri:
73         * UseV8.cmake:
74         * WebCore.gypi:
75         * bindings/scripts/CodeGeneratorJS.pm:
76         (GenerateHeader):
77         (GenerateImplementation):
78         * bindings/scripts/CodeGeneratorV8.pm:
79         (GenerateHeader):
80         (GenerateNamedConstructorCallback):
81         (GenerateImplementation):
82         * bindings/scripts/IDLAttributes.txt:
83         * bindings/scripts/test/V8/V8Float64Array.cpp:
84         (WebCore):
85         * bindings/scripts/test/V8/V8Float64Array.h:
86         (V8Float64Array):
87         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
88         (WebCore):
89         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
90         (V8TestActiveDOMObject):
91         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
92         (WebCore):
93         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
94         (V8TestCustomNamedGetter):
95         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
96         (WebCore):
97         * bindings/scripts/test/V8/V8TestEventConstructor.h:
98         (V8TestEventConstructor):
99         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
100         (WebCore):
101         * bindings/scripts/test/V8/V8TestEventTarget.h:
102         (V8TestEventTarget):
103         * bindings/scripts/test/V8/V8TestException.cpp:
104         (WebCore):
105         * bindings/scripts/test/V8/V8TestException.h:
106         (V8TestException):
107         * bindings/scripts/test/V8/V8TestInterface.cpp:
108         (WebCore):
109         * bindings/scripts/test/V8/V8TestInterface.h:
110         (V8TestInterface):
111         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
112         (WebCore):
113         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
114         (V8TestMediaQueryListListener):
115         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
116         (WebCore):
117         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
118         (V8TestNamedConstructor):
119         * bindings/scripts/test/V8/V8TestNode.cpp:
120         (WebCore):
121         * bindings/scripts/test/V8/V8TestNode.h:
122         (V8TestNode):
123         * bindings/scripts/test/V8/V8TestObj.cpp:
124         (WebCore):
125         * bindings/scripts/test/V8/V8TestObj.h:
126         (V8TestObj):
127         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
128         (WebCore):
129         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
130         (V8TestSerializedScriptValueInterface):
131         * bindings/v8/NPV8Object.cpp:
132         (WebCore::npObjectTypeInfo):
133         * bindings/v8/V8GCController.cpp:
134         (WebCore::GrouperVisitor::visitDOMWrapper):
135         * bindings/v8/WrapperTypeInfo.h:
136         (WebCore):
137         (WrapperTypeInfo):
138         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
139         (WebCore):
140         (WebCore::toV8):
141         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
142         (WebCore::toV8):
143         (WebCore):
144         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
145         (WebCore):
146         (WebCore::toV8):
147         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
148         (WebCore):
149         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
150         (WebCore::toV8):
151         (WebCore):
152         * bindings/v8/custom/V8StyleSheetCustom.cpp:
153         (WebCore::toV8):
154         * bindings/v8/custom/V8TextTrackListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
155         (WebCore):
156         (WebCore::toV8):
157         * css/CSSStyleSheet.idl:
158         * css/StyleSheet.idl:
159         * dom/DOMStringMap.idl:
160         * dom/NamedNodeMap.idl:
161         * html/DOMTokenList.idl:
162         * html/track/TextTrackList.idl:
163
164 2012-06-20  Abhishek Arya  <inferno@chromium.org>
165
166         Crash on accessing a removed renderer from percent height descendant map.
167         https://bugs.webkit.org/show_bug.cgi?id=88017
168
169         Reviewed by Eric Seidel.
170
171         Test: fast/block/percent-height-descendant-not-removed-crash2.html
172
173         * rendering/RenderBlock.cpp:
174         (WebCore::RenderBlock::hasPercentHeightContainerMap): helper to tell
175         if we have a height container map.
176         (WebCore):
177         (WebCore::RenderBlock::hasPercentHeightDescendant): change from a debug
178         only function to a regular function for use. no need to null check
179         for a percent height container map in this function.
180         (WebCore::RenderBlock::clearPercentHeightDescendantsFrom): helper to
181         clear all percent height descendants under us.
182         (WebCore::RenderBlock::removePercentHeightDescendantIfNeeded): helper to
183         clear the box if it exists in the percent height descendant map.
184         * rendering/RenderBlock.h:
185         (RenderBlock):
186         * rendering/RenderBox.cpp:
187         (WebCore::RenderBox::willBeDestroyed): remove the assert and change the
188         percent height detection check to use removePercentHeightDescendantIfNeeded.
189         We shouldn't rely on logicalHeight().isPercent() as it can change when our
190         writing mode changes. Instead, just query the map directly to see if we exist.
191         (WebCore::RenderBox::styleDidChange): when our writing mode changes from
192         horizontal to vertical or vice versa, we clear all our descendants from
193         the percent height descendant map. Cache the value of isHorizontalWritingMode()
194         before it changes in styleDidChange and compare it with the new value
195         (can't use oldStyle->isHorizontalWritingMode() since it can be inherited
196         and already updated).
197
198 2012-06-20  Julien Chaffraix  <jchaffraix@webkit.org>
199
200         REGRESSION(r113885): Margin not properly applied to elements with align=center
201         https://bugs.webkit.org/show_bug.cgi?id=89515
202
203         Reviewed by Levi Weintraub.
204
205         Reviewed by Levi Weintraub.
206
207         Tests: fast/block/negative-margin-start-positive-margin-end.html
208                fast/block/negative-start-margin-align-center.html
209                fast/block/positive-margin-block-child-align-center-rtl.html
210                fast/block/positive-margin-block-child-align-center.html
211                fast/block/positive-margin-start-align-center.html
212                fast/block/positive-margin-start-negative-margin-end-align-center.html
213                fast/table/table-cell-negative-start-margin-align-center.html
214
215         r113885 changed the code-path for elements with auto width to call computeInlineDirectionMargins.
216         However this uncovered an existing bug in the function when dealing with align="center" (text-align: -webkit-center)
217         where we would ignore the margin. This goes against what other browsers are doing and our previous behavior.
218
219         Note that align="left" and "right" are likely impacted too and will be investigated / fixed in follow-up changes.
220
221         * rendering/RenderBox.cpp:
222         (WebCore::RenderBox::computeInlineDirectionMargins):
223         To match other browsers' behavior, changed the function to include margin in our computations.
224
225 2012-06-19  James Robinson  <jamesr@chromium.org>
226
227         [chromium] Separate LayerRenderer initialization from updateLayers
228         https://bugs.webkit.org/show_bug.cgi?id=89525
229
230         Reviewed by Adrienne Walker.
231
232         This adds an explicit call to initialize the layer renderer of a given CCLayerTreeHost instead of having it be
233         implicit in updateLayers(). This way the proxies can control the initialization sequence more closely and do
234         useful work between the two calls.
235
236         Refactor, no change in behavior. Covered by existing tests.
237
238         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
239         (WebCore::CCLayerTreeHost::compositeAndReadback):
240         (WebCore::CCLayerTreeHost::initializeLayerRendererIfNeeded):
241         (WebCore):
242         (WebCore::CCLayerTreeHost::updateLayers):
243         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
244         (CCLayerTreeHost):
245         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
246         (WebCore::CCSingleThreadProxy::commitAndComposite):
247         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
248         (WebCore::CCThreadProxy::compositeAndReadback):
249         (WebCore::CCThreadProxy::beginFrame):
250
251 2012-06-20  Yong Li  <yoli@rim.com>
252
253         SecurityOrigin::canDisplay() should return true when m_universalAccess is true
254         https://bugs.webkit.org/show_bug.cgi?id=84865
255
256         Reviewed by Adam Barth.
257
258         Add an early return (true) in canDisplay() for if (m_universalAccess),
259         as we did for canAccess() and canRequest().
260
261         No new tests. We should be good as long as this change doesn't break existing
262         tests, which means the contents supposed to be blocked are still blocked when
263         m_universalAccess is false.
264
265         * page/SecurityOrigin.cpp:
266         (WebCore::SecurityOrigin::canDisplay):
267
268 2012-06-20  Erik Arvidsson  <arv@chromium.org>
269
270         [V8] Use v8::V8::AddImplicitReferences instead of SetHiddenValue
271         https://bugs.webkit.org/show_bug.cgi?id=80880
272
273         Reviewed by Adam Barth.
274
275         We used to add a hidden property in the getter to the returned wrapper.
276         With this patch we instead handle the liveness of the wrapper in the GC phase by
277         calling v8::V8::AddHiddenReference.
278
279         To reduce the amount of custom code we need, the V8 code generator now supports
280         GenerateIsReachable (as well as CustomIsReachable) which, even though different
281         from the JSC attribute, is used in the same cases and takes the same values (even though
282         at the moment not all JSC values are supported by V8). Interfaces that have *IsReachable
283         also have a dependent life time (just like if V8DependentLifetime was present).
284
285         Retry. Last time we got ASAN issues on some Cromium Linux bots. 
286
287         No new tests. Covered by existing tests.
288
289         * Target.pri:
290         * UseV8.cmake:
291         * WebCore.gypi:
292         * bindings/scripts/CodeGeneratorJS.pm:
293         (GetGenerateIsReachable): Abstracted GenerateIsReachable and JSGenerateIsReachable.
294         (GetCustomIsReachable): Ditto.
295         (GenerateHeader):
296         (GenerateImplementation):
297         * bindings/scripts/CodeGeneratorV8.pm:
298         (NeedsToVisitDOMWrapper):
299         (GetGenerateIsReachable):
300         (GetCustomIsReachable):
301         (GenerateVisitDOMWrapper):
302         (GenerateHeader):
303         (GenerateNamedConstructorCallback):
304         (GenerateImplementation):
305         * bindings/scripts/IDLAttributes.txt:
306         * bindings/scripts/test/V8/V8Float64Array.cpp:
307         (WebCore):
308         * bindings/scripts/test/V8/V8Float64Array.h:
309         (V8Float64Array):
310         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
311         (WebCore):
312         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
313         (V8TestActiveDOMObject):
314         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
315         (WebCore):
316         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
317         (V8TestCustomNamedGetter):
318         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
319         (WebCore):
320         * bindings/scripts/test/V8/V8TestEventConstructor.h:
321         (V8TestEventConstructor):
322         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
323         (WebCore):
324         * bindings/scripts/test/V8/V8TestEventTarget.h:
325         (V8TestEventTarget):
326         * bindings/scripts/test/V8/V8TestException.cpp:
327         (WebCore):
328         * bindings/scripts/test/V8/V8TestException.h:
329         (V8TestException):
330         * bindings/scripts/test/V8/V8TestInterface.cpp:
331         (WebCore):
332         * bindings/scripts/test/V8/V8TestInterface.h:
333         (V8TestInterface):
334         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
335         (WebCore):
336         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
337         (V8TestMediaQueryListListener):
338         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
339         (WebCore):
340         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
341         (V8TestNamedConstructor):
342         * bindings/scripts/test/V8/V8TestNode.cpp:
343         (WebCore):
344         * bindings/scripts/test/V8/V8TestNode.h:
345         (V8TestNode):
346         * bindings/scripts/test/V8/V8TestObj.cpp:
347         (WebCore):
348         * bindings/scripts/test/V8/V8TestObj.h:
349         (V8TestObj):
350         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
351         (WebCore):
352         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
353         (V8TestSerializedScriptValueInterface):
354         * bindings/v8/NPV8Object.cpp:
355         (WebCore::npObjectTypeInfo):
356         * bindings/v8/V8GCController.cpp:
357         (WebCore::GrouperVisitor::visitDOMWrapper):
358         * bindings/v8/WrapperTypeInfo.h:
359         (WebCore):
360         (WrapperTypeInfo):
361         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
362         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
363         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
364         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
365         (WebCore):
366         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
367         * bindings/v8/custom/V8StyleSheetCustom.cpp:
368         (WebCore::toV8):
369         * bindings/v8/custom/V8TextTrackListCustom.cpp: Removed.
370         * css/CSSStyleSheet.idl:
371         * css/StyleSheet.idl:
372         * dom/DOMStringMap.idl:
373         * dom/NamedNodeMap.idl:
374         * html/DOMTokenList.idl:
375         * html/track/TextTrackList.idl:
376
377 2012-06-20  Tony Chang  <tony@chromium.org>
378
379         Regression(r116408): Ctrl-A (select all) on large text file hangs the tab with high CPU usage
380         https://bugs.webkit.org/show_bug.cgi?id=89562
381
382         Reviewed by Ryosuke Niwa.
383
384         Rather than replace the newlines in-place (in O(n^2)), build a new string using StringBuilder, which takes O(n).
385
386         No new tests, this is a perf improvement.
387
388         * platform/chromium/ClipboardUtilitiesChromium.cpp:
389         (WebCore::replaceNewlinesWithWindowsStyleNewlines):
390         * platform/win/ClipboardUtilitiesWin.cpp:
391         (WebCore::replaceNewlinesWithWindowsStyleNewlines):
392
393 2012-06-20  Elliott Sprehn  <esprehn@gmail.com>
394
395         Add support for fit-content etc
396         https://bugs.webkit.org/show_bug.cgi?id=38919
397
398         Reviewed by Tony Chang.
399
400         Implement the CSS3 intrinsic dimension keywords for width properties and
401         add most of the plumbing for height properties but don't expose them
402         yet since this patch doesn't enforce them (matching current Gecko).
403         http://dev.w3.org/csswg/css3-writing-modes/#intrinsic-sizing
404
405         This patch implements -webkit-min-content, -webkit-max-content,
406         -webkit-fill-available and -webkit-fit-content for all width
407         properties.
408
409         Tests: fast/css-intrinsic-dimensions/height-dynamic-property-value.html
410                fast/css-intrinsic-dimensions/height-property-value.html
411                fast/css-intrinsic-dimensions/max-width-constrained.html
412                fast/css-intrinsic-dimensions/max-width-unconstrained.html
413                fast/css-intrinsic-dimensions/min-width.html
414                fast/css-intrinsic-dimensions/width-avoid-floats.html
415                fast/css-intrinsic-dimensions/width-dynamic-property-value.html
416                fast/css-intrinsic-dimensions/width-property-value.html
417                fast/css-intrinsic-dimensions/width.html
418
419         * css/CSSParser.cpp: Add parser support for the new keywords.
420         (WebCore::CSSParser::parseValue):
421         * css/CSSPrimitiveValue.cpp:
422         (WebCore):
423         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
424         * css/CSSValueKeywords.in:
425         * css/LengthFunctions.cpp: Implement conversion functions.
426         (WebCore::minimumValueForLength):
427         (WebCore::valueForLength):
428         (WebCore::floatValueForLength):
429         * css/StyleBuilder.cpp:
430         (WebCore::ApplyPropertyLength::applyValue):
431         (WebCore::StyleBuilder::StyleBuilder): Clean up the template for old
432            intrinsic values and add new values. Rename old intrinsic to
433            LegacyIntrinsic and add support for the new dimension keywords as
434            Intrinsic.
435         * platform/Length.h:
436         (WebCore::Length::isIntrinsicOrAuto):
437         (WebCore::Length::isLegacyIntrinsic): New method to check for old
438             min-intrinsic and intrinsic keywords.
439         (WebCore::Length::isIntrinsic): New method to check for CSS3 intrinsic
440             dimension keywords like min-content.
441         * rendering/RenderBox.cpp:
442         (WebCore::RenderBox::computeLogicalWidthInRegionUsing): Expose the max
443            and min logical preferred widths as the new keywords.
444         (WebCore::RenderBox::sizesLogicalWidthToFitContent): Renamed method to
445            be more consistent with the new MinContent naming in the spec.
446         * rendering/RenderBox.h:
447         (RenderBox):
448
449 2012-06-20  Christopher Cameron  <ccameron@chromium.org>
450
451         [chromium] webkit-backface-visibility doesn't work with video
452         https://bugs.webkit.org/show_bug.cgi?id=88908
453
454         When determining a contents layer's backface culling, use the parent
455         layer's transform and backface-visibility properties. Track which
456         layers need this special treatment with useParentBackfaceVisibility
457         and setUseParentBackfaceVisibility functions in WebCore::LayerChromium,
458         WebKit::WebLayer, and WebCore::CCLayerImpl.
459
460         Reviewed by Adrienne Walker.
461
462         Tests: compositing/backface-visibility/backface-visibility-image.html
463                compositing/backface-visibility/backface-visibility-webgl.html
464
465         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
466         (WebCore::GraphicsLayerChromium::setupContentsLayer):
467             When a contents layer is added, tag it as inheriting its backface
468             culling from its parent.
469         * platform/graphics/chromium/LayerChromium.cpp:
470             (WebCore::LayerChromium::LayerChromium):
471                 Initialize new m_useParentBackfaceVisibility member variable.
472             (WebCore::LayerChromium::pushPropertiesTo):
473                 Propagate m_useParentBackfaceVisibility to CCLayerImpl.
474         * platform/graphics/chromium/LayerChromium.h:
475             (WebCore::LayerChromium::setUseParentBackfaceVisibility):
476             (WebCore::LayerChromium::useParentBackfaceVisibility):
477             (LayerChromium):
478                 Add m_useParentBackfaceVisibility member variable and modify
479                 and query accessors.
480         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
481             (WebCore::CCLayerImpl::CCLayerImpl):
482                 Initialize new m_useParentBackfaceVisibility member variable.
483         * platform/graphics/chromium/cc/CCLayerImpl.h:
484             (WebCore::CCLayerImpl::setUseParentBackfaceVisibility):
485             (WebCore::CCLayerImpl::useParentBackfaceVisibility):
486             (CCLayerImpl):
487                 Add m_useParentBackfaceVisibility member variable and modify
488                 and query accessors.
489         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
490             (WebCore::layerShouldBeSkipped):
491                 When examining a layer, if the layer has 
492                 useParentBackfaceVisibility set then use the layer's parent
493                 layer to determine backface culling.
494
495 2012-06-20  Nate Chapin  <japhet@chromium.org>
496
497         Don't re-enter CachedResource::removeClient() if an XHR
498         is canceled and restarted multiple times.
499         https://bugs.webkit.org/show_bug.cgi?id=89378
500
501         Reviewed by Eric Seidel.
502
503         Test: http/tests/xmlhttprequest/reentrant-cancel.html
504
505         * loader/DocumentThreadableLoader.cpp:
506         (WebCore::DocumentThreadableLoader::cancel):
507         (WebCore::DocumentThreadableLoader::clearResource): Save off a copy of m_resource
508            then clear it, so we don't call clearResource() multiple times for the same resource.
509
510 2012-06-20  Robert Hogan  <robert@webkit.org>
511
512         Negative margin block doesn't properly clear a float enclosed by a previous sibling
513         https://bugs.webkit.org/show_bug.cgi?id=10900
514
515         Reviewed by Eric Seidel.
516
517         Tests: fast/block/float/previous-sibling-abspos-001.html
518                fast/block/float/previous-sibling-abspos-002.html
519                fast/block/float/previous-sibling-float-001.html
520                fast/block/float/previous-sibling-float-002.html
521                fast/css/clear-float-sibling.html
522
523         Parent blocks keep a list of child floats that extend out of the parent block and
524         by implication overhang into the parent's siblings. But this doesn't work if the
525         sibling has collapsing margins - it will not find the float in the previous block's
526         list so will ignore the float and fail to clear it.
527
528         RenderBlock:collapseMargins() needs to check if a child's collapsing margin has 
529         reduced the height of the parent up past the bottom of its previous sibling's lowest float
530         and add the now overhanging float to the parent's float list if appropriate. No need to do
531         this if the previous sibling is a float or is positioned - the child will clear/avoid it anyway
532         and attempting to avoid floated children of floats causes incorrect layout.
533         
534         * rendering/RenderBlock.cpp:
535         (WebCore::RenderBlock::collapseMargins):
536
537 2012-06-20  Andrey Adaikin  <aandrey@chromium.org>
538
539         Web Inspector: Allow module injections into the InjectedScript
540         https://bugs.webkit.org/show_bug.cgi?id=89530
541
542         Add a new InjectedScriptModule abstract class that inherits InjectedScriptBase
543         to reuse implementation, and which javascript code is injected via
544         InjectedScript.
545
546         Reviewed by Pavel Feldman.
547
548         * CMakeLists.txt:
549         * GNUmakefile.list.am:
550         * Target.pri:
551         * WebCore.gypi:
552         * WebCore.vcproj/WebCore.vcproj:
553         * WebCore.xcodeproj/project.pbxproj:
554         * bindings/js/ScriptObject.cpp:
555         (WebCore::ScriptObject::ScriptObject):
556         (WebCore):
557         * bindings/js/ScriptObject.h:
558         (ScriptObject):
559         (WebCore::ScriptObject::ScriptObject):
560         * bindings/v8/ScriptObject.cpp:
561         (WebCore::ScriptObject::ScriptObject):
562         (WebCore):
563         * bindings/v8/ScriptObject.h:
564         (ScriptObject):
565         (WebCore::ScriptObject::~ScriptObject):
566         * inspector/InjectedScript.cpp:
567         * inspector/InjectedScript.h:
568         (WebCore):
569         (WebCore::InjectedScript::name):
570         (InjectedScript):
571         * inspector/InjectedScriptBase.cpp:
572         (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
573         * inspector/InjectedScriptBase.h:
574         (WebCore):
575         (InjectedScriptBase):
576         * inspector/InjectedScriptManager.h:
577         (InjectedScriptManager):
578         (WebCore::InjectedScriptManager::inspectedStateAccessCheck):
579         * inspector/InjectedScriptModule.cpp: Copied from Source/WebCore/inspector/InjectedScriptBase.h.
580         (WebCore):
581         (WebCore::InjectedScriptModule::InjectedScriptModule):
582         (WebCore::InjectedScriptModule::ensureInjected):
583         * inspector/InjectedScriptModule.h: Copied from Source/WebCore/bindings/js/ScriptObject.h.
584         (WebCore):
585         (InjectedScriptModule):
586         * inspector/InjectedScriptSource.js:
587         (.):
588
589 2012-06-20  Pavel Feldman  <pfeldman@chromium.org>
590
591         Web Inspector: Timeline label bar jiggles when scrolling
592         https://bugs.webkit.org/show_bug.cgi?id=89579
593
594         Reviewed by Vsevolod Vlasov.
595
596         Adding timeline header into the timeline panel and settings its position
597         to absolute. Drive-by fix that updates rulers on sidebar resize.
598
599         * inspector/front-end/TimelineGrid.js:
600         (WebInspector.TimelineGrid):
601         (WebInspector.TimelineGrid.prototype.get gridHeaderElement):
602         (WebInspector.TimelineGrid.prototype.addEventDividers):
603         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
604         * inspector/front-end/TimelineOverviewPane.js:
605         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
606         * inspector/front-end/TimelinePanel.js:
607         (WebInspector.TimelinePanel):
608         (WebInspector.TimelinePanel.prototype.sidebarResized):
609         (WebInspector.TimelinePanel.prototype.onResize):
610         * inspector/front-end/timelinePanel.css:
611         (#timeline-grid-header):
612
613 2012-06-20  Ian Vollick  <vollick@chromium.org>
614
615         [chromium] Make sure that render surfaces are not pixel doubled with a device scale factor of 2
616         https://bugs.webkit.org/show_bug.cgi?id=86882
617
618         Reviewed by Adrienne Walker.
619
620         To ensure that render surfaces are not pixel doubled when device scale factor is
621         two, the render surface's owning layer's draw transform is scaled by the
622         contents scale (in the same way that the parent matrix is scaled by the device
623         scale factor). The transformedLayerRect's dimensions also need to be in pixel
624         space. The surface origin transform should not scale, but needs to offset the
625         correct number of pixels, and the replica transforms need to be modified to
626         account for the scaling.
627
628         To accomplish this, CCLayerImpl's needed to be made aware of contentsScale.
629
630         Thanks to Adrienne Walker for the computation of the replica draw transform.
631
632         Unit test: CCLayerTreeHostCommonTest.verifyRenderSurfaceTranformsInHighDPI
633
634         * platform/graphics/chromium/LayerChromium.cpp:
635         (WebCore::LayerChromium::pushPropertiesTo):
636         * platform/graphics/chromium/LayerChromium.h:
637         (LayerChromium):
638         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
639         (WebCore::CCLayerImpl::CCLayerImpl):
640         * platform/graphics/chromium/cc/CCLayerImpl.h:
641         (WebCore::CCLayerImpl::setContentsScale):
642         (WebCore::CCLayerImpl::contentsScale):
643         (CCLayerImpl):
644         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
645         (WebCore::calculateDrawTransformsInternal):
646         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
647         (WebCore::CCScrollbarLayerImpl::CCScrollbar::totalSize):
648
649 2012-06-20  Alexis Menard  <alexis.menard@openbossa.org>
650
651         [CSS3 Backgrounds and Borders] Implement box-decoration-break rendering.
652         https://bugs.webkit.org/show_bug.cgi?id=88228
653
654         Reviewed by Eric Seidel.
655
656         Implement the new CSS property box-decoration-break. It modifies
657         where we decide whether the borders needs to be sliced or not by
658         checking if the box-decoration-break is set to clone. If it's the case
659         then we need to explicitely redraw all edges.
660
661         Test: fast/box-decoration-break/box-decoration-break-rendering.html
662
663         * rendering/InlineFlowBox.cpp:
664         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
665         (WebCore::InlineFlowBox::paintFillLayer):
666
667 2012-06-20  Julien Chaffraix  <jchaffraix@webkit.org>
668
669         Use IntSize in RenderLayer to represent scroll offsets
670         https://bugs.webkit.org/show_bug.cgi?id=89154
671
672         Reviewed by Eric Seidel.
673
674         Refactoring, covered by existing tests.
675
676         * accessibility/AccessibilityRenderObject.cpp:
677         (WebCore::AccessibilityRenderObject::scrollTo):
678         * html/TextFieldInputType.cpp:
679         (WebCore::TextFieldInputType::forwardEvent):
680         * page/SpatialNavigation.cpp:
681         (WebCore::scrollInDirection):
682         * rendering/RenderMarquee.cpp:
683         (WebCore::RenderMarquee::start):
684         Updated those call-sites to use the IntSize variant of the scrolling function.
685
686         * rendering/RenderLayer.cpp:
687         (WebCore::RenderLayer::panScrollFromPoint):
688         Updated the signature to use IntPoint to avoid an extra round-trip to LayoutPoint
689         (furthermore touch points should be in device pixels).
690
691         (WebCore::RenderLayer::clampScrollOffset):
692         Added this function that clamps a scroll offset to the box's size. This enables more
693         code sharing between the different functions. Also removed a NULL-check that shouldn't
694         be needed: scrolling is a RenderBox concept so any callers should ensure that we have
695         a RenderBox or it makes no sense to try to scroll.
696
697         (WebCore::RenderLayer::updateLayerPosition):
698         (WebCore::adjustedScrollDelta):
699         (WebCore::RenderLayer::scrollByRecursively):
700         (WebCore::RenderLayer::scrollToOffset):
701         (WebCore::RenderLayer::scrollRectToVisible):
702         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
703         Updated to do IntSize arithmetic. Reuse clampScrollOffset when applicable.
704
705         * rendering/RenderLayer.h:
706         (WebCore::RenderLayer::scrollToXOffset):
707         (WebCore::RenderLayer::scrollToYOffset):
708         Updated the functions to take IntSize as much as possible.
709
710 2012-06-20  Alexei Filippov  <alexeif@chromium.org>
711
712         Web Inspector: mark used/allocated JS heap on the native memory bar chart.
713         https://bugs.webkit.org/show_bug.cgi?id=89476
714
715         Reviewed by Yury Semikhatsky.
716
717         * inspector/front-end/NativeMemorySnapshotView.js:
718         (WebInspector.NativeMemoryBarChart):
719         (WebInspector.NativeMemoryBarChart.prototype._updateView):
720         * inspector/front-end/nativeMemoryProfiler.css:
721         (.memory-bar-chart-bar):
722         (.memory-bar-chart-unused):
723         (.memory-bar-chart-percent):
724
725 2012-06-20  Joshua Bell  <jsbell@chromium.org>
726
727         [Chromium] IndexedDB: Don't close database if pending connections are in flight
728         https://bugs.webkit.org/show_bug.cgi?id=89512
729
730         Add a counter tracking connections between the two phases, which is used along with
731         the completed connection count to determine the total number of connections.
732
733         Reviewed by Tony Chang.
734
735         Test: webkit_unit_tests --gtest_filter='IDBDatabaseBackendTest.ConnectionLifecycle'
736
737         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
738         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
739         (WebCore::IDBDatabaseBackendImpl::setVersion):
740         (WebCore::IDBDatabaseBackendImpl::connectionCount):
741         (WebCore):
742         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
743         (WebCore::IDBDatabaseBackendImpl::transaction):
744         (WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks):
745         (WebCore::IDBDatabaseBackendImpl::openConnection):
746         (WebCore::IDBDatabaseBackendImpl::close):
747         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
748         (IDBDatabaseBackendImpl):
749         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
750         (WebCore::IDBFactoryBackendImpl::openInternal):
751         * inspector/InspectorIndexedDBAgent.cpp:
752         (WebCore):
753
754 2012-06-20  Sergey Rogulenko  <rogulenko@google.com>
755
756         Web Inspector: duplicating selected text when Enter key is pressed 
757         https://bugs.webkit.org/show_bug.cgi?id=89559
758
759         Reviewed by Pavel Feldman.
760
761         * inspector/front-end/TextViewer.js:
762         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
763         The returned result of method normalize() should be used.
764
765 2012-06-20  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
766
767         [Cairo] Fix memory leak in GraphicsContext3DCairo.cpp
768         https://bugs.webkit.org/show_bug.cgi?id=89561
769
770         Reviewed by Martin Robinson.
771
772         Fix a memory leak in GraphicsContext3D::getImageData().
773
774         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
775         (WebCore::GraphicsContext3D::getImageData): asNewNativeImage() returns a
776         caller-owned pointer to the native image data. So, using OwnPtr to manage
777         memory automatically.
778
779 2012-06-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
780
781         Use HitTestPoint instead of LayoutPoint for nodeAtPoint.
782         https://bugs.webkit.org/show_bug.cgi?id=89448
783
784         Reviewed by Eric Seidel.
785
786         This patch updates the API of nodeAtPoint without changing any 
787         functionality. This is largest change necessary to support
788         transforms in area-based hit-testing, but is only boilerplate.
789
790         No change in functionality. No new tests. 
791
792         * rendering/EllipsisBox.cpp:
793         (WebCore::EllipsisBox::nodeAtPoint):
794         * rendering/EllipsisBox.h:
795         (EllipsisBox):
796         * rendering/HitTestResult.cpp:
797         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
798         * rendering/HitTestResult.h:
799         (WebCore::HitTestPoint::intersects):
800         (HitTestPoint):
801         (HitTestResult):
802         * rendering/InlineBox.cpp:
803         (WebCore::InlineBox::nodeAtPoint):
804         * rendering/InlineBox.h:
805         (InlineBox):
806         * rendering/InlineFlowBox.cpp:
807         (WebCore::InlineFlowBox::nodeAtPoint):
808         * rendering/InlineFlowBox.h:
809         (InlineFlowBox):
810         * rendering/InlineTextBox.cpp:
811         (WebCore::InlineTextBox::nodeAtPoint):
812         * rendering/InlineTextBox.h:
813         (InlineTextBox):
814         * rendering/RenderBlock.cpp:
815         (WebCore::RenderBlock::nodeAtPoint):
816         (WebCore::RenderBlock::hitTestFloats):
817         (WebCore::RenderBlock::hitTestColumns):
818         (WebCore::RenderBlock::hitTestContents):
819         * rendering/RenderBlock.h:
820         (RenderBlock):
821         * rendering/RenderBox.cpp:
822         (WebCore::RenderBox::nodeAtPoint):
823         * rendering/RenderBox.h:
824         (RenderBox):
825         * rendering/RenderEmbeddedObject.cpp:
826         (WebCore::RenderEmbeddedObject::nodeAtPoint):
827         * rendering/RenderEmbeddedObject.h:
828         (RenderEmbeddedObject):
829         * rendering/RenderFlowThread.cpp:
830         (WebCore::RenderFlowThread::hitTestRegion):
831         * rendering/RenderFlowThread.h:
832         * rendering/RenderFrameSet.cpp:
833         (WebCore::RenderFrameSet::nodeAtPoint):
834         * rendering/RenderFrameSet.h:
835         (RenderFrameSet):
836         * rendering/RenderImage.cpp:
837         (WebCore::RenderImage::nodeAtPoint):
838         * rendering/RenderImage.h:
839         (RenderImage):
840         * rendering/RenderInline.cpp:
841         (WebCore::RenderInline::nodeAtPoint):
842         * rendering/RenderInline.h:
843         (RenderInline):
844         * rendering/RenderLayer.cpp:
845         (WebCore::ClipRect::intersects):
846         (WebCore::RenderLayer::hitTest):
847         (WebCore::RenderLayer::createLocalTransformState):
848         (WebCore::RenderLayer::hitTestLayer):
849         (WebCore::RenderLayer::hitTestContents):
850         (WebCore::RenderLayer::hitTestList):
851         (WebCore::RenderLayer::hitTestPaginatedChildLayer):
852         (WebCore::RenderLayer::hitTestChildLayerColumns):
853         * rendering/RenderLayer.h:
854         (ClipRect):
855         (RenderLayer):
856         * rendering/RenderLineBoxList.cpp:
857         (WebCore::RenderLineBoxList::hitTest):
858         * rendering/RenderLineBoxList.h:
859         (RenderLineBoxList):
860         * rendering/RenderListBox.cpp:
861         (WebCore::RenderListBox::nodeAtPoint):
862         * rendering/RenderListBox.h:
863         (RenderListBox):
864         * rendering/RenderObject.cpp:
865         (WebCore::RenderObject::hitTest):
866         (WebCore::RenderObject::nodeAtPoint):
867         * rendering/RenderObject.h:
868         (RenderObject):
869         * rendering/RenderRegion.cpp:
870         (WebCore::RenderRegion::nodeAtPoint):
871         * rendering/RenderRegion.h:
872         (RenderRegion):
873         * rendering/RenderTable.cpp:
874         (WebCore::RenderTable::nodeAtPoint):
875         * rendering/RenderTable.h:
876         (RenderTable):
877         * rendering/RenderTableRow.cpp:
878         (WebCore::RenderTableRow::nodeAtPoint):
879         * rendering/RenderTableRow.h:
880         (RenderTableRow):
881         * rendering/RenderTableSection.cpp:
882         (WebCore::RenderTableSection::nodeAtPoint):
883         * rendering/RenderTableSection.h:
884         (RenderTableSection):
885         * rendering/RenderText.h:
886         * rendering/RenderTextControlMultiLine.cpp:
887         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
888         * rendering/RenderTextControlMultiLine.h:
889         (RenderTextControlMultiLine):
890         * rendering/RenderTextControlSingleLine.cpp:
891         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
892         * rendering/RenderTextControlSingleLine.h:
893         (RenderTextControlSingleLine):
894         * rendering/RenderWidget.cpp:
895         (WebCore::RenderWidget::nodeAtPoint):
896         * rendering/RenderWidget.h:
897         (RenderWidget):
898         * rendering/RootInlineBox.cpp:
899         (WebCore::RootInlineBox::nodeAtPoint):
900         * rendering/RootInlineBox.h:
901         (RootInlineBox):
902         * rendering/svg/RenderSVGForeignObject.cpp:
903         (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
904         (WebCore::RenderSVGForeignObject::nodeAtPoint):
905         * rendering/svg/RenderSVGForeignObject.h:
906         (RenderSVGForeignObject):
907         * rendering/svg/RenderSVGModelObject.cpp:
908         (WebCore::RenderSVGModelObject::nodeAtPoint):
909         * rendering/svg/RenderSVGModelObject.h:
910         (RenderSVGModelObject):
911         * rendering/svg/RenderSVGRoot.cpp:
912         (WebCore::RenderSVGRoot::nodeAtPoint):
913         * rendering/svg/RenderSVGRoot.h:
914         (RenderSVGRoot):
915         * rendering/svg/RenderSVGText.cpp:
916         (WebCore::RenderSVGText::nodeAtFloatPoint):
917         (WebCore::RenderSVGText::nodeAtPoint):
918         * rendering/svg/RenderSVGText.h:
919         (RenderSVGText):
920         * rendering/svg/SVGInlineTextBox.cpp:
921         (WebCore::SVGInlineTextBox::nodeAtPoint):
922         * rendering/svg/SVGInlineTextBox.h:
923         (SVGInlineTextBox):
924
925 2012-06-20  Yury Semikhatsky  <yurys@chromium.org>
926
927         Web Inspector: don't report context ids before DidCommitLoad
928         https://bugs.webkit.org/show_bug.cgi?id=89567
929
930         Reviewed by Pavel Feldman.
931
932         When inspector state is restored only report existing context ids
933         if "did commit load" even has already been dispatched.
934
935         * inspector/InspectorController.cpp:
936         (WebCore::InspectorController::InspectorController):
937         * inspector/PageRuntimeAgent.cpp:
938         (WebCore::PageRuntimeAgent::PageRuntimeAgent):
939         (WebCore::PageRuntimeAgent::restore):
940         * inspector/PageRuntimeAgent.h:
941         (WebCore):
942         (WebCore::PageRuntimeAgent::create):
943         (PageRuntimeAgent):
944
945 2012-06-20  Zeev Lieber  <zlieber@chromium.org>
946
947         [Chromium] Remove redundant #includes in compositor
948         https://bugs.webkit.org/show_bug.cgi?id=89503
949
950         Reviewed by Adrienne Walker.
951
952         Removed some redundant #includes to clarify dependency
953         picture. Some 90 #includes removed, some 50 less disruptive
954         #includes added. This brings the number of class dependencies to
955         902 from 1383.
956
957         No new tests are required, as this is only affects compile-time behavior.
958
959         * platform/graphics/chromium/AnimationTranslationUtil.h:
960         (WebCore):
961         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
962         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
963         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
964         * platform/graphics/chromium/Canvas2DLayerBridge.h:
965         * platform/graphics/chromium/ContentLayerChromium.cpp:
966         * platform/graphics/chromium/ContentLayerChromium.h:
967         * platform/graphics/chromium/DrawingBufferChromium.cpp:
968         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
969         * platform/graphics/chromium/GraphicsLayerChromium.h:
970         * platform/graphics/chromium/ImageLayerChromium.cpp:
971         * platform/graphics/chromium/LayerChromium.h:
972         * platform/graphics/chromium/LayerRendererChromium.cpp:
973         * platform/graphics/chromium/LayerRendererChromium.h:
974         (WebCore):
975         * platform/graphics/chromium/LayerTextureUpdater.h:
976         * platform/graphics/chromium/ManagedTexture.cpp:
977         * platform/graphics/chromium/ProgramBinding.h:
978         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
979         * platform/graphics/chromium/RenderSurfaceChromium.h:
980         * platform/graphics/chromium/TextureCopier.cpp:
981         * platform/graphics/chromium/TextureLayerChromium.cpp:
982         * platform/graphics/chromium/TextureManager.cpp:
983         * platform/graphics/chromium/TiledLayerChromium.cpp:
984         * platform/graphics/chromium/TiledLayerChromium.h:
985         * platform/graphics/chromium/cc/CCActiveAnimation.h:
986         (WebCore):
987         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
988         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
989         * platform/graphics/chromium/cc/CCFontAtlas.cpp:
990         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
991         * platform/graphics/chromium/cc/CCFrameRateController.h:
992         (WebCore):
993         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
994         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
995         (WebCore):
996         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
997         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
998         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
999         * platform/graphics/chromium/cc/CCLayerImpl.h:
1000         (WebCore):
1001         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1002         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1003         (WebCore):
1004         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1005         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1006         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1007         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1008         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
1009         (WebCore):
1010         * platform/graphics/chromium/cc/CCProxy.cpp:
1011         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1012         * platform/graphics/chromium/cc/CCRenderPass.h:
1013         (WebCore):
1014         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1015         * platform/graphics/chromium/cc/CCRenderSurface.h:
1016         * platform/graphics/chromium/cc/CCRenderer.h:
1017         * platform/graphics/chromium/cc/CCScopedThreadProxy.h:
1018         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1019         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1020         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1021         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1022         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
1023         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
1024         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1025         * platform/graphics/chromium/cc/CCThreadProxy.h:
1026         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1027         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1028         (WebCore):
1029         * platform/graphics/chromium/cc/CCTimer.cpp:
1030         * platform/graphics/chromium/cc/CCTimer.h:
1031         (WebCore):
1032         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1033
1034 2012-06-20  Alexei Filippov  <alexeif@chromium.org>
1035
1036         Web Inspector: Implement native memory bar diagram
1037         https://bugs.webkit.org/show_bug.cgi?id=89106
1038
1039         Reviewed by Yury Semikhatsky.
1040
1041         * inspector/front-end/NativeMemorySnapshotView.js:
1042         (WebInspector.NativeMemoryBarChart):
1043         (WebInspector.NativeMemoryBarChart.prototype._updateStats):
1044         (WebInspector.NativeMemoryBarChart.prototype.willHide):
1045         (WebInspector.NativeMemoryBarChart.prototype.wasShown):
1046         (WebInspector.NativeMemoryBarChart.prototype._updateView):
1047         * inspector/front-end/ProfileLauncherView.js:
1048         (WebInspector.ProfileLauncherView):
1049         * inspector/front-end/Settings.js:
1050         (WebInspector.ExperimentsSettings):
1051         * inspector/front-end/nativeMemoryProfiler.css:
1052         (.memory-bar-chart-name):
1053         (.memory-bar-chart-bar):
1054         (.memory-bar-chart-size):
1055         (.memory-bar-chart-total):
1056
1057 2012-06-20  Hans Wennborg  <hans@chromium.org>
1058
1059         Speech JavaScript API: add SpeechRecognition.maxAlternatives attribute
1060         https://bugs.webkit.org/show_bug.cgi?id=89459
1061
1062         Reviewed by Eric Seidel.
1063
1064         Add the SpeechRecognition.maxAlternatives attribute.
1065
1066         Test: fast/speech/scripted/basics.html:
1067
1068         * Modules/speech/SpeechRecognition.cpp:
1069         (WebCore::SpeechRecognition::start):
1070         (WebCore::SpeechRecognition::SpeechRecognition):
1071         * Modules/speech/SpeechRecognition.h:
1072         (WebCore::SpeechRecognition::maxAlternatives):
1073         (WebCore::SpeechRecognition::setMaxAlternatives):
1074         (SpeechRecognition):
1075         * Modules/speech/SpeechRecognition.idl:
1076         * Modules/speech/SpeechRecognitionClient.h:
1077         (SpeechRecognitionClient):
1078         * Modules/speech/SpeechRecognitionController.h:
1079         (WebCore::SpeechRecognitionController::start):
1080         (SpeechRecognitionController):
1081
1082 2012-06-20  Takashi Sakamoto  <tasak@google.com>
1083
1084         applyAuthorStyles makes rules declared in all enclosing shadow dom subtrees applicable.
1085         https://bugs.webkit.org/show_bug.cgi?id=89061
1086
1087         Reviewed by Dimitri Glazkov.
1088
1089         Fixing apply-author-styles bug. If there exists some shadow subtree A
1090         and A has apply-author-styles flag set, whether some rules declared in
1091         a tree B is applicable in A or not depends on:
1092         - the tree B encloses the tree A, and
1093         - all trees which enclose A and are enclosed by B has
1094           apply-author-styles set.
1095         c.f.
1096         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles
1097         However the second rule was not implemented.
1098
1099         Test: fast/css/style-scoped/style-scoped-apply-author-styles.html
1100
1101         * css/StyleResolver.cpp:
1102         (WebCore::StyleResolver::setupScopeStack):
1103         Modified to add a new member variable, authorStyleBoundsIndex to
1104         ScopeStackFrame used by m_scopeStack. The index means: if shadow dom
1105         subtree A and B has the same value and A encloses B, all shadow dom
1106         subtrees which enclose B and are enclosed by B have
1107         apply-author-styles set. And B also has apply-author-styles set.
1108         This means, if some element X has authorStyleBoundsIndex N, all
1109         rulesets whose scopes have authorStyleBoundsIndex N are applicable in
1110         B's tree scope. If all shadow dom subtrees have apply-author-styles
1111         unset, the index looks almost the same as treeScope(). In this case,
1112         Rules in different tree scopes have different author style bounds
1113         index.
1114         (WebCore::StyleResolver::pushScope):
1115         (WebCore::StyleResolver::popScope):
1116         Added the code for updating m_scopeStackParentBoundsIndex. The member
1117         variable keeps m_scopeStackParent's author style bounds index.
1118         (WebCore::StyleResolver::matchScopedAuthorRules):
1119         Modified to consider author style's bounds index. Firstly applying
1120         scoped styles declared in document if apply-author-styles is set.
1121         Next, applying scoped styles declared in shadow dom subtree with
1122         considering author style bounds index, i.e. considering
1123         apply-author-styles flag.
1124         * css/StyleResolver.h:
1125         (WebCore::StyleResolver::ScopeStackFrame::ScopeStackFrame):
1126         (ScopeStackFrame):
1127         Added m_authorStyleBoundsIndex to keep apply-author-styles flag
1128         information. m_authorStyleBoundsIndex increments by 1 if shadow root is
1129         given and it has apply-author-styles unset.
1130         Now rules in the same authorStyleBoundsIndex should be applied.
1131         (StyleResolver):
1132         Added m_scopeStackParentBoundsIndex.
1133         As m_scopeStackParentAuthorStyleBoundsIndex is a little long,
1134         used m_scopeStackParentBoundsIndex.
1135
1136 2012-06-20  Amy Ousterhout  <aousterh@chromium.org>
1137
1138         Adds DeviceMotionClientMock
1139         https://bugs.webkit.org/show_bug.cgi?id=89220
1140
1141         Reviewed by Steve Block.
1142
1143         No new tests because DeviceMotionClientMock is designed to enable future testing and cannot be tested in itself.
1144
1145         Adds DeviceMotionClientMock in WebCore to enable testing of DeviceMotion once it is fully implemented in WebKit.
1146         This addition was originally included in https://bugs.webkit.org/show_bug.cgi?id=89197 but was split into a separate patch for easier review.
1147
1148         * CMakeLists.txt:
1149         * GNUmakefile.list.am:
1150         * Target.pri:
1151         * WebCore.gypi:
1152         * platform/mock/DeviceMotionClientMock.cpp: Added.
1153         (WebCore):
1154         (WebCore::DeviceMotionClientMock::DeviceMotionClientMock):
1155         (WebCore::DeviceMotionClientMock::setController):
1156         (WebCore::DeviceMotionClientMock::startUpdating):
1157         (WebCore::DeviceMotionClientMock::stopUpdating):
1158         (WebCore::DeviceMotionClientMock::setMotion):
1159         (WebCore::DeviceMotionClientMock::timerFired):
1160         * platform/mock/DeviceMotionClientMock.h: Added.
1161         (WebCore):
1162         (DeviceMotionClientMock):
1163
1164 2012-06-19  Vivek Galatage  <vivekgalatage@gmail.com>
1165
1166         Web Inspector: Clicking "Clear all profiles" while ongoing recording should reset the ProfileLauncherView
1167         https://bugs.webkit.org/show_bug.cgi?id=89464
1168
1169         Reviewed by Yury Semikhatsky.
1170
1171         Resetting the ProfileLauncherView in order to reflect the correct states of buttons
1172
1173         No new tests as UI related minor fix.
1174
1175         * inspector/front-end/ProfilesPanel.js:
1176         (WebInspector.ProfilesPanel.prototype._reset):
1177
1178 2012-06-19  Hayato Ito  <hayato@chromium.org>
1179
1180         Assertion for event's target is wrong.
1181         https://bugs.webkit.org/show_bug.cgi?id=89479
1182
1183         Reviewed by Hajime Morita.
1184
1185         Fix an assertion to ensure that event's target is reachable from a current target.
1186
1187         No new tests. Fix an assert condition.
1188
1189         * dom/EventContext.cpp:
1190         (WebCore::EventContext::EventContext):
1191         * dom/EventContext.h:
1192         (EventContext):
1193         (WebCore::EventContext::setRelatedTarget):
1194         (WebCore::EventContext::isUnreachableNode):
1195         (WebCore):
1196         (WebCore::EventContext::isReachable):
1197
1198 2012-06-19  Benjamin Poulain  <bpoulain@apple.com>
1199
1200         Refactoring: Geolocation::startRequest() should not create the GeoNotifiers
1201         https://bugs.webkit.org/show_bug.cgi?id=89533
1202
1203         Reviewed by David Kilzer.
1204
1205         It was odd to create the GeoNotifiers in Geolocation::startRequest() and having
1206         assertions from the call site.
1207
1208         This patch move GeoNotifiers initialization to the exposed methods and pass them to
1209         startRequest() as needed.
1210         This will also help when adding support for dynamic permission reset and suspend/resume.
1211
1212         * Modules/geolocation/Geolocation.cpp:
1213         (WebCore::Geolocation::getCurrentPosition):
1214         (WebCore::Geolocation::watchPosition):
1215         (WebCore::Geolocation::startRequest):
1216         * Modules/geolocation/Geolocation.h:
1217         (Geolocation):
1218
1219 2012-06-19  Cris Neckar  <cdn@chromium.org>
1220
1221         Fixes condition where inserting a CounterNode subtree which could result in incorrect placement.
1222         https://bugs.webkit.org/show_bug.cgi?id=88142
1223
1224         Reviewed by Adam Barth.
1225
1226         Test: fast/css/counters/counter-reset-subtree-insert-crash.html
1227
1228         * rendering/CounterNode.cpp:
1229         (WebCore::CounterNode::insertAfter):
1230
1231 2012-06-19  Csaba Osztrogonác  <ossy@webkit.org>
1232
1233         [Qt] Unreviewed buildfix after r120790. Typo fix.
1234
1235         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
1236         (ImageGStreamer::ImageGStreamer):
1237
1238 2012-06-19  Takashi Sakamoto  <tasak@google.com>
1239
1240         [Shadow DOM] ShadowRoot.host should be gone
1241         https://bugs.webkit.org/show_bug.cgi?id=88387
1242
1243         According to the w3c spec change,
1244         i.e. https://www.w3.org/Bugs/Public/show_bug.cgi?id=16764
1245         Removed host attribute from ShadowRoot.idl.
1246
1247         Reviewed by Dimitri Glazkov.
1248
1249         No new tests, because this change modified only idl.
1250
1251         * dom/ShadowRoot.idl:
1252         Just removed host attribute.
1253
1254 2012-06-19  Adam Klein  <adamk@chromium.org>
1255
1256         Pass ScriptValue by const ref where possible
1257         https://bugs.webkit.org/show_bug.cgi?id=89531
1258
1259         Reviewed by Kentaro Hara.
1260
1261         Previously ScriptValue was sometimes passed by value, sometimes by const ref.
1262
1263         For consistency and optimality, pass by const ref everywhere (except where
1264         ScriptValue is returned from non-accessor methods).
1265
1266         No new tests, no change in behavior.
1267
1268         * bindings/js/ScriptFunctionCall.h:
1269         (ScriptCallback):
1270         * bindings/js/ScriptProfiler.cpp:
1271         (WebCore::ScriptProfiler::getHeapObjectId):
1272         * bindings/js/ScriptProfiler.h:
1273         (ScriptProfiler):
1274         * bindings/js/WorkerScriptController.cpp:
1275         (WebCore::WorkerScriptController::setException):
1276         * bindings/js/WorkerScriptController.h:
1277         (WorkerScriptController):
1278         * bindings/v8/ScriptFunctionCall.cpp:
1279         (WebCore::ScriptCallback::ScriptCallback):
1280         * bindings/v8/ScriptFunctionCall.h:
1281         (ScriptCallback):
1282         * bindings/v8/ScriptProfiler.cpp:
1283         (WebCore::ScriptProfiler::getHeapObjectId):
1284         (WebCore):
1285         * bindings/v8/ScriptProfiler.h:
1286         (ScriptProfiler):
1287         * bindings/v8/ScriptValue.h:
1288         (WebCore::ScriptValue::operator==):
1289         (WebCore::ScriptValue::operator!=):
1290         * bindings/v8/WorkerScriptController.cpp:
1291         (WebCore::WorkerScriptController::setException):
1292         * bindings/v8/WorkerScriptController.h:
1293         (WorkerScriptController):
1294         * css/MediaQueryListListener.h:
1295         (WebCore::MediaQueryListListener::create):
1296         (WebCore::MediaQueryListListener::MediaQueryListListener):
1297         * dom/CustomEvent.cpp:
1298         (WebCore::CustomEvent::initCustomEvent):
1299         * dom/CustomEvent.h:
1300         (CustomEvent):
1301         (WebCore::CustomEvent::detail):
1302         * dom/MessageEvent.h:
1303         (WebCore::MessageEvent::dataAsScriptValue):
1304         * dom/PopStateEvent.h:
1305         (WebCore::PopStateEvent::state):
1306         * inspector/InjectedScript.cpp:
1307         (WebCore::InjectedScript::wrapObject):
1308         * inspector/InjectedScript.h:
1309         (InjectedScript):
1310
1311 2012-06-18  Philippe Normand  <pnormand@igalia.com>
1312
1313         [GStreamer] 0.11 video-sink
1314         https://bugs.webkit.org/show_bug.cgi?id=77087
1315
1316         Reviewed by Martin Robinson.
1317
1318         Port the video sink to GStreamer 0.11 APIs. There is no change in
1319         functionality compared to 0.10, for now.
1320
1321         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
1322         (webkitGetVideoSizeAndFormatFromCaps):
1323         (webkitGstCreateBuffer):
1324         * platform/graphics/gstreamer/GStreamerVersioning.h:
1325         (WebCore):
1326         * platform/graphics/gstreamer/ImageGStreamer.h:
1327         (WebCore::ImageGStreamer::createImage):
1328         (WebCore::ImageGStreamer::setCropRect):
1329         (WebCore::ImageGStreamer::rect):
1330         (ImageGStreamer):
1331         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
1332         (ImageGStreamer::ImageGStreamer):
1333         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
1334         (ImageGStreamer::ImageGStreamer):
1335         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1336         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
1337         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
1338         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1339         (_WebKitVideoSinkPrivate):
1340         (webkitVideoSinkRender):
1341         (webkitVideoSinkProposeAllocation):
1342         (webkit_video_sink_class_init):
1343         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
1344         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1345
1346 2012-06-19  Tony Payne  <tpayne@chromium.org>
1347
1348         Add monitor profile support for Win
1349         https://bugs.webkit.org/show_bug.cgi?id=88565
1350
1351         Reviewed by Eric Seidel.
1352
1353         Tests: fast/images/jpeg-with-color-profile.html
1354         fast/images/png-with-color-profile.html. Also covered by numerous
1355         layout tests.
1356
1357         * WebCore.gyp/WebCore.gyp:
1358         * platform/PlatformScreen.h:
1359         (WebCore):
1360         * platform/blackberry/PlatformScreenBlackBerry.cpp:
1361         (WebCore::screenColorProfile):
1362         (WebCore):
1363         * platform/chromium/PlatformScreenChromium.cpp:
1364         (WebCore::screenColorProfile):
1365         (WebCore):
1366         * platform/efl/PlatformScreenEfl.cpp:
1367         (WebCore::screenColorProfile):
1368         (WebCore):
1369         * platform/gtk/PlatformScreenGtk.cpp:
1370         (WebCore::screenColorProfile):
1371         (WebCore):
1372         * platform/image-decoders/ImageDecoder.h:
1373         (ImageFrame):
1374         (ImageDecoder):
1375         (WebCore::ImageDecoder::qcmsOutputDeviceProfile):
1376         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1377         (turboSwizzled):
1378         (colorSpaceHasAlpha):
1379
1380 2012-06-19  Erik Arvidsson  <arv@chromium.org>
1381
1382         [V8] Fix issue where a callback got a null calling context
1383         https://bugs.webkit.org/show_bug.cgi?id=89532
1384
1385         Reviewed by Kentaro Hara.
1386
1387         Test: fast/dom/Window/post-message-crash.html
1388
1389         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1390         (WebCore::handlePostMessageCallback): Check the calling context and throw a type error (like JSC) if it is null.
1391
1392 2012-06-19  Tony Chang  <tony@chromium.org>
1393
1394         Refactor RenderFlexibleBox terminology to use grow/shrink instead of positive/negative
1395         https://bugs.webkit.org/show_bug.cgi?id=89493
1396
1397         Reviewed by Eric Seidel.
1398
1399         The spec stopped referring to positive and negative flex and now
1400         talks about flex grow and flex shrink. Also, the preferred size is
1401         now known as the flex basis. Make the code match the terms used in
1402         the spec. http://dev.w3.org/csswg/css3-flexbox/
1403
1404         This will also make it easier to split flex into long hand notation
1405         (flex-grow, flex-shrink and flex-basis).
1406
1407         No new tests, covered by existing tests.
1408
1409         * css/CSSComputedStyleDeclaration.cpp:
1410         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1411         * css/StyleBuilder.cpp:
1412         (WebCore::ApplyPropertyFlex::applyInheritValue):
1413         (WebCore::ApplyPropertyFlex::applyInitialValue):
1414         (WebCore::ApplyPropertyFlex::applyValue):
1415         * page/animation/CSSPropertyAnimation.cpp:
1416         (WebCore::PropertyWrapperFlex::equals):
1417         (WebCore::PropertyWrapperFlex::blend):
1418         * rendering/RenderFlexibleBox.cpp:
1419         (WebCore::RenderFlexibleBox::flexBasisForChild):
1420         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
1421         (WebCore::RenderFlexibleBox::layoutFlexItems):
1422         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
1423         (WebCore::RenderFlexibleBox::computeNextFlexLine):
1424         (WebCore::RenderFlexibleBox::freezeViolations):
1425         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
1426         * rendering/RenderFlexibleBox.h:
1427         * rendering/style/RenderStyle.h:
1428         * rendering/style/StyleFlexibleBoxData.cpp:
1429         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1430         (WebCore::StyleFlexibleBoxData::operator==):
1431         * rendering/style/StyleFlexibleBoxData.h:
1432         (StyleFlexibleBoxData):
1433
1434 2012-06-19  Steve VanDeBogart  <vandebo@chromium.org>
1435
1436         Make DOMFileSystem selectively structure clonable so it can be the body of a web intent.
1437         https://bugs.webkit.org/show_bug.cgi?id=88267
1438
1439         Reviewed by David Levin.
1440
1441         This functionality will allow FileSystem API objects to be dispatched to
1442         web content in order to enable, for instance, an intent notifying web
1443         content that a particular filesystem has been mounted by the local
1444         system. The goal at this point is not to enable across-the-board
1445         clonability, but just for handling the particular use case.
1446
1447         * bindings/v8/SerializedScriptValue.cpp:
1448         (WebCore::V8ObjectMap::Writer::writeDOMFileSystem):
1449         (WebCore::V8ObjectMap::Serializer::writeDOMFileSystem):
1450         (WebCore::V8ObjectMap::Serializer::doSerialize):
1451         (WebCore::V8ObjectMap::Reader::read):
1452         (WebCore::V8ObjectMap::Reader::readDOMFileSystem):
1453
1454 2012-06-19  Kenneth Russell  <kbr@google.com>
1455
1456         Unreviewed, rolling out r120772.
1457         http://trac.webkit.org/changeset/120772
1458         https://bugs.webkit.org/show_bug.cgi?id=89503
1459
1460         Broke build on Chromium Mac
1461
1462         * platform/graphics/chromium/AnimationTranslationUtil.h:
1463         (WebCore):
1464         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
1465         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
1466         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1467         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1468         * platform/graphics/chromium/ContentLayerChromium.cpp:
1469         * platform/graphics/chromium/ContentLayerChromium.h:
1470         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1471         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1472         * platform/graphics/chromium/GraphicsLayerChromium.h:
1473         (WebCore):
1474         * platform/graphics/chromium/ImageLayerChromium.cpp:
1475         * platform/graphics/chromium/LayerChromium.h:
1476         * platform/graphics/chromium/LayerRendererChromium.cpp:
1477         * platform/graphics/chromium/LayerRendererChromium.h:
1478         (WebCore):
1479         * platform/graphics/chromium/LayerTextureUpdater.h:
1480         * platform/graphics/chromium/ManagedTexture.cpp:
1481         * platform/graphics/chromium/ProgramBinding.h:
1482         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1483         * platform/graphics/chromium/RenderSurfaceChromium.h:
1484         * platform/graphics/chromium/TextureCopier.cpp:
1485         * platform/graphics/chromium/TextureLayerChromium.cpp:
1486         * platform/graphics/chromium/TextureManager.cpp:
1487         * platform/graphics/chromium/TiledLayerChromium.cpp:
1488         * platform/graphics/chromium/TiledLayerChromium.h:
1489         (WebCore):
1490         * platform/graphics/chromium/cc/CCActiveAnimation.h:
1491         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
1492         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
1493         * platform/graphics/chromium/cc/CCFontAtlas.cpp:
1494         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
1495         * platform/graphics/chromium/cc/CCFrameRateController.h:
1496         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1497         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
1498         (WebCore):
1499         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
1500         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
1501         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1502         * platform/graphics/chromium/cc/CCLayerImpl.h:
1503         (WebCore):
1504         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1505         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1506         (WebCore):
1507         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1508         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1509         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1510         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1511         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
1512         * platform/graphics/chromium/cc/CCProxy.cpp:
1513         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1514         * platform/graphics/chromium/cc/CCRenderPass.h:
1515         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1516         * platform/graphics/chromium/cc/CCRenderSurface.h:
1517         * platform/graphics/chromium/cc/CCRenderer.h:
1518         (WebCore):
1519         * platform/graphics/chromium/cc/CCScopedThreadProxy.h:
1520         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1521         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1522         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1523         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1524         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
1525         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
1526         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1527         * platform/graphics/chromium/cc/CCThreadProxy.h:
1528         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1529         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1530         * platform/graphics/chromium/cc/CCTimer.cpp:
1531         * platform/graphics/chromium/cc/CCTimer.h:
1532         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1533
1534 2012-06-19  Zeev Lieber  <zlieber@chromium.org>
1535
1536         [Chromium] Remove redundant #includes in compositor
1537         https://bugs.webkit.org/show_bug.cgi?id=89503
1538
1539         Reviewed by Adrienne Walker.
1540
1541         Removed some redundant #includes to clarify dependency
1542         picture. Some 90 #includes removed, some 50 less disruptive
1543         #includes added. This brings the number of class dependencies to
1544         902 from 1383.
1545
1546         No new tests are required, as this is only affects compile-time behavior.
1547
1548         * platform/graphics/chromium/AnimationTranslationUtil.h:
1549         (WebCore):
1550         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
1551         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
1552         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1553         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1554         * platform/graphics/chromium/ContentLayerChromium.cpp:
1555         * platform/graphics/chromium/ContentLayerChromium.h:
1556         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1557         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1558         * platform/graphics/chromium/GraphicsLayerChromium.h:
1559         * platform/graphics/chromium/ImageLayerChromium.cpp:
1560         * platform/graphics/chromium/LayerChromium.h:
1561         * platform/graphics/chromium/LayerRendererChromium.cpp:
1562         * platform/graphics/chromium/LayerRendererChromium.h:
1563         (WebCore):
1564         * platform/graphics/chromium/LayerTextureUpdater.h:
1565         * platform/graphics/chromium/ManagedTexture.cpp:
1566         * platform/graphics/chromium/ProgramBinding.h:
1567         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1568         * platform/graphics/chromium/RenderSurfaceChromium.h:
1569         * platform/graphics/chromium/TextureCopier.cpp:
1570         * platform/graphics/chromium/TextureLayerChromium.cpp:
1571         * platform/graphics/chromium/TextureManager.cpp:
1572         * platform/graphics/chromium/TiledLayerChromium.cpp:
1573         * platform/graphics/chromium/TiledLayerChromium.h:
1574         * platform/graphics/chromium/cc/CCActiveAnimation.h:
1575         (WebCore):
1576         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
1577         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
1578         * platform/graphics/chromium/cc/CCFontAtlas.cpp:
1579         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
1580         * platform/graphics/chromium/cc/CCFrameRateController.h:
1581         (WebCore):
1582         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1583         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
1584         (WebCore):
1585         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
1586         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
1587         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1588         * platform/graphics/chromium/cc/CCLayerImpl.h:
1589         (WebCore):
1590         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1591         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1592         (WebCore):
1593         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1594         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1595         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1596         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1597         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
1598         (WebCore):
1599         * platform/graphics/chromium/cc/CCProxy.cpp:
1600         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1601         * platform/graphics/chromium/cc/CCRenderPass.h:
1602         (WebCore):
1603         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1604         * platform/graphics/chromium/cc/CCRenderSurface.h:
1605         * platform/graphics/chromium/cc/CCRenderer.h:
1606         * platform/graphics/chromium/cc/CCScopedThreadProxy.h:
1607         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1608         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1609         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1610         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1611         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
1612         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
1613         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1614         * platform/graphics/chromium/cc/CCThreadProxy.h:
1615         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1616         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1617         (WebCore):
1618         * platform/graphics/chromium/cc/CCTimer.cpp:
1619         * platform/graphics/chromium/cc/CCTimer.h:
1620         (WebCore):
1621         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1622
1623 2012-06-19  Julien Chaffraix  <jchaffraix@webkit.org>
1624
1625         Align RenderLayer's descendant dependent flags semantics
1626         https://bugs.webkit.org/show_bug.cgi?id=89241
1627
1628         Reviewed by Simon Fraser.
1629
1630         Refactoring only, covered by existing tests.
1631
1632         This change aligns the naming and implementation of the different descendant
1633         dependent flags. While aligning, I found some bugs (inefficiencies) with how
1634         the visible descendant flags was computed.
1635
1636         * rendering/RenderLayer.cpp:
1637         (WebCore::RenderLayer::setHasVisibleContent):
1638         Changed this method to not take a boolean as every callers was passing 'true'.
1639         Reworked the logic under this assumption.
1640
1641         (WebCore::RenderLayer::dirtyVisibleContentStatus):
1642         Updated after the following renaming.
1643
1644         (WebCore::RenderLayer::dirtyAncestorChainVisibleDescendantStatus):
1645         Renamed this function from dirtyVisibleDescendantStatus to match the hasSelfPaintingLayer
1646         naming and implementation.
1647
1648         (WebCore::RenderLayer::setAncestorChainHasVisibleDescendant):
1649         Added this function to factor the visible descendant setting out of defunct childVisibilityChanged.
1650         Also improved the efficiency of the function by clearing the dirty flag as it goes up (an unnoticed bug).
1651
1652         (WebCore::RenderLayer::addChild):
1653         (WebCore::RenderLayer::removeChild):
1654         Updated to use the new functions lieu of childVisibilityChanged.
1655         * rendering/RenderLayer.h:
1656         (RenderLayer::childVisibilityChanged):
1657         Removed this function as it wasn't adding much and it's a lot more clear to call
1658         dirtyAncestorChainVisibleDescendantStatus / setAncestorChainHasVisibleDescendant.
1659
1660         * rendering/RenderObject.cpp:
1661         (WebCore::RenderObject::styleWillChange):
1662         * rendering/RenderObjectChildList.cpp:
1663         (WebCore::RenderObjectChildList::appendChildNode):
1664         (WebCore::RenderObjectChildList::insertChildNode):
1665         Updated those callers after removing the boolean parameter from setHasVisibleContent.
1666
1667 2012-06-19  Andrey Adaikin  <aandrey@chromium.org>
1668
1669         Web Inspector: Extract InjectedScriptBase class from the InjectedScript
1670         https://bugs.webkit.org/show_bug.cgi?id=89107
1671
1672         Extract methods from the InjectedScript that do not depend on
1673         the concrete InjectedScriptSource.js implementation.
1674
1675         Reviewed by Pavel Feldman.
1676
1677         * CMakeLists.txt:
1678         * GNUmakefile.list.am:
1679         * Target.pri:
1680         * WebCore.gypi:
1681         * WebCore.vcproj/WebCore.vcproj:
1682         * WebCore.xcodeproj/project.pbxproj:
1683         * inspector/InjectedScript.cpp:
1684         (WebCore::InjectedScript::InjectedScript):
1685         (WebCore::InjectedScript::evaluate):
1686         (WebCore::InjectedScript::callFunctionOn):
1687         (WebCore::InjectedScript::evaluateOnCallFrame):
1688         (WebCore::InjectedScript::getFunctionDetails):
1689         (WebCore::InjectedScript::getProperties):
1690         (WebCore::InjectedScript::nodeForObjectId):
1691         (WebCore::InjectedScript::releaseObject):
1692         (WebCore::InjectedScript::wrapCallFrames):
1693         (WebCore::InjectedScript::wrapObject):
1694         (WebCore::InjectedScript::wrapSerializedObject):
1695         (WebCore::InjectedScript::findObjectById):
1696         (WebCore::InjectedScript::inspectNode):
1697         (WebCore::InjectedScript::releaseObjectGroup):
1698         (WebCore::InjectedScript::nodeAsScriptValue):
1699         * inspector/InjectedScript.h:
1700         (WebCore):
1701         (InjectedScript):
1702         * inspector/InjectedScriptBase.cpp: Added.
1703         (WebCore):
1704         (WebCore::InjectedScriptBase::InjectedScriptBase):
1705         (WebCore::InjectedScriptBase::canAccessInspectedWindow):
1706         (WebCore::InjectedScriptBase::injectedScriptObject):
1707         (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
1708         (WebCore::InjectedScriptBase::makeCall):
1709         (WebCore::InjectedScriptBase::makeEvalCall):
1710         * inspector/InjectedScriptBase.h: Copied from Source/WebCore/bindings/js/ScriptObject.h.
1711         (WebCore):
1712         (InjectedScriptBase):
1713         (WebCore::InjectedScriptBase::~InjectedScriptBase):
1714         (WebCore::InjectedScriptBase::hasNoValue):
1715         (WebCore::InjectedScriptBase::scriptState):
1716         * inspector/InspectorAllInOne.cpp:
1717
1718 2012-06-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1719
1720         Unreviewed, rolling out r120621.
1721         http://trac.webkit.org/changeset/120621
1722         https://bugs.webkit.org/show_bug.cgi?id=89518
1723
1724         Memory graph should have been behind the experimental flag.
1725         (Requested by pfeldman on #webkit).
1726
1727         * inspector/front-end/NativeMemorySnapshotView.js:
1728         * inspector/front-end/ProfileLauncherView.js:
1729         (WebInspector.ProfileLauncherView):
1730         * inspector/front-end/nativeMemoryProfiler.css:
1731         (.memory-blocks-list .item):
1732
1733 2012-06-19  Hans Muller  <hmuller@adobe.com>
1734
1735         The CSS_WRAP_SHAPE CSSWrapShape::Type is no longer needed
1736         https://bugs.webkit.org/show_bug.cgi?id=89403
1737
1738         Reviewed by Eric Seidel.
1739
1740         Removed CSS_WRAP_SHAPE_PATH definition from CSSWrapShapes.h.
1741         It's no longer required. This definition was never used or
1742         tested, no new tests are required.
1743
1744         * css/CSSWrapShapes.h:
1745
1746 2012-06-19  Ken Buchanan  <kenrb@chromium.org>
1747
1748         Absolute positioned objects should not be added to anonymous block lists
1749         https://bugs.webkit.org/show_bug.cgi?id=87768
1750
1751         Reviewed by Abhishek Arya.
1752
1753         containingBlock() was returning an anonymous block for absolute
1754         positioned objects under a relative positioned inline in the case
1755         that the inline is split and the object is underneath the block
1756         continuation. Anonymous blocks should never have anything in their
1757         positioned object lists because they can be destroyed at any time
1758         for a different reasons such as anonymous block merging, which is
1759         a problem for layout if they have m_posChildNeedsLayout set.
1760
1761         This patch adds a generic check for anonymous blocks in
1762         containingBlock() to correct this problem.
1763
1764         * rendering/RenderObject.cpp:
1765         (WebCore::RenderObject::containingBlock):
1766
1767 2012-06-19  Jan Keromnes  <janx@linux.com>
1768
1769         Web Inspector: extensionPanel.onSearch `action` strings should be
1770         enumerated.
1771         https://bugs.webkit.org/show_bug.cgi?id=89509
1772
1773         Reviewed by Pavel Feldman.
1774
1775         Fixed LayoutTests/inspector/extensions/extensions-api-expected.txt
1776         accordingly.
1777
1778         * inspector/front-end/ExtensionAPI.js:
1779         (defineCommonExtensionSymbols):
1780         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
1781         (injectedExtensionAPI.Panels.prototype.get SearchAction):
1782         * inspector/front-end/ExtensionPanel.js:
1783         (WebInspector.ExtensionPanel.prototype.searchCanceled):
1784         (WebInspector.ExtensionPanel.prototype.performSearch):
1785         (WebInspector.ExtensionPanel.prototype.jumpToNextSearchResult):
1786         (WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
1787
1788 2012-06-19  Dana Jansens  <danakj@chromium.org>
1789
1790         [chromium] Add an allocation step for CCRenderer before drawing a frame
1791         https://bugs.webkit.org/show_bug.cgi?id=88924
1792
1793         Reviewed by Adrienne Walker.
1794
1795         This step will be used to decide which RenderPass textures can be kept
1796         alive and do not need to be drawn again.
1797
1798         * platform/graphics/chromium/LayerRendererChromium.cpp:
1799         (WebCore):
1800         (WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame):
1801         (WebCore::LayerRendererChromium::beginDrawingFrame):
1802         * platform/graphics/chromium/LayerRendererChromium.h:
1803         (LayerRendererChromium):
1804         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1805         (WebCore::CCLayerTreeHostImpl::drawLayers):
1806         * platform/graphics/chromium/cc/CCRenderer.h:
1807         (CCRenderer):
1808
1809 2012-06-19  Alexandru Chiculita  <achicu@adobe.com>
1810
1811         [CSS Shaders] Create a shared object between FECustomFilter objects to store the shared resources
1812         https://bugs.webkit.org/show_bug.cgi?id=87878
1813
1814         Reviewed by Dean Jackson.
1815
1816         An object called CustomFilterGlobalContext is created the first time a new FECustomFilter is needed in a document.
1817         It is used to store the GraphicsContext3D needed to render the CSS Shaders. The context is shared by all the elements
1818         in a document (no cross-domain).
1819
1820         More resources will be shared in following patches, including precompiled shaders and vertices/indices data.
1821         https://bugs.webkit.org/show_bug.cgi?id=88427
1822         https://bugs.webkit.org/show_bug.cgi?id=88429
1823
1824         The plan is to make CustomFilterGlobalContext and FECustomFilter (or a base class extracted out of it) usable from platform
1825         code in the hardware accelerated compositing layer. The only dependency of the code is on the GraphicsContext3D.
1826
1827         No new tests. No functionality is changed yet, just added the new objects.
1828
1829         * CMakeLists.txt:
1830         * GNUmakefile.list.am:
1831         * Target.pri:
1832         * WebCore.gypi:
1833         * WebCore.vcproj/WebCore.vcproj:
1834         * WebCore.xcodeproj/project.pbxproj:
1835         * platform/graphics/filters/CustomFilterGlobalContext.cpp: Added.
1836         (WebCore):
1837         (WebCore::CustomFilterGlobalContext::CustomFilterGlobalContext):
1838         (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
1839         (WebCore::CustomFilterGlobalContext::prepareContextIfNeeded):
1840         * platform/graphics/filters/CustomFilterGlobalContext.h: Added.
1841         (WebCore):
1842         (CustomFilterGlobalContext):
1843         (WebCore::CustomFilterGlobalContext::context):
1844         * platform/graphics/filters/FECustomFilter.cpp:
1845         (WebCore::FECustomFilter::FECustomFilter): Changed to use the global context instead of the host window.
1846         (WebCore::FECustomFilter::create):
1847         (WebCore::FECustomFilter::initializeContext):
1848         * platform/graphics/filters/FECustomFilter.h:
1849         (WebCore):
1850         (FECustomFilter):
1851         * rendering/FilterEffectRenderer.cpp:
1852         (WebCore::FilterEffectRenderer::build): Changed to initialize the global context if needed and pass it to the FECustomFilter.
1853         * rendering/RenderView.cpp:
1854         (WebCore):
1855         (WebCore::RenderView::customFilterGlobalContext):
1856         * rendering/RenderView.h:
1857         (WebCore):
1858         (RenderView):
1859
1860 2012-06-19  Dominik Röttsches  <dominik.rottsches@intel.com>
1861
1862         [cairo] Fix LayoutTests/fast/canvas/patternfill-repeat.html
1863         https://bugs.webkit.org/show_bug.cgi?id=53085
1864
1865         Reviewed by Martin Robinson.
1866
1867         Clipping previously unlimited vertical and horizontal pattern repeats with
1868         a clip rectangle similar to the Qt Graphics Context.
1869
1870         No new tests, this patch fixes
1871         canvas/philip/tests/2d.pattern.paint.repeat* tests.
1872
1873         * platform/graphics/Pattern.h:
1874         (WebCore::Pattern::getPatternSpaceTransform): Adding constant getter method to be able to map to pattern space externally, needed by PlatformContextCairo::clipForPatternFilling.
1875         * platform/graphics/cairo/PlatformContextCairo.cpp:
1876         (WebCore::PlatformContextCairo::prepareForFilling):
1877         (WebCore::PlatformContextCairo::clipForPatternFilling): Clip pattern repeats if needed.
1878         * platform/graphics/cairo/PlatformContextCairo.h:
1879
1880 2012-06-19  Hayato Ito  <hayato@chromium.org>
1881
1882         [Shadow DOM] An upper boundary breaks if a child node of an insertion point is clicked.
1883         https://bugs.webkit.org/show_bug.cgi?id=89407
1884
1885         Reviewed by Dimitri Glazkov.
1886
1887         Update an event re-targeting algorithm so that it can set event's
1888         target correctly when a fallback element in an insertion point is
1889         clicked. To distinguish between distributed nodes and fallback
1890         elements in an ancestor chain of composite shadow tree, an event
1891         dispatcher checks explicitly whether a node is actually
1892         distributed or assigned to the given insertion point.
1893
1894         Test: fast/dom/shadow/shadow-dom-event-dispatching.html
1895
1896         * dom/EventDispatcher.cpp:
1897         (WebCore::isAssignedTo):
1898         (WebCore):
1899         (WebCore::EventDispatcher::ensureEventAncestors):
1900         * html/shadow/InsertionPoint.h:
1901         (WebCore::InsertionPoint::contains):
1902
1903 2012-06-19  Adrienne Walker  <enne@google.com>
1904
1905         Fix scrollbar layers being misplaced with a clipped owner layer
1906         https://bugs.webkit.org/show_bug.cgi?id=89486
1907
1908         Reviewed by Simon Fraser.
1909
1910         Scrollbar layers are positioned relative to their parent layer. If
1911         that parent gets clipped, then that positioning becomes incorrect and
1912         scrollbars get positioned relative to the clipped bounds instead of
1913         the full bounds. Fix by not clipping in this case.
1914
1915         Test: compositing/overflow/scrollbars-with-clipped-owner.html
1916
1917         * rendering/RenderLayerBacking.cpp:
1918         (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
1919
1920 2012-06-19  Shinya Kawanaka  <shinyak@chromium.org>
1921
1922         [Shadow][Editing] applying document.execCommand('bold') twice to elements having shadow insertion points causes a crash.
1923         https://bugs.webkit.org/show_bug.cgi?id=88502
1924
1925         Reviewed by Ryosuke Niwa.
1926
1927         When inserting or removing insertion points (<shadow> or <content>) into or from Shdaow DOM,
1928         ElementShadow::invalidateDistribution() will be called immediately. It will remove all the renderers
1929         of elements in the Shadow DOM. Since Node::rendererIsEditable() returns false when an renderer does not
1930         exist, all the elements in the Shadow DOM will be considered as non-content-editable until recalculating
1931         layout, though some of them may actually be content-editable.
1932
1933         Actually the current code does not recalculate layout inside editing command, so a disaster happens.
1934         For example, performing an editing command quits before completing all the commands, because the command
1935         thinks it is adding some elements to a non-content-editable element (but actually it's content-editable).
1936
1937         So we have to recalculate layout if necessary when checking an element is content-editable or not.
1938         This can be achieved by using Node::isContentEditable() instead of Node::rendererIsEditable().
1939
1940         Test: editing/shadow/bold-twice-in-shadow.html
1941
1942         * editing/ApplyStyleCommand.cpp:
1943         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
1944         * editing/InsertNodeBeforeCommand.cpp:
1945         (WebCore::InsertNodeBeforeCommand::doApply):
1946         (WebCore::InsertNodeBeforeCommand::doUnapply):
1947         * editing/RemoveNodeCommand.cpp:
1948         (WebCore::RemoveNodeCommand::doApply):
1949
1950 2012-06-19  Kenneth Russell  <kbr@google.com>
1951
1952         Unreviewed, rolling out r120744.
1953         http://trac.webkit.org/changeset/120744
1954         https://bugs.webkit.org/show_bug.cgi?id=89220
1955
1956         Broke build on Chromium Windows canary bots
1957
1958         * CMakeLists.txt:
1959         * GNUmakefile.list.am:
1960         * Target.pri:
1961         * WebCore.gypi:
1962         * platform/mock/DeviceMotionClientMock.cpp: Removed.
1963         * platform/mock/DeviceMotionClientMock.h: Removed.
1964
1965 2012-06-18  Filip Pizlo  <fpizlo@apple.com>
1966
1967         It should be possible to look at disassembly
1968         https://bugs.webkit.org/show_bug.cgi?id=89319
1969
1970         Reviewed by Sam Weinig.
1971         
1972         Just fixing EFL's build system now that JSC has a new directory.
1973
1974         * CMakeLists.txt:
1975
1976 2012-06-19  Amy Ousterhout  <aousterh@chromium.org>
1977
1978         Adds DeviceMotionClientMock
1979         https://bugs.webkit.org/show_bug.cgi?id=89220
1980
1981         Reviewed by Steve Block.
1982
1983         Adds DeviceMotionClientMock in WebCore to enable testing of DeviceMotion once it is fully implemented in WebKit.
1984         This addition was originally included in https://bugs.webkit.org/show_bug.cgi?id=89197 but was split into a separate patch for easier review.
1985
1986         No new tests because DeviceMotionClientMock is designed to enable future testing and cannot be tested in itself.
1987
1988         * CMakeLists.txt:
1989         * GNUmakefile.list.am:
1990         * Target.pri:
1991         * WebCore.gypi:
1992         * platform/mock/DeviceMotionClientMock.cpp: Added.
1993         (WebCore):
1994         (WebCore::DeviceMotionClientMock::DeviceMotionClientMock):
1995         (WebCore::DeviceMotionClientMock::setController):
1996         (WebCore::DeviceMotionClientMock::startUpdating):
1997         (WebCore::DeviceMotionClientMock::stopUpdating):
1998         (WebCore::DeviceMotionClientMock::setMotion):
1999         (WebCore::DeviceMotionClientMock::timerFired):
2000         * platform/mock/DeviceMotionClientMock.h: Added.
2001         (WebCore):
2002         (DeviceMotionClientMock):
2003         
2004 2012-06-19  Alexandre Elias  <aelias@google.com>
2005
2006         Fix link error with fillWithEmptyClients
2007         https://bugs.webkit.org/show_bug.cgi?id=89484
2008
2009         Reviewed by Ryosuke Niwa.
2010
2011         fillWithEmptyClients() was within #if ENABLE() guard in the .cpp file
2012         but not in the header.  There is now a caller unrelated to these ENABLEs
2013         in WebHelperPluginImpl, so linking fails if both SVG and PAGE_POPUP
2014         are disabled.
2015
2016         This function looks generic, so just remove the ENABLE guards.
2017
2018         No new tests. (Build fix.)
2019
2020         * loader/EmptyClients.cpp:
2021         (WebCore::fillWithEmptyClients):
2022
2023 2012-06-19  Abhishek Arya  <inferno@chromium.org>
2024
2025         Crash in RenderInline::willBeDestroyed.
2026         https://bugs.webkit.org/show_bug.cgi?id=89386
2027
2028         Reviewed by Julien Chaffraix.
2029
2030         We were unable to find the previous continuation during the process
2031         of cleaning up empty anonymous block continuation. The reason being
2032         that we were just looking till our immediate parent and ignoring the
2033         fact that it can be enclosed in anonymous blocks. The change skips
2034         over anonymous blocks in the parent chain.
2035
2036         Test: fullscreen/empty-anonymous-block-continuation-crash.html
2037
2038         * rendering/RenderBlock.cpp:
2039         (WebCore::RenderBlock::removeChild):
2040
2041 2012-06-19  Andreas Kling  <kling@webkit.org>
2042
2043         Remove the -webkit-match-nearest-mail-blockquote-color property.
2044         <http://webkit.org/b/89480>
2045
2046         Reviewed by Antti Koivisto.
2047
2048         This property does nothing except taking up a bit on StyleRareNonInheritedData.
2049         It's apparently famous for being the longest property name we support.
2050         This passes the torch to -webkit-border-bottom-right-radius.
2051
2052         * css/CSSComputedStyleDeclaration.cpp:
2053         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2054         * css/CSSParser.cpp:
2055         (WebCore::isValidKeywordPropertyAndValue):
2056         (WebCore::isKeywordPropertyID):
2057         (WebCore::CSSParser::parseValue):
2058         * css/CSSPrimitiveValueMappings.h:
2059         * css/CSSProperty.cpp:
2060         (WebCore::CSSProperty::isInheritedProperty):
2061         * css/CSSPropertyNames.in:
2062         * css/CSSValueKeywords.in:
2063         * css/StyleBuilder.cpp:
2064         (WebCore::StyleBuilder::StyleBuilder):
2065         * css/StyleResolver.cpp:
2066         (WebCore::StyleResolver::collectMatchingRulesForList):
2067         * rendering/style/RenderStyle.h:
2068         * rendering/style/RenderStyleConstants.h:
2069         * rendering/style/StyleRareNonInheritedData.cpp:
2070         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2071         (WebCore::StyleRareNonInheritedData::operator==):
2072         * rendering/style/StyleRareNonInheritedData.h:
2073         (StyleRareNonInheritedData):
2074
2075 2012-06-19  Andrew Lo  <anlo@rim.com>
2076
2077         [BlackBerry] Animations continue to request frames after they have finished
2078         https://bugs.webkit.org/show_bug.cgi?id=89483
2079
2080         Reviewed by Rob Buis.
2081
2082         Don't report that we have running animations if all the animations
2083         are finished. This prevents unnecessary requesting of animation frames.
2084         Internal PR165119
2085         Internally Reviewed by Arvid Nilsson.
2086
2087         * platform/graphics/blackberry/LayerAnimation.cpp:
2088         (WebCore::progress):
2089         (WebCore::fetchIntervalEndpoints):
2090         (WebCore::LayerAnimation::apply):
2091         * platform/graphics/blackberry/LayerAnimation.h:
2092         (WebCore::LayerAnimation::finished):
2093         (WebCore::LayerAnimation::LayerAnimation):
2094         (LayerAnimation):
2095         * platform/graphics/blackberry/LayerCompositingThread.cpp:
2096         (WebCore::LayerCompositingThread::updateAnimations):
2097
2098 2012-06-19  Abhishek Arya  <inferno@chromium.org>
2099
2100         Wrong repaintContainerSkipped in RenderObject::container()
2101         when positioned objects are enclosed in a <foreignObject>.
2102         https://bugs.webkit.org/show_bug.cgi?id=89384
2103
2104         Reviewed by Simon Fraser.
2105
2106         No new tests. The bug was found in a code audit.
2107
2108         * rendering/RenderObject.cpp:
2109         (WebCore::RenderObject::container):
2110
2111 2012-06-19  Abhishek Arya  <inferno@chromium.org>
2112
2113         Crash in WebCore::RenderSVGModelObject::checkIntersection
2114         https://bugs.webkit.org/show_bug.cgi?id=89059
2115
2116         Reviewed by Rob Buis.
2117
2118         getElementCTM updates layout causing the renderer to be destroyed. We get
2119         the new renderer by storing the element pointer and later accessing it using
2120         the element pointer.
2121
2122         Test: svg/custom/intersection-list-crash.svg
2123
2124         * rendering/svg/RenderSVGModelObject.cpp:
2125         (WebCore::RenderSVGModelObject::checkIntersection):
2126         (WebCore::RenderSVGModelObject::checkEnclosure):
2127
2128 2012-06-13  Eric Uhrhane  <ericu@chromium.org>
2129
2130         FileWriter progress events should be throttled to 50ms
2131         https://bugs.webkit.org/show_bug.cgi?id=89022
2132
2133         Reviewed by Kent Tamura.
2134
2135         No new tests; existing tests validate our event sequences, and testing
2136         timing is likely to be flaky.
2137
2138         * Modules/filesystem/FileWriter.cpp:
2139         (WebCore):
2140         (WebCore::FileWriter::FileWriter):
2141         (WebCore::FileWriter::didWrite): Throttle sending progress events.
2142         * Modules/filesystem/FileWriter.h:
2143         (FileWriter): Add a variable that remembers when the last event was
2144         sent.
2145
2146 2012-06-19  Dan Bernstein  <mitz@apple.com>
2147
2148         WebCore part of: Paginated display API doesn’t allow setting the page progression direction
2149         https://bugs.webkit.org/show_bug.cgi?id=89394
2150
2151         Reviewed by Darin Adler.
2152
2153         Updated fast/multicol/pagination-*.html.
2154
2155         * css/StyleResolver.cpp:
2156         (WebCore::StyleResolver::styleForDocument): Changed to handle the new Pagination::Mode enum
2157         values and set the column progression in addition to the column axis.
2158         * page/Page.h: Changed the Pagination::Mode enum values to ones that specify an axis and a
2159         direction along that axis.
2160         * testing/Internals.cpp:
2161         (WebCore::Internals::setPagination): Changed to support the new Pagination::Mode enum values.
2162
2163 2012-06-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2164
2165         Make RenderTableSection - nodeAtPoint and paintObject reuse spanning logic.
2166         https://bugs.webkit.org/show_bug.cgi?id=88066
2167
2168         Reviewed by Julien Chaffraix.
2169
2170         Makes dirtiedRows and dirtiedColumns reuse spannedRows and spannedColumns
2171         internally. This also changes their API to accept a damage-rect flipped 
2172         by logicalRectForWritingModeAndDirection.
2173
2174         The generic code in spannedRows and spannedColumns solves a few FIXMEs 
2175         surrounding RTL tables, which should improve performance.
2176
2177         * rendering/RenderTableSection.cpp:
2178         (WebCore::RenderTableSection::dirtiedRows):
2179         (WebCore::RenderTableSection::dirtiedColumns):
2180         (WebCore::RenderTableSection::paintObject):
2181         * rendering/RenderTableSection.h:
2182         (WebCore::CellSpan::start):
2183         (WebCore::CellSpan::end):
2184         (CellSpan):
2185         (RenderTableSection):
2186
2187 2012-06-19  Christophe Dumez  <christophe.dumez@intel.com>
2188
2189         [JSC] Implement support for JSDictionary::convertValue(Vector<String>& result)
2190         https://bugs.webkit.org/show_bug.cgi?id=89447
2191
2192         Reviewed by Adam Barth.
2193
2194         Add implementation for JSDictionary::convertValue(Vector<String>& result)
2195         so that IDBDatabase::createObjectStore() compiles with JSC.
2196
2197         Tests: storage/indexeddb
2198
2199         * bindings/js/JSDictionary.cpp:
2200         (WebCore::JSDictionary::convertValue):
2201         (WebCore):
2202         * bindings/js/JSDictionary.h:
2203
2204 2012-06-19  Andy Estes  <aestes@apple.com>
2205
2206         [Mac] AudioFileReader::createBus() leaks an AudioBufferList if ExtAudioFileRead() returns an error
2207         https://bugs.webkit.org/show_bug.cgi?id=89429
2208
2209         Reviewed by Darin Adler.
2210
2211         * platform/audio/mac/AudioFileReaderMac.cpp:
2212         (WebCore::AudioFileReader::createBus): Call destroyAudioBufferList()
2213         before returning if ExtAudioFileRead() returns an error.
2214
2215 2012-06-19  Martin Robinson  <mrobinson@igalia.com>
2216
2217         2012-06-19  Martin Robinson  <mrobinson@igalia.com>
2218
2219         Fix the GTK+ build by adding some missing source files to the source list.
2220
2221         * GNUmakefile.list.am: WebGLDepthTexture.cpp/h to the source list.
2222
2223 2012-06-19  Peter Wang  <peter.wang@torchmobile.com.cn>
2224
2225         Remove the function ScriptDebugServer::supportsNativeBreakpoints()
2226         https://bugs.webkit.org/show_bug.cgi?id=88759
2227
2228         Reviewed by Pavel Feldman.
2229
2230         Since both JSC and V8 support DOM breakpoint now, remove the conditional interface and related code.
2231         So there is no new tests.
2232
2233         * bindings/js/ScriptDebugServer.h:
2234         * bindings/v8/ScriptDebugServer.h:
2235         * inspector/Inspector.json:
2236         * inspector/InspectorDebuggerAgent.cpp:
2237         * inspector/InspectorDebuggerAgent.h:
2238         (InspectorDebuggerAgent):
2239         * inspector/front-end/ElementsPanel.js:
2240         (WebInspector.ElementsPanel):
2241         (WebInspector.ElementsPanel.prototype.wasShown):
2242         (WebInspector.ElementsPanel.prototype._populateContextMenu):
2243         * inspector/front-end/NetworkPanel.js:
2244         (WebInspector.NetworkLogView.prototype._createTable):
2245         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
2246         (WebInspector.NetworkLogView.prototype.switchToBriefView):
2247         (WebInspector.NetworkDataGridNode.prototype.createCells):
2248         (WebInspector.NetworkDataGridNode.prototype.refreshRequest):
2249         * inspector/front-end/ScriptsPanel.js:
2250         (WebInspector.ScriptsPanel.prototype.wasShown):
2251         (WebInspector.ScriptsPanel.prototype._clearInterface):
2252         * inspector/front-end/Settings.js:
2253         * inspector/front-end/inspector.js:
2254         (WebInspector.doLoadedDone):
2255
2256 2012-06-19  Nikita Vasilyev  <me@elv1s.ru>
2257
2258         Web Inspector: Make text in WebSocket Frames tab selectable
2259         https://bugs.webkit.org/show_bug.cgi?id=89307
2260
2261         Reviewed by Yury Semikhatsky.
2262
2263         * inspector/front-end/ResourceWebSocketFrameView.js:
2264         (WebInspector.ResourceWebSocketFrameView):
2265         * inspector/front-end/networkPanel.css:
2266         (.resource-websocket-frame-view):
2267
2268 2012-06-19  Peter Rybin  <peter.rybin@gmail.com>
2269
2270         Web Inspector: Support 'Restart frame' in protocol and backend
2271         https://bugs.webkit.org/show_bug.cgi?id=89147
2272
2273         Reviewed by Yury Semikhatsky.
2274
2275         Inspector.json got new command in Debugger domain.
2276         A call path from InspectorDebuggerAgent to V8 Debug.LiveEdit.RestartFrame API
2277         is built.
2278         JSC implementation is a stub with fix me (40300). 
2279
2280         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2281         (WebCore::JSJavaScriptCallFrame::restart):
2282         (WebCore):
2283         * bindings/js/ScriptDebugServer.cpp:
2284         (WebCore):
2285         (WebCore::ScriptDebugServer::updateCallStack):
2286         * bindings/js/ScriptDebugServer.h:
2287         (ScriptDebugServer):
2288         * bindings/v8/DebuggerScript.js:
2289         (.):
2290         * bindings/v8/JavaScriptCallFrame.cpp:
2291         (WebCore::JavaScriptCallFrame::restart):
2292         (WebCore):
2293         * bindings/v8/JavaScriptCallFrame.h:
2294         (JavaScriptCallFrame):
2295         * bindings/v8/ScriptDebugServer.cpp:
2296         (WebCore):
2297         (WebCore::ScriptDebugServer::updateCallStack):
2298         * bindings/v8/ScriptDebugServer.h:
2299         * bindings/v8/ScriptFunctionCall.cpp:
2300         (WebCore::ScriptFunctionCall::call):
2301         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
2302         (WebCore::V8JavaScriptCallFrame::restartCallback):
2303         (WebCore):
2304         * inspector/InjectedScript.cpp:
2305         (WebCore::InjectedScript::restartFrame):
2306         (WebCore):
2307         * inspector/InjectedScript.h:
2308         (InjectedScript):
2309         * inspector/InjectedScriptExterns.js:
2310         (JavaScriptCallFrame.prototype.restart):
2311         * inspector/InjectedScriptSource.js:
2312         (.):
2313         * inspector/Inspector.json:
2314         * inspector/InspectorDebuggerAgent.cpp:
2315         (WebCore::InspectorDebuggerAgent::restartFrame):
2316         * inspector/InspectorDebuggerAgent.h:
2317         (InspectorDebuggerAgent):
2318         * inspector/JavaScriptCallFrame.idl:
2319
2320 2012-06-19  Andrei Poenaru  <poenaru@adobe.com>
2321
2322         Replaced printf with fprintf in DEBUG_AUDIONODE_REFERENCES
2323
2324         Change printf to fprintf in DEBUG_AUDIONODE_REFERENCES
2325         https://bugs.webkit.org/show_bug.cgi?id=86564
2326
2327         Reviewed by Csaba Osztrogonác.
2328
2329         There is no need for new tests: writing data to stderr, instead of stdout.
2330
2331         * Modules/webaudio/AudioContext.cpp:
2332         (WebCore::AudioContext::~AudioContext):
2333         * Modules/webaudio/AudioNode.cpp:
2334         (WebCore::AudioNode::~AudioNode):
2335         (WebCore::AudioNode::ref):
2336         (WebCore::AudioNode::finishDeref):
2337         (WebCore::AudioNode::printNodeCounts):
2338
2339 2012-06-19  Dominik Röttsches  <dominik.rottsches@intel.com>
2340
2341         [GTK] Assert failure in svg/batik/text/textDecoration.svg,textEffect3.svg for 64bit Debug bot
2342         https://bugs.webkit.org/show_bug.cgi?id=89104
2343
2344         Reviewed by Nikolas Zimmermann.
2345
2346         Adding SVGInline to assertion to fix assertion failure. Same assertion was hit on Chromium.
2347
2348         Covered by existing tests
2349         svg/batik/text/textDecoration.svg
2350         svg/batik/text/textEffect3.svg
2351         where the assertion failure was hit.
2352
2353         * rendering/svg/RenderSVGResourceContainer.cpp:
2354         (WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting):
2355
2356 2012-06-19  Csaba Osztrogonác  <ossy@webkit.org>
2357
2358         [Qt] Buildfix for newer Qt5, use QPointer instead of the deprecated QWeakPointer.
2359         https://bugs.webkit.org/show_bug.cgi?id=89449
2360
2361         Reviewed by Simon Hausmann.
2362
2363         * bridge/qt/qt_instance.h:
2364         (QtInstance):
2365         * bridge/qt/qt_runtime.h:
2366         (QtField):
2367         * platform/Widget.h:
2368         (Widget):
2369
2370 2012-06-19  Taiju Tsuiki  <tzik@chromium.org>
2371
2372         Web Inspector: FileSystem tree should hide uninitialized FileSystem
2373         https://bugs.webkit.org/show_bug.cgi?id=88602
2374
2375         Reviewed by Vsevolod Vlasov.
2376
2377         Test: http/tests/inspector/filesystem/get-filesystem-root.html
2378
2379         * inspector/Inspector.json:
2380         * inspector/InspectorFileSystemAgent.cpp:
2381         (WebCore):
2382         (WebCore::InspectorFileSystemAgent::getFileSystemRoot):
2383         * inspector/InspectorFileSystemAgent.h:
2384         (InspectorFileSystemAgent):
2385         * inspector/front-end/FileSystemModel.js:
2386         (WebInspector.FileSystemModel.prototype._originAdded):
2387         (WebInspector.FileSystemModel.prototype.refreshFileSystemList):
2388         (WebInspector.FileSystemModel.prototype._gotFileSystem):
2389         (WebInspector.FileSystemModel.FileSystem):
2390         (WebInspector.FileSystemRequestManager):
2391         (WebInspector.FileSystemRequestManager.prototype.getFileSystemRoot):
2392         (WebInspector.FileSystemRequestManager.prototype._gotFileSystemRoot):
2393         (WebInspector.FileSystemDispatcher.prototype.gotFileSystemRoot):
2394         * inspector/front-end/ResourcesPanel.js:
2395         (WebInspector.FileSystemListTreeElement.prototype._fileSystemRemoved):
2396
2397 2012-06-19  Mike West  <mkwst@chromium.org>
2398
2399         Introduce ENABLE_CSP_NEXT configuration flag.
2400         https://bugs.webkit.org/show_bug.cgi?id=89300
2401
2402         Reviewed by Adam Barth.
2403
2404         The 1.0 draft of the Content Security Policy spec is just about to
2405         move to Last Call. We'll hide work on the upcoming 1.1 spec behind
2406         this ENABLE flag, disabled by default.
2407
2408         Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html
2409
2410         * Configurations/FeatureDefines.xcconfig:
2411
2412 2012-06-19  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2413
2414         Make StylePropertySet::merge() always override on conflict
2415         https://bugs.webkit.org/show_bug.cgi?id=89348
2416
2417         Reviewed by Ryosuke Niwa.
2418
2419         merge() was only used with argOverridesOnConflict = true, which
2420         makes the extra parameter useless. It will also save a boolean check.
2421
2422         * css/StylePropertySet.cpp:
2423         (WebCore::StylePropertySet::mergeAndOverrideOnConflict):
2424         * css/StylePropertySet.h:
2425         (StylePropertySet):
2426         * editing/ApplyStyleCommand.cpp:
2427         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
2428         * editing/EditingStyle.cpp:
2429         (WebCore::EditingStyle::overrideWithStyle):
2430         (WebCore::styleFromMatchedRulesForElement):
2431         (WebCore::EditingStyle::mergeStyleFromRules):
2432         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
2433
2434 2012-06-19  Yoshifumi Inoue  <yosin@chromium.org>
2435
2436         [Forms] Move isKeyboardFocusable and isMouseFocusable to InputType from HTMLInputElement
2437         https://bugs.webkit.org/show_bug.cgi?id=89425
2438
2439         Reviewed by Kent Tamura.
2440
2441         This patch moves implementation of HTMLInpueElement::isKeyboardFocusable
2442         and isMouseFocusable to InputType class to allow each implementation
2443         of InputType can decide focus-ability.
2444
2445         No new tests. This patch doesn't change behavior.
2446
2447         * html/HTMLInputElement.cpp:
2448         (WebCore::HTMLInputElement::isKeyboardFocusable): Changed to call InputType::isKeyboardFocusable.
2449         (WebCore::HTMLInputElement::isMouseFocusable): Changed to call InputType::isMouseFocusable.
2450         (WebCore::HTMLInputElement::isTextFormControlFocusable): Added to allow InputType can call a method in HTMLTextFormControlElement.
2451         (WebCore::HTMLInputElement::isTextFormControlKeyboardFocusable): Added to allow InputType can call a method in HTMLTextFormControlElement.
2452         (WebCore::HTMLInputElement::isTextFormControlMouseFocusable): Added to allow InputType can call a method in HTMLTextFormControlElement.
2453         * html/HTMLInputElement.h:
2454         (HTMLInputElement):
2455         * html/InputType.cpp:
2456         (WebCore::InputType::isKeyboardFocusable): Changed to call isTextFormControlKeyboardFocusable.
2457         (WebCore::InputType::isMouseFocusable): Added for default method of derived InputType classes.
2458         * html/InputType.h:
2459         (InputType): Chagned signature of isKeyboardFocusable.
2460         * html/RadioInputType.cpp:
2461         (WebCore::RadioInputType::isKeyboardFocusable): Changed to call isTextFormControlKeyboardFocusable which was done in HTMLInputElement.
2462         * html/RadioInputType.h:
2463         (RadioInputType):
2464         * html/TextFieldInputType.cpp:
2465         (WebCore::TextFieldInputType::isKeyboardFocusable): Moved implementation from HTMLInputElement.
2466         (WebCore::TextFieldInputType::isMouseFocusable): Moved implementation from HTMLInputElement.
2467         * html/TextFieldInputType.h:
2468         (TextFieldInputType):
2469
2470 2012-06-19  Sergio Villar Senin  <svillar@igalia.com>
2471
2472         Calling nativeImageForCurrentFrame() causes assertion failure: m_verifier.isSafeToUse()
2473         https://bugs.webkit.org/show_bug.cgi?id=67582
2474
2475         Reviewed by David Levin.
2476
2477         Added a new synchronous method to the IconDatabase that returns a
2478         native image for the platform instead of a WebCore::Image*.
2479
2480         * loader/icon/IconDatabase.cpp:
2481         (WebCore::IconDatabase::synchronousNativeIconForPageURL):
2482         (WebCore):
2483         * loader/icon/IconDatabase.h:
2484         (IconDatabase):
2485         * loader/icon/IconDatabaseBase.h:
2486         (WebCore::IconDatabaseBase::synchronousNativeIconForPageURL):
2487         (IconDatabaseBase):
2488
2489 2012-06-19  Andy Estes  <aestes@apple.com>
2490
2491         [Mac] Use AutodrainedPool instead of NSAutoreleasePool in AudioBus::loadPlatformResource()
2492         https://bugs.webkit.org/show_bug.cgi?id=89427
2493
2494         Reviewed by Dan Bernstein.
2495
2496         loadPlatformResource() called -[NSAutoreleasePool release] at each of
2497         its exit points, which is not only an error-prone pattern but is
2498         incorrect in garbage-collected environments. AutodrainedPool solves
2499         both these problems by automatically calling -[NSAutoreleasePool drain]
2500         when going out of scope.
2501
2502         * platform/audio/mac/AudioBusMac.mm:
2503         (WebCore::AudioBus::loadPlatformResource):
2504
2505 2012-06-19  Mike West  <mkwst@chromium.org>
2506
2507         Compilation failure in StyleResolver.cpp
2508         https://bugs.webkit.org/show_bug.cgi?id=89446
2509
2510         Reviewed by Ryosuke Niwa.
2511
2512         Adding 'CSSPropertyWebkitColumnProgression' to a switch statement from
2513         which it was missing.
2514
2515         * css/StyleResolver.cpp:
2516         (WebCore::StyleResolver::collectMatchingRulesForList):
2517
2518 2012-06-19  Csaba Osztrogonác  <ossy@webkit.org>
2519
2520         [Qt] Unreviewed build system fix after r120051.
2521
2522         * Target.pri:
2523
2524 2012-06-19  Mike West  <mkwst@chromium.org>
2525
2526         Add a scheme registry for bypassing Content Security Policy.
2527         https://bugs.webkit.org/show_bug.cgi?id=89373
2528
2529         Reviewed by Adam Barth.
2530
2531         The Content Security Policy specification notes that "Enforcing a CSP
2532         policy should not interfere with the operation of user-supplied scripts
2533         such as third-party user-agent add-ons and JavaScript bookmarklets."
2534         (https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#processing-model)
2535         This use case can be at least partially addressed by adding a scheme
2536         registry for certain types of URLs whose resources should be loaded
2537         regardless of a page's defined policy directives.
2538
2539         See http://crbug.com/133223 for additional context.
2540
2541         Test: http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html
2542
2543         * WebCore.exp.in:
2544             Exporting new symbols for use by Internals.
2545         * page/ContentSecurityPolicy.cpp:
2546         (WebCore::isAllowedByAllWithURL):
2547             Adding a check against the new SchemeRegistry method to determine
2548             whether or not we should proceed with checking the URL against the
2549             policy.
2550         * platform/SchemeRegistry.cpp:
2551         (WebCore::CSPBypassingSchemes):
2552         (WebCore):
2553         (WebCore::SchemeRegistry::registerURLSchemeAsBypassingContentSecurityPolicy):
2554         (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy):
2555         (WebCore::SchemeRegistry::schemeShouldBypassContentSecurityPolicy):
2556         * platform/SchemeRegistry.h:
2557         (SchemeRegistry):
2558             Adding the scheme registry for CSP-bypassing URL schemes.
2559         * testing/Internals.cpp:
2560         (WebCore):
2561         (WebCore::Internals::registerURLSchemeAsBypassingContentSecurityPolicy):
2562         (WebCore::Internals::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy):
2563         * testing/Internals.h:
2564         (Internals):
2565         * testing/Internals.idl:
2566             Adding a method to Internals so that we can write a layout test.
2567
2568 2012-06-18  Andy Estes  <aestes@apple.com>
2569
2570         [Mac] Editor::fontAttributesForSelectionStart() leaks a NSShadow
2571         https://bugs.webkit.org/show_bug.cgi?id=89424
2572
2573         Reviewed by Dan Bernstein.
2574
2575         * editing/mac/EditorMac.mm:
2576         (WebCore::Editor::fontAttributesForSelectionStart): Store the NSShadow
2577         in a RetainPtr so that it's released before going out of scope.
2578
2579 2012-06-18  Kent Tamura  <tkent@chromium.org>
2580
2581         Refactoring: Introduce a class to represent restoring state of a form control
2582         https://bugs.webkit.org/show_bug.cgi?id=89412
2583
2584         Reviewed by Hajime Morita.
2585
2586         HTMLFormControlElementWithState::saveFormControlState had two return
2587         values; One is a boolean to represent whether we should save the state
2588         or not, and another is form control value. This patch introduces
2589         FormControlState class representing these values.
2590
2591         We're going to extend FormControlState class so that it can contain
2592         multiple strings to fix a FileInputType issue and it have another type
2593         to fix Bug 89409.
2594
2595         No new tests. Just a refactoring.
2596
2597         * html/FormController.cpp:
2598         (WebCore::FormController::formElementsState):
2599         Gets a state string from a FormControlState instance.
2600         (WebCore::FormController::takeStateForFormElement):
2601         Creates a FormControlState instance with a state string.
2602         * html/FormController.h:
2603         (WebCore::FormControlState): Added.
2604
2605         * html/BaseCheckableInputType.cpp:
2606         (WebCore::BaseCheckableInputType::saveFormControlState):
2607         Use FormControlState class.
2608         (WebCore::BaseCheckableInputType::restoreFormControlState): ditto.
2609         * html/BaseCheckableInputType.h:
2610         (BaseCheckableInputType): ditto.
2611         * html/FileInputType.cpp:
2612         (WebCore::FileInputType::saveFormControlState): ditto.
2613         (WebCore::FileInputType::restoreFormControlState): ditto.
2614         * html/FileInputType.h:
2615         (FileInputType): ditto.
2616         * html/HTMLFormControlElementWithState.cpp:
2617         (WebCore::HTMLFormControlElementWithState::saveFormControlState): ditto.
2618         (WebCore::HTMLFormControlElementWithState::finishParsingChildren): ditto.
2619         * html/HTMLFormControlElementWithState.h:
2620         (HTMLFormControlElementWithState): ditto.
2621         (WebCore::HTMLFormControlElementWithState::restoreFormControlState): ditto.
2622         * html/HTMLInputElement.cpp:
2623         (WebCore::HTMLInputElement::saveFormControlState): ditto.
2624         (WebCore::HTMLInputElement::restoreFormControlState): ditto.
2625         * html/HTMLInputElement.h:
2626         (HTMLInputElement): ditto.
2627         * html/HTMLSelectElement.cpp:
2628         (WebCore::HTMLSelectElement::saveFormControlState): ditto.
2629         (WebCore::HTMLSelectElement::restoreFormControlState): ditto.
2630         * html/HTMLSelectElement.h:
2631         * html/HTMLTextAreaElement.cpp:
2632         (WebCore::HTMLTextAreaElement::saveFormControlState): ditto.
2633         (WebCore::HTMLTextAreaElement::restoreFormControlState): ditto.
2634         * html/HTMLTextAreaElement.h:
2635         * html/HiddenInputType.cpp:
2636         (WebCore::HiddenInputType::saveFormControlState): ditto.
2637         (WebCore::HiddenInputType::restoreFormControlState): ditto.
2638         * html/HiddenInputType.h:
2639         (HiddenInputType): ditto.
2640         * html/InputType.cpp:
2641         (WebCore::InputType::saveFormControlState): ditto.
2642         (WebCore::InputType::restoreFormControlState): ditto.
2643         * html/InputType.h:
2644         (InputType): ditto.
2645         * html/PasswordInputType.cpp:
2646         (WebCore::PasswordInputType::saveFormControlState): ditto.
2647         (WebCore::PasswordInputType::restoreFormControlState): ditto.
2648         * html/PasswordInputType.h:
2649         (PasswordInputType): ditto.
2650
2651 2012-06-18  Joone Hur  <joone.hur@intel.com>
2652
2653         [EFL] Fontconfig can't be linked properly
2654         https://bugs.webkit.org/show_bug.cgi?id=89418
2655
2656         Unreviewed build fix.
2657
2658         Make Fontconfig be linked correctly.
2659
2660         No new tests. This is only a build fix.
2661
2662         * PlatformEfl.cmake: add FONTCONFIG_LIBRARIES to WebCore_LIBRARIES.
2663
2664 2012-06-18  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2665
2666         [Cairo] Fix memory leaks in GLContextGLX.cpp
2667         https://bugs.webkit.org/show_bug.cgi?id=89346
2668
2669         Reviewed by Martin Robinson.
2670
2671         Fix memory leaks found in GLContextGLX.cpp.
2672
2673         * platform/graphics/glx/GLContextGLX.cpp:
2674         (WebCore::GLContextGLX::cleanupActiveContextsAtExit): Removing element reduces
2675         size of the vector, so the loop termination condition was failing in the last
2676         iteration, when the vector contains more than one element. This patch fixes the
2677         issue by iterating the vector backwards, so the termination condition doesn't
2678         fail until the size() reaches 0.
2679         (WebCore::GLContextGLX::createPbufferContext): Delete GLXPbuffer
2680         returned by glXCreatePbuffer().
2681         (WebCore::GLContextGLX::createPixmapContext): Delete XVisualInfo
2682         returned by glXChooseVisual().
2683
2684 2012-06-18  Gregg Tavares  <gman@google.com>
2685
2686         Expose WEBGL_depth_texture extension to WebGL
2687         https://bugs.webkit.org/show_bug.cgi?id=87029
2688         
2689         Reviewed by Kenneth Russell.
2690
2691         Test: fast/canvas/webgl/webgl-depth-texture.html
2692
2693         * CMakeLists.txt:
2694         * DerivedSources.make:
2695         * GNUmakefile.list.am:
2696         * Target.pri:
2697         * WebCore.gypi:
2698         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2699         (WebCore::toJS):
2700         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2701         (WebCore::toV8Object):
2702         * html/canvas/WebGLDepthTexture.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2703         (WebCore):
2704         (WebCore::WebGLDepthTexture::WebGLDepthTexture):
2705         (WebCore::WebGLDepthTexture::~WebGLDepthTexture):
2706         (WebCore::WebGLDepthTexture::getName):
2707         (WebCore::WebGLDepthTexture::create):
2708         (WebCore::WebGLDepthTexture::supported):
2709         * html/canvas/WebGLDepthTexture.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2710         (WebCore):
2711         (WebGLDepthTexture):
2712         * html/canvas/WebGLDepthTexture.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2713         * html/canvas/WebGLExtension.h:
2714         * html/canvas/WebGLFramebuffer.cpp:
2715         (WebCore::WebGLFramebuffer::initializeAttachments):
2716         * html/canvas/WebGLRenderingContext.cpp:
2717         (WebCore):
2718         (WebCore::WebGLRenderingContext::validateSettableTexFormat):
2719         (WebCore::WebGLRenderingContext::copyTexImage2D):
2720         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2721         (WebCore::WebGLRenderingContext::generateMipmap):
2722         (WebCore::WebGLRenderingContext::getExtension):
2723         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2724         (WebCore::WebGLRenderingContext::texImage2DBase):
2725         (WebCore::WebGLRenderingContext::texImage2D):
2726         (WebCore::WebGLRenderingContext::texSubImage2DBase):
2727         (WebCore::WebGLRenderingContext::texSubImage2D):
2728         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
2729         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
2730         (WebCore::WebGLRenderingContext::validateTexFuncData):
2731         * html/canvas/WebGLRenderingContext.h:
2732         (WebCore):
2733         (WebGLRenderingContext):
2734         * platform/graphics/GraphicsContext3D.cpp:
2735         (WebCore::GraphicsContext3D::getClearBitsByAttachmentType):
2736         (WebCore):
2737         (WebCore::GraphicsContext3D::getClearBitsByFormat):
2738         * platform/graphics/GraphicsContext3D.h:
2739
2740 2012-06-12  Kinuko Yasuda  <kinuko@chromium.org>
2741
2742         Support File/DirectoryEntry access for <input type=file> if FileSystem API is enabled
2743         https://bugs.webkit.org/show_bug.cgi?id=88293
2744
2745         Reviewed by Tony Chang.
2746
2747         Proposal email on whatwg: http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-November/033814.html
2748         Proposal draft: http://wiki.whatwg.org/wiki/DragAndDropEntries
2749
2750         Test: fast/forms/file/input-file-entries.html
2751
2752         * Modules/filesystem/HTMLInputElementFileSystem.cpp: Added.
2753         * Modules/filesystem/HTMLInputElementFileSystem.h: Added.
2754         * Modules/filesystem/HTMLInputElementFileSystem.idl: Added.
2755         * WebCore.gypi:
2756         * html/FileInputType.cpp:
2757         (WebCore::FileInputType::receiveDroppedFiles): Retrieves dropped file
2758         system Id if the given DragData has it.
2759         (WebCore::FileInputType::droppedFileSystemId): Added. This returns
2760         dropped file system Id retrieved in receiveDroppedFiles, or an empty
2761         string if the platform does not support isolated file system for
2762         dropped files.
2763         * html/FileInputType.h:
2764         * html/HTMLInputElement.cpp:
2765         (WebCore::HTMLInputElement::droppedFileSystemId): Added.
2766         * html/HTMLInputElement.h:
2767         * html/InputType.cpp:
2768         (WebCore::InputType::droppedFileSystemId): Added.
2769         * html/InputType.h:
2770         * platform/DragData.cpp:
2771         * platform/DragData.h:
2772         * platform/chromium/DragDataChromium.cpp:
2773         (WebCore::DragData::droppedFileSystemId): Added.
2774
2775 2012-06-18  Shinya Kawanaka  <shinyak@chromium.org>
2776
2777         [Crash][Editing] VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries() crashes in some Shadow DOM case.
2778         https://bugs.webkit.org/show_bug.cgi?id=88500
2779
2780         Reviewed by Ryosuke Niwa.
2781
2782         When selecting from a child of shadow host to an element in Shadow DOM, the start position of
2783         Selection comes after the end position of Selection in some cases. This caused a crash.
2784
2785         For example, let's think '<div id="host">A</div>D' and host has a Shadow DOM whose innerHTML
2786         is 'B<content></content>C'. When selecting from just after A (p1 = (PositionIsOffsetInAnchor,
2787         #text, 1)) to just before B (p2 = (PositionIsOffsetInAnchor, shadowRoot, 0)), since
2788         comparePosition always judge as p2 is before p1, m_start and m_end in VisibleSelection
2789         will be p2 and p1 respectively.
2790
2791         However, the anchorNodes of p1 and p2 have the different tree scope, we have to adjust p2 to
2792         the same tree scope as p1. Since p2 is m_start, m_start was adjusted to positionAfterNode(div).
2793         This breaks the assumption that m_start is always before (or equal to) m_end.
2794
2795         This patch keeps the assumption. When we cannot move m_start to positionAfterNode(div),
2796         we move m_start to positionBeforeNode(div). Note that we cannot always move m_start to
2797         positionBeforeNode(div), because when selecting just after D (p3 = (PositionIsOffsetInAnchor,
2798         D's parent, 2), we don't want to select A.
2799
2800         In this case, m_start should be adjusted to positionAfterNode(div).
2801
2802         Test: editing/shadow/breaking-editing-boundaries.html
2803
2804         * editing/VisibleSelection.cpp:
2805         (WebCore::adjustPositionForEnd):
2806         (WebCore):
2807         (WebCore::adjustPositionForStart):
2808         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
2809         * editing/VisibleSelection.h:
2810         (VisibleSelection):
2811
2812 2012-06-18  Mike Lawther  <mikelawther@chromium.org>
2813
2814         Crash when setting title dynamically
2815         https://bugs.webkit.org/show_bug.cgi?id=88083
2816
2817         Reviewed by Dan Bernstein.
2818
2819         Test: fast/text/title-crash.html
2820
2821         The crashing code takes a rare branch in StyleResolver::styleForElement() where
2822         m_parentStyle is set to point to m_style. Consequently, while applying properties
2823         to m_style we end up mutating m_parentStyle.
2824
2825         In this situation, we clone style() and point m_parentStyle at the clone. The
2826         clone is destroyed at the end of StyleResolver::styleForElement().
2827
2828         * css/StyleResolver.cpp:
2829         (WebCore::StyleResolver::collectMatchingRulesForList):
2830
2831 2012-06-18  Adrienne Walker  <enne@google.com>
2832
2833         RenderLayerBacking sometimes doesn't attach scrollbars to graphics layer tree
2834         https://bugs.webkit.org/show_bug.cgi?id=89402
2835
2836         Reviewed by James Robinson.
2837
2838         RenderLayerBacking only attaches scrollbar layers to the graphics
2839         layer tree if there's a clip layer. This is wrong, because these
2840         scrollbars become orphans and other code expects them to handle
2841         repainting the scrollbars (which now become invisible). Fix by always
2842         attaching scrollbar layers.
2843
2844         Test: compositing/overflow/image-load-overflow-scrollbars.html
2845
2846         * rendering/RenderLayerBacking.cpp:
2847         (WebCore::RenderLayerBacking::updateInternalHierarchy):
2848
2849 2012-06-18  Amy Ousterhout  <aousterh@chromium.org>
2850
2851         [Chromium] DeviceOrientation Cleanup
2852         https://bugs.webkit.org/show_bug.cgi?id=89354
2853
2854         Reviewed by Kent Tamura.
2855
2856         No new tests because there is no intended change in behavior.
2857
2858         * platform/mock/DeviceOrientationClientMock.h: added OVERRIDE specifier for virtual functions
2859         (DeviceOrientationClientMock):
2860
2861 2012-06-18  Christophe Dumez  <christophe.dumez@intel.com>
2862
2863         [EFL] media/video-seek-past-end-playing.html is flaky
2864         https://bugs.webkit.org/show_bug.cgi?id=89301
2865
2866         Reviewed by Philippe Normand.
2867
2868         Switch to double for media duration and playback position
2869         calculations to avoid precision problems.
2870         This patch also removes the workaround for the precision
2871         problem in didEnd() which is no longer needed.
2872
2873         Test: media/video-seek-past-end-playing.html
2874
2875         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2876         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
2877         (WebCore::MediaPlayerPrivateGStreamer::duration):
2878
2879 2012-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2880
2881         Unreviewed, rolling out r120593.
2882         http://trac.webkit.org/changeset/120593
2883         https://bugs.webkit.org/show_bug.cgi?id=89404
2884
2885         Caused failures in fast/forms/file/input-file-entries.html
2886         (Requested by atwilson on #webkit).
2887
2888         * Modules/filesystem/DOMFileSystem.cpp:
2889         (WebCore::DOMFileSystem::createIsolatedFileSystem):
2890         * Modules/filesystem/HTMLInputElementFileSystem.cpp: Removed.
2891         * Modules/filesystem/HTMLInputElementFileSystem.h: Removed.
2892         * Modules/filesystem/HTMLInputElementFileSystem.idl: Removed.
2893         * WebCore.gypi:
2894         * html/FileInputType.cpp:
2895         (WebCore::FileInputType::receiveDroppedFiles):
2896         * html/FileInputType.h:
2897         (FileInputType):
2898         * html/HTMLInputElement.cpp:
2899         * html/HTMLInputElement.h:
2900         (HTMLInputElement):
2901         * html/InputType.cpp:
2902         * html/InputType.h:
2903         (InputType):
2904         * platform/DragData.cpp:
2905         (WebCore::DragData::modifierKeyState):
2906         (WebCore):
2907         * platform/DragData.h:
2908         (DragData):
2909         * platform/chromium/DragDataChromium.cpp:
2910
2911 2012-06-14  James Robinson  <jamesr@chromium.org>
2912
2913         [chromium] Use WebImageLayer in GraphicsLayerChromium for image layers
2914         https://bugs.webkit.org/show_bug.cgi?id=89150
2915
2916         Reviewed by Adrienne Walker.
2917
2918         Uses WebImageLayer instead of ImageLayerChromium for GraphicsLayerChromium::setContentsToImage.
2919
2920         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2921         (WebCore::GraphicsLayerChromium::setContentsToImage):
2922
2923 2012-06-14  James Robinson  <jamesr@chromium.org>
2924
2925         [chromium] GraphicsLayerChromium should use WebContentLayer directly
2926         https://bugs.webkit.org/show_bug.cgi?id=89145
2927
2928         Reviewed by Adrienne Walker.
2929
2930         Ports GraphicsLayerChromium (or more specifically OpaqueRectTrackingContentLayerDelegate) to implement
2931         WebContentLayerClient instead of ContentLayerDelegate. In addition to the mechanical changes, this requires
2932         eagerly setting drawsContent on GraphicsLayerChromium::m_layer since WebContentLayerImpl's default value is
2933         different from LayerChromium's. Covered by all of compositing/
2934
2935         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2936         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2937         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
2938         (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
2939         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.h:
2940         (OpaqueRectTrackingContentLayerDelegate):
2941
2942 2012-06-18  David Barr  <davidbarr@chromium.org>
2943
2944         Add from-image to css3-images image-resolution
2945         https://bugs.webkit.org/show_bug.cgi?id=85451
2946
2947         Reviewed by Tony Chang.
2948
2949         The css3-images module is at candidate recommendation.
2950         http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-resolution
2951
2952         No new tests; extended fast/css/image-resolution/image-resolution.html
2953
2954         * css/CSSParser.cpp: Accept from-image identifier in image-resolution property.
2955         (WebCore::CSSParser::parseImageResolution): Map CSSValueFromImage to identifier value from cssValuePool.
2956         * css/CSSValueKeywords.in: Add from-image.
2957         * css/StyleBuilder.cpp: Extend ApplyPropertyImageResolution to apply RenderStyle::imageResolutionSource.
2958         (WebCore::ApplyPropertyImageResolution::applyInheritValue): Apply RenderStyle::imageResolutionSource.
2959         (WebCore::ApplyPropertyImageResolution::applyInitialValue): Apply RenderStyle::imageResolutionSource.
2960         (WebCore::ApplyPropertyImageResolution::applyValue): Map CSSValueFromImage to ImageResolutionFromImage.
2961         * rendering/RenderImage.cpp: Extend conditions for recalculation of intrinsic size.
2962         (WebCore::RenderImage::styleDidChange): Update intrinsic size if RenderStyle::imageResolutionSource() has changed.
2963         * rendering/style/RenderStyle.cpp: Include StyleRareInheritedData::m_imageResolutionSource in style diff.
2964         (WebCore::RenderStyle::diff): Map change in StyleRareInheritedData::m_imageResolutionSource to StyleDifferenceLayout.
2965         * rendering/style/RenderStyle.h: Add RenderStyle::imageResolutionSource, RenderStyle::setImageResolutionSource, RenderStyle::initialImageResolutionSource.
2966         * rendering/style/RenderStyleConstants.h: Add enum ImageResolutionSource.
2967         * rendering/style/StyleRareInheritedData.cpp: Add StyleRareInheritedData::m_imageResolutionSource.
2968         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Add m_imageResolutionSource to default and copy constructor.
2969         (WebCore::StyleRareInheritedData::operator==): Include m_imageResolutionSource in comparison.
2970         * rendering/style/StyleRareInheritedData.h: Add StyleRareInheritedData::m_imageResolutionSource.
2971         (StyleRareInheritedData): Add 1-bit field StyleRareInheritedData::m_imageResolutionSource.
2972
2973 2012-06-18  James Robinson  <jamesr@chromium.org>
2974
2975         [chromium] REGRESSION(r120346) ContentLayerPainter should clear rect to be painted
2976         https://bugs.webkit.org/show_bug.cgi?id=89376
2977
2978         Reviewed by Adrienne Walker.
2979
2980         In r120346, a refactor moved a clearRect()/clip() call from ContentLayerPainter - which all
2981         ContentLayerChromiums use - out to OpaqueRectTrackingContentLayerDelegate - which all GraphicsLayerChromium
2982         backed layers use, but which callers using WebContentLayer directly do not use. This meant that the canvas
2983         wasn't cleared/clipped as WebContentLayerClient.h claimed it would be. This moves the clear and the clip
2984         into CanvasLayerTextureUpdater which all paths use, including layers that don't use the ContentLayerPainter.
2985
2986         * platform/graphics/chromium/ContentLayerChromium.cpp:
2987         (WebCore::ContentLayerPainter::paint):
2988         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
2989         (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
2990
2991 2012-06-18  Igor Oliveira  <igor.o@sisa.samsung.com>
2992
2993         Unreviewed, rolling out r120119.
2994         http://trac.webkit.org/changeset/120119
2995
2996         Multiple regressions on ClusterFuzz
2997
2998         * page/animation/AnimationBase.cpp:
2999         (WebCore::AnimationBase::updateStateMachine):
3000         * page/animation/AnimationController.cpp:
3001         (WebCore::AnimationControllerPrivate::updateAnimations):
3002         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
3003         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
3004         (WebCore::AnimationController::cancelAnimations):
3005         (WebCore::AnimationController::updateAnimations):
3006         * page/animation/ImplicitAnimation.cpp:
3007         (WebCore::ImplicitAnimation::pauseAnimation):
3008         (WebCore::ImplicitAnimation::sendTransitionEvent):
3009         * page/animation/KeyframeAnimation.cpp:
3010         (WebCore::KeyframeAnimation::KeyframeAnimation):
3011         (WebCore::KeyframeAnimation::pauseAnimation):
3012         (WebCore::KeyframeAnimation::endAnimation):
3013         (WebCore::KeyframeAnimation::sendAnimationEvent):
3014         * rendering/RenderBlock.cpp:
3015         (WebCore::RenderBlock::updateFirstLetterStyle):
3016         (WebCore::RenderBlock::createFirstLetterRenderer):
3017         * rendering/RenderInline.cpp:
3018         (WebCore::RenderInline::clippedOverflowRectForRepaint):
3019         * rendering/RenderObject.cpp:
3020         * rendering/RenderObject.h:
3021         (RenderObject):
3022
3023 2012-06-18  Ryosuke Niwa  <rniwa@webkit.org>
3024
3025         REGRESSION(r118414): some pages on concursolutions.com doesn't show up
3026         https://bugs.webkit.org/show_bug.cgi?id=89399
3027
3028         Reviewed by Adam Barth.
3029
3030         The bug was caused by insertAdjacentHTML's not passing context element to createFragmentForInnerOuterHTML.
3031
3032         Test: fast/html/adjacent-html-context-element.html
3033
3034         * html/HTMLElement.cpp:
3035         (WebCore::HTMLElement::insertAdjacentHTML):
3036
3037 2012-06-18  Zhenyao Mo  <zmo@google.com>
3038
3039         Fix framebuffer-object-attachment.html failures
3040         https://bugs.webkit.org/show_bug.cgi?id=89387
3041
3042         Reviewed by Kenneth Russell.
3043
3044         * html/canvas/WebGLFramebuffer.cpp: fix detachment behavior with depth/stencil/depth_stencil conflicts
3045         (WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
3046         (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
3047         * html/canvas/WebGLFramebuffer.h:
3048         (WebGLFramebuffer):
3049         * html/canvas/WebGLRenderingContext.cpp:
3050         (WebCore):
3051         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): move logic to WebGLFramebuffer
3052         (WebCore::WebGLRenderingContext::framebufferTexture2D): Ditto.
3053         (WebCore::WebGLRenderingContext::getParameter): Correct the wrong assumption that it's always checking the drawingbuffer's DEPTH_BITS/STENCIL_BITS
3054         * html/canvas/WebGLRenderingContext.h:
3055         (WebGLRenderingContext):
3056
3057 2012-06-18  Ian Vollick  <vollick@chromium.org>
3058
3059         [chromium] Ensure that skipping frames during an accelerated animation doesn't cause starvation
3060         https://bugs.webkit.org/show_bug.cgi?id=87766
3061
3062         Reviewed by James Robinson.
3063
3064         Unit tests:
3065             CCLayerTreeHostTestCheckerboardDoesNotStarveDraws.runMultiThread
3066             CCSchedulerStateMachineTest.TestFailedDrawsWillEventuallyForceADrawAfterTheNextCommit
3067
3068         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
3069         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
3070         (WebCore::CCSchedulerStateMachine::updateState):
3071         (WebCore::CCSchedulerStateMachine::didDrawIfPossibleCompleted):
3072         (WebCore::CCSchedulerStateMachine::setMaximumNumberOfFailedDrawsBeforeDrawIsForced):
3073         (WebCore):
3074         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
3075         (CCSchedulerStateMachine):
3076
3077 2012-06-18  Nico Weber  <thakis@chromium.org>
3078
3079         [chromium/mac] Unbreak smooth scrolling.
3080         https://bugs.webkit.org/show_bug.cgi?id=89327
3081
3082         Reviewed by Dimitri Glazkov.
3083
3084         Broken by Sam in r115589 / r115591.
3085
3086         * platform/mac/ScrollAnimatorMac.mm:
3087         (WebCore::scrollAnimationEnabledForSystem):
3088
3089 2012-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3090
3091         Unreviewed, rolling out r120541, r120547, and r120548.
3092         http://trac.webkit.org/changeset/120541
3093         http://trac.webkit.org/changeset/120547
3094         http://trac.webkit.org/changeset/120548
3095         https://bugs.webkit.org/show_bug.cgi?id=89383
3096
3097         This approach doesn't work for WebKit2 (Requested by abarth on
3098         #webkit).
3099
3100         * testing/InternalSettings.cpp:
3101         (WebCore::InternalSettings::InternalSettings):
3102         (WebCore::InternalSettings::restoreTo):
3103         * testing/InternalSettings.h:
3104         (InternalSettings):
3105
3106 2012-06-18  Yong Li  <yoli@rim.com>
3107
3108         [BlackBerry] NetworkJob::startNewJobWithRequest() should check the frame pointer
3109         https://bugs.webkit.org/show_bug.cgi?id=89369
3110
3111         Reviewed by Antonio Gomes.
3112
3113         NetworkJob::startNewJobWithRequest() should stop proceeding if the frame is null,
3114         which means it is a PingLoader job and should just finish now.
3115
3116         * platform/network/blackberry/NetworkJob.cpp:
3117         (WebCore::NetworkJob::startNewJobWithRequest):
3118
3119 2012-06-18  Dan Bernstein  <mitz@apple.com>
3120
3121         Ideographic comma and full-stops are mishandled in linebreak
3122         https://bugs.webkit.org/show_bug.cgi?id=87041
3123
3124         Reviewed by Alexey Proskuryakov.
3125
3126         Test: fast/text/line-breaks-after-ideographic-comma-or-full-stop-2.html
3127
3128         Specifically, line breaks were always allowed after an ideographic comma or full stop, even
3129         before a closing bracket.
3130
3131         * rendering/break_lines.cpp:
3132         (WebCore::shouldBreakAfter): Removed code that unconditionally allowed line breaks after
3133         ideographic commas and full stops, which was added for <http://webkit.org/b/17411> to work
3134         around an issue in Unicode 5.0. Current line break iterator implementations are based on
3135         newer versions of Unicode, which do not have that issue, so we can use them instead of the
3136         hardcoded approximate rule.
3137
3138 2012-06-18  Martin Robinson  <mrobinson@igalia.com>
3139
3140         [TextureMapper] Rename shader variables to match the naming scheme of the newer filter shaders
3141         https://bugs.webkit.org/show_bug.cgi?id=89324
3142
3143         Reviewed by Noam Rosenthal.
3144
3145         Rename shader variables to align them with those in the new filter shaders.
3146
3147         No new tests. This is just a simple refactor.
3148
3149         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
3150         Rename shader variables so that uniforms are prefixed by "u_", attributes by "a_",
3151         and texture samplers by "s_".
3152
3153 2012-06-18  Alexei Filippov  <alexeif@chromium.org>
3154
3155         Web Inspector: Implement native memory bar diagram
3156         https://bugs.webkit.org/show_bug.cgi?id=89106
3157
3158         Reviewed by Pavel Feldman.
3159
3160         * inspector/front-end/NativeMemorySnapshotView.js:
3161         (WebInspector.NativeMemoryBarChart):
3162         (WebInspector.NativeMemoryBarChart.prototype._updateStats):
3163         (WebInspector.NativeMemoryBarChart.prototype.willHide):
3164         (WebInspector.NativeMemoryBarChart.prototype.wasShown):
3165         (WebInspector.NativeMemoryBarChart.prototype._updateView):
3166         * inspector/front-end/ProfileLauncherView.js:
3167         (WebInspector.ProfileLauncherView):
3168         * inspector/front-end/nativeMemoryProfiler.css:
3169         (.memory-bar-chart-name):
3170         (.memory-bar-chart-bar):
3171         (.memory-bar-chart-size):
3172         (.memory-bar-chart-total):
3173
3174 2012-06-18  Mike West  <mkwst@chromium.org>
3175
3176         Crash in CSPSource::parseSource
3177         https://bugs.webkit.org/show_bug.cgi?id=89353
3178
3179         Reviewed by Adam Barth.
3180
3181         Test: http/tests/security/contentSecurityPolicy/source-list-parsing-malformed-meta.html
3182
3183         * page/ContentSecurityPolicy.cpp:
3184         (WebCore::CSPSourceList::parseSource):
3185             Checking that we're not past the end of the string before deref.
3186
3187 2012-06-18  Robert Hogan  <robert@webkit.org>
3188
3189         CSS 2.1 failure: table-height-algorithm-012 fails
3190         https://bugs.webkit.org/show_bug.cgi?id=85652
3191
3192         Reviewed by Julien Chaffraix.
3193
3194         Test: css2.1/20110323/table-height-algorithm-012.htm
3195               fast/css/vertical-align-baseline-rowspan-001.htm
3196               fast/css/vertical-align-baseline-rowspan-002.htm
3197               fast/css/vertical-align-baseline-rowspan-003.htm
3198               fast/css/vertical-align-baseline-rowspan-004.htm
3199               fast/css/vertical-align-baseline-rowspan-005.htm
3200               fast/css/vertical-align-baseline-rowspan-006.htm
3201               fast/css/vertical-align-baseline-rowspan-007.htm
3202               fast/css/vertical-align-baseline-rowspan-008.htm
3203               fast/css/vertical-align-baseline-rowspan-009.htm
3204
3205         A spanning cell with Vertical-align set to 'baseline' should align the cell's content baseline 
3206         (which is the bottom of the first line of text or in-flow content) with the baseline of the first of the rows it spans.
3207
3208         * rendering/RenderTableSection.cpp:
3209         (WebCore::RenderTableSection::calcRowLogicalHeight): Only calculate the baseline for the first row in a rowspan. This
3210           ensures that any height added to the rowspan from the baseline is only added to the first row in the span rather than
3211           to each of them.
3212         (WebCore::RenderTableSection::layoutRows): Rather than get the baseline for each row in a rowspan (with the result that
3213           only the baseline for the last row actually sticks), calculate it for the first row in the rowspan only. This function is
3214           inefficient when handling rowspans so this doesn't fix the fact that redundant calculations are performed on each subsequent
3215           row in the span - that should be done separately.
3216
3217 2012-06-18  Hayato Ito  <hayato@chromium.org>
3218
3219         Event dispatcher should use InsertionPoint::hasDistribution instead of InsertinPoint::isActive in re-targeting.
3220         https://bugs.webkit.org/show_bug.cgi?id=89180
3221
3222         Reviewed by Dimitri Glazkov.
3223
3224         If an event is fired on a fallback element within a insertion
3225         point which does not select any nodes, the result of event's
3226         re-targeting will be wrong since it uses
3227         InsertionPoint::isActive() to judge an existence of a lower boundary.
3228         That must use InsertionPoint::hasDistribution().
3229
3230         Test: fast/dom/shadow/shadow-dom-event-dispatching.html
3231
3232         * dom/EventDispatcher.cpp:
3233         (WebCore::EventDispatcher::ensureEventAncestors):
3234
3235 2012-06-18  Tony Payne  <tpayne@chromium.org>
3236
3237        [chromium] Add iccjpeg and qcms to chromium port
3238        https://bugs.webkit.org/show_bug.cgi?id=81974
3239
3240        Reviewed by Adam Barth.
3241
3242        Covered by existing layout tests which will be rebaselined.
3243
3244        * WebCore.gyp/WebCore.gyp: Add qcms to the build.
3245        * platform/image-decoders/ImageDecoder.h:
3246        (WebCore::ImageDecoder::qcmsOutputDeviceProfile): Return an sRGB profile.
3247        On OSX, return the default RGB profile. Add FIXME to use the user's
3248        monitor profile and verify that profile for other platforms.
3249
3250        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3251        (turboSwizzled): For libjpeg-turbo, JCS_EXT_BGRA and JCS_EXT_RGBA are the
3252        two known output color spaces for which the decoder uses a data swizzle.
3253        (colorSpaceHasAlpha): JPEG's have no alpha in the output color space. For
3254        libjpeg-turbo, alpha may be present in the swizzled output color space.
3255
3256        (WebCore::JPEGImageReader::JPEGImageReader):
3257        (WebCore::JPEGImageReader::close):
3258        (WebCore::JPEGImageReader::decode): For QCMSLIB, create the color transform
3259        to use during decoding, and ensure we switch to inputing RGBA data to qcms
3260        even if the desired output data is BGRA: outputScanlines() sends BGRA data
3261        to the frame buffer following color correction if needed.
3262        (JPEGImageReader):
3263        (WebCore::JPEGImageReader::colorTransform): qcms color transform getter.
3264        (WebCore::JPEGImageReader::createColorTransform): Create color transform.
3265        Release the existing transform (if any) and assign to the color transform
3266        created from the color profile data.
3267        (WebCore::JPEGImageDecoder::outputScanlines): Minor style fix. Apply color
3268        transform to each decoded image row.
3269
3270        * platform/image-decoders/png/PNGImageDecoder.cpp:
3271        (WebCore::PNGImageReader::PNGImageReader):
3272        (WebCore::PNGImageReader::close):
3273        (WebCore::PNGImageReader::currentBufferSize): Move this adjacent to other
3274        setters and getters.
3275        (WebCore::PNGImageReader::decodingSizeOnly): Ditto.
3276        (WebCore::PNGImageReader::setHasAlpha): Ditto.
3277        (WebCore::PNGImageReader::hasAlpha): Ditto.
3278        (WebCore::PNGImageReader::interlaceBuffer): Ditto.
3279        (WebCore::PNGImageReader::createRowBuffer): Creates a temporary row buffer,
3280        used when a color transform is applied to the decoded image pixels.
3281        (WebCore::PNGImageReader::rowBuffer): Return the temporary row buffer.
3282        (WebCore::PNGImageReader::colorTransform): qcms color transform getter.
3283        (WebCore::PNGImageReader::createColorTransform): Create color transform.
3284        Release the existing transform (if any) and assign to the color transform
3285        created from the color profile data.
3286        (WebCore::PNGImageDecoder::headerAvailable): For QCMSLIB, create the color
3287        transform to use for decoding. Clear m_colorProfile (not used anymore).
3288        (WebCore::PNGImageDecoder::rowAvailable): Create temporary row buffer if
3289        a color transform is needed for decoding. Apply color transform to each
3290        decoded image row.
3291
3292        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
3293        (WebCore::ImageFrame::setColorProfile): Old method of colorProfiles is no
3294        longer used. Add a FIXME to remove the old implementation.
3295        (WebCore::ImageFrame::setStatus): Remove old color correction code.
3296
3297 2012-06-18  Dan Bernstein  <mitz@apple.com>
3298
3299         Column progression direction cannot be set independently of writing direction
3300         https://bugs.webkit.org/show_bug.cgi?id=89315
3301
3302         Added a column-progression property, which can have the values 'normal' and 'reverse'. When
3303         set to 'reverse', the first column is positioned at the end side of the block, and
3304         subsequent columns go from the in the start direction (in the inline column axis case; in
3305         the block column axis case, the first column coincides with the block and subsequent columns
3306         go before the block).
3307
3308         Reviewed by Darin Adler.
3309
3310         Test: fast/multicol/progression-reverse.html
3311
3312         * css/CSSComputedStyleDeclaration.cpp:
3313         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added handling of the new
3314         property.
3315
3316         * css/CSSParser.cpp:
3317         (WebCore::CSSParser::parseValue): Added validity check for the new property. The valid
3318         values are the identifiers 'normal' and 'reverse'.
3319         * css/CSSPrimitiveValueMappings.h:
3320         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added this mapping from ColumnProgression
3321         enum values to the identifiers 'normal and 'reverse'.
3322         (WebCore::CSSPrimitiveValue::operator ColumnProgression): Added this mapping from the
3323         identifiers 'normal' and 'reverse' to ColumnProgression enum values.
3324         * css/CSSProperty.cpp:
3325         (WebCore::CSSProperty::isInheritedProperty): Added the new property to the set of
3326         non-inherited properties.
3327         * css/CSSPropertyNames.in: Added -webkit-column-progression.
3328         * css/StyleBuilder.cpp:
3329         (WebCore::StyleBuilder::StyleBuilder): Added a handler for the new property.
3330         * rendering/ColumnInfo.h:
3331         (WebCore::ColumnInfo::ColumnInfo): Added an initializer for the m_progressionIsReversed
3332         member variable.
3333         (WebCore::ColumnInfo::progressionIsReversed): Added this accessor.
3334         (WebCore::ColumnInfo::setProgressionIsReversed): Ditto.
3335         (ColumnInfo): Added a m_progressionIsReversed member variable.
3336         * rendering/RenderBlock.cpp:
3337         (WebCore::RenderBlock::paintColumnRules): Changed to advance in the reverse direction if
3338         needed.
3339         (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Added call to
3340         ColumnInfo::setProgressionIsReversed(), based on the new property.
3341         (WebCore::RenderBlock::columnRectAt): Changed to take the progression direction into
3342         account.
3343         * rendering/style/RenderStyle.h: Added accessors and initial value for column progression.
3344         * rendering/style/RenderStyleConstants.h: Added ColumnProgression enum.
3345         * rendering/style/StyleMultiColData.cpp:
3346         (WebCore::StyleMultiColData::StyleMultiColData): Added initializer for the m_progression
3347         member variable.
3348         (WebCore::StyleMultiColData::operator==): Added equality check for m_progression.
3349         * rendering/style/StyleMultiColData.h:
3350         (StyleMultiColData): Added m_progression member variable.
3351
3352 2012-06-18  Martin Robinson  <mrobinson@igalia.com>
3353
3354         [TextureMapper] Replace the source transform with a flip uniform
3355         https://bugs.webkit.org/show_bug.cgi?id=89317
3356
3357         Reviewed by Noam Rosenthal.
3358
3359         No new tests. This should not change any observable behavior.
3360
3361         * platform/graphics/texmap/TextureMapperGL.cpp: Instead of building and passing
3362         the m4src matrix to the shader, just pass a single uniform that says whether or
3363         not the texture should be flipped.
3364         * platform/graphics/texmap/TextureMapperShaderManager.cpp: Change the shader programs
3365         to deal with a flip variable rather than a source matrix.
3366         (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram): Instead of getting the location
3367         of the source matrix, get the location of the flip uniform.
3368         (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple): Ditto.
3369         (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple): Ditto.
3370         (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask): Ditto.
3371         (WebCore::TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask): Ditto.
3372         * platform/graphics/texmap/TextureMapperShaderManager.h:
3373         (WebCore::TextureMapperShaderProgram::flipLocation): Added this getter.
3374         (TextureMapperShaderProgram): Rename the source matrix location member to reflect above changes.
3375
3376 2012-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3377
3378         Unreviewed, rolling out r120598.
3379         http://trac.webkit.org/changeset/120598
3380         https://bugs.webkit.org/show_bug.cgi?id=89359
3381
3382         Patch causes crashes on EFL and GTK release builds (Requested
3383         by zdobersek on #webkit).
3384
3385         * platform/graphics/Pattern.h:
3386         (Pattern):
3387         * platform/graphics/cairo/PlatformContextCairo.cpp:
3388         (WebCore::PlatformContextCairo::prepareForFilling):
3389         * platform/graphics/cairo/PlatformContextCairo.h:
3390
3391 2012-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3392
3393         Unreviewed, rolling out r120592.
3394         http://trac.webkit.org/changeset/120592
3395         https://bugs.webkit.org/show_bug.cgi?id=89357
3396
3397         Broke v8 bindings on windows. (Requested by atwilson__ on
3398         #webkit).
3399
3400         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3401         * bindings/js/ScriptDebugServer.cpp:
3402         * bindings/js/ScriptDebugServer.h:
3403         (ScriptDebugServer):
3404         * bindings/v8/DebuggerScript.js:
3405         (.):
3406         * bindings/v8/JavaScriptCallFrame.cpp:
3407         * bindings/v8/JavaScriptCallFrame.h:
3408         (JavaScriptCallFrame):
3409         * bindings/v8/ScriptDebugServer.cpp:
3410         * bindings/v8/ScriptDebugServer.h:
3411         * bindings/v8/ScriptFunctionCall.cpp:
3412         (WebCore::ScriptFunctionCall::call):
3413         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
3414         * inspector/InjectedScript.cpp:
3415         * inspector/InjectedScript.h:
3416         (InjectedScript):
3417         * inspector/InjectedScriptSource.js:
3418         * inspector/Inspector.json:
3419         * inspector/InspectorDebuggerAgent.cpp:
3420         (WebCore::InspectorDebuggerAgent::setScriptSource):
3421         * inspector/InspectorDebuggerAgent.h:
3422         (InspectorDebuggerAgent):
3423         * inspector/JavaScriptCallFrame.idl:
3424
3425 2012-06-18  Julien Chaffraix  <jchaffraix@webkit.org>
3426
3427         RenderTableSection wastes vector capacity
3428         https://bugs.webkit.org/show_bug.cgi?id=86561
3429
3430         Reviewed by Antti Koivisto.
3431
3432         Memory optimization, covered by existing tests.
3433
3434         The issue is that addChild calls Vector::grow() which can over-allocate our row grid (especially
3435         for small tables as we allocate at least 16 entries). As we don't know if addChild is called
3436         in a loop (e.g. during parsing), we postpone the shrinkToFit call at layout time.
3437
3438         (WebCore::RenderTableSection::layout):
3439         Added a shrinkToFit call with some explanation as to why it's good trade-off to do it now.
3440
3441 2012-06-18  Takashi Sakamoto  <tasak@google.com>
3442
3443         webkit fails IETC border-radius-clip-002
3444         https://bugs.webkit.org/show_bug.cgi?id=83205
3445
3446         Added addRoundedRectClip instead of just clip when clipToBorderRadius
3447         is true and bgLayer->clip() == ContentFillBox.
3448
3449         Reviewed by Simon Fraser.
3450
3451         This change is covered by the existing test: ietestcenter/css3/bordersbackgrounds/border-radius-clip-002.
3452         However expected images should be updated. I updated chromium-linux
3453         and chromium-mac's expected images and removed chromium-win,
3454         chromium-mac-leopard and chromium-mac-snowleopard's expected images.
3455
3456         * rendering/RenderBoxModelObject.cpp:
3457         (WebCore::RenderBoxModelObject::paintFillLayerExtended):