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