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