31f81ed427c2da502277e6a13ec46a86f48f609f
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-02  Emil A Eklund  <eae@chromium.org>
2
3         Revert borders to integers for subpixel layout
4         https://bugs.webkit.org/show_bug.cgi?id=80175
5
6         Reviewed by Eric Seidel.
7
8         Change border representation and calculation back to integers to ensure
9         that borders given the same width are rendered with the same actual width.
10
11         This will also avoid unnecessary type conversions when we switch over
12         to subpixel precision.
13
14         No new tests.
15
16         * rendering/LayoutTypes.h:
17         (WebCore::pixelSnappedIntRect):
18         (WebCore):
19         * rendering/RenderBoxModelObject.h:
20         (WebCore::RenderBoxModelObject::borderTop):
21         (WebCore::RenderBoxModelObject::borderBottom):
22         (WebCore::RenderBoxModelObject::borderLeft):
23         (WebCore::RenderBoxModelObject::borderRight):
24         (WebCore::RenderBoxModelObject::borderBefore):
25         (WebCore::RenderBoxModelObject::borderAfter):
26         (WebCore::RenderBoxModelObject::borderStart):
27         (WebCore::RenderBoxModelObject::borderEnd):
28         * rendering/RenderTable.cpp:
29         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
30         (WebCore::RenderTable::calcBorderStart):
31         (WebCore::RenderTable::calcBorderEnd):
32         (WebCore::RenderTable::borderBefore):
33         (WebCore::RenderTable::borderAfter):
34         (WebCore::RenderTable::outerBorderBefore):
35         (WebCore::RenderTable::outerBorderAfter):
36         (WebCore::RenderTable::outerBorderStart):
37         (WebCore::RenderTable::outerBorderEnd):
38         * rendering/RenderTable.h:
39         (WebCore::RenderTable::borderStart):
40         (WebCore::RenderTable::borderEnd):
41         (RenderTable):
42         (WebCore::RenderTable::borderLeft):
43         (WebCore::RenderTable::borderRight):
44         (WebCore::RenderTable::borderTop):
45         (WebCore::RenderTable::borderBottom):
46         (WebCore::RenderTable::outerBorderLeft):
47         (WebCore::RenderTable::outerBorderRight):
48         (WebCore::RenderTable::outerBorderTop):
49         (WebCore::RenderTable::outerBorderBottom):
50         * rendering/RenderTableCell.cpp:
51         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
52         (WebCore::RenderTableCell::borderLeft):
53         (WebCore::RenderTableCell::borderRight):
54         (WebCore::RenderTableCell::borderTop):
55         (WebCore::RenderTableCell::borderBottom):
56         (WebCore::RenderTableCell::borderStart):
57         (WebCore::RenderTableCell::borderEnd):
58         (WebCore::RenderTableCell::borderBefore):
59         (WebCore::RenderTableCell::borderAfter):
60         (WebCore::RenderTableCell::borderHalfLeft):
61         (WebCore::RenderTableCell::borderHalfRight):
62         (WebCore::RenderTableCell::borderHalfTop):
63         (WebCore::RenderTableCell::borderHalfBottom):
64         (WebCore::RenderTableCell::borderHalfStart):
65         (WebCore::RenderTableCell::borderHalfEnd):
66         (WebCore::RenderTableCell::borderHalfBefore):
67         (WebCore::RenderTableCell::borderHalfAfter):
68         (WebCore::RenderTableCell::paintCollapsedBorders):
69         * rendering/RenderTableCell.h:
70         (RenderTableCell):
71
72 2012-03-01  Eric Seidel  <eric@webkit.org>
73
74         Chrome 18 fails html5test.com XHR Blob response test
75         https://bugs.webkit.org/show_bug.cgi?id=76760
76
77         Reviewed by Adam Barth.
78
79         Most of the code was already there, this just fixes the FIXME
80         which was causing this feature not to work.  Chromium already
81         had this #ifdef enabled, but other ports (at least Mac) do not.
82
83         Test: fast/files/xhr-response-blob.html
84
85         * xml/XMLHttpRequest.cpp:
86         (WebCore::XMLHttpRequest::didFinishLoading):
87
88 2012-03-02  Kentaro Hara  <haraken@chromium.org>
89
90         Revert Worker-related APIs from DOMWindowWorker.idl back to DOMWindow.idl
91         https://bugs.webkit.org/show_bug.cgi?id=80151
92
93         Reviewed by Adam Barth.
94
95         Based on the discussion on webkit-dev@
96         (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
97         this patch reverts Worker-related APIs from DOMWindowWorker.idl back to DOMWindow.idl.
98
99         No tests. No change in behavior.
100
101         * CMakeLists.txt:
102         * DerivedSources.make:
103         * DerivedSources.pri:
104         * GNUmakefile.list.am:
105         * WebCore.gypi:
106         * page/DOMWindow.idl:
107         * workers/DOMWindowWorker.idl: Removed.
108
109 2012-03-02  Kentaro Hara  <haraken@chromium.org>
110
111         Revert HTML-related APIs from DOMWindowHTML.idl back to DOMWindow.idl
112         https://bugs.webkit.org/show_bug.cgi?id=80140
113
114         Reviewed by Adam Barth.
115
116         Based on the discussion on webkit-dev@
117         (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
118         we should revert HTML-related APIs from DOMWindowHTML.idl back to DOMWindow.idl.
119
120         No tests. No change in behavior.
121
122         * CMakeLists.txt:
123         * DerivedSources.make:
124         * DerivedSources.pri:
125         * GNUmakefile.list.am:
126         * WebCore.gypi:
127         * WebCore.xcodeproj/project.pbxproj:
128         * html/DOMWindowHTML.idl: Removed.
129         * page/DOMWindow.idl:
130
131 2012-03-02  Kentaro Hara  <haraken@chromium.org>
132
133         Revert XML-related APIs from DOMWindowXML.idl back to DOMWindow.idl
134         https://bugs.webkit.org/show_bug.cgi?id=80148
135
136         Reviewed by Adam Barth.
137
138         Based on the discussion on webkit-dev@
139         (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
140         this patch reverts XML-related APIs from DOMWindowXML.idl back to DOMWindow.idl.
141
142         No tests. No change in behavior.
143
144         * CMakeLists.txt:
145         * DerivedSources.make:
146         * DerivedSources.pri:
147         * GNUmakefile.list.am:
148         * WebCore.gypi:
149         * WebCore.xcodeproj/project.pbxproj:
150         * page/DOMWindow.idl:
151         * xml/DOMWindowXML.idl: Removed.
152
153 2012-03-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
154
155         Implement NamedNodeMap::setNamedItem() in terms of Element::setAttributeNode() instead of the other way round
156         https://bugs.webkit.org/show_bug.cgi?id=80188
157
158         Reviewed by Ryosuke Niwa.
159
160         Using setNamedItem() in setAttributeNode() implementation made us do unnecessary
161         checks like whether the element existed or whether the given node was an
162         attribute. So now setAttributeNode() do less work.
163
164         No new tests were added, functionality should be unchanged.
165
166         * dom/Element.cpp:
167         (WebCore::Element::setAttributeNode):
168         (WebCore::Element::setAttributeNodeNS):
169         * dom/Element.h:
170         (Element):
171         (WebCore::Element::attributes): We got rid of ensureUpdatedAttributes(), next in
172         line will be updatedAttributes().
173         * dom/NamedNodeMap.cpp:
174         (WebCore::NamedNodeMap::setNamedItem):
175
176 2012-03-02  SravanKumar Sandela  <ssandela@innominds.com>
177
178         Layout issue with fieldset legend element
179         https://bugs.webkit.org/show_bug.cgi?id=78684
180
181         Reviewed by Dirk Pranke.
182
183         The clipping logic for legend element was incorrect and now it has been corrected by taking correct offset in to consideration. 
184
185         Test: fast/forms/fieldset-legend-padding-unclipped-fieldset-border.html
186
187         * rendering/RenderFieldset.cpp:
188         (WebCore::RenderFieldset::paintBoxDecorations):
189
190 2012-03-02  Erik Arvidsson  <arv@chromium.org>
191
192         [V8] Bindings for node always check if they are a Document.
193         https://bugs.webkit.org/show_bug.cgi?id=79947
194
195         Reviewed by Adam Barth.
196
197         This changes the generated bindings code to only generate the Document code for the Document wrappers.
198
199         No new tests. Covered by existing tests.
200
201         * bindings/scripts/CodeGeneratorV8.pm:
202         (GenerateToV8Converters):
203         * bindings/scripts/test/V8/V8Float64Array.cpp:
204         (WebCore::V8Float64Array::wrapSlow):
205         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
206         (WebCore::V8TestActiveDOMObject::wrapSlow):
207         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
208         (WebCore::V8TestCustomNamedGetter::wrapSlow):
209         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
210         (WebCore::V8TestEventConstructor::wrapSlow):
211         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
212         (WebCore::V8TestEventTarget::wrapSlow):
213         * bindings/scripts/test/V8/V8TestInterface.cpp:
214         (WebCore::V8TestInterface::wrapSlow):
215         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
216         (WebCore::V8TestMediaQueryListListener::wrapSlow):
217         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
218         (WebCore::V8TestNamedConstructor::wrapSlow):
219         * bindings/scripts/test/V8/V8TestObj.cpp:
220         (WebCore::V8TestObj::wrapSlow):
221         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
222         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
223
224 2012-03-02  Igor Oliveira  <igor.o@sisa.samsung.com>
225
226         animation-timing-function falls back to ease when overriding animation-name
227         https://bugs.webkit.org/show_bug.cgi?id=71623
228
229         In this patch the animation name needs to be the first value declared, if
230         a different value is found, we do not check for the animation name again.  
231
232         Reviewed by Dean Jackson.
233
234         Test: animations/animation-shorthand-overriding.html
235
236         * css/CSSParser.cpp:
237         (WebCore::CSSParser::parseAnimationShorthand):
238
239 2012-03-02  Martin Robinson  <mrobinson@igalia.com>
240
241         [GTK] [AC] Connect WebGL to the TextureMapperGL code
242         https://bugs.webkit.org/show_bug.cgi?id=78968
243
244         Reviewed by Gustavo Noronha Silva.
245
246         No new tests. This is covered by existing accelerated compositing and
247         WebGL tests.
248
249         Rely on the shared version of GL acquisition from GLContext. This reduces
250         a lot of code and now allows us to connect WebGL into the accelerated compositing
251         rendering path.
252
253         * GNUmakefile.list.am: GLContext should be included for all X11 builds now.
254         There are no longer GTK+ specific versions of GraphicsContext3D.
255         * platform/graphics/GraphicsContext3D.h: Add a default argument for
256         resolveMultisamplingIfNecessary. This will resolve the entire texture.
257         * platform/graphics/cairo/GraphicsContext3DCairo.cpp: GraphicsContext3D is
258         now responsible for creating GraphicsContext3DPrivate in the constructor.
259         (WebCore::GraphicsContext3D::platformLayer): Now return m_private.
260         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Added.
261         * platform/graphics/cairo/GraphicsContext3DPrivate.h: Renamed from Source/WebCore/platform/graphics/glx/GraphicsContext3DPrivate.h.
262         * platform/graphics/glx/GraphicsContext3DPrivate.cpp: Removed.
263         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
264         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Properly
265         handle the default argument.
266         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
267         (WebCore::GraphicsContext3D::prepareTexture): Use the new default argument now.
268         (WebCore::GraphicsContext3D::readRenderingResults): Ditto.
269
270 2012-02-18  Martin Robinson  <mrobinson@igalia.com>
271
272         [GTK] [AC] Generalize WindowContextGL
273         https://bugs.webkit.org/show_bug.cgi?id=78969
274
275         Reviewed by Gustavo Noronha Silva.
276
277         No new tests. This should not change functionality.
278
279         * GNUmakefile.list.am: Added new files to source list.
280         * platform/graphics/cairo/GLContext.h: Added. An abstraction for all GL contexts.
281         * platform/graphics/glx/GLContextGLX.cpp: Added. This file is composed of very little
282         new code, as the logic for instantiating offscreen GL contexts is copied from
283         GraphicsContext3DPrivate. The code duplication will be removed in a followup patch.
284         (WebCore::GLContext::platformContext):
285         * platform/graphics/gtk/GLContextGtk.cpp: Added. This includes some helper factories
286         for creating and caching GL contexts for GTK+ widgets.
287
288 2012-03-02  W. James MacLean  <wjmaclean@chromium.org>
289
290         [chromium] Remove TRACE_EVENT from CCQuadCuller::cullOccludedQuads.
291         https://bugs.webkit.org/show_bug.cgi?id=80174
292
293         Reviewed by James Robinson.
294
295         Covered by existing chromium unit tests.
296
297         Firing TRACE_EVENT once per draw quad is overwhelming.
298
299         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
300         (WebCore::CCQuadCuller::cullOccludedQuads):
301
302 2012-03-02  Erik Arvidsson  <arv@chromium.org>
303
304         [V8] Make inline event attributes use evt for SVG and event otherwise
305         https://bugs.webkit.org/show_bug.cgi?id=80167
306
307         Reviewed by Ojan Vafai.
308
309         Test: fast/dom/inline-event-attributes-event-param-name.html
310
311         * bindings/v8/V8LazyEventListener.cpp:
312         (WebCore::V8LazyEventListener::prepareListenerObject):
313
314 2012-03-02  Gavin Peters  <gavinp@chromium.org>
315
316         Sync PageCache debugging with PageCache behaviour
317         https://bugs.webkit.org/show_bug.cgi?id=79943
318
319         Sync up the debug printing code in PageCache with the actual logic,
320         and clean up the debug printing at the same time.
321
322         Reviewed by Brady Eidson.
323
324         No new tests, as this is a refactor of debug only code.
325
326         * history/PageCache.cpp:
327         (WebCore):
328         (WebCore::logCanCacheFrameDecision):
329         (WebCore::logCanCachePageDecision):
330
331 2012-03-02  Maciej Stachowiak  <mjs@apple.com>
332
333         REGRESSION(r97353): Crash when accessing location or history properties inside a navigated window
334         https://bugs.webkit.org/show_bug.cgi?id=80133
335         <rdar://problem/10432233>
336         
337         Reviewed by Antti Koivisto.
338
339         Test: fast/dom/Window/navigated-window-properties.html
340
341         * bindings/js/JSDOMWindowCustom.cpp:
342         (WebCore): Remove custom getters for window.location and window.history; they
343         were unnecessary and did the wrong thing when DOMWindow returned null values 
344         for these.
345         * page/DOMWindow.idl: ditto
346         * bindings/js/JSDOMBinding.cpp:
347         (WebCore::reportException): Remove assert about null values and update comment,
348         since this is now an expected state for navigated inner windows.
349
350 2012-03-02  Ryosuke Niwa  <rniwa@webkit.org>
351
352         REGRESSION(r74971): Can't select a line of RTL text on Facebook
353         https://bugs.webkit.org/show_bug.cgi?id=59435
354
355         Reviewed by Eric Seidel.
356
357         The bug was caused by inline text boxes created by BRs being placed at the end of the line
358         according to the block's direction regardless of its unicode bidi-level. e.g. if we have
359         <div dir="rtl"><span dir="ltr">hello<br>world</span></div>
360         the inline box generated by the br has the bidi-level of 2 like the rest of text in the span.
361         This inline text box gives an illusion of having text on the left of "hello" to hit testing
362         and editing code and causes all sorts of problems.
363
364         Fixed the bug by replacing calls to nextLeafChild and prevLeafChild by newly introduced
365         nextLeafChildIgnoringLineBreak and prevLeafChildIgnoringLineBreak. These two functions will
366         return 0 when they hit the end of a line or inline text box that's a line break. In effect,
367         hit testing and editing code can ignore inline boxes generated by br's.
368
369         In the long term, we should move these two functions into RenderedPosition along with the rest
370         of code that converts a Position and an inline box, offset pair.
371
372         Test: editing/selection/select-line-break-with-opposite-directionality.html
373
374         * dom/Position.cpp:
375         (WebCore::Position::getInlineBoxAndOffset):
376         * editing/RenderedPosition.cpp:
377         (WebCore::RenderedPosition::prevLeafChild):
378         (WebCore::RenderedPosition::nextLeafChild):
379         * rendering/InlineBox.cpp:
380         (WebCore::InlineBox::nextLeafChildIgnoringLineBreak):
381         (WebCore::InlineBox::prevLeafChildIgnoringLineBreak):
382         * rendering/InlineBox.h:
383         * rendering/RenderBlock.cpp:
384         (WebCore::RenderBlock::positionForPointWithInlineChildren):
385         * rendering/RenderText.cpp:
386         (WebCore::lineDirectionPointFitsInBox): If we're on the left of a RTL line, we should stay at
387         upstream position since we're at the end of a line.
388         (WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi): Merge the two special cases into
389         the general loop as the comment suggests. Skip an inline text box for a line break at the left
390         edge when there are more line boxes on the line.
391         (WebCore::RenderText::positionForPoint):
392         * rendering/RootInlineBox.cpp:
393         (WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition): Ignore line boxes created for
394         line boxes when there are other boxes on the line.
395
396 2012-03-02  Adam Treat  <atreat@rim.com>
397
398         https://bugs.webkit.org/show_bug.cgi?id=80161
399         PR: 141157
400
401         BlackBerryPlatformScreen.h API has been updated.  Reflect those
402         changes in our usage.
403
404         Reviewed by Antonio Gomes.
405         Internally reviewed by Jakob Petsovits
406
407         * platform/blackberry/PlatformScreenBlackBerry.cpp:
408         (WebCore::screenAvailableRect):
409         (WebCore::screenRect):
410
411 2012-03-02  Julien Chaffraix  <jchaffraix@webkit.org>
412
413         Move the 'overflow' event dispatching logic out of RenderLayer
414         https://bugs.webkit.org/show_bug.cgi?id=80090
415
416         Unreviewed build fix.
417
418         * rendering/RenderBlock.cpp:
419         (OverflowEventDispatcher): Removed the unused function.
420
421 2012-03-02  Julien Chaffraix  <jchaffraix@webkit.org>
422
423         Move the 'overflow' event dispatching logic out of RenderLayer
424         https://bugs.webkit.org/show_bug.cgi?id=80090
425
426         Reviewed by Simon Fraser.
427
428         Test: fast/events/overflow-events-writing-mode.html
429
430         This moves the 'overflow' event dispatch from RenderLayer to an helper class
431         OverflowEventDispatcher. For now, the class lives in RenderBlock as it matches
432         the existing code but it may be moved later to its own class as FrameView could
433         benefit from it too or if we need to support 'overflow' events on RenderBoxes.
434
435         * rendering/RenderBlock.cpp:
436         (WebCore):
437         (OverflowEventDispatcher):
438         (WebCore::OverflowEventDispatcher::OverflowEventDispatcher):
439         (WebCore::OverflowEventDispatcher::~OverflowEventDispatcher):
440         (WebCore::OverflowEventDispatcher::computeOverflowStatus):
441         RAII dispatcher class that stores the information before layout and compare
442         them after to dispatch the right information.
443
444         (WebCore::RenderBlock::layout): Added an instance of OverflowEventDispatcher.
445
446         * rendering/RenderBox.h:
447         (WebCore::RenderBox::hasHorizontalLayoutOverflow):
448         (WebCore::RenderBox::hasVerticalLayoutOverflow):
449         Helper method to know if we have an horizontal / vertical layout overflow.
450
451         * rendering/RenderLayer.cpp:
452         (WebCore::RenderLayer::RenderLayer):
453         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
454         * rendering/RenderLayer.h:
455         Removed the scroll tracking logic as we don't need it anymore. This removes
456         3 booleans from RenderLayer.
457
458 2012-03-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
459
460         Create a method in Element to compare attributes with other Element
461         https://bugs.webkit.org/show_bug.cgi?id=80169
462
463         Reviewed by Ryosuke Niwa.
464
465         Avoid manually peeking at attribute storage to get this information. This
466         simplify the callsites. The actual implementation of comparison was moved to
467         ElementAttributeData. The mapsEquivalent() function still exists for the sake
468         of DocumentType nodes.
469
470         * dom/Element.cpp:
471         (WebCore::Element::hasEquivalentAttributes):
472         (WebCore):
473         * dom/Element.h:
474         (Element):
475         * dom/ElementAttributeData.cpp:
476         (WebCore::ElementAttributeData::isEquivalent):
477         (WebCore):
478         * dom/ElementAttributeData.h:
479         (ElementAttributeData):
480         * dom/NamedNodeMap.cpp:
481         (WebCore::NamedNodeMap::mapsEquivalent):
482         * dom/Node.cpp:
483         (WebCore::Node::isEqualNode):
484         * editing/htmlediting.cpp:
485         (WebCore::areIdenticalElements): Use Element::hasTagName() instead of matching
486         directly to make code a bit clearer.
487
488 2012-03-02  Zan Dobersek  <zandobersek@gmail.com>
489
490         [GTK] Smooth scrolling support
491         https://bugs.webkit.org/show_bug.cgi?id=16123
492
493         Reviewed by Martin Robinson.
494
495         No new tests - no new functionality.
496
497         Add the ScrollAnimatorNone class to compilation and enable
498         the smooth scrolling feature by default at compilation time.
499
500         * GNUmakefile.am:
501         * GNUmakefile.list.am:
502
503 2012-03-02  Philippe Normand  <pnormand@igalia.com>
504
505         [GStreamer] media/media-can-play-flac-audio.html fails
506         https://bugs.webkit.org/show_bug.cgi?id=80124
507
508         Reviewed by Martin Robinson.
509
510         Handle audio/x-flac in the mimeTypeCache() function so that we
511         advertize both audio/flac and audio/x-flac.
512
513         No new tests, this is covered already by media/media-can-play-flac-audio.html.
514
515         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
516
517 2012-03-02  Pavel Podivilov  <podivilov@chromium.org>
518
519         Web Inspector: fix fronted compilation.
520         https://bugs.webkit.org/show_bug.cgi?id=80154
521
522         Reviewed by Yury Semikhatsky.
523
524         * inspector/front-end/DebuggerModel.js:
525         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
526         * inspector/front-end/DebuggerPresentationModel.js:
527         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
528         * inspector/front-end/ScriptsSearchScope.js:
529         (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
530
531 2012-03-02  Kaustubh Atrawalkar  <kaustubh@motorola.com>
532
533         Rename DOMURL to URL in the bindings
534         https://bugs.webkit.org/show_bug.cgi?id=78214
535
536         Reviewed by Kentaro Hara.
537
538         No new tests. Interface name change.
539
540         * html/DOMURL.idl: Added InterfaceName attribute to DOMURL.
541
542 2012-03-02  Roland Steiner  <rolandsteiner@chromium.org>
543
544         Add :scope pseudo-class
545         https://bugs.webkit.org/show_bug.cgi?id=79077
546
547         Add :scope pseudo class name & pseudoId
548         Add selector check for the new pseudo-class
549
550         Reviewed by Antti Koivisto.
551
552         Test: fast/css/style-scoped/scope-pseudo.html
553
554         * css/CSSSelector.cpp:
555         (WebCore::CSSSelector::pseudoId):
556         (WebCore::nameToPseudoTypeMap):
557         (WebCore::CSSSelector::extractPseudoType):
558         * css/CSSSelector.h:
559         * css/SelectorChecker.cpp:
560         (WebCore::SelectorChecker::checkOneSelector):
561
562 2012-03-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
563
564         Make parser code not depend on NamedNodeMap
565         https://bugs.webkit.org/show_bug.cgi?id=79963
566
567         Reviewed by Adam Barth.
568
569         Instead of creating Element-less NamedNodeMaps, the parsing code now creates
570         AttributeVectors, that are used to fill Element via the parserSetAttributes()
571         method. This allows us to remove even more methods from the NamedNodeMap.
572
573         The AttributeVector class contains convenience methods that take the attribute's
574         QualifiedName as parameter. This class is also used inside ElementAttributeData.
575
576         * dom/Attr.h:
577         (Attr):
578         * dom/Element.cpp:
579         (WebCore::Element::getAttribute):
580         (WebCore::Element::parserSetAttributes): Now we have to create the attribute
581         storage, and fill it (by Vector::swap()) with the passed attributes. Also use an
582         early return to reduce indentation.
583         (WebCore::Element::insertedIntoDocument):
584         (WebCore::Element::removedFromDocument):
585         (WebCore::Element::getURLAttribute):
586         (WebCore::Element::getNonEmptyURLAttribute):
587         * dom/Element.h:
588         (Element):
589         (WebCore::Element::fastHasAttribute):
590         (WebCore::Element::fastGetAttribute):
591         (WebCore::Element::hasAttributesWithoutUpdate):
592         (WebCore::Element::attributeItem):
593         (WebCore::Element::getAttributeItem):
594         * dom/ElementAttributeData.cpp:
595         (WebCore::AttributeVector::removeAttribute):
596         (WebCore):
597         * dom/ElementAttributeData.h:
598         (AttributeVector):
599         (WebCore::AttributeVector::create):
600         (WebCore::AttributeVector::attributeItem):
601         (WebCore::AttributeVector::AttributeVector):
602         (WebCore):
603         (WebCore::AttributeVector::getAttributeItem):
604         (WebCore::AttributeVector::getAttributeItemIndex):
605         (WebCore::AttributeVector::insertAttribute): Boolean parameter isn't necessary
606         since all the callers used 'false', indicating that duplicates were not allowed.
607         (WebCore::ElementAttributeData::attributeItem):
608         (WebCore::ElementAttributeData::getAttributeItem):
609         (WebCore::ElementAttributeData::getAttributeItemIndex):
610         (ElementAttributeData):
611         * dom/NamedNodeMap.cpp:
612         (WebCore::NamedNodeMap::getNamedItem):
613         (WebCore::NamedNodeMap::setNamedItem):
614         (WebCore::NamedNodeMap::removeNamedItem):
615         (WebCore::NamedNodeMap::mapsEquivalent):
616         * dom/NamedNodeMap.h:
617         * html/parser/HTMLConstructionSite.cpp:
618         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
619         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
620         (WebCore::HTMLConstructionSite::insertScriptElement):
621         (WebCore::HTMLConstructionSite::createElement):
622         (WebCore::HTMLConstructionSite::createHTMLElement):
623         (WebCore):
624         * html/parser/HTMLToken.h:
625         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
626         * html/parser/HTMLTreeBuilder.cpp:
627         (WebCore::HTMLTreeBuilder::processFakeStartTag):
628         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
629         (WebCore):
630         * html/parser/HTMLTreeBuilder.h:
631         * html/parser/TextDocumentParser.cpp:
632         (WebCore::TextDocumentParser::insertFakePreElement):
633         * xml/parser/MarkupTokenBase.h:
634         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
635         (WebCore::AtomicMarkupTokenBase::attributes):
636         (WebCore::AtomicMarkupTokenBase::takeAttributes):
637         (AtomicMarkupTokenBase):
638         (WebCore::::initializeAttributes):
639         * xml/parser/XMLToken.h:
640         (WebCore::AtomicXMLToken::AtomicXMLToken):
641         * xml/parser/XMLTreeBuilder.cpp:
642         (WebCore::XMLTreeBuilder::processNamespaces):
643         (WebCore::XMLTreeBuilder::processAttributes):
644
645 2012-03-02  Yury Semikhatsky  <yurys@chromium.org>
646
647         Web Inspector: assertion failure in JSMainThreadExecState::instrumentedCall
648         https://bugs.webkit.org/show_bug.cgi?id=80152
649
650         Extracted common code of JS call instrumentation into instrumentFunctionCall method
651         and call it directly where the instrumentation is needed instead of calling
652         JSMainThreadExecState::instrumentedCall which works on the main thread only.
653
654         Reviewed by Pavel Feldman.
655
656         * bindings/js/JSCallbackData.cpp:
657         (WebCore::JSCallbackData::invokeCallback):
658         * bindings/js/JSEventListener.cpp:
659         (WebCore::JSEventListener::handleEvent):
660         * bindings/js/JSMainThreadExecState.h:
661         (WebCore::JSMainThreadExecState::instrumentFunctionCall):
662
663 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
664
665         [Forms] Make order of attribute/method in HTMLTextAreaElement.idl as same as specification
666         https://bugs.webkit.org/show_bug.cgi?id=80101
667
668         Reviewed by Kent Tamura.
669
670         No new tests. No behavior changes.
671
672         * html/HTMLTextAreaElement.idl: Reorder attribute/method position.
673
674 2012-03-02  Patrick Gansterer  <paroga@webkit.org>
675
676         Build fix after r109538.
677
678         * CMakeLists.txt:
679         * Modules/websockets/WebSocketDeflater.cpp:
680
681 2012-03-02  Roland Steiner  <rolandsteiner@chromium.org>
682
683         Scoped stylesheets don't appear to work in Shadow DOM
684         https://bugs.webkit.org/show_bug.cgi?id=79549
685
686         Make the scope stack in CSSStyleSelector use ContainerNode* instead of Element*.
687         Adapt using sites accordingly.
688         Push the ShadowRoot to the scope stack in the same way that elements are pushed.
689         Fix an issue with removedFromDocument() on destruction.
690
691         Reviewed by Antti Koivisto.
692
693         Test: fast/css/style-scoped/style-scoped-in-shadow.html
694
695         * css/CSSStyleSelector.cpp:
696         (RuleSet):
697         (WebCore::CSSStyleSelector::CSSStyleSelector):
698         (WebCore::CSSStyleSelector::determineScope):
699         (WebCore::CSSStyleSelector::ruleSetForScope):
700         (WebCore::CSSStyleSelector::appendAuthorStylesheets):
701         (WebCore::CSSStyleSelector::setupScopeStack):
702         (WebCore::CSSStyleSelector::pushScope):
703         (WebCore):
704         (WebCore::CSSStyleSelector::popScope):
705         (WebCore::CSSStyleSelector::pushParentElement):
706         (WebCore::CSSStyleSelector::popParentElement):
707         (WebCore::CSSStyleSelector::pushParentShadowRoot):
708         (WebCore::CSSStyleSelector::popParentShadowRoot):
709         (WebCore::CSSStyleSelector::matchScopedAuthorRules):
710         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
711         * css/CSSStyleSelector.h:
712         (CSSStyleSelector):
713         (WebCore::CSSStyleSelector::pushScope):
714         (WebCore::CSSStyleSelector::popScope):
715         (WebCore::CSSStyleSelector::MatchOptions::MatchOptions):
716         (MatchOptions):
717         (WebCore::CSSStyleSelector::scopeStackIsConsistent):
718         (WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame):
719         (ScopeStackFrame):
720         * css/SelectorChecker.h:
721         (SelectorCheckingContext):
722         * dom/Element.cpp:
723         (WebCore::StyleSelectorParentPusher::push):
724         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
725         (WebCore::Element::beginParsingChildren):
726         (WebCore::Element::finishParsingChildren):
727         * dom/ShadowRoot.cpp:
728         (WebCore::ShadowRoot::attach):
729         (WebCore):
730         * dom/ShadowRoot.h:
731         (ShadowRoot):
732         * dom/ShadowTree.cpp:
733         (WebCore::ShadowTree::recalcShadowTreeStyle):
734         * html/HTMLStyleElement.cpp:
735         (WebCore::HTMLStyleElement::removedFromDocument):
736
737 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
738
739         [Forms] Make order of attribute/method in HTMLSelectElement.idl as same as specification
740         https://bugs.webkit.org/show_bug.cgi?id=80097
741
742         Reviewed by Kent Tamura.
743
744         No new tests. No behavior changes.
745
746         * html/HTMLSelectElement.idl: Reorder attribute/method position.
747
748 2012-03-02  Pavel Podivilov  <podivilov@chromium.org>
749
750         Web Inspector: limit RawSourceCode usages to DebuggerPresentationModel.
751         https://bugs.webkit.org/show_bug.cgi?id=80146
752
753         Reviewed by Vsevolod Vlasov.
754
755         * inspector/front-end/DebuggerPresentationModel.js:
756         (WebInspector.DebuggerPresentationModel.prototype.uiLocationToRawLocation):
757         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
758         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
759         * inspector/front-end/ObjectPopoverHelper.js:
760         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
761         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
762         * inspector/front-end/ScriptsSearchScope.js:
763         (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
764
765 2012-03-02  Pavel Podivilov  <podivilov@chromium.org>
766
767         Web Inspector: update execution line using LiveLocation.
768         https://bugs.webkit.org/show_bug.cgi?id=80143
769
770         Reviewed by Vsevolod Vlasov.
771
772         * inspector/front-end/DebuggerPresentationModel.js:
773         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
774         (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
775         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame.updateExecutionLine):
776         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
777
778 2012-03-02  Leo Yang  <leo.yang@torchmobile.com.cn>
779
780         [BlackBerry] Build fix for LocalizedStringsBlackBerry.cpp
781         https://bugs.webkit.org/show_bug.cgi?id=80099
782
783         Unreviewed build fix.
784
785         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
786
787 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
788
789         Fix build on AppleWebKit after 109548.
790
791         * WebCore.exp.in:
792
793 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
794
795         [Forms] Make order of attribute/method in HTMLOptionElement.idl as same as specification
796         https://bugs.webkit.org/show_bug.cgi?id=80095
797
798         Reviewed by Kentaro Hara.
799
800         No new tests. No behavior changes.
801
802         * html/HTMLOptionElement.idl: Reorder attribute/method position.
803
804 2012-03-02  Adam Barth  <abarth@webkit.org>
805
806         WorkerContext shouldn't know about IndexedDB
807         https://bugs.webkit.org/show_bug.cgi?id=80094
808
809         Reviewed by Kentaro Hara.
810
811         There are still a couple IndexedDB stragglers we should clean up in
812         WebCore proper.  This patch moves some IndexedDB logic from
813         WorkerContext into the indexeddb module.
814
815         In the process of writing this patch, I noticed that some IndexedDB
816         files were missing from various build systems, so I added them.  I
817         suspect that means IndexedDB is only enabled by default on Chromium.
818
819         * CMakeLists.txt:
820         * DerivedSources.make:
821         * DerivedSources.pri:
822         * GNUmakefile.list.am:
823         * Modules/indexeddb/WorkerContextIndexedDatabase.cpp: Added.
824         (WebCore):
825         (WebCore::WorkerContextIndexedDatabase::WorkerContextIndexedDatabase):
826         (WebCore::WorkerContextIndexedDatabase::~WorkerContextIndexedDatabase):
827         (WebCore::WorkerContextIndexedDatabase::from):
828         (WebCore::WorkerContextIndexedDatabase::webkitIndexedDB):
829         * Modules/indexeddb/WorkerContextIndexedDatabase.h: Added.
830         (WebCore):
831         (WorkerContextIndexedDatabase):
832         * Modules/indexeddb/WorkerContextIndexedDatabase.idl: Added.
833         * Target.pri:
834         * WebCore.gypi:
835         * WebCore.vcproj/WebCore.vcproj:
836         * WebCore.xcodeproj/project.pbxproj:
837         * workers/WorkerContext.cpp:
838         (WebCore):
839         * workers/WorkerContext.h:
840         (WebCore):
841         (WorkerContext):
842         * workers/WorkerContext.idl:
843
844 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
845
846         [Qt] Compile WebCore without QtWidgets
847         https://bugs.webkit.org/show_bug.cgi?id=80141
848
849         Reviewed by Tor Arne Vestbø.
850
851         * Target.pri: Don't add widgets to QT.
852         * WebCore.pri: Use QT += opengl only with Qt 4, because it has an implicit QtWidgets
853         dependency. With Qt 5 all necessary OpenGL API is part of QtGui (with a QOpenGL* prefix).
854
855 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
856
857         [Forms] Make order of attribute/method in HTMLFormElement.idl as same as specification
858         https://bugs.webkit.org/show_bug.cgi?id=80093
859
860         Reviewed by Kentaro Hara.
861
862         No new tests. No behavior changes
863
864         * html/HTMLFormElement.idl: Reorder attribute/method position.
865
866 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
867
868         [Forms] Make order of attribute/method in HTMLButtonElement.idl as same as specification
869         https://bugs.webkit.org/show_bug.cgi?id=80091
870
871         Reviewed by Kentaro Hara.
872
873         No new tests. No behavior changes.
874
875         * html/HTMLButtonElement.idl: Reorder attribute/method position.
876
877 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
878
879         Suspend/Resume API for pausing timers and animations.
880         https://bugs.webkit.org/show_bug.cgi?id=76063
881
882         Reviewed by Kenneth Rohde Christiansen.
883
884         * dom/ActiveDOMObject.h:
885             New ReasonForSuspension: PageWillBePaused.
886         * html/HTMLMediaElement.cpp:
887         (WebCore::HTMLMediaElement::suspend): Handle new ReasonForSuspension.
888         * page/Frame.cpp:
889         (WebCore::Frame::Frame):
890         (WebCore::Frame::setDocument):
891         (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):
892         (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
893         * page/Frame.h:
894         (WebCore::Frame::activeDOMObjectsAndAnimationsSuspended):
895             Frame now maintains a state of suspending animation and ActiveDOMObjects,
896             which is inherited to all child-frames.
897         * page/Page.cpp:
898         (WebCore::Page::suspendActiveDOMObjectsAndAnimations):
899         (WebCore::Page::resumeActiveDOMObjectsAndAnimations):
900         * page/Page.h:
901             Functions for suspending and resuming active DOM objects and animations in all frames.
902         * rendering/RenderObject.cpp:
903         (WebCore::RenderObject::willRenderImage):
904             WillRenderImage now checks for suspension. This causes animated images to pause
905             together with all other types of animations.
906
907 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
908
909         [Forms] Make order of attribute/method in HTMLFieldSetElement.idl as same as specification
910         https://bugs.webkit.org/show_bug.cgi?id=80092
911
912         Reviewed by Kentaro Hara.
913
914         No new tests. No behavior changes.
915
916         * html/HTMLFieldSetElement.idl: Reorder attribute/method position.
917
918 2012-03-02  Antti Koivisto  <antti@apple.com>
919
920         possible regression: r104060 maybe causing crashes
921         https://bugs.webkit.org/show_bug.cgi?id=75676
922
923         Rubber-stamped by Simon Hausmann.
924
925         Remove the speculative fix (the problem was elsewhere, http://trac.webkit.org/changeset/104845).
926
927         Also remove the debugging code added for this bug.
928     
929         * dom/Document.cpp:
930         (WebCore::Document::Document):
931         (WebCore::Document::clearStyleSelector):
932         (WebCore::Document::updateActiveStylesheets):
933         * dom/Document.h:
934         (Document):
935
936 2012-03-01  Alexander Pavlov  <apavlov@chromium.org>
937
938         Web Inspector: Implement suggestions in Watch Expressions
939         https://bugs.webkit.org/show_bug.cgi?id=79912
940
941         Drive-by: make subproperties in ObjectPropertySections editable
942
943         Reviewed by Pavel Feldman.
944
945         * inspector/front-end/ConsoleView.js:
946         (WebInspector.ConsoleView):
947         (WebInspector.ConsoleView.prototype.completionsForTextPrompt):
948         * inspector/front-end/DatabaseQueryView.js:
949         * inspector/front-end/ObjectPropertiesSection.js:
950         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
951         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
952         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
953         (WebInspector.ObjectPropertyTreeElement.prototype.renderPromptAsBlock):
954         (WebInspector.ObjectPropertyTreeElement.prototype.elementAndValueToEdit):
955         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing.blurListener):
956         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
957         (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded):
958         (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled):
959         (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted):
960         (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
961         (WebInspector.ObjectPropertyPrompt):
962         * inspector/front-end/StylesSidebarPane.js:
963         * inspector/front-end/TextPrompt.js:
964         (WebInspector.TextPrompt.prototype.complete):
965         * inspector/front-end/WatchExpressionsSidebarPane.js:
966         (WebInspector.WatchExpressionTreeElement.prototype.renderPromptAsBlock):
967         (WebInspector.WatchExpressionTreeElement.prototype.elementAndValueToEdit):
968         (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
969         * inspector/front-end/inspector.css:
970         (.watch-expressions > li.editing-sub-part .text-prompt):
971
972 2012-03-02  Antti Koivisto  <antti@apple.com>
973
974         REGRESSION (r104060): Page contents not painted if inserting a new stylesheet and temporary body node
975         https://bugs.webkit.org/show_bug.cgi?id=76590
976
977         Reviewed by Maciej Stachowiak.
978
979         Test: fast/css/pending-stylesheet-repaint.html
980         
981         If there has been a style recalc with a pending stylesheet, the forced repaint will need to be triggered even
982         if the stylesheet doesn't affect the rendering. Otherwise we may end up never painting at all.
983
984         * dom/Document.cpp:
985         (WebCore::Document::styleSelectorChanged):
986
987 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
988
989         [Qt] Move QStyle theming code out of WebCore into WebKit1
990         https://bugs.webkit.org/show_bug.cgi?id=80128
991
992         Reviewed by Kenneth Rohde Christiansen.
993
994         Moved QStyle dependant code into WebKit1, where it's okay to depend on
995         QtWidgets/QStyle. Added factory hooks into RenderThemeQt to allow changing
996         the default "mobile" style to QStyle on start-up.
997
998         * Target.pri:
999         * platform/qt/RenderThemeQt.cpp:
1000         (WebCore):
1001         (WebCore::RenderThemeQt::setCustomTheme):
1002         (WebCore::RenderThemeQt::customScrollbarTheme):
1003         (WebCore::createTheme):
1004         (WebCore::RenderTheme::themeForPage):
1005         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
1006         * platform/qt/RenderThemeQt.h:
1007         (WebCore):
1008         (RenderThemeQt):
1009         * platform/qt/RenderThemeQtMobile.cpp:
1010         * platform/qt/ScrollbarThemeQt.cpp:
1011         (WebCore::ScrollbarTheme::nativeTheme):
1012
1013 2012-03-02  Luke Macpherson   <macpherson@chromium.org>
1014
1015         Handle CSSPropertyWebkitColumnRuleStyle in CSSStyleApplyProperty.
1016         https://bugs.webkit.org/show_bug.cgi?id=80085
1017
1018         Reviewed by Eric Seidel.
1019
1020         No new tests / refactoring only.
1021
1022         * css/CSSStyleApplyProperty.cpp:
1023         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1024         * css/CSSStyleSelector.cpp:
1025         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1026
1027 2012-03-02  Yury Semikhatsky  <yurys@chromium.org>
1028
1029         Web Inspector: enable Timeline panel for workers
1030         https://bugs.webkit.org/show_bug.cgi?id=80130
1031
1032         Enabled Timeline panel for worker inspector. Refactored
1033         JS function calls instrumentation to work for both
1034         worker contexts and documents.
1035
1036         Reviewed by Pavel Feldman.
1037
1038         * bindings/js/JSCallbackData.cpp:
1039         (WebCore::JSCallbackData::invokeCallback):
1040         * bindings/js/JSEventListener.cpp:
1041         (WebCore::JSEventListener::handleEvent):
1042         * bindings/js/JSMainThreadExecState.h:
1043         (WebCore):
1044         (WebCore::JSMainThreadExecState::instrumentedCall):
1045         * bindings/js/ScriptState.cpp:
1046         (WebCore::scriptExecutionContextFromScriptState):
1047         (WebCore):
1048         * bindings/js/ScriptState.h:
1049         (WebCore):
1050         * bindings/v8/ScriptState.cpp:
1051         (WebCore::ScriptState::scriptExecutionContext):
1052         (WebCore):
1053         (WebCore::scriptExecutionContextFromScriptState):
1054         * bindings/v8/ScriptState.h:
1055         (WebCore):
1056         (ScriptState):
1057         * bindings/v8/V8Proxy.cpp:
1058         (WebCore::V8Proxy::instrumentedCallFunction):
1059         * bindings/v8/V8WorkerContextEventListener.cpp:
1060         (WebCore::V8WorkerContextEventListener::callListenerFunction):
1061         * inspector/InjectedScript.cpp:
1062         (WebCore::InjectedScript::callFunctionWithEvalEnabled):
1063         * inspector/InspectorInstrumentation.cpp:
1064         (WebCore):
1065         (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
1066         * inspector/InspectorInstrumentation.h:
1067         (InspectorInstrumentation):
1068         (WebCore::InspectorInstrumentation::willCallFunction):
1069         (WebCore):
1070         (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
1071         * inspector/WorkerInspectorController.cpp:
1072         (WebCore::WorkerInspectorController::WorkerInspectorController):
1073         (WebCore::WorkerInspectorController::connectFrontend):
1074         (WebCore::WorkerInspectorController::disconnectFrontend):
1075         (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
1076         * inspector/WorkerInspectorController.h:
1077         (WebCore):
1078         (WorkerInspectorController):
1079         * inspector/front-end/inspector.js:
1080         (WebInspector._createPanels):
1081
1082 2012-03-02  Kenichi Ishibashi  <bashi@chromium.org>
1083
1084         Adding WebSocket per-frame DEFLATE extension
1085         https://bugs.webkit.org/show_bug.cgi?id=77522
1086
1087         Add WebSocketDeflateFramer class which handles deflate-frame extension.
1088         This class encapsulates WebSocketDeflater and WebSocketInflater classes,
1089         which depend on zlib, so that WebSocketChannel is not necessary to aware
1090         zlib dependency.
1091
1092         Reviewed by Kent Tamura.
1093
1094         Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
1095                http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
1096                http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
1097                http/tests/websocket/tests/hybi/deflate-frame-parameter.html
1098
1099         * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
1100         * GNUmakefile.list.am: Ditto.
1101         * Target.pri: Ditto.
1102         * WebCore.gypi: Ditto.
1103         * WebCore.gyp/WebCore.gyp: Added zlib dependency.
1104         * WebCore.vcproj/WebCore.vcproj: Added WebSocketDeflateFramer.(cpp|h)
1105         * WebCore.xcodeproj/project.pbxproj: Ditto.
1106         * websockets/WebSocket.cpp:
1107         (WebCore::WebSocket::didConnect): Set m_extensions.
1108         * websockets/WebSocketChannel.cpp:
1109         (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
1110         (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
1111         (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
1112         (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
1113         * websockets/WebSocketChannel.h:
1114         * websockets/WebSocketDeflateFramer.cpp: Added.
1115         (WebCore):
1116         (WebSocketExtensionDeflateFrame):
1117         (WebCore::WebSocketExtensionDeflateFrame::create):
1118         (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
1119         (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
1120         (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
1121         (WebCore::WebSocketExtensionDeflateFrame::processResponse):
1122         (WebCore::DeflateResultHolder::DeflateResultHolder):
1123         (WebCore::DeflateResultHolder::~DeflateResultHolder):
1124         (WebCore::DeflateResultHolder::fail):
1125         (WebCore::InflateResultHolder::InflateResultHolder):
1126         (WebCore::InflateResultHolder::~InflateResultHolder):
1127         (WebCore::InflateResultHolder::fail):
1128         (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
1129         (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
1130         (WebCore::WebSocketDeflateFramer::canDeflate):
1131         (WebCore::WebSocketDeflateFramer::enableDeflate):
1132         (WebCore::WebSocketDeflateFramer::deflate):
1133         (WebCore::WebSocketDeflateFramer::resetDeflateContext):
1134         (WebCore::WebSocketDeflateFramer::inflate):
1135         (WebCore::WebSocketDeflateFramer::resetInflateContext):
1136         (WebCore::WebSocketDeflateFramer::didFail):
1137         * websockets/WebSocketDeflateFramer.h: Added.
1138         (WebCore):
1139         (DeflateResultHolder):
1140         (WebCore::DeflateResultHolder::succeeded):
1141         (WebCore::DeflateResultHolder::failureReason):
1142         (InflateResultHolder):
1143         (WebCore::InflateResultHolder::succeeded):
1144         (WebCore::InflateResultHolder::failureReason):
1145         (WebSocketDeflateFramer):
1146         (WebCore::WebSocketDeflateFramer::enabled):
1147
1148 2012-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
1149
1150         Web Inspector: [InspectorIndexedDB] Show meaningful description for object store items values.
1151         https://bugs.webkit.org/show_bug.cgi?id=79691
1152
1153         Reviewed by Pavel Feldman.
1154
1155         * inspector/front-end/IndexedDBModel.js:
1156         (WebInspector.IndexedDBModel.idbKeyFromKey):
1157         * inspector/front-end/IndexedDBViews.js:
1158         (WebInspector.IDBDataView.prototype._updateData.callback):
1159         (WebInspector.IDBDataView.prototype._updateData):
1160         (WebInspector.IDBDataGridNode.prototype.createCell):
1161         (WebInspector.IDBDataGridNode.prototype._formatValue):
1162         * inspector/front-end/ObjectPropertiesSection.js:
1163         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
1164         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
1165         * inspector/front-end/RemoteObject.js:
1166         (WebInspector.LocalJSONObject.prototype.get subtype):
1167         * inspector/front-end/indexedDBViews.css:
1168         (.indexed-db-data-view .data-grid .data-container td):
1169         (.indexed-db-data-view .data-grid .data-container td.primaryKey-column):
1170         (.indexed-db-data-view .data-grid .data-container td.primaryKey-column div.primitive-value):
1171         (.indexed-db-data-view .data-grid .data-container td .section .header .title):
1172
1173 2012-03-02  Wei James  <james.wei@intel.com>
1174
1175         [Chromium] Layout Test webaudio/audiobuffersource-channels.html is failing
1176         https://bugs.webkit.org/show_bug.cgi?id=79765
1177
1178         Reviewed by Chris Rogers.
1179
1180         * webaudio/AudioBuffer.cpp:
1181         (WebCore::AudioBuffer::create):
1182         * webaudio/AudioBufferSourceNode.cpp:
1183         (WebCore::AudioBufferSourceNode::setBuffer):
1184         * webaudio/AudioContext.h:
1185         (WebCore):
1186         (AudioContext):
1187         (WebCore::AudioContext::maxNumberOfChannels):
1188         * webaudio/AudioNodeOutput.cpp:
1189         (WebCore::AudioNodeOutput::AudioNodeOutput):
1190         (WebCore::AudioNodeOutput::setNumberOfChannels):
1191
1192 2012-03-02  Luke Macpherson   <macpherson@chromium.org>
1193
1194         Handle CSSPropertyWebkitRegionBreakAfter, CSSPropertyWebkitRegionBreakBefore and CSSPropertyWebkitRegionBreakInside in CSSStyleApplyProperty.
1195         https://bugs.webkit.org/show_bug.cgi?id=80066
1196
1197         Reviewed by Eric Seidel.
1198
1199         No new tests / refactoring only.
1200
1201         * css/CSSStyleApplyProperty.cpp:
1202         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1203         * css/CSSStyleSelector.cpp:
1204         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1205
1206 2012-03-02  Pablo Flouret  <pablof@motorola.com>
1207
1208         Implement DefaultParagraphSeparator execCommand, to let authors choose the default block element
1209         https://bugs.webkit.org/show_bug.cgi?id=59961
1210
1211         Reviewed by Ryosuke Niwa.
1212
1213         http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#the-defaultparagraphseparator-command
1214
1215         Test: editing/execCommand/default-paragraph-separator.html
1216
1217         * editing/Editor.cpp:
1218         (WebCore::Editor::Editor):
1219         * editing/Editor.h:
1220         (WebCore::Editor::defaultParagraphSeparator):
1221         (WebCore::Editor::setDefaultParagraphSeparator):
1222         (Editor):
1223         * editing/EditorCommand.cpp:
1224         (WebCore::executeDefaultParagraphSeparator):
1225         (WebCore):
1226         (WebCore::valueDefaultParagraphSeparator):
1227         (WebCore::createCommandMap):
1228         * editing/htmlediting.cpp:
1229         (WebCore::createDefaultParagraphElement):
1230
1231         * html/HTMLParagraphElement.cpp:
1232         (WebCore::HTMLParagraphElement::create):
1233         (WebCore):
1234         * html/HTMLParagraphElement.h:
1235         (HTMLParagraphElement):
1236             Added create(Document*) method that defaults to pTag as the QualifiedName.
1237
1238 2012-03-02  Kenneth Russell  <kbr@google.com>
1239
1240         [chromium] Fix errors in LayerRendererChromium cleanup
1241         https://bugs.webkit.org/show_bug.cgi?id=80064
1242
1243         Reviewed by James Robinson.
1244
1245         Tested manually by forcing lost context while rendering Flash on
1246         Mac OS in a Debug build.
1247
1248         * platform/graphics/chromium/LayerRendererChromium.cpp:
1249         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1250
1251 2012-03-02  Andy Estes  <aestes@apple.com>
1252
1253         Fix errors found when building the Mac port with ICONDATABASE disabled.
1254         https://bugs.webkit.org/show_bug.cgi?id=80059
1255
1256         Reviewed by Brady Eidson.
1257
1258         * WebCore.exp.in: Only export IconDatabase symbols when the feature is
1259         enabled.
1260         * loader/icon/IconDatabase.h:
1261         (WebCore::IconDatabase::create): WebKit calls this static method, so it
1262         should be defined on the stub class.
1263         (WebCore::IconDatabase::allowDatabaseCleanup): Ditto.
1264         (WebCore::IconDatabase::checkIntegrityBeforeOpening): Ditto.
1265
1266 2012-03-02  Luke Macpherson   <macpherson@chromium.org>
1267
1268         Handle CSSPropertyWebkitColorCorrection in CSSStyleApplyProperty.
1269         https://bugs.webkit.org/show_bug.cgi?id=80056
1270
1271         Reviewed by Eric Seidel.
1272
1273         No new tests / refactoring only.
1274
1275         * css/CSSStyleApplyProperty.cpp:
1276         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1277         * css/CSSStyleSelector.cpp:
1278         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1279
1280 2012-03-02  John Bauman  <jbauman@chromium.org>
1281
1282         [chromium] Send didCommitAndDrawFrame after swap
1283         https://bugs.webkit.org/show_bug.cgi?id=80052
1284
1285         Reviewed by James Robinson.
1286
1287         Sending didCommitAndDrawFrame before the swap was causing plugins to
1288         redraw themselves between compositing and the swap, which reduces
1289         opportunities for optimization.
1290
1291         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1292         (WebCore::CCSingleThreadProxy::compositeAndReadback):
1293         (WebCore::CCSingleThreadProxy::compositeImmediately):
1294         (WebCore::CCSingleThreadProxy::doComposite):
1295         (WebCore):
1296         (WebCore::CCSingleThreadProxy::didSwapFrame):
1297         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1298         (CCSingleThreadProxy):
1299
1300 2012-03-02  Raymond Toy  <rtoy@google.com>
1301
1302         AudioParam needs tests for the parameter automation routines.
1303         https://bugs.webkit.org/show_bug.cgi?id=77666
1304
1305         Reviewed by Chris Rogers.
1306
1307         Tests: webaudio/audioparam-linearRampToValueAtTime.html
1308                webaudio/audioparam-setTargetValueAtTime.html
1309                webaudio/audioparam-setValueAtTime.html
1310                webaudio/audioparam-setValueCurveAtTime.html
1311
1312         * webaudio/AudioParamTimeline.cpp:
1313         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Round the
1314         curveIndex to fix timing issue in setValueCurveAtTime.
1315
1316 2012-03-01  Pablo Flouret  <pablof@motorola.com>
1317
1318         Fix code generators to correctly guard header declarations that have a [Conditional] attribute.
1319         https://bugs.webkit.org/show_bug.cgi?id=79375
1320
1321         Reviewed by Kentaro Hara.
1322
1323         In most cases code generators weren't checking the Conditional attribute
1324         when generating code in headers for function/attribute/constants, they
1325         were just guarding against the Conditional for the whole interface.
1326
1327         * bindings/scripts/CodeGeneratorCPP.pm:
1328         (GenerateHeader):
1329         * bindings/scripts/CodeGeneratorJS.pm:
1330         (GenerateHeader):
1331         * bindings/scripts/CodeGeneratorObjC.pm:
1332         (GenerateHeader):
1333         * bindings/scripts/CodeGeneratorV8.pm:
1334         (GenerateHeader):
1335         * bindings/scripts/test/CPP/WebDOMTestInterface.h:
1336         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1337         * bindings/scripts/test/JS/JSTestInterface.h:
1338         (JSTestInterface):
1339         (WebCore):
1340         * bindings/scripts/test/JS/JSTestObj.h:
1341         (WebCore):
1342         * bindings/scripts/test/ObjC/DOMTestInterface.h:
1343         * bindings/scripts/test/ObjC/DOMTestObj.h:
1344
1345
1346 2012-03-01  Dana Jansens  <danakj@chromium.org>
1347
1348         [chromium] Make opaque paint tracker aware of SkCanvas layers
1349         https://bugs.webkit.org/show_bug.cgi?id=79145
1350
1351         Reviewed by Stephen White.
1352
1353         The current opaque paint tracker ignored SkCanvas layers entirely. But
1354         SkCanvas layers can be used to apply things like alpha. So we make it
1355         know about layers, and apply any clipping and SkPaint objects for layers
1356         when tracking a paint.
1357
1358         Image clipping is done via a layer, so we can now also remove the
1359         special-case code around image clipping in PlatformContextSkia and
1360         OpaqueRegionSkia.
1361
1362         Unit test: PlatformContextSkiaTest.contextTransparencyLayerTest
1363
1364         Test: compositing/culling/clear-fixed-iframe.html
1365
1366         * platform/graphics/skia/OpaqueRegionSkia.cpp:
1367         (WebCore::OpaqueRegionSkia::didDrawRect):
1368         (WebCore::OpaqueRegionSkia::didDrawPath):
1369         (WebCore::OpaqueRegionSkia::didDrawPoints):
1370         (WebCore::OpaqueRegionSkia::didDrawBounded):
1371         (WebCore::OpaqueRegionSkia::didDraw):
1372         (WebCore):
1373         * platform/graphics/skia/OpaqueRegionSkia.h:
1374         (OpaqueRegionSkia):
1375         * platform/graphics/skia/PlatformContextSkia.cpp:
1376         * platform/graphics/skia/PlatformContextSkia.h:
1377         (PlatformContextSkia):
1378
1379 2012-03-02  Kent Tamura  <tkent@chromium.org>
1380
1381         Add HTML-capable popup API to ChromeClient
1382         https://bugs.webkit.org/show_bug.cgi?id=79078
1383
1384         Reviewed by Dimitri Glazkov.
1385
1386         This API will be used to implement a calendar picker of <input type=date>.
1387         The code is enclosed with ENABLE_PAGE_POPUP, and doesn't change any
1388         behavior for now.
1389
1390         * page/ChromeClient.h: Added declarations of openPagePopup() and closePagePopup().
1391         * loader/EmptyClients.h:
1392         (EmptyChromeClient): Add empty implementations of new ChromeClient functions.
1393         * page/PagePopup.h: Added.
1394         (PagePopup): Define an empty interface
1395         * page/PagePopupClient.h: Added.
1396         (PagePopupClient): Define an interface to provide various information to HTMLPopup.
1397
1398 2012-03-01  Hironori Bono  <hbono@chromium.org>
1399
1400         Render overflow controls of an RTL element to its left-side.
1401         https://bugs.webkit.org/show_bug.cgi?id=54623
1402
1403         This change adds a new flag WTF_USE_RTL_SCROLLBAR and render the
1404         vertical scrollbars and resizers of RTL elements to their left side if
1405         this new flag is enabled.
1406
1407         Reviewed by Ryosuke Niwa.
1408
1409         Test: platform/chromium/fast/events/rtl-scrollbar.html
1410
1411         * rendering/RenderBlock.cpp:
1412         (WebCore::RenderBlock::addOverflowFromPositionedObjects): Move child elements right.
1413         (WebCore::RenderBlock::determineLogicalLeftPositionForChild): ditto.
1414         * rendering/RenderBox.cpp:
1415         (WebCore::RenderBox::overflowClipRect): Move the content rectangle right.
1416         * rendering/RenderLayer.cpp:
1417         (WebCore::cornerStart): Added a function that calculates the X position of a resizer.
1418         (WebCore):
1419         (WebCore::cornerRect): Use cornerStart to move a resizer.
1420         (WebCore::RenderLayer::verticalScrollbarStart): Added a function that calculates
1421         the X position of a vertical scrollbar.
1422         (WebCore::RenderLayer::horizontalScrollbarStart): Added a function that calculates
1423         the X position of a horizontal scrollbar.
1424         (WebCore::RenderLayer::scrollbarOffset): Render a vertical scrollbar to the left side
1425         and move a horizontal scrollbar right by the width of the vertical scrollbar.
1426         (WebCore::RenderLayer::invalidateScrollbarRect): ditto.
1427         (WebCore::RenderLayer::positionOverflowControls): ditto.
1428         (WebCore::RenderLayer::hitTestOverflowControls): ditto.
1429         * rendering/RenderLayer.h:
1430         (RenderLayer):
1431         * rendering/style/RenderStyle.h: Added shouldPlaceBlockDirectionScrollbarOnLogicalLeft,
1432         which returns if we need to move a left scrollbar to its right side.
1433
1434 2012-03-01  Kent Tamura  <tkent@chromium.org>
1435
1436         REGRESSION(90089): Input type='search' text shakes up and down when the style is changed.
1437         https://bugs.webkit.org/show_bug.cgi?id=79445
1438
1439         Reviewed by Dimitri Glazkov.
1440
1441         If the inner text height of a search field is smaller than the
1442         content box height of the <input>, the height of the container
1443         element should be same as the content box height.
1444
1445         When the element style is changed, the RenderStyle height of the
1446         container element is cleared, but the renderer height of the
1447         container element remains. We had a bug that layout() didn't set
1448         the RenderStyle height in a case that the renderer height was the
1449         desired height. It shrunk the renderer height as the result of
1450         layout for children.
1451
1452         Tests: fast/forms/search/search-shaking-text.html
1453
1454         * rendering/RenderTextControlSingleLine.cpp:
1455         (WebCore::RenderTextControlSingleLine::layout):
1456         Always set the RenderStyle height explicitly.
1457
1458 2012-03-01  Kentaro Hara  <haraken@chromium.org>
1459
1460         Unreviewed, rebaselined run-bindings-tests results.
1461
1462         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1463         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1464
1465 2012-03-01  Dan Bernstein  <mitz@apple.com>
1466
1467         <rdar://problem/10942540> REGRESSION (r108956): Safari Webpage Preview Fetcher crashes in WebCore::localizedString() when using a WebKit nightly build
1468         https://bugs.webkit.org/show_bug.cgi?id=80034
1469
1470         Reviewed by Benjamin Poulain.
1471
1472         Safari Webpage Preview Fetcher can’t access the WebCore framework when launched from a WebKit
1473         nightly build. After r108956, this causes it to crash.
1474
1475         * platform/mac/LocalizedStringsMac.cpp:
1476         (WebCore::localizedString): Added a null-check for the value returned from
1477         CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebCore")).
1478
1479 2012-03-01  Jason Liu  <jason.liu@torchmobile.com.cn>
1480
1481         [BlackBerry]Array of Cookies in HTTP request header are not in order.
1482         https://bugs.webkit.org/show_bug.cgi?id=79870
1483
1484         Std::sort and HashMap are not stable. So cookies with the same creating
1485         time sometimes are sent disorder.
1486         Change std::sort with std::stable-sort.
1487         We don't need using HashMap to save so few cookies for one domain.
1488         It is a wast of time to create HashMap, too.
1489         So change it with vector.
1490
1491         Reviewed by George Staikos.
1492
1493         Test: http/tests/cookies/resources/setArraycookies.php
1494
1495         * platform/blackberry/CookieManager.cpp:
1496         (WebCore::cookieSorter):
1497         (WebCore::CookieManager::getRawCookies):
1498         (WebCore::CookieManager::checkAndTreatCookie):
1499         (WebCore::CookieManager::addCookieToMap):
1500         * platform/blackberry/CookieManager.h:
1501         * platform/blackberry/CookieMap.cpp:
1502         (WebCore::CookieMap::addOrReplaceCookie):
1503         (WebCore::CookieMap::removeCookieAtIndex):
1504         (WebCore::CookieMap::removeCookie):
1505         (WebCore):
1506         (WebCore::CookieMap::getAllCookies):
1507         (WebCore::CookieMap::updateOldestCookie):
1508         (WebCore::CookieMap::deleteAllCookiesAndDomains):
1509         * platform/blackberry/CookieMap.h:
1510         (WebCore::CookieMap::count):
1511         (CookieMap):
1512
1513 2012-03-01  Adam Barth  <abarth@webkit.org>
1514
1515         Move WebCore/storage/IDB* files into WebCore/Modules/indexeddb
1516         https://bugs.webkit.org/show_bug.cgi?id=80071
1517
1518         Reviewed by Kentaro Hara.
1519
1520         Now that we've removed all the ENABLE(INDEXED_DATABASE) ifdefs from
1521         WebCore proper, we can move IndexedDB into its own module.
1522
1523         * CMakeLists.txt:
1524         * DerivedSources.make:
1525         * DerivedSources.pri:
1526         * GNUmakefile.list.am:
1527         * Modules/indexeddb/IDBAny.cpp: Copied from Source/WebCore/storage/IDBAny.cpp.
1528         * Modules/indexeddb/IDBAny.h: Copied from Source/WebCore/storage/IDBAny.h.
1529         * Modules/indexeddb/IDBAny.idl: Copied from Source/WebCore/storage/IDBAny.idl.
1530         * Modules/indexeddb/IDBBackingStore.h: Copied from Source/WebCore/storage/IDBBackingStore.h.
1531         * Modules/indexeddb/IDBCallbacks.h: Copied from Source/WebCore/storage/IDBCallbacks.h.
1532         * Modules/indexeddb/IDBCursor.cpp: Copied from Source/WebCore/storage/IDBCursor.cpp.
1533         * Modules/indexeddb/IDBCursor.h: Copied from Source/WebCore/storage/IDBCursor.h.
1534         * Modules/indexeddb/IDBCursor.idl: Copied from Source/WebCore/storage/IDBCursor.idl.
1535         * Modules/indexeddb/IDBCursorBackendImpl.cpp: Copied from Source/WebCore/storage/IDBCursorBackendImpl.cpp.
1536         * Modules/indexeddb/IDBCursorBackendImpl.h: Copied from Source/WebCore/storage/IDBCursorBackendImpl.h.
1537         * Modules/indexeddb/IDBCursorBackendInterface.h: Copied from Source/WebCore/storage/IDBCursorBackendInterface.h.
1538         * Modules/indexeddb/IDBCursorWithValue.cpp: Copied from Source/WebCore/storage/IDBCursorWithValue.cpp.
1539         * Modules/indexeddb/IDBCursorWithValue.h: Copied from Source/WebCore/storage/IDBCursorWithValue.h.
1540         * Modules/indexeddb/IDBCursorWithValue.idl: Copied from Source/WebCore/storage/IDBCursorWithValue.idl.
1541         * Modules/indexeddb/IDBDatabase.cpp: Copied from Source/WebCore/storage/IDBDatabase.cpp.
1542         * Modules/indexeddb/IDBDatabase.h: Copied from Source/WebCore/storage/IDBDatabase.h.
1543         * Modules/indexeddb/IDBDatabase.idl: Copied from Source/WebCore/storage/IDBDatabase.idl.
1544         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseBackendImpl.cpp.
1545         * Modules/indexeddb/IDBDatabaseBackendImpl.h: Copied from Source/WebCore/storage/IDBDatabaseBackendImpl.h.
1546         * Modules/indexeddb/IDBDatabaseBackendInterface.h: Copied from Source/WebCore/storage/IDBDatabaseBackendInterface.h.
1547         * Modules/indexeddb/IDBDatabaseCallbacks.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
1548         * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseCallbacksImpl.cpp.
1549         * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacksImpl.h.
1550         * Modules/indexeddb/IDBDatabaseError.h: Copied from Source/WebCore/storage/IDBDatabaseError.h.
1551         * Modules/indexeddb/IDBDatabaseError.idl: Copied from Source/WebCore/storage/IDBDatabaseError.idl.
1552         * Modules/indexeddb/IDBDatabaseException.cpp: Copied from Source/WebCore/storage/IDBDatabaseException.cpp.
1553         * Modules/indexeddb/IDBDatabaseException.h: Copied from Source/WebCore/storage/IDBDatabaseException.h.
1554         * Modules/indexeddb/IDBDatabaseException.idl: Copied from Source/WebCore/storage/IDBDatabaseException.idl.
1555         * Modules/indexeddb/IDBEventDispatcher.cpp: Copied from Source/WebCore/storage/IDBEventDispatcher.cpp.
1556         * Modules/indexeddb/IDBEventDispatcher.h: Copied from Source/WebCore/storage/IDBEventDispatcher.h.
1557         * Modules/indexeddb/IDBFactory.cpp: Copied from Source/WebCore/storage/IDBFactory.cpp.
1558         * Modules/indexeddb/IDBFactory.h: Copied from Source/WebCore/storage/IDBFactory.h.
1559         * Modules/indexeddb/IDBFactory.idl: Copied from Source/WebCore/storage/IDBFactory.idl.
1560         * Modules/indexeddb/IDBFactoryBackendImpl.cpp: Copied from Source/WebCore/storage/IDBFactoryBackendImpl.cpp.
1561         * Modules/indexeddb/IDBFactoryBackendImpl.h: Copied from Source/WebCore/storage/IDBFactoryBackendImpl.h.
1562         * Modules/indexeddb/IDBFactoryBackendInterface.cpp: Copied from Source/WebCore/storage/IDBFactoryBackendInterface.cpp.
1563         * Modules/indexeddb/IDBFactoryBackendInterface.h: Copied from Source/WebCore/storage/IDBFactoryBackendInterface.h.
1564         * Modules/indexeddb/IDBIndex.cpp: Copied from Source/WebCore/storage/IDBIndex.cpp.
1565         * Modules/indexeddb/IDBIndex.h: Copied from Source/WebCore/storage/IDBIndex.h.
1566         * Modules/indexeddb/IDBIndex.idl: Copied from Source/WebCore/storage/IDBIndex.idl.
1567         * Modules/indexeddb/IDBIndexBackendImpl.cpp: Copied from Source/WebCore/storage/IDBIndexBackendImpl.cpp.
1568         * Modules/indexeddb/IDBIndexBackendImpl.h: Copied from Source/WebCore/storage/IDBIndexBackendImpl.h.
1569         * Modules/indexeddb/IDBIndexBackendInterface.h: Copied from Source/WebCore/storage/IDBIndexBackendInterface.h.
1570         * Modules/indexeddb/IDBKey.cpp: Copied from Source/WebCore/storage/IDBKey.cpp.
1571         * Modules/indexeddb/IDBKey.h: Copied from Source/WebCore/storage/IDBKey.h.
1572         * Modules/indexeddb/IDBKey.idl: Copied from Source/WebCore/storage/IDBKey.idl.
1573         * Modules/indexeddb/IDBKeyPath.cpp: Copied from Source/WebCore/storage/IDBKeyPath.cpp.
1574         * Modules/indexeddb/IDBKeyPath.h: Copied from Source/WebCore/storage/IDBKeyPath.h.
1575         * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Copied from Source/WebCore/storage/IDBKeyPathBackendImpl.cpp.
1576         * Modules/indexeddb/IDBKeyPathBackendImpl.h: Copied from Source/WebCore/storage/IDBKeyPathBackendImpl.h.
1577         * Modules/indexeddb/IDBKeyRange.cpp: Copied from Source/WebCore/storage/IDBKeyRange.cpp.
1578         * Modules/indexeddb/IDBKeyRange.h: Copied from Source/WebCore/storage/IDBKeyRange.h.
1579         * Modules/indexeddb/IDBKeyRange.idl: Copied from Source/WebCore/storage/IDBKeyRange.idl.
1580         * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Copied from Source/WebCore/storage/IDBLevelDBBackingStore.cpp.
1581         * Modules/indexeddb/IDBLevelDBBackingStore.h: Copied from Source/WebCore/storage/IDBLevelDBBackingStore.h.
1582         * Modules/indexeddb/IDBLevelDBCoding.cpp: Copied from Source/WebCore/storage/IDBLevelDBCoding.cpp.
1583         * Modules/indexeddb/IDBLevelDBCoding.h: Copied from Source/WebCore/storage/IDBLevelDBCoding.h.
1584         * Modules/indexeddb/IDBObjectStore.cpp: Copied from Source/WebCore/storage/IDBObjectStore.cpp.
1585         * Modules/indexeddb/IDBObjectStore.h: Copied from Source/WebCore/storage/IDBObjectStore.h.
1586         * Modules/indexeddb/IDBObjectStore.idl: Copied from Source/WebCore/storage/IDBObjectStore.idl.
1587         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Copied from Source/WebCore/storage/IDBObjectStoreBackendImpl.cpp.
1588         * Modules/indexeddb/IDBObjectStoreBackendImpl.h: Copied from Source/WebCore/storage/IDBObjectStoreBackendImpl.h.
1589         * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Copied from Source/WebCore/storage/IDBObjectStoreBackendInterface.h.
1590         * Modules/indexeddb/IDBPendingTransactionMonitor.cpp: Copied from Source/WebCore/storage/IDBPendingTransactionMonitor.cpp.
1591         * Modules/indexeddb/IDBPendingTransactionMonitor.h: Copied from Source/WebCore/storage/IDBPendingTransactionMonitor.h.
1592         * Modules/indexeddb/IDBRequest.cpp: Copied from Source/WebCore/storage/IDBRequest.cpp.
1593         * Modules/indexeddb/IDBRequest.h: Copied from Source/WebCore/storage/IDBRequest.h.
1594         * Modules/indexeddb/IDBRequest.idl: Copied from Source/WebCore/storage/IDBRequest.idl.
1595         * Modules/indexeddb/IDBTracing.h: Copied from Source/WebCore/storage/IDBTracing.h.
1596         * Modules/indexeddb/IDBTransaction.cpp: Copied from Source/WebCore/storage/IDBTransaction.cpp.
1597         * Modules/indexeddb/IDBTransaction.h: Copied from Source/WebCore/storage/IDBTransaction.h.
1598         * Modules/indexeddb/IDBTransaction.idl: Copied from Source/WebCore/storage/IDBTransaction.idl.
1599         * Modules/indexeddb/IDBTransactionBackendImpl.cpp: Copied from Source/WebCore/storage/IDBTransactionBackendImpl.cpp.
1600         * Modules/indexeddb/IDBTransactionBackendImpl.h: Copied from Source/WebCore/storage/IDBTransactionBackendImpl.h.
1601         * Modules/indexeddb/IDBTransactionBackendInterface.h: Copied from Source/WebCore/storage/IDBTransactionBackendInterface.h.
1602         * Modules/indexeddb/IDBTransactionCallbacks.h: Copied from Source/WebCore/storage/IDBTransactionCallbacks.h.
1603         * Modules/indexeddb/IDBTransactionCoordinator.cpp: Copied from Source/WebCore/storage/IDBTransactionCoordinator.cpp.
1604         * Modules/indexeddb/IDBTransactionCoordinator.h: Copied from Source/WebCore/storage/IDBTransactionCoordinator.h.
1605         * Modules/indexeddb/IDBVersionChangeEvent.cpp: Copied from Source/WebCore/storage/IDBVersionChangeEvent.cpp.
1606         * Modules/indexeddb/IDBVersionChangeEvent.h: Copied from Source/WebCore/storage/IDBVersionChangeEvent.h.
1607         * Modules/indexeddb/IDBVersionChangeEvent.idl: Copied from Source/WebCore/storage/IDBVersionChangeEvent.idl.
1608         * Modules/indexeddb/IDBVersionChangeRequest.cpp: Copied from Source/WebCore/storage/IDBVersionChangeRequest.cpp.
1609         * Modules/indexeddb/IDBVersionChangeRequest.h: Copied from Source/WebCore/storage/IDBVersionChangeRequest.h.
1610         * Modules/indexeddb/IDBVersionChangeRequest.idl: Copied from Source/WebCore/storage/IDBVersionChangeRequest.idl.
1611         * Target.pri:
1612         * WebCore.gypi:
1613         * WebCore.vcproj/WebCore.vcproj:
1614         * WebCore.xcodeproj/project.pbxproj:
1615         * storage/IDBAny.cpp: Removed.
1616         * storage/IDBAny.h: Removed.
1617         * storage/IDBAny.idl: Removed.
1618         * storage/IDBBackingStore.h: Removed.
1619         * storage/IDBCallbacks.h: Removed.
1620         * storage/IDBCursor.cpp: Removed.
1621         * storage/IDBCursor.h: Removed.
1622         * storage/IDBCursor.idl: Removed.
1623         * storage/IDBCursorBackendImpl.cpp: Removed.
1624         * storage/IDBCursorBackendImpl.h: Removed.
1625         * storage/IDBCursorBackendInterface.h: Removed.
1626         * storage/IDBCursorWithValue.cpp: Removed.
1627         * storage/IDBCursorWithValue.h: Removed.
1628         * storage/IDBCursorWithValue.idl: Removed.
1629         * storage/IDBDatabase.cpp: Removed.
1630         * storage/IDBDatabase.h: Removed.
1631         * storage/IDBDatabase.idl: Removed.
1632         * storage/IDBDatabaseBackendImpl.cpp: Removed.
1633         * storage/IDBDatabaseBackendImpl.h: Removed.
1634         * storage/IDBDatabaseBackendInterface.h: Removed.
1635         * storage/IDBDatabaseCallbacks.h: Removed.
1636         * storage/IDBDatabaseCallbacksImpl.cpp: Removed.
1637         * storage/IDBDatabaseCallbacksImpl.h: Removed.
1638         * storage/IDBDatabaseError.h: Removed.
1639         * storage/IDBDatabaseError.idl: Removed.
1640         * storage/IDBDatabaseException.cpp: Removed.
1641         * storage/IDBDatabaseException.h: Removed.
1642         * storage/IDBDatabaseException.idl: Removed.
1643         * storage/IDBEventDispatcher.cpp: Removed.
1644         * storage/IDBEventDispatcher.h: Removed.
1645         * storage/IDBFactory.cpp: Removed.
1646         * storage/IDBFactory.h: Removed.
1647         * storage/IDBFactory.idl: Removed.
1648         * storage/IDBFactoryBackendImpl.cpp: Removed.
1649         * storage/IDBFactoryBackendImpl.h: Removed.
1650         * storage/IDBFactoryBackendInterface.cpp: Removed.
1651         * storage/IDBFactoryBackendInterface.h: Removed.
1652         * storage/IDBIndex.cpp: Removed.
1653         * storage/IDBIndex.h: Removed.
1654         * storage/IDBIndex.idl: Removed.
1655         * storage/IDBIndexBackendImpl.cpp: Removed.
1656         * storage/IDBIndexBackendImpl.h: Removed.
1657         * storage/IDBIndexBackendInterface.h: Removed.
1658         * storage/IDBKey.cpp: Removed.
1659         * storage/IDBKey.h: Removed.
1660         * storage/IDBKey.idl: Removed.
1661         * storage/IDBKeyPath.cpp: Removed.
1662         * storage/IDBKeyPath.h: Removed.
1663         * storage/IDBKeyPathBackendImpl.cpp: Removed.
1664         * storage/IDBKeyPathBackendImpl.h: Removed.
1665         * storage/IDBKeyRange.cpp: Removed.
1666         * storage/IDBKeyRange.h: Removed.
1667         * storage/IDBKeyRange.idl: Removed.
1668         * storage/IDBLevelDBBackingStore.cpp: Removed.
1669         * storage/IDBLevelDBBackingStore.h: Removed.
1670         * storage/IDBLevelDBCoding.cpp: Removed.
1671         * storage/IDBLevelDBCoding.h: Removed.
1672         * storage/IDBObjectStore.cpp: Removed.
1673         * storage/IDBObjectStore.h: Removed.
1674         * storage/IDBObjectStore.idl: Removed.
1675         * storage/IDBObjectStoreBackendImpl.cpp: Removed.
1676         * storage/IDBObjectStoreBackendImpl.h: Removed.
1677         * storage/IDBObjectStoreBackendInterface.h: Removed.
1678         * storage/IDBPendingTransactionMonitor.cpp: Removed.
1679         * storage/IDBPendingTransactionMonitor.h: Removed.
1680         * storage/IDBRequest.cpp: Removed.
1681         * storage/IDBRequest.h: Removed.
1682         * storage/IDBRequest.idl: Removed.
1683         * storage/IDBTracing.h: Removed.
1684         * storage/IDBTransaction.cpp: Removed.
1685         * storage/IDBTransaction.h: Removed.
1686         * storage/IDBTransaction.idl: Removed.
1687         * storage/IDBTransactionBackendImpl.cpp: Removed.
1688         * storage/IDBTransactionBackendImpl.h: Removed.
1689         * storage/IDBTransactionBackendInterface.h: Removed.
1690         * storage/IDBTransactionCallbacks.h: Removed.
1691         * storage/IDBTransactionCoordinator.cpp: Removed.
1692         * storage/IDBTransactionCoordinator.h: Removed.
1693         * storage/IDBVersionChangeEvent.cpp: Removed.
1694         * storage/IDBVersionChangeEvent.h: Removed.
1695         * storage/IDBVersionChangeEvent.idl: Removed.
1696         * storage/IDBVersionChangeRequest.cpp: Removed.
1697         * storage/IDBVersionChangeRequest.h: Removed.
1698         * storage/IDBVersionChangeRequest.idl: Removed.
1699
1700 2012-03-01  Luke Macpherson   <macpherson@chromium.org>
1701
1702         Handle CSSPropertyWebkitBorderFit in CSSStyleApplyProperty.
1703         https://bugs.webkit.org/show_bug.cgi?id=79998
1704
1705         Reviewed by Andreas Kling.
1706
1707         No new tests / refactoring only.
1708
1709         * css/CSSStyleApplyProperty.cpp:
1710         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1711         * css/CSSStyleSelector.cpp:
1712         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1713
1714 2012-03-01  Anders Carlsson  <andersca@apple.com>
1715
1716         Crash when doing repeated double-tap-to-zoom gesture on apple startpage
1717         https://bugs.webkit.org/show_bug.cgi?id=80081
1718         <rdar://problem/10966391>
1719
1720         Reviewed by Sam Weinig.
1721
1722         Setting the contents scale on the tile cache layer was creating a WebTileCacheLayer presentation layer copy with a null _tileCache.
1723
1724         Implement -[WebTileCacheLayer actionForKey:] and have it always return nil so we'll avoid implicit animations, and thus creating presentation layers.
1725
1726         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
1727         (-[WebTileCacheLayer initWithLayer:]):
1728         Implement this and assert that it's never reached. We should never create presentation layers since we don't animate this layer.
1729
1730         (-[WebTileCacheLayer actionForKey:]):
1731         Implement this and always return nil.
1732
1733 2012-03-01  Hajime Morrita  <morrita@chromium.org>
1734
1735         Custom scrollbars do not support transparency
1736         https://bugs.webkit.org/show_bug.cgi?id=50547
1737
1738         Reviewed by James Robinson.
1739
1740         RenderScrollbar, which is used even for outermost frame when
1741         -webkit-scrollbar is specified, assumes that its background is
1742         painted by the enclosing container. But there is no such container
1743         for outermost frame. This causes visual glitches when the
1744         scrollbar has transparency.
1745
1746         This change clears background region for custom
1747         outermostscrollbars to erase such glitches.
1748
1749         Test: fast/frames/transparent-scrollbar.html
1750
1751         * page/FrameView.cpp:
1752         (WebCore::FrameView::paintScrollbar): The background is cleared here.
1753         (WebCore):
1754         * page/FrameView.h:
1755         (FrameView):
1756         * platform/ScrollView.cpp:
1757         (WebCore::ScrollView::paintScrollbar): Added to hook in FrameView
1758         (WebCore):
1759         (WebCore::ScrollView::paintScrollbars):
1760         * platform/ScrollView.h:
1761         (ScrollView):
1762
1763 2012-03-01  Kent Tamura  <tkent@chromium.org>
1764
1765         REGRESSION(r106388): Form state is restored to a wrong document.
1766         https://bugs.webkit.org/show_bug.cgi?id=79206
1767
1768         Reviewed by Brady Eidson.
1769
1770         In some cases, the URL of the current HistoryItem and the document
1771         URL are mismatched.
1772         A form state should be restored only if the document was loaded
1773         with a HistoryItem and the document is not loaded as a
1774         redirection.
1775
1776         Test: fast/loader/form-state-restore-with-locked-back-forward-list.html
1777
1778         * loader/FrameLoader.cpp:
1779         (WebCore::FrameLoader::checkCompleted): Clear m_requestedHistoryItem.
1780         (WebCore::FrameLoader::loadItem):
1781         Save the requested HistoryItem for didLoadWithLodItem().
1782         * loader/FrameLoader.h:
1783         (WebCore::FrameLoader::requestedHistoryItem):
1784         Added. Accessor for m_requestedHistoryItem.
1785         * loader/HistoryController.cpp:
1786         (WebCore::HistoryController::restoreDocumentState):
1787         Restore a form state only if the current document was loaded with
1788         FrameLoader::loadItem() and not redirection.
1789
1790 2012-03-01  Xingnan Wang  <xingnan.wang@intel.com>
1791
1792         SSE optimization for vsvesq and vmaxmgv
1793         https://bugs.webkit.org/show_bug.cgi?id=77950
1794
1795         Reviewed by Chris Rogers.
1796
1797         Achieved the performance of 3.7x on vsvesq and 4.1x on vmaxmgv.
1798
1799         * platform/audio/VectorMath.cpp:
1800         (WebCore::VectorMath::vsvesq):
1801         (WebCore::VectorMath::vmaxmgv):
1802
1803 2012-03-01  Luke Macpherson   <macpherson@chromium.org>
1804
1805         Handle CSSPropertyBoxSizing in CSSStyleApplyProperty.
1806         https://bugs.webkit.org/show_bug.cgi?id=80001
1807
1808         Reviewed by Andreas Kling.
1809
1810         No new tests / refactoring only.
1811
1812         * css/CSSStyleApplyProperty.cpp:
1813         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1814         * css/CSSStyleSelector.cpp:
1815         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1816
1817 2012-03-01  James Robinson  <jamesr@chromium.org>
1818
1819         [chromium] LayerChromium::contentChanged is redundant with setNeedsDisplay
1820         https://bugs.webkit.org/show_bug.cgi?id=79708
1821
1822         Reviewed by Adrienne Walker.
1823
1824         Some layer types need special handling when they receive damage. WebGL layers need to know if their texture is
1825         updated for clear-on-swap behavior and both WebGL and canvas 2d layers have rate limiting mechanisms tied to
1826         receiving invalidations. This mechanism was implemented by LayerChromium::contentChanged(), but this is
1827         redundant with setNeedsDisplay().
1828
1829         Covered by existing tests.
1830
1831         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1832         (WebCore::Canvas2DLayerChromium::setNeedsDisplay):
1833         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1834         (Canvas2DLayerChromium):
1835         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1836         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1837         * platform/graphics/chromium/LayerChromium.cpp:
1838         (WebCore::LayerChromium::setNeedsDisplay):
1839         * platform/graphics/chromium/LayerChromium.h:
1840         (LayerChromium):
1841         * platform/graphics/chromium/VideoLayerChromium.cpp:
1842         (WebCore::VideoLayerChromium::setNeedsDisplay):
1843         * platform/graphics/chromium/VideoLayerChromium.h:
1844         (VideoLayerChromium):
1845         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1846         (WebCore::WebGLLayerChromium::setNeedsDisplay):
1847         * platform/graphics/chromium/WebGLLayerChromium.h:
1848         (WebGLLayerChromium):
1849
1850 2012-03-01  James Robinson  <jamesr@chromium.org>
1851
1852         [chromium] Rename LayerChromium::name to debugName to be more consistent with other debug properties, make threadsafe
1853         https://bugs.webkit.org/show_bug.cgi?id=79723
1854
1855         Reviewed by Adrienne Walker.
1856
1857         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1858         (WebCore::GraphicsLayerChromium::updateNames):
1859         * platform/graphics/chromium/LayerChromium.cpp:
1860         (WebCore::LayerChromium::pushPropertiesTo):
1861         (WebCore::LayerChromium::setDebugName):
1862         (WebCore):
1863         * platform/graphics/chromium/LayerChromium.h:
1864         (LayerChromium):
1865         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1866         (WebCore::CCLayerImpl::dumpLayer):
1867         * platform/graphics/chromium/cc/CCLayerImpl.h:
1868         (CCLayerImpl):
1869         (WebCore::CCLayerImpl::setDebugName):
1870         (WebCore::CCLayerImpl::debugName):
1871         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1872         (WebCore::CCRenderSurface::name):
1873
1874 2012-03-01  Adam Barth  <abarth@webkit.org>
1875
1876         Remove last ENABLED(INDEXED_DATABASE) ifdef from WebCore proper
1877         https://bugs.webkit.org/show_bug.cgi?id=80061
1878
1879         Reviewed by Dimitri Glazkov.
1880
1881         This patch removes the last ENABLED(INDEXED_DATABASE) ifdef from
1882         WebCore proper by moving the backend factory out of PageGroup and into
1883         a supplement for PageGroup.  After this patch, we're ready to move the
1884         IDB code into Modules.
1885
1886         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
1887         (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
1888         * WebCore.gypi:
1889         * inspector/InspectorIndexedDBAgent.cpp:
1890         (WebCore::assertIDBFactory):
1891         * page/PageGroup.cpp:
1892         (WebCore):
1893         * page/PageGroup.h:
1894         (PageGroup):
1895
1896 2012-03-01  Dale Curtis  <dalecurtis@chromium.org>
1897
1898         Remove deprecated FFmpeg build directories.
1899         https://bugs.webkit.org/show_bug.cgi?id=79282
1900
1901         We've switched the layout of the FFmpeg repo in Chrome and these paths
1902         are no longer needed or valid.
1903
1904         Reviewed by Dirk Pranke.
1905
1906         No new tests. It either compiles or not.
1907
1908         * WebCore.gyp/WebCore.gyp:
1909
1910 2012-03-01  Xingnan Wang  <xingnan.wang@intel.com>
1911
1912         Enable IPP for Biquad filter
1913         https://bugs.webkit.org/show_bug.cgi?id=77509
1914
1915         Reviewed by Chris Rogers.
1916
1917         Use IIR filter in IPP and improve ~27% performance in linux.
1918         Changes are covered by current tests.
1919
1920         * platform/audio/Biquad.cpp:
1921         (WebCore::Biquad::Biquad):
1922         (WebCore::Biquad::~Biquad):
1923         (WebCore):
1924         (WebCore::Biquad::process):
1925         (WebCore::Biquad::reset):
1926         (WebCore::Biquad::setLowpassParams):
1927         (WebCore::Biquad::setHighpassParams):
1928         (WebCore::Biquad::setNormalizedCoefficients):
1929         (WebCore::Biquad::setZeroPolePairs):
1930         * platform/audio/Biquad.h:
1931         (Biquad):
1932
1933 2012-03-01  Peter Kotwicz  <pkotwicz@google.com>
1934
1935         Decouple scrollbar painting from Scrollbar object
1936         https://bugs.webkit.org/show_bug.cgi?id=78028
1937
1938         Reviewed by James Robinson.
1939
1940         Added interface ScrollbarThemeClient which Scrollbar inherits from.
1941         This allows painting via ScrollbarTheme with a proxy to a Scrollbar
1942         object.
1943
1944         * GNUmakefile.list.am:
1945         * Target.pri:
1946         * WebCore.gypi:
1947         * WebCore.vcproj/WebCore.vcproj:
1948         * WebCore.xcodeproj/project.pbxproj:
1949         * platform/Scrollbar.cpp:
1950         (WebCore::Scrollbar::scrollbarOverlayStyle):
1951         (WebCore):
1952         (WebCore::Scrollbar::getTickmarks):
1953         (WebCore::Scrollbar::isScrollableAreaActive):
1954         (WebCore::Scrollbar::isScrollViewScrollbar):
1955         (WebCore::Scrollbar::setFrameRect):
1956         * platform/Scrollbar.h:
1957         (Scrollbar):
1958         (WebCore::Scrollbar::x):
1959         (WebCore::Scrollbar::y):
1960         (WebCore::Scrollbar::width):
1961         (WebCore::Scrollbar::height):
1962         (WebCore::Scrollbar::size):
1963         (WebCore::Scrollbar::location):
1964         (WebCore::Scrollbar::parent):
1965         (WebCore::Scrollbar::root):
1966         (WebCore::Scrollbar::frameRect):
1967         (WebCore::Scrollbar::invalidate):
1968         (WebCore::Scrollbar::convertFromContainingWindow):
1969         (WebCore::Scrollbar::isCustomScrollbar):
1970         (WebCore::Scrollbar::orientation):
1971         (WebCore::Scrollbar::value):
1972         (WebCore::Scrollbar::currentPos):
1973         (WebCore::Scrollbar::visibleSize):
1974         (WebCore::Scrollbar::totalSize):
1975         (WebCore::Scrollbar::maximum):
1976         (WebCore::Scrollbar::controlSize):
1977         (WebCore::Scrollbar::lineStep):
1978         (WebCore::Scrollbar::pageStep):
1979         (WebCore::Scrollbar::pressedPart):
1980         (WebCore::Scrollbar::hoveredPart):
1981         (WebCore::Scrollbar::styleChanged):
1982         (WebCore::Scrollbar::enabled):
1983         * platform/ScrollbarTheme.h:
1984         (WebCore):
1985         (WebCore::ScrollbarTheme::updateEnabledState):
1986         (WebCore::ScrollbarTheme::paint):
1987         (WebCore::ScrollbarTheme::hitTest):
1988         (WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
1989         (WebCore::ScrollbarTheme::invalidateParts):
1990         (WebCore::ScrollbarTheme::invalidatePart):
1991         (WebCore::ScrollbarTheme::shouldCenterOnThumb):
1992         (WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin):
1993         (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb):
1994         (WebCore::ScrollbarTheme::thumbPosition):
1995         (WebCore::ScrollbarTheme::thumbLength):
1996         (WebCore::ScrollbarTheme::trackPosition):
1997         (WebCore::ScrollbarTheme::trackLength):
1998         (WebCore::ScrollbarTheme::registerScrollbar):
1999         (WebCore::ScrollbarTheme::unregisterScrollbar):
2000         * platform/ScrollbarThemeClient.h: Added.
2001         (WebCore):
2002         (ScrollbarThemeClient):
2003         (WebCore::ScrollbarThemeClient::~ScrollbarThemeClient):
2004         * platform/ScrollbarThemeComposite.cpp:
2005         (WebCore::ScrollbarThemeComposite::paint):
2006         (WebCore::ScrollbarThemeComposite::hitTest):
2007         (WebCore::ScrollbarThemeComposite::invalidatePart):
2008         (WebCore::ScrollbarThemeComposite::splitTrack):
2009         (WebCore::usedTotalSize):
2010         (WebCore::ScrollbarThemeComposite::thumbPosition):
2011         (WebCore::ScrollbarThemeComposite::thumbLength):
2012         (WebCore::ScrollbarThemeComposite::minimumThumbLength):
2013         (WebCore::ScrollbarThemeComposite::trackPosition):
2014         (WebCore::ScrollbarThemeComposite::trackLength):
2015         * platform/ScrollbarThemeComposite.h:
2016         (ScrollbarThemeComposite):
2017         (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
2018         (WebCore::ScrollbarThemeComposite::paintTrackBackground):
2019         (WebCore::ScrollbarThemeComposite::paintTrackPiece):
2020         (WebCore::ScrollbarThemeComposite::paintButton):
2021         (WebCore::ScrollbarThemeComposite::paintThumb):
2022         (WebCore::ScrollbarThemeComposite::paintTickmarks):
2023         (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
2024         * platform/chromium/ScrollbarThemeChromium.cpp:
2025         (WebCore::ScrollbarThemeChromium::hasThumb):
2026         (WebCore::ScrollbarThemeChromium::backButtonRect):
2027         (WebCore::ScrollbarThemeChromium::forwardButtonRect):
2028         (WebCore::ScrollbarThemeChromium::trackRect):
2029         (WebCore::ScrollbarThemeChromium::paintTrackBackground):
2030         (WebCore::ScrollbarThemeChromium::paintTickmarks):
2031         * platform/chromium/ScrollbarThemeChromium.h:
2032         (WebCore::ScrollbarThemeChromium::hasButtons):
2033         (ScrollbarThemeChromium):
2034         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
2035         (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
2036         (WebCore::ScrollbarThemeChromiumAndroid::shouldCenterOnThumb):
2037         (WebCore::ScrollbarThemeChromiumAndroid::buttonSize):
2038         (WebCore::ScrollbarThemeChromiumAndroid::minimumThumbLength):
2039         * platform/chromium/ScrollbarThemeChromiumAndroid.h:
2040         (ScrollbarThemeChromiumAndroid):
2041         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2042         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
2043         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
2044         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
2045         (WebCore::ScrollbarThemeChromiumLinux::shouldCenterOnThumb):
2046         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
2047         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
2048         * platform/chromium/ScrollbarThemeChromiumLinux.h:
2049         (ScrollbarThemeChromiumLinux):
2050         * platform/chromium/ScrollbarThemeChromiumMac.h:
2051         (ScrollbarThemeChromiumMac):
2052         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2053         (WebCore::scrollbarStateToThemeState):
2054         (WebCore::ScrollbarThemeChromiumMac::paint):
2055         (WebCore::ScrollbarThemeChromiumMac::paintGivenTickmarks):
2056         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
2057         (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
2058         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
2059         (WebCore::ScrollbarThemeChromiumWin::paintButton):
2060         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
2061         (WebCore::ScrollbarThemeChromiumWin::getThemeState):
2062         (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
2063         (WebCore::ScrollbarThemeChromiumWin::getClassicThemeState):
2064         (WebCore::ScrollbarThemeChromiumWin::shouldCenterOnThumb):
2065         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
2066         * platform/chromium/ScrollbarThemeChromiumWin.h:
2067         (ScrollbarThemeChromiumWin):
2068         * platform/efl/ScrollbarThemeEfl.cpp:
2069         (WebCore::ScrollbarThemeEfl::registerScrollbar):
2070         (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
2071         * platform/efl/ScrollbarThemeEfl.h:
2072         (ScrollbarThemeEfl):
2073         * platform/gtk/ScrollbarThemeGtk.cpp:
2074         (WebCore):
2075         (WebCore::ScrollbarThemeGtk::registerScrollbar):
2076         (WebCore::ScrollbarThemeGtk::unregisterScrollbar):
2077         (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
2078         (WebCore::ScrollbarThemeGtk::hasThumb):
2079         (WebCore::ScrollbarThemeGtk::backButtonRect):
2080         (WebCore::ScrollbarThemeGtk::forwardButtonRect):
2081         (WebCore::ScrollbarThemeGtk::trackRect):
2082         (WebCore::ScrollbarThemeGtk::thumbRect):
2083         (WebCore::ScrollbarThemeGtk::paint):
2084         (WebCore::ScrollbarThemeGtk::shouldCenterOnThumb):
2085         (WebCore::ScrollbarThemeGtk::buttonSize):
2086         (WebCore::ScrollbarThemeGtk::minimumThumbLength):
2087         * platform/gtk/ScrollbarThemeGtk.h:
2088         (WebCore::ScrollbarThemeGtk::hasButtons):
2089         (ScrollbarThemeGtk):
2090         * platform/gtk/ScrollbarThemeGtk2.cpp:
2091         (WebCore::getWidgetForScrollbar):
2092         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
2093         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
2094         (WebCore::ScrollbarThemeGtk::paintThumb):
2095         (WebCore::ScrollbarThemeGtk::paintButton):
2096         * platform/gtk/ScrollbarThemeGtk3.cpp:
2097         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
2098         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
2099         (WebCore::ScrollbarThemeGtk::paintThumb):
2100         (WebCore::ScrollbarThemeGtk::paintButton):
2101         * platform/mac/ScrollbarThemeMac.h:
2102         (ScrollbarThemeMac):
2103         * platform/mac/ScrollbarThemeMac.mm:
2104         (WebCore):
2105         (WebCore::ScrollbarThemeMac::registerScrollbar):
2106         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2107         (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
2108         (WebCore::ScrollbarThemeMac::painterForScrollbar):
2109         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
2110         (WebCore::ScrollbarThemeMac::hasButtons):
2111         (WebCore::ScrollbarThemeMac::hasThumb):
2112         (WebCore::ScrollbarThemeMac::backButtonRect):
2113         (WebCore::ScrollbarThemeMac::forwardButtonRect):
2114         (WebCore::ScrollbarThemeMac::trackRect):
2115         (WebCore::ScrollbarThemeMac::minimumThumbLength):
2116         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
2117         (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb):
2118         (WebCore::ScrollbarThemeMac::updateEnabledState):
2119         (WebCore::ScrollbarThemeMac::paint):
2120         * platform/mock/ScrollbarThemeMock.cpp:
2121         (WebCore::ScrollbarThemeMock::trackRect):
2122         (WebCore::ScrollbarThemeMock::paintTrackBackground):
2123         (WebCore::ScrollbarThemeMock::paintThumb):
2124         * platform/mock/ScrollbarThemeMock.h:
2125         (WebCore::ScrollbarThemeMock::hasButtons):
2126         (WebCore::ScrollbarThemeMock::hasThumb):
2127         (WebCore::ScrollbarThemeMock::backButtonRect):
2128         (WebCore::ScrollbarThemeMock::forwardButtonRect):
2129         (ScrollbarThemeMock):
2130         * platform/qt/ScrollbarThemeQt.cpp:
2131         (WebCore::styleOptionSlider):
2132         (WebCore::ScrollbarThemeQt::paint):
2133         (WebCore::ScrollbarThemeQt::hitTest):
2134         (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
2135         (WebCore::ScrollbarThemeQt::invalidatePart):
2136         (WebCore::ScrollbarThemeQt::thumbPosition):
2137         (WebCore::ScrollbarThemeQt::thumbLength):
2138         (WebCore::ScrollbarThemeQt::trackPosition):
2139         (WebCore::ScrollbarThemeQt::trackLength):
2140         * platform/qt/ScrollbarThemeQt.h:
2141         (ScrollbarThemeQt):
2142         * platform/win/ScrollbarThemeSafari.cpp:
2143         (WebCore::ScrollbarThemeSafari::hasButtons):
2144         (WebCore::ScrollbarThemeSafari::hasThumb):
2145         (WebCore::ScrollbarThemeSafari::backButtonRect):
2146         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
2147         (WebCore::ScrollbarThemeSafari::trackRect):
2148         (WebCore::ScrollbarThemeSafari::minimumThumbLength):
2149         (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
2150         (WebCore::ScrollbarThemeSafari::paintTrackBackground):
2151         (WebCore::ScrollbarThemeSafari::paintButton):
2152         (WebCore::ScrollbarThemeSafari::paintThumb):
2153         * platform/win/ScrollbarThemeSafari.h:
2154         (ScrollbarThemeSafari):
2155         * platform/win/ScrollbarThemeWin.cpp:
2156         (WebCore::ScrollbarThemeWin::hasThumb):
2157         (WebCore::ScrollbarThemeWin::backButtonRect):
2158         (WebCore::ScrollbarThemeWin::forwardButtonRect):
2159         (WebCore::ScrollbarThemeWin::trackRect):
2160         (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
2161         (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
2162         (WebCore::ScrollbarThemeWin::paintTrackBackground):
2163         (WebCore::ScrollbarThemeWin::paintTrackPiece):
2164         (WebCore::ScrollbarThemeWin::paintButton):
2165         (WebCore::paintGripper):
2166         (WebCore::ScrollbarThemeWin::paintThumb):
2167         * platform/win/ScrollbarThemeWin.h:
2168         (WebCore::ScrollbarThemeWin::hasButtons):
2169         (ScrollbarThemeWin):
2170         * platform/wx/ScrollbarThemeWx.cpp:
2171         (WebCore::ScrollbarThemeWx::hasThumb):
2172         (WebCore::ScrollbarThemeWx::minimumThumbLength):
2173         (WebCore::ScrollbarThemeWx::buttonSize):
2174         (WebCore::ScrollbarThemeWx::splitTrack):
2175         (WebCore::ScrollbarThemeWx::backButtonRect):
2176         (WebCore::ScrollbarThemeWx::forwardButtonRect):
2177         (WebCore::ScrollbarThemeWx::trackRect):
2178         (WebCore::ScrollbarThemeWx::paint):
2179         * platform/wx/ScrollbarThemeWx.h:
2180         (ScrollbarThemeWx):
2181         (WebCore::ScrollbarThemeWx::hasButtons):
2182         * rendering/RenderScrollbar.h:
2183         (WebCore::toRenderScrollbar):
2184         * rendering/RenderScrollbarTheme.cpp:
2185         (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
2186         (WebCore::RenderScrollbarTheme::hasButtons):
2187         (WebCore::RenderScrollbarTheme::hasThumb):
2188         (WebCore::RenderScrollbarTheme::minimumThumbLength):
2189         (WebCore::RenderScrollbarTheme::backButtonRect):
2190         (WebCore::RenderScrollbarTheme::forwardButtonRect):
2191         (WebCore::RenderScrollbarTheme::trackRect):
2192         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2193         (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
2194         (WebCore::RenderScrollbarTheme::paintTrackBackground):
2195         (WebCore::RenderScrollbarTheme::paintTrackPiece):
2196         (WebCore::RenderScrollbarTheme::paintButton):
2197         (WebCore::RenderScrollbarTheme::paintThumb):
2198         * rendering/RenderScrollbarTheme.h:
2199         (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
2200         (WebCore::RenderScrollbarTheme::registerScrollbar):
2201         (WebCore::RenderScrollbarTheme::unregisterScrollbar):
2202         (RenderScrollbarTheme):
2203
2204 2012-03-01  Luke Macpherson   <macpherson@chromium.org>
2205
2206         Implement CSSPropertyImageRendering in CSSStyleApplyProperty.
2207         https://bugs.webkit.org/show_bug.cgi?id=79855
2208
2209         Reviewed by Eric Seidel.
2210
2211         No new tests / refactoring only.
2212
2213         * css/CSSStyleApplyProperty.cpp:
2214         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2215         * css/CSSStyleSelector.cpp:
2216         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2217
2218 2012-03-01  Alok Priyadarshi  <alokp@chromium.org>
2219
2220         [chromium] Partial texture updates not happening with accelerated painting path
2221         https://bugs.webkit.org/show_bug.cgi?id=80040
2222
2223         Reviewed by James Robinson.
2224
2225         The order of y-flip and clip-rect was opposite of what it should be.
2226         The clip rect was not properly transformed to account for y-flip and hence clipping everything.  
2227
2228         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
2229         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
2230
2231 2012-03-01  Alexey Proskuryakov  <ap@apple.com>
2232
2233         FileReader read speed is way too low
2234         https://bugs.webkit.org/show_bug.cgi?id=77272
2235
2236         Reviewed by Oliver Hunt.
2237
2238         This brings performance to reasonable range, but certainly doesn't exhaust improvement opportunities.
2239
2240         * platform/network/BlobResourceHandle.cpp: Use a more appropriate block size. Performing
2241         cross-thread messaging for every 1024 bytes is slow.
2242
2243 2012-03-01  Dan Bernstein  <mitz@apple.com>
2244
2245         ScrollView::setFrameRect() calls contentsResized() even when the frame size is unchanged
2246         https://bugs.webkit.org/show_bug.cgi?id=80047
2247
2248         Reviewed by Anders Carlsson.
2249
2250         * platform/ScrollView.cpp:
2251         (WebCore::ScrollView::setFrameRect): Added a check that the new frame size differs from the
2252         old one before calling contentsResized().
2253
2254 2012-03-01  James Robinson  <jamesr@chromium.org>
2255
2256         [chromium] Move pageScaleDirty logic from LayerChromium to GraphicsLayerChromium
2257         https://bugs.webkit.org/show_bug.cgi?id=79714
2258
2259         Reviewed by Adrienne Walker.
2260
2261         When the page scale changes on a composited layer we need to invalidate all of the contents on the layer in
2262         order to repaint them at the new scale. The sequence of calls we get make this a bit tricky, since we first
2263         receive a page scale changed notification and then receive the new layer bounds. The solution is to defer the
2264         invalidation until we have the new layer bounds, which landed in r99774.
2265
2266         This moves that logic from LayerChromium into GraphicsLayerChromium since IMO this is pretty particular to the
2267         way WebCore is passing us invalidations and not something fundamental to the compositor.
2268
2269         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2270         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2271         (WebCore::GraphicsLayerChromium::setSize):
2272         (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
2273         * platform/graphics/chromium/GraphicsLayerChromium.h:
2274         * platform/graphics/chromium/LayerChromium.cpp:
2275         (WebCore::LayerChromium::LayerChromium):
2276         (WebCore::LayerChromium::setBounds):
2277         * platform/graphics/chromium/LayerChromium.h:
2278         (LayerChromium):
2279
2280 2012-03-01  Joe Thomas  <joethomas@motorola.com>
2281
2282         :empty still applies to elements made non-empty via page dynamics.
2283         https://bugs.webkit.org/show_bug.cgi?id=79734
2284
2285         Check for :empty style change should be made even if the RenderStyle for the element is NULL
2286         as changes to the element's children can trigger a change in :empty state of the parent element.
2287
2288         Reviewed by Antti Koivisto.
2289
2290         Test: fast/selectors/empty-element-made-non-empty.html
2291
2292         * dom/Element.cpp:
2293         (WebCore::checkForSiblingStyleChanges):
2294
2295 2012-02-29  Nat Duca  <nduca@chromium.org>
2296
2297         [chromium] Move context lost control code from CCSingleThreadProxy to CCLayerTreeHost
2298         https://bugs.webkit.org/show_bug.cgi?id=79964
2299
2300         Reviewed by James Robinson.
2301
2302         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2303         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2304         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
2305         (WebCore::CCLayerTreeHost::recreateContext):
2306         (WebCore::CCLayerTreeHost::createContext):
2307         (WebCore::CCLayerTreeHost::didLoseContext):
2308         (WebCore::CCLayerTreeHost::compositeAndReadback):
2309         (WebCore::CCLayerTreeHost::loseContext):
2310         (WebCore::CCLayerTreeHost::updateLayers):
2311         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2312         (CCLayerTreeHostClient):
2313         (CCLayerTreeHost):
2314         * platform/graphics/chromium/cc/CCProxy.h:
2315         (CCProxy):
2316         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2317         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
2318         (WebCore::CCSingleThreadProxy::compositeAndReadback):
2319         (WebCore::CCSingleThreadProxy::initializeContext):
2320         (WebCore::CCSingleThreadProxy::recreateContext):
2321         (WebCore):
2322         (WebCore::CCSingleThreadProxy::loseContext):
2323         (WebCore::CCSingleThreadProxy::compositeImmediately):
2324         (WebCore::CCSingleThreadProxy::doComposite):
2325         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2326         (CCSingleThreadProxy):
2327         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2328         (WebCore::CCThreadProxy::initializeContext):
2329         (WebCore::CCThreadProxy::recreateContext):
2330         (WebCore):
2331         (WebCore::CCThreadProxy::loseContext):
2332         * platform/graphics/chromium/cc/CCThreadProxy.h:
2333         (CCThreadProxy):
2334
2335 2012-03-01  Abhishek Arya  <inferno@chromium.org>
2336
2337         Prevent layout root to remain set on renderers getting destroyed.
2338         https://bugs.webkit.org/show_bug.cgi?id=79953
2339
2340         Reviewed by Eric Seidel.
2341
2342         Implement Julien Chaffraix's idea.
2343
2344         * page/FrameView.h:
2345         (WebCore::FrameView::clearLayoutRoot): helper to clear layout root.
2346         * rendering/RenderObject.cpp:
2347         (WebCore::clearLayoutRootIfNeeded): if we know we are going
2348         away and we are the view's layout root, then we need to reset the layout
2349         root to prevent being used.
2350         (WebCore):
2351         (WebCore::RenderObject::willBeDestroyed): call clearLayoutRootIfNeeded at end.
2352
2353 2012-03-01  Kangil Han  <kangil.han@samsung.com>
2354
2355         [DRT] Remove all PlainTextController usages in existing tests by adding internal API
2356         https://bugs.webkit.org/show_bug.cgi?id=78570
2357
2358         Reviewed by Hajime Morita.
2359
2360         This patch will remove all PlainTextController usages
2361         in existing DRT tests by adding internal API to WebCore/testing/Internals
2362
2363         Changed editing/text-iterator/script-tests/basic-iteration.js to use internals.rangeAsText
2364
2365         * testing/Internals.cpp:
2366         (WebCore::Internals::rangeAsText):
2367         (WebCore):
2368         * testing/Internals.h:
2369         (Internals):
2370         * testing/Internals.idl:
2371
2372 2012-03-01  Adam Barth  <abarth@webkit.org>
2373
2374         DOMWindow shouldn't have any INDEXED_DATABASE ifdefs
2375         https://bugs.webkit.org/show_bug.cgi?id=80013
2376
2377         Reviewed by Kentaro Hara.
2378
2379         Before this patch, DOMWindow still knew about IDB because of the
2380         database factory.  This patch moves the factory to
2381         DOMWindowIndexedDatabase.
2382
2383         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
2384         (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
2385         (WebCore::DOMWindowIndexedDatabase::from):
2386         (WebCore):
2387         (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
2388         (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
2389         * Modules/indexeddb/DOMWindowIndexedDatabase.h:
2390         (DOMWindowIndexedDatabase):
2391         * page/DOMWindow.cpp:
2392         (WebCore::DOMWindow::~DOMWindow):
2393         (WebCore::DOMWindow::clear):
2394         (WebCore):
2395         * page/DOMWindow.h:
2396         (DOMWindow):
2397
2398 2012-03-01  Anders Carlsson  <andersca@apple.com>
2399
2400         Glitchy scrolling on pages where the scroll layer needs to be updated on the main thread
2401         https://bugs.webkit.org/show_bug.cgi?id=80038
2402         <rdar://problem/10933831>
2403
2404         Reviewed by Simon Fraser.
2405
2406         When we need to update the scroll layer position on the main thread, we need to cache the
2407         scroll position we sent to the main thread and assume that that's the correct scroll position.
2408
2409         * page/scrolling/mac/ScrollingTreeNodeMac.h:
2410         (ScrollingTreeNodeMac):
2411         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
2412         (WebCore::ScrollingTreeNodeMac::update):
2413         (WebCore::ScrollingTreeNodeMac::setScrollPosition):
2414         (WebCore::ScrollingTreeNodeMac::scrollPosition):
2415
2416 2012-03-01  Julien Chaffraix  <jchaffraix@webkit.org>
2417
2418         Unreviewed, rolling out r109367.
2419         http://trac.webkit.org/changeset/109367
2420         https://bugs.webkit.org/show_bug.cgi?id=75568
2421
2422         Some tests started to fail in a non obvious way.
2423
2424         * rendering/RenderBlock.cpp:
2425         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
2426         (WebCore::RenderBlock::layoutBlock):
2427         (WebCore::RenderBlock::paint):
2428         (WebCore::RenderBlock::isPointInOverflowControl):
2429         * rendering/RenderBlock.h:
2430         (RenderBlock):
2431         * rendering/RenderBox.cpp:
2432         (WebCore::RenderBox::willBeDestroyed):
2433         (WebCore::RenderBox::styleDidChange):
2434         (WebCore::RenderBox::scrollWidth):
2435         (WebCore::RenderBox::scrollHeight):
2436         (WebCore::RenderBox::scrollLeft):
2437         (WebCore::RenderBox::scrollTop):
2438         (WebCore::RenderBox::setScrollLeft):
2439         (WebCore::RenderBox::setScrollTop):
2440         (WebCore::RenderBox::includeVerticalScrollbarSize):
2441         (WebCore::RenderBox::includeHorizontalScrollbarSize):
2442         (WebCore::RenderBox::scrolledContentOffset):
2443         (WebCore::RenderBox::cachedSizeForOverflowClip):
2444         (WebCore::RenderBox::pushContentsClip):
2445         (WebCore::RenderBox::popContentsClip):
2446         (WebCore::RenderBox::addLayoutOverflow):
2447         * rendering/RenderBox.h:
2448         (RenderBox):
2449         (WebCore):
2450         * rendering/RenderBoxModelObject.cpp:
2451         (WebCore):
2452         (WebCore::RenderBoxModelObject::styleDidChange):
2453         * rendering/RenderBoxModelObject.h:
2454         (WebCore::RenderBoxModelObject::requiresLayer):
2455         (RenderBoxModelObject):
2456         * rendering/RenderDeprecatedFlexibleBox.cpp:
2457         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2458         * rendering/RenderTableRow.h:
2459         (WebCore::RenderTableRow::requiresLayer):
2460
2461 2012-03-01  Kenichi Ishibashi  <bashi@chromium.org>
2462
2463         REGRESSION: Outlook 2007 doesn't display fonts correctly on emails composed by WebKit
2464         https://bugs.webkit.org/show_bug.cgi?id=79448
2465
2466         Reviewed by Ryosuke Niwa.
2467
2468         Don't produce single quotes around face attribute of font elements.
2469
2470         Test: editing/style/font-face-unquote.html
2471
2472         * editing/EditingStyle.cpp:
2473         (WebCore::StyleChange::extractTextStyles): Remove single quotes from m_applyFontFace.
2474
2475 2012-03-01  Beth Dakin  <bdakin@apple.com>
2476
2477         Reviewed by Kevin Decker.
2478
2479         Part of https://bugs.webkit.org/show_bug.cgi?id=79705
2480
2481         Here's some of that tweaking promised in the comment. Adjusting 
2482         gMaximumUnpaintedAreaRatio down a bit.
2483         * page/Page.cpp:
2484         (WebCore):
2485
2486 2012-03-01  Levi Weintraub  <leviw@chromium.org>
2487
2488         Add roundToInt method for LayoutUnits
2489         https://bugs.webkit.org/show_bug.cgi?id=79283
2490
2491         Reviewed by Eric Seidel.
2492
2493         Adding a roundToInt method that rounds a LayoutUnit to the nearest integer. This
2494         only has an effect once we switch to sub-pixel positioning. Points and offsets
2495         are rounded for painting and hit testing.
2496
2497         No new tests. No change in behavior.
2498
2499         * dom/MouseRelatedEvent.cpp:
2500         (WebCore::MouseRelatedEvent::offsetX):
2501         (WebCore::MouseRelatedEvent::offsetY):
2502         * html/shadow/MediaControlElements.cpp:
2503         (WebCore::MediaControlTextTrackContainerElement::updateSizes):
2504         * rendering/LayoutState.cpp:
2505         (WebCore::LayoutState::computeLineGridPaginationOrigin):
2506         * rendering/LayoutTypes.h:
2507         (WebCore::roundToInt): Stub until we switch to sub-pixel LayoutUnits.
2508         (WebCore):
2509         * rendering/RenderBlock.cpp:
2510         (WebCore::RenderBlock::pageLogicalTopForOffset):
2511         * rendering/RenderBlock.h:
2512         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Correcting to use the
2513         pixel snapped methods on FloatingObjects and removing the fixme.
2514         (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat): Ditto.
2515         (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat): Ditto.
2516         (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat): Ditto.
2517         (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat): Ditto.
2518         (WebCore::RenderBlock::pixelSnappedLogicalWidthForFloat): Ditto.
2519         * rendering/RenderBlockLineLayout.cpp:
2520         (WebCore::LineWidth::updateAvailableWidth):
2521         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Using
2522         pixelSnappedLogicalLeft/RightOffsetForLine convenience methods for line layout. When
2523         we switch to sub-pixel positioning, we still pixel snap blocks before painting them,
2524         but text is rendered using floats. We need to ensure the text is laid out using the
2525         actual pixel width of the containing block to avoid bleeding out of the block.
2526         * rendering/RenderBoxModelObject.h: Moving the fixme to pixelSnappedWidth/Height and
2527         adding the necessary rounding for Left/Top.
2528         (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
2529         (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
2530         * rendering/RenderLayer.cpp:
2531         (WebCore::RenderLayer::scrollRectToVisible):
2532         * rendering/RenderListBox.cpp:
2533         (WebCore::RenderListBox::scrollHeight): Rounding the height for scrollHeight. Scrolling
2534         always uses rounded values.
2535         * rendering/svg/RenderSVGRoot.cpp:
2536         (WebCore::RenderSVGRoot::localToParentTransform): Similar to the line box tree, since
2537         SVG renders using floats, we need to start with pixel snapped values from the render
2538         tree or we'll end up with the contents not properly aligned to the rest of the page.
2539         * rendering/svg/SVGRenderSupport.cpp:
2540         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
2541
2542 2012-03-01  Pavel Feldman  <pfeldman@chromium.org>
2543
2544         Web Inspector: arrays in object properties sections do not scale.
2545         https://bugs.webkit.org/show_bug.cgi?id=64596
2546
2547         Reviewed by Vsevolod Vlasov.
2548
2549         Test: inspector/console/console-big-array.html
2550
2551         * inspector/front-end/ConsoleMessage.js:
2552         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
2553         (WebInspector.ConsoleMessageImpl.prototype._printArray):
2554         * inspector/front-end/ObjectPropertiesSection.js:
2555         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
2556         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
2557         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2558         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
2559         (WebInspector.ArrayGroupingTreeElement):
2560         (WebInspector.ArrayGroupingTreeElement.populateAsArray):
2561         (WebInspector.ArrayGroupingTreeElement._populate.appendElement):
2562         (WebInspector.ArrayGroupingTreeElement._populate):
2563         (WebInspector.ArrayGroupingTreeElement.prototype.onpopulate):
2564         * inspector/front-end/RemoteObject.js:
2565         (WebInspector.RemoteObject.prototype.release):
2566         (WebInspector.RemoteObject.prototype.arrayLength):
2567         (WebInspector.LocalJSONObject.prototype.isError):
2568         (WebInspector.LocalJSONObject.prototype.arrayLength):
2569         * inspector/front-end/ScopeChainSidebarPane.js:
2570         (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath):
2571         * inspector/front-end/StylesSidebarPane.js:
2572         (WebInspector.StylePropertyTreeElement.prototype._mouseDown):
2573         * inspector/front-end/inspector.css:
2574         (.console-formatted-object, .console-formatted-node, .console-formatted-array):
2575         (.console-formatted-object .section, .console-formatted-node .section, .console-formatted-array .section):
2576
2577 2012-03-01  Adam Barth  <abarth@webkit.org>
2578
2579         Unreviewed, rolling out r109336.
2580         http://trac.webkit.org/changeset/109336
2581         https://bugs.webkit.org/show_bug.cgi?id=80013
2582
2583         It's causing some crashes
2584
2585         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
2586         (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
2587         (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
2588         * Modules/indexeddb/DOMWindowIndexedDatabase.h:
2589         (DOMWindowIndexedDatabase):
2590         * page/DOMWindow.cpp:
2591         (WebCore::DOMWindow::~DOMWindow):
2592         (WebCore::DOMWindow::clear):
2593         (WebCore):
2594         (WebCore::DOMWindow::setIDBFactory):
2595         * page/DOMWindow.h:
2596         (DOMWindow):
2597         (WebCore::DOMWindow::idbFactory):
2598
2599 2012-03-01  Tom Sepez  <tsepez@chromium.org>
2600
2601         Move m_frame protector from FrameLoader::changeLocation to FrameLoader::urlSelected
2602         https://bugs.webkit.org/show_bug.cgi?id=79882
2603
2604         Reviewed by Adam Barth.
2605
2606         Test: fast/frames/url-selected-crash.html
2607
2608         * loader/FrameLoader.cpp:
2609         (WebCore::FrameLoader::changeLocation):
2610         (WebCore::FrameLoader::urlSelected):
2611
2612 2012-03-01  Julien Chaffraix  <jchaffraix@webkit.org>
2613
2614         Lazily allocate overflow: hidden layers if we have overflowing content
2615         https://bugs.webkit.org/show_bug.cgi?id=75568
2616
2617         Reviewed by David Hyatt.
2618
2619         Change covered by the existing tests and the tons of rebaselines.
2620
2621         This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.
2622
2623         Apart from saving some memory, it will also speed up the rendering as we don't need to
2624         go through the layer's machinery when painting and hit testing.
2625
2626         On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
2627         overflow: hidden case in par with the overflow: visible case when scrolling that is a
2628         very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).
2629
2630         * rendering/RenderBlock.cpp:
2631         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
2632         Changed this method to update our size cache if needed.
2633
2634         * rendering/RenderBlock.cpp:
2635         (WebCore::RenderBlock::layoutBlock):
2636         (WebCore::RenderBlock::paint):
2637         (WebCore::RenderBlock::isPointInOverflowControl):
2638         * rendering/RenderBlock.h:
2639         (RenderBlock):
2640         * rendering/RenderBox.cpp:
2641         (WebCore::RenderBox::styleDidChange):
2642         (WebCore::RenderBox::scrollWidth):
2643         (WebCore::RenderBox::scrollHeight):
2644         (WebCore::RenderBox::scrollLeft):
2645         (WebCore::RenderBox::scrollTop):
2646         (WebCore::RenderBox::setScrollLeft):
2647         (WebCore::RenderBox::setScrollTop):
2648         (WebCore::RenderBox::includeVerticalScrollbarSize):
2649         (WebCore::RenderBox::includeHorizontalScrollbarSize):
2650         (WebCore::RenderBox::pushContentsClip):
2651         (WebCore::RenderBox::popContentsClip):
2652         (WebCore::RenderBox::addLayoutOverflow):
2653         Added layer() check to the previous call sites.
2654
2655         * rendering/RenderBoxModelObject.cpp:
2656         (WebCore::RenderBoxModelObject::ensureLayer):
2657         Added this function to create and add a new layer.
2658
2659         (WebCore::RenderBoxModelObject::willBeDestroyed):
2660         (WebCore):
2661         (WebCore::RenderBoxModelObject::styleDidChange):
2662         Patched those method to handle updating / removing
2663         cached size entries.
2664
2665         (WebCore::cachedSizeForOverflowClipMap):
2666         (WebCore::RenderBoxModelObject::cachedSizeForOverflowClip):
2667         (WebCore::RenderBoxModelObject::updateCachedSizeForOverflowClip):
2668         (WebCore::RenderBoxModelObject::clearCachedSizeForOverflowClip):
2669         This logic stores the size information for later repainting.
2670         It is in practice replicating what RenderLayer is doing.
2671
2672         * rendering/RenderBoxModelObject.h:
2673         (WebCore::RenderBoxModelObject::requiresLayer):
2674         Updated to call requiresLayerForOverflowClip.
2675
2676         (WebCore::RenderBoxModelObject::requiresLayerForOverflowClip):
2677         Added this method to check if we can lazily allocate the layer.
2678
2679         * rendering/RenderDeprecatedFlexibleBox.cpp:
2680         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2681         Removed some checks as they are part of updateScrollInfoAfterLayout.
2682
2683         * rendering/RenderObject.cpp:
2684         (WebCore::RenderObject::scrolledContentOffset):
2685         Added a layer() check.
2686
2687         * rendering/RenderTableRow.h:
2688         (RenderTableRow):
2689         Added a comment about why we need a layout for table rows.
2690
2691 2012-03-01  Abhishek Arya  <inferno@chromium.org>
2692
2693         Protect functions using two container node function, each of which can fire mutation events.
2694         https://bugs.webkit.org/show_bug.cgi?id=78397
2695
2696         Reviewed by Ryosuke Niwa.
2697
2698         Tests: fast/dom/document-set-title-mutation-crash.html
2699                fast/dom/option-text-mutation-crash.html
2700
2701         * dom/Node.cpp:
2702         (WebCore::Node::setTextContent):
2703         * dom/Text.cpp:
2704         (WebCore::Text::replaceWholeText):
2705         * editing/markup.cpp:
2706         (WebCore::trimFragment):
2707         (WebCore::replaceChildrenWithFragment):
2708         (WebCore::replaceChildrenWithText):
2709         * html/HTMLOptionElement.cpp:
2710         (WebCore::HTMLOptionElement::setText):
2711         * html/HTMLScriptElement.cpp:
2712         (WebCore::HTMLScriptElement::setText):
2713         * html/HTMLTableElement.cpp:
2714         (WebCore::HTMLTableElement::insertRow):
2715         * html/HTMLTextAreaElement.cpp:
2716         (WebCore::HTMLTextAreaElement::setDefaultValue):
2717         * html/HTMLTitleElement.cpp:
2718         (WebCore::HTMLTitleElement::setText):
2719
2720 2012-03-01  Alexey Proskuryakov  <ap@apple.com>
2721
2722         Some trivial file stream cleanup
2723         https://bugs.webkit.org/show_bug.cgi?id=79955
2724
2725         Reviewed by Sam Weinig.
2726
2727         No change in functionality.
2728
2729         * fileapi/FileStreamProxy.cpp: Tweaked comment, and added copyright for earlier changes.
2730
2731         * fileapi/FileStreamProxy.h: Added a FIXME telling that this should be in platform.
2732
2733         * platform/AsyncFileStream.h: Tweaked includes and added a FIXME about this to stop being
2734         a subclass.
2735
2736         * platform/FileStreamClient.h: Removed obvious comments, and added ones explaing in-band
2737         error signals.
2738
2739         * platform/network/BlobResourceHandle.cpp: Removed an include outside of platform, and an
2740         unused constant.
2741
2742 2012-03-01  Shinya Kawanaka  <shinyak@chromium.org>
2743
2744         Appending ShadowRoot into an element should not cause crash.
2745         https://bugs.webkit.org/show_bug.cgi?id=79620
2746
2747         Reviewed by Dimitri Glazkov.
2748
2749         We should treat ShadowRoot as a document fragment.
2750
2751         Test: fast/dom/shadow/shadow-root-append.html
2752
2753         * dom/ContainerNode.cpp:
2754         (WebCore::collectTargetNodes):
2755
2756 2012-03-01  Pavel Podivilov  <podivilov@chromium.org>
2757
2758         Web Inspector: use live location to update console message bubbles.
2759         https://bugs.webkit.org/show_bug.cgi?id=80023
2760
2761         Reviewed by Vsevolod Vlasov.
2762
2763         * inspector/front-end/DebuggerPresentationModel.js:
2764         (WebInspector.DebuggerPresentationModel):
2765         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
2766         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
2767         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript.updateLocation):
2768         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
2769         (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessage):
2770         (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessagesToScript):
2771         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
2772         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
2773         (WebInspector.DebuggerPresentationModel.prototype._scriptForURLAndLocation):
2774         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2775         * inspector/front-end/RawSourceCode.js:
2776         (WebInspector.RawSourceCode):
2777
2778 2012-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
2779
2780         Web Inspector: [InspectorIndexedDB] Show tooltips with IndexedDB objects meta information
2781         https://bugs.webkit.org/show_bug.cgi?id=80022
2782
2783         Reviewed by Pavel Feldman.
2784
2785         Added tooltips with meta information for IndexedDB databases, object stores and indexes.
2786         Added keyPath: prefix to key columns in IndexedDB data grid.
2787
2788         * English.lproj/localizedStrings.js:
2789         * inspector/front-end/IndexedDBViews.js:
2790         (WebInspector.IDBDataView.prototype._createDataGrid):
2791         (WebInspector.IDBDataView.prototype._keyPathHeader):
2792         * inspector/front-end/ResourcesPanel.js:
2793         (WebInspector.IDBDatabaseTreeElement.prototype.update):
2794         (WebInspector.IDBDatabaseTreeElement.prototype._updateTooltip):
2795         (WebInspector.IDBObjectStoreTreeElement.prototype.update):
2796         (WebInspector.IDBObjectStoreTreeElement.prototype._updateTooltip):
2797         (WebInspector.IDBIndexTreeElement.prototype.update):
2798         (WebInspector.IDBIndexTreeElement.prototype._updateTooltip):
2799
2800 2012-03-01  Pavel Feldman  <pfeldman@google.com>
2801
2802         Web Inspector: hide color picker on Esc and Enter.
2803         https://bugs.webkit.org/show_bug.cgi?id=79915
2804
2805         Reviewed by Vsevolod Vlasov.
2806
2807         * inspector/front-end/Spectrum.js:
2808         (WebInspector.Spectrum.prototype.reposition):
2809         (WebInspector.Spectrum.prototype.hide):
2810         (WebInspector.Spectrum.prototype._onKeyDown):
2811
2812 2012-03-01  Huang Dongsung  <luxtella@company100.net>
2813
2814         [Qt] Fixed incorrect size pixmap creation for a new transparency layer.
2815         https://bugs.webkit.org/show_bug.cgi?id=79658
2816
2817         If QPainter does not have clipping, beginPlatformTransparencyLayer can create
2818         wrong size pixmap, so it causes incorrect rendering.
2819
2820         Reviewed by Simon Hausmann.
2821
2822         * platform/graphics/qt/GraphicsContextQt.cpp:
2823         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2824
2825 2012-03-01  Simon Hausmann  <simon.hausmann@nokia.com>
2826
2827         [Qt] Remove dead style option code.
2828         https://bugs.webkit.org/show_bug.cgi?id=80017
2829
2830         Reviewed by Kenneth Rohde Christiansen.
2831
2832         QtStyleOptionWebComboBox provides functionality (bool multiple()) that
2833         is not called from anywhere (and the base class does not have it as a
2834         virtual function).
2835
2836         * Target.pri:
2837         * platform/qt/QtStyleOptionWebComboBox.h: Removed.
2838         * platform/qt/RenderThemeQStyle.cpp:
2839         (WebCore::RenderThemeQStyle::paintMenuList):
2840         (WebCore::RenderThemeQStyle::paintMenuListButton):
2841
2842 2012-03-01  Stephen Chenney  <schenney@chromium.org>
2843
2844         Crash in WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget
2845         https://bugs.webkit.org/show_bug.cgi?id=79831
2846
2847         Reviewed by Eric Seidel.
2848
2849         Out-of-order operations in the SVGSMILElement::removedFromDocument
2850         method caused its target to be removed and then re-added due to a
2851         later call. This led to the target being set on the animation while
2852         the target element itself was unaware. At deletion time, this caused a
2853         crash (or assert in debug builds). Thanks to Abhishek Arya for help
2854         with the layout test.
2855
2856         Test: svg/animations/smil-element-target-crash-main.html
2857
2858         * svg/animation/SVGSMILElement.cpp:
2859         (WebCore::SVGSMILElement::removedFromDocument):
2860
2861 2012-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
2862
2863         Web Inspector: move heap snapshot nodes data to external array.
2864         https://bugs.webkit.org/show_bug.cgi?id=79911
2865
2866         Reviewed by Vsevolod Vlasov.
2867
2868         Tests:
2869         heap-shapshot.html
2870         heap-shapshot-loader.html
2871
2872         * inspector/front-end/HeapSnapshot.js:
2873         (WebInspector.Int32Array):
2874         (WebInspector.Int32Array.prototype.get array):
2875         (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
2876         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
2877         (WebInspector.HeapSnapshot):
2878         (WebInspector.HeapSnapshot.prototype._init):
2879
2880 2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2881
2882         Introduce SMIL overrideStyle, to make SVG stop mutating CSS styles directly
2883         https://bugs.webkit.org/show_bug.cgi?id=79790
2884
2885         Reviewed by Zoltan Herczeg.
2886
2887         Next step towards enabling animVal support for XML attribute animations.
2888         When SVG CSS properties are animated using SMIL, we currently mutate
2889         the target elements style, and have to keep a baseValue around as String
2890         to be able to recover from the DOM mutations at the end, if fill!="freeze".
2891
2892         The approach required by SMIL is to keep around an override style declaration
2893         set and apply it right after the inline style declarations. Implement that
2894         finally, to avoid mutating styles directly.
2895
2896         Test: svg/animations/attributeTypes.html
2897
2898         * css/CSSStyleSelector.cpp: Model "SMIL animation style" applying just like "inline style" declarations.
2899         (WebCore::CSSStyleSelector::addElementStyleProperties): Refactored common code from matchAllRules().
2900         (WebCore::CSSStyleSelector::matchAllRules): Apply "SMIL animation style" after "inline style" declarations, as specified in SMIL2.
2901         * css/CSSStyleSelector.h: Add new addElementStyleProperties() helper.
2902         * svg/SVGAnimateElement.cpp: Keep track of animation state, if it's about to end, clear "SMIL animation style" upon next applyResultToTarget() call.
2903         (WebCore::SVGAnimateElement::SVGAnimateElement):
2904         (WebCore::SVGAnimateElement::applyResultsToTarget): Reset the CSS property we're animating int the "SMIL animation style", after animation ends.
2905                                                             (Instead of resetting target->style() properties to the old baseValue, as we used to do).
2906         (WebCore::SVGAnimateElement::endedActiveInterval): Set m_aboutToStopAnimation to true, so next call to applyResultsToTarget() knows the animation ends.
2907         * svg/SVGAnimateElement.h: Store bool m_aboutToSTopAnimation;
2908         * svg/SVGAnimationElement.cpp:
2909         (WebCore::setTargetAttributeAnimatedCSSValue):
2910         (WebCore::setTargetAttributeAnimatedXMLValue):
2911             Refactored both of these methods from setTargetAttributeAnimatedValue().
2912             Changed the CSS part, to apply property changes to the "SMIL animation style" instead of the regular StylePropertySet.
2913         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): Refactored code, use shouldApplyAnimation() to determine whether this animation should run.
2914         (WebCore::SVGAnimationElement::resetAnimationState): New helper calling setTargetAttributeAnimatedValue with a null-string for CSS attributes, when the animation ends.
2915                                                              This is used to detect that the CSS property should be removed from the "SMIL animation style".
2916         (WebCore::SVGAnimationElement::shouldApplyAnimation): Refactored from existing code, and make it more obvious how attributeType influences the animation, all according to SVG 1.1/SMIL2.
2917         * svg/SVGAnimationElement.h:
2918         * svg/SVGElement.cpp: Manage the "SMIL animation style", in SVGElementRareData, if needed. Only gets created if SMIL animations on CSS properties run.
2919         (WebCore::SVGElement::~SVGElement): Destroy SMIL animation style, upon destruction.
2920         (WebCore::SVGElement::animatedSMILStyleProperties): Returns the StylePropertySet for the "SMIL animation style", if it's available.
2921         (WebCore::SVGElement::ensureAnimatedSMILStyleProperties): Enforces creating the StylePropertySet for the "SMIL animation style".
2922         * svg/SVGElement.h: Expose new methods.
2923         * svg/SVGElementRareData.h: Stores the "SMIL animation style", actual managment is done by SVGElement, if needed.
2924         (WebCore::SVGElementRareData::animatedSMILStyleProperties): Retrieve it.
2925         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties): Create it.
2926         (WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties): Destroy it.
2927         * svg/animation/SVGSMILElement.h: Make endedActiveInterval() virtual again, its needed by SVGAnimateElement now.
2928
2929 2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2930
2931         Unreviewed, rolling out r109255.
2932         http://trac.webkit.org/changeset/109255
2933         https://bugs.webkit.org/show_bug.cgi?id=79932
2934
2935         Breaks rounded rects with dashed strokes in SVG
2936
2937         * WebCore.exp.in:
2938         * platform/graphics/Path.cpp:
2939         (WebCore::Path::addRoundedRect):
2940         * platform/graphics/Path.h:
2941         (Path):
2942         * platform/graphics/cg/PathCG.cpp:
2943         * platform/mac/WebCoreSystemInterface.h:
2944         * platform/mac/WebCoreSystemInterface.mm:
2945
2946 2012-03-01  Adam Barth  <abarth@webkit.org>
2947
2948         DOMWindow shouldn't have any INDEXED_DATABASE ifdefs
2949         https://bugs.webkit.org/show_bug.cgi?id=80013
2950
2951         Reviewed by Kentaro Hara.
2952
2953         Before this patch, DOMWindow still knew about IDB because of the
2954         database factory.  This patch moves the factory to
2955         DOMWindowIndexedDatabase.
2956
2957         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
2958         (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
2959         (WebCore::DOMWindowIndexedDatabase::from):
2960         (WebCore):
2961         (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
2962         (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
2963         * Modules/indexeddb/DOMWindowIndexedDatabase.h:
2964         (DOMWindowIndexedDatabase):
2965         * page/DOMWindow.cpp:
2966         (WebCore::DOMWindow::~DOMWindow):
2967         (WebCore::DOMWindow::clear):
2968         (WebCore):
2969         * page/DOMWindow.h:
2970         (DOMWindow):
2971
2972 2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2973
2974         SVG <use> element allows invalid contents
2975         https://bugs.webkit.org/show_bug.cgi?id=77764
2976
2977         Reviewed by Zoltan Herczeg.
2978
2979         Unbreak the world after r109299 - dozens of SVGUseElement tests fail in trunk because:
2980         - text nodes weren't allowed in SVG shadow subtrees
2981         - tagName matching ignores any prefixes, thus svg:circle fails to identify as SVGCircleElement
2982
2983         * svg/SVGUseElement.cpp:
2984         (WebCore::isDisallowedElement):
2985
2986 2012-03-01  Luke Macpherson   <macpherson@chromium.org>
2987
2988         Handle CSSPropertyWebkitHyphens in CSSStyleApplyProperty.
2989         https://bugs.webkit.org/show_bug.cgi?id=80004
2990
2991         Reviewed by Eric Seidel.
2992
2993         No new tests / refactoring only.
2994
2995         * css/CSSStyleApplyProperty.cpp:
2996         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2997         * css/CSSStyleSelector.cpp:
2998         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2999
3000 2012-02-29  Pavel Podivilov  <podivilov@chromium.org>
3001
3002         Web Inspector: abstract out the common pattern of creating auto-updated locations.
3003         https://bugs.webkit.org/show_bug.cgi?id=79906
3004
3005         Reviewed by Vsevolod Vlasov.
3006
3007         * inspector/front-end/DebuggerPresentationModel.js:
3008         (WebInspector.PresentationCallFrame.prototype.uiLocation):
3009         (WebInspector.DebuggerPresentationModel.CallFramePlacard):
3010         (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
3011         (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
3012         (WebInspector.DebuggerPresentationModel.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
3013         (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
3014         (WebInspector.DebuggerPresentationModel.Linkifier):
3015         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
3016         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
3017         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
3018         * inspector/front-end/RawSourceCode.js:
3019         (WebInspector.RawSourceCode.prototype.createLiveLocation):
3020         (WebInspector.RawSourceCode.LiveLocation):
3021         (WebInspector.RawSourceCode.LiveLocation.prototype.init):
3022         (WebInspector.RawSourceCode.LiveLocation.prototype.dispose):
3023         (WebInspector.RawSourceCode.LiveLocation.prototype._update):
3024
3025 2012-03-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3026
3027         Make the tiling code slightly smarter
3028         https://bugs.webkit.org/show_bug.cgi?id=80015
3029
3030         Reviewed by Simon Hausmann.
3031
3032         Avoid doing the same tranformations all over in each call to
3033         tileRectForCoordinate.
3034
3035         Do not resize tiles and then drop them because they are not out of
3036         the keep rect; instead drop before resizing.
3037
3038         Rename dropTilesOutsideRect to setKeepRect as it now stored the keep
3039         rect. This is used to avoid unneeded iteration of all tiles for
3040         invalidates outside the keep rect.
3041
3042         * platform/graphics/TiledBackingStore.cpp:
3043         (WebCore::TiledBackingStore::invalidate):
3044         (WebCore):
3045         (WebCore::TiledBackingStore::commitScaleChange):
3046         (WebCore::TiledBackingStore::coverageRatio):
3047         (WebCore::TiledBackingStore::createTiles):
3048         (WebCore::TiledBackingStore::adjustForContentsRect):
3049         (WebCore::TiledBackingStore::resizeEdgeTiles):
3050         (WebCore::TiledBackingStore::setKeepRect):
3051         (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
3052         (WebCore::TiledBackingStore::tileRectForCoordinate):
3053         (WebCore::TiledBackingStore::setSupportsAlpha):
3054         * platform/graphics/TiledBackingStore.h:
3055         (TiledBackingStore):
3056
3057 2012-02-29  Kinuko Yasuda  <kinuko@chromium.org>
3058
3059         Use the new createSnapshotFileAndReadMetadata API for FileEntry.file()
3060         https://bugs.webkit.org/show_bug.cgi?id=79928
3061
3062         Reviewed by David Levin.
3063
3064         No new tests: no functionality changes.
3065         fast/filesystem/ tests should use the new code (they should pass once
3066         the corresponding chromium change is rolled in).
3067
3068         * fileapi/DOMFileSystem.cpp:
3069         (WebCore::DOMFileSystem::createFile): Updated to use the new API.
3070         * fileapi/DOMFileSystemSync.cpp:
3071         (WebCore::DOMFileSystemSync::createFile): Updated to use the new API.
3072         * fileapi/FileSystemCallbacks.cpp:
3073         * fileapi/FileSystemCallbacks.h:
3074         (FileSystemCallbacksBase):
3075         * platform/AsyncFileSystem.h:
3076         (AsyncFileSystem):
3077         * platform/AsyncFileSystemCallbacks.h: Added default implementation (which just calls ASSERT_NOTREACHED()) so that subclasses can focus only on the callback methods that they're interested in.
3078
3079 2012-02-29  Pavel Podivilov  <podivilov@chromium.org>
3080
3081         Web Inspector: add UISourceCode.isEditable property.
3082         https://bugs.webkit.org/show_bug.cgi?id=79909
3083
3084         Reviewed by Vsevolod Vlasov.
3085
3086         * inspector/front-end/DebuggerPresentationModel.js:
3087         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
3088         * inspector/front-end/RawSourceCode.js:
3089         (WebInspector.RawSourceCode.prototype._createUISourceCode):
3090         * inspector/front-end/UISourceCode.js:
3091         (WebInspector.UISourceCode):
3092
3093 2012-02-29  Shinya Kawanaka  <shinyak@chromium.org> 
3094
3095         Fallback elements in non-youngest shadow tree should not be rendered.
3096         https://bugs.webkit.org/show_bug.cgi?id=80002
3097
3098         Reviewed by Hajime Morita.
3099
3100         Fallback elements in non-youngest shadow tree should not be rendered, so its phase should be
3101         AttachingNotDistributed instead of AttachingFallbacked.
3102
3103         Tests: multiple-shadowroot-rendering.html covers this patch.
3104
3105         * dom/NodeRenderingContext.cpp:
3106         (WebCore::NodeRenderingContext::NodeRenderingContext):
3107
3108 2012-02-29  Adam Barth  <abarth@webkit.org>
3109
3110         ScriptExecutionContext has too many ifdef ENABLE(SQL_DATABASE)
3111         https://bugs.webkit.org/show_bug.cgi?id=79633
3112
3113         Reviewed by Eric Seidel.
3114
3115         This class creates a DatabaseContext object to supplement the
3116         ScriptExecutionContext with database-specific information.  This new
3117         object lets us remove a bunch of database-specific (and ifdefed) logic
3118         from ScriptExecutionContext.(cpp|h).
3119
3120         * CMakeLists.txt:
3121         * GNUmakefile.list.am:
3122         * Target.pri:
3123         * WebCore.exp.in:
3124         * WebCore.gypi:
3125         * WebCore.vcproj/WebCore.vcproj:
3126         * WebCore.xcodeproj/project.pbxproj:
3127         * dom/ScriptExecutionContext.cpp:
3128         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
3129         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3130         (WebCore):
3131         * dom/ScriptExecutionContext.h:
3132         (WebCore):
3133         (ScriptExecutionContext):
3134         * history/PageCache.cpp:
3135         (WebCore::logCanCacheFrameDecision):
3136         (WebCore::PageCache::canCachePageContainingThisFrame):
3137         * loader/FrameLoader.cpp:
3138         (WebCore::FrameLoader::stopLoading):
3139         * platform/Supplementable.h:
3140         (WebCore::Supplementable::provideSupplement):
3141         (WebCore::Supplementable::requireSupplement):
3142         (Supplementable):
3143         * storage/AbstractDatabase.cpp:
3144         (WebCore::AbstractDatabase::AbstractDatabase):
3145         * storage/AbstractDatabase.h:
3146         (WebCore):
3147         (WebCore::AbstractDatabase::databaseContext):
3148         (AbstractDatabase):
3149         * storage/Database.cpp:
3150         (WebCore::Database::openDatabase):
3151         (WebCore::Database::Database):
3152         (WebCore::Database::openAndVerifyVersion):
3153         (WebCore::Database::markAsDeletedAndClose):
3154         (WebCore::Database::close):
3155         (WebCore::Database::closeImmediately):
3156         (WebCore::Database::performOpenAndVerify):
3157         (WebCore::Database::scheduleTransaction):
3158         (WebCore::Database::scheduleTransactionStep):
3159         (WebCore::Database::transactionClient):
3160         (WebCore::Database::transactionCoordinator):
3161         (WebCore::Database::tableNames):
3162         (WebCore::Database::securityOrigin):
3163         * storage/DatabaseContext.cpp: Added.
3164         (WebCore):
3165         (WebCore::existingDatabaseContextFrom):
3166         (WebCore::DatabaseContext::DatabaseContext):
3167         (WebCore::DatabaseContext::~DatabaseContext):
3168         (WebCore::DatabaseContext::from):
3169         (WebCore::DatabaseContext::databaseThread):
3170         (WebCore::DatabaseContext::hasOpenDatabases):
3171         (WebCore::DatabaseContext::stopDatabases):
3172         * storage/DatabaseContext.h: Added.
3173         (WebCore):
3174         (DatabaseContext):
3175         (WebCore::DatabaseContext::setHasOpenDatabases):
3176         * storage/SQLTransaction.cpp:
3177         (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
3178         (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
3179         * workers/WorkerThread.cpp:
3180         (WebCore::WorkerThreadShutdownStartTask::performTask):
3181
3182 2012-02-29  Shinya Kawanaka  <shinyak@chromium.org>
3183
3184         Refactoring: HTMLContentSelector should be InsertionPoint-aware.
3185         https://bugs.webkit.org/show_bug.cgi?id=79901
3186
3187         Reviewed by Hajime Morita.
3188
3189         ContentSelectorQuery took HTMLContentElement as argument, but patch changes it to take InsertionPoint instead.
3190         If InsertionPoint is not HTMLContentElement, ContentSelectorQuery will selects the rest of light children.
3191
3192         Now InsertionPoint has pure virtual method 'select'. <shadow> will implement this as a method returning empty string.
3193
3194         * dom/ShadowRoot.cpp:
3195         (WebCore::ShadowRoot::hasInsertionPoint):
3196         * dom/ShadowRoot.h:
3197         (ShadowRoot):
3198         * dom/ShadowTree.cpp:
3199         (WebCore::ShadowTree::needsReattachHostChildrenAndShadow):
3200         (WebCore::ShadowTree::hostChildrenChanged):
3201         * html/shadow/ContentSelectorQuery.cpp:
3202         (WebCore::ContentSelectorQuery::ContentSelectorQuery):
3203         (WebCore::ContentSelectorQuery::matches):
3204         * html/shadow/ContentSelectorQuery.h:
3205         (WebCore):
3206         (ContentSelectorQuery):
3207         * html/shadow/HTMLContentElement.cpp:
3208         (WebCore::HTMLContentElement::detach):
3209         * html/shadow/HTMLContentElement.h:
3210         (WebCore::toHTMLContentElement):
3211         (WebCore):
3212         * html/shadow/HTMLContentSelector.cpp:
3213         (WebCore::HTMLContentSelector::select):
3214         * html/shadow/HTMLContentSelector.h:
3215         (HTMLContentSelector):
3216         * html/shadow/InsertionPoint.h:
3217         (InsertionPoint):
3218
3219 2012-02-29  Luke Macpherson   <macpherson@chromium.org>
3220
3221         Handle CSSPropertySpeak in CSSStyleApplyProperty.
3222         https://bugs.webkit.org/show_bug.cgi?id=79879
3223
3224         Reviewed by Eric Seidel.
3225
3226         No new tests / refactoring only.
3227
3228         * css/CSSStyleApplyProperty.cpp:
3229         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3230         * css/CSSStyleSelector.cpp:
3231         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3232         * rendering/style/RenderStyle.h:
3233
3234 2012-02-29  Luke Macpherson   <macpherson@chromium.org>
3235
3236         Handle CSSPropertyWebkitColumnAxis in CSSStyleApplyProperty.
3237         https://bugs.webkit.org/show_bug.cgi?id=79869
3238
3239         Reviewed by Eric Seidel.
3240
3241         No new tests / refactoring only.
3242
3243         * css/CSSStyleApplyProperty.cpp:
3244         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3245         * css/CSSStyleSelector.cpp:
3246         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3247
3248 2012-02-29  Erik Arvidsson  <arv@chromium.org>
3249
3250         Rename DOMSelection to Selection
3251         https://bugs.webkit.org/show_bug.cgi?id=79688
3252
3253         Reviewed by Adam Barth.
3254
3255         No new tests. Existing tests have been updated to cover this.
3256
3257         * page/DOMSelection.idl:
3258         * page/DOMWindow.idl:
3259
3260 2012-02-29  Joshua Bell  <jsbell@chromium.org>
3261
3262         IndexedDB: IDBDatabase.objectStoreNames and IDObjectStore.indexNames results should be sorted
3263         https://bugs.webkit.org/show_bug.cgi?id=79950
3264
3265         Reviewed by Tony Chang.
3266
3267         Test: storage/indexeddb/list-ordering.html
3268
3269         * dom/DOMStringList.cpp: Added sort method, not exposed via IDL.
3270         (WebCore::DOMStringList::sort):
3271         (WebCore):
3272         * dom/DOMStringList.h:
3273         (DOMStringList):
3274         * storage/IDBDatabaseBackendImpl.cpp:
3275         (WebCore::IDBDatabaseBackendImpl::objectStoreNames):
3276         * storage/IDBObjectStoreBackendImpl.cpp:
3277         (WebCore::IDBObjectStoreBackendImpl::indexNames):
3278
3279 2012-02-29  W. James MacLean  <wjmaclean@chromium.org>
3280
3281         [chromium] Estimate pixel count for frame rate control
3282         https://bugs.webkit.org/show_bug.cgi?id=74982
3283
3284         Reviewed by James Robinson.
3285
3286         Value checks added to unit tests.
3287
3288         Adds mechanism to compute and collect statistics on pixel overdraw for selected frames.
3289
3290         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3291         (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
3292         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
3293         (WebCore::wedgeProduct):
3294         (WebCore):
3295         (WebCore::quadArea):
3296         (WebCore::CCQuadCuller::cullOccludedQuads):
3297         * platform/graphics/chromium/cc/CCQuadCuller.h:
3298         (CCQuadCuller):
3299         * platform/graphics/chromium/cc/CCRenderPass.cpp:
3300         (WebCore::CCRenderPass::optimizeQuads):
3301         * platform/graphics/chromium/cc/CCRenderPass.h:
3302         (CCOverdrawCounts):
3303         (WebCore):
3304         (CCRenderPass):
3305
3306 2012-02-29  Jason Liu  <jason.liu@torchmobile.com.cn>
3307
3308         [BlackBerry]Make about:cache feature available in release version.
3309         https://bugs.webkit.org/show_bug.cgi?id=79866
3310
3311         Reviewed by Antonio Gomes.
3312
3313         No tests.
3314         * platform/network/blackberry/NetworkJob.cpp:
3315         (WebCore::NetworkJob::handleAbout):
3316
3317 2012-02-29  James Simonsen  <simonjam@chromium.org>
3318
3319         [chromium] Fix navigation start time on cross-renderer navigation
3320         https://bugs.webkit.org/show_bug.cgi?id=75922
3321
3322         Reviewed by Darin Fisher.
3323
3324         * loader/DocumentLoadTiming.cpp:
3325         (WebCore::DocumentLoadTiming::setNavigationStart): Added.
3326         * loader/DocumentLoadTiming.h:
3327
3328 2012-02-29  Stephen Chenney  <schenney@chromium.org>
3329
3330         SVG <use> element allows invalid contents
3331         https://bugs.webkit.org/show_bug.cgi?id=77764
3332
3333         Reviewed by Nikolas Zimmermann.
3334
3335         Modify the isDisallowedElement method to disallow all of the
3336         disallowed elements, instead of just a few. It is now a whitelist
3337         implementation.
3338
3339         This also fixes bugs 78807, 78838 and 79798 related to memory
3340         corruption issues.
3341
3342         Tests: svg/custom/bug78807.svg
3343                svg/custom/bug78838.html
3344                svg/custom/bug79798.html
3345
3346         * svg/SVGUseElement.cpp:
3347         (WebCore::isDisallowedElement):
3348
3349 2012-02-29  Ami Fischman  <fischman@chromium.org>
3350
3351         Continue the search for playable mime types among <source> children of <video> even when using data: URLs
3352         https://bugs.webkit.org/show_bug.cgi?id=79934
3353
3354         Reviewed by Eric Carlson.
3355
3356         Test: media/sources-fallback-codecs.html
3357
3358         * html/HTMLMediaElement.cpp:
3359         (WebCore::HTMLMediaElement::selectNextSourceChild):
3360
3361 2012-02-29  Ian Vollick  <vollick@chromium.org>
3362
3363         [chromium] Add impl-thread support for animation-timing-function
3364         https://bugs.webkit.org/show_bug.cgi?id=79819
3365
3366         Reviewed by James Robinson.
3367
3368         * WebCore.gypi:
3369         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
3370         (WebCore::CCKeyframe::CCKeyframe):
3371         (WebCore):
3372         (WebCore::CCKeyframe::~CCKeyframe):
3373         (WebCore::CCKeyframe::time):
3374         (WebCore::CCKeyframe::timingFunction):
3375         (WebCore::CCFloatKeyframe::create):
3376         (WebCore::CCFloatKeyframe::CCFloatKeyframe):
3377         (WebCore::CCFloatKeyframe::~CCFloatKeyframe):
3378         (WebCore::CCFloatKeyframe::value):
3379         (WebCore::CCFloatKeyframe::clone):
3380         (WebCore::CCTransformKeyframe::create):
3381         (WebCore::CCTransformKeyframe::CCTransformKeyframe):
3382         (WebCore::CCTransformKeyframe::~CCTransformKeyframe):
3383         (WebCore::CCTransformKeyframe::value):
3384         (WebCore::CCTransformKeyframe::clone):
3385         (WebCore::CCKeyframedFloatAnimationCurve::create):
3386         (WebCore::CCKeyframedFloatAnimationCurve::CCKeyframedFloatAnimationCurve):
3387         (WebCore::CCKeyframedFloatAnimationCurve::addKeyframe):
3388         (WebCore::CCKeyframedFloatAnimationCurve::duration):
3389         (WebCore::CCKeyframedFloatAnimationCurve::clone):
3390         (WebCore::CCKeyframedFloatAnimationCurve::getValue):
3391         (WebCore::CCKeyframedTransformAnimationCurve::create):
3392         (WebCore::CCKeyframedTransformAnimationCurve::CCKeyframedTransformAnimationCurve):
3393         (WebCore::CCKeyframedTransformAnimationCurve::~CCKeyframedTransformAnimationCurve):
3394         (WebCore::CCKeyframedTransformAnimationCurve::addKeyframe):
3395         (WebCore::CCKeyframedTransformAnimationCurve::duration):
3396         (WebCore::CCKeyframedTransformAnimationCurve::clone):
3397         (WebCore::CCKeyframedTransformAnimationCurve::getValue):
3398         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
3399         (CCKeyframe):
3400         (CCFloatKeyframe):
3401         (WebCore):
3402         (CCTransformKeyframe):
3403         (CCKeyframedFloatAnimationCurve):
3404         (CCKeyframedTransformAnimationCurve):
3405         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3406         * platform/graphics/chromium/cc/CCTimingFunction.cpp: Added.
3407         (WebCore):
3408         (WebCore::CCTimingFunction::CCTimingFunction):
3409         (WebCore::CCTimingFunction::~CCTimingFunction):
3410         (WebCore::CCTimingFunction::duration):
3411         (WebCore::CCCubicBezierTimingFunction::create):
3412         (WebCore::CCCubicBezierTimingFunction::CCCubicBezierTimingFunction):
3413         (WebCore::CCCubicBezierTimingFunction::~CCCubicBezierTimingFunction):
3414         (WebCore::CCCubicBezierTimingFunction::getValue):
3415         (WebCore::CCCubicBezierTimingFunction::clone):
3416         (WebCore::CCEaseTimingFunction::create):
3417         (WebCore::CCEaseInTimingFunction::create):
3418         (WebCore::CCEaseOutTimingFunction::create):
3419         (WebCore::CCEaseInOutTimingFunction::create):
3420         * platform/graphics/chromium/cc/CCTimingFunction.h: Added.
3421         (WebCore):
3422         (CCTimingFunction):
3423         (CCCubicBezierTimingFunction):
3424         (CCEaseTimingFunction):
3425         (CCEaseInTimingFunction):
3426         (CCEaseOutTimingFunction):
3427         (CCEaseInOutTimingFunction):
3428
3429 2012-02-29  Shinya Kawanaka  <shinyak@chromium.org>
3430
3431         Methods in ShadowTree and TreeScopeAdopter should be multiple shadow roots aware.
3432         https://bugs.webkit.org/show_bug.cgi?id=79768
3433
3434         Reviewed by Hajime Morita.
3435
3436         Some methods in ShadowTree and TreeScopeAdopter were not multiple shadow roots aware.
3437         They should consider multiple shadow roots.
3438
3439         Test: fast/dom/shadow/multiple-shadowroot-adopt.html
3440
3441         * dom/ShadowTree.cpp:
3442         (WebCore::ShadowTree::setParentTreeScope):
3443         (WebCore):
3444         (WebCore::ShadowTree::childNeedsStyleRecalc):
3445         (WebCore::ShadowTree::needsStyleRecalc):
3446         * dom/ShadowTree.h:
3447         (WebCore):
3448         (ShadowTree):
3449         * dom/TreeScopeAdopter.cpp:
3450         (WebCore::shadowTreeFor):
3451         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
3452         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
3453         (WebCore::TreeScopeAdopter::moveShadowTreeToNewDocument):
3454         (WebCore):
3455         * dom/TreeScopeAdopter.h:
3456         (TreeScopeAdopter):
3457
3458 2012-02-29  David Levin  <levin@chromium.org>
3459
3460         [chromium] Add the ability to turn off autoresize.
3461         https://bugs.webkit.org/show_bug.cgi?id=77452
3462
3463         Reviewed by Darin Fisher.
3464
3465         Test: fast/autoresize/turn-off-autoresize.html
3466
3467         * page/FrameView.cpp:
3468         (WebCore::FrameView::enableAutoSizeMode): Fix the code
3469         path for turning off autoresize to set the scrollbars to auto.
3470
3471 2012-02-29  David Barton  <dbarton@mathscribe.com>
3472
3473         <msubsup> setNeedsLayout() correction
3474         https://bugs.webkit.org/show_bug.cgi?id=79856
3475
3476         Reviewed by Julien Chaffraix.
3477
3478         m_scripts->setNeedsLayout(true, false); need