Unreviewed, rolling out r104972.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-01-13  Ojan Vafai  <ojan@chromium.org>
2
3         Unreviewed, rolling out r104972.
4         http://trac.webkit.org/changeset/104972
5         https://bugs.webkit.org/show_bug.cgi?id=75782
6
7         Broke some tests
8
9         * css/CSSComputedStyleDeclaration.cpp:
10         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
11         * css/CSSParser.cpp:
12         (WebCore::CSSParser::parseValue):
13         * css/CSSProperty.cpp:
14         (WebCore::CSSProperty::isInheritedProperty):
15         * css/CSSPropertyNames.in:
16         * css/CSSStyleApplyProperty.cpp:
17         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
18         * css/CSSStyleSelector.cpp:
19         (WebCore::CSSStyleSelector::applyProperty):
20         * rendering/RenderBox.cpp:
21         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
22         * rendering/RenderFlexibleBox.cpp:
23         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
24         (WebCore::RenderFlexibleBox::alignChildren):
25         * rendering/style/RenderStyle.h:
26         (WebCore::RenderStyleBitfields::initialFlexItemAlign):
27         * rendering/style/StyleFlexibleBoxData.cpp:
28         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
29         (WebCore::StyleFlexibleBoxData::operator==):
30         * rendering/style/StyleFlexibleBoxData.h:
31
32 2012-01-13  Anders Carlsson  <andersca@apple.com>
33
34         -[WebTileCacheLayer setNeedsDisplay] doesn't trigger invalidation
35         https://bugs.webkit.org/show_bug.cgi?id=76299
36
37         Reviewed by Simon Fraser.
38
39         Override -[WebTileCacheLayer setNeedsDisplay] and call TileCache::setNeedsDisplay from there,
40         instead of ending up with a huge rectangle in TileCache::setNeedsDisplayInRect which causes our
41         tile computation logic to fail due to integer overflow when converting from CGFloats to ints.
42
43         * platform/graphics/ca/mac/TileCache.h:
44         * platform/graphics/ca/mac/TileCache.mm:
45         (WebCore::TileCache::setNeedsDisplay):
46         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
47         (-[WebTileCacheLayer setNeedsDisplay]):
48
49 2012-01-12  Ojan Vafai  <ojan@chromium.org>
50
51         Implement flex-align
52         https://bugs.webkit.org/show_bug.cgi?id=75782
53
54         Reviewed by Tony Chang.
55
56         * css/CSSComputedStyleDeclaration.cpp:
57         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
58         Not 100% sure about this, but I think the computed value of
59         flex-item-align needs to take the parent's flex-align into
60         account for computed auto values.
61         * css/CSSParser.cpp:
62         (WebCore::CSSParser::parseValue):
63         * css/CSSProperty.cpp:
64         (WebCore::CSSProperty::isInheritedProperty):
65         * css/CSSPropertyNames.in:
66         * css/CSSStyleApplyProperty.cpp:
67         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
68         * css/CSSStyleSelector.cpp:
69         (WebCore::CSSStyleSelector::applyProperty):
70         * rendering/RenderBox.cpp:
71         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
72         * rendering/RenderFlexibleBox.cpp:
73         (WebCore::flexAlign):
74         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
75         (WebCore::RenderFlexibleBox::alignChildren):
76         * rendering/style/RenderStyle.h:
77         (WebCore::RenderStyleBitfields::flexAlign):
78         (WebCore::RenderStyleBitfields::setFlexAlign):
79         (WebCore::RenderStyleBitfields::initialFlexAlign):
80         (WebCore::RenderStyleBitfields::initialFlexItemAlign):
81         * rendering/style/StyleFlexibleBoxData.cpp:
82         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
83         (WebCore::StyleFlexibleBoxData::operator==):
84         * rendering/style/StyleFlexibleBoxData.h:
85
86 2012-01-13  Simon Fraser  <simon.fraser@apple.com>
87
88         Rename GraphicsContext* argument in various RenderLayer methods
89         https://bugs.webkit.org/show_bug.cgi?id=76283
90
91         Reviewed by James Robinson/Anders Carlsson.
92
93         Rename the GraphicsContext* parameter "p" in various RenderLayer
94         methods to "context". "p" was a historical name from when it was
95         called Painter.
96
97         * rendering/RenderLayer.cpp:
98         (WebCore::RenderLayer::beginTransparencyLayers):
99         (WebCore::RenderLayer::paint):
100         (WebCore::RenderLayer::paintOverlayScrollbars):
101         (WebCore::RenderLayer::restoreClip):
102         (WebCore::RenderLayer::paintLayer):
103         (WebCore::RenderLayer::paintLayerContentsAndReflection):
104         (WebCore::RenderLayer::paintLayerContents):
105         (WebCore::RenderLayer::paintList):
106
107 2012-01-13  Mihnea Ovidenie  <mihnea@adobe.com>
108
109         [CSSRegions]Add back region style code removed in r104036
110         https://bugs.webkit.org/show_bug.cgi?id=76064
111
112         Reviewed by David Hyatt.
113
114         No new tests. The region style tests are still skipped. A follow up patch will enable
115         both region style for background-color and region style tests.
116
117         * WebCore.exp.in:
118         * css/CSSStyleSelector.cpp:
119         (WebCore::RuleData::useInRegionStyle):
120         (WebCore::CSSStyleSelector::CSSStyleSelector):
121         (WebCore::CSSStyleSelector::addMatchedDeclaration):
122         (WebCore::CSSStyleSelector::matchRules):
123         (WebCore::CSSStyleSelector::matchAllRules):
124         (WebCore::CSSStyleSelector::initForRegionStyling):
125         (WebCore::CSSStyleSelector::initRegionRules):
126         (WebCore::CSSStyleSelector::styleForElement):
127         (WebCore::CSSStyleSelector::pseudoStyleForElement):
128         (WebCore::RuleData::RuleData):
129         (WebCore::RuleSet::RuleSet):
130         (WebCore::RuleSet::addToRuleSet):
131         (WebCore::CSSStyleSelector::applyDeclarations):
132         (WebCore::isValidRegionStyleProperty):
133         (WebCore::CSSStyleSelector::applyProperty):
134         * css/CSSStyleSelector.h:
135         (WebCore::CSSStyleSelector::setRegionForStyling):
136         (WebCore::CSSStyleSelector::regionForStyling):
137         (WebCore::CSSStyleSelector::applyPropertyToRegionStyle):
138         * rendering/RenderFlowThread.cpp:
139         (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
140         (WebCore::RenderFlowThread::setRegionRangeForBox):
141         * rendering/RenderFlowThread.h:
142         * rendering/RenderLayer.cpp:
143         (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
144         (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
145         (WebCore::RenderLayer::paint):
146         (WebCore::RenderLayer::hitTest):
147         * rendering/RenderObject.cpp:
148         (WebCore::RenderObject::styleInRegion):
149         * rendering/RenderObject.h:
150         (WebCore::RenderObject::canHaveRegionStyle):
151         * rendering/RenderObjectChildList.cpp:
152         (WebCore::RenderObjectChildList::removeChildNode):
153         * rendering/RenderRegion.cpp:
154         (WebCore::RenderRegion::renderObjectRegionStyle):
155         (WebCore::RenderRegion::computeStyleInRegion):
156         (WebCore::RenderRegion::clearObjectStyleInRegion):
157         * rendering/RenderRegion.h:
158         * rendering/RenderView.cpp:
159         (WebCore::RenderView::RenderView):
160         * rendering/RenderView.h:
161         (WebCore::RenderView::currentRenderRegion):
162         (WebCore::RenderView::setCurrentRenderRegion):
163
164 2012-01-13  Kenneth Russell  <kbr@google.com>
165
166         Unreviewed build fix; added project.pbxproj changes lost in r104954.
167         https://bugs.webkit.org/show_bug.cgi?id=75906
168
169         * WebCore.xcodeproj/project.pbxproj:
170
171 2012-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
172
173         TextureMapper: Extract layer transform logic to a LayerTransform class.
174         https://bugs.webkit.org/show_bug.cgi?id=76291
175
176         Reviewed by Noam Rosenthal.
177
178         * GNUmakefile.list.am:
179         * Target.pri:
180         * WebCore.gypi:
181         * platform/graphics/texmap/LayerTransform.cpp: Added.
182         (WebCore::LayerTransform::LayerTransform):
183         (WebCore::LayerTransform::setPosition):
184         (WebCore::LayerTransform::setSize):
185         (WebCore::LayerTransform::setAnchorPoint):
186         (WebCore::LayerTransform::setFlattening):
187         (WebCore::LayerTransform::setLocalTransform):
188         (WebCore::LayerTransform::setChildrenTransform):
189         (WebCore::LayerTransform::combined):
190         (WebCore::LayerTransform::combinedForChildren):
191         (WebCore::LayerTransform::combineTransforms):
192         (WebCore::LayerTransform::combineTransformsForChildren):
193         * platform/graphics/texmap/LayerTransform.h: Added.
194         * platform/graphics/texmap/TextureMapperNode.cpp:
195         (WebCore::TextureMapperNode::setTransform):
196         (WebCore::TextureMapperNode::computeTransformsRecursive):
197         (WebCore::TextureMapperNode::collectVisibleContentsRects):
198         (WebCore::TextureMapperNode::paintSelf):
199         (WebCore::TextureMapperNode::compareGraphicsLayersZValue):
200         (WebCore::TextureMapperNode::paintSelfAndChildren):
201         (WebCore::TextureMapperNode::paintReflection):
202         (WebCore::TextureMapperNode::syncCompositingStateSelf):
203         * platform/graphics/texmap/TextureMapperNode.h:
204         (WebCore::TextureMapperNode::TextureMapperNode):
205
206 2012-01-13  Kenneth Russell  <kbr@google.com>
207
208         Unreviewed, build fix for unused argument warning after r104954.
209         https://bugs.webkit.org/show_bug.cgi?id=75906
210
211         Also fixed up somebody's bad merge in Source/WebCore/ChangeLog.
212
213         * html/canvas/WebGLObject.cpp:
214         (WebCore::WebGLObject::WebGLObject):
215
216 2012-01-13  Raphael Kubo da Costa  <kubo@profusion.mobi>
217
218         [soup] Initialize m_soupFlags in all ResourceResponse constructors.
219
220         Rubber-stamped by Gustavo Noronha Silva.
221
222         m_soupFlags was being initialized in two of the three ResourceResponse
223         constructors, causing some trouble in
224         FrameLoaderClient::dispatchDidReceiveResponse (ports which use
225         ResourceRequest::setSoupMessageFlags with the response's unitialized
226         flags).
227
228         * platform/network/soup/ResourceResponse.h:
229         (WebCore::ResourceResponse::ResourceResponse):
230
231 2012-01-13  Alexey Proskuryakov  <ap@apple.com>
232
233         CFURLRef to KURL conversion shouldn't turn raw paths into file URLs
234         https://bugs.webkit.org/show_bug.cgi?id=76251
235
236         Reviewed by Dan Bernstein.
237
238         * platform/cf/KURLCFNet.cpp: (WebCore::KURL::KURL): Removed the offending code.
239
240 2012-01-13  Konrad Piascik  <kpiascik@rim.com>
241
242         Web Inspector: Disconnecting the front-end does not disable profiling.
243         https://bugs.webkit.org/show_bug.cgi?id=76213
244
245         Reviewed by Pavel Feldman.
246
247         Not testable.
248
249         * inspector/InspectorProfilerAgent.cpp:
250         (WebCore::InspectorProfilerAgent::clearFrontend):
251
252 2012-01-13  Andreas Kling  <awesomekling@apple.com>
253
254         JSC/DOM bindings: Reduce HandleHeap churn in cacheWrapper().
255         <http://webkit.org/b/76271>
256
257         Reviewed by Darin Adler.
258
259         Use JSC::Weak::swap() to move JSDOMWrappers into the DOMWrapperWorld's wrapper map.
260         This avoids invoking the JSC::Weak copy constructor and associated HandleHeap churn.
261
262         * bindings/js/JSDOMBinding.h:
263         (WebCore::cacheWrapper):
264
265 2012-01-13  Vsevolod Vlasov  <vsevik@chromium.org>
266
267         Web Inspector: [InspectorIndexedDB] Add InspectorIndexedDBAgent and IndexedDBModel, pass database names to inspector.
268         https://bugs.webkit.org/show_bug.cgi?id=76264
269
270         Reviewed by Pavel Feldman.
271
272         * CMakeLists.txt:
273         * WebCore.gypi:
274         * WebCore.vcproj/WebCore.vcproj:
275         * inspector/CodeGeneratorInspector.py:
276         * inspector/Inspector.json:
277         * inspector/InspectorController.cpp:
278         (WebCore::InspectorController::InspectorController):
279         * inspector/InspectorIndexedDBAgent.cpp: Added.
280         (WebCore::InspectorIndexedDBAgent::FrontendProvider::create):
281         (WebCore::InspectorIndexedDBAgent::FrontendProvider::~FrontendProvider):
282         (WebCore::InspectorIndexedDBAgent::FrontendProvider::frontend):
283         (WebCore::InspectorIndexedDBAgent::FrontendProvider::clearFrontend):
284         (WebCore::InspectorIndexedDBAgent::FrontendProvider::FrontendProvider):
285         (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
286         (WebCore::InspectorIndexedDBAgent::~InspectorIndexedDBAgent):
287         (WebCore::InspectorIndexedDBAgent::setFrontend):
288         (WebCore::InspectorIndexedDBAgent::clearFrontend):
289         (WebCore::InspectorIndexedDBAgent::restore):
290         (WebCore::InspectorIndexedDBAgent::enable):
291         (WebCore::InspectorIndexedDBAgent::disable):
292         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
293         * inspector/InspectorIndexedDBAgent.h: Added.
294         (WebCore::InspectorIndexedDBAgent::create):
295         * inspector/InspectorPageAgent.cpp:
296         (WebCore::InspectorPageAgent::buildObjectForFrame):
297         * inspector/compile-front-end.sh:
298         * inspector/front-end/IndexedDBModel.js: Added.
299         * inspector/front-end/ResourceTreeModel.js:
300         (WebInspector.ResourceTreeFrame):
301         (WebInspector.ResourceTreeFrame.prototype.get securityOrigin):
302         (WebInspector.ResourceTreeFrame.prototype._navigate):
303         * inspector/front-end/WebKit.qrc:
304         * inspector/front-end/inspector.html:
305
306 2012-01-13  Sheriff Bot  <webkit.review.bot@gmail.com>
307
308         Unreviewed, rolling out r104935.
309         http://trac.webkit.org/changeset/104935
310         https://bugs.webkit.org/show_bug.cgi?id=76277
311
312         Breaks AppleWin compilation (Requested by vsevik on #webkit).
313
314         * CMakeLists.txt:
315         * WebCore.gypi:
316         * WebCore.vcproj/WebCore.vcproj:
317         * inspector/CodeGeneratorInspector.py:
318         * inspector/Inspector.json:
319         * inspector/InspectorController.cpp:
320         (WebCore::InspectorController::InspectorController):
321         * inspector/InspectorIndexedDBAgent.cpp: Removed.
322         * inspector/InspectorIndexedDBAgent.h: Removed.
323         * inspector/InspectorPageAgent.cpp:
324         (WebCore::InspectorPageAgent::buildObjectForFrame):
325         * inspector/compile-front-end.sh:
326         * inspector/front-end/IndexedDBModel.js: Removed.
327         * inspector/front-end/ResourceTreeModel.js:
328         (WebInspector.ResourceTreeFrame):
329         (WebInspector.ResourceTreeFrame.prototype._navigate):
330         * inspector/front-end/WebKit.qrc:
331         * inspector/front-end/inspector.html:
332
333 2012-01-13  Vsevolod Vlasov  <vsevik@chromium.org>
334
335         Web Inspector: [InspectorIndexedDB] Add InspectorIndexedDBAgent and IndexedDBModel, pass database names to inspector.
336         https://bugs.webkit.org/show_bug.cgi?id=76264
337
338         Reviewed by Pavel Feldman.
339
340         * CMakeLists.txt:
341         * WebCore.gypi:
342         * WebCore.vcproj/WebCore.vcproj:
343         * inspector/CodeGeneratorInspector.py:
344         * inspector/Inspector.json:
345         * inspector/InspectorController.cpp:
346         (WebCore::InspectorController::InspectorController):
347         * inspector/InspectorIndexedDBAgent.cpp: Added.
348         (WebCore::InspectorIndexedDBAgent::FrontendProvider::create):
349         (WebCore::InspectorIndexedDBAgent::FrontendProvider::~FrontendProvider):
350         (WebCore::InspectorIndexedDBAgent::FrontendProvider::frontend):
351         (WebCore::InspectorIndexedDBAgent::FrontendProvider::clearFrontend):
352         (WebCore::InspectorIndexedDBAgent::FrontendProvider::FrontendProvider):
353         (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
354         (WebCore::InspectorIndexedDBAgent::~InspectorIndexedDBAgent):
355         (WebCore::InspectorIndexedDBAgent::setFrontend):
356         (WebCore::InspectorIndexedDBAgent::clearFrontend):
357         (WebCore::InspectorIndexedDBAgent::restore):
358         (WebCore::InspectorIndexedDBAgent::enable):
359         (WebCore::InspectorIndexedDBAgent::disable):
360         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
361         * inspector/InspectorIndexedDBAgent.h: Added.
362         (WebCore::InspectorIndexedDBAgent::create):
363         * inspector/InspectorPageAgent.cpp:
364         (WebCore::InspectorPageAgent::buildObjectForFrame):
365         * inspector/compile-front-end.sh:
366         * inspector/front-end/IndexedDBModel.js: Added.
367         * inspector/front-end/ResourceTreeModel.js:
368         (WebInspector.ResourceTreeFrame):
369         (WebInspector.ResourceTreeFrame.prototype.get securityOrigin):
370         (WebInspector.ResourceTreeFrame.prototype._navigate):
371         * inspector/front-end/WebKit.qrc:
372         * inspector/front-end/inspector.html:
373
374 2012-01-13  Simon Hausmann  <simon.hausmann@nokia.com>
375
376         [Qt] Fix build when using TextureMapper with OpenGL/ES
377         https://bugs.webkit.org/show_bug.cgi?id=76268
378
379         Reviewed by Tor Arne Vestbø.
380
381         * WebCore.pri: When the texture mapper uses OpenGL/ES, then it also relies on the
382         availability of libEGL by using eglGetCurrentContext(). In that case we need to link against
383         libEGL.
384
385 2012-01-13  Jochen Eisinger  <jochen@chromium.org>
386
387         Don't artifically keep IDBDatabase objects alive if there are no references to it.
388         https://bugs.webkit.org/show_bug.cgi?id=75859
389
390         Originally, this code was added to keep the IDBDatabase object alive
391         even if no reference from JavaScript to the object existed, because
392         running transactions could still send events for this database
393         connection. Meanwhile, transactions are marked as active DOM objects
394         during their lifetime, and they keep a RefPtr to the IDBDatabase
395         object, so this hack is no longer required.
396
397         Reviewed by Tony Gentilcore.
398
399         Test: storage/indexeddb/delete-closed-database-object.html
400
401         * storage/IDBDatabase.cpp:
402         * storage/IDBDatabase.h:
403
404 2012-01-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
405
406         TextureMapper: Do the node transform computation when painting.
407         https://bugs.webkit.org/show_bug.cgi?id=74721
408
409         Reviewed by Noam Rosenthal.
410
411         The transform of the node tree was built during the syncCompositingState
412         step. This would cause an ASSERT with QWebView, trying to use a dirty transform
413         state since the rootTextureMapperNode in QWebFramePrivate::renderCompositedLayers
414         doesn't run the sync step after getting the world transform set.
415
416         This moves the transform computation from the sync to the paint step to
417         prevent making sure that the sync step has been run on all nodes before painting.
418
419         * platform/graphics/texmap/TextureMapperNode.cpp:
420         (WebCore::TextureMapperNode::computeTransformsRecursive):
421         (WebCore::TextureMapperNode::computeTiles):
422         Remove an unused variable.
423         (WebCore::TextureMapperNode::paint):
424         (WebCore::TextureMapperNode::syncAnimationsRecursively):
425         (WebCore::TextureMapperNode::syncCompositingState):
426         * platform/graphics/texmap/TextureMapperNode.h:
427
428 2012-01-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
429
430         TextureMapper: Simplify transform manipulations.
431         https://bugs.webkit.org/show_bug.cgi?id=74719
432
433         Reviewed by Noam Rosenthal.
434
435         - Make sure that the replica node has a complete transform and
436           use it directly instead of keeping a copy in the source.
437         - Apply the origin and position translation only once, on the
438           target and descendants transforms.
439         - Use to2dTransform() on !preserves3D layers instead of doing
440           the flattening manually.
441         - Remove mentions of perspective as this is handled by WebCore
442           through the children transform.
443         - Apply the inverse target transform on the replica only where it
444           is needed in paintReflection since it uses the full transform in paintSelf.
445         - Merge the base and local transforms.
446
447         * platform/graphics/texmap/TextureMapperNode.cpp:
448         (WebCore::TextureMapperNode::setTransform):
449         (WebCore::TextureMapperNode::computeTransformsSelf):
450         (WebCore::TextureMapperNode::computeAllTransforms):
451         (WebCore::TextureMapperNode::paintSelf):
452         (WebCore::TextureMapperNode::paintReflection):
453         * platform/graphics/texmap/TextureMapperNode.h:
454
455 2012-01-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
456
457         TextureMapper: Fix the fillsForward transform adjustment in syncAnimations.
458         https://bugs.webkit.org/show_bug.cgi?id=76184
459
460         Reviewed by Noam Rosenthal.
461
462         Also make the intention clearer by using setTransform and setOpacity.
463
464         * platform/graphics/texmap/TextureMapperNode.cpp:
465         (WebCore::TextureMapperNode::syncAnimations):
466
467 2012-01-13  Vsevolod Vlasov  <vsevik@chromium.org>
468
469         Unreviewed inspector scripts navigator style fixes.
470
471         * inspector/front-end/scriptsPanel.css:
472         (#scripts-editor-container-tabbed-pane .tabbed-pane-header-tab):
473
474 2012-01-13  Jochen Eisinger  <jochen@chromium.org>
475
476         Once we prepared a script element for execution, execute it, even if the script element was meanwhile removed from the dom tree.
477         https://bugs.webkit.org/show_bug.cgi?id=76083
478
479         Reviewed by Adam Barth.
480
481         This bug was caught by the following IE Test Center test:
482
483         http://samples.msdn.microsoft.com/ietestcenter/HTML5/show_async_test.htm?11_RemovingAsyncScript
484
485         Test: http/tests/misc/async-script-removed.html
486               http/tests/misc/async-script.html
487
488         * dom/ScriptElement.cpp:
489         * dom/ScriptElement.h:
490         * dom/ScriptRunner.cpp:
491         (WebCore::ScriptRunner::queueScriptForExecution):
492         * html/HTMLScriptElement.cpp:
493         * html/HTMLScriptElement.h:
494         * svg/SVGScriptElement.cpp:
495         * svg/SVGScriptElement.h:
496
497 2012-01-12  Nikolas Zimmermann  <nzimmermann@rim.com>
498
499         Large SVG text layout performance regression in r81168
500         https://bugs.webkit.org/show_bug.cgi?id=65711
501
502         Reviewed by Antti Koivisto.
503
504         Finish SVGTextMetricsBuilder introduction, tested in my local svg-text-performance branch.
505         SVGTextMetricsBuilder has two public methods:
506         a) SVGTextMetricsBuilder::measureTextRenderer(RenderSVGInlineText*)
507            It will be used exclusively for non-initial, incremental layout changes. Once the inital
508            text layout ran, any mutation of eg. a child text node of a <tspan>, will only trigger
509            a rebuild of the layout attributes associated with the passed in renderer.
510
511         b) SVGTextMetricsBuilder::buildMetricsAndLayoutAttributes(RenderSVGText*, RenderSVGInlineText* stopAtLeaf, SVGCharacterDataMap& allCharactersMap)
512            stopAtLeaf=0:
513            This carries out the initial layout phase. It measures all characters of the whole <text> subtree, and stores the SVGTextMetrics for each character
514            in the SVGTextLayoutAttributes, stored in the RenderSVGInlineText object. It requires a SVGCharacterDataMap allCharactersMap as input argument,
515            which contains a HashMap<unsigned, {float x, y, dx, dy, rotate}>, which maps each character position to a set of x/y/dx/dy/rotate values.
516            The SVGCharacterDataMap living in SVGTextLayoutAttributes will be filled, from the global "allCharactersMap", so that each RenderSVGInlineText only
517            stores the positioning information for its children, if any.
518
519            Note: SVGTextMetricsBuilder is not yet deployed, so this talks about the design, once everything is landed.
520
521            stopAtLeaf!=0:
522            This is never used for the initial layout phase. If the initial layout is done, and eg. a <tspan> is added to the <text> subtree, we no longer
523            need to rebuild the metrics map & layout attributes for the whole tree, but only for the desired <tspan>, and its previous/next sibling, if present
524            (which may be affected by the inclusion of another node inbetween them).
525
526         SVGTextMetricsBuilder is now finished, and will be used in the next patch chunk.
527         Doesn't affect any tests yet.
528
529         * rendering/svg/SVGTextLayoutAttributes.h:
530         (WebCore::SVGTextLayoutAttributes::clear):
531         (WebCore::SVGCharacterData::SVGCharacterData):
532         * rendering/svg/SVGTextMetricsBuilder.cpp:
533         (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
534         (WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair):
535         (WebCore::SVGTextMetricsBuilder::advance):
536         (WebCore::SVGTextMetricsBuilder::advanceSimpleText):
537         (WebCore::SVGTextMetricsBuilder::advanceComplexText):
538         (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
539         (WebCore::MeasureTextData::MeasureTextData):
540         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
541         (WebCore::SVGTextMetricsBuilder::walkTree):
542         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
543         (WebCore::SVGTextMetricsBuilder::buildMetricsAndLayoutAttributes):
544         * rendering/svg/SVGTextMetricsBuilder.h:
545
546 2012-01-13  Pavel Feldman  <pfeldman@google.com>
547
548         Not reviewed: Fixing Win builders.
549
550         * inspector/DOMEditor.cpp:
551         (WebCore::DOMEditor::diff):
552
553 2012-01-13  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
554
555         [EFL] Add 'Copy Image Address' to context menu.
556         https://bugs.webkit.org/show_bug.cgi?id=76153
557
558         Reviewed by Andreas Kling.
559
560         Enables 'Copy Image Address' option to context menu in WebKit-EFL as it is enabled in GTK and QT ports.
561
562         * page/ContextMenuController.cpp:
563         (WebCore::ContextMenuController::contextMenuItemSelected):
564         (WebCore::ContextMenuController::populate):
565         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
566         * platform/ContextMenuItem.h:
567         * platform/LocalizationStrategy.h:
568         * platform/LocalizedStrings.cpp:
569         * platform/LocalizedStrings.h:
570         * platform/efl/LocalizedStringsEfl.cpp:
571         (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
572
573 2012-01-13  Pavel Feldman  <pfeldman@google.com>
574
575         Not reviewed: 32bit build fix.
576
577         * inspector/DOMEditor.cpp:
578         * inspector/DOMEditor.h:
579
580 2012-01-13  Mario Sanchez Prada  <msanchez@igalia.com>
581
582         Unreviewed, rolling out r104905.
583         http://trac.webkit.org/changeset/104905
584         https://bugs.webkit.org/show_bug.cgi?id=76267
585
586         This patch broke tests in the GTK 64bit Debug bot (Requested
587         by msanchez on #webkit).
588
589         * editing/gtk/FrameSelectionGtk.cpp:
590         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
591
592 2012-01-13  Pavel Feldman  <pfeldman@google.com>
593
594         Web Inspector: make HTML editing preserve node identity when node nesting level changes.
595         https://bugs.webkit.org/show_bug.cgi?id=76183
596
597         Reviewed by Yury Semikhatsky.
598
599         Test: inspector/elements/set-outer-html-2.html
600
601         * inspector/DOMEditor.cpp:
602         (WebCore::DOMEditor::patchDocument):
603         (WebCore::DOMEditor::patchNode):
604         (WebCore::DOMEditor::innerPatchHTMLElement):
605         (WebCore::DOMEditor::innerPatchNode):
606         (WebCore::DOMEditor::diff):
607         (WebCore::DOMEditor::innerPatchChildren):
608         (WebCore::DOMEditor::createDigest):
609         (WebCore::DOMEditor::insertBefore):
610         (WebCore::DOMEditor::removeChild):
611         (WebCore::DOMEditor::markNodeAsUsed):
612         (WebCore::DOMEditor::dumpMap):
613         * inspector/DOMEditor.h:
614         * inspector/InspectorDOMAgent.cpp:
615         (WebCore::InspectorDOMAgent::setOuterHTML):
616
617 2012-01-13  Shinya Kawanaka  <shinyak@google.com>
618
619         ShadowContentElement should be able to use query.
620         https://bugs.webkit.org/show_bug.cgi?id=75302
621
622         Reviewed by Hajime Morita.
623
624         This patch introduces a selector to query elements in ShadowContentElement.
625         This can be used instead of ShadowContentElement::shouldInclude in more sophisticated ways.
626
627         Tests: fast/dom/shadow/shadow-contents-select-expected.html
628                fast/dom/shadow/shadow-contents-select.html
629
630         * CMakeLists.txt:
631         * GNUmakefile.list.am:
632         * Target.pri:
633         * WebCore.gypi:
634         * WebCore.vcproj/WebCore.vcproj:
635         * WebCore.xcodeproj/project.pbxproj:
636         * dom/DOMAllInOne.cpp:
637         * dom/SelectorQuery.cpp:
638         (WebCore::SelectorDataList::SelectorDataList):
639           Extracted from SelectorQueryto share codes with ShadowContentSelectorQuery.
640         (WebCore::SelectorDataList::initialize):
641         (WebCore::SelectorDataList::matches):
642         (WebCore::SelectorDataList::queryAll):
643         (WebCore::SelectorDataList::queryFirst):
644         (WebCore::SelectorDataList::canUseIdLookup):
645         (WebCore::SelectorDataList::execute):
646         (WebCore::SelectorQuery::SelectorQuery):
647         (WebCore::SelectorQuery::queryAll):
648         (WebCore::SelectorQuery::queryFirst):
649         * dom/SelectorQuery.h:
650         (WebCore::SelectorDataList::size):
651         * dom/ShadowContentElement.cpp:
652         (WebCore::ShadowContentElement::select):
653         (WebCore::ShadowContentElement::setSelect):
654         * dom/ShadowContentElement.h:
655         * dom/ShadowContentSelectorQuery.cpp: Added.
656         (WebCore::ShadowContentSelectorQuery::ShadowContentSelectorQuery):
657         (WebCore::ShadowContentSelectorQuery::matches):
658           Returns true if Node is matched by the query.
659         * dom/ShadowContentSelectorQuery.h: Copied from Source/WebCore/dom/ShadowContentElement.h.
660         * dom/ShadowInclusionSelector.cpp:
661         (WebCore::ShadowInclusionSelector::select):
662         * dom/ShadowInclusionSelector.h:
663         * html/HTMLAttributeNames.in:
664         * html/HTMLDetailsElement.cpp:
665         (WebCore::summaryQuerySelector):
666         (WebCore::DetailsContentElement::DetailsContentElement): Re-implemented using query.
667         (WebCore::DetailsSummaryElement::DetailsSummaryElement): ditto.
668
669 2012-01-13  Ilya Tikhonovsky  <loislo@chromium.org>
670
671         Web Inspector: Detailed heap snapshot. _calculateFlags is too slow on a large heap snapshot.
672         https://bugs.webkit.org/show_bug.cgi?id=76252
673
674         _calculateFlags speed is about 10k edges per second.
675         It requires 150sec for the snapshot with 1.5m edges.
676         The root of problem is var node = list.shift();
677         shift() is not effective in term of memory and cpu.
678         In our case it can be replaced with pop().
679         Now the function works 40 times faster.
680
681         Drive by change: if statement was reformatted a bit for better readability.
682
683         Reviewed by Yury Semikhatsky.
684
685         * inspector/front-end/HeapSnapshot.js:
686         (WebInspector.HeapSnapshot.prototype._calculateFlags):
687
688 2012-01-13  Alexander Pavlov  <apavlov@chromium.org>
689
690         Web Inspector: [Chromium] JavaScriptOutlineDialog fails to open
691         https://bugs.webkit.org/show_bug.cgi?id=76259
692
693         Reviewed by Yury Semikhatsky.
694
695         * WebCore.gypi:
696
697 2012-01-13  Kentaro Hara  <haraken@chromium.org>
698
699         text-decorations should not be propagated to floating, absolutely or fixed
700         positioned decendants
701         https://bugs.webkit.org/show_bug.cgi?id=18611
702
703         Reviewed by Darin Adler.
704
705         Previously text-decorations were propagated to all child elements,
706         but they should not be propagated to out-of-flow descendants,
707         i.e. floating, absolutely or fixed positioned elements.
708
709         The spec says "text decorations are not propagated to any out-of-flow descendants":
710         http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
711
712         Test: fast/css/text-decoration-in-descendants.html
713
714         * rendering/RenderObject.cpp:
715         (WebCore::RenderObject::getTextDecorationColors):
716
717 2012-01-13  Kent Tamura  <tkent@chromium.org>
718
719         REGRESSION (r104668): Crash in HTMLFormElement destructor if the
720         document contains radio groups with the identical name.
721         https://bugs.webkit.org/show_bug.cgi?id=76206
722
723         Reviewed by Darin Adler.
724
725         Test: fast/forms/radio/radio-group-document-destruction.html
726
727         * html/HTMLInputElement.cpp:
728         (WebCore::HTMLInputElement::~HTMLInputElement):
729         setForm(0) may register this to a document-level radio button group.
730         We need to unregister this from the group because
731         Document::checkedRadioButtons() is still accessible from other objects.
732
733 2012-01-13  Mario Sanchez Prada  <msanchez@igalia.com>
734
735         [GTK] ATK text-caret-moved and text-selection-changed events not being emitted
736         https://bugs.webkit.org/show_bug.cgi?id=76069
737
738         Reviewed by Martin Robinson.
739
740         Fix bug introduced with patch for Bug 72830.
741
742         * editing/gtk/FrameSelectionGtk.cpp:
743         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
744         Pass the right accessibility object associated with the current
745         selection to objectFocusedAndCaretOffsetUnignored.
746
747 2012-01-13  Alexandru Chiculita  <achicu@adobe.com>
748
749         Refactor RenderLayerBacking::paintIntoLayer and RenderLayer::paintLayer()/paintLayerContents() to avoid duplicate code
750         https://bugs.webkit.org/show_bug.cgi?id=75983
751
752         Reviewed by Simon Fraser.
753
754         No new tests, just merging two duplicate methods.
755
756         * rendering/RenderLayer.cpp:
757         (WebCore::RenderLayer::paintLayer):
758             This method is used only in non-composited mode, so I've moved the check for composited mode much earlier.
759
760         (WebCore::RenderLayer::paintLayerContentsAndReflection):
761             Also used just in non-composited mode, it will draw the reflection and then just call paintLayerContents.
762
763         (WebCore::RenderLayer::paintLayerContents):
764             Old method, that is now used by both composited and non-composited mode. I've added 3 more flags used to render the
765             Graphics layers: Background, Foreground and Mask.
766
767         * rendering/RenderLayer.h:
768         * rendering/RenderLayerBacking.cpp:
769         (WebCore::RenderLayerBacking::paintIntoLayer):
770             Removed all the code and delegated the work to RenderLayer::paintLayerContents.
771
772 2012-01-12  Gavin Barraclough  <barraclough@apple.com>
773
774         Clean up putDirect (part 2)
775         https://bugs.webkit.org/show_bug.cgi?id=76232
776
777         Reviewed by Sam Weinig.
778
779         Rename putWithAttributes to putDirectVirtual.
780
781         * bindings/js/JSDOMWindowShell.cpp:
782         (WebCore::JSDOMWindowShell::putDirectVirtual):
783         * bindings/js/JSDOMWindowShell.h:
784
785 2012-01-12  MORITA Hajime  <morrita@google.com>
786
787         [Chromium] JSExportMacros.h should be visible.
788         https://bugs.webkit.org/show_bug.cgi?id=76147
789
790         Reviewed by Tony Chang.
791
792         No new tests. No behavior change.
793
794         * config.h:
795
796 2012-01-12  ChangSeok Oh  <shivamidow@gmail.com>
797
798         Split GraphicsContext3DOpenGL into several files
799         https://bugs.webkit.org/show_bug.cgi?id=75462
800
801         Reviewed by Kenneth Russell.
802
803         Split GraphicsContext3DOpenGL.cpp into three files, GraphicsContext3DOpenGLCommon.cpp,
804         GraphicsContext3DOpenGL.cpp & GraphicsContext3DOpenGLES.cpp so that makes gles support possible
805         for WebGL etc. Most of common APIs between gl and gles are in GraphicsContext3DOpenGLCommon.cpp.
806         The other gl and gles specific APIs are placed apart in GraphicsContext3DOpenGL.cpp &
807         GraphicsContext3DOpenGLES.cpp
808
809         No new tests required.
810
811         * GNUmakefile.list.am: Added GraphicsContext3DOpenGLCommon.cpp
812         * Target.pri: Added GraphicsContext3DOpenGLCommon.cpp
813         * WebCore.gypi: Added GraphicsContext3DOpenGLCommon.cpp
814         * WebCore.xcodeproj/project.pbxproj: Added GraphicsContext3DOpenGLCommon.cpp
815         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
816         (WebCore::GraphicsContext3D::readPixels):
817         (WebCore::GraphicsContext3D::renderbufferStorage):
818         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: Copied from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp.
819         (WebCore::GraphicsContext3D::validateAttributes):
820         (WebCore::GraphicsContext3D::isResourceSafe):
821         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
822         (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
823         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
824         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
825         (WebCore::GraphicsContext3D::activeTexture):
826         (WebCore::GraphicsContext3D::attachShader):
827         (WebCore::GraphicsContext3D::bindAttribLocation):
828         (WebCore::GraphicsContext3D::bindBuffer):
829         (WebCore::GraphicsContext3D::bindRenderbuffer):
830         (WebCore::GraphicsContext3D::bindTexture):
831         (WebCore::GraphicsContext3D::blendColor):
832         (WebCore::GraphicsContext3D::blendEquation):
833         (WebCore::GraphicsContext3D::blendEquationSeparate):
834         (WebCore::GraphicsContext3D::blendFunc):
835         (WebCore::GraphicsContext3D::blendFuncSeparate):
836         (WebCore::GraphicsContext3D::bufferData):
837         (WebCore::GraphicsContext3D::bufferSubData):
838         (WebCore::GraphicsContext3D::checkFramebufferStatus):
839         (WebCore::GraphicsContext3D::clearColor):
840         (WebCore::GraphicsContext3D::clear):
841         (WebCore::GraphicsContext3D::clearDepth):
842         (WebCore::GraphicsContext3D::clearStencil):
843         (WebCore::GraphicsContext3D::colorMask):
844         (WebCore::GraphicsContext3D::compileShader):
845         (WebCore::GraphicsContext3D::cullFace):
846         (WebCore::GraphicsContext3D::depthFunc):
847         (WebCore::GraphicsContext3D::depthMask):
848         (WebCore::GraphicsContext3D::depthRange):
849         (WebCore::GraphicsContext3D::detachShader):
850         (WebCore::GraphicsContext3D::disable):
851         (WebCore::GraphicsContext3D::disableVertexAttribArray):
852         (WebCore::GraphicsContext3D::drawArrays):
853         (WebCore::GraphicsContext3D::drawElements):
854         (WebCore::GraphicsContext3D::enable):
855         (WebCore::GraphicsContext3D::enableVertexAttribArray):
856         (WebCore::GraphicsContext3D::finish):
857         (WebCore::GraphicsContext3D::flush):
858         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
859         (WebCore::GraphicsContext3D::framebufferTexture2D):
860         (WebCore::GraphicsContext3D::frontFace):
861         (WebCore::GraphicsContext3D::generateMipmap):
862         (WebCore::GraphicsContext3D::getActiveAttrib):
863         (WebCore::GraphicsContext3D::getAttachedShaders):
864         (WebCore::GraphicsContext3D::getAttribLocation):
865         (WebCore::GraphicsContext3D::getContextAttributes):
866         (WebCore::GraphicsContext3D::getError):
867         (WebCore::GraphicsContext3D::getString):
868         (WebCore::GraphicsContext3D::hint):
869         (WebCore::GraphicsContext3D::isBuffer):
870         (WebCore::GraphicsContext3D::isEnabled):
871         (WebCore::GraphicsContext3D::isFramebuffer):
872         (WebCore::GraphicsContext3D::isProgram):
873         (WebCore::GraphicsContext3D::isRenderbuffer):
874         (WebCore::GraphicsContext3D::isShader):
875         (WebCore::GraphicsContext3D::isTexture):
876         (WebCore::GraphicsContext3D::lineWidth):
877         (WebCore::GraphicsContext3D::linkProgram):
878         (WebCore::GraphicsContext3D::pixelStorei):
879         (WebCore::GraphicsContext3D::polygonOffset):
880         (WebCore::GraphicsContext3D::releaseShaderCompiler):
881         (WebCore::GraphicsContext3D::sampleCoverage):
882         (WebCore::GraphicsContext3D::scissor):
883         (WebCore::GraphicsContext3D::shaderSource):
884         (WebCore::GraphicsContext3D::stencilFunc):
885         (WebCore::GraphicsContext3D::stencilFuncSeparate):
886         (WebCore::GraphicsContext3D::stencilMask):
887         (WebCore::GraphicsContext3D::stencilMaskSeparate):
888         (WebCore::GraphicsContext3D::stencilOp):
889         (WebCore::GraphicsContext3D::stencilOpSeparate):
890         (WebCore::GraphicsContext3D::texParameterf):
891         (WebCore::GraphicsContext3D::texParameteri):
892         (WebCore::GraphicsContext3D::uniform1f):
893         (WebCore::GraphicsContext3D::uniform1fv):
894         (WebCore::GraphicsContext3D::uniform2f):
895         (WebCore::GraphicsContext3D::uniform2fv):
896         (WebCore::GraphicsContext3D::uniform3f):
897         (WebCore::GraphicsContext3D::uniform3fv):
898         (WebCore::GraphicsContext3D::uniform4f):
899         (WebCore::GraphicsContext3D::uniform4fv):
900         (WebCore::GraphicsContext3D::uniform1i):
901         (WebCore::GraphicsContext3D::uniform1iv):
902         (WebCore::GraphicsContext3D::uniform2i):
903         (WebCore::GraphicsContext3D::uniform2iv):
904         (WebCore::GraphicsContext3D::uniform3i):
905         (WebCore::GraphicsContext3D::uniform3iv):
906         (WebCore::GraphicsContext3D::uniform4i):
907         (WebCore::GraphicsContext3D::uniform4iv):
908         (WebCore::GraphicsContext3D::uniformMatrix2fv):
909         (WebCore::GraphicsContext3D::uniformMatrix3fv):
910         (WebCore::GraphicsContext3D::uniformMatrix4fv):
911         (WebCore::GraphicsContext3D::useProgram):
912         (WebCore::GraphicsContext3D::validateProgram):
913         (WebCore::GraphicsContext3D::vertexAttrib1f):
914         (WebCore::GraphicsContext3D::vertexAttrib1fv):
915         (WebCore::GraphicsContext3D::vertexAttrib2f):
916         (WebCore::GraphicsContext3D::vertexAttrib2fv):
917         (WebCore::GraphicsContext3D::vertexAttrib3f):
918         (WebCore::GraphicsContext3D::vertexAttrib3fv):
919         (WebCore::GraphicsContext3D::vertexAttrib4f):
920         (WebCore::GraphicsContext3D::vertexAttrib4fv):
921         (WebCore::GraphicsContext3D::vertexAttribPointer):
922         (WebCore::GraphicsContext3D::viewport):
923         (WebCore::GraphicsContext3D::getBooleanv):
924         (WebCore::GraphicsContext3D::getBufferParameteriv):
925         (WebCore::GraphicsContext3D::getFloatv):
926         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
927         (WebCore::GraphicsContext3D::getProgramiv):
928         (WebCore::GraphicsContext3D::getProgramInfoLog):
929         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
930         (WebCore::GraphicsContext3D::getShaderiv):
931         (WebCore::GraphicsContext3D::getShaderInfoLog):
932         (WebCore::GraphicsContext3D::getShaderSource):
933         (WebCore::GraphicsContext3D::getTexParameterfv):
934         (WebCore::GraphicsContext3D::getTexParameteriv):
935         (WebCore::GraphicsContext3D::getUniformfv):
936         (WebCore::GraphicsContext3D::getUniformiv):
937         (WebCore::GraphicsContext3D::getUniformLocation):
938         (WebCore::GraphicsContext3D::getVertexAttribfv):
939         (WebCore::GraphicsContext3D::getVertexAttribiv):
940         (WebCore::GraphicsContext3D::getVertexAttribOffset):
941         (WebCore::GraphicsContext3D::texSubImage2D):
942         (WebCore::GraphicsContext3D::compressedTexImage2D):
943         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
944         (WebCore::GraphicsContext3D::createBuffer):
945         (WebCore::GraphicsContext3D::createFramebuffer):
946         (WebCore::GraphicsContext3D::createProgram):
947         (WebCore::GraphicsContext3D::createRenderbuffer):
948         (WebCore::GraphicsContext3D::createShader):
949         (WebCore::GraphicsContext3D::createTexture):
950         (WebCore::GraphicsContext3D::deleteBuffer):
951         (WebCore::GraphicsContext3D::deleteFramebuffer):
952         (WebCore::GraphicsContext3D::deleteProgram):
953         (WebCore::GraphicsContext3D::deleteRenderbuffer):
954         (WebCore::GraphicsContext3D::deleteShader):
955         (WebCore::GraphicsContext3D::deleteTexture):
956         (WebCore::GraphicsContext3D::synthesizeGLError):
957         (WebCore::GraphicsContext3D::markContextChanged):
958         (WebCore::GraphicsContext3D::markLayerComposited):
959         (WebCore::GraphicsContext3D::layerComposited):
960         (WebCore::GraphicsContext3D::getExtensions):
961         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: Added.
962         (WebCore::GraphicsContext3D::readRenderingResults):
963         (WebCore::GraphicsContext3D::reshape):
964         (WebCore::GraphicsContext3D::prepareTexture):
965         (WebCore::GraphicsContext3D::bindFramebuffer):
966         (WebCore::GraphicsContext3D::copyTexImage2D):
967         (WebCore::GraphicsContext3D::copyTexSubImage2D):
968         (WebCore::GraphicsContext3D::getActiveUniform):
969         (WebCore::GraphicsContext3D::readPixels):
970         (WebCore::GraphicsContext3D::renderbufferStorage):
971         (WebCore::GraphicsContext3D::getIntegerv):
972         (WebCore::GraphicsContext3D::texImage2D):
973
974 2012-01-12  Wei James  <james.wei@intel.com>
975
976         Add vsma in VectorMath to handle vector scale multiply and add and use it in AudioBus
977         https://bugs.webkit.org/show_bug.cgi?id=75835
978
979         When summing a audio bus, the source is multiplied with the scale and
980         then summed into the destination bus. Add this function to fulfill it.
981
982         Reviewed by Kenneth Russell.
983
984         * platform/audio/AudioBus.cpp:
985         * platform/audio/VectorMath.cpp:
986         (WebCore::VectorMath::vsma):
987         * platform/audio/VectorMath.h:
988
989 2012-01-12  James Simonsen  <simonjam@chromium.org>
990
991         Web Inspector: [Chomium] Resources loaded with 304 status code have receiving time of 15000 days in network panel.
992         https://bugs.webkit.org/show_bug.cgi?id=76176
993
994         Reviewed by Nate Chapin.
995
996         No new tests. Can't trigger this with inspector tests. Will add one when the Resource Timing API is in.
997
998         * loader/SubresourceLoader.cpp:
999         (WebCore::SubresourceLoader::didReceiveResponse): Use monotonic time.
1000
1001 2012-01-12  Alexey Proskuryakov  <ap@apple.com>
1002
1003         NSURL to KURL conversion shouldn't turn raw paths into file URLs
1004         https://bugs.webkit.org/show_bug.cgi?id=76234
1005
1006         Reviewed by Darin Adler.
1007
1008         * platform/mac/KURLMac.mm: (WebCore::KURL::KURL): Removed this code.
1009
1010 2012-01-12  Anders Carlsson  <andersca@apple.com>
1011
1012         Create a GraphicsLayer for the overhang areas if threaded scrolling is enabled
1013         https://bugs.webkit.org/show_bug.cgi?id=76220
1014
1015         Reviewed by Simon Fraser.
1016
1017         * page/FrameView.cpp:
1018         Remove PLATFORM(CHROMIUM) #ifdefs.
1019
1020         * page/FrameView.h:
1021         Ditto.
1022
1023         * platform/ScrollView.cpp:
1024         (WebCore::ScrollView::wheelEvent):
1025         Ditto.
1026
1027         * platform/ScrollableArea.h:
1028         Ditto.
1029
1030         * rendering/RenderLayerCompositor.cpp:
1031         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
1032         Ditto.
1033
1034         (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
1035         Make this return true if we have a scrolling coordinator.
1036
1037         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1038         Remove PLATFORM(CHROMIUM) #ifdefs. Fix a bug the overhang layer was being added above the clip layer.
1039
1040         (WebCore::RenderLayerCompositor::destroyRootLayer):
1041         Remove PLATFORM(CHROMIUM) #ifdefs.
1042         
1043         * rendering/RenderLayerCompositor.h:
1044         Ditto.
1045
1046 2012-01-12  Kenichi Ishibashi  <bashi@chromium.org>
1047
1048         Move SimpleFontDataSkia.cpp to Source/WebCore/platform/graphics/skia
1049         https://bugs.webkit.org/show_bug.cgi?id=76155
1050
1051         Reviewed by Tony Chang.
1052
1053         No new tests. No behavior change.
1054
1055         * PlatformBlackBerry.cmake:
1056         * WebCore.gyp/WebCore.gyp:
1057         * WebCore.gypi:
1058         * platform/graphics/skia/SimpleFontDataSkia.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/SimpleFontDataSkia.cpp.
1059         (WebCore::SimpleFontData::platformInit):
1060         (WebCore::SimpleFontData::platformCharWidthInit):
1061         (WebCore::SimpleFontData::platformDestroy):
1062         (WebCore::SimpleFontData::createScaledFontData):
1063         (WebCore::SimpleFontData::smallCapsFontData):
1064         (WebCore::SimpleFontData::emphasisMarkFontData):
1065         (WebCore::SimpleFontData::containsCharacters):
1066         (WebCore::SimpleFontData::determinePitch):
1067         (WebCore::SimpleFontData::platformBoundsForGlyph):
1068         (WebCore::SimpleFontData::platformWidthForGlyph):
1069
1070 2012-01-12  Benjamin Poulain  <bpoulain@apple.com>
1071
1072         A Frame with frame flattening can be stuck in a state in which performPostLayoutTasks() is never executed
1073         https://bugs.webkit.org/show_bug.cgi?id=76154
1074
1075         Reviewed by Beth Dakin.
1076
1077         In a frame with inSubframeLayoutWithFrameFlattening == true, if
1078         -m_hasPendingPostLayoutTasks == true
1079         -FrameView::unscheduleRelayout() is executed
1080         -->the timer m_postLayoutTasksTimer is stopped
1081         -->no timer is scheduled due to m_hasPendingPostLayoutTasks == true && inSubframeLayoutWithFrameFlattening == true
1082
1083         This patch revert the handling of the postLayoutTasks to its state prior to r66552.
1084
1085         The timer itself is used as the only state to know if post layout tasks are scheduled.
1086
1087         For the case without frame flattening:
1088         -Prior to this patch, when FrameView::unscheduleRelayout() was executed, the postLayoutTasksTimer was killed,
1089         and the post layout tasks would be executed during the next layout().
1090         -After this patch, the post layout tasks stay scheduled and are executed on the next event loop if layout()
1091         was not invoked before.
1092
1093         * page/FrameView.cpp:
1094         (WebCore::FrameView::FrameView):
1095         (WebCore::FrameView::~FrameView):
1096         (WebCore::FrameView::reset):
1097         (WebCore::FrameView::layout):
1098         (WebCore::FrameView::unscheduleRelayout):
1099         (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
1100         (WebCore::FrameView::performPostLayoutTasks):
1101         * page/FrameView.h:
1102
1103 2012-01-12  Yongjun Zhang  <yongjun_zhang@apple.com>
1104
1105         Reviewed by Benjamin Poulain.
1106
1107         https://bugs.webkit.org/show_bug.cgi?id=75991
1108         Make the code in MemoryPressureHandler::respondToMemoryPressure shareable.
1109
1110         Move memory pressure handling code inside a new function (releaseMemory) so that
1111         we could shared it between mac and iOS.
1112
1113         * Configurations/WebCore.xcconfig: add MemoryPressureHandlerMac.mm into iOS build.
1114         * platform/MemoryPressureHandler.h:
1115         * platform/mac/MemoryPressureHandlerMac.mm:
1116         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1117         (WebCore::MemoryPressureHandler::releaseMemory):
1118
1119 2012-01-12  Eric Seidel  <eric@webkit.org>
1120
1121         Refactor DOMImplementation.hasFeature logic into helper functions.
1122         https://bugs.webkit.org/show_bug.cgi?id=76212
1123
1124         Reviewed by Adam Barth.
1125
1126         This patch should not have any behavior change.  The goal was
1127         to move our feature detection towards a more modular architecture
1128         (as that seems to be the current trend in webkit).  In a future
1129         patch we could easily move the SVG feature detection into the
1130         SVG directory, for example.  I've also added a list of all the
1131         Event3 features (currently commented out) which makes it obvious
1132         how many we're missing.
1133
1134         * dom/DOMImplementation.cpp:
1135         (WebCore::isSVG10Feature):
1136         (WebCore::isSVG11Feature):
1137         (WebCore::isEvents2Feature):
1138         (WebCore::isEvents3Feature):
1139         (WebCore::DOMImplementation::hasFeature):
1140
1141 2012-01-12  Adam Barth  <abarth@webkit.org>
1142
1143         NodeIterator loses track of the reference node when the reference node is removed from the document (IETC ni_removeReferenceNode)
1144         https://bugs.webkit.org/show_bug.cgi?id=76146
1145
1146         Reviewed by Eric Seidel.
1147
1148         In the case where we're removing the reference node we can end up with
1149         the wrong reference node.  This patch makes sure we traverse outside of
1150         the removed node's subtree.
1151
1152         This bug was caught by the following IE Test Center test:
1153
1154         http://samples.msdn.microsoft.com/ietestcenter/domtraversal/showdomtraversaltest.htm?ni_removeReferenceNode
1155
1156         Our new behavior also match Firefox.
1157
1158         I experimented a bit with adding ASSERT_NOT_REACHED to various branches
1159         in NodeIterator::updateForNodeRemoval, and it seems our test coverage
1160         for this function is relatively poor.  In the future, we should
1161         consider adding more tests for this complicated function.
1162
1163         Test: fast/dom/node-iterator-reference-node-removed.html
1164
1165         * dom/NodeIterator.cpp:
1166         (WebCore::NodeIterator::updateForNodeRemoval):
1167
1168 2012-01-12  Joshua Bell  <jsbell@chromium.org>
1169
1170         IndexedDB: Throw exception if IDBCursor.continue() called with key equal to current
1171         https://bugs.webkit.org/show_bug.cgi?id=76100
1172
1173         The fix for https://bugs.webkit.org/show_bug.cgi?id=74213 missed the "or equal" clause
1174         in the spec.
1175
1176         Reviewed by Tony Chang.
1177
1178         Test: storage/indexeddb/cursor-continue.html
1179
1180         * storage/IDBCursorBackendImpl.cpp:
1181         (WebCore::IDBCursorBackendImpl::continueFunction):
1182
1183 2012-01-12  Jon Lee  <jonlee@apple.com>
1184
1185         Setting value on a select element to a non existing option value should clear selection
1186         https://bugs.webkit.org/show_bug.cgi?id=67233
1187         <rdar://problem/10057159>
1188
1189         Reviewed by Darin Adler.
1190
1191         Test: fast/forms/select/setting-to-invalid-value.html
1192
1193         * html/HTMLSelectElement.cpp:
1194         (WebCore::HTMLSelectElement::setValue): Clear the selection in the cases where we cannot
1195         find an option with the specified value. The spec states to clear the selectedness of all
1196         options first. To avoid calling setSelectedIndex() multiple times, we clear the selected
1197         option(s) only when don't find the appropriate option.
1198
1199         Also, correct the sentence style of a comment.
1200
1201 2012-01-12  Jer Noble  <jer.noble@apple.com>
1202
1203         Unreviewed build fix after r104858.
1204
1205         NSDataReadingMappedIfSafe is not defined on <= 10.6.  Use NSDataReadingMapped on that platform instead.
1206
1207         * platform/audio/mac/AudioBusMac.mm:
1208         (WebCore::AudioBus::loadPlatformResource):
1209
1210 2012-01-12  Dana Jansens  <danakj@chromium.org>
1211
1212         [skia] Track a simple opaque area when painting via PlatformContextSkia and save in LayerTextureUpdater
1213         https://bugs.webkit.org/show_bug.cgi?id=74352
1214
1215         Reviewed by Stephen White.
1216
1217         New unit tests in PlatformContextSkiaTest.cpp
1218
1219         * WebCore.gypi:
1220         * platform/graphics/skia/GraphicsContextSkia.cpp:
1221         (WebCore::GraphicsContext::clearRect):
1222         (WebCore::GraphicsContext::drawConvexPolygon):
1223         (WebCore::GraphicsContext::drawEllipse):
1224         (WebCore::drawOuterPath):
1225         (WebCore::drawInnerPath):
1226         (WebCore::GraphicsContext::drawFocusRing):
1227         (WebCore::GraphicsContext::drawLine):
1228         (WebCore::GraphicsContext::drawLineForTextChecking):
1229         (WebCore::GraphicsContext::drawLineForText):
1230         (WebCore::GraphicsContext::fillPath):
1231         (WebCore::GraphicsContext::fillRect):
1232         (WebCore::GraphicsContext::fillRoundedRect):
1233         (WebCore::GraphicsContext::strokeArc):
1234         (WebCore::GraphicsContext::strokePath):
1235         (WebCore::GraphicsContext::strokeRect):
1236         * platform/graphics/skia/ImageSkia.cpp:
1237         (WebCore::paintSkBitmap):
1238         * platform/graphics/skia/OpaqueRegionSkia.cpp: Added.
1239         (WebCore::OpaqueRegionSkia::OpaqueRegionSkia):
1240         (WebCore::OpaqueRegionSkia::~OpaqueRegionSkia):
1241         (WebCore::OpaqueRegionSkia::asRect):
1242         (WebCore::xfermodeIsOpaque):
1243         (WebCore::xfermodePreservesOpaque):
1244         (WebCore::paintIsOpaque):
1245         (WebCore::OpaqueRegionSkia::didDrawRect):
1246         (WebCore::OpaqueRegionSkia::didDrawPath):
1247         (WebCore::OpaqueRegionSkia::didDrawPoints):
1248         (WebCore::OpaqueRegionSkia::didDrawBounded):
1249         (WebCore::OpaqueRegionSkia::didDraw):
1250         (WebCore::OpaqueRegionSkia::didDrawUnbounded):
1251         (WebCore::OpaqueRegionSkia::markRectAsOpaque):
1252         (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
1253         * platform/graphics/skia/OpaqueRegionSkia.h: Added.
1254         * platform/graphics/skia/PlatformContextSkia.cpp:
1255         (WebCore::PlatformContextSkia::PlatformContextSkia):
1256         (WebCore::PlatformContextSkia::clippedToImage):
1257         (WebCore::PlatformContextSkia::drawRect):
1258         (WebCore::PlatformContextSkia::paintSkPaint):
1259         (WebCore::PlatformContextSkia::didDrawRect):
1260         (WebCore::PlatformContextSkia::didDrawPath):
1261         (WebCore::PlatformContextSkia::didDrawPoints):
1262         (WebCore::PlatformContextSkia::didDrawBounded):
1263         * platform/graphics/skia/PlatformContextSkia.h:
1264         (WebCore::PlatformContextSkia::setTrackOpaqueRegion):
1265         (WebCore::PlatformContextSkia::opaqueRegion):
1266
1267 2012-01-12  Beth Dakin  <bdakin@apple.com>
1268
1269         https://bugs.webkit.org/show_bug.cgi?id=76209
1270         Support expanded scrollbars
1271         -and corresponding-
1272         <rdar://problem/10527734>
1273
1274         Reviewed by Sam Weinig.
1275
1276         All this really requires is leaving the proper amount of space for the 
1277         expanded width.
1278         * platform/mac/NSScrollerImpDetails.h:
1279         * platform/mac/ScrollbarThemeMac.mm:
1280         (WebCore::supportsExpandedScrollbars):
1281         (WebCore::ScrollbarThemeMac::scrollbarThickness):
1282
1283 2011-12-12  Jer Noble  <jer.noble@apple.com>
1284
1285         WebAudio: Enable USE_CONCATENATED_IMPULSE_RESPONSES on Mac port.
1286         https://bugs.webkit.org/show_bug.cgi?id=74328
1287
1288         Reviewed by Eric Carlson.
1289
1290         No new tests; no net change in functionality.
1291
1292         * WebCore.xcodeproj/project.pbxproj: Added SincResampler class, Composite.wav to the project.
1293             Removed IRC_*.wav resources from the project.
1294         * platform/audio/AudioBus.cpp:
1295         (WebCore::AudioBus::createBySampleRateConverting): Uncommented this function
1296         * platform/audio/AudioBus.h:
1297         * platform/audio/HRTFElevation.cpp:
1298
1299 2011-12-12  Jer Noble  <jer.noble@apple.com>
1300
1301         WebAudio: AudioBus::loadPlatformResource should mmap file on Mac port.
1302         https://bugs.webkit.org/show_bug.cgi?id=74326
1303
1304         Reviewed by Darin Adler.
1305
1306         No new tests; no net change in functionality.
1307
1308         Use NSDataReadingMappedIfSafe when reading platform audio file data.
1309
1310         * platform/audio/mac/AudioBusMac.mm:
1311         (WebCore::AudioBus::loadPlatformResource):
1312
1313 2011-12-12  Jer Noble  <jer.noble@apple.com>
1314
1315         WebAudio: Use Logging instead of printf.
1316         https://bugs.webkit.org/show_bug.cgi?id=74322
1317
1318         Reviewed by Darin Adler.
1319
1320         No new tests; no net change in functionality.
1321
1322         Add a new WebCoreLogLevel for WebAudio, and use this new log level instead of 
1323         printf statements in webaudio classes.
1324
1325         * platform/Logging.cpp:
1326         (WebCore::getChannelFromName):
1327         * platform/Logging.h:
1328         * platform/mac/LoggingMac.mm:
1329         (WebCore::InitializeLoggingChannelsIfNecessary):
1330         * platform/audio/FFTFrame.cpp:
1331         (WebCore::FFTFrame::print):
1332         * webaudio/DefaultAudioDestinationNode.cpp:
1333         (WebCore::DefaultAudioDestinationNode::initialize):
1334
1335 2012-01-12  Anders Carlsson  <andersca@apple.com>
1336
1337         Make ScrollElasticityController members private
1338         https://bugs.webkit.org/show_bug.cgi?id=76208
1339
1340         Reviewed by Andreas Kling.
1341
1342         * platform/mac/ScrollAnimatorMac.mm:
1343         (WebCore::ScrollAnimatorMac::endScrollGesture):
1344         Call ScrollElasticityController::endScrollGesture.
1345
1346         * platform/mac/ScrollElasticityController.h:
1347         Make members private.
1348
1349         * platform/mac/ScrollElasticityController.mm:
1350         (WebCore::ScrollElasticityController::endScrollGesture):
1351         Call snapRubberBand.
1352
1353         (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
1354         Call stopSnapRubberbandTimer.
1355
1356 2012-01-12  Anders Carlsson  <andersca@apple.com>
1357
1358         Move wheel event handling to ScrollElasticityController::handleWheelEvent
1359         https://bugs.webkit.org/show_bug.cgi?id=76205
1360
1361         Reviewed by Andreas Kling.
1362
1363         Move the code in ScrollAnimatorMac::smoothScrollWithEvent to ScrollElasticityController::handleWheelEvent and
1364         change ScrollAnimatorMac::handleWheelEvent to just call ScrollElasticityController::handleWheelEvent.
1365         This means that we'll not set m_haveScrolledSincePageLoad = true anymore (we used to set it in ScrollAnimatorMac::smoothScrollWithEvent),
1366         but we already set it to true in ScrollAnimatorMac::handleWheelEvent so it already had no effect.
1367
1368         * platform/mac/ScrollAnimatorMac.h:
1369         * platform/mac/ScrollAnimatorMac.mm:
1370         (WebCore::ScrollAnimatorMac::handleWheelEvent):
1371         * platform/mac/ScrollElasticityController.h:
1372         * platform/mac/ScrollElasticityController.mm:
1373         (WebCore::elasticDeltaForReboundDelta):
1374         (WebCore::scrollWheelMultiplier):
1375         (WebCore::ScrollElasticityController::handleWheelEvent):
1376
1377 2012-01-12  Simon Fraser  <simon.fraser@apple.com>
1378
1379         Borders and box masks behave incorrectly with overlapping offsets
1380         https://bugs.webkit.org/show_bug.cgi?id=76137
1381
1382         Reviewed by Dave Hyatt.
1383         
1384         When border-image-slice sizes add up to more than the height or width
1385         of the border-image, the middle sections should not be rendered, per spec.
1386         
1387         Test: fast/borders/border-image-slice-constrained.html
1388
1389         * rendering/RenderBoxModelObject.cpp:
1390         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1391
1392 2012-01-12  Anders Carlsson  <andersca@apple.com>
1393
1394         Make all calls to pinnedInDirection go through the ScrollElasticityController
1395         https://bugs.webkit.org/show_bug.cgi?id=76204
1396
1397         Reviewed by Andreas Kling.
1398
1399         * platform/mac/ScrollAnimatorMac.mm:
1400         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
1401
1402 2012-01-12  Stephen White  <senorblanco@chromium.org>
1403
1404         [chromium] Re-enable Skia feColorMatrix filter implementation.
1405         https://bugs.webkit.org/show_bug.cgi?id=76186
1406
1407         This code was landed in http://trac.webkit.org/changeset/104566 and
1408         partially reverted in http://trac.webkit.org/changeset/104632 due
1409         to problems with the Windows Shared builder.  Those problems have
1410         been fixed in r3006, since rolled into Chrome.
1411
1412         Reviewed by Kenneth Russell.
1413
1414         Covered by SVG feColorMatrix tests.
1415
1416         * WebCore.gypi:
1417         * platform/graphics/filters/FEColorMatrix.h:
1418
1419 2012-01-12  Anders Carlsson  <andersca@apple.com>
1420
1421         Add allowsHorizontalStretching and allowsVerticalStretching to ScrollElasticityControllerClient
1422         https://bugs.webkit.org/show_bug.cgi?id=76202
1423
1424         Reviewed by Andreas Kling.
1425
1426         * platform/mac/ScrollAnimatorMac.h:
1427         * platform/mac/ScrollAnimatorMac.mm:
1428         (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
1429         (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
1430         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
1431         * platform/mac/ScrollElasticityController.h:
1432
1433 2012-01-12  Anders Carlsson  <andersca@apple.com>
1434
1435         Move snapRubberBand to ScrollElasticityController
1436         https://bugs.webkit.org/show_bug.cgi?id=76200
1437
1438         Reviewed by Andreas Kling.
1439
1440         * platform/mac/ScrollAnimatorMac.h:
1441         * platform/mac/ScrollAnimatorMac.mm:
1442         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
1443         (WebCore::ScrollAnimatorMac::endScrollGesture):
1444         * platform/mac/ScrollElasticityController.h:
1445         * platform/mac/ScrollElasticityController.mm:
1446         (systemUptime):
1447         (WebCore::ScrollElasticityController::snapRubberBand):
1448
1449 2012-01-12  Antti Koivisto  <antti@apple.com>
1450
1451         REGRESSION(r104060): Setting user stylesheet may leave CSSStyleSelector with stale rule pointers 
1452         https://bugs.webkit.org/show_bug.cgi?id=76191
1453
1454         Reviewed by Andreas Kling.
1455         
1456         Setting the user style sheet frees the existing user style sheet data structures. The code
1457         in Document::updatePageGroupUserSheets then relies on styleSelectorChanged to clear the
1458         style selector so it is not left with stale pointers. However under certain conditions
1459         involving pending stylesheets it may bail out quickly without clearing.
1460         
1461         Document::styleSelectorChanged has to take care that it never leaves the style selector stale
1462         even when bailing out early.
1463
1464         Test: fast/css/user-stylesheet-crash.html
1465
1466         * dom/Document.cpp:
1467         (WebCore::Document::styleSelectorChanged):
1468
1469 2012-01-12  Nat Duca  <nduca@chromium.org>
1470
1471         [chromium] Turn off FrameRateController timesource when it is not needed
1472         https://bugs.webkit.org/show_bug.cgi?id=76149
1473
1474         Reviewed by James Robinson.
1475
1476         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
1477         (WebCore::CCDelayBasedTimeSource::active):
1478         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
1479         (WebCore::CCFrameRateController::setActive):
1480         (WebCore::CCFrameRateController::onTimerTick):
1481         * platform/graphics/chromium/cc/CCFrameRateController.h:
1482         * platform/graphics/chromium/cc/CCScheduler.cpp:
1483         (WebCore::CCScheduler::CCScheduler):
1484         (WebCore::CCScheduler::setVisible):
1485         (WebCore::CCScheduler::processScheduledActions):
1486         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
1487         (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
1488         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
1489         * platform/graphics/chromium/cc/CCTimeSource.h:
1490
1491 2012-01-12  Anders Carlsson  <andersca@apple.com>
1492
1493         Move snapRubberBandTimerFired to ScrollElasticityController
1494         https://bugs.webkit.org/show_bug.cgi?id=76196
1495
1496         Reviewed by Andreas Kling.
1497
1498         * platform/mac/ScrollAnimatorMac.mm:
1499         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
1500         * platform/mac/ScrollElasticityController.h:
1501         * platform/mac/ScrollElasticityController.mm:
1502         (WebCore::elasticDeltaForTimeDelta):
1503         (WebCore::roundTowardZero):
1504         (WebCore::roundToDevicePixelTowardZero):
1505         (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
1506
1507 2012-01-12  Joshua Bell  <jsbell@chromium.org>
1508
1509         IndexedDB: Raise NON_TRANSIENT_ERR when invalid mode specified for transaction
1510         https://bugs.webkit.org/show_bug.cgi?id=76072
1511
1512         Spec was updated to detail what should be thrown: http://www.w3.org/Bugs/Public/show_bug.cgi?id=11406
1513
1514         Reviewed by Tony Chang.
1515
1516         Tests: storage/indexeddb/transaction-basics.html
1517
1518         * storage/IDBDatabase.cpp:
1519         (WebCore::IDBDatabase::transaction):
1520
1521 2012-01-12  Anders Carlsson  <andersca@apple.com>
1522
1523         Remove the last non-ScrollElasticityController call from ScrollAnimatorMac::snapRubberBandTimerFired
1524         https://bugs.webkit.org/show_bug.cgi?id=76193
1525
1526         Reviewed by Andreas Kling.
1527
1528         Use ScrollElasticityControllerClient::immediateScrollBy for the final scroll before the rubber-band timer stops.
1529
1530         * platform/mac/ScrollAnimatorMac.mm:
1531         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
1532
1533 2011-09-26  Jer Noble  <jer.noble@apple.com>
1534
1535         Emit an error event when a request to enter full-screen is rejected.
1536         https://bugs.webkit.org/show_bug.cgi?id=62320
1537
1538         Reviewed by Eric Carlson.
1539
1540         Tests: fullscreen/full-screen-request-rejected.html
1541                fullscreen/full-screen-request-removed.html
1542
1543         When a request to enter full-screen is rejected, emit an event 
1544         (webkitfullscreenerror) in response.  But emit the event during the next
1545         trip through the run-loop, like the webkitfullscreenchange event, and so a new
1546         timer and queue are necessary.
1547
1548         * dom/Document.cpp:
1549         (WebCore::Document::requestFullScreenForElement): Emit the error event
1550             if the request does not pass all our requirements.
1551         * dom/Document.h: Add new ivars.
1552         * dom/Document.idl: Add support for setting an onfullscreenerror attribute.
1553         * dom/Element.h: Ditto.
1554         * dom/Element.idl: Ditto.
1555         * dom/EventNames.h: Add the name for the error event.
1556
1557 2012-01-12  Beth Dakin  <bdakin@apple.com>
1558
1559         https://bugs.webkit.org/show_bug.cgi?id=76133
1560         ScrollAnimatorMac::mouseEnteredScrollbar() and mouseExitedScrollbar() should 
1561         only do stuff for legacy scrollbars
1562         -and corresponding-
1563         <rdar://problem/10603290>
1564
1565         Reviewed by Sam Weinig.
1566
1567         * platform/mac/ScrollAnimatorMac.mm:
1568         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
1569         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
1570
1571 2012-01-12  Dan Bernstein  <mitz@apple.com>
1572
1573         When generating derived sources, use the same compiler that is used to compile WebCore.
1574
1575         Fixes <http://webkit.org/b/76189>
1576         [mac] When compiling WebCore with clang, llvm-gcc is used to generate derived sources
1577
1578         Reviewed by Mark Rowe.
1579
1580         * DerivedSources.make: Changed to use the CC environment variable instead of hardcoded gcc.
1581         * WebCore.xcodeproj/project.pbxproj: Set the CC environment variable, if not already set,
1582         according to TARGET_GCC_VERSION. CC is used by DerivedSources.make and some of the perl
1583         scripts it invokes.
1584
1585 2012-01-12  Pierre Rossi  <pierre.rossi@gmail.com>
1586
1587         [Qt] Unreviewed build fix after r104828.
1588
1589         * platform/qt/RenderThemeQtMobile.cpp:
1590         (WebCore::StylePainterMobile::findComboButton):
1591
1592 2012-01-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1593
1594         Unreviewed, rolling out r104829.
1595         http://trac.webkit.org/changeset/104829
1596         https://bugs.webkit.org/show_bug.cgi?id=76188
1597
1598         it broke qt-minimal (Requested by loislo1 on #webkit).
1599
1600         * inspector/CodeGeneratorInspector.py:
1601         (CodeGenerator):
1602         (CodeGenerator.generate_type_builder):
1603         (CodeGenerator.generate_type_builder.AdHocTypeContext):
1604         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
1605         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
1606         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
1607         (CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
1608         (CodeGenerator.register_use):
1609         (RawTypesBinding):
1610         (RawTypesBinding.get_code_generator):
1611         (RawTypesBinding.get_in_c_type_text):
1612         (RawTypesBinding.get_setter_value_expression_pattern):
1613         (RawTypesBinding.reduce_to_raw_type):
1614         (TypeData.__init__):
1615         * inspector/InspectorValues.h:
1616
1617 2012-01-12  Pavel Podivilov  <podivilov@chromium.org>
1618
1619         Web Inspector: [JSC] //@ sourceURL is not respected.
1620         https://bugs.webkit.org/show_bug.cgi?id=65532
1621
1622         Reviewed by Pavel Feldman.
1623
1624         Test: inspector/debugger/source-url-comment.html
1625
1626         * bindings/js/ScriptDebugServer.cpp:
1627         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1628         * inspector/ContentSearchUtils.cpp:
1629         (WebCore::ContentSearchUtils::findMagicComment):
1630         (WebCore::ContentSearchUtils::findSourceURL):
1631         (WebCore::ContentSearchUtils::findSourceMapURL):
1632         * inspector/ContentSearchUtils.h:
1633
1634 2012-01-12  Csaba Osztrogonác  <ossy@webkit.org>
1635
1636         [Qt] Unreviewed trivial buildfix after r104828.
1637
1638         * platform/qt/RenderThemeQtMobile.cpp:
1639         (WebCore::StylePainterMobile::findComboButton):
1640
1641 2012-01-12  Peter Rybin  <peter.rybin@gmail.com>
1642
1643         Web Inspector: CodeGeneratorInspector.py: generate array types.
1644         https://bugs.webkit.org/show_bug.cgi?id=75284
1645
1646         Reviewed by Yury Semikhatsky.
1647
1648         New classes are generated for ecah array type instance.
1649
1650         * inspector/CodeGeneratorInspector.py:
1651         (ArrayBinding):
1652         (ArrayBinding.get_code_generator):
1653         (ArrayBinding.get_code_generator.CodeGenerator):
1654         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
1655         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext):
1656         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
1657         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
1658         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
1659         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
1660         (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
1661         (ArrayBinding.get_code_generator.CodeGenerator.register_use):
1662         (ArrayBinding.get_in_c_type_text):
1663         (ArrayBinding.get_setter_value_expression_pattern):
1664         (ArrayBinding.reduce_to_raw_type):
1665         (RawTypeBinding):
1666         (RawTypeBinding.__init__):
1667         (RawTypeBinding.get_code_generator):
1668         (RawTypeBinding.get_in_c_type_text):
1669         (RawTypeBinding.get_setter_value_expression_pattern):
1670         (RawTypeBinding.reduce_to_raw_type):
1671         (TypeData.__init__):
1672         (TypeData.get_binding):
1673         * inspector/InspectorValues.h:
1674
1675 2012-01-12  Pierre Rossi  <pierre.rossi@gmail.com>
1676
1677         [Qt] Avoid string operations in mobile theme's caching mechanism
1678         https://bugs.webkit.org/show_bug.cgi?id=75010
1679
1680         The string operations constantly performed in the mobile theme
1681         to fetch or put controls in the pixmap cache can be pretty expensive.
1682         The new mechanism harnesses the QPixmapCache::Key API instead.
1683
1684         Reviewed by Kenneth Rohde Christiansen.
1685
1686         No new tests, internal refactoring.
1687
1688         * platform/qt/RenderThemeQtMobile.cpp:
1689         (WebCore::qHash):
1690         (WebCore::StylePainterMobile::findCachedControl):
1691         (WebCore::StylePainterMobile::insertIntoCache):
1692         (WebCore::StylePainterMobile::findCheckBox):
1693         (WebCore::StylePainterMobile::drawRadio):
1694         (WebCore::StylePainterMobile::findRadio):
1695         (WebCore::StylePainterMobile::drawMultipleComboButton):
1696         (WebCore::StylePainterMobile::drawSimpleComboButton):
1697         (WebCore::StylePainterMobile::getButtonImageSize):
1698         (WebCore::StylePainterMobile::findComboButton):
1699         (WebCore::StylePainterMobile::findLineEdit):
1700         (WebCore::StylePainterMobile::findPushButton):
1701         (WebCore::StylePainterMobile::drawComboBox):
1702         (WebCore::StylePainterMobile::drawProgress):
1703         (WebCore::StylePainterMobile::drawSliderThumb):
1704         (WebCore::RenderThemeQtMobile::paintTextField):
1705         (WebCore::RenderThemeQtMobile::paintMenuList):
1706         * platform/qt/RenderThemeQtMobile.h:
1707         (WebCore::KeyIdentifier::KeyIdentifier):
1708         (WebCore::KeyIdentifier::operator==):
1709
1710 2012-01-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1711
1712         Unreviewed, rolling out r104805.
1713         http://trac.webkit.org/changeset/104805
1714         https://bugs.webkit.org/show_bug.cgi?id=76180
1715
1716         Breaks apple win compilation. (Requested by vsevik on
1717         #webkit).
1718
1719         * CMakeLists.txt:
1720         * GNUmakefile.list.am:
1721         * Target.pri:
1722         * WebCore.exp.in:
1723         * WebCore.gypi:
1724         * WebCore.vcproj/WebCore.vcproj:
1725         * WebCore.xcodeproj/project.pbxproj:
1726         * dom/DOMAllInOne.cpp:
1727         * dom/SelectorQuery.cpp:
1728         (WebCore::SelectorQuery::SelectorQuery):
1729         (WebCore::SelectorQuery::queryAll):
1730         (WebCore::SelectorQuery::queryFirst):
1731         (WebCore::SelectorQuery::canUseIdLookup):
1732         (WebCore::SelectorQuery::execute):
1733         * dom/SelectorQuery.h:
1734         * dom/ShadowContentElement.cpp:
1735         (WebCore::ShadowContentElement::create):
1736         (WebCore::ShadowContentElement::ShadowContentElement):
1737         (WebCore::ShadowContentElement::shouldInclude):
1738         * dom/ShadowContentElement.h:
1739         * dom/ShadowContentSelectorQuery.cpp: Removed.
1740         * dom/ShadowContentSelectorQuery.h: Removed.
1741         * dom/ShadowInclusionSelector.cpp:
1742         (WebCore::ShadowInclusionSelector::select):
1743         * dom/ShadowInclusionSelector.h:
1744         * html/HTMLDetailsElement.cpp:
1745         (WebCore::DetailsContentElement::DetailsContentElement):
1746         (WebCore::DetailsContentElement::shouldInclude):
1747         (WebCore::DetailsSummaryElement::DetailsSummaryElement):
1748         (WebCore::DetailsSummaryElement::shouldInclude):
1749         * html/HTMLSummaryElement.cpp:
1750         (WebCore::SummaryContentElement::SummaryContentElement):
1751         * testing/Internals.cpp:
1752         (WebCore::Internals::createShadowContentElement):
1753         * testing/Internals.h:
1754         * testing/Internals.idl:
1755
1756 2012-01-12  Zoltan Herczeg  <zherczeg@webkit.org>
1757
1758         Fix turbulence bug when stitch tiles enabled and rendered in parallel
1759         https://bugs.webkit.org/show_bug.cgi?id=76042
1760
1761         Reviewed by Nikolas Zimmermann.
1762
1763         The width / height / wrap members are used by all threads
1764         in the same time. The patch makes them local for all threads.
1765
1766         Fixes the layout fails in svg/dynamic-updates/SVGFETurbulence*
1767
1768         * platform/graphics/filters/FETurbulence.cpp:
1769         (WebCore::FETurbulence::noise2D):
1770         (WebCore::Noise::if):
1771         (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
1772         (WebCore::FETurbulence::fillRegion):
1773         * platform/graphics/filters/FETurbulence.h:
1774         (WebCore::FETurbulence::PaintingData::PaintingData):
1775         (WebCore::FETurbulence::StitchData::StitchData):
1776
1777 2012-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
1778
1779         Web Inspector: performance: restore 'log 300 messages into console' test.
1780         https://bugs.webkit.org/show_bug.cgi?id=76170
1781
1782         It was removed in order of transition from layout tests to perf tests.
1783
1784         Reviewed by Yury Semikhatsky.
1785
1786         * inspector/front-end/ConsoleView.js:
1787         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
1788         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
1789
1790 2012-01-12  Hans Wennborg  <hans@chromium.org>
1791
1792         Speech input: Send text to correct element even if focus has changed
1793         https://bugs.webkit.org/show_bug.cgi?id=76071
1794
1795         Reviewed by Steve Block.
1796
1797         Make sure that the text from speech input ends up in the correct
1798         element even if focus has changed since the user clicked on it.
1799
1800         Test: fast/speech/change-focus.html
1801
1802         * html/shadow/TextControlInnerElements.cpp:
1803         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
1804
1805 2012-01-10  Pavel Podivilov  <podivilov@chromium.org>
1806
1807         Web Inspector: make source urls relative to source map url.
1808         https://bugs.webkit.org/show_bug.cgi?id=75968
1809
1810         Reviewed by Yury Semikhatsky.
1811
1812         * inspector/front-end/CompilerSourceMapping.js:
1813         (WebInspector.ClosureCompilerSourceMapping):
1814         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
1815         (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
1816
1817 2012-01-12  Nikolas Zimmermann  <nzimmermann@rim.com>
1818
1819         Not reviewed. Fix WebKit build after r104803, by setting ScriptCallStack.h role to private.
1820
1821         * WebCore.xcodeproj/project.pbxproj:
1822
1823 2012-01-12  Shinya Kawanaka  <shinyak@google.com>
1824
1825         ShadowContentElement should be able to use query.
1826         https://bugs.webkit.org/show_bug.cgi?id=75302
1827
1828         Reviewed by Hajime Morita.
1829
1830         This patch introduces a selector to query elements in ShadowContentElement.
1831         This can be used instead of ShadowContentElement::shouldInclude in more sophisticated ways.
1832
1833         Tests: fast/dom/shadow/shadow-contents-select-expected.html
1834                fast/dom/shadow/shadow-contents-select.html
1835
1836         * CMakeLists.txt:
1837         * GNUmakefile.list.am:
1838         * Target.pri:
1839         * WebCore.exp.in:
1840         * WebCore.gypi:
1841         * WebCore.vcproj/WebCore.vcproj:
1842         * WebCore.xcodeproj/project.pbxproj:
1843         * dom/DOMAllInOne.cpp:
1844         * dom/SelectorQuery.cpp:
1845         (WebCore::SelectorDataList::SelectorDataList):
1846           Extracted from SelectorQueryto share codes with ShadowContentSelectorQuery.
1847         (WebCore::SelectorDataList::initialize):
1848         (WebCore::SelectorDataList::matches):
1849         (WebCore::SelectorDataList::queryAll):
1850         (WebCore::SelectorDataList::queryFirst):
1851         (WebCore::SelectorDataList::canUseIdLookup):
1852         (WebCore::SelectorDataList::execute):
1853         (WebCore::SelectorQuery::SelectorQuery):
1854         (WebCore::SelectorQuery::queryAll):
1855         (WebCore::SelectorQuery::queryFirst):
1856         * dom/SelectorQuery.h:
1857         (WebCore::SelectorDataList::size):
1858         * dom/ShadowContentElement.cpp:
1859         (WebCore::selectAttr):
1860         (WebCore::ShadowContentElement::create):
1861         (WebCore::ShadowContentElement::ShadowContentElement):
1862         (WebCore::ShadowContentElement::select):
1863         * dom/ShadowContentElement.h:
1864         * dom/ShadowContentSelectorQuery.cpp: Added.
1865         (WebCore::ShadowContentSelectorQuery::ShadowContentSelectorQuery):
1866         (WebCore::ShadowContentSelectorQuery::matches):
1867           Returns true if Node is matched by the query.
1868         * dom/ShadowContentSelectorQuery.h: Copied from Source/WebCore/dom/ShadowContentElement.h.
1869         * dom/ShadowInclusionSelector.cpp:
1870         (WebCore::ShadowInclusionSelector::select):
1871         * dom/ShadowInclusionSelector.h:
1872         * html/HTMLDetailsElement.cpp:
1873         (WebCore::summaryQuerySelector):
1874         (WebCore::DetailsContentElement::DetailsContentElement): Re-implemented using query.
1875         (WebCore::DetailsSummaryElement::DetailsSummaryElement): ditto.
1876         * html/HTMLSummaryElement.cpp:
1877         (WebCore::SummaryContentElement::SummaryContentElement):
1878         * testing/Internals.cpp:
1879         (WebCore::Internals::createShadowContentElement):
1880         * testing/Internals.h:
1881         * testing/Internals.idl:
1882
1883 2012-01-11  Vsevolod Vlasov  <vsevik@chromium.org>
1884
1885         Make default console messages line numbers consistent.
1886         https://bugs.webkit.org/show_bug.cgi?id=74075
1887
1888         Reviewed by Pavel Feldman.
1889
1890         Added default values for Console::addMessage sourceURL, lineNumber and
1891         callStack parameters, moved lineNumber after sourceURL.
1892         Made virtual method ScriptExecutionContext::addMessage private
1893         Added default values to ScriptExecutionContext::AddConsoleMessage sourceURL, lineNumber and
1894         callStack parameters, moved lineNumber after sourceURL.
1895         Reorder ScriptExecutionContext::logExceptionToConsole parameters, move lineNumber after sourceURL.
1896         Reordered sourceURL and lineNumber parameters in inspector methods.
1897         Made all calls to Console::addMessage() pass 0 as lineNumber by default (i.e. when line number is unknown / irrelevant).
1898         Unset line numbers are not printed to console in QT now.
1899
1900         * bindings/js/JSCustomXPathNSResolver.cpp:
1901         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1902         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1903         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1904         * dom/Document.cpp:
1905         (WebCore::Document::logExceptionToConsole):
1906         (WebCore::Document::addMessage):
1907         * dom/Document.h:
1908         * dom/ScriptExecutionContext.cpp:
1909         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
1910         (WebCore::ScriptExecutionContext::reportException):
1911         (WebCore::ScriptExecutionContext::addConsoleMessage):
1912         * dom/ScriptExecutionContext.h:
1913         * dom/UIEvent.cpp:
1914         (WebCore::UIEvent::warnDeprecatedLayerXYUsage):
1915         * dom/ViewportArguments.cpp:
1916         (WebCore::reportViewportWarning):
1917         * html/HTMLFormElement.cpp:
1918         (WebCore::HTMLFormElement::validateInteractively):
1919         * html/canvas/WebGLRenderingContext.cpp:
1920         (WebCore::WebGLRenderingContext::printWarningToConsole):
1921         * inspector/ConsoleMessage.cpp:
1922         (WebCore::ConsoleMessage::ConsoleMessage):
1923         * inspector/ConsoleMessage.h:
1924         * inspector/InspectorConsoleAgent.cpp:
1925         (WebCore::InspectorConsoleAgent::enable):
1926         (WebCore::InspectorConsoleAgent::addMessageToConsole):
1927         (WebCore::InspectorConsoleAgent::stopTiming):
1928         (WebCore::InspectorConsoleAgent::count):
1929         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
1930         * inspector/InspectorConsoleAgent.h:
1931         * inspector/InspectorConsoleInstrumentation.h:
1932         (WebCore::InspectorInstrumentation::addMessageToConsole):
1933         * inspector/InspectorInstrumentation.cpp:
1934         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1935         * inspector/InspectorInstrumentation.h:
1936         * inspector/InspectorProfilerAgent.cpp:
1937         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
1938         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
1939         * loader/FrameLoader.cpp:
1940         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
1941         (WebCore::FrameLoader::checkIfRunInsecureContent):
1942         (WebCore::FrameLoader::reportLocalLoadFailed):
1943         (WebCore::FrameLoader::shouldAllowNavigation):
1944         * loader/MainResourceLoader.cpp:
1945         (WebCore::MainResourceLoader::didReceiveResponse):
1946         * loader/appcache/ApplicationCacheGroup.cpp:
1947         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1948         (WebCore::ApplicationCacheGroup::didFinishLoading):
1949         (WebCore::ApplicationCacheGroup::didFail):
1950         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
1951         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1952         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
1953         * loader/cache/CachedResourceLoader.cpp:
1954         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
1955         * page/Console.cpp:
1956         (WebCore::Console::addMessage):
1957         (WebCore::Console::groupEnd):
1958         * page/Console.h:
1959         * page/DOMWindow.cpp:
1960         (WebCore::DOMWindow::postMessageTimerFired):
1961         (WebCore::DOMWindow::printErrorMessage):
1962         * storage/AbstractDatabase.cpp:
1963         (WebCore::AbstractDatabase::logErrorMessage):
1964         * svg/SVGDocumentExtensions.cpp:
1965         (WebCore::reportMessage):
1966         * websockets/WebSocket.cpp:
1967         (WebCore::WebSocket::connect):
1968         * websockets/WebSocketChannel.cpp:
1969         (WebCore::WebSocketChannel::fail):
1970         (WebCore::WebSocketChannel::didFailSocketStream):
1971         * workers/DefaultSharedWorkerRepository.cpp:
1972         (WebCore::postConsoleMessageTask):
1973         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
1974         * workers/SharedWorkerContext.cpp:
1975         (WebCore::SharedWorkerContext::logExceptionToConsole):
1976         * workers/SharedWorkerContext.h:
1977         * workers/WorkerContext.cpp:
1978         (WebCore::WorkerContext::logExceptionToConsole):
1979         (WebCore::WorkerContext::addMessage):
1980         (WebCore::WorkerContext::addMessageToWorkerConsole):
1981         * workers/WorkerContext.h:
1982         * workers/WorkerMessagingProxy.cpp:
1983         (WebCore::postConsoleMessageTask):
1984         * xml/XSLTProcessorLibxslt.cpp:
1985         (WebCore::XSLTProcessor::parseErrorFunc):
1986         * xml/XSLTProcessorQt.cpp:
1987         (WebCore::XSLTMessageHandler::handleMessage):
1988
1989 2012-01-12  Mihnea Ovidenie  <mihnea@adobe.com>
1990
1991         Add RenderStyle::isPositioned() helper method
1992         https://bugs.webkit.org/show_bug.cgi?id=75959
1993
1994         Reviewed by Tony Chang.
1995
1996         No new tests since this is refactoring of existing code.
1997         Replace (style()->position() == AbsolutePosition || style()->position() == FixedPosition) 
1998         with (style()->isPositioned()).
1999         Replace (style()->position() != AbsolutePosition && style()->position() != FixedPosition) 
2000         with (!style()->isPositioned()).
2001
2002         * rendering/RenderBox.cpp:
2003         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
2004         (WebCore::RenderBox::offsetFromContainer):
2005         * rendering/RenderBoxModelObject.cpp:
2006         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
2007         * rendering/RenderInline.cpp:
2008         (WebCore::RenderInline::computeRectForRepaint):
2009         * rendering/RenderObject.cpp:
2010         (WebCore::RenderObject::markContainingBlocksForLayout):
2011         (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
2012         (WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
2013         * rendering/style/RenderStyle.h:
2014         (WebCore::RenderStyleBitfields::isPositioned):
2015
2016 2012-01-11  KwangHyuk Kim  <hyuki.kim@samsung.com>
2017
2018         [EFL] Rename parameter and variable name 'r' to 'rect' in IntRectEfl.cpp.
2019         https://bugs.webkit.org/show_bug.cgi?id=76140
2020
2021         Reviewed by Andreas Kling.
2022
2023         No new tests : Just for change of parameter and variable name.
2024
2025         * platform/graphics/efl/IntRectEfl.cpp:
2026         (WebCore::IntRect::IntRect):
2027         (WebCore::IntRect::operator Eina_Rectangle):
2028
2029 2012-01-11  Shinya Kawanaka  <shinyak@google.com>
2030
2031         QuerySelector should not have side effect.
2032         https://bugs.webkit.org/show_bug.cgi?id=75298
2033
2034         Reviewed by Antti Koivisto.
2035
2036         Since SelectorChecker is not collecting-rules-only mode, it may set some flags in render styles
2037         if some pseudo types (e.g. first-of-type) are used.
2038
2039         No new tests. Covered by existing tests.
2040
2041         * dom/SelectorQuery.cpp:
2042         (WebCore::SelectorQuery::SelectorQuery):
2043           Made collecting rules only.
2044
2045 2012-01-11  Dan Bernstein  <mitz@apple.com>
2046
2047         <rdar://problem/10679035> Implement font-variant-ligatures: {no-}common-ligatures
2048         https://bugs.webkit.org/show_bug.cgi?id=76103
2049
2050         Reviewed by Sam Weinig.
2051
2052         Tests: fast/css/parsing-font-variant-ligatures.html
2053                fast/text/font-variant-ligatures-expected.html
2054                fast/text/font-variant-ligatures.html
2055
2056         Added support for all font-variant-ligatures values in the style system and in
2057         FontDescription, and made the {no-}common-ligatures value keywords control basic ligatures.
2058         The {no-}{discretionary,historical}-ligatures keywords have no effect on rendering at this
2059         time.
2060
2061         font-variant-ligatures was not made part of the font shorthand property.
2062
2063         * css/CSSComputedStyleDeclaration.cpp:
2064         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added code to handle
2065         font-variant-ligatures.
2066         * css/CSSParser.cpp:
2067         (WebCore::CSSParser::parseValue): Added code to handle font-variant-ligatures.
2068         (WebCore::CSSParser::parseFontVariantLigatures): Added. Parses font-variant-ligatures.
2069         * css/CSSParser.h:
2070         * css/CSSProperty.cpp:
2071         (WebCore::CSSProperty::isInheritedProperty): Added font-variant-ligatures to the set of
2072         inherited properties.
2073         * css/CSSPropertyNames.in: Added -webkit-font-variant-ligatures.
2074         * css/CSSStyleApplyProperty.cpp:
2075         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue): Added. Copies
2076         {common,discretionary,historical}LigaturesState from the parent style font description.
2077         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue): Added. Sets
2078         {common,discretionary,historical}LigaturesState to normal.
2079         (WebCore::ApplyPropertyFontVariantLigatures::applyValue): Added.
2080         (WebCore::ApplyPropertyFontVariantLigatures::createHandler): Added.
2081         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Added a handler for
2082         font-variant-ligatures.
2083         * css/CSSStyleSelector.cpp:
2084         (WebCore::CSSStyleSelector::applyDeclaration): Updated for the number of properties that
2085         affect the font.
2086         (WebCore::CSSStyleSelector::applyProperty): Added CSSPropertyWebkitFontVariantLigatures to
2087         the switch statement, which needs to list all values in SVG-disabled builds.
2088         * css/CSSValueKeywords.in: Added the value keywords
2089         {no-}{common,discretionary,historical}-ligatures.
2090         * platform/graphics/Font.h:
2091         (WebCore::Font::typesettingFeatures): Changed to enable ligatures if common ligatures are
2092         enabled in the font description, disable them if they are disabled, and leave them to the
2093         default (determined by the text-rendering property) if they are in the normal state.
2094         * platform/graphics/FontDescription.h:
2095         (WebCore::FontDescription::FontDescription): Added initializers.
2096         (WebCore::FontDescription::commonLigaturesState): Added this accessor.
2097         (WebCore::FontDescription::discretionaryLigaturesState): Ditto.
2098         (WebCore::FontDescription::historicalLigaturesState): Ditto.
2099         (WebCore::FontDescription::setCommonLigaturesState): Ditto.
2100         (WebCore::FontDescription::setDiscretionaryLigaturesState): Ditto.
2101         (WebCore::FontDescription::setHistoricalLigaturesState): Ditto.
2102         (WebCore::FontDescription::operator==): Updated to compare the ligatures state members.
2103
2104 2012-01-11  Adrienne Walker  <enne@google.com>
2105
2106         Repaint all graphics layers when their renderer offset changes
2107         https://bugs.webkit.org/show_bug.cgi?id=75730
2108
2109         Reviewed by Simon Fraser.
2110
2111         In RenderLayerBacking, only the main graphics layer gets repainted
2112         when the offset changes. If the offset on other graphics layers (e.g.
2113         the foreground layer) changes, they should get repainted as well.
2114
2115         Test: compositing/geometry/foreground-offset-change.html
2116
2117         * platform/graphics/GraphicsLayer.cpp:
2118         (WebCore::GraphicsLayer::setOffsetFromRenderer):
2119         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
2120         * platform/graphics/GraphicsLayer.h:
2121         * rendering/RenderLayerBacking.cpp:
2122         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2123         (WebCore::RenderLayerBacking::paintContents):
2124
2125 2012-01-11  Scott Violet  <sky@google.com>
2126
2127         [chromium] TiledLayerChromium drops invalidates that occur during
2128         LayerTextureUpdater::prepareToUpdate
2129         https://bugs.webkit.org/show_bug.cgi?id=76067
2130
2131         Reviewed by James Robinson.
2132
2133         Test coverage in TiledLayerChromiumTest.
2134
2135         * platform/graphics/chromium/TiledLayerChromium.cpp:
2136         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2137
2138 2012-01-11  Kentaro Hara  <haraken@chromium.org>
2139
2140         [JSC] Remove redundant arguments from [Supplemental] custom methods
2141         https://bugs.webkit.org/show_bug.cgi?id=76127
2142
2143         Reviewed by Adam Barth.
2144
2145         Since in JSC a callback of custom methods is non-static, we do not need
2146         to pass a pointer of an implementation object.
2147
2148         Before (JSTestInterface.cpp):
2149             JSValue jsTestInterfaceSupplementalStr3(ExecState* exec, JSValue slotBase, ...)
2150             {
2151                 JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
2152                 TestInterface* impl = static_cast<TestInterface*>(castedThis->impl());
2153                 return castedThis->supplementalStr3(impl, exec);
2154             }
2155
2156         After (JSTestInterface.cpp):
2157             JSValue jsTestInterfaceSupplementalStr3(ExecState* exec, JSValue slotBase, ...)
2158             {
2159                 JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
2160                  return castedThis->supplementalStr3(exec);  // JSTestInterface knows 'impl'.
2161             }
2162
2163         Tests: bindings/scripts/test/TestInterface.idl
2164                http/tests/websocket/tests/*
2165                webaudio/*
2166
2167         * bindings/scripts/CodeGeneratorJS.pm:
2168         (GenerateHeader): Previously when we specify [CustomGetter, CustomSetter], the header for
2169         the custom setter was not generated. This patch fixes the bug.
2170         (GenerateImplementation):
2171
2172         * bindings/js/JSDOMWindowWebAudioCustom.cpp: Removed redundant DOMWindow* from webkitAudioContext().
2173         (WebCore::JSDOMWindow::webkitAudioContext):
2174         * bindings/js/JSDOMWindowWebSocketCustom.cpp: Removed redundant DOMWindow* from webSocket().
2175         (WebCore::JSDOMWindow::webSocket):
2176
2177         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the test result.
2178         (WebCore::jsTestInterfaceSupplementalStr3):
2179         (WebCore::setJSTestInterfaceSupplementalStr3):
2180         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
2181
2182 2012-01-11  Adam Barth  <abarth@webkit.org>
2183
2184         iframe sandbox doesn't block autofocus (IETC automatic-feature-block-autofocus-form-control)
2185         https://bugs.webkit.org/show_bug.cgi?id=76120
2186
2187         Reviewed by Eric Seidel.
2188
2189         Test: fast/forms/no-autofocus-in-sandbox.html
2190
2191         * html/HTMLFormControlElement.cpp:
2192         (WebCore::shouldAutofocus):
2193             - The HTML5 spec says that we shouldn't autofocus elements when the
2194               automatic features are sandboxed.
2195
2196 2012-01-11  Beth Dakin  <bdakin@apple.com>
2197
2198         https://bugs.webkit.org/show_bug.cgi?id=75904
2199         WebKit 1: Scrollbar uiStateTransitionProgress requires tracking the mouse all 
2200         the time
2201         -and corresponding-
2202         <rdar://problem/10498816>
2203
2204         Reviewed by Darin Adler.
2205
2206         This patch gets rid of the optional parameter called onlyUpdateScrollbars for 
2207         mouseMoved() and instead moves that functionality into its own function 
2208         called passMouseMovedEventToScrollbars().
2209         * WebCore.exp.in:
2210         * page/EventHandler.cpp:
2211         (WebCore::EventHandler::mouseMoved):
2212         (WebCore::EventHandler::passMouseMovedEventToScrollbars):
2213         * page/EventHandler.h:
2214         * page/mac/EventHandlerMac.mm:
2215         (WebCore::EventHandler::passMouseMovedEventToScrollbars):
2216
2217 2012-01-11  Joshua Bell  <jsbell@chromium.org>
2218
2219         IndexedDB: Methods should throw TRANSACTION_INACTIVE_ERR when transaction is completed/aborted
2220         https://bugs.webkit.org/show_bug.cgi?id=76108
2221
2222         Updated IDBDatabaseException error codes to match spec (the pre-DOM4 version),
2223         including updated description strings, and changed relevant store and index 
2224         methods to raise the expected exception type now that it is detailed in the spec.
2225
2226         Reviewed by Tony Chang.
2227
2228         Tests: storage/indexeddb/transaction-basics.html
2229
2230         * storage/IDBCursorBackendImpl.cpp:
2231         (WebCore::IDBCursorBackendImpl::continueFunction):
2232         (WebCore::IDBCursorBackendImpl::prefetchContinue):
2233         * storage/IDBDatabaseException.cpp:
2234         * storage/IDBDatabaseException.h:
2235         * storage/IDBDatabaseException.idl:
2236         * storage/IDBIndexBackendImpl.cpp:
2237         (WebCore::IDBIndexBackendImpl::openCursor):
2238         (WebCore::IDBIndexBackendImpl::openKeyCursor):
2239         (WebCore::IDBIndexBackendImpl::count):
2240         (WebCore::IDBIndexBackendImpl::get):
2241         (WebCore::IDBIndexBackendImpl::getKey):
2242         * storage/IDBObjectStoreBackendImpl.cpp:
2243         (WebCore::IDBObjectStoreBackendImpl::get):
2244         (WebCore::IDBObjectStoreBackendImpl::put):
2245         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
2246         (WebCore::IDBObjectStoreBackendImpl::clear):
2247         (WebCore::IDBObjectStoreBackendImpl::createIndex):
2248         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
2249         (WebCore::IDBObjectStoreBackendImpl::openCursor):
2250         (WebCore::IDBObjectStoreBackendImpl::count):
2251
2252 2012-01-11  Kentaro Hara  <haraken@chromium.org>
2253
2254         Implement the [Supplemental] IDL for custom methods
2255         https://bugs.webkit.org/show_bug.cgi?id=76036
2256
2257         Reviewed by Adam Barth.
2258
2259         We have implemented the [Supplemental] IDL for non-custom methods in bug 75944.
2260         This patch implements it for custom methods. This patch modifies only CodeGeneratorV8.pm,
2261         since CodeGeneratorJS.pm requires no change and other code generators
2262         do not support custom methods.
2263
2264         Test: bindings/scripts/test/TestSupplemental.idl
2265
2266         * bindings/scripts/CodeGeneratorV8.pm:
2267         (GenerateHeader):
2268
2269         * bindings/scripts/test/TestSupplemental.idl: Added a custom method with the [Supplemental] IDL.
2270
2271         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the test result.
2272         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
2273         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
2274         * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
2275         * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
2276         (-[DOMTestInterface supplementalMethod3]):
2277         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
2278
2279 2011-12-21  Shaw Andy  <andy.shaw@digia.com>
2280
2281         Fix build issue on Windows when Qt is configured with -ltcg
2282         https://bugs.webkit.org/show_bug.cgi?id=75003
2283
2284         Rubber-stamped by Simon Hausmann.
2285
2286         * WebCore.pri:
2287
2288 2012-01-09  Avi Drissman  <avi@chromium.org>
2289
2290         https://bugs.webkit.org/show_bug.cgi?id=75860
2291         [Chromium Mac] no background is drawn for input elements
2292
2293         Reviewed by Eric Seidel.
2294
2295         Reverts r104240 for Chromium. Unfortunately the code that uses Cocoa
2296         API misbehaves when built with the 10.5 SDK, so we use SPI. For now.
2297
2298         * rendering/RenderThemeChromiumMac.h:
2299         * rendering/RenderThemeChromiumMac.mm:
2300         (WebCore::RenderThemeChromiumMac::paintTextField):
2301
2302 2012-01-11  Adam Barth  <abarth@webkit.org>
2303
2304         iframe sandbox doesn't block videos from autoplaying (IETC automatic-feature-block-autoplay-video)
2305         https://bugs.webkit.org/show_bug.cgi?id=76111
2306
2307         Reviewed by Eric Seidel.
2308
2309         Test: media/no-auto-play-in-sandbox.html
2310
2311         * dom/SecurityContext.h:
2312             - Add a flag for sandboxing automatic features, per the HTML5 spec.
2313         * html/HTMLMediaElement.cpp:
2314         (WebCore::HTMLMediaElement::setReadyState):
2315             - Implement requirement in the HTML5 spec to not autoplay media
2316               when automatic features are sandboxed.
2317
2318 2012-01-11  Nate Chapin  <japhet@chromium.org>
2319
2320         SubresourceLoader cleanup post r100311.
2321         1. Simplify matching incrementRequestCount()/decrementRequestCount() calls.
2322         2. Remove CachedImage custom code from SubresourceLoader.
2323         3. Add a bunch of ASSERTs.
2324         4. Remove the multipart-only call to didReceiveData() from didReceiveResponse(),
2325            since didReceiveData() would get called immediately after anyway.
2326         https://bugs.webkit.org/show_bug.cgi?id=75887
2327
2328         Reviewed by Adam Barth.
2329
2330         No new tests, refactor only.
2331
2332         * loader/SubresourceLoader.cpp:
2333         (WebCore::SubresourceLoader::didReceiveResponse): Remove multipart special case, handle it in didReceiveData().
2334         (WebCore::SubresourceLoader::didReceiveData): Handle multipart state here, since we will receive only one
2335              didReceiveData() call per multipart segment, but no didFinishLoading() call.
2336         * loader/SubresourceLoader.h: Add a RequestCountTracker subclass to reduce complexity of ensuring we don't
2337             decrement request count twice on CachedResourceLoader.
2338         * loader/cache/CachedImage.cpp:
2339         (WebCore::CachedImage::setResponse): Move CachedImage::clear() call out of SubresourceLoader, since it's
2340             kind of a layering violation as is.
2341         * loader/cache/CachedImage.h:
2342         * loader/cache/CachedResource.cpp:
2343
2344 2012-01-11  Joshua Bell  <jsbell@chromium.org>
2345
2346         IndexedDB: Version change transaction should abort if constraints fail during createIndex
2347         https://bugs.webkit.org/show_bug.cgi?id=76094
2348
2349         Reviewed by Tony Chang.
2350
2351         Test: storage/indexeddb/index-population.html
2352
2353         * storage/IDBIndexBackendImpl.cpp:
2354         (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
2355         * storage/IDBIndexBackendImpl.h:
2356         * storage/IDBLevelDBBackingStore.cpp:
2357         (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
2358         * storage/IDBObjectStoreBackendImpl.cpp:
2359
2360 2012-01-11  Greg Billock  <gbillock@google.com>
2361
2362         Switch web intents to use supplemental IDL for DOMWindow
2363         https://bugs.webkit.org/show_bug.cgi?id=76092
2364
2365         Reviewed by Adam Barth.
2366
2367         * Modules/intents/DOMWindowIntents.idl: Added.
2368         * WebCore.gypi:
2369         * page/DOMWindow.idl:
2370
2371 2012-01-11  Kent Tamura  <tkent@chromium.org>
2372
2373         Rename HTMLInputElement::setDefaultName to setInitialName.
2374         https://bugs.webkit.org/show_bug.cgi?id=76039
2375
2376         Reviewed by Darin Adler.
2377
2378         Rename setDefaultName to setInitialName, make it protected, and add two
2379         assertions.
2380
2381         This change should not change any behavior.
2382
2383         Test: fast/forms/isindex-name.html
2384
2385         * html/HTMLInputElement.cpp:
2386         (WebCore::HTMLInputElement::setInitialName):
2387         - Renamed from setDefaultName.
2388         - Add assertions.
2389         * html/HTMLInputElement.h:
2390         Rename setDefaultName to setInitialName, and move it to protected.
2391         * html/HTMLIsIndexElement.cpp:
2392         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
2393         Update a setDefaultName callsite.
2394         (WebCore::HTMLIsIndexElement::parseMappedAttribute):
2395         A style fix.
2396
2397 2012-01-11  Adam Treat  <atreat@rim.com>
2398
2399         https://bugs.webkit.org/show_bug.cgi?id=76088
2400         The common case of content type = text/plain is not optimized and the plugin database is initialized instead
2401
2402         In the dom/DOMImplementation.cpp file you can find the comment that text/plain is
2403         optimized so that the plugin database is not loaded. Unfortunately, this has been
2404         regressed since the patch for http://bugs.webkit.org/show_bug.cgi?id=16815 which
2405         refactored a bunch of the plugin code.  Now, the plugin database is initialized
2406         before we handle text/plain.  This line in DOMImplementation.cpp triggers
2407         the plugin initialization:
2408
2409                 pluginData = frame->page()->pluginData();
2410
2411         The case of image types != PDF and the case of HTML5 video content type are also
2412         not optimized to be handled before plugin initialization.
2413
2414         The solution is to refactor so all of these content types are handled before
2415         we initialize the plugin database.
2416
2417         Reviewed by Adam Treat.
2418
2419         * dom/DOMImplementation.cpp:
2420         (WebCore::DOMImplementation::createDocument):
2421
2422 2012-01-11  Alexandre Elias  <aelias@google.com>
2423
2424         [chromium] Make Skia canvas opaque for root layer tiles
2425         https://bugs.webkit.org/show_bug.cgi?id=75939
2426
2427         Reviewed by James Robinson.
2428
2429         Skia has extra optimizations if a bitmap has the "opaque" flag -- in
2430         particular, it doesn't do an unnecessary memset at creation time.
2431         Pass down the LayerChromium's opaque flag to Skia.
2432
2433         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
2434         (WebCore::BitmapCanvasLayerTextureUpdater::setIsNonCompositedContent):
2435         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
2436         * platform/graphics/chromium/ContentLayerChromium.cpp:
2437         (WebCore::ContentLayerChromium::createTextureUpdater):
2438         * platform/graphics/chromium/LayerTextureUpdater.h:
2439         (WebCore::LayerTextureUpdater::setIsNonCompositedContent):
2440         * platform/graphics/chromium/PlatformCanvas.cpp:
2441         (WebCore::PlatformCanvas::PlatformCanvas):
2442         (WebCore::PlatformCanvas::resize):
2443         * platform/graphics/chromium/PlatformCanvas.h:
2444         (WebCore::PlatformCanvas::setOpaque):
2445         (WebCore::PlatformCanvas::opaque):
2446         * platform/graphics/chromium/TiledLayerChromium.cpp:
2447         (WebCore::TiledLayerChromium::setIsNonCompositedContent):
2448
2449 2012-01-11  Greg Billock  <gbillock@google.com>
2450
2451         [Coverity] Address some uninit constructor issues in WebCore/dom
2452         https://bugs.webkit.org/show_bug.cgi?id=74977
2453
2454         Reviewed by Ryosuke Niwa.
2455
2456         * css/SelectorChecker.h:
2457         (WebCore::SelectorChecker::ParentStackFrame::ParentStackFrame):
2458         * dom/DeviceMotionData.cpp:
2459         (WebCore::DeviceMotionData::DeviceMotionData):
2460         * dom/DeviceOrientation.cpp:
2461         (WebCore::DeviceOrientation::DeviceOrientation):
2462
2463 2012-01-11  Kenneth Russell  <kbr@google.com>
2464
2465         [chromium] Color profiles are incorrect for images without premultiplied alpha
2466         https://bugs.webkit.org/show_bug.cgi?id=75999
2467
2468         Reviewed by Stephen White.
2469
2470         Don't apply the color profile if the user has requested separate alpha.
2471
2472         Test: fast/canvas/webgl/texture-color-profile.html
2473
2474         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
2475         (WebCore::ImageFrame::setStatus):
2476
2477 2012-01-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
2478
2479         [Qt][Texmap] LayoutTests/compositing/masks/masked-ancestor does not render correctly.
2480         https://bugs.webkit.org/show_bug.cgi?id=75910
2481
2482         Reviewed by Simon Hausmann.
2483
2484         Handle the mask surface correctly when drawing in two passes. Also, improve the readability
2485         of the code that decides whether to draw in two passes.
2486
2487         LayoutTests/compositing/masks/masked-ancestor.html tests this.
2488
2489         * platform/graphics/texmap/TextureMapperNode.cpp:
2490         (WebCore::TextureMapperNode::computeAllTransforms):
2491         (WebCore::TextureMapperNode::hasMoreThanOneTile):
2492         (WebCore::TextureMapperNode::paintRecursive):
2493         * platform/graphics/texmap/TextureMapperNode.h:
2494
2495 2012-01-11  Dmitry Titov  <dimich@chromium.org>
2496
2497         Add new CSS enum value to a switch() in CSSStyleSelector::applyProperty() to fix compile error.
2498         https://bugs.webkit.org/show_bug.cgi?id=76081
2499
2500         Reviewed by David Levin.
2501
2502         * css/CSSStyleSelector.cpp:
2503         (WebCore::CSSStyleSelector::applyProperty):
2504
2505 2012-01-11  Alexey Proskuryakov  <ap@apple.com>
2506
2507         Reviewed by Darin Adler. Prepared by Sheriff Bot. Rolling out r94902.
2508         http://trac.webkit.org/changeset/94902
2509         https://bugs.webkit.org/show_bug.cgi?id=75905
2510
2511         Disagrees with general direction for WebKit, and makes
2512         refactoring harder (Requested by ap on #webkit).
2513
2514         * loader/DocumentWriter.cpp:
2515         (WebCore::DocumentWriter::deprecatedFrameEncoding):
2516         * loader/DocumentWriter.h:
2517         * loader/FrameLoader.cpp:
2518         (WebCore::FrameLoader::addExtraFieldsToRequest):
2519         * platform/network/ResourceRequestBase.cpp:
2520         (WebCore::ResourceRequestBase::adopt):
2521         (WebCore::ResourceRequestBase::copyData):
2522         (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
2523         * platform/network/ResourceRequestBase.h:
2524
2525 2012-01-11  Eli Fidler  <efidler@rim.com>
2526
2527         Fix OpenGL dependency in CMake build system
2528         https://bugs.webkit.org/show_bug.cgi?id=73559
2529
2530         Reviewed by Daniel Bates.
2531
2532         * CMakeLists.txt:
2533         * PlatformEfl.cmake:
2534
2535 2012-01-11  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2536
2537         Use HashMap<OwnPtr> for RenderBoxRegionInfo map in RenderRegion
2538         https://bugs.webkit.org/show_bug.cgi?id=75348
2539
2540         Reviewed by Darin Adler.
2541
2542         * rendering/RenderFlowThread.cpp:
2543         (WebCore::RenderFlowThread::logicalWidthChangedInRegions): use OwnPtr.
2544         * rendering/RenderRegion.cpp:
2545         (WebCore::RenderRegion::setRenderBoxRegionInfo): use HashMap::add() instead of
2546         get() potentially followed by set().
2547         (WebCore::RenderRegion::takeRenderBoxRegionInfo): change to return PassOwnPtr.
2548         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
2549         (WebCore::RenderRegion::deleteAllRenderBoxRegionInfo):
2550         * rendering/RenderRegion.h:
2551
2552 2012-01-11  Joel Webber  <jgw@google.com>
2553
2554         Implement setCurrentTime() and pauseAnimations() on SVGSVGElement
2555         https://bugs.webkit.org/show_bug.cgi?id=12073
2556
2557         Reviewed by Nikolas Zimmermann.
2558
2559         Adds the ability to reset an SVGSMILElement internally. SVGSMILElements are no longer removed
2560         from their containers when they become inactive, because they sometimes have to be reactivated
2561         when the container's current time is changed.
2562
2563         Test: svg/animations/animate-setcurrenttime.html
2564
2565         * svg/SVGSVGElement.cpp:
2566         (WebCore::SVGSVGElement::setCurrentTime):
2567         * svg/animation/SMILTimeContainer.cpp:
2568         (WebCore::SMILTimeContainer::SMILTimeContainer):
2569         (WebCore::SMILTimeContainer::begin):
2570         (WebCore::SMILTimeContainer::pause):
2571         (WebCore::SMILTimeContainer::setElapsed):
2572         (WebCore::SMILTimeContainer::updateAnimations):
2573         * svg/animation/SMILTimeContainer.h:
2574         * svg/animation/SVGSMILElement.cpp:
2575         (WebCore::SVGSMILElement::reset):
2576         * svg/animation/SVGSMILElement.h:
2577
2578 2012-01-11  Peter Rybin  <peter.rybin@gmail.com>
2579
2580         Web Inspector: CodeGeneratorInspector.py: fix codestyle of generated enums
2581         https://bugs.webkit.org/show_bug.cgi?id=76062
2582
2583         Reviewed by Yury Semikhatsky.
2584
2585         This only changes how constants are named in generated .h file.
2586
2587         * inspector/CodeGeneratorInspector.py:
2588
2589 2012-01-11  Pavel Feldman  <pfeldman@google.com>
2590
2591         Web Inspector: "undefined" instead of error message in the SourceFrame.
2592         https://bugs.webkit.org/show_bug.cgi?id=76060
2593
2594         Reviewed by Yury Semikhatsky.
2595
2596         * inspector/front-end/ConsoleMessage.js:
2597         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
2598         (WebInspector.ConsoleMessageImpl.prototype.get message):
2599
2600 2012-01-11  Pavel Feldman  <pfeldman@google.com>
2601
2602         Web Inspector: make setOuterHTML use new DOMEditor, cover it with tests.
2603         https://bugs.webkit.org/show_bug.cgi?id=76056
2604
2605         Reviewed by Yury Semikhatsky.
2606
2607         Test: inspector/elements/set-outer-html.html
2608
2609         * inspector/DOMEditor.cpp:
2610         (WebCore::DOMEditor::Digest::Digest):
2611         (WebCore::DOMEditor::patchDocument):
2612         (WebCore::DOMEditor::patchNode):
2613         (WebCore::DOMEditor::innerPatchHTMLElement):
2614         (WebCore::DOMEditor::innerPatchNode):
2615         (WebCore::DOMEditor::diff):
2616         (WebCore::DOMEditor::innerPatchChildren):
2617         (WebCore::DOMEditor::createDigest):
2618         * inspector/DOMEditor.h:
2619         * inspector/Inspector-0.1.json:
2620         * inspector/Inspector.json:
2621         * inspector/InspectorDOMAgent.cpp:
2622         (WebCore::InspectorDOMAgent::setOuterHTML):
2623         * inspector/InspectorDOMAgent.h:
2624         * inspector/front-end/DOMAgent.js:
2625         (WebInspector.DOMNode):
2626         (WebInspector.DOMNode.prototype._renumber):
2627         * inspector/front-end/ElementsTreeOutline.js:
2628         ():
2629
2630 2012-01-10  Alexander Pavlov  <apavlov@chromium.org>
2631
2632         Web Inspector: introduce "source" column in the CSS profiler.
2633         https://bugs.webkit.org/show_bug.cgi?id=75378
2634
2635         Reviewed by Pavel Feldman.
2636
2637         Rules are no longer merged by their selectors but are shown one per profile entry, with a link to
2638         their selector in the source whenever the latter is available.
2639
2640         * inspector/Inspector.json:
2641         * inspector/InspectorCSSAgent.cpp:
2642         (WebCore::RuleMatchingStats::RuleMatchingStats):
2643         (WebCore::SelectorProfile::makeKey):
2644         (WebCore::SelectorProfile::startSelector):
2645         (WebCore::SelectorProfile::commitSelector):
2646         (WebCore::SelectorProfile::commitSelectorTime):
2647         (WebCore::SelectorProfile::toInspectorObject):
2648         (WebCore::InspectorCSSAgent::willMatchRule):
2649         (WebCore::InspectorCSSAgent::willProcessRule):
2650         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
2651         * inspector/InspectorStyleSheet.cpp:
2652         (WebCore::InspectorStyleSheet::styleSheetURL):
2653         (WebCore::InspectorStyleSheet::finalURL):
2654         (WebCore::InspectorStyleSheet::setRuleSelector):
2655         * inspector/InspectorStyleSheet.h:
2656         * inspector/front-end/CSSSelectorProfileView.js:
2657         (WebInspector.CSSSelectorDataGridNode.prototype.get rawData):
2658         (WebInspector.CSSSelectorDataGridNode.prototype.createCell):
2659         (WebInspector.CSSSelectorProfileView):
2660         (WebInspector.CSSSelectorProfileView.prototype._createProfileNodes):
2661         (WebInspector.CSSSelectorProfileView.prototype._sortProfile.sourceComparator):
2662         (WebInspector.CSSSelectorProfileView.prototype._sortProfile):
2663         * inspector/front-end/ProfilesPanel.js:
2664         (WebInspector.ProfilesPanel.prototype.sidebarResized):
2665         * inspector/front-end/dataGrid.css:
2666         (.data-grid:focus tr.selected a):
2667
2668 2012-01-11  Peter Rybin  <peter.rybin@gmail.com>
2669
2670         Web Inspector: CodeGeneratorInspector.py: generate enum types.
2671         https://bugs.webkit.org/show_bug.cgi?id=74954
2672
2673         Reviewed by Yury Semikhatsky.
2674
2675         Internal map of string contants is created. C enums are created for
2676         each JSON enum.
2677
2678         * inspector/CodeGeneratorInspector.py:
2679         (EnumConstants.add_constant):
2680         (EnumConstants):
2681         (EnumConstants.get_enum_constant_code):
2682         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
2683         (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
2684         (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
2685         (TypeBindings.create_type_declaration_.PlainString.reduce_to_raw_type):
2686         (TypeBindings.create_type_declaration_.PlainString.get_setter_value_expression_pattern):
2687         (get_in_c_type_text):
2688         (get_setter_value_expression_pattern):
2689         (PlainObjectBinding.get_in_c_type_text):
2690         (PlainObjectBinding.get_setter_value_expression_pattern):
2691         (RawTypesBinding.get_in_c_type_text):
2692         (RawTypesBinding.get_setter_value_expression_pattern):
2693         (get_annotated_type_text):
2694         (MethodGenerateModes.get_modes):
2695         (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
2696         (MethodGenerateModes.StrictParameterMode):
2697         (MethodGenerateModes.StrictParameterMode.get_setter_value_expression):
2698         (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
2699         (MethodGenerateModes.RawParameterMode):
2700         (MethodGenerateModes.RawParameterMode.get_setter_value_expression):
2701         (MethodGenerateModes.CombinedMode.get_c_param_type_text):
2702         (MethodGenerateModes):
2703         (MethodGenerateModes.CombinedMode):
2704         (MethodGenerateModes.CombinedMode.get_setter_value_expression):
2705
2706 2012-01-11  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2707
2708         Avoid separate heap allocation for each RenderRegionRange in RenderFlowThread
2709         https://bugs.webkit.org/show_bug.cgi?id=75908
2710
2711         Reviewed by Darin Adler.
2712
2713         There's no benefit in explicit allocating RenderRegionRange in the heap. So this
2714         patch changes the RenderRegionRangeMap to use the value type directly instead of
2715         the pointer.
2716
2717         * rendering/RenderFlowThread.cpp:
2718         (WebCore::RenderFlowThread::removeRegionFromThread):
2719         (WebCore::RenderFlowThread::layout):
2720         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
2721         (WebCore::RenderFlowThread::setRegionRangeForBox):
2722         (WebCore::RenderFlowThread::getRegionRangeForBox):
2723         * rendering/RenderFlowThread.h: add default constructor to act as emptyValue()
2724         for HashMap.
2725
2726 2012-01-09  Alexandru Chiculita  <achicu@adobe.com>
2727
2728         [CSS Shaders] Move CustomFilterOperation to the platform layer
2729         https://bugs.webkit.org/show_bug.cgi?id=74652
2730
2731         Reviewed by Chris Marrin.
2732
2733         FilterOperations are now part of the platform code and cannot reference style classes directly, but
2734         CustomFilterOperation requires to link to the CachedShader for the vertex and the fragment shader.
2735         
2736         The fix is to introduce another object that will actually keep a link to the cached resources, so in this patch 
2737         I'm adding a new class called CustomFilterProgram that will sit in the
2738         platform/graphics/filters directory and will be referenced from CustomFilterOperation.
2739
2740         CustomFilterProgram is the base class of StyleCustomFilterProgram that is created from 
2741         CSSStyleSelector when a new CustomFilterOperation is created. StyleCustomFilterProgram is responsible
2742         with loading and keeping references to the StyleCachedShaders and the CachedShaders.
2743
2744         More patches will follow with optimizations about reusing 3D graphics contexts and compiled shaders.
2745
2746         Tests: css3/filters/custom-filter-shader-cache.html
2747                css3/filters/missing-custom-filter-shader.html
2748
2749         * CMakeLists.txt:
2750         * GNUmakefile.list.am:
2751         * Target.pri:
2752         * WebCore.gypi:
2753         * WebCore.vcproj/WebCore.vcproj:
2754         * WebCore.xcodeproj/project.pbxproj:
2755         * css/CSSComputedStyleDeclaration.cpp:
2756         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
2757         * css/CSSStyleSelector.cpp:
2758         (WebCore::CSSStyleSelector::loadPendingShaders):
2759         (WebCore::CSSStyleSelector::createCustomFilterOperation):
2760             Updated to use the StyleCustomFilterProgram instead of the CustomFilterOperation.
2761         
2762         * platform/graphics/filters/CustomFilterOperation.h: Renamed from Source/WebCore/rendering/style/CustomFilterOperation.h.
2763         (WebCore::CustomFilterOperation::create):
2764             Accepts a CustomFilterProgram instead of vertex and fragment CachedShaders.
2765             
2766         (WebCore::CustomFilterOperation::program): Returns the CustomFilterProgram.
2767         
2768         (WebCore::CustomFilterOperation::CustomFilterOperation):
2769             Accepts a CustomFilterProgram instead of vertex and fragment CachedShaders.
2770             
2771         * platform/graphics/filters/CustomFilterProgram.cpp: Added.
2772         (WebCore::CustomFilterProgram::CustomFilterProgram):
2773         (WebCore::CustomFilterProgram::~CustomFilterProgram):
2774         (WebCore::CustomFilterProgram::addClient):
2775         (WebCore::CustomFilterProgram::removeClient):
2776         (WebCore::CustomFilterProgram::notifyClients):
2777         (WebCore::CustomFilterProgram::createShaderWithContext):
2778         * platform/graphics/filters/CustomFilterProgram.h: Added.
2779         * platform/graphics/filters/CustomFilterProgramClient.h: Added.
2780         (WebCore::CustomFilterProgramClient::~CustomFilterProgramClient):
2781         
2782         * platform/graphics/filters/FECustomFilter.cpp:
2783             FECustomFilter will not use strings anymore. It will just get a reference to the CustomFilterProgram.
2784         
2785         (WebCore::FECustomFilter::FECustomFilter):
2786         (WebCore::FECustomFilter::create):
2787         (WebCore::FECustomFilter::initializeContext):
2788             Using the CustomFilterProgram to generate the CustomFilterShader instance. A better name for CustomFilterShader
2789             would be CustomFilterCompiledProgram, but I would prefer to make that change in a different patch.
2790         
2791         * platform/graphics/filters/FECustomFilter.h:
2792         * rendering/FilterEffectRenderer.cpp:
2793         (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
2794         (WebCore::FilterEffectRenderer::build):
2795         (WebCore::FilterEffectRenderer::notifyCustomFilterProgramLoaded):
2796         (WebCore::FilterEffectRenderer::removeCustomFilterClients):
2797         * rendering/FilterEffectRenderer.h:
2798         * rendering/style/StyleCustomFilterProgram.h: Added.
2799         (WebCore::StyleCustomFilterProgram::create):
2800         (WebCore::StyleCustomFilterProgram::setVertexShader):
2801         (WebCore::StyleCustomFilterProgram::vertexShader):
2802         (WebCore::StyleCustomFilterProgram::setFragmentShader):
2803         (WebCore::StyleCustomFilterProgram::fragmentShader):
2804         (WebCore::StyleCustomFilterProgram::vertexShaderString):
2805         (WebCore::StyleCustomFilterProgram::fragmentShaderString):
2806         (WebCore::StyleCustomFilterProgram::isLoaded):
2807         (WebCore::StyleCustomFilterProgram::willHaveClients):
2808         (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
2809         (WebCore::StyleCustomFilterProgram::notifyFinished):
2810         (WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram):
2811
2812 2012-01-11  Alexandru Chiculita  <achicu@adobe.com>
2813
2814         CSS Filters: apply the filters in RenderLayerBacking::paintIntoLayer when filters cannot be composited in hardware
2815         https://bugs.webkit.org/show_bug.cgi?id=75842
2816
2817         Reviewed by Simon Fraser.
2818
2819         RenderLayers have two possible states: composited or not. When composited the RenderLayerBacking::paintIntoLayer is used
2820         to render the result inside the graphics context of the GraphicsLayer. When not composited the RenderLayer::paintLayer method will draw
2821         the result in the graphics context of the parent layer. 
2822
2823         Because a recent patch forced creation of composited layers for filters, this patch makes RenderLayerBacking::paintIntoLayer aware
2824         that it might need to apply the filters when the composition engine failed to apply them in platform code.
2825
2826         No new tests needed, I've just updated some of the old tests to force disable the accelerated composition
2827         so that we can still test software painted filters.
2828
2829         * platform/graphics/GraphicsLayer.h:
2830         (WebCore::GraphicsLayer::clearFilters):
2831         * platform/graphics/ca/GraphicsLayerCA.cpp:
2832         (WebCore::GraphicsLayerCA::setFilters):
2833             If filtersCanBeComposited() is false we need to reset the CoreAnimation layer to remove any previously applied filter.
2834         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2835         (PlatformCALayer::filtersCanBeComposited):
2836             Added grayscale, brightness and contrast in the list of not accelerated filters. Otherwise an assert if triggered.
2837         * rendering/FilterEffectRenderer.cpp:
2838         (WebCore::FilterEffectRenderer::updateBackingStore):
2839             Moved this method from RenderLayer::updateFilterBackingStore. It had no dependencies on RenderLayer.
2840         (WebCore::FilterEffectRendererHelper::beginFilterEffect):
2841         (WebCore::FilterEffectRendererHelper::applyFilterEffect):
2842             Consolidated the filter rendering inside this helper class that is now used in both RenderLayerBacking::paintIntoLayer and RenderLayer::paintLayer.
2843         * rendering/FilterEffectRenderer.h:
2844         (WebCore::FilterEffectRendererHelper::FilterEffectRendererHelper):
2845         (WebCore::FilterEffectRendererHelper::haveFilterEffect):
2846         (WebCore::FilterEffectRendererHelper::hasStartedFilterEffect):
2847         * rendering/RenderLayer.cpp:
2848         (WebCore::RenderLayer::paintLayer):
2849             Filters should apply after the opacity is applied, so I moved this down to paintLayerContents.
2850         (WebCore::RenderLayer::paintLayerContents):
2851         * rendering/RenderLayer.h:
2852         (WebCore::RenderLayer::filter):
2853         * rendering/RenderLayerBacking.cpp:
2854         (WebCore::RenderLayerBacking::paintIntoLayer):
2855             Added software fallback rendering of the filters on composited RenderLayers.
2856
2857 2012-01-11  Jochen Eisinger  <jochen@chromium.org>
2858
2859         Move the check for canExecuteScripts out of V8Proxy::retrieve
2860         https://bugs.webkit.org/show_bug.cgi?id=75533
2861
2862         Reviewed by Adam Barth.
2863
2864         This change doesn't move the check to custom/generated bindings for
2865         individual objects, as these won't get executed if scripts are disabled
2866         anyway.
2867
2868         No new tests. No functional change.
2869
2870         * bindings/v8/PageScriptDebugServer.cpp:
2871         (WebCore::PageScriptDebugServer::addListener):
2872         * bindings/v8/ScheduledAction.cpp:
2873         (WebCore::ScheduledAction::execute):
2874         * bindings/v8/ScriptCachedFrameData.cpp:
2875         (WebCore::ScriptCachedFrameData::restore):
2876         * bindings/v8/V8DOMWrapper.cpp:
2877         (WebCore::V8DOMWrapper::instantiateV8Object):
2878         * bindings/v8/V8EventListener.cpp:
2879         (WebCore::V8EventListener::callListenerFunction):
2880         * bindings/v8/V8LazyEventListener.cpp:
2881         (WebCore::V8LazyEventListener::callListenerFunction):
2882         (WebCore::V8LazyEventListener::prepareListenerObject):
2883         * bindings/v8/V8Proxy.cpp:
2884         (WebCore::V8Proxy::handleOutOfMemory):
2885         (WebCore::V8Proxy::retrieve):
2886         (WebCore::toV8Context):
2887
2888 2012-01-11  Kentaro Hara  <haraken@chromium.org>
2889
2890         ShouldSkipTypeInHeader() and ShouldSkipTypeInImplementation() should be the same
2891         https://bugs.webkit.org/show_bug.cgi?id=76030
2892
2893         Reviewed by Adam Barth.
2894
2895         Because the attributes/methods that do not appear in the implementation
2896         do not need to appear in the header.
2897
2898         Tests: bindings/scripts/test/TestCallback.idl
2899                bindings/scripts/test/TestObj.idl
2900
2901         * bindings/scripts/CodeGeneratorCPP.pm:
2902         (ShouldSkipType): Renamed from ShouldSkipTypeInImplementation().
2903         (GenerateHeader): Replaced ShouldSkipTypeInImplementation() with ShouldSkipType(),
2904         and replaced ShouldSkipTypeInHeader() with ShouldSkipType().
2905         (GenerateImplementation): Ditto.
2906         * bindings/scripts/test/CPP/WebDOMTestCallback.h: Updated the test result.
2907         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
2908
2909 2012-01-11  Zoltan Herczeg  <zherczeg@webkit.org>
2910
2911         Fix more style errors in CSSParser.cpp (followup patch)
2912         https://bugs.webkit.org/show_bug.cgi?id=76038
2913
2914         Reviewed by Nikolas Zimmermann.
2915
2916         The previous was: http://trac.webkit.org/changeset/104576
2917         This patch mostly contains C cast to static_cast rewrites.
2918
2919         * css/CSSParser.cpp:
2920         (WebCore::CSSParser::parseValue):
2921         (WebCore::CSSParser::parseBackgroundColor):
2922         (WebCore::ShadowParseContext::commitLength):
2923         (WebCore::BorderImageSliceParseContext::commitNumber):
2924         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
2925         (WebCore::BorderImageQuadParseContext::commitNumber):
2926         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
2927         (WebCore::parseDeprecatedGradientPoint):
2928
2929 2012-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
2930
2931         Not reviewed. Fix release builds.
2932
2933         * rendering/svg/SVGTextMetricsBuilder.cpp:
2934         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
2935
2936 2012-01-11  Kentaro Hara  <haraken@chromium.org>
2937
2938         REGRESSION(r101445): [V8] Generated code for custom getters and setters
2939         with the [Supplemental] IDL is wrong
2940         https://bugs.webkit.org/show_bug.cgi?id=76034
2941
2942         Reviewed by Adam Barth.
2943
2944         This patch fixes the class name of the implementation of custom getters
2945         and setters, as follows.
2946
2947         Previous V8TestInterface.cpp:
2948             // Attribute 'supplementalStr3'
2949             {"supplementalStr3", V8TestSupplemental::supplementalStr3AccessorGetter, V8TestSupplemental::supplementalStr3AccessorSetter, ...},
2950
2951         New V8TestInterface.cpp:
2952             // Attribute 'supplementalStr3'
2953             {"supplementalStr3", V8TestInterface::supplementalStr3AccessorGetter, V8TestInterface::supplementalStr3AccessorSetter, ...},
2954
2955         Test: bindings/scripts/test/TestInterface.idl
2956               bindings/scripts/test/TestSupplemental.idl
2957
2958         * bindings/scripts/CodeGeneratorV8.pm:
2959         (GenerateSingleBatchedAttribute):
2960         * bindings/scripts/test/V8/V8TestInterface.cpp:
2961
2962 2012-01-10  Nikolas Zimmermann  <nzimmermann@rim.com>
2963
2964         Large SVG text layout performance regression in r81168
2965         https://bugs.webkit.org/show_bug.cgi?id=65711
2966
2967         Reviewed by Zoltan Herczeg.
2968
2969         Introduce SVGTextMetricsBuilder, which will be used to speed-up measuring of SVG text,
2970         by using the simple code path, whenever possibly. It's not enabled yet, as it requires
2971         a restructurization of SVGTextLayoutAttributesBuilder - its the first chunk of a set
2972         of patches, that all together fix the performance regression and much more :-)
2973
2974         Doesn't affect any tests, SVGTextMetricsBuilder is not turned on yet.
2975
2976         * CMakeLists.txt: Add SVGTextMetricsBuilder.cpp/h to build.
2977         * GNUmakefile.list.am: Ditto.
2978         * Target.pri: Ditto.
2979         * WebCore.gypi: Ditto.
2980         * WebCore.vcproj/WebCore.vcproj: Ditto.
2981         * WebCore.xcodeproj/project.pbxproj: Ditto.
2982         * platform/graphics/Font.h:
2983         (WebCore::Font::codePath): Make it public, to be usable from SVGTextMetricsBuilder.
2984         * rendering/svg/RenderSVGAllInOne.cpp: Add SVGTextMetricsBuilder.cpp to build.
2985         * rendering/svg/RenderSVGText.cpp:
2986         * rendering/svg/RenderSVGText.h:
2987         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
2988         (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): SVGTextMetrics::emptyMetrics() is gone, adapt code.
2989         * rendering/svg/SVGTextLayoutEngine.cpp:
2990         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics): Ditto.
2991         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): Ditto.
2992         * rendering/svg/SVGTextMetrics.cpp:
2993         (WebCore::SVGTextMetrics::SVGTextMetrics): Made public, now used in SVGTextLayoutEngine.
2994         (WebCore::SVGTextMetrics::constructTextRun): Move to public static function, to be usable from SVGTextMetricsBuilder.
2995         * rendering/svg/SVGTextMetrics.h:
2996         (WebCore::SVGTextMetrics::isEmpty): Add new isEmpty method, which replaces the == empyMetrics().
2997         (WebCore::SVGTextMetrics::setWidth): Remove friendship with SVGTextLayoutAttributesBuilder, and make it public, to avoid another friendship.
2998         * rendering/svg/SVGTextMetricsBuilder.cpp: Added.
2999         (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
3000         (WebCore::SVGTextMetricsBuilder::advance):
3001         (WebCore::SVGTextMetricsBuilder::advanceSimpleText): New variant using WidthIterator directly, this is finally possible as SVG Fonts have been integrated into the glyph pages concept a while ago.
3002         (WebCore::SVGTextMetricsBuilder::advanceComplexText): Complex code path, accounting for sum of glyph widths != run width.
3003         (WebCore::SVGTextMetricsBuilder::measureTextRenderer): Either measure the text renderer, or just figure out lastCharacter.
3004         (WebCore::SVGTextMetricsBuilder::walkTreeUntilSpecificLeafIsReached): Walks SVG <text> tree, correctly computing "lastCharacter" until the leaf is reached.
3005         (WebCore::SVGTextMetricsBuilder::measureAllCharactersOfRenderer): Use above method.
3006         * rendering/svg/SVGTextMetricsBuilder.h: Added.
3007
3008 2012-01-11  Dan Bernstein  <mitz@apple.com>
3009
3010         <rdar://problem/10674686> Implement the font-kerning CSS property
3011         https://bugs.webkit.org/show_bug.cgi?id=76033
3012
3013         Reviewed by Darin Adler.
3014
3015         Tests: fast/text/font-kerning-expected.html
3016                fast/text/font-kerning.html
3017
3018         * css/CSSComputedStyleDeclaration.cpp:
3019         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added code to handle
3020         font-kerning.
3021         * css/CSSParser.cpp:
3022         (WebCore::CSSParser::parseValue): Ditto.
3023         * css/CSSPrimitiveValueMappings.h:
3024         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added mapping from FontDescription::Kerning.
3025         (WebCore::CSSPrimitiveValue::operator FontDescription::Kerning): Added mapping to
3026         FontDescription::Kerning.
3027         * css/CSSProperty.cpp:
3028         (WebCore::CSSProperty::isInheritedProperty): Added font-kerning to the set of inherited
3029         properties.
3030         * css/CSSPropertyNames.in: Added -webkit-font-kerning.
3031         * css/CSSStyleApplyProperty.cpp:
3032         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Added a handler for font-kerning.
3033         * css/CSSStyleSelector.cpp:
3034         (WebCore::CSSStyleSelector::applyDeclaration): Updated for the number of properties that
3035         affect the font.
3036         * platform/graphics/Font.h:
3037         (WebCore::Font::typesettingFeatures): Changed to enable kerning if font-kerning is set to
3038         normal, disable it if font-kerning is set to none, and leave it to the default (determined
3039         by the text-rendering property) if font-kerning is set to auto.
3040         * platform/graphics/FontDescription.h:
3041         (WebCore::FontDescription::FontDescription): Added a Kerning enum.
3042         (WebCore::FontDescription::kerning): Added this getter.
3043         (WebCore::FontDescription::setKerning): Added this setter.
3044         (WebCore::FontDescription::operator==): Updated to compare the m_kerning member.
3045
3046 2012-01-10  Ryosuke Niwa  <rniwa@webkit.org>
3047
3048         Build fix. Forgot to revert Node.h.
3049
3050         * dom/Node.h:
3051
3052 2012-01-10  Ryosuke Niwa  <rniwa@webkit.org>
3053
3054         Revert r104210. It turned out that this patch makes improving the node list caches harder.
3055
3056         * dom/Attr.cpp:
3057         (WebCore::Attr::setValue):
3058         (WebCore::Attr::childrenChanged):
3059         * dom/DynamicNodeList.cpp:
3060         (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
3061         (WebCore::DynamicSubtreeNodeList::length):
3062         (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
3063         (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
3064         (WebCore::DynamicSubtreeNodeList::item):
3065         (WebCore::DynamicSubtreeNodeList::invalidateCache):
3066         (WebCore::DynamicSubtreeNodeList::Caches::create):
3067         (WebCore::DynamicSubtreeNodeList::Caches::reset):
3068         * dom/DynamicNodeList.h:
3069         * dom/Element.cpp:
3070         (WebCore::Element::updateAfterAttributeChanged):
3071         * dom/Node.cpp:
3072         (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
3073         (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
3074         (WebCore::Node::notifyLocalNodeListsLabelChanged):
3075         (WebCore::Node::itemTypeAttributeChanged):
3076         (WebCore::NodeListsNodeData::invalidateCaches):
3077         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
3078         * dom/NodeRareData.h:
3079         * html/HTMLElement.cpp:
3080         (WebCore::HTMLElement::parseMappedAttribute):
3081         * html/HTMLLabelElement.cpp:
3082         (WebCore::HTMLLabelElement::parseMappedAttribute):
3083         * html/HTMLLabelElement.h:
3084
3085 2012-01-10  Sheriff Bot  <webkit.review.bot@gmail.com>
3086
3087         Unreviewed, rolling out r104263 and r104381.
3088         http://trac.webkit.org/changeset/104263
3089         http://trac.webkit.org/changeset/104381
3090         https://bugs.webkit.org/show_bug.cgi?id=76029
3091
3092         Preparation to rollout r104210 (Requested by rniwa on
3093         #webkit).
3094
3095         * dom/DynamicNodeList.cpp:
3096         (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache):
3097         (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache):
3098         (WebCore::DynamicSubtreeNodeList::length):
3099         (WebCore::DynamicSubtreeNodeList::item):
3100         * dom/DynamicNodeList.h:
3101         (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid):
3102         (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid):
3103         (WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent):
3104
3105 2012-01-10  David Kilzer  <ddkilzer@apple.com>
3106
3107         Add TestWebKitAPI tests for KURL
3108         <http://webkit.org/b/75774>
3109
3110         Reviewed by Adam Barth.
3111
3112         * WebCore.exp.in: Export additional KURL methods used in
3113         testing.
3114
3115 2012-01-10  Jer Noble  <jer.noble@apple.com>
3116
3117         Crash in HTMLMediaElement::shouldDisableSleep()
3118         https://bugs.webkit.org/show_bug.cgi?id=76025
3119
3120         Reviewed by Dan Bernstein.
3121
3122         Check nullity of m_player before dereferencing.
3123
3124         * html/HTMLMediaElement.cpp:
3125         (WebCore::HTMLMediaElement::shouldDisableSleep):
3126
3127 2012-01-04  Kent Tamura  <tkent@chromium.org>
3128
3129         A radio button not in a document should not join a radio button group
3130         https://bugs.webkit.org/show_bug.cgi?id=45719
3131
3132         Reviewed by Darin Adler.
3133
3134         As per the standard and other browser behaviors, we should not add a
3135         radio button not in a document to a radio button group.
3136
3137         So, CheckedRadioButton member functions should be called in
3138         insertedIntoDocument() and removedFromDocument(), and they should do
3139         nothing if the specified radio button is not in a document.
3140
3141         This change also fixes a bug that form owner change by 'form' attribute
3142         didn't update radio button groups correctly.
3143
3144         Test: fast/forms/radio/radio-group.html
3145
3146         * dom/CheckedRadioButtons.cpp:
3147         (WebCore::shouldMakeRadioGroup): A helper function to check <input> state.
3148         (WebCore::CheckedRadioButtons::addButton):
3149         - Change the argument type: HTMLFormControlElement* -> HTMLInputElement*.
3150         - Use shouldMakeRadioGroup().
3151         (WebCore::CheckedRadioButtons::removeButton): ditto.
3152         * dom/CheckedRadioButtons.h:
3153          Change the argument types of addButton() and removeButton():
3154          HTMLFormControlElement* -> HTMLInputElement*.
3155         * html/FormAssociatedElement.cpp:
3156          Do not update m_form except in setForm() and formWillBeDestroyed().
3157          This helps us to call registerFormElement() and removeFromElement()
3158          correctly, and call willChangeForm()/didChangeForm() hooks correctly.
3159         (WebCore::FormAssociatedElement::FormAssociatedElement):
3160         (WebCore::FormAssociatedElement::~FormAssociatedElement):
3161         (WebCore::FormAssociatedElement::insertedIntoTree):
3162         (WebCore::FormAssociatedElement::removedFromTree):
3163         (WebCore::FormAssociatedElement::setForm):
3164         (WebCore::FormAssociatedElement::willChangeForm):
3165         This virtual function is called before the owner form is updated.
3166         (WebCore::FormAssociatedElement::didChangeForm):
3167         This virtual function is called after the owner form was updated.
3168         (WebCore::FormAssociatedElement::formWillBeDestroyed):
3169         - Renamaed from formDestroyed()
3170         - Add calls to willChangeForm() and didChangeForm().
3171         (WebCore::FormAssociatedElement::resetFormOwner): Use setForm().
3172         (WebCore::FormAssociatedElement::formAttributeChanged): ditto.
3173         * html/FormAssociatedElement.h:
3174         * html/HTMLFormControlElement.cpp:
3175         (WebCore::HTMLFormControlElement::HTMLFormControlElement): Use setForm().
3176         (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
3177         removeFormElement() is not needed. ~FormAssociatedElement() treats it.
3178         (WebCore::HTMLFormControlElement::parseMappedAttribute):
3179         No need to handle CheckedRadioButtons here. It is handled by HTMLInputElement.
3180         (WebCore::HTMLFormControlElement::insertedIntoTree): ditto.
3181         * html/HTMLFormElement.cpp:
3182         (WebCore::HTMLFormElement::~HTMLFormElement):
3183          Rename formDestroyed() with willDestroyForm().
3184         (WebCore::HTMLFormElement::registerFormElement):
3185         We don't need to handle radio button groups here.
3186         (WebCore::HTMLFormElement::removeFormElement): ditto.
3187         * html/HTMLInputElement.cpp:
3188         (WebCore::HTMLInputElement::~HTMLInputElement):
3189         Calls setForm(0) so that it calls correct virtual functions of
3190         HTMLInputElement.
3191         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
3192         Checking attached() was wrong.
3193         (WebCore::HTMLInputElement::willChangeForm):
3194         Remove this radio button from a radio button group for the old form.
3195         (WebCore::HTMLInputElement::didChangeForm):
3196         Add this radio button to a radio button group for the new form.
3197         (WebCore::HTMLInputElement::insertedIntoDocument):
3198         Add CheckedRadioButtons::addButton() call.
3199         (WebCore::HTMLInputElement::removedFromDocument):
3200         Add CheckedRadioButtons::removeButton() call.
3201         (WebCore::HTMLInputElement::didMoveToNewDocument):
3202         We don't need to handle CheckedRadioButton() here because
3203         removedFromDocument() handles it.
3204         * html/HTMLInputElement.h:
3205         * html/HTMLObjectElement.cpp:
3206         (WebCore::HTMLObjectElement::HTMLObjectElement): Use setForm().
3207         (WebCore::HTMLObjectElement::~HTMLObjectElement):
3208         removeFormElement() is not needed. ~FormAssociatedElement() treats it.
3209
3210 2012-01-10  Kentaro Hara  <haraken@chromium.org>
3211
3212         Remove redundant code from DOMWindowSQLDatabase.cpp
3213         https://bugs.webkit.org/show_bug.cgi?id=76010
3214
3215         Reviewed by Adam Barth.
3216
3217         This patch removes redundant code from DOMWindowSQLDatabase.cpp.
3218
3219         - Remove window->frame() check, since window->frame() is always true when
3220           window->isCurrentlyDisplayedInFrame() is true.
3221         - window->frame()->document() can just be window->document()
3222
3223         Tests: storage/open-database-creation-callback-isolated-world.html
3224                storage/open-database-creation-callback.html
3225                storage/open-database-empty-version.html
3226                storage/open-database-over-quota.html
3227                storage/open-database-set-empty-version.html
3228                storage/open-database-while-transaction-in-progress.html
3229
3230         * storage/DOMWindowSQLDatabase.cpp:
3231         (WebCore::DOMWindowSQLDatabase::openDatabase):
3232
3233 2012-01-10  Dale Curtis  <dalecurtis@chromium.org>
3234
3235         Repaint video controls when buffering during pause.
3236         https://bugs.webkit.org/show_bug.cgi?id=73957
3237
3238         Pipes support for a new bufferingProgressed() method on MediaControls
3239         elements. Allows controls to be repainted as data buffers when paused.
3240
3241         Reviewed by Hajime Morita.
3242
3243         Test: http/tests/media/video-buffering-repaints-controls.html
3244
3245         * html/HTMLMediaElement.cpp:
3246         (WebCore::HTMLMediaElement::setNetworkState):
3247         (WebCore::HTMLMediaElement::progressEventTimerFired):
3248         * html/shadow/MediaControlRootElement.cpp:
3249         (WebCore::MediaControlRootElement::bufferingProgressed):
3250         * html/shadow/MediaControlRootElement.h:
3251         * html/shadow/MediaControlRootElementChromium.cpp:
3252         (WebCore::MediaControlRootElementChromium::bufferingProgressed):
3253         * html/shadow/MediaControlRootElementChromium.h:
3254         * html/shadow/MediaControls.h:
3255
3256 2012-01-10  Daniel Cheng  <dcheng@chromium.org>
3257
3258         [chromium] Pasteboard::documentFragment should fall back to text if there's no HTML text
3259         https://bugs.webkit.org/show_bug.cgi?id=75923
3260
3261         Reviewed by Tony Chang.
3262
3263         Test: editing/pasteboard/pasting-empty-html-falls-back-to-text.html
3264
3265         * platform/chromium/PasteboardChromium.cpp:
3266         (WebCore::Pasteboard::documentFragment):
3267
3268 2012-01-10  Kentaro Hara  <haraken@chromium.org>
3269
3270         Use the [Supplemental] IDL in SQLDatabase
3271         https://bugs.webkit.org/show_bug.cgi?id=76004
3272
3273         Reviewed by Adam Barth.
3274
3275         We've been working on WebKit modularization. By using the [Supplemental] IDL,
3276         we can move SQLDatabase related code from WebCore/page/DOMWindow.{h,cpp,idl}
3277         to WebCore/storage/DOMWindowSQLDatabase.{h,cpp,idl}.
3278
3279         Tests: storage/open-database-creation-callback-isolated-world.html
3280                storage/open-database-creation-callback.html
3281                storage/open-database-empty-version.html
3282                storage/open-database-over-quota.html
3283                storage/open-database-set-empty-version.html
3284                storage/open-database-while-transaction-in-progress.html
3285
3286         * CMakeLists.txt: Added DOMWindowSQLDatabase.{idl,h,cpp} to the build script.
3287         * DerivedSources.make: Ditto.
3288         * DerivedSources.pri: Ditto.
3289         * GNUmakefile.list.am: Ditto.
3290         * Target.pri: Ditto.
3291         * WebCore.gypi: Ditto.
3292         * WebCore.vcproj/WebCore.vcproj: Ditto.
3293         * WebCore.xcodeproj/project.pbxproj: Ditto.
3294
3295         * page/DOMWindow.cpp: Removed SQLDatabase related code.
3296         * page/DOMWindow.idl: Ditto.
3297         * page/DOMWindow.h: Ditto. Moved isCurrentlyDisplayedInFrame() from private: to public:
3298         so that DOMWindowSQLDatabase::openDatabase() can access it.
3299
3300         * storage/DOMWindowSQLDatabase.cpp: Added. Moved openDatabase() from DOMWindow.cpp to here.
3301         (WebCore::DOMWindowSQLDatabase::openDatabase):
3302         * storage/DOMWindowSQLDatabase.h: Added. Moved openDatabase() from DOMWindow.h to here.
3303         * storage/DOMWindowSQLDatabase.idl: Added. Using the [Supplemental] IDL, moved openDatabase()
3304         and SQLException from DOMWindow.idl to here.
3305
3306 2012-01-10  Chris Marrin  <cmarrin@apple.com>
3307
3308         CIFilter version of Sepia Tone filter doesn't match software
3309         https://bugs.webkit.org/show_bug.cgi?id=75129
3310
3311         Reviewed by Simon Fraser.
3312
3313         Changed sepia tone filter to use a CIColorMatrix filter with
3314         values that match sw filter.
3315
3316         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3317         (interp):
3318         (PlatformCALayer::setFilters):
3319
3320 2012-01-10  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3321
3322         [Qt][WK2]REGRESSION(r102435): It made tst_QQuickWebView::show() crash
3323         https://bugs.webkit.org/show_bug.cgi?id=74176
3324
3325         Reviewed by Noam Rosenthal.
3326
3327         Replaces static global GL resource holder with holder shared between
3328         TextureMapperGL instances created on the same GL context. Also adds
3329         deallocation of GL resources when last TextureMapperGL instance on the 
3330         current GL context gets deleted.
3331
3332         Tested by multipleWebViewWindows and multipleWebViews Qt WK2 API tests.
3333
3334         * platform/graphics/opengl/TextureMapperGL.cpp:
3335         (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
3336         (WebCore::TextureMapperGLData::SharedGLData::glContextDataMap):
3337         (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
3338         (WebCore::TextureMapperGLData::SharedGLData::ProgramInfo::ProgramInfo):
3339         (WebCore::TextureMapperGLData::SharedGLData::createShaderProgram):
3340         (WebCore::TextureMapperGLData::SharedGLData::deleteShaderProgram):
3341         (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
3342         (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
3343         (WebCore::TextureMapperGLData::sharedGLData):
3344         (WebCore::TextureMapperGLData::TextureMapperGLData):
3345         (WebCore::TextureMapperGLData::SharedGLData::initializeShaders):
3346         (WebCore::TextureMapperGL::beginPainting):
3347         (WebCore::TextureMapperGL::drawTexture):
3348         (WebCore::BitmapTextureGL::bind):
3349         (WebCore::TextureMapperGL::bindSurface):
3350         (WebCore::TextureMapperGL::beginClip):
3351         (WebCore::TextureMapperGL::endClip):
3352         * platform/graphics/opengl/TextureMapperGL.h:
3353
3354 2012-01-10  Simon Fraser  <simon.fraser@apple.com>
3355
3356         Disabled mock scrollbars should draw differently
3357         https://bugs.webkit.org/show_bug.cgi?id=75995
3358
3359         Reviewed by James Robinson.
3360         
3361         When the scrollbar is disabled, paint the entire track of
3362         mock scrollbars with a lighter gray, and hide the thumb.
3363
3364         No tests, since mock scrollbars aren't enabled by default on Mac yet.
3365
3366         * platform/mock/ScrollbarThemeMock.cpp:
3367         (WebCore::ScrollbarThemeMock::paintTrackBackground):
3368         (WebCore::ScrollbarThemeMock::paintThumb):
3369
3370 2012-01-10  Tony Chang  <tony@chromium.org>
3371
3372         Need to handle absolutely positioned elements inside flexboxes
3373         https://bugs.webkit.org/show_bug.cgi?id=70793
3374
3375         Reviewed by David Hyatt.
3376
3377         Tests: css3/flexbox/insert-text-crash.html
3378                css3/flexbox/position-absolute-child.html
3379
3380         * rendering/RenderFlexibleBox.cpp:
3381         (WebCore::RenderFlexibleBox::computePreferredMainAxisExtent): Skip the size of positioned elements.
3382         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Add placeholders for positioned elements.
3383         (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout): Positions the layer for the positioned child.
3384         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Handle positioned elements.
3385         (WebCore::RenderFlexibleBox::layoutColumnReverse): Adjust the main axis offset of the layer for positioned elements.
3386         * rendering/RenderFlexibleBox.h:
3387
3388 2012-01-10  Nat Duca  <nduca@chromium.org>
3389
3390         [chromium] Reuse old timebase when activating CCDelayBasedTimeSource
3391         https://bugs.webkit.org/show_bug.cgi?id=75938
3392
3393         Reviewed by James Robinson.
3394
3395         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
3396         (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
3397         (WebCore::CCDelayBasedTimeSource::setActive):
3398         (WebCore::CCDelayBasedTimeSource::onTimerFired):
3399         (WebCore::CCDelayBasedTimeSource::postNextTickTask):
3400         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
3401
3402 2012-01-10  Kentaro Hara  <haraken@chromium.org>
3403
3404         Support the [Supplemental] IDL on methods
3405         https://bugs.webkit.org/show_bug.cgi?id=75944
3406
3407         Reviewed by Adam Barth.
3408
3409         The spec for the [Supplemental] IDL:
3410         http://dev.w3.org/2006/webapi/WebIDL/#dfn-supplemental-interface
3411
3412         Currently the [Supplemental] IDL is supported on attributes but not supported
3413         on methods. This patch makes a change to support it.
3414
3415         Specifically, assume the following IDL:
3416
3417             interface [Supplemental=X] Y {
3418                 void func();
3419             }
3420
3421         Then the code generator generates the following V8X.cpp.
3422
3423             void funcCallback(Arguments& args) {
3424                 X* imp = V8X::toNative(args.Holder());
3425                 Y::func(imp);
3426             }
3427
3428         Similar code is also generated for JS, ObjC, GObject and CPP bindings.
3429
3430         Test: bindings/scripts/test/TestSupplemental.idl
3431
3432         * bindings/scripts/CodeGeneratorCPP.pm: Modified as described above.
3433         (GenerateImplementation):
3434         * bindings/scripts/CodeGeneratorGObject.pm: Ditto.
3435         (GenerateFunction):
3436         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
3437         (GenerateParametersCheck):
3438         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
3439         (GenerateImplementation):
3440         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3441         (GenerateFunctionCallString):
3442         * bindings/scripts/generate-bindings.pl: Ditto.
3443
3444         * bindings/scripts/test/TestSupplemental.idl: Added test cases for [Supplemental] methods.
3445
3446         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated the test result.
3447         (WebDOMTestInterface::supplementalMethod1):
3448         (WebDOMTestInterface::supplementalMethod2):
3449         * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
3450         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
3451         (webkit_dom_test_interface_supplemental_method1):
3452         (webkit_dom_test_interface_supplemental_method2):
3453         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
3454         * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
3455         (WebCore::JSTestInterfacePrototype::getOwnPropertySlot):
3456         (WebCore::JSTestInterfacePrototype::getOwnPropertyDescriptor):
3457         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
3458         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
3459         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
3460         * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
3461         * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
3462         (-[DOMTestInterface supplementalMethod1]):
3463         (-[DOMTestInterface supplementalMethod2:objArg:]):
3464         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
3465         (WebCore::TestInterfaceInternal::supplementalMethod1Callback):
3466         (WebCore::TestInterfaceInternal::supplementalMethod2Callback):
3467         (WebCore::ConfigureV8TestInterfaceTemplate):
3468
3469 2012-01-10  Kentaro Hara  <haraken@chromium.org>
3470
3471         [Refactoring] Rename attributes in TestSupplemental.idl to clarify