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