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