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