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