6a536e270d8880acc8019028520f35534252c135
[WebKit.git] / Source / WebCore / ChangeLog
1 2012-03-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2
3         Create a method in Element to compare attributes with other Element
4         https://bugs.webkit.org/show_bug.cgi?id=80169
5
6         Reviewed by Ryosuke Niwa.
7
8         Avoid manually peeking at attribute storage to get this information. This
9         simplify the callsites. The actual implementation of comparison was moved to
10         ElementAttributeData. The mapsEquivalent() function still exists for the sake
11         of DocumentType nodes.
12
13         * dom/Element.cpp:
14         (WebCore::Element::hasEquivalentAttributes):
15         (WebCore):
16         * dom/Element.h:
17         (Element):
18         * dom/ElementAttributeData.cpp:
19         (WebCore::ElementAttributeData::isEquivalent):
20         (WebCore):
21         * dom/ElementAttributeData.h:
22         (ElementAttributeData):
23         * dom/NamedNodeMap.cpp:
24         (WebCore::NamedNodeMap::mapsEquivalent):
25         * dom/Node.cpp:
26         (WebCore::Node::isEqualNode):
27         * editing/htmlediting.cpp:
28         (WebCore::areIdenticalElements): Use Element::hasTagName() instead of matching
29         directly to make code a bit clearer.
30
31 2012-03-02  Zan Dobersek  <zandobersek@gmail.com>
32
33         [GTK] Smooth scrolling support
34         https://bugs.webkit.org/show_bug.cgi?id=16123
35
36         Reviewed by Martin Robinson.
37
38         No new tests - no new functionality.
39
40         Add the ScrollAnimatorNone class to compilation and enable
41         the smooth scrolling feature by default at compilation time.
42
43         * GNUmakefile.am:
44         * GNUmakefile.list.am:
45
46 2012-03-02  Philippe Normand  <pnormand@igalia.com>
47
48         [GStreamer] media/media-can-play-flac-audio.html fails
49         https://bugs.webkit.org/show_bug.cgi?id=80124
50
51         Reviewed by Martin Robinson.
52
53         Handle audio/x-flac in the mimeTypeCache() function so that we
54         advertize both audio/flac and audio/x-flac.
55
56         No new tests, this is covered already by media/media-can-play-flac-audio.html.
57
58         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
59
60 2012-03-02  Pavel Podivilov  <podivilov@chromium.org>
61
62         Web Inspector: fix fronted compilation.
63         https://bugs.webkit.org/show_bug.cgi?id=80154
64
65         Reviewed by Yury Semikhatsky.
66
67         * inspector/front-end/DebuggerModel.js:
68         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
69         * inspector/front-end/DebuggerPresentationModel.js:
70         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
71         * inspector/front-end/ScriptsSearchScope.js:
72         (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
73
74 2012-03-02  Kaustubh Atrawalkar  <kaustubh@motorola.com>
75
76         Rename DOMURL to URL in the bindings
77         https://bugs.webkit.org/show_bug.cgi?id=78214
78
79         Reviewed by Kentaro Hara.
80
81         No new tests. Interface name change.
82
83         * html/DOMURL.idl: Added InterfaceName attribute to DOMURL.
84
85 2012-03-02  Roland Steiner  <rolandsteiner@chromium.org>
86
87         Add :scope pseudo-class
88         https://bugs.webkit.org/show_bug.cgi?id=79077
89
90         Add :scope pseudo class name & pseudoId
91         Add selector check for the new pseudo-class
92
93         Reviewed by Antti Koivisto.
94
95         Test: fast/css/style-scoped/scope-pseudo.html
96
97         * css/CSSSelector.cpp:
98         (WebCore::CSSSelector::pseudoId):
99         (WebCore::nameToPseudoTypeMap):
100         (WebCore::CSSSelector::extractPseudoType):
101         * css/CSSSelector.h:
102         * css/SelectorChecker.cpp:
103         (WebCore::SelectorChecker::checkOneSelector):
104
105 2012-03-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
106
107         Make parser code not depend on NamedNodeMap
108         https://bugs.webkit.org/show_bug.cgi?id=79963
109
110         Reviewed by Adam Barth.
111
112         Instead of creating Element-less NamedNodeMaps, the parsing code now creates
113         AttributeVectors, that are used to fill Element via the parserSetAttributes()
114         method. This allows us to remove even more methods from the NamedNodeMap.
115
116         The AttributeVector class contains convenience methods that take the attribute's
117         QualifiedName as parameter. This class is also used inside ElementAttributeData.
118
119         * dom/Attr.h:
120         (Attr):
121         * dom/Element.cpp:
122         (WebCore::Element::getAttribute):
123         (WebCore::Element::parserSetAttributes): Now we have to create the attribute
124         storage, and fill it (by Vector::swap()) with the passed attributes. Also use an
125         early return to reduce indentation.
126         (WebCore::Element::insertedIntoDocument):
127         (WebCore::Element::removedFromDocument):
128         (WebCore::Element::getURLAttribute):
129         (WebCore::Element::getNonEmptyURLAttribute):
130         * dom/Element.h:
131         (Element):
132         (WebCore::Element::fastHasAttribute):
133         (WebCore::Element::fastGetAttribute):
134         (WebCore::Element::hasAttributesWithoutUpdate):
135         (WebCore::Element::attributeItem):
136         (WebCore::Element::getAttributeItem):
137         * dom/ElementAttributeData.cpp:
138         (WebCore::AttributeVector::removeAttribute):
139         (WebCore):
140         * dom/ElementAttributeData.h:
141         (AttributeVector):
142         (WebCore::AttributeVector::create):
143         (WebCore::AttributeVector::attributeItem):
144         (WebCore::AttributeVector::AttributeVector):
145         (WebCore):
146         (WebCore::AttributeVector::getAttributeItem):
147         (WebCore::AttributeVector::getAttributeItemIndex):
148         (WebCore::AttributeVector::insertAttribute): Boolean parameter isn't necessary
149         since all the callers used 'false', indicating that duplicates were not allowed.
150         (WebCore::ElementAttributeData::attributeItem):
151         (WebCore::ElementAttributeData::getAttributeItem):
152         (WebCore::ElementAttributeData::getAttributeItemIndex):
153         (ElementAttributeData):
154         * dom/NamedNodeMap.cpp:
155         (WebCore::NamedNodeMap::getNamedItem):
156         (WebCore::NamedNodeMap::setNamedItem):
157         (WebCore::NamedNodeMap::removeNamedItem):
158         (WebCore::NamedNodeMap::mapsEquivalent):
159         * dom/NamedNodeMap.h:
160         * html/parser/HTMLConstructionSite.cpp:
161         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
162         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
163         (WebCore::HTMLConstructionSite::insertScriptElement):
164         (WebCore::HTMLConstructionSite::createElement):
165         (WebCore::HTMLConstructionSite::createHTMLElement):
166         (WebCore):
167         * html/parser/HTMLToken.h:
168         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
169         * html/parser/HTMLTreeBuilder.cpp:
170         (WebCore::HTMLTreeBuilder::processFakeStartTag):
171         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
172         (WebCore):
173         * html/parser/HTMLTreeBuilder.h:
174         * html/parser/TextDocumentParser.cpp:
175         (WebCore::TextDocumentParser::insertFakePreElement):
176         * xml/parser/MarkupTokenBase.h:
177         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
178         (WebCore::AtomicMarkupTokenBase::attributes):
179         (WebCore::AtomicMarkupTokenBase::takeAttributes):
180         (AtomicMarkupTokenBase):
181         (WebCore::::initializeAttributes):
182         * xml/parser/XMLToken.h:
183         (WebCore::AtomicXMLToken::AtomicXMLToken):
184         * xml/parser/XMLTreeBuilder.cpp:
185         (WebCore::XMLTreeBuilder::processNamespaces):
186         (WebCore::XMLTreeBuilder::processAttributes):
187
188 2012-03-02  Yury Semikhatsky  <yurys@chromium.org>
189
190         Web Inspector: assertion failure in JSMainThreadExecState::instrumentedCall
191         https://bugs.webkit.org/show_bug.cgi?id=80152
192
193         Extracted common code of JS call instrumentation into instrumentFunctionCall method
194         and call it directly where the instrumentation is needed instead of calling
195         JSMainThreadExecState::instrumentedCall which works on the main thread only.
196
197         Reviewed by Pavel Feldman.
198
199         * bindings/js/JSCallbackData.cpp:
200         (WebCore::JSCallbackData::invokeCallback):
201         * bindings/js/JSEventListener.cpp:
202         (WebCore::JSEventListener::handleEvent):
203         * bindings/js/JSMainThreadExecState.h:
204         (WebCore::JSMainThreadExecState::instrumentFunctionCall):
205
206 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
207
208         [Forms] Make order of attribute/method in HTMLTextAreaElement.idl as same as specification
209         https://bugs.webkit.org/show_bug.cgi?id=80101
210
211         Reviewed by Kent Tamura.
212
213         No new tests. No behavior changes.
214
215         * html/HTMLTextAreaElement.idl: Reorder attribute/method position.
216
217 2012-03-02  Patrick Gansterer  <paroga@webkit.org>
218
219         Build fix after r109538.
220
221         * CMakeLists.txt:
222         * Modules/websockets/WebSocketDeflater.cpp:
223
224 2012-03-02  Roland Steiner  <rolandsteiner@chromium.org>
225
226         Scoped stylesheets don't appear to work in Shadow DOM
227         https://bugs.webkit.org/show_bug.cgi?id=79549
228
229         Make the scope stack in CSSStyleSelector use ContainerNode* instead of Element*.
230         Adapt using sites accordingly.
231         Push the ShadowRoot to the scope stack in the same way that elements are pushed.
232         Fix an issue with removedFromDocument() on destruction.
233
234         Reviewed by Antti Koivisto.
235
236         Test: fast/css/style-scoped/style-scoped-in-shadow.html
237
238         * css/CSSStyleSelector.cpp:
239         (RuleSet):
240         (WebCore::CSSStyleSelector::CSSStyleSelector):
241         (WebCore::CSSStyleSelector::determineScope):
242         (WebCore::CSSStyleSelector::ruleSetForScope):
243         (WebCore::CSSStyleSelector::appendAuthorStylesheets):
244         (WebCore::CSSStyleSelector::setupScopeStack):
245         (WebCore::CSSStyleSelector::pushScope):
246         (WebCore):
247         (WebCore::CSSStyleSelector::popScope):
248         (WebCore::CSSStyleSelector::pushParentElement):
249         (WebCore::CSSStyleSelector::popParentElement):
250         (WebCore::CSSStyleSelector::pushParentShadowRoot):
251         (WebCore::CSSStyleSelector::popParentShadowRoot):
252         (WebCore::CSSStyleSelector::matchScopedAuthorRules):
253         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
254         * css/CSSStyleSelector.h:
255         (CSSStyleSelector):
256         (WebCore::CSSStyleSelector::pushScope):
257         (WebCore::CSSStyleSelector::popScope):
258         (WebCore::CSSStyleSelector::MatchOptions::MatchOptions):
259         (MatchOptions):
260         (WebCore::CSSStyleSelector::scopeStackIsConsistent):
261         (WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame):
262         (ScopeStackFrame):
263         * css/SelectorChecker.h:
264         (SelectorCheckingContext):
265         * dom/Element.cpp:
266         (WebCore::StyleSelectorParentPusher::push):
267         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
268         (WebCore::Element::beginParsingChildren):
269         (WebCore::Element::finishParsingChildren):
270         * dom/ShadowRoot.cpp:
271         (WebCore::ShadowRoot::attach):
272         (WebCore):
273         * dom/ShadowRoot.h:
274         (ShadowRoot):
275         * dom/ShadowTree.cpp:
276         (WebCore::ShadowTree::recalcShadowTreeStyle):
277         * html/HTMLStyleElement.cpp:
278         (WebCore::HTMLStyleElement::removedFromDocument):
279
280 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
281
282         [Forms] Make order of attribute/method in HTMLSelectElement.idl as same as specification
283         https://bugs.webkit.org/show_bug.cgi?id=80097
284
285         Reviewed by Kent Tamura.
286
287         No new tests. No behavior changes.
288
289         * html/HTMLSelectElement.idl: Reorder attribute/method position.
290
291 2012-03-02  Pavel Podivilov  <podivilov@chromium.org>
292
293         Web Inspector: limit RawSourceCode usages to DebuggerPresentationModel.
294         https://bugs.webkit.org/show_bug.cgi?id=80146
295
296         Reviewed by Vsevolod Vlasov.
297
298         * inspector/front-end/DebuggerPresentationModel.js:
299         (WebInspector.DebuggerPresentationModel.prototype.uiLocationToRawLocation):
300         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
301         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
302         * inspector/front-end/ObjectPopoverHelper.js:
303         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
304         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
305         * inspector/front-end/ScriptsSearchScope.js:
306         (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
307
308 2012-03-02  Pavel Podivilov  <podivilov@chromium.org>
309
310         Web Inspector: update execution line using LiveLocation.
311         https://bugs.webkit.org/show_bug.cgi?id=80143
312
313         Reviewed by Vsevolod Vlasov.
314
315         * inspector/front-end/DebuggerPresentationModel.js:
316         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
317         (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
318         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame.updateExecutionLine):
319         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
320
321 2012-03-02  Leo Yang  <leo.yang@torchmobile.com.cn>
322
323         [BlackBerry] Build fix for LocalizedStringsBlackBerry.cpp
324         https://bugs.webkit.org/show_bug.cgi?id=80099
325
326         Unreviewed build fix.
327
328         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
329
330 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
331
332         Fix build on AppleWebKit after 109548.
333
334         * WebCore.exp.in:
335
336 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
337
338         [Forms] Make order of attribute/method in HTMLOptionElement.idl as same as specification
339         https://bugs.webkit.org/show_bug.cgi?id=80095
340
341         Reviewed by Kentaro Hara.
342
343         No new tests. No behavior changes.
344
345         * html/HTMLOptionElement.idl: Reorder attribute/method position.
346
347 2012-03-02  Adam Barth  <abarth@webkit.org>
348
349         WorkerContext shouldn't know about IndexedDB
350         https://bugs.webkit.org/show_bug.cgi?id=80094
351
352         Reviewed by Kentaro Hara.
353
354         There are still a couple IndexedDB stragglers we should clean up in
355         WebCore proper.  This patch moves some IndexedDB logic from
356         WorkerContext into the indexeddb module.
357
358         In the process of writing this patch, I noticed that some IndexedDB
359         files were missing from various build systems, so I added them.  I
360         suspect that means IndexedDB is only enabled by default on Chromium.
361
362         * CMakeLists.txt:
363         * DerivedSources.make:
364         * DerivedSources.pri:
365         * GNUmakefile.list.am:
366         * Modules/indexeddb/WorkerContextIndexedDatabase.cpp: Added.
367         (WebCore):
368         (WebCore::WorkerContextIndexedDatabase::WorkerContextIndexedDatabase):
369         (WebCore::WorkerContextIndexedDatabase::~WorkerContextIndexedDatabase):
370         (WebCore::WorkerContextIndexedDatabase::from):
371         (WebCore::WorkerContextIndexedDatabase::webkitIndexedDB):
372         * Modules/indexeddb/WorkerContextIndexedDatabase.h: Added.
373         (WebCore):
374         (WorkerContextIndexedDatabase):
375         * Modules/indexeddb/WorkerContextIndexedDatabase.idl: Added.
376         * Target.pri:
377         * WebCore.gypi:
378         * WebCore.vcproj/WebCore.vcproj:
379         * WebCore.xcodeproj/project.pbxproj:
380         * workers/WorkerContext.cpp:
381         (WebCore):
382         * workers/WorkerContext.h:
383         (WebCore):
384         (WorkerContext):
385         * workers/WorkerContext.idl:
386
387 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
388
389         [Qt] Compile WebCore without QtWidgets
390         https://bugs.webkit.org/show_bug.cgi?id=80141
391
392         Reviewed by Tor Arne Vestbø.
393
394         * Target.pri: Don't add widgets to QT.
395         * WebCore.pri: Use QT += opengl only with Qt 4, because it has an implicit QtWidgets
396         dependency. With Qt 5 all necessary OpenGL API is part of QtGui (with a QOpenGL* prefix).
397
398 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
399
400         [Forms] Make order of attribute/method in HTMLFormElement.idl as same as specification
401         https://bugs.webkit.org/show_bug.cgi?id=80093
402
403         Reviewed by Kentaro Hara.
404
405         No new tests. No behavior changes
406
407         * html/HTMLFormElement.idl: Reorder attribute/method position.
408
409 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
410
411         [Forms] Make order of attribute/method in HTMLButtonElement.idl as same as specification
412         https://bugs.webkit.org/show_bug.cgi?id=80091
413
414         Reviewed by Kentaro Hara.
415
416         No new tests. No behavior changes.
417
418         * html/HTMLButtonElement.idl: Reorder attribute/method position.
419
420 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
421
422         Suspend/Resume API for pausing timers and animations.
423         https://bugs.webkit.org/show_bug.cgi?id=76063
424
425         Reviewed by Kenneth Rohde Christiansen.
426
427         * dom/ActiveDOMObject.h:
428             New ReasonForSuspension: PageWillBePaused.
429         * html/HTMLMediaElement.cpp:
430         (WebCore::HTMLMediaElement::suspend): Handle new ReasonForSuspension.
431         * page/Frame.cpp:
432         (WebCore::Frame::Frame):
433         (WebCore::Frame::setDocument):
434         (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):
435         (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
436         * page/Frame.h:
437         (WebCore::Frame::activeDOMObjectsAndAnimationsSuspended):
438             Frame now maintains a state of suspending animation and ActiveDOMObjects,
439             which is inherited to all child-frames.
440         * page/Page.cpp:
441         (WebCore::Page::suspendActiveDOMObjectsAndAnimations):
442         (WebCore::Page::resumeActiveDOMObjectsAndAnimations):
443         * page/Page.h:
444             Functions for suspending and resuming active DOM objects and animations in all frames.
445         * rendering/RenderObject.cpp:
446         (WebCore::RenderObject::willRenderImage):
447             WillRenderImage now checks for suspension. This causes animated images to pause
448             together with all other types of animations.
449
450 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
451
452         [Forms] Make order of attribute/method in HTMLFieldSetElement.idl as same as specification
453         https://bugs.webkit.org/show_bug.cgi?id=80092
454
455         Reviewed by Kentaro Hara.
456
457         No new tests. No behavior changes.
458
459         * html/HTMLFieldSetElement.idl: Reorder attribute/method position.
460
461 2012-03-02  Antti Koivisto  <antti@apple.com>
462
463         possible regression: r104060 maybe causing crashes
464         https://bugs.webkit.org/show_bug.cgi?id=75676
465
466         Rubber-stamped by Simon Hausmann.
467
468         Remove the speculative fix (the problem was elsewhere, http://trac.webkit.org/changeset/104845).
469
470         Also remove the debugging code added for this bug.
471     
472         * dom/Document.cpp:
473         (WebCore::Document::Document):
474         (WebCore::Document::clearStyleSelector):
475         (WebCore::Document::updateActiveStylesheets):
476         * dom/Document.h:
477         (Document):
478
479 2012-03-01  Alexander Pavlov  <apavlov@chromium.org>
480
481         Web Inspector: Implement suggestions in Watch Expressions
482         https://bugs.webkit.org/show_bug.cgi?id=79912
483
484         Drive-by: make subproperties in ObjectPropertySections editable
485
486         Reviewed by Pavel Feldman.
487
488         * inspector/front-end/ConsoleView.js:
489         (WebInspector.ConsoleView):
490         (WebInspector.ConsoleView.prototype.completionsForTextPrompt):
491         * inspector/front-end/DatabaseQueryView.js:
492         * inspector/front-end/ObjectPropertiesSection.js:
493         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
494         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
495         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
496         (WebInspector.ObjectPropertyTreeElement.prototype.renderPromptAsBlock):
497         (WebInspector.ObjectPropertyTreeElement.prototype.elementAndValueToEdit):
498         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing.blurListener):
499         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
500         (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded):
501         (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled):
502         (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted):
503         (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
504         (WebInspector.ObjectPropertyPrompt):
505         * inspector/front-end/StylesSidebarPane.js:
506         * inspector/front-end/TextPrompt.js:
507         (WebInspector.TextPrompt.prototype.complete):
508         * inspector/front-end/WatchExpressionsSidebarPane.js:
509         (WebInspector.WatchExpressionTreeElement.prototype.renderPromptAsBlock):
510         (WebInspector.WatchExpressionTreeElement.prototype.elementAndValueToEdit):
511         (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
512         * inspector/front-end/inspector.css:
513         (.watch-expressions > li.editing-sub-part .text-prompt):
514
515 2012-03-02  Antti Koivisto  <antti@apple.com>
516
517         REGRESSION (r104060): Page contents not painted if inserting a new stylesheet and temporary body node
518         https://bugs.webkit.org/show_bug.cgi?id=76590
519
520         Reviewed by Maciej Stachowiak.
521
522         Test: fast/css/pending-stylesheet-repaint.html
523         
524         If there has been a style recalc with a pending stylesheet, the forced repaint will need to be triggered even
525         if the stylesheet doesn't affect the rendering. Otherwise we may end up never painting at all.
526
527         * dom/Document.cpp:
528         (WebCore::Document::styleSelectorChanged):
529
530 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
531
532         [Qt] Move QStyle theming code out of WebCore into WebKit1
533         https://bugs.webkit.org/show_bug.cgi?id=80128
534
535         Reviewed by Kenneth Rohde Christiansen.
536
537         Moved QStyle dependant code into WebKit1, where it's okay to depend on
538         QtWidgets/QStyle. Added factory hooks into RenderThemeQt to allow changing
539         the default "mobile" style to QStyle on start-up.
540
541         * Target.pri:
542         * platform/qt/RenderThemeQt.cpp:
543         (WebCore):
544         (WebCore::RenderThemeQt::setCustomTheme):
545         (WebCore::RenderThemeQt::customScrollbarTheme):
546         (WebCore::createTheme):
547         (WebCore::RenderTheme::themeForPage):
548         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
549         * platform/qt/RenderThemeQt.h:
550         (WebCore):
551         (RenderThemeQt):
552         * platform/qt/RenderThemeQtMobile.cpp:
553         * platform/qt/ScrollbarThemeQt.cpp:
554         (WebCore::ScrollbarTheme::nativeTheme):
555
556 2012-03-02  Luke Macpherson   <macpherson@chromium.org>
557
558         Handle CSSPropertyWebkitColumnRuleStyle in CSSStyleApplyProperty.
559         https://bugs.webkit.org/show_bug.cgi?id=80085
560
561         Reviewed by Eric Seidel.
562
563         No new tests / refactoring only.
564
565         * css/CSSStyleApplyProperty.cpp:
566         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
567         * css/CSSStyleSelector.cpp:
568         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
569
570 2012-03-02  Yury Semikhatsky  <yurys@chromium.org>
571
572         Web Inspector: enable Timeline panel for workers
573         https://bugs.webkit.org/show_bug.cgi?id=80130
574
575         Enabled Timeline panel for worker inspector. Refactored
576         JS function calls instrumentation to work for both
577         worker contexts and documents.
578
579         Reviewed by Pavel Feldman.
580
581         * bindings/js/JSCallbackData.cpp:
582         (WebCore::JSCallbackData::invokeCallback):
583         * bindings/js/JSEventListener.cpp:
584         (WebCore::JSEventListener::handleEvent):
585         * bindings/js/JSMainThreadExecState.h:
586         (WebCore):
587         (WebCore::JSMainThreadExecState::instrumentedCall):
588         * bindings/js/ScriptState.cpp:
589         (WebCore::scriptExecutionContextFromScriptState):
590         (WebCore):
591         * bindings/js/ScriptState.h:
592         (WebCore):
593         * bindings/v8/ScriptState.cpp:
594         (WebCore::ScriptState::scriptExecutionContext):
595         (WebCore):
596         (WebCore::scriptExecutionContextFromScriptState):
597         * bindings/v8/ScriptState.h:
598         (WebCore):
599         (ScriptState):
600         * bindings/v8/V8Proxy.cpp:
601         (WebCore::V8Proxy::instrumentedCallFunction):
602         * bindings/v8/V8WorkerContextEventListener.cpp:
603         (WebCore::V8WorkerContextEventListener::callListenerFunction):
604         * inspector/InjectedScript.cpp:
605         (WebCore::InjectedScript::callFunctionWithEvalEnabled):
606         * inspector/InspectorInstrumentation.cpp:
607         (WebCore):
608         (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
609         * inspector/InspectorInstrumentation.h:
610         (InspectorInstrumentation):
611         (WebCore::InspectorInstrumentation::willCallFunction):
612         (WebCore):
613         (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
614         * inspector/WorkerInspectorController.cpp:
615         (WebCore::WorkerInspectorController::WorkerInspectorController):
616         (WebCore::WorkerInspectorController::connectFrontend):
617         (WebCore::WorkerInspectorController::disconnectFrontend):
618         (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
619         * inspector/WorkerInspectorController.h:
620         (WebCore):
621         (WorkerInspectorController):
622         * inspector/front-end/inspector.js:
623         (WebInspector._createPanels):
624
625 2012-03-02  Kenichi Ishibashi  <bashi@chromium.org>
626
627         Adding WebSocket per-frame DEFLATE extension
628         https://bugs.webkit.org/show_bug.cgi?id=77522
629
630         Add WebSocketDeflateFramer class which handles deflate-frame extension.
631         This class encapsulates WebSocketDeflater and WebSocketInflater classes,
632         which depend on zlib, so that WebSocketChannel is not necessary to aware
633         zlib dependency.
634
635         Reviewed by Kent Tamura.
636
637         Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
638                http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
639                http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
640                http/tests/websocket/tests/hybi/deflate-frame-parameter.html
641
642         * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
643         * GNUmakefile.list.am: Ditto.
644         * Target.pri: Ditto.
645         * WebCore.gypi: Ditto.
646         * WebCore.gyp/WebCore.gyp: Added zlib dependency.
647         * WebCore.vcproj/WebCore.vcproj: Added WebSocketDeflateFramer.(cpp|h)
648         * WebCore.xcodeproj/project.pbxproj: Ditto.
649         * websockets/WebSocket.cpp:
650         (WebCore::WebSocket::didConnect): Set m_extensions.
651         * websockets/WebSocketChannel.cpp:
652         (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
653         (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
654         (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
655         (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
656         * websockets/WebSocketChannel.h:
657         * websockets/WebSocketDeflateFramer.cpp: Added.
658         (WebCore):
659         (WebSocketExtensionDeflateFrame):
660         (WebCore::WebSocketExtensionDeflateFrame::create):
661         (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
662         (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
663         (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
664         (WebCore::WebSocketExtensionDeflateFrame::processResponse):
665         (WebCore::DeflateResultHolder::DeflateResultHolder):
666         (WebCore::DeflateResultHolder::~DeflateResultHolder):
667         (WebCore::DeflateResultHolder::fail):
668         (WebCore::InflateResultHolder::InflateResultHolder):
669         (WebCore::InflateResultHolder::~InflateResultHolder):
670         (WebCore::InflateResultHolder::fail):
671         (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
672         (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
673         (WebCore::WebSocketDeflateFramer::canDeflate):
674         (WebCore::WebSocketDeflateFramer::enableDeflate):
675         (WebCore::WebSocketDeflateFramer::deflate):
676         (WebCore::WebSocketDeflateFramer::resetDeflateContext):
677         (WebCore::WebSocketDeflateFramer::inflate):
678         (WebCore::WebSocketDeflateFramer::resetInflateContext):
679         (WebCore::WebSocketDeflateFramer::didFail):
680         * websockets/WebSocketDeflateFramer.h: Added.
681         (WebCore):
682         (DeflateResultHolder):
683         (WebCore::DeflateResultHolder::succeeded):
684         (WebCore::DeflateResultHolder::failureReason):
685         (InflateResultHolder):
686         (WebCore::InflateResultHolder::succeeded):
687         (WebCore::InflateResultHolder::failureReason):
688         (WebSocketDeflateFramer):
689         (WebCore::WebSocketDeflateFramer::enabled):
690
691 2012-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
692
693         Web Inspector: [InspectorIndexedDB] Show meaningful description for object store items values.
694         https://bugs.webkit.org/show_bug.cgi?id=79691
695
696         Reviewed by Pavel Feldman.
697
698         * inspector/front-end/IndexedDBModel.js:
699         (WebInspector.IndexedDBModel.idbKeyFromKey):
700         * inspector/front-end/IndexedDBViews.js:
701         (WebInspector.IDBDataView.prototype._updateData.callback):
702         (WebInspector.IDBDataView.prototype._updateData):
703         (WebInspector.IDBDataGridNode.prototype.createCell):
704         (WebInspector.IDBDataGridNode.prototype._formatValue):
705         * inspector/front-end/ObjectPropertiesSection.js:
706         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
707         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
708         * inspector/front-end/RemoteObject.js:
709         (WebInspector.LocalJSONObject.prototype.get subtype):
710         * inspector/front-end/indexedDBViews.css:
711         (.indexed-db-data-view .data-grid .data-container td):
712         (.indexed-db-data-view .data-grid .data-container td.primaryKey-column):
713         (.indexed-db-data-view .data-grid .data-container td.primaryKey-column div.primitive-value):
714         (.indexed-db-data-view .data-grid .data-container td .section .header .title):
715
716 2012-03-02  Wei James  <james.wei@intel.com>
717
718         [Chromium] Layout Test webaudio/audiobuffersource-channels.html is failing
719         https://bugs.webkit.org/show_bug.cgi?id=79765
720
721         Reviewed by Chris Rogers.
722
723         * webaudio/AudioBuffer.cpp:
724         (WebCore::AudioBuffer::create):
725         * webaudio/AudioBufferSourceNode.cpp:
726         (WebCore::AudioBufferSourceNode::setBuffer):
727         * webaudio/AudioContext.h:
728         (WebCore):
729         (AudioContext):
730         (WebCore::AudioContext::maxNumberOfChannels):
731         * webaudio/AudioNodeOutput.cpp:
732         (WebCore::AudioNodeOutput::AudioNodeOutput):
733         (WebCore::AudioNodeOutput::setNumberOfChannels):
734
735 2012-03-02  Luke Macpherson   <macpherson@chromium.org>
736
737         Handle CSSPropertyWebkitRegionBreakAfter, CSSPropertyWebkitRegionBreakBefore and CSSPropertyWebkitRegionBreakInside in CSSStyleApplyProperty.
738         https://bugs.webkit.org/show_bug.cgi?id=80066
739
740         Reviewed by Eric Seidel.
741
742         No new tests / refactoring only.
743
744         * css/CSSStyleApplyProperty.cpp:
745         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
746         * css/CSSStyleSelector.cpp:
747         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
748
749 2012-03-02  Pablo Flouret  <pablof@motorola.com>
750
751         Implement DefaultParagraphSeparator execCommand, to let authors choose the default block element
752         https://bugs.webkit.org/show_bug.cgi?id=59961
753
754         Reviewed by Ryosuke Niwa.
755
756         http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#the-defaultparagraphseparator-command
757
758         Test: editing/execCommand/default-paragraph-separator.html
759
760         * editing/Editor.cpp:
761         (WebCore::Editor::Editor):
762         * editing/Editor.h:
763         (WebCore::Editor::defaultParagraphSeparator):
764         (WebCore::Editor::setDefaultParagraphSeparator):
765         (Editor):
766         * editing/EditorCommand.cpp:
767         (WebCore::executeDefaultParagraphSeparator):
768         (WebCore):
769         (WebCore::valueDefaultParagraphSeparator):
770         (WebCore::createCommandMap):
771         * editing/htmlediting.cpp:
772         (WebCore::createDefaultParagraphElement):
773
774         * html/HTMLParagraphElement.cpp:
775         (WebCore::HTMLParagraphElement::create):
776         (WebCore):
777         * html/HTMLParagraphElement.h:
778         (HTMLParagraphElement):
779             Added create(Document*) method that defaults to pTag as the QualifiedName.
780
781 2012-03-02  Kenneth Russell  <kbr@google.com>
782
783         [chromium] Fix errors in LayerRendererChromium cleanup
784         https://bugs.webkit.org/show_bug.cgi?id=80064
785
786         Reviewed by James Robinson.
787
788         Tested manually by forcing lost context while rendering Flash on
789         Mac OS in a Debug build.
790
791         * platform/graphics/chromium/LayerRendererChromium.cpp:
792         (WebCore::LayerRendererChromium::cleanupSharedObjects):
793
794 2012-03-02  Andy Estes  <aestes@apple.com>
795
796         Fix errors found when building the Mac port with ICONDATABASE disabled.
797         https://bugs.webkit.org/show_bug.cgi?id=80059
798
799         Reviewed by Brady Eidson.
800
801         * WebCore.exp.in: Only export IconDatabase symbols when the feature is
802         enabled.
803         * loader/icon/IconDatabase.h:
804         (WebCore::IconDatabase::create): WebKit calls this static method, so it
805         should be defined on the stub class.
806         (WebCore::IconDatabase::allowDatabaseCleanup): Ditto.
807         (WebCore::IconDatabase::checkIntegrityBeforeOpening): Ditto.
808
809 2012-03-02  Luke Macpherson   <macpherson@chromium.org>
810
811         Handle CSSPropertyWebkitColorCorrection in CSSStyleApplyProperty.
812         https://bugs.webkit.org/show_bug.cgi?id=80056
813
814         Reviewed by Eric Seidel.
815
816         No new tests / refactoring only.
817
818         * css/CSSStyleApplyProperty.cpp:
819         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
820         * css/CSSStyleSelector.cpp:
821         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
822
823 2012-03-02  John Bauman  <jbauman@chromium.org>
824
825         [chromium] Send didCommitAndDrawFrame after swap
826         https://bugs.webkit.org/show_bug.cgi?id=80052
827
828         Reviewed by James Robinson.
829
830         Sending didCommitAndDrawFrame before the swap was causing plugins to
831         redraw themselves between compositing and the swap, which reduces
832         opportunities for optimization.
833
834         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
835         (WebCore::CCSingleThreadProxy::compositeAndReadback):
836         (WebCore::CCSingleThreadProxy::compositeImmediately):
837         (WebCore::CCSingleThreadProxy::doComposite):
838         (WebCore):
839         (WebCore::CCSingleThreadProxy::didSwapFrame):
840         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
841         (CCSingleThreadProxy):
842
843 2012-03-02  Raymond Toy  <rtoy@google.com>
844
845         AudioParam needs tests for the parameter automation routines.
846         https://bugs.webkit.org/show_bug.cgi?id=77666
847
848         Reviewed by Chris Rogers.
849
850         Tests: webaudio/audioparam-linearRampToValueAtTime.html
851                webaudio/audioparam-setTargetValueAtTime.html
852                webaudio/audioparam-setValueAtTime.html
853                webaudio/audioparam-setValueCurveAtTime.html
854
855         * webaudio/AudioParamTimeline.cpp:
856         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Round the
857         curveIndex to fix timing issue in setValueCurveAtTime.
858
859 2012-03-01  Pablo Flouret  <pablof@motorola.com>
860
861         Fix code generators to correctly guard header declarations that have a [Conditional] attribute.
862         https://bugs.webkit.org/show_bug.cgi?id=79375
863
864         Reviewed by Kentaro Hara.
865
866         In most cases code generators weren't checking the Conditional attribute
867         when generating code in headers for function/attribute/constants, they
868         were just guarding against the Conditional for the whole interface.
869
870         * bindings/scripts/CodeGeneratorCPP.pm:
871         (GenerateHeader):
872         * bindings/scripts/CodeGeneratorJS.pm:
873         (GenerateHeader):
874         * bindings/scripts/CodeGeneratorObjC.pm:
875         (GenerateHeader):
876         * bindings/scripts/CodeGeneratorV8.pm:
877         (GenerateHeader):
878         * bindings/scripts/test/CPP/WebDOMTestInterface.h:
879         * bindings/scripts/test/CPP/WebDOMTestObj.h:
880         * bindings/scripts/test/JS/JSTestInterface.h:
881         (JSTestInterface):
882         (WebCore):
883         * bindings/scripts/test/JS/JSTestObj.h:
884         (WebCore):
885         * bindings/scripts/test/ObjC/DOMTestInterface.h:
886         * bindings/scripts/test/ObjC/DOMTestObj.h:
887
888
889 2012-03-01  Dana Jansens  <danakj@chromium.org>
890
891         [chromium] Make opaque paint tracker aware of SkCanvas layers
892         https://bugs.webkit.org/show_bug.cgi?id=79145
893
894         Reviewed by Stephen White.
895
896         The current opaque paint tracker ignored SkCanvas layers entirely. But
897         SkCanvas layers can be used to apply things like alpha. So we make it
898         know about layers, and apply any clipping and SkPaint objects for layers
899         when tracking a paint.
900
901         Image clipping is done via a layer, so we can now also remove the
902         special-case code around image clipping in PlatformContextSkia and
903         OpaqueRegionSkia.
904
905         Unit test: PlatformContextSkiaTest.contextTransparencyLayerTest
906
907         Test: compositing/culling/clear-fixed-iframe.html
908
909         * platform/graphics/skia/OpaqueRegionSkia.cpp:
910         (WebCore::OpaqueRegionSkia::didDrawRect):
911         (WebCore::OpaqueRegionSkia::didDrawPath):
912         (WebCore::OpaqueRegionSkia::didDrawPoints):
913         (WebCore::OpaqueRegionSkia::didDrawBounded):
914         (WebCore::OpaqueRegionSkia::didDraw):
915         (WebCore):
916         * platform/graphics/skia/OpaqueRegionSkia.h:
917         (OpaqueRegionSkia):
918         * platform/graphics/skia/PlatformContextSkia.cpp:
919         * platform/graphics/skia/PlatformContextSkia.h:
920         (PlatformContextSkia):
921
922 2012-03-02  Kent Tamura  <tkent@chromium.org>
923
924         Add HTML-capable popup API to ChromeClient
925         https://bugs.webkit.org/show_bug.cgi?id=79078
926
927         Reviewed by Dimitri Glazkov.
928
929         This API will be used to implement a calendar picker of <input type=date>.
930         The code is enclosed with ENABLE_PAGE_POPUP, and doesn't change any
931         behavior for now.
932
933         * page/ChromeClient.h: Added declarations of openPagePopup() and closePagePopup().
934         * loader/EmptyClients.h:
935         (EmptyChromeClient): Add empty implementations of new ChromeClient functions.
936         * page/PagePopup.h: Added.
937         (PagePopup): Define an empty interface
938         * page/PagePopupClient.h: Added.
939         (PagePopupClient): Define an interface to provide various information to HTMLPopup.
940
941 2012-03-01  Hironori Bono  <hbono@chromium.org>
942
943         Render overflow controls of an RTL element to its left-side.
944         https://bugs.webkit.org/show_bug.cgi?id=54623
945
946         This change adds a new flag WTF_USE_RTL_SCROLLBAR and render the
947         vertical scrollbars and resizers of RTL elements to their left side if
948         this new flag is enabled.
949
950         Reviewed by Ryosuke Niwa.
951
952         Test: platform/chromium/fast/events/rtl-scrollbar.html
953
954         * rendering/RenderBlock.cpp:
955         (WebCore::RenderBlock::addOverflowFromPositionedObjects): Move child elements right.
956         (WebCore::RenderBlock::determineLogicalLeftPositionForChild): ditto.
957         * rendering/RenderBox.cpp:
958         (WebCore::RenderBox::overflowClipRect): Move the content rectangle right.
959         * rendering/RenderLayer.cpp:
960         (WebCore::cornerStart): Added a function that calculates the X position of a resizer.
961         (WebCore):
962         (WebCore::cornerRect): Use cornerStart to move a resizer.
963         (WebCore::RenderLayer::verticalScrollbarStart): Added a function that calculates
964         the X position of a vertical scrollbar.
965         (WebCore::RenderLayer::horizontalScrollbarStart): Added a function that calculates
966         the X position of a horizontal scrollbar.
967         (WebCore::RenderLayer::scrollbarOffset): Render a vertical scrollbar to the left side
968         and move a horizontal scrollbar right by the width of the vertical scrollbar.
969         (WebCore::RenderLayer::invalidateScrollbarRect): ditto.
970         (WebCore::RenderLayer::positionOverflowControls): ditto.
971         (WebCore::RenderLayer::hitTestOverflowControls): ditto.
972         * rendering/RenderLayer.h:
973         (RenderLayer):
974         * rendering/style/RenderStyle.h: Added shouldPlaceBlockDirectionScrollbarOnLogicalLeft,
975         which returns if we need to move a left scrollbar to its right side.
976
977 2012-03-01  Kent Tamura  <tkent@chromium.org>
978
979         REGRESSION(90089): Input type='search' text shakes up and down when the style is changed.
980         https://bugs.webkit.org/show_bug.cgi?id=79445
981
982         Reviewed by Dimitri Glazkov.
983
984         If the inner text height of a search field is smaller than the
985         content box height of the <input>, the height of the container
986         element should be same as the content box height.
987
988         When the element style is changed, the RenderStyle height of the
989         container element is cleared, but the renderer height of the
990         container element remains. We had a bug that layout() didn't set
991         the RenderStyle height in a case that the renderer height was the
992         desired height. It shrunk the renderer height as the result of
993         layout for children.
994
995         Tests: fast/forms/search/search-shaking-text.html
996
997         * rendering/RenderTextControlSingleLine.cpp:
998         (WebCore::RenderTextControlSingleLine::layout):
999         Always set the RenderStyle height explicitly.
1000
1001 2012-03-01  Kentaro Hara  <haraken@chromium.org>
1002
1003         Unreviewed, rebaselined run-bindings-tests results.
1004
1005         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1006         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1007
1008 2012-03-01  Dan Bernstein  <mitz@apple.com>
1009
1010         <rdar://problem/10942540> REGRESSION (r108956): Safari Webpage Preview Fetcher crashes in WebCore::localizedString() when using a WebKit nightly build
1011         https://bugs.webkit.org/show_bug.cgi?id=80034
1012
1013         Reviewed by Benjamin Poulain.
1014
1015         Safari Webpage Preview Fetcher can’t access the WebCore framework when launched from a WebKit
1016         nightly build. After r108956, this causes it to crash.
1017
1018         * platform/mac/LocalizedStringsMac.cpp:
1019         (WebCore::localizedString): Added a null-check for the value returned from
1020         CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebCore")).
1021
1022 2012-03-01  Jason Liu  <jason.liu@torchmobile.com.cn>
1023
1024         [BlackBerry]Array of Cookies in HTTP request header are not in order.
1025         https://bugs.webkit.org/show_bug.cgi?id=79870
1026
1027         Std::sort and HashMap are not stable. So cookies with the same creating
1028         time sometimes are sent disorder.
1029         Change std::sort with std::stable-sort.
1030         We don't need using HashMap to save so few cookies for one domain.
1031         It is a wast of time to create HashMap, too.
1032         So change it with vector.
1033
1034         Reviewed by George Staikos.
1035
1036         Test: http/tests/cookies/resources/setArraycookies.php
1037
1038         * platform/blackberry/CookieManager.cpp:
1039         (WebCore::cookieSorter):
1040         (WebCore::CookieManager::getRawCookies):
1041         (WebCore::CookieManager::checkAndTreatCookie):
1042         (WebCore::CookieManager::addCookieToMap):
1043         * platform/blackberry/CookieManager.h:
1044         * platform/blackberry/CookieMap.cpp:
1045         (WebCore::CookieMap::addOrReplaceCookie):
1046         (WebCore::CookieMap::removeCookieAtIndex):
1047         (WebCore::CookieMap::removeCookie):
1048         (WebCore):
1049         (WebCore::CookieMap::getAllCookies):
1050         (WebCore::CookieMap::updateOldestCookie):
1051         (WebCore::CookieMap::deleteAllCookiesAndDomains):
1052         * platform/blackberry/CookieMap.h:
1053         (WebCore::CookieMap::count):
1054         (CookieMap):
1055
1056 2012-03-01  Adam Barth  <abarth@webkit.org>
1057
1058         Move WebCore/storage/IDB* files into WebCore/Modules/indexeddb
1059         https://bugs.webkit.org/show_bug.cgi?id=80071
1060
1061         Reviewed by Kentaro Hara.
1062
1063         Now that we've removed all the ENABLE(INDEXED_DATABASE) ifdefs from
1064         WebCore proper, we can move IndexedDB into its own module.
1065
1066         * CMakeLists.txt:
1067         * DerivedSources.make:
1068         * DerivedSources.pri:
1069         * GNUmakefile.list.am:
1070         * Modules/indexeddb/IDBAny.cpp: Copied from Source/WebCore/storage/IDBAny.cpp.
1071         * Modules/indexeddb/IDBAny.h: Copied from Source/WebCore/storage/IDBAny.h.
1072         * Modules/indexeddb/IDBAny.idl: Copied from Source/WebCore/storage/IDBAny.idl.
1073         * Modules/indexeddb/IDBBackingStore.h: Copied from Source/WebCore/storage/IDBBackingStore.h.
1074         * Modules/indexeddb/IDBCallbacks.h: Copied from Source/WebCore/storage/IDBCallbacks.h.
1075         * Modules/indexeddb/IDBCursor.cpp: Copied from Source/WebCore/storage/IDBCursor.cpp.
1076         * Modules/indexeddb/IDBCursor.h: Copied from Source/WebCore/storage/IDBCursor.h.
1077         * Modules/indexeddb/IDBCursor.idl: Copied from Source/WebCore/storage/IDBCursor.idl.
1078         * Modules/indexeddb/IDBCursorBackendImpl.cpp: Copied from Source/WebCore/storage/IDBCursorBackendImpl.cpp.
1079         * Modules/indexeddb/IDBCursorBackendImpl.h: Copied from Source/WebCore/storage/IDBCursorBackendImpl.h.
1080         * Modules/indexeddb/IDBCursorBackendInterface.h: Copied from Source/WebCore/storage/IDBCursorBackendInterface.h.
1081         * Modules/indexeddb/IDBCursorWithValue.cpp: Copied from Source/WebCore/storage/IDBCursorWithValue.cpp.
1082         * Modules/indexeddb/IDBCursorWithValue.h: Copied from Source/WebCore/storage/IDBCursorWithValue.h.
1083         * Modules/indexeddb/IDBCursorWithValue.idl: Copied from Source/WebCore/storage/IDBCursorWithValue.idl.
1084         * Modules/indexeddb/IDBDatabase.cpp: Copied from Source/WebCore/storage/IDBDatabase.cpp.
1085         * Modules/indexeddb/IDBDatabase.h: Copied from Source/WebCore/storage/IDBDatabase.h.
1086         * Modules/indexeddb/IDBDatabase.idl: Copied from Source/WebCore/storage/IDBDatabase.idl.
1087         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseBackendImpl.cpp.
1088         * Modules/indexeddb/IDBDatabaseBackendImpl.h: Copied from Source/WebCore/storage/IDBDatabaseBackendImpl.h.
1089         * Modules/indexeddb/IDBDatabaseBackendInterface.h: Copied from Source/WebCore/storage/IDBDatabaseBackendInterface.h.
1090         * Modules/indexeddb/IDBDatabaseCallbacks.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
1091         * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseCallbacksImpl.cpp.
1092         * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacksImpl.h.
1093         * Modules/indexeddb/IDBDatabaseError.h: Copied from Source/WebCore/storage/IDBDatabaseError.h.
1094         * Modules/indexeddb/IDBDatabaseError.idl: Copied from Source/WebCore/storage/IDBDatabaseError.idl.
1095         * Modules/indexeddb/IDBDatabaseException.cpp: Copied from Source/WebCore/storage/IDBDatabaseException.cpp.
1096         * Modules/indexeddb/IDBDatabaseException.h: Copied from Source/WebCore/storage/IDBDatabaseException.h.
1097         * Modules/indexeddb/IDBDatabaseException.idl: Copied from Source/WebCore/storage/IDBDatabaseException.idl.
1098         * Modules/indexeddb/IDBEventDispatcher.cpp: Copied from Source/WebCore/storage/IDBEventDispatcher.cpp.
1099         * Modules/indexeddb/IDBEventDispatcher.h: Copied from Source/WebCore/storage/IDBEventDispatcher.h.
1100         * Modules/indexeddb/IDBFactory.cpp: Copied from Source/WebCore/storage/IDBFactory.cpp.
1101         * Modules/indexeddb/IDBFactory.h: Copied from Source/WebCore/storage/IDBFactory.h.
1102         * Modules/indexeddb/IDBFactory.idl: Copied from Source/WebCore/storage/IDBFactory.idl.
1103         * Modules/indexeddb/IDBFactoryBackendImpl.cpp: Copied from Source/WebCore/storage/IDBFactoryBackendImpl.cpp.
1104         * Modules/indexeddb/IDBFactoryBackendImpl.h: Copied from Source/WebCore/storage/IDBFactoryBackendImpl.h.
1105         * Modules/indexeddb/IDBFactoryBackendInterface.cpp: Copied from Source/WebCore/storage/IDBFactoryBackendInterface.cpp.
1106         * Modules/indexeddb/IDBFactoryBackendInterface.h: Copied from Source/WebCore/storage/IDBFactoryBackendInterface.h.
1107         * Modules/indexeddb/IDBIndex.cpp: Copied from Source/WebCore/storage/IDBIndex.cpp.
1108         * Modules/indexeddb/IDBIndex.h: Copied from Source/WebCore/storage/IDBIndex.h.
1109         * Modules/indexeddb/IDBIndex.idl: Copied from Source/WebCore/storage/IDBIndex.idl.
1110         * Modules/indexeddb/IDBIndexBackendImpl.cpp: Copied from Source/WebCore/storage/IDBIndexBackendImpl.cpp.
1111         * Modules/indexeddb/IDBIndexBackendImpl.h: Copied from Source/WebCore/storage/IDBIndexBackendImpl.h.
1112         * Modules/indexeddb/IDBIndexBackendInterface.h: Copied from Source/WebCore/storage/IDBIndexBackendInterface.h.
1113         * Modules/indexeddb/IDBKey.cpp: Copied from Source/WebCore/storage/IDBKey.cpp.
1114         * Modules/indexeddb/IDBKey.h: Copied from Source/WebCore/storage/IDBKey.h.
1115         * Modules/indexeddb/IDBKey.idl: Copied from Source/WebCore/storage/IDBKey.idl.
1116         * Modules/indexeddb/IDBKeyPath.cpp: Copied from Source/WebCore/storage/IDBKeyPath.cpp.
1117         * Modules/indexeddb/IDBKeyPath.h: Copied from Source/WebCore/storage/IDBKeyPath.h.
1118         * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Copied from Source/WebCore/storage/IDBKeyPathBackendImpl.cpp.
1119         * Modules/indexeddb/IDBKeyPathBackendImpl.h: Copied from Source/WebCore/storage/IDBKeyPathBackendImpl.h.
1120         * Modules/indexeddb/IDBKeyRange.cpp: Copied from Source/WebCore/storage/IDBKeyRange.cpp.
1121         * Modules/indexeddb/IDBKeyRange.h: Copied from Source/WebCore/storage/IDBKeyRange.h.
1122         * Modules/indexeddb/IDBKeyRange.idl: Copied from Source/WebCore/storage/IDBKeyRange.idl.
1123         * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Copied from Source/WebCore/storage/IDBLevelDBBackingStore.cpp.
1124         * Modules/indexeddb/IDBLevelDBBackingStore.h: Copied from Source/WebCore/storage/IDBLevelDBBackingStore.h.
1125         * Modules/indexeddb/IDBLevelDBCoding.cpp: Copied from Source/WebCore/storage/IDBLevelDBCoding.cpp.
1126         * Modules/indexeddb/IDBLevelDBCoding.h: Copied from Source/WebCore/storage/IDBLevelDBCoding.h.
1127         * Modules/indexeddb/IDBObjectStore.cpp: Copied from Source/WebCore/storage/IDBObjectStore.cpp.
1128         * Modules/indexeddb/IDBObjectStore.h: Copied from Source/WebCore/storage/IDBObjectStore.h.
1129         * Modules/indexeddb/IDBObjectStore.idl: Copied from Source/WebCore/storage/IDBObjectStore.idl.
1130         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Copied from Source/WebCore/storage/IDBObjectStoreBackendImpl.cpp.
1131         * Modules/indexeddb/IDBObjectStoreBackendImpl.h: Copied from Source/WebCore/storage/IDBObjectStoreBackendImpl.h.
1132         * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Copied from Source/WebCore/storage/IDBObjectStoreBackendInterface.h.
1133         * Modules/indexeddb/IDBPendingTransactionMonitor.cpp: Copied from Source/WebCore/storage/IDBPendingTransactionMonitor.cpp.
1134         * Modules/indexeddb/IDBPendingTransactionMonitor.h: Copied from Source/WebCore/storage/IDBPendingTransactionMonitor.h.
1135         * Modules/indexeddb/IDBRequest.cpp: Copied from Source/WebCore/storage/IDBRequest.cpp.
1136         * Modules/indexeddb/IDBRequest.h: Copied from Source/WebCore/storage/IDBRequest.h.
1137         * Modules/indexeddb/IDBRequest.idl: Copied from Source/WebCore/storage/IDBRequest.idl.
1138         * Modules/indexeddb/IDBTracing.h: Copied from Source/WebCore/storage/IDBTracing.h.
1139         * Modules/indexeddb/IDBTransaction.cpp: Copied from Source/WebCore/storage/IDBTransaction.cpp.
1140         * Modules/indexeddb/IDBTransaction.h: Copied from Source/WebCore/storage/IDBTransaction.h.
1141         * Modules/indexeddb/IDBTransaction.idl: Copied from Source/WebCore/storage/IDBTransaction.idl.
1142         * Modules/indexeddb/IDBTransactionBackendImpl.cpp: Copied from Source/WebCore/storage/IDBTransactionBackendImpl.cpp.
1143         * Modules/indexeddb/IDBTransactionBackendImpl.h: Copied from Source/WebCore/storage/IDBTransactionBackendImpl.h.
1144         * Modules/indexeddb/IDBTransactionBackendInterface.h: Copied from Source/WebCore/storage/IDBTransactionBackendInterface.h.
1145         * Modules/indexeddb/IDBTransactionCallbacks.h: Copied from Source/WebCore/storage/IDBTransactionCallbacks.h.
1146         * Modules/indexeddb/IDBTransactionCoordinator.cpp: Copied from Source/WebCore/storage/IDBTransactionCoordinator.cpp.
1147         * Modules/indexeddb/IDBTransactionCoordinator.h: Copied from Source/WebCore/storage/IDBTransactionCoordinator.h.
1148         * Modules/indexeddb/IDBVersionChangeEvent.cpp: Copied from Source/WebCore/storage/IDBVersionChangeEvent.cpp.
1149         * Modules/indexeddb/IDBVersionChangeEvent.h: Copied from Source/WebCore/storage/IDBVersionChangeEvent.h.
1150         * Modules/indexeddb/IDBVersionChangeEvent.idl: Copied from Source/WebCore/storage/IDBVersionChangeEvent.idl.
1151         * Modules/indexeddb/IDBVersionChangeRequest.cpp: Copied from Source/WebCore/storage/IDBVersionChangeRequest.cpp.
1152         * Modules/indexeddb/IDBVersionChangeRequest.h: Copied from Source/WebCore/storage/IDBVersionChangeRequest.h.
1153         * Modules/indexeddb/IDBVersionChangeRequest.idl: Copied from Source/WebCore/storage/IDBVersionChangeRequest.idl.
1154         * Target.pri:
1155         * WebCore.gypi:
1156         * WebCore.vcproj/WebCore.vcproj:
1157         * WebCore.xcodeproj/project.pbxproj:
1158         * storage/IDBAny.cpp: Removed.
1159         * storage/IDBAny.h: Removed.
1160         * storage/IDBAny.idl: Removed.
1161         * storage/IDBBackingStore.h: Removed.
1162         * storage/IDBCallbacks.h: Removed.
1163         * storage/IDBCursor.cpp: Removed.
1164         * storage/IDBCursor.h: Removed.
1165         * storage/IDBCursor.idl: Removed.
1166         * storage/IDBCursorBackendImpl.cpp: Removed.
1167         * storage/IDBCursorBackendImpl.h: Removed.
1168         * storage/IDBCursorBackendInterface.h: Removed.
1169         * storage/IDBCursorWithValue.cpp: Removed.
1170         * storage/IDBCursorWithValue.h: Removed.
1171         * storage/IDBCursorWithValue.idl: Removed.
1172         * storage/IDBDatabase.cpp: Removed.
1173         * storage/IDBDatabase.h: Removed.
1174         * storage/IDBDatabase.idl: Removed.
1175         * storage/IDBDatabaseBackendImpl.cpp: Removed.
1176         * storage/IDBDatabaseBackendImpl.h: Removed.
1177         * storage/IDBDatabaseBackendInterface.h: Removed.
1178         * storage/IDBDatabaseCallbacks.h: Removed.
1179         * storage/IDBDatabaseCallbacksImpl.cpp: Removed.
1180         * storage/IDBDatabaseCallbacksImpl.h: Removed.
1181         * storage/IDBDatabaseError.h: Removed.
1182         * storage/IDBDatabaseError.idl: Removed.
1183         * storage/IDBDatabaseException.cpp: Removed.
1184         * storage/IDBDatabaseException.h: Removed.
1185         * storage/IDBDatabaseException.idl: Removed.
1186         * storage/IDBEventDispatcher.cpp: Removed.
1187         * storage/IDBEventDispatcher.h: Removed.
1188         * storage/IDBFactory.cpp: Removed.
1189         * storage/IDBFactory.h: Removed.
1190         * storage/IDBFactory.idl: Removed.
1191         * storage/IDBFactoryBackendImpl.cpp: Removed.
1192         * storage/IDBFactoryBackendImpl.h: Removed.
1193         * storage/IDBFactoryBackendInterface.cpp: Removed.
1194         * storage/IDBFactoryBackendInterface.h: Removed.
1195         * storage/IDBIndex.cpp: Removed.
1196         * storage/IDBIndex.h: Removed.
1197         * storage/IDBIndex.idl: Removed.
1198         * storage/IDBIndexBackendImpl.cpp: Removed.
1199         * storage/IDBIndexBackendImpl.h: Removed.
1200         * storage/IDBIndexBackendInterface.h: Removed.
1201         * storage/IDBKey.cpp: Removed.
1202         * storage/IDBKey.h: Removed.
1203         * storage/IDBKey.idl: Removed.
1204         * storage/IDBKeyPath.cpp: Removed.
1205         * storage/IDBKeyPath.h: Removed.
1206         * storage/IDBKeyPathBackendImpl.cpp: Removed.
1207         * storage/IDBKeyPathBackendImpl.h: Removed.
1208         * storage/IDBKeyRange.cpp: Removed.
1209         * storage/IDBKeyRange.h: Removed.
1210         * storage/IDBKeyRange.idl: Removed.
1211         * storage/IDBLevelDBBackingStore.cpp: Removed.
1212         * storage/IDBLevelDBBackingStore.h: Removed.
1213         * storage/IDBLevelDBCoding.cpp: Removed.
1214         * storage/IDBLevelDBCoding.h: Removed.
1215         * storage/IDBObjectStore.cpp: Removed.
1216         * storage/IDBObjectStore.h: Removed.
1217         * storage/IDBObjectStore.idl: Removed.
1218         * storage/IDBObjectStoreBackendImpl.cpp: Removed.
1219         * storage/IDBObjectStoreBackendImpl.h: Removed.
1220         * storage/IDBObjectStoreBackendInterface.h: Removed.
1221         * storage/IDBPendingTransactionMonitor.cpp: Removed.
1222         * storage/IDBPendingTransactionMonitor.h: Removed.
1223         * storage/IDBRequest.cpp: Removed.
1224         * storage/IDBRequest.h: Removed.
1225         * storage/IDBRequest.idl: Removed.
1226         * storage/IDBTracing.h: Removed.
1227         * storage/IDBTransaction.cpp: Removed.
1228         * storage/IDBTransaction.h: Removed.
1229         * storage/IDBTransaction.idl: Removed.
1230         * storage/IDBTransactionBackendImpl.cpp: Removed.
1231         * storage/IDBTransactionBackendImpl.h: Removed.
1232         * storage/IDBTransactionBackendInterface.h: Removed.
1233         * storage/IDBTransactionCallbacks.h: Removed.
1234         * storage/IDBTransactionCoordinator.cpp: Removed.
1235         * storage/IDBTransactionCoordinator.h: Removed.
1236         * storage/IDBVersionChangeEvent.cpp: Removed.
1237         * storage/IDBVersionChangeEvent.h: Removed.
1238         * storage/IDBVersionChangeEvent.idl: Removed.
1239         * storage/IDBVersionChangeRequest.cpp: Removed.
1240         * storage/IDBVersionChangeRequest.h: Removed.
1241         * storage/IDBVersionChangeRequest.idl: Removed.
1242
1243 2012-03-01  Luke Macpherson   <macpherson@chromium.org>
1244
1245         Handle CSSPropertyWebkitBorderFit in CSSStyleApplyProperty.
1246         https://bugs.webkit.org/show_bug.cgi?id=79998
1247
1248         Reviewed by Andreas Kling.
1249
1250         No new tests / refactoring only.
1251
1252         * css/CSSStyleApplyProperty.cpp:
1253         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1254         * css/CSSStyleSelector.cpp:
1255         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1256
1257 2012-03-01  Anders Carlsson  <andersca@apple.com>
1258
1259         Crash when doing repeated double-tap-to-zoom gesture on apple startpage
1260         https://bugs.webkit.org/show_bug.cgi?id=80081
1261         <rdar://problem/10966391>
1262
1263         Reviewed by Sam Weinig.
1264
1265         Setting the contents scale on the tile cache layer was creating a WebTileCacheLayer presentation layer copy with a null _tileCache.
1266
1267         Implement -[WebTileCacheLayer actionForKey:] and have it always return nil so we'll avoid implicit animations, and thus creating presentation layers.
1268
1269         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
1270         (-[WebTileCacheLayer initWithLayer:]):
1271         Implement this and assert that it's never reached. We should never create presentation layers since we don't animate this layer.
1272
1273         (-[WebTileCacheLayer actionForKey:]):
1274         Implement this and always return nil.
1275
1276 2012-03-01  Hajime Morrita  <morrita@chromium.org>
1277
1278         Custom scrollbars do not support transparency
1279         https://bugs.webkit.org/show_bug.cgi?id=50547
1280
1281         Reviewed by James Robinson.
1282
1283         RenderScrollbar, which is used even for outermost frame when
1284         -webkit-scrollbar is specified, assumes that its background is
1285         painted by the enclosing container. But there is no such container
1286         for outermost frame. This causes visual glitches when the
1287         scrollbar has transparency.
1288
1289         This change clears background region for custom
1290         outermostscrollbars to erase such glitches.
1291
1292         Test: fast/frames/transparent-scrollbar.html
1293
1294         * page/FrameView.cpp:
1295         (WebCore::FrameView::paintScrollbar): The background is cleared here.
1296         (WebCore):
1297         * page/FrameView.h:
1298         (FrameView):
1299         * platform/ScrollView.cpp:
1300         (WebCore::ScrollView::paintScrollbar): Added to hook in FrameView
1301         (WebCore):
1302         (WebCore::ScrollView::paintScrollbars):
1303         * platform/ScrollView.h:
1304         (ScrollView):
1305
1306 2012-03-01  Kent Tamura  <tkent@chromium.org>
1307
1308         REGRESSION(r106388): Form state is restored to a wrong document.
1309         https://bugs.webkit.org/show_bug.cgi?id=79206
1310
1311         Reviewed by Brady Eidson.
1312
1313         In some cases, the URL of the current HistoryItem and the document
1314         URL are mismatched.
1315         A form state should be restored only if the document was loaded
1316         with a HistoryItem and the document is not loaded as a
1317         redirection.
1318
1319         Test: fast/loader/form-state-restore-with-locked-back-forward-list.html
1320
1321         * loader/FrameLoader.cpp:
1322         (WebCore::FrameLoader::checkCompleted): Clear m_requestedHistoryItem.
1323         (WebCore::FrameLoader::loadItem):
1324         Save the requested HistoryItem for didLoadWithLodItem().
1325         * loader/FrameLoader.h:
1326         (WebCore::FrameLoader::requestedHistoryItem):
1327         Added. Accessor for m_requestedHistoryItem.
1328         * loader/HistoryController.cpp:
1329         (WebCore::HistoryController::restoreDocumentState):
1330         Restore a form state only if the current document was loaded with
1331         FrameLoader::loadItem() and not redirection.
1332
1333 2012-03-01  Xingnan Wang  <xingnan.wang@intel.com>
1334
1335         SSE optimization for vsvesq and vmaxmgv
1336         https://bugs.webkit.org/show_bug.cgi?id=77950
1337
1338         Reviewed by Chris Rogers.
1339
1340         Achieved the performance of 3.7x on vsvesq and 4.1x on vmaxmgv.
1341
1342         * platform/audio/VectorMath.cpp:
1343         (WebCore::VectorMath::vsvesq):
1344         (WebCore::VectorMath::vmaxmgv):
1345
1346 2012-03-01  Luke Macpherson   <macpherson@chromium.org>
1347
1348         Handle CSSPropertyBoxSizing in CSSStyleApplyProperty.
1349         https://bugs.webkit.org/show_bug.cgi?id=80001
1350
1351         Reviewed by Andreas Kling.
1352
1353         No new tests / refactoring only.
1354
1355         * css/CSSStyleApplyProperty.cpp:
1356         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1357         * css/CSSStyleSelector.cpp:
1358         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1359
1360 2012-03-01  James Robinson  <jamesr@chromium.org>
1361
1362         [chromium] LayerChromium::contentChanged is redundant with setNeedsDisplay
1363         https://bugs.webkit.org/show_bug.cgi?id=79708
1364
1365         Reviewed by Adrienne Walker.
1366
1367         Some layer types need special handling when they receive damage. WebGL layers need to know if their texture is
1368         updated for clear-on-swap behavior and both WebGL and canvas 2d layers have rate limiting mechanisms tied to
1369         receiving invalidations. This mechanism was implemented by LayerChromium::contentChanged(), but this is
1370         redundant with setNeedsDisplay().
1371
1372         Covered by existing tests.
1373
1374         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1375         (WebCore::Canvas2DLayerChromium::setNeedsDisplay):
1376         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1377         (Canvas2DLayerChromium):
1378         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1379         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1380         * platform/graphics/chromium/LayerChromium.cpp:
1381         (WebCore::LayerChromium::setNeedsDisplay):
1382         * platform/graphics/chromium/LayerChromium.h:
1383         (LayerChromium):
1384         * platform/graphics/chromium/VideoLayerChromium.cpp:
1385         (WebCore::VideoLayerChromium::setNeedsDisplay):
1386         * platform/graphics/chromium/VideoLayerChromium.h:
1387         (VideoLayerChromium):
1388         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1389         (WebCore::WebGLLayerChromium::setNeedsDisplay):
1390         * platform/graphics/chromium/WebGLLayerChromium.h:
1391         (WebGLLayerChromium):
1392
1393 2012-03-01  James Robinson  <jamesr@chromium.org>
1394
1395         [chromium] Rename LayerChromium::name to debugName to be more consistent with other debug properties, make threadsafe
1396         https://bugs.webkit.org/show_bug.cgi?id=79723
1397
1398         Reviewed by Adrienne Walker.
1399
1400         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1401         (WebCore::GraphicsLayerChromium::updateNames):
1402         * platform/graphics/chromium/LayerChromium.cpp:
1403         (WebCore::LayerChromium::pushPropertiesTo):
1404         (WebCore::LayerChromium::setDebugName):
1405         (WebCore):
1406         * platform/graphics/chromium/LayerChromium.h:
1407         (LayerChromium):
1408         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1409         (WebCore::CCLayerImpl::dumpLayer):
1410         * platform/graphics/chromium/cc/CCLayerImpl.h:
1411         (CCLayerImpl):
1412         (WebCore::CCLayerImpl::setDebugName):
1413         (WebCore::CCLayerImpl::debugName):
1414         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1415         (WebCore::CCRenderSurface::name):
1416
1417 2012-03-01  Adam Barth  <abarth@webkit.org>
1418
1419         Remove last ENABLED(INDEXED_DATABASE) ifdef from WebCore proper
1420         https://bugs.webkit.org/show_bug.cgi?id=80061
1421
1422         Reviewed by Dimitri Glazkov.
1423
1424         This patch removes the last ENABLED(INDEXED_DATABASE) ifdef from
1425         WebCore proper by moving the backend factory out of PageGroup and into
1426         a supplement for PageGroup.  After this patch, we're ready to move the
1427         IDB code into Modules.
1428
1429         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
1430         (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
1431         * WebCore.gypi:
1432         * inspector/InspectorIndexedDBAgent.cpp:
1433         (WebCore::assertIDBFactory):
1434         * page/PageGroup.cpp:
1435         (WebCore):
1436         * page/PageGroup.h:
1437         (PageGroup):
1438
1439 2012-03-01  Dale Curtis  <dalecurtis@chromium.org>
1440
1441         Remove deprecated FFmpeg build directories.
1442         https://bugs.webkit.org/show_bug.cgi?id=79282
1443
1444         We've switched the layout of the FFmpeg repo in Chrome and these paths
1445         are no longer needed or valid.
1446
1447         Reviewed by Dirk Pranke.
1448
1449         No new tests. It either compiles or not.
1450
1451         * WebCore.gyp/WebCore.gyp:
1452
1453 2012-03-01  Xingnan Wang  <xingnan.wang@intel.com>
1454
1455         Enable IPP for Biquad filter
1456         https://bugs.webkit.org/show_bug.cgi?id=77509
1457
1458         Reviewed by Chris Rogers.
1459
1460         Use IIR filter in IPP and improve ~27% performance in linux.
1461         Changes are covered by current tests.
1462
1463         * platform/audio/Biquad.cpp:
1464         (WebCore::Biquad::Biquad):
1465         (WebCore::Biquad::~Biquad):
1466         (WebCore):
1467         (WebCore::Biquad::process):
1468         (WebCore::Biquad::reset):
1469         (WebCore::Biquad::setLowpassParams):
1470         (WebCore::Biquad::setHighpassParams):
1471         (WebCore::Biquad::setNormalizedCoefficients):
1472         (WebCore::Biquad::setZeroPolePairs):
1473         * platform/audio/Biquad.h:
1474         (Biquad):
1475
1476 2012-03-01  Peter Kotwicz  <pkotwicz@google.com>
1477
1478         Decouple scrollbar painting from Scrollbar object
1479         https://bugs.webkit.org/show_bug.cgi?id=78028
1480
1481         Reviewed by James Robinson.
1482
1483         Added interface ScrollbarThemeClient which Scrollbar inherits from.
1484         This allows painting via ScrollbarTheme with a proxy to a Scrollbar
1485         object.
1486
1487         * GNUmakefile.list.am:
1488         * Target.pri:
1489         * WebCore.gypi:
1490         * WebCore.vcproj/WebCore.vcproj:
1491         * WebCore.xcodeproj/project.pbxproj:
1492         * platform/Scrollbar.cpp:
1493         (WebCore::Scrollbar::scrollbarOverlayStyle):
1494         (WebCore):
1495         (WebCore::Scrollbar::getTickmarks):
1496         (WebCore::Scrollbar::isScrollableAreaActive):
1497         (WebCore::Scrollbar::isScrollViewScrollbar):
1498         (WebCore::Scrollbar::setFrameRect):
1499         * platform/Scrollbar.h:
1500         (Scrollbar):
1501         (WebCore::Scrollbar::x):
1502         (WebCore::Scrollbar::y):
1503         (WebCore::Scrollbar::width):
1504         (WebCore::Scrollbar::height):
1505         (WebCore::Scrollbar::size):
1506         (WebCore::Scrollbar::location):
1507         (WebCore::Scrollbar::parent):
1508         (WebCore::Scrollbar::root):
1509         (WebCore::Scrollbar::frameRect):
1510         (WebCore::Scrollbar::invalidate):
1511         (WebCore::Scrollbar::convertFromContainingWindow):
1512         (WebCore::Scrollbar::isCustomScrollbar):
1513         (WebCore::Scrollbar::orientation):
1514         (WebCore::Scrollbar::value):
1515         (WebCore::Scrollbar::currentPos):
1516         (WebCore::Scrollbar::visibleSize):
1517         (WebCore::Scrollbar::totalSize):
1518         (WebCore::Scrollbar::maximum):
1519         (WebCore::Scrollbar::controlSize):
1520         (WebCore::Scrollbar::lineStep):
1521         (WebCore::Scrollbar::pageStep):
1522         (WebCore::Scrollbar::pressedPart):
1523         (WebCore::Scrollbar::hoveredPart):
1524         (WebCore::Scrollbar::styleChanged):
1525         (WebCore::Scrollbar::enabled):
1526         * platform/ScrollbarTheme.h:
1527         (WebCore):
1528         (WebCore::ScrollbarTheme::updateEnabledState):
1529         (WebCore::ScrollbarTheme::paint):
1530         (WebCore::ScrollbarTheme::hitTest):
1531         (WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
1532         (WebCore::ScrollbarTheme::invalidateParts):
1533         (WebCore::ScrollbarTheme::invalidatePart):
1534         (WebCore::ScrollbarTheme::shouldCenterOnThumb):
1535         (WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin):
1536         (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb):
1537         (WebCore::ScrollbarTheme::thumbPosition):
1538         (WebCore::ScrollbarTheme::thumbLength):
1539         (WebCore::ScrollbarTheme::trackPosition):
1540         (WebCore::ScrollbarTheme::trackLength):
1541         (WebCore::ScrollbarTheme::registerScrollbar):
1542         (WebCore::ScrollbarTheme::unregisterScrollbar):
1543         * platform/ScrollbarThemeClient.h: Added.
1544         (WebCore):
1545         (ScrollbarThemeClient):
1546         (WebCore::ScrollbarThemeClient::~ScrollbarThemeClient):
1547         * platform/ScrollbarThemeComposite.cpp:
1548         (WebCore::ScrollbarThemeComposite::paint):
1549         (WebCore::ScrollbarThemeComposite::hitTest):
1550         (WebCore::ScrollbarThemeComposite::invalidatePart):
1551         (WebCore::ScrollbarThemeComposite::splitTrack):
1552         (WebCore::usedTotalSize):
1553         (WebCore::ScrollbarThemeComposite::thumbPosition):
1554         (WebCore::ScrollbarThemeComposite::thumbLength):
1555         (WebCore::ScrollbarThemeComposite::minimumThumbLength):
1556         (WebCore::ScrollbarThemeComposite::trackPosition):
1557         (WebCore::ScrollbarThemeComposite::trackLength):
1558         * platform/ScrollbarThemeComposite.h:
1559         (ScrollbarThemeComposite):
1560         (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
1561         (WebCore::ScrollbarThemeComposite::paintTrackBackground):
1562         (WebCore::ScrollbarThemeComposite::paintTrackPiece):
1563         (WebCore::ScrollbarThemeComposite::paintButton):
1564         (WebCore::ScrollbarThemeComposite::paintThumb):
1565         (WebCore::ScrollbarThemeComposite::paintTickmarks):
1566         (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
1567         * platform/chromium/ScrollbarThemeChromium.cpp:
1568         (WebCore::ScrollbarThemeChromium::hasThumb):
1569         (WebCore::ScrollbarThemeChromium::backButtonRect):
1570         (WebCore::ScrollbarThemeChromium::forwardButtonRect):
1571         (WebCore::ScrollbarThemeChromium::trackRect):
1572         (WebCore::ScrollbarThemeChromium::paintTrackBackground):
1573         (WebCore::ScrollbarThemeChromium::paintTickmarks):
1574         * platform/chromium/ScrollbarThemeChromium.h:
1575         (WebCore::ScrollbarThemeChromium::hasButtons):
1576         (ScrollbarThemeChromium):
1577         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
1578         (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
1579         (WebCore::ScrollbarThemeChromiumAndroid::shouldCenterOnThumb):
1580         (WebCore::ScrollbarThemeChromiumAndroid::buttonSize):
1581         (WebCore::ScrollbarThemeChromiumAndroid::minimumThumbLength):
1582         * platform/chromium/ScrollbarThemeChromiumAndroid.h:
1583         (ScrollbarThemeChromiumAndroid):
1584         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1585         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
1586         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
1587         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
1588         (WebCore::ScrollbarThemeChromiumLinux::shouldCenterOnThumb):
1589         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
1590         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
1591         * platform/chromium/ScrollbarThemeChromiumLinux.h:
1592         (ScrollbarThemeChromiumLinux):
1593         * platform/chromium/ScrollbarThemeChromiumMac.h:
1594         (ScrollbarThemeChromiumMac):
1595         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1596         (WebCore::scrollbarStateToThemeState):
1597         (WebCore::ScrollbarThemeChromiumMac::paint):
1598         (WebCore::ScrollbarThemeChromiumMac::paintGivenTickmarks):
1599         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1600         (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
1601         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
1602         (WebCore::ScrollbarThemeChromiumWin::paintButton):
1603         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
1604         (WebCore::ScrollbarThemeChromiumWin::getThemeState):
1605         (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
1606         (WebCore::ScrollbarThemeChromiumWin::getClassicThemeState):
1607         (WebCore::ScrollbarThemeChromiumWin::shouldCenterOnThumb):
1608         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
1609         * platform/chromium/ScrollbarThemeChromiumWin.h:
1610         (ScrollbarThemeChromiumWin):
1611         * platform/efl/ScrollbarThemeEfl.cpp:
1612         (WebCore::ScrollbarThemeEfl::registerScrollbar):
1613         (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
1614         * platform/efl/ScrollbarThemeEfl.h:
1615         (ScrollbarThemeEfl):
1616         * platform/gtk/ScrollbarThemeGtk.cpp:
1617         (WebCore):
1618         (WebCore::ScrollbarThemeGtk::registerScrollbar):
1619         (WebCore::ScrollbarThemeGtk::unregisterScrollbar):
1620         (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
1621         (WebCore::ScrollbarThemeGtk::hasThumb):
1622         (WebCore::ScrollbarThemeGtk::backButtonRect):
1623         (WebCore::ScrollbarThemeGtk::forwardButtonRect):
1624         (WebCore::ScrollbarThemeGtk::trackRect):
1625         (WebCore::ScrollbarThemeGtk::thumbRect):
1626         (WebCore::ScrollbarThemeGtk::paint):
1627         (WebCore::ScrollbarThemeGtk::shouldCenterOnThumb):
1628         (WebCore::ScrollbarThemeGtk::buttonSize):
1629         (WebCore::ScrollbarThemeGtk::minimumThumbLength):
1630         * platform/gtk/ScrollbarThemeGtk.h:
1631         (WebCore::ScrollbarThemeGtk::hasButtons):
1632         (ScrollbarThemeGtk):
1633         * platform/gtk/ScrollbarThemeGtk2.cpp:
1634         (WebCore::getWidgetForScrollbar):
1635         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
1636         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
1637         (WebCore::ScrollbarThemeGtk::paintThumb):
1638         (WebCore::ScrollbarThemeGtk::paintButton):
1639         * platform/gtk/ScrollbarThemeGtk3.cpp:
1640         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
1641         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
1642         (WebCore::ScrollbarThemeGtk::paintThumb):
1643         (WebCore::ScrollbarThemeGtk::paintButton):
1644         * platform/mac/ScrollbarThemeMac.h:
1645         (ScrollbarThemeMac):
1646         * platform/mac/ScrollbarThemeMac.mm:
1647         (WebCore):
1648         (WebCore::ScrollbarThemeMac::registerScrollbar):
1649         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1650         (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
1651         (WebCore::ScrollbarThemeMac::painterForScrollbar):
1652         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
1653         (WebCore::ScrollbarThemeMac::hasButtons):
1654         (WebCore::ScrollbarThemeMac::hasThumb):
1655         (WebCore::ScrollbarThemeMac::backButtonRect):
1656         (WebCore::ScrollbarThemeMac::forwardButtonRect):
1657         (WebCore::ScrollbarThemeMac::trackRect):
1658         (WebCore::ScrollbarThemeMac::minimumThumbLength):
1659         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
1660         (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb):
1661         (WebCore::ScrollbarThemeMac::updateEnabledState):
1662         (WebCore::ScrollbarThemeMac::paint):
1663         * platform/mock/ScrollbarThemeMock.cpp:
1664         (WebCore::ScrollbarThemeMock::trackRect):
1665         (WebCore::ScrollbarThemeMock::paintTrackBackground):
1666         (WebCore::ScrollbarThemeMock::paintThumb):
1667         * platform/mock/ScrollbarThemeMock.h:
1668         (WebCore::ScrollbarThemeMock::hasButtons):
1669         (WebCore::ScrollbarThemeMock::hasThumb):
1670         (WebCore::ScrollbarThemeMock::backButtonRect):
1671         (WebCore::ScrollbarThemeMock::forwardButtonRect):
1672         (ScrollbarThemeMock):
1673         * platform/qt/ScrollbarThemeQt.cpp:
1674         (WebCore::styleOptionSlider):
1675         (WebCore::ScrollbarThemeQt::paint):
1676         (WebCore::ScrollbarThemeQt::hitTest):
1677         (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
1678         (WebCore::ScrollbarThemeQt::invalidatePart):
1679         (WebCore::ScrollbarThemeQt::thumbPosition):
1680         (WebCore::ScrollbarThemeQt::thumbLength):
1681         (WebCore::ScrollbarThemeQt::trackPosition):
1682         (WebCore::ScrollbarThemeQt::trackLength):
1683         * platform/qt/ScrollbarThemeQt.h:
1684         (ScrollbarThemeQt):
1685         * platform/win/ScrollbarThemeSafari.cpp:
1686         (WebCore::ScrollbarThemeSafari::hasButtons):
1687         (WebCore::ScrollbarThemeSafari::hasThumb):
1688         (WebCore::ScrollbarThemeSafari::backButtonRect):
1689         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
1690         (WebCore::ScrollbarThemeSafari::trackRect):
1691         (WebCore::ScrollbarThemeSafari::minimumThumbLength):
1692         (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
1693         (WebCore::ScrollbarThemeSafari::paintTrackBackground):
1694         (WebCore::ScrollbarThemeSafari::paintButton):
1695         (WebCore::ScrollbarThemeSafari::paintThumb):
1696         * platform/win/ScrollbarThemeSafari.h:
1697         (ScrollbarThemeSafari):
1698         * platform/win/ScrollbarThemeWin.cpp:
1699         (WebCore::ScrollbarThemeWin::hasThumb):
1700         (WebCore::ScrollbarThemeWin::backButtonRect):
1701         (WebCore::ScrollbarThemeWin::forwardButtonRect):
1702         (WebCore::ScrollbarThemeWin::trackRect):
1703         (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
1704         (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
1705         (WebCore::ScrollbarThemeWin::paintTrackBackground):
1706         (WebCore::ScrollbarThemeWin::paintTrackPiece):
1707         (WebCore::ScrollbarThemeWin::paintButton):
1708         (WebCore::paintGripper):
1709         (WebCore::ScrollbarThemeWin::paintThumb):
1710         * platform/win/ScrollbarThemeWin.h:
1711         (WebCore::ScrollbarThemeWin::hasButtons):
1712         (ScrollbarThemeWin):
1713         * platform/wx/ScrollbarThemeWx.cpp:
1714         (WebCore::ScrollbarThemeWx::hasThumb):
1715         (WebCore::ScrollbarThemeWx::minimumThumbLength):
1716         (WebCore::ScrollbarThemeWx::buttonSize):
1717         (WebCore::ScrollbarThemeWx::splitTrack):
1718         (WebCore::ScrollbarThemeWx::backButtonRect):
1719         (WebCore::ScrollbarThemeWx::forwardButtonRect):
1720         (WebCore::ScrollbarThemeWx::trackRect):
1721         (WebCore::ScrollbarThemeWx::paint):
1722         * platform/wx/ScrollbarThemeWx.h:
1723         (ScrollbarThemeWx):
1724         (WebCore::ScrollbarThemeWx::hasButtons):
1725         * rendering/RenderScrollbar.h:
1726         (WebCore::toRenderScrollbar):
1727         * rendering/RenderScrollbarTheme.cpp:
1728         (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
1729         (WebCore::RenderScrollbarTheme::hasButtons):
1730         (WebCore::RenderScrollbarTheme::hasThumb):
1731         (WebCore::RenderScrollbarTheme::minimumThumbLength):
1732         (WebCore::RenderScrollbarTheme::backButtonRect):
1733         (WebCore::RenderScrollbarTheme::forwardButtonRect):
1734         (WebCore::RenderScrollbarTheme::trackRect):
1735         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
1736         (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
1737         (WebCore::RenderScrollbarTheme::paintTrackBackground):
1738         (WebCore::RenderScrollbarTheme::paintTrackPiece):
1739         (WebCore::RenderScrollbarTheme::paintButton):
1740         (WebCore::RenderScrollbarTheme::paintThumb):
1741         * rendering/RenderScrollbarTheme.h:
1742         (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
1743         (WebCore::RenderScrollbarTheme::registerScrollbar):
1744         (WebCore::RenderScrollbarTheme::unregisterScrollbar):
1745         (RenderScrollbarTheme):
1746
1747 2012-03-01  Luke Macpherson   <macpherson@chromium.org>
1748
1749         Implement CSSPropertyImageRendering in CSSStyleApplyProperty.
1750         https://bugs.webkit.org/show_bug.cgi?id=79855
1751
1752         Reviewed by Eric Seidel.
1753
1754         No new tests / refactoring only.
1755
1756         * css/CSSStyleApplyProperty.cpp:
1757         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1758         * css/CSSStyleSelector.cpp:
1759         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1760
1761 2012-03-01  Alok Priyadarshi  <alokp@chromium.org>
1762
1763         [chromium] Partial texture updates not happening with accelerated painting path
1764         https://bugs.webkit.org/show_bug.cgi?id=80040
1765
1766         Reviewed by James Robinson.
1767
1768         The order of y-flip and clip-rect was opposite of what it should be.
1769         The clip rect was not properly transformed to account for y-flip and hence clipping everything.  
1770
1771         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1772         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
1773
1774 2012-03-01  Alexey Proskuryakov  <ap@apple.com>
1775
1776         FileReader read speed is way too low
1777         https://bugs.webkit.org/show_bug.cgi?id=77272
1778
1779         Reviewed by Oliver Hunt.
1780
1781         This brings performance to reasonable range, but certainly doesn't exhaust improvement opportunities.
1782
1783         * platform/network/BlobResourceHandle.cpp: Use a more appropriate block size. Performing
1784         cross-thread messaging for every 1024 bytes is slow.
1785
1786 2012-03-01  Dan Bernstein  <mitz@apple.com>
1787
1788         ScrollView::setFrameRect() calls contentsResized() even when the frame size is unchanged
1789         https://bugs.webkit.org/show_bug.cgi?id=80047
1790
1791         Reviewed by Anders Carlsson.
1792
1793         * platform/ScrollView.cpp:
1794         (WebCore::ScrollView::setFrameRect): Added a check that the new frame size differs from the
1795         old one before calling contentsResized().
1796
1797 2012-03-01  James Robinson  <jamesr@chromium.org>
1798
1799         [chromium] Move pageScaleDirty logic from LayerChromium to GraphicsLayerChromium
1800         https://bugs.webkit.org/show_bug.cgi?id=79714
1801
1802         Reviewed by Adrienne Walker.
1803
1804         When the page scale changes on a composited layer we need to invalidate all of the contents on the layer in
1805         order to repaint them at the new scale. The sequence of calls we get make this a bit tricky, since we first
1806         receive a page scale changed notification and then receive the new layer bounds. The solution is to defer the
1807         invalidation until we have the new layer bounds, which landed in r99774.
1808
1809         This moves that logic from LayerChromium into GraphicsLayerChromium since IMO this is pretty particular to the
1810         way WebCore is passing us invalidations and not something fundamental to the compositor.
1811
1812         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1813         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1814         (WebCore::GraphicsLayerChromium::setSize):
1815         (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
1816         * platform/graphics/chromium/GraphicsLayerChromium.h:
1817         * platform/graphics/chromium/LayerChromium.cpp:
1818         (WebCore::LayerChromium::LayerChromium):
1819         (WebCore::LayerChromium::setBounds):
1820         * platform/graphics/chromium/LayerChromium.h:
1821         (LayerChromium):
1822
1823 2012-03-01  Joe Thomas  <joethomas@motorola.com>
1824
1825         :empty still applies to elements made non-empty via page dynamics.
1826         https://bugs.webkit.org/show_bug.cgi?id=79734
1827
1828         Check for :empty style change should be made even if the RenderStyle for the element is NULL
1829         as changes to the element's children can trigger a change in :empty state of the parent element.
1830
1831         Reviewed by Antti Koivisto.
1832
1833         Test: fast/selectors/empty-element-made-non-empty.html
1834
1835         * dom/Element.cpp:
1836         (WebCore::checkForSiblingStyleChanges):
1837
1838 2012-02-29  Nat Duca  <nduca@chromium.org>
1839
1840         [chromium] Move context lost control code from CCSingleThreadProxy to CCLayerTreeHost
1841         https://bugs.webkit.org/show_bug.cgi?id=79964
1842
1843         Reviewed by James Robinson.
1844
1845         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1846         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1847         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
1848         (WebCore::CCLayerTreeHost::recreateContext):
1849         (WebCore::CCLayerTreeHost::createContext):
1850         (WebCore::CCLayerTreeHost::didLoseContext):
1851         (WebCore::CCLayerTreeHost::compositeAndReadback):
1852         (WebCore::CCLayerTreeHost::loseContext):
1853         (WebCore::CCLayerTreeHost::updateLayers):
1854         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1855         (CCLayerTreeHostClient):
1856         (CCLayerTreeHost):
1857         * platform/graphics/chromium/cc/CCProxy.h:
1858         (CCProxy):
1859         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1860         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
1861         (WebCore::CCSingleThreadProxy::compositeAndReadback):
1862         (WebCore::CCSingleThreadProxy::initializeContext):
1863         (WebCore::CCSingleThreadProxy::recreateContext):
1864         (WebCore):
1865         (WebCore::CCSingleThreadProxy::loseContext):
1866         (WebCore::CCSingleThreadProxy::compositeImmediately):
1867         (WebCore::CCSingleThreadProxy::doComposite):
1868         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1869         (CCSingleThreadProxy):
1870         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1871         (WebCore::CCThreadProxy::initializeContext):
1872         (WebCore::CCThreadProxy::recreateContext):
1873         (WebCore):
1874         (WebCore::CCThreadProxy::loseContext):
1875         * platform/graphics/chromium/cc/CCThreadProxy.h:
1876         (CCThreadProxy):
1877
1878 2012-03-01  Abhishek Arya  <inferno@chromium.org>
1879
1880         Prevent layout root to remain set on renderers getting destroyed.
1881         https://bugs.webkit.org/show_bug.cgi?id=79953
1882
1883         Reviewed by Eric Seidel.
1884
1885         Implement Julien Chaffraix's idea.
1886
1887         * page/FrameView.h:
1888         (WebCore::FrameView::clearLayoutRoot): helper to clear layout root.
1889         * rendering/RenderObject.cpp:
1890         (WebCore::clearLayoutRootIfNeeded): if we know we are going
1891         away and we are the view's layout root, then we need to reset the layout
1892         root to prevent being used.
1893         (WebCore):
1894         (WebCore::RenderObject::willBeDestroyed): call clearLayoutRootIfNeeded at end.
1895
1896 2012-03-01  Kangil Han  <kangil.han@samsung.com>
1897
1898         [DRT] Remove all PlainTextController usages in existing tests by adding internal API
1899         https://bugs.webkit.org/show_bug.cgi?id=78570
1900
1901         Reviewed by Hajime Morita.
1902
1903         This patch will remove all PlainTextController usages
1904         in existing DRT tests by adding internal API to WebCore/testing/Internals
1905
1906         Changed editing/text-iterator/script-tests/basic-iteration.js to use internals.rangeAsText
1907
1908         * testing/Internals.cpp:
1909         (WebCore::Internals::rangeAsText):
1910         (WebCore):
1911         * testing/Internals.h:
1912         (Internals):
1913         * testing/Internals.idl:
1914
1915 2012-03-01  Adam Barth  <abarth@webkit.org>
1916
1917         DOMWindow shouldn't have any INDEXED_DATABASE ifdefs
1918         https://bugs.webkit.org/show_bug.cgi?id=80013
1919
1920         Reviewed by Kentaro Hara.
1921
1922         Before this patch, DOMWindow still knew about IDB because of the
1923         database factory.  This patch moves the factory to
1924         DOMWindowIndexedDatabase.
1925
1926         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
1927         (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
1928         (WebCore::DOMWindowIndexedDatabase::from):
1929         (WebCore):
1930         (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
1931         (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
1932         * Modules/indexeddb/DOMWindowIndexedDatabase.h:
1933         (DOMWindowIndexedDatabase):
1934         * page/DOMWindow.cpp:
1935         (WebCore::DOMWindow::~DOMWindow):
1936         (WebCore::DOMWindow::clear):
1937         (WebCore):
1938         * page/DOMWindow.h:
1939         (DOMWindow):
1940
1941 2012-03-01  Anders Carlsson  <andersca@apple.com>
1942
1943         Glitchy scrolling on pages where the scroll layer needs to be updated on the main thread
1944         https://bugs.webkit.org/show_bug.cgi?id=80038
1945         <rdar://problem/10933831>
1946
1947         Reviewed by Simon Fraser.
1948
1949         When we need to update the scroll layer position on the main thread, we need to cache the
1950         scroll position we sent to the main thread and assume that that's the correct scroll position.
1951
1952         * page/scrolling/mac/ScrollingTreeNodeMac.h:
1953         (ScrollingTreeNodeMac):
1954         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
1955         (WebCore::ScrollingTreeNodeMac::update):
1956         (WebCore::ScrollingTreeNodeMac::setScrollPosition):
1957         (WebCore::ScrollingTreeNodeMac::scrollPosition):
1958
1959 2012-03-01  Julien Chaffraix  <jchaffraix@webkit.org>
1960
1961         Unreviewed, rolling out r109367.
1962         http://trac.webkit.org/changeset/109367
1963         https://bugs.webkit.org/show_bug.cgi?id=75568
1964
1965         Some tests started to fail in a non obvious way.
1966
1967         * rendering/RenderBlock.cpp:
1968         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
1969         (WebCore::RenderBlock::layoutBlock):
1970         (WebCore::RenderBlock::paint):
1971         (WebCore::RenderBlock::isPointInOverflowControl):
1972         * rendering/RenderBlock.h:
1973         (RenderBlock):
1974         * rendering/RenderBox.cpp:
1975         (WebCore::RenderBox::willBeDestroyed):
1976         (WebCore::RenderBox::styleDidChange):
1977         (WebCore::RenderBox::scrollWidth):
1978         (WebCore::RenderBox::scrollHeight):
1979         (WebCore::RenderBox::scrollLeft):
1980         (WebCore::RenderBox::scrollTop):
1981         (WebCore::RenderBox::setScrollLeft):
1982         (WebCore::RenderBox::setScrollTop):
1983         (WebCore::RenderBox::includeVerticalScrollbarSize):
1984         (WebCore::RenderBox::includeHorizontalScrollbarSize):
1985         (WebCore::RenderBox::scrolledContentOffset):
1986         (WebCore::RenderBox::cachedSizeForOverflowClip):
1987         (WebCore::RenderBox::pushContentsClip):
1988         (WebCore::RenderBox::popContentsClip):
1989         (WebCore::RenderBox::addLayoutOverflow):
1990         * rendering/RenderBox.h:
1991         (RenderBox):
1992         (WebCore):
1993         * rendering/RenderBoxModelObject.cpp:
1994         (WebCore):
1995         (WebCore::RenderBoxModelObject::styleDidChange):
1996         * rendering/RenderBoxModelObject.h:
1997         (WebCore::RenderBoxModelObject::requiresLayer):
1998         (RenderBoxModelObject):
1999         * rendering/RenderDeprecatedFlexibleBox.cpp:
2000         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2001         * rendering/RenderTableRow.h:
2002         (WebCore::RenderTableRow::requiresLayer):
2003
2004 2012-03-01  Kenichi Ishibashi  <bashi@chromium.org>
2005
2006         REGRESSION: Outlook 2007 doesn't display fonts correctly on emails composed by WebKit
2007         https://bugs.webkit.org/show_bug.cgi?id=79448
2008
2009         Reviewed by Ryosuke Niwa.
2010
2011         Don't produce single quotes around face attribute of font elements.
2012
2013         Test: editing/style/font-face-unquote.html
2014
2015         * editing/EditingStyle.cpp:
2016         (WebCore::StyleChange::extractTextStyles): Remove single quotes from m_applyFontFace.
2017
2018 2012-03-01  Beth Dakin  <bdakin@apple.com>
2019
2020         Reviewed by Kevin Decker.
2021
2022         Part of https://bugs.webkit.org/show_bug.cgi?id=79705
2023
2024         Here's some of that tweaking promised in the comment. Adjusting 
2025         gMaximumUnpaintedAreaRatio down a bit.
2026         * page/Page.cpp:
2027         (WebCore):
2028
2029 2012-03-01  Levi Weintraub  <leviw@chromium.org>
2030
2031         Add roundToInt method for LayoutUnits
2032         https://bugs.webkit.org/show_bug.cgi?id=79283
2033
2034         Reviewed by Eric Seidel.
2035
2036         Adding a roundToInt method that rounds a LayoutUnit to the nearest integer. This
2037         only has an effect once we switch to sub-pixel positioning. Points and offsets
2038         are rounded for painting and hit testing.
2039
2040         No new tests. No change in behavior.
2041
2042         * dom/MouseRelatedEvent.cpp:
2043         (WebCore::MouseRelatedEvent::offsetX):
2044         (WebCore::MouseRelatedEvent::offsetY):
2045         * html/shadow/MediaControlElements.cpp:
2046         (WebCore::MediaControlTextTrackContainerElement::updateSizes):
2047         * rendering/LayoutState.cpp:
2048         (WebCore::LayoutState::computeLineGridPaginationOrigin):
2049         * rendering/LayoutTypes.h:
2050         (WebCore::roundToInt): Stub until we switch to sub-pixel LayoutUnits.
2051         (WebCore):
2052         * rendering/RenderBlock.cpp:
2053         (WebCore::RenderBlock::pageLogicalTopForOffset):
2054         * rendering/RenderBlock.h:
2055         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Correcting to use the
2056         pixel snapped methods on FloatingObjects and removing the fixme.
2057         (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat): Ditto.
2058         (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat): Ditto.
2059         (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat): Ditto.
2060         (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat): Ditto.
2061         (WebCore::RenderBlock::pixelSnappedLogicalWidthForFloat): Ditto.
2062         * rendering/RenderBlockLineLayout.cpp:
2063         (WebCore::LineWidth::updateAvailableWidth):
2064         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Using
2065         pixelSnappedLogicalLeft/RightOffsetForLine convenience methods for line layout. When
2066         we switch to sub-pixel positioning, we still pixel snap blocks before painting them,
2067         but text is rendered using floats. We need to ensure the text is laid out using the
2068         actual pixel width of the containing block to avoid bleeding out of the block.
2069         * rendering/RenderBoxModelObject.h: Moving the fixme to pixelSnappedWidth/Height and
2070         adding the necessary rounding for Left/Top.
2071         (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
2072         (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
2073         * rendering/RenderLayer.cpp:
2074         (WebCore::RenderLayer::scrollRectToVisible):
2075         * rendering/RenderListBox.cpp:
2076         (WebCore::RenderListBox::scrollHeight): Rounding the height for scrollHeight. Scrolling
2077         always uses rounded values.
2078         * rendering/svg/RenderSVGRoot.cpp:
2079         (WebCore::RenderSVGRoot::localToParentTransform): Similar to the line box tree, since
2080         SVG renders using floats, we need to start with pixel snapped values from the render
2081         tree or we'll end up with the contents not properly aligned to the rest of the page.
2082         * rendering/svg/SVGRenderSupport.cpp:
2083         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
2084
2085 2012-03-01  Pavel Feldman  <pfeldman@chromium.org>
2086
2087         Web Inspector: arrays in object properties sections do not scale.
2088         https://bugs.webkit.org/show_bug.cgi?id=64596
2089
2090         Reviewed by Vsevolod Vlasov.
2091
2092         Test: inspector/console/console-big-array.html
2093
2094         * inspector/front-end/ConsoleMessage.js:
2095         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
2096         (WebInspector.ConsoleMessageImpl.prototype._printArray):
2097         * inspector/front-end/ObjectPropertiesSection.js:
2098         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
2099         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
2100         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2101         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
2102         (WebInspector.ArrayGroupingTreeElement):
2103         (WebInspector.ArrayGroupingTreeElement.populateAsArray):
2104         (WebInspector.ArrayGroupingTreeElement._populate.appendElement):
2105         (WebInspector.ArrayGroupingTreeElement._populate):
2106         (WebInspector.ArrayGroupingTreeElement.prototype.onpopulate):
2107         * inspector/front-end/RemoteObject.js:
2108         (WebInspector.RemoteObject.prototype.release):
2109         (WebInspector.RemoteObject.prototype.arrayLength):
2110         (WebInspector.LocalJSONObject.prototype.isError):
2111         (WebInspector.LocalJSONObject.prototype.arrayLength):
2112         * inspector/front-end/ScopeChainSidebarPane.js:
2113         (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath):
2114         * inspector/front-end/StylesSidebarPane.js:
2115         (WebInspector.StylePropertyTreeElement.prototype._mouseDown):
2116         * inspector/front-end/inspector.css:
2117         (.console-formatted-object, .console-formatted-node, .console-formatted-array):
2118         (.console-formatted-object .section, .console-formatted-node .section, .console-formatted-array .section):
2119
2120 2012-03-01  Adam Barth  <abarth@webkit.org>
2121
2122         Unreviewed, rolling out r109336.
2123         http://trac.webkit.org/changeset/109336
2124         https://bugs.webkit.org/show_bug.cgi?id=80013
2125
2126         It's causing some crashes
2127
2128         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
2129         (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
2130         (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
2131         * Modules/indexeddb/DOMWindowIndexedDatabase.h:
2132         (DOMWindowIndexedDatabase):
2133         * page/DOMWindow.cpp:
2134         (WebCore::DOMWindow::~DOMWindow):
2135         (WebCore::DOMWindow::clear):
2136         (WebCore):
2137         (WebCore::DOMWindow::setIDBFactory):
2138         * page/DOMWindow.h:
2139         (DOMWindow):
2140         (WebCore::DOMWindow::idbFactory):
2141
2142 2012-03-01  Tom Sepez  <tsepez@chromium.org>
2143
2144         Move m_frame protector from FrameLoader::changeLocation to FrameLoader::urlSelected
2145         https://bugs.webkit.org/show_bug.cgi?id=79882
2146
2147         Reviewed by Adam Barth.
2148
2149         Test: fast/frames/url-selected-crash.html
2150
2151         * loader/FrameLoader.cpp:
2152         (WebCore::FrameLoader::changeLocation):
2153         (WebCore::FrameLoader::urlSelected):
2154
2155 2012-03-01  Julien Chaffraix  <jchaffraix@webkit.org>
2156
2157         Lazily allocate overflow: hidden layers if we have overflowing content
2158         https://bugs.webkit.org/show_bug.cgi?id=75568
2159
2160         Reviewed by David Hyatt.
2161
2162         Change covered by the existing tests and the tons of rebaselines.
2163
2164         This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.
2165
2166         Apart from saving some memory, it will also speed up the rendering as we don't need to
2167         go through the layer's machinery when painting and hit testing.
2168
2169         On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
2170         overflow: hidden case in par with the overflow: visible case when scrolling that is a
2171         very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).
2172
2173         * rendering/RenderBlock.cpp:
2174         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
2175         Changed this method to update our size cache if needed.
2176
2177         * rendering/RenderBlock.cpp:
2178         (WebCore::RenderBlock::layoutBlock):
2179         (WebCore::RenderBlock::paint):
2180         (WebCore::RenderBlock::isPointInOverflowControl):
2181         * rendering/RenderBlock.h:
2182         (RenderBlock):
2183         * rendering/RenderBox.cpp:
2184         (WebCore::RenderBox::styleDidChange):
2185         (WebCore::RenderBox::scrollWidth):
2186         (WebCore::RenderBox::scrollHeight):
2187         (WebCore::RenderBox::scrollLeft):
2188         (WebCore::RenderBox::scrollTop):
2189         (WebCore::RenderBox::setScrollLeft):
2190         (WebCore::RenderBox::setScrollTop):
2191         (WebCore::RenderBox::includeVerticalScrollbarSize):
2192         (WebCore::RenderBox::includeHorizontalScrollbarSize):
2193         (WebCore::RenderBox::pushContentsClip):
2194         (WebCore::RenderBox::popContentsClip):
2195         (WebCore::RenderBox::addLayoutOverflow):
2196         Added layer() check to the previous call sites.
2197
2198         * rendering/RenderBoxModelObject.cpp:
2199         (WebCore::RenderBoxModelObject::ensureLayer):
2200         Added this function to create and add a new layer.
2201
2202         (WebCore::RenderBoxModelObject::willBeDestroyed):
2203         (WebCore):
2204         (WebCore::RenderBoxModelObject::styleDidChange):
2205         Patched those method to handle updating / removing
2206         cached size entries.
2207
2208         (WebCore::cachedSizeForOverflowClipMap):
2209         (WebCore::RenderBoxModelObject::cachedSizeForOverflowClip):
2210         (WebCore::RenderBoxModelObject::updateCachedSizeForOverflowClip):
2211         (WebCore::RenderBoxModelObject::clearCachedSizeForOverflowClip):
2212         This logic stores the size information for later repainting.
2213         It is in practice replicating what RenderLayer is doing.
2214
2215         * rendering/RenderBoxModelObject.h:
2216         (WebCore::RenderBoxModelObject::requiresLayer):
2217         Updated to call requiresLayerForOverflowClip.
2218
2219         (WebCore::RenderBoxModelObject::requiresLayerForOverflowClip):
2220         Added this method to check if we can lazily allocate the layer.
2221
2222         * rendering/RenderDeprecatedFlexibleBox.cpp:
2223         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2224         Removed some checks as they are part of updateScrollInfoAfterLayout.
2225
2226         * rendering/RenderObject.cpp:
2227         (WebCore::RenderObject::scrolledContentOffset):
2228         Added a layer() check.
2229
2230         * rendering/RenderTableRow.h:
2231         (RenderTableRow):
2232         Added a comment about why we need a layout for table rows.
2233
2234 2012-03-01  Abhishek Arya  <inferno@chromium.org>
2235
2236         Protect functions using two container node function, each of which can fire mutation events.
2237         https://bugs.webkit.org/show_bug.cgi?id=78397
2238
2239         Reviewed by Ryosuke Niwa.
2240
2241         Tests: fast/dom/document-set-title-mutation-crash.html
2242                fast/dom/option-text-mutation-crash.html
2243
2244         * dom/Node.cpp:
2245         (WebCore::Node::setTextContent):
2246         * dom/Text.cpp:
2247         (WebCore::Text::replaceWholeText):
2248         * editing/markup.cpp:
2249         (WebCore::trimFragment):
2250         (WebCore::replaceChildrenWithFragment):
2251         (WebCore::replaceChildrenWithText):
2252         * html/HTMLOptionElement.cpp:
2253         (WebCore::HTMLOptionElement::setText):
2254         * html/HTMLScriptElement.cpp:
2255         (WebCore::HTMLScriptElement::setText):
2256         * html/HTMLTableElement.cpp:
2257         (WebCore::HTMLTableElement::insertRow):
2258         * html/HTMLTextAreaElement.cpp:
2259         (WebCore::HTMLTextAreaElement::setDefaultValue):
2260         * html/HTMLTitleElement.cpp:
2261         (WebCore::HTMLTitleElement::setText):
2262
2263 2012-03-01  Alexey Proskuryakov  <ap@apple.com>
2264
2265         Some trivial file stream cleanup
2266         https://bugs.webkit.org/show_bug.cgi?id=79955
2267
2268         Reviewed by Sam Weinig.
2269
2270         No change in functionality.
2271
2272         * fileapi/FileStreamProxy.cpp: Tweaked comment, and added copyright for earlier changes.
2273
2274         * fileapi/FileStreamProxy.h: Added a FIXME telling that this should be in platform.
2275
2276         * platform/AsyncFileStream.h: Tweaked includes and added a FIXME about this to stop being
2277         a subclass.
2278
2279         * platform/FileStreamClient.h: Removed obvious comments, and added ones explaing in-band
2280         error signals.
2281
2282         * platform/network/BlobResourceHandle.cpp: Removed an include outside of platform, and an
2283         unused constant.
2284
2285 2012-03-01  Shinya Kawanaka  <shinyak@chromium.org>
2286
2287         Appending ShadowRoot into an element should not cause crash.
2288         https://bugs.webkit.org/show_bug.cgi?id=79620
2289
2290         Reviewed by Dimitri Glazkov.
2291
2292         We should treat ShadowRoot as a document fragment.
2293
2294         Test: fast/dom/shadow/shadow-root-append.html
2295
2296         * dom/ContainerNode.cpp:
2297         (WebCore::collectTargetNodes):
2298
2299 2012-03-01  Pavel Podivilov  <podivilov@chromium.org>
2300
2301         Web Inspector: use live location to update console message bubbles.
2302         https://bugs.webkit.org/show_bug.cgi?id=80023
2303
2304         Reviewed by Vsevolod Vlasov.
2305
2306         * inspector/front-end/DebuggerPresentationModel.js:
2307         (WebInspector.DebuggerPresentationModel):
2308         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
2309         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
2310         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript.updateLocation):
2311         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
2312         (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessage):
2313         (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessagesToScript):
2314         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
2315         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
2316         (WebInspector.DebuggerPresentationModel.prototype._scriptForURLAndLocation):
2317         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2318         * inspector/front-end/RawSourceCode.js:
2319         (WebInspector.RawSourceCode):
2320
2321 2012-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
2322
2323         Web Inspector: [InspectorIndexedDB] Show tooltips with IndexedDB objects meta information
2324         https://bugs.webkit.org/show_bug.cgi?id=80022
2325
2326         Reviewed by Pavel Feldman.
2327
2328         Added tooltips with meta information for IndexedDB databases, object stores and indexes.
2329         Added keyPath: prefix to key columns in IndexedDB data grid.
2330
2331         * English.lproj/localizedStrings.js:
2332         * inspector/front-end/IndexedDBViews.js:
2333         (WebInspector.IDBDataView.prototype._createDataGrid):
2334         (WebInspector.IDBDataView.prototype._keyPathHeader):
2335         * inspector/front-end/ResourcesPanel.js:
2336         (WebInspector.IDBDatabaseTreeElement.prototype.update):
2337         (WebInspector.IDBDatabaseTreeElement.prototype._updateTooltip):
2338         (WebInspector.IDBObjectStoreTreeElement.prototype.update):
2339         (WebInspector.IDBObjectStoreTreeElement.prototype._updateTooltip):
2340         (WebInspector.IDBIndexTreeElement.prototype.update):
2341         (WebInspector.IDBIndexTreeElement.prototype._updateTooltip):
2342
2343 2012-03-01  Pavel Feldman  <pfeldman@google.com>
2344
2345         Web Inspector: hide color picker on Esc and Enter.
2346         https://bugs.webkit.org/show_bug.cgi?id=79915
2347
2348         Reviewed by Vsevolod Vlasov.
2349
2350         * inspector/front-end/Spectrum.js:
2351         (WebInspector.Spectrum.prototype.reposition):
2352         (WebInspector.Spectrum.prototype.hide):
2353         (WebInspector.Spectrum.prototype._onKeyDown):
2354
2355 2012-03-01  Huang Dongsung  <luxtella@company100.net>
2356
2357         [Qt] Fixed incorrect size pixmap creation for a new transparency layer.
2358         https://bugs.webkit.org/show_bug.cgi?id=79658
2359
2360         If QPainter does not have clipping, beginPlatformTransparencyLayer can create
2361         wrong size pixmap, so it causes incorrect rendering.
2362
2363         Reviewed by Simon Hausmann.
2364
2365         * platform/graphics/qt/GraphicsContextQt.cpp:
2366         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2367
2368 2012-03-01  Simon Hausmann  <simon.hausmann@nokia.com>
2369
2370         [Qt] Remove dead style option code.
2371         https://bugs.webkit.org/show_bug.cgi?id=80017
2372
2373         Reviewed by Kenneth Rohde Christiansen.
2374
2375         QtStyleOptionWebComboBox provides functionality (bool multiple()) that
2376         is not called from anywhere (and the base class does not have it as a
2377         virtual function).
2378
2379         * Target.pri:
2380         * platform/qt/QtStyleOptionWebComboBox.h: Removed.
2381         * platform/qt/RenderThemeQStyle.cpp:
2382         (WebCore::RenderThemeQStyle::paintMenuList):
2383         (WebCore::RenderThemeQStyle::paintMenuListButton):
2384
2385 2012-03-01  Stephen Chenney  <schenney@chromium.org>
2386
2387         Crash in WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget
2388         https://bugs.webkit.org/show_bug.cgi?id=79831
2389
2390         Reviewed by Eric Seidel.
2391
2392         Out-of-order operations in the SVGSMILElement::removedFromDocument
2393         method caused its target to be removed and then re-added due to a
2394         later call. This led to the target being set on the animation while
2395         the target element itself was unaware. At deletion time, this caused a
2396         crash (or assert in debug builds). Thanks to Abhishek Arya for help
2397         with the layout test.
2398
2399         Test: svg/animations/smil-element-target-crash-main.html
2400
2401         * svg/animation/SVGSMILElement.cpp:
2402         (WebCore::SVGSMILElement::removedFromDocument):
2403
2404 2012-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
2405
2406         Web Inspector: move heap snapshot nodes data to external array.
2407         https://bugs.webkit.org/show_bug.cgi?id=79911
2408
2409         Reviewed by Vsevolod Vlasov.
2410
2411         Tests:
2412         heap-shapshot.html
2413         heap-shapshot-loader.html
2414
2415         * inspector/front-end/HeapSnapshot.js:
2416         (WebInspector.Int32Array):
2417         (WebInspector.Int32Array.prototype.get array):
2418         (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
2419         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
2420         (WebInspector.HeapSnapshot):
2421         (WebInspector.HeapSnapshot.prototype._init):
2422
2423 2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2424
2425         Introduce SMIL overrideStyle, to make SVG stop mutating CSS styles directly
2426         https://bugs.webkit.org/show_bug.cgi?id=79790
2427
2428         Reviewed by Zoltan Herczeg.
2429
2430         Next step towards enabling animVal support for XML attribute animations.
2431         When SVG CSS properties are animated using SMIL, we currently mutate
2432         the target elements style, and have to keep a baseValue around as String
2433         to be able to recover from the DOM mutations at the end, if fill!="freeze".
2434
2435         The approach required by SMIL is to keep around an override style declaration
2436         set and apply it right after the inline style declarations. Implement that
2437         finally, to avoid mutating styles directly.
2438
2439         Test: svg/animations/attributeTypes.html
2440
2441         * css/CSSStyleSelector.cpp: Model "SMIL animation style" applying just like "inline style" declarations.
2442         (WebCore::CSSStyleSelector::addElementStyleProperties): Refactored common code from matchAllRules().
2443         (WebCore::CSSStyleSelector::matchAllRules): Apply "SMIL animation style" after "inline style" declarations, as specified in SMIL2.
2444         * css/CSSStyleSelector.h: Add new addElementStyleProperties() helper.
2445         * svg/SVGAnimateElement.cpp: Keep track of animation state, if it's about to end, clear "SMIL animation style" upon next applyResultToTarget() call.
2446         (WebCore::SVGAnimateElement::SVGAnimateElement):
2447         (WebCore::SVGAnimateElement::applyResultsToTarget): Reset the CSS property we're animating int the "SMIL animation style", after animation ends.
2448                                                             (Instead of resetting target->style() properties to the old baseValue, as we used to do).
2449         (WebCore::SVGAnimateElement::endedActiveInterval): Set m_aboutToStopAnimation to true, so next call to applyResultsToTarget() knows the animation ends.
2450         * svg/SVGAnimateElement.h: Store bool m_aboutToSTopAnimation;
2451         * svg/SVGAnimationElement.cpp:
2452         (WebCore::setTargetAttributeAnimatedCSSValue):
2453         (WebCore::setTargetAttributeAnimatedXMLValue):
2454             Refactored both of these methods from setTargetAttributeAnimatedValue().
2455             Changed the CSS part, to apply property changes to the "SMIL animation style" instead of the regular StylePropertySet.
2456         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): Refactored code, use shouldApplyAnimation() to determine whether this animation should run.
2457         (WebCore::SVGAnimationElement::resetAnimationState): New helper calling setTargetAttributeAnimatedValue with a null-string for CSS attributes, when the animation ends.
2458                                                              This is used to detect that the CSS property should be removed from the "SMIL animation style".
2459         (WebCore::SVGAnimationElement::shouldApplyAnimation): Refactored from existing code, and make it more obvious how attributeType influences the animation, all according to SVG 1.1/SMIL2.
2460         * svg/SVGAnimationElement.h:
2461         * svg/SVGElement.cpp: Manage the "SMIL animation style", in SVGElementRareData, if needed. Only gets created if SMIL animations on CSS properties run.
2462         (WebCore::SVGElement::~SVGElement): Destroy SMIL animation style, upon destruction.
2463         (WebCore::SVGElement::animatedSMILStyleProperties): Returns the StylePropertySet for the "SMIL animation style", if it's available.
2464         (WebCore::SVGElement::ensureAnimatedSMILStyleProperties): Enforces creating the StylePropertySet for the "SMIL animation style".
2465         * svg/SVGElement.h: Expose new methods.
2466         * svg/SVGElementRareData.h: Stores the "SMIL animation style", actual managment is done by SVGElement, if needed.
2467         (WebCore::SVGElementRareData::animatedSMILStyleProperties): Retrieve it.
2468         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties): Create it.
2469         (WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties): Destroy it.
2470         * svg/animation/SVGSMILElement.h: Make endedActiveInterval() virtual again, its needed by SVGAnimateElement now.
2471
2472 2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2473
2474         Unreviewed, rolling out r109255.
2475         http://trac.webkit.org/changeset/109255
2476         https://bugs.webkit.org/show_bug.cgi?id=79932
2477
2478         Breaks rounded rects with dashed strokes in SVG
2479
2480         * WebCore.exp.in:
2481         * platform/graphics/Path.cpp:
2482         (WebCore::Path::addRoundedRect):
2483         * platform/graphics/Path.h:
2484         (Path):
2485         * platform/graphics/cg/PathCG.cpp:
2486         * platform/mac/WebCoreSystemInterface.h:
2487         * platform/mac/WebCoreSystemInterface.mm:
2488
2489 2012-03-01  Adam Barth  <abarth@webkit.org>
2490
2491         DOMWindow shouldn't have any INDEXED_DATABASE ifdefs
2492         https://bugs.webkit.org/show_bug.cgi?id=80013
2493
2494         Reviewed by Kentaro Hara.
2495
2496         Before this patch, DOMWindow still knew about IDB because of the
2497         database factory.  This patch moves the factory to
2498         DOMWindowIndexedDatabase.
2499
2500         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
2501         (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
2502         (WebCore::DOMWindowIndexedDatabase::from):
2503         (WebCore):
2504         (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
2505         (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
2506         * Modules/indexeddb/DOMWindowIndexedDatabase.h:
2507         (DOMWindowIndexedDatabase):
2508         * page/DOMWindow.cpp:
2509         (WebCore::DOMWindow::~DOMWindow):
2510         (WebCore::DOMWindow::clear):
2511         (WebCore):
2512         * page/DOMWindow.h:
2513         (DOMWindow):
2514
2515 2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2516
2517         SVG <use> element allows invalid contents
2518         https://bugs.webkit.org/show_bug.cgi?id=77764
2519
2520         Reviewed by Zoltan Herczeg.
2521
2522         Unbreak the world after r109299 - dozens of SVGUseElement tests fail in trunk because:
2523         - text nodes weren't allowed in SVG shadow subtrees
2524         - tagName matching ignores any prefixes, thus svg:circle fails to identify as SVGCircleElement
2525
2526         * svg/SVGUseElement.cpp:
2527         (WebCore::isDisallowedElement):
2528
2529 2012-03-01  Luke Macpherson   <macpherson@chromium.org>
2530
2531         Handle CSSPropertyWebkitHyphens in CSSStyleApplyProperty.
2532         https://bugs.webkit.org/show_bug.cgi?id=80004
2533
2534         Reviewed by Eric Seidel.
2535
2536         No new tests / refactoring only.
2537
2538         * css/CSSStyleApplyProperty.cpp:
2539         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2540         * css/CSSStyleSelector.cpp:
2541         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2542
2543 2012-02-29  Pavel Podivilov  <podivilov@chromium.org>
2544
2545         Web Inspector: abstract out the common pattern of creating auto-updated locations.
2546         https://bugs.webkit.org/show_bug.cgi?id=79906
2547
2548         Reviewed by Vsevolod Vlasov.
2549
2550         * inspector/front-end/DebuggerPresentationModel.js:
2551         (WebInspector.PresentationCallFrame.prototype.uiLocation):
2552         (WebInspector.DebuggerPresentationModel.CallFramePlacard):
2553         (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
2554         (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
2555         (WebInspector.DebuggerPresentationModel.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
2556         (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
2557         (WebInspector.DebuggerPresentationModel.Linkifier):
2558         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
2559         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
2560         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
2561         * inspector/front-end/RawSourceCode.js:
2562         (WebInspector.RawSourceCode.prototype.createLiveLocation):
2563         (WebInspector.RawSourceCode.LiveLocation):
2564         (WebInspector.RawSourceCode.LiveLocation.prototype.init):
2565         (WebInspector.RawSourceCode.LiveLocation.prototype.dispose):
2566         (WebInspector.RawSourceCode.LiveLocation.prototype._update):
2567
2568 2012-03-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2569
2570         Make the tiling code slightly smarter
2571         https://bugs.webkit.org/show_bug.cgi?id=80015
2572
2573         Reviewed by Simon Hausmann.
2574
2575         Avoid doing the same tranformations all over in each call to
2576         tileRectForCoordinate.
2577
2578         Do not resize tiles and then drop them because they are not out of
2579         the keep rect; instead drop before resizing.
2580
2581         Rename dropTilesOutsideRect to setKeepRect as it now stored the keep
2582         rect. This is used to avoid unneeded iteration of all tiles for
2583         invalidates outside the keep rect.
2584
2585         * platform/graphics/TiledBackingStore.cpp:
2586         (WebCore::TiledBackingStore::invalidate):
2587         (WebCore):
2588         (WebCore::TiledBackingStore::commitScaleChange):
2589         (WebCore::TiledBackingStore::coverageRatio):
2590         (WebCore::TiledBackingStore::createTiles):
2591         (WebCore::TiledBackingStore::adjustForContentsRect):
2592         (WebCore::TiledBackingStore::resizeEdgeTiles):
2593         (WebCore::TiledBackingStore::setKeepRect):
2594         (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
2595         (WebCore::TiledBackingStore::tileRectForCoordinate):
2596         (WebCore::TiledBackingStore::setSupportsAlpha):
2597         * platform/graphics/TiledBackingStore.h:
2598         (TiledBackingStore):
2599
2600 2012-02-29  Kinuko Yasuda  <kinuko@chromium.org>
2601
2602         Use the new createSnapshotFileAndReadMetadata API for FileEntry.file()
2603         https://bugs.webkit.org/show_bug.cgi?id=79928
2604
2605         Reviewed by David Levin.
2606
2607         No new tests: no functionality changes.
2608         fast/filesystem/ tests should use the new code (they should pass once
2609         the corresponding chromium change is rolled in).
2610
2611         * fileapi/DOMFileSystem.cpp:
2612         (WebCore::DOMFileSystem::createFile): Updated to use the new API.
2613         * fileapi/DOMFileSystemSync.cpp:
2614         (WebCore::DOMFileSystemSync::createFile): Updated to use the new API.
2615         * fileapi/FileSystemCallbacks.cpp:
2616         * fileapi/FileSystemCallbacks.h:
2617         (FileSystemCallbacksBase):
2618         * platform/AsyncFileSystem.h:
2619         (AsyncFileSystem):
2620         * 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.
2621
2622 2012-02-29  Pavel Podivilov  <podivilov@chromium.org>
2623
2624         Web Inspector: add UISourceCode.isEditable property.
2625         https://bugs.webkit.org/show_bug.cgi?id=79909
2626
2627         Reviewed by Vsevolod Vlasov.
2628
2629         * inspector/front-end/DebuggerPresentationModel.js:
2630         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
2631         * inspector/front-end/RawSourceCode.js:
2632         (WebInspector.RawSourceCode.prototype._createUISourceCode):
2633         * inspector/front-end/UISourceCode.js:
2634         (WebInspector.UISourceCode):
2635
2636 2012-02-29  Shinya Kawanaka  <shinyak@chromium.org> 
2637
2638         Fallback elements in non-youngest shadow tree should not be rendered.
2639         https://bugs.webkit.org/show_bug.cgi?id=80002
2640
2641         Reviewed by Hajime Morita.
2642
2643         Fallback elements in non-youngest shadow tree should not be rendered, so its phase should be
2644         AttachingNotDistributed instead of AttachingFallbacked.
2645
2646         Tests: multiple-shadowroot-rendering.html covers this patch.
2647
2648         * dom/NodeRenderingContext.cpp:
2649         (WebCore::NodeRenderingContext::NodeRenderingContext):
2650
2651 2012-02-29  Adam Barth  <abarth@webkit.org>
2652
2653         ScriptExecutionContext has too many ifdef ENABLE(SQL_DATABASE)
2654         https://bugs.webkit.org/show_bug.cgi?id=79633
2655
2656         Reviewed by Eric Seidel.
2657
2658         This class creates a DatabaseContext object to supplement the
2659         ScriptExecutionContext with database-specific information.  This new
2660         object lets us remove a bunch of database-specific (and ifdefed) logic
2661         from ScriptExecutionContext.(cpp|h).
2662
2663         * CMakeLists.txt:
2664         * GNUmakefile.list.am:
2665         * Target.pri:
2666         * WebCore.exp.in:
2667         * WebCore.gypi:
2668         * WebCore.vcproj/WebCore.vcproj:
2669         * WebCore.xcodeproj/project.pbxproj:
2670         * dom/ScriptExecutionContext.cpp:
2671         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2672         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2673         (WebCore):
2674         * dom/ScriptExecutionContext.h:
2675         (WebCore):
2676         (ScriptExecutionContext):
2677         * history/PageCache.cpp:
2678         (WebCore::logCanCacheFrameDecision):
2679         (WebCore::PageCache::canCachePageContainingThisFrame):
2680         * loader/FrameLoader.cpp:
2681         (WebCore::FrameLoader::stopLoading):
2682         * platform/Supplementable.h:
2683         (WebCore::Supplementable::provideSupplement):
2684         (WebCore::Supplementable::requireSupplement):
2685         (Supplementable):
2686         * storage/AbstractDatabase.cpp:
2687         (WebCore::AbstractDatabase::AbstractDatabase):
2688         * storage/AbstractDatabase.h:
2689         (WebCore):
2690         (WebCore::AbstractDatabase::databaseContext):
2691         (AbstractDatabase):
2692         * storage/Database.cpp:
2693         (WebCore::Database::openDatabase):
2694         (WebCore::Database::Database):
2695         (WebCore::Database::openAndVerifyVersion):
2696         (WebCore::Database::markAsDeletedAndClose):
2697         (WebCore::Database::close):
2698         (WebCore::Database::closeImmediately):
2699         (WebCore::Database::performOpenAndVerify):
2700         (WebCore::Database::scheduleTransaction):
2701         (WebCore::Database::scheduleTransactionStep):
2702         (WebCore::Database::transactionClient):
2703         (WebCore::Database::transactionCoordinator):
2704         (WebCore::Database::tableNames):
2705         (WebCore::Database::securityOrigin):
2706         * storage/DatabaseContext.cpp: Added.
2707         (WebCore):
2708         (WebCore::existingDatabaseContextFrom):
2709         (WebCore::DatabaseContext::DatabaseContext):
2710         (WebCore::DatabaseContext::~DatabaseContext):
2711         (WebCore::DatabaseContext::from):
2712         (WebCore::DatabaseContext::databaseThread):
2713         (WebCore::DatabaseContext::hasOpenDatabases):
2714         (WebCore::DatabaseContext::stopDatabases):
2715         * storage/DatabaseContext.h: Added.
2716         (WebCore):
2717         (DatabaseContext):
2718         (WebCore::DatabaseContext::setHasOpenDatabases):
2719         * storage/SQLTransaction.cpp:
2720         (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
2721         (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
2722         * workers/WorkerThread.cpp:
2723         (WebCore::WorkerThreadShutdownStartTask::performTask):
2724
2725 2012-02-29  Shinya Kawanaka  <shinyak@chromium.org>
2726
2727         Refactoring: HTMLContentSelector should be InsertionPoint-aware.
2728         https://bugs.webkit.org/show_bug.cgi?id=79901
2729
2730         Reviewed by Hajime Morita.
2731
2732         ContentSelectorQuery took HTMLContentElement as argument, but patch changes it to take InsertionPoint instead.
2733         If InsertionPoint is not HTMLContentElement, ContentSelectorQuery will selects the rest of light children.
2734
2735         Now InsertionPoint has pure virtual method 'select'. <shadow> will implement this as a method returning empty string.
2736
2737         * dom/ShadowRoot.cpp:
2738         (WebCore::ShadowRoot::hasInsertionPoint):
2739         * dom/ShadowRoot.h:
2740         (ShadowRoot):
2741         * dom/ShadowTree.cpp:
2742         (WebCore::ShadowTree::needsReattachHostChildrenAndShadow):
2743         (WebCore::ShadowTree::hostChildrenChanged):
2744         * html/shadow/ContentSelectorQuery.cpp:
2745         (WebCore::ContentSelectorQuery::ContentSelectorQuery):
2746         (WebCore::ContentSelectorQuery::matches):
2747         * html/shadow/ContentSelectorQuery.h:
2748         (WebCore):
2749         (ContentSelectorQuery):
2750         * html/shadow/HTMLContentElement.cpp:
2751         (WebCore::HTMLContentElement::detach):
2752         * html/shadow/HTMLContentElement.h:
2753         (WebCore::toHTMLContentElement):
2754         (WebCore):
2755         * html/shadow/HTMLContentSelector.cpp:
2756         (WebCore::HTMLContentSelector::select):
2757         * html/shadow/HTMLContentSelector.h:
2758         (HTMLContentSelector):
2759         * html/shadow/InsertionPoint.h:
2760         (InsertionPoint):
2761
2762 2012-02-29  Luke Macpherson   <macpherson@chromium.org>
2763
2764         Handle CSSPropertySpeak in CSSStyleApplyProperty.
2765         https://bugs.webkit.org/show_bug.cgi?id=79879
2766
2767         Reviewed by Eric Seidel.
2768
2769         No new tests / refactoring only.
2770
2771         * css/CSSStyleApplyProperty.cpp:
2772         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2773         * css/CSSStyleSelector.cpp:
2774         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2775         * rendering/style/RenderStyle.h:
2776
2777 2012-02-29  Luke Macpherson   <macpherson@chromium.org>
2778
2779         Handle CSSPropertyWebkitColumnAxis in CSSStyleApplyProperty.
2780         https://bugs.webkit.org/show_bug.cgi?id=79869
2781
2782         Reviewed by Eric Seidel.
2783
2784         No new tests / refactoring only.
2785
2786         * css/CSSStyleApplyProperty.cpp:
2787         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2788         * css/CSSStyleSelector.cpp:
2789         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2790
2791 2012-02-29  Erik Arvidsson  <arv@chromium.org>
2792
2793         Rename DOMSelection to Selection
2794         https://bugs.webkit.org/show_bug.cgi?id=79688
2795
2796         Reviewed by Adam Barth.
2797
2798         No new tests. Existing tests have been updated to cover this.
2799
2800         * page/DOMSelection.idl:
2801         * page/DOMWindow.idl:
2802
2803 2012-02-29  Joshua Bell  <jsbell@chromium.org>
2804
2805         IndexedDB: IDBDatabase.objectStoreNames and IDObjectStore.indexNames results should be sorted
2806         https://bugs.webkit.org/show_bug.cgi?id=79950
2807
2808         Reviewed by Tony Chang.
2809
2810         Test: storage/indexeddb/list-ordering.html
2811
2812         * dom/DOMStringList.cpp: Added sort method, not exposed via IDL.
2813         (WebCore::DOMStringList::sort):
2814         (WebCore):
2815         * dom/DOMStringList.h:
2816         (DOMStringList):
2817         * storage/IDBDatabaseBackendImpl.cpp:
2818         (WebCore::IDBDatabaseBackendImpl::objectStoreNames):
2819         * storage/IDBObjectStoreBackendImpl.cpp:
2820         (WebCore::IDBObjectStoreBackendImpl::indexNames):
2821
2822 2012-02-29  W. James MacLean  <wjmaclean@chromium.org>
2823
2824         [chromium] Estimate pixel count for frame rate control
2825         https://bugs.webkit.org/show_bug.cgi?id=74982
2826
2827         Reviewed by James Robinson.
2828
2829         Value checks added to unit tests.
2830
2831         Adds mechanism to compute and collect statistics on pixel overdraw for selected frames.
2832
2833         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2834         (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
2835         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2836         (WebCore::wedgeProduct):
2837         (WebCore):
2838         (WebCore::quadArea):
2839         (WebCore::CCQuadCuller::cullOccludedQuads):
2840         * platform/graphics/chromium/cc/CCQuadCuller.h:
2841         (CCQuadCuller):
2842         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2843         (WebCore::CCRenderPass::optimizeQuads):
2844         * platform/graphics/chromium/cc/CCRenderPass.h:
2845         (CCOverdrawCounts):
2846         (WebCore):
2847         (CCRenderPass):
2848
2849 2012-02-29  Jason Liu  <jason.liu@torchmobile.com.cn>
2850
2851         [BlackBerry]Make about:cache feature available in release version.
2852         https://bugs.webkit.org/show_bug.cgi?id=79866
2853
2854         Reviewed by Antonio Gomes.
2855
2856         No tests.
2857         * platform/network/blackberry/NetworkJob.cpp:
2858         (WebCore::NetworkJob::handleAbout):
2859
2860 2012-02-29  James Simonsen  <simonjam@chromium.org>
2861
2862         [chromium] Fix navigation start time on cross-renderer navigation
2863         https://bugs.webkit.org/show_bug.cgi?id=75922
2864
2865         Reviewed by Darin Fisher.
2866
2867         * loader/DocumentLoadTiming.cpp:
2868         (WebCore::DocumentLoadTiming::setNavigationStart): Added.
2869         * loader/DocumentLoadTiming.h:
2870
2871 2012-02-29  Stephen Chenney  <schenney@chromium.org>
2872
2873         SVG <use> element allows invalid contents
2874         https://bugs.webkit.org/show_bug.cgi?id=77764
2875
2876         Reviewed by Nikolas Zimmermann.
2877
2878         Modify the isDisallowedElement method to disallow all of the
2879         disallowed elements, instead of just a few. It is now a whitelist
2880         implementation.
2881
2882         This also fixes bugs 78807, 78838 and 79798 related to memory
2883         corruption issues.
2884
2885         Tests: svg/custom/bug78807.svg
2886                svg/custom/bug78838.html
2887                svg/custom/bug79798.html
2888
2889         * svg/SVGUseElement.cpp:
2890         (WebCore::isDisallowedElement):
2891
2892 2012-02-29  Ami Fischman  <fischman@chromium.org>
2893
2894         Continue the search for playable mime types among <source> children of <video> even when using data: URLs
2895         https://bugs.webkit.org/show_bug.cgi?id=79934
2896
2897         Reviewed by Eric Carlson.
2898
2899         Test: media/sources-fallback-codecs.html
2900
2901         * html/HTMLMediaElement.cpp:
2902         (WebCore::HTMLMediaElement::selectNextSourceChild):
2903
2904 2012-02-29  Ian Vollick  <vollick@chromium.org>
2905
2906         [chromium] Add impl-thread support for animation-timing-function
2907         https://bugs.webkit.org/show_bug.cgi?id=79819
2908
2909         Reviewed by James Robinson.
2910
2911         * WebCore.gypi:
2912         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
2913         (WebCore::CCKeyframe::CCKeyframe):
2914         (WebCore):
2915         (WebCore::CCKeyframe::~CCKeyframe):
2916         (WebCore::CCKeyframe::time):
2917         (WebCore::CCKeyframe::timingFunction):
2918         (WebCore::CCFloatKeyframe::create):
2919         (WebCore::CCFloatKeyframe::CCFloatKeyframe):
2920         (WebCore::CCFloatKeyframe::~CCFloatKeyframe):
2921         (WebCore::CCFloatKeyframe::value):
2922         (WebCore::CCFloatKeyframe::clone):
2923         (WebCore::CCTransformKeyframe::create):
2924         (WebCore::CCTransformKeyframe::CCTransformKeyframe):
2925         (WebCore::CCTransformKeyframe::~CCTransformKeyframe):
2926         (WebCore::CCTransformKeyframe::value):
2927         (WebCore::CCTransformKeyframe::clone):
2928         (WebCore::CCKeyframedFloatAnimationCurve::create):
2929         (WebCore::CCKeyframedFloatAnimationCurve::CCKeyframedFloatAnimationCurve):
2930         (WebCore::CCKeyframedFloatAnimationCurve::addKeyframe):
2931         (WebCore::CCKeyframedFloatAnimationCurve::duration):
2932         (WebCore::CCKeyframedFloatAnimationCurve::clone):
2933         (WebCore::CCKeyframedFloatAnimationCurve::getValue):
2934         (WebCore::CCKeyframedTransformAnimationCurve::create):
2935         (WebCore::CCKeyframedTransformAnimationCurve::CCKeyframedTransformAnimationCurve):
2936         (WebCore::CCKeyframedTransformAnimationCurve::~CCKeyframedTransformAnimationCurve):
2937         (WebCore::CCKeyframedTransformAnimationCurve::addKeyframe):
2938         (WebCore::CCKeyframedTransformAnimationCurve::duration):
2939         (WebCore::CCKeyframedTransformAnimationCurve::clone):
2940         (WebCore::CCKeyframedTransformAnimationCurve::getValue):
2941         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
2942         (CCKeyframe):
2943         (CCFloatKeyframe):
2944         (WebCore):
2945         (CCTransformKeyframe):
2946         (CCKeyframedFloatAnimationCurve):
2947         (CCKeyframedTransformAnimationCurve):
2948         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2949         * platform/graphics/chromium/cc/CCTimingFunction.cpp: Added.
2950         (WebCore):
2951         (WebCore::CCTimingFunction::CCTimingFunction):
2952         (WebCore::CCTimingFunction::~CCTimingFunction):
2953         (WebCore::CCTimingFunction::duration):
2954         (WebCore::CCCubicBezierTimingFunction::create):
2955         (WebCore::CCCubicBezierTimingFunction::CCCubicBezierTimingFunction):
2956         (WebCore::CCCubicBezierTimingFunction::~CCCubicBezierTimingFunction):
2957         (WebCore::CCCubicBezierTimingFunction::getValue):
2958         (WebCore::CCCubicBezierTimingFunction::clone):
2959         (WebCore::CCEaseTimingFunction::create):
2960         (WebCore::CCEaseInTimingFunction::create):
2961         (WebCore::CCEaseOutTimingFunction::create):
2962         (WebCore::CCEaseInOutTimingFunction::create):
2963         * platform/graphics/chromium/cc/CCTimingFunction.h: Added.
2964         (WebCore):
2965         (CCTimingFunction):
2966         (CCCubicBezierTimingFunction):
2967         (CCEaseTimingFunction):
2968         (CCEaseInTimingFunction):
2969         (CCEaseOutTimingFunction):
2970         (CCEaseInOutTimingFunction):
2971
2972 2012-02-29  Shinya Kawanaka  <shinyak@chromium.org>
2973
2974         Methods in ShadowTree and TreeScopeAdopter should be multiple shadow roots aware.
2975         https://bugs.webkit.org/show_bug.cgi?id=79768
2976
2977         Reviewed by Hajime Morita.
2978
2979         Some methods in ShadowTree and TreeScopeAdopter were not multiple shadow roots aware.
2980         They should consider multiple shadow roots.
2981
2982         Test: fast/dom/shadow/multiple-shadowroot-adopt.html
2983
2984         * dom/ShadowTree.cpp:
2985         (WebCore::ShadowTree::setParentTreeScope):
2986         (WebCore):
2987         (WebCore::ShadowTree::childNeedsStyleRecalc):
2988         (WebCore::ShadowTree::needsStyleRecalc):
2989         * dom/ShadowTree.h:
2990         (WebCore):
2991         (ShadowTree):
2992         * dom/TreeScopeAdopter.cpp:
2993         (WebCore::shadowTreeFor):
2994         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2995         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
2996         (WebCore::TreeScopeAdopter::moveShadowTreeToNewDocument):
2997         (WebCore):
2998         * dom/TreeScopeAdopter.h:
2999         (TreeScopeAdopter):
3000
3001 2012-02-29  David Levin  <levin@chromium.org>
3002
3003         [chromium] Add the ability to turn off autoresize.
3004         https://bugs.webkit.org/show_bug.cgi?id=77452
3005
3006         Reviewed by Darin Fisher.
3007
3008         Test: fast/autoresize/turn-off-autoresize.html
3009
3010         * page/FrameView.cpp:
3011         (WebCore::FrameView::enableAutoSizeMode): Fix the code
3012         path for turning off autoresize to set the scrollbars to auto.
3013
3014 2012-02-29  David Barton  <dbarton@mathscribe.com>
3015
3016         <msubsup> setNeedsLayout() correction
3017         https://bugs.webkit.org/show_bug.cgi?id=79856
3018
3019         Reviewed by Julien Chaffraix.
3020
3021         m_scripts->setNeedsLayout(true, false); needs to be added to the fix for bug 79274.
3022
3023         No new tests. It's actually difficult to test the need for this with the current code,
3024         because there are a lot of extra setNeedsLayout() calls right now. I caught this after
3025         removing some of those calls that should be redundant, for a future patch. Actually
3026         removing those calls now changes other behavior, due to other bugs, so I'll save all
3027         that for future patches. We should land this fix now though I think, as it could
3028         possibly matter in some cases.
3029
3030         * rendering/mathml/RenderMathMLSubSup.cpp:
3031         (WebCore::RenderMathMLSubSup::layout):
3032
3033 2012-02-29  Andreas Kling  <awesomekling@apple.com>
3034
3035         IsSynchronizingStyleAttributeFlag could be purged.
3036         <http://webkit.org/b/79313>
3037
3038         Reviewed by Anders Carlsson.
3039
3040         We were using IsSynchronizingStyleAttributeFlag to prevent various things from
3041         happening below setAttribute() when serializing the "style" attribute based on
3042         an element's inline style.
3043
3044         Simplify the whole thing by adding a way to set an attribute without triggering
3045         any callbacks (a 'notifyChanged' argument to Element::setAttribute().)
3046         This removes the need for IsSynchronizingStyleAttributeFlag in the first place
3047         and makes StyledElement::updateStyleAttribute() a bit cheaper to boot.
3048
3049         * dom/Element.cpp:
3050         (WebCore::Element::setAttribute):
3051         (WebCore::Element::setAttributeInternal):
3052         (WebCore::Element::willModifyAttribute):
3053         (WebCore::Element::didModifyAttribute):
3054         (WebCore::Element::didRemoveAttribute):
3055         * dom/Element.h:
3056         * dom/Node.h:
3057         * dom/StyledElement.cpp:
3058         (WebCore::StyledElement::updateStyleAttribute):
3059         (WebCore::StyledElement::attributeChanged):
3060         * html/HTMLElement.cpp:
3061         (WebCore::StyledElement::copyNonAttributeProperties):
3062
3063 2012-02-29  Daniel Cheng  <dcheng@chromium.org>
3064
3065         [chromium] REGRESSION: Cannot drag a file out
3066         https://bugs.webkit.org/show_bug.cgi?id=79817
3067
3068         Reviewed by Ryosuke Niwa.
3069
3070         Temporary fix for file drag out. This change won't be needed once DataTransferItemList
3071         support is better implemented.
3072
3073         Test: platform/chromium/fast/events/drag-downloadURL.html
3074
3075         * platform/chromium/ChromiumDataObject.cpp:
3076         (WebCore::ChromiumDataObject::types):
3077
3078 2012-02-29  Luke Macpherson   <macpherson@chromium.org>
3079
3080         Clean up CSSPrimitiveValue::computeLengthDouble().
3081         https://bugs.webkit.org/show_bug.cgi?id=77065
3082
3083         Reviewed by Eric Seidel.
3084
3085         Refactoring only / no behavioral change.
3086
3087         * css/CSSPrimitiveValue.cpp:
3088         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3089
3090 2012-02-29  Beth Dakin  <bdakin@apple.com>
3091
3092         Speculative build-fix.
3093
3094         * rendering/RenderImage.cpp:
3095         (WebCore::RenderImage::paintReplaced):
3096
3097 2012-02-29  Beth Dakin  <bdakin@apple.com>
3098
3099         https://bugs.webkit.org/show_bug.cgi?id=79705
3100         didNewFirstVisuallyNonEmptyLayout should be enhanced to look at size instead 
3101         of a raw tally
3102         -and corresponding-
3103         <rdar://problem/10821314>
3104
3105         Reviewed by Dave Hyatt.
3106
3107         Instead of firing didNewFirstVisuallyNonEmptyLayout() when a raw tally of 
3108         relevant painted objects has reached a port-defined threshold, this patch 
3109         looks at the size of those objects with respect to the view area. The patch 
3110         also looks at relevant objects that cannot yet be fully painted, such as 
3111         incrementally loading images. 
3112
3113         We no longer need a HashSet for the relevant painted objects since Region can 
3114         do all of the heavy lifting. We now have a Region for the painted and 
3115         unpainted regions. We do need a HashSet for the unpainted objects though, 
3116         because we need to know if a painted object needs to be subtracted from the 
3117         unpainted region before being added to the painted region.
3118         * page/Page.cpp:
3119         (WebCore):
3120         (WebCore::Page::isCountingRelevantRepaintedObjects):
3121         (WebCore::Page::startCountingRelevantRepaintedObjects):
3122         (WebCore::Page::resetRelevantPaintedObjectCounter):
3123         (WebCore::Page::addRelevantRepaintedObject):
3124         (WebCore::Page::addRelevantUnpaintedObject):
3125         * page/Page.h:
3126         (Page):
3127
3128         New function on Region iterates through the rects and calculates the total 
3129         area.
3130         * platform/graphics/Region.cpp:
3131         (WebCore::Region::totalArea):
3132         (WebCore):
3133         * platform/graphics/Region.h:
3134         (Region):
3135
3136         Remove code from these classes since they are not actually relevant objects.
3137         * rendering/InlineBox.cpp:
3138         (WebCore::InlineBox::paint):
3139         * rendering/RenderRegion.cpp:
3140         (WebCore::RenderRegion::paintReplaced):
3141         * rendering/RenderReplaced.cpp:
3142         (WebCore::RenderReplaced::paint):
3143
3144         All of these other callers send a rect that actually represents their size 
3145         (usually the visualOverflowRect) instead of the paintInfo's paintRect, and 
3146         they call addRelevantUnpaintedObject when appropriate.
3147         * rendering/InlineTextBox.cpp:
3148         (WebCore::InlineTextBox::paint):
3149         * rendering/RenderEmbeddedObject.cpp:
3150         (WebCore::RenderEmbeddedObject::paint):
3151         (WebCore::RenderEmbeddedObject::paintReplaced):
3152         * rendering/RenderHTMLCanvas.cpp:
3153         (WebCore::RenderHTMLCanvas::paintReplaced):
3154         * rendering/RenderImage.cpp:
3155         (WebCore::RenderImage::paintReplaced):
3156         * rendering/RenderVideo.cpp:
3157         (WebCore::RenderVideo::paintReplaced):
3158         * rendering/svg/RenderSVGRoot.cpp:
3159         (WebCore::RenderSVGRoot::paintReplaced):
3160
3161 2012-02-29  Joshua Bell  <jsbell@chromium.org>
3162
3163         IndexedDB: Resource leak with IDBObjectStore.openCursor
3164         https://bugs.webkit.org/show_bug.cgi?id=79835
3165
3166         IDBCursor object that were never continue()'d to the end would leak due to a 
3167         reference cycle with IDBRequest. In addition, the IDBRequest would never be
3168         marked "finished" which would prevent GC from reclaiming it. IDBTransactions
3169         now track and notify IDBCursors to break these references when the transaction
3170         can no longer not process requests.
3171
3172         Reviewed by Tony Chang.
3173
3174         Tests: storage/indexeddb/cursor-continue.html
3175
3176         * storage/IDBCursor.cpp:
3177         (WebCore::IDBCursor::IDBCursor): Register with IDBTransaction bookkeeping.
3178         (WebCore::IDBCursor::continueFunction): Early error if transaction has finished.
3179         (WebCore::IDBCursor::close): Break the reference cycle with IDBRequest, and notify it
3180         that the cursor is finished.
3181         (WebCore):
3182         * storage/IDBCursor.h:
3183         (WebCore):
3184         (IDBCursor):
3185         * storage/IDBRequest.cpp:
3186         (WebCore::IDBRequest::IDBRequest):
3187         (WebCore::IDBRequest::finishCursor): If there is no request in flight, mark itself as
3188         finished to allow GC.
3189         (WebCore):
3190         (WebCore::IDBRequest::dispatchEvent): Once an in-flight request has been processed,
3191         mark the request as finished if the cursor is finished, to allow GC.
3192         * storage/IDBRequest.h:
3193         (IDBRequest):
3194         * storage/IDBTransaction.cpp: Track open cursors, close them when finished.
3195         (WebCore::IDBTransaction::OpenCursorNotifier::OpenCursorNotifier):
3196         (WebCore):
3197         (WebCore::IDBTransaction::OpenCursorNotifier::~OpenCursorNotifier):
3198         (WebCore::IDBTransaction::registerOpenCursor):
3199         (WebCore::IDBTransaction::unregisterOpenCursor):
3200         (WebCore::IDBTransaction::closeOpenCursors):
3201         (WebCore::IDBTransaction::onAbort):
3202         (WebCore::IDBTransaction::onComplete):
3203         * storage/IDBTransaction.h:
3204         (WebCore):
3205         (OpenCursorNotifier):
3206         (IDBTransaction):
3207
3208 2012-02-29  David Hyatt  <hyatt@apple.com>
3209
3210         https://bugs.webkit.org/show_bug.cgi?id=79940
3211         <rdar://problem/10080189>
3212         
3213         Add support in WebKit for an intra-line character grid for Japanese text layout.
3214         
3215         Patch logicalLeftOffsetForLine and logicalRightOffsetForLine in order to get the
3216         basic edge snapping grid functionality up and running. See all the FIXMEs in the function for
3217         some of the issues that still have to be dealt with for it to really work well.
3218
3219         Reviewed by Dan Bernstein.
3220
3221         Added new tests in fast/line-grid.
3222
3223         * rendering/RenderBlock.cpp:
3224         (WebCore::RenderBlock::logicalLeftOffsetForLine):
3225         (WebCore::RenderBlock::logicalRightOffsetForLine):
3226
3227 2012-02-29  Anders Carlsson  <andersca@apple.com>
3228
3229         [Chromium] Some Layout Tests in platform/chromium/rubberbanding and platform/chromium/compositing/rubberbanding are failing
3230         https://bugs.webkit.org/show_bug.cgi?id=79878
3231
3232         Reviewed by James Robinson.
3233
3234         Make sure that ScrollableArea::setScrollOffsetFromAnimation doesn't end up
3235         setting the ScrollAnimator's current scroll position by making a new function, scrollPositionChanged,
3236         that both notifyScrollPositionChanged and setScrollOffsetFromAnimation call and move the call to update
3237         the position to notifyScrollPositionChanged.
3238
3239         * platform/ScrollableArea.cpp:
3240         (WebCore::ScrollableArea::notifyScrollPositionChanged):
3241         (WebCore):
3242         (WebCore::ScrollableArea::scrollPositionChanged):
3243         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
3244         * platform/ScrollableArea.h:
3245         (ScrollableArea):
3246
3247 2012-02-29  Dana Jansens  <danakj@chromium.org>
3248
3249         [chromium] Don't let invalidation for next frame prevent tile upload
3250         https://bugs.webkit.org/show_bug.cgi?id=79841
3251
3252         Reviewed by James Robinson.
3253
3254         We currently don't push dirty tiles to the impl thread so there are no
3255         tiles with garbage data on the impl thread. However, this judgement is
3256         overzealous and blocks tiles that get invalidated by WebKit for the
3257         next frame during the paint of the current frame.
3258
3259         Instead, check if a tile is dirty and was not painted for the current
3260         frame when deciding to push the tile to the impl thread. This requires
3261         that we know if a tile was painted during the current frame, which we
3262         can do if we always reset m_updateRect to be empty each frame.
3263
3264         New unit tests: TiledLayerChromiumTest.pushTilesMarkedDirtyDuringPaint
3265                         TiledLayerChromiumTest.pushTilesLayerMarkedDirtyDuringPaintOnNextLayer
3266                         TiledLayerChromiumTest.pushTilesLayerMarkedDirtyDuringPaintOnPreviousLayer
3267
3268         * platform/graphics/chromium/TiledLayerChromium.cpp:
3269         (WebCore::UpdatableTile::isDirtyForCurrentFrame):
3270         (WebCore::TiledLayerChromium::pushPropertiesTo):
3271         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
3272         (WebCore::TiledLayerChromium::resetUpdateState):
3273         (WebCore):
3274         (WebCore::TiledLayerChromium::prepareToUpdate):
3275         * platform/graphics/chromium/TiledLayerChromium.h:
3276         (TiledLayerChromium):
3277
3278 2012-02-29  Tommy Widenflycht  <tommyw@google.com>
3279
3280         MediaStream API: MediaStreamTrackList out-of-bounds access fix
3281         https://bugs.webkit.org/show_bug.cgi?id=79889
3282
3283         Reviewed by Adam Barth.
3284
3285         Out-of-bounds access to MediaStreamTrackList ASSERTS instead of returning 0,
3286         this is not according to ecmascript standard. Also fixed a similar issue in MediaStreamList.
3287
3288         Test: fast/mediastream/peerconnection-mediastreamlist.html
3289
3290         * Modules/mediastream/MediaStreamList.cpp:
3291         (WebCore::MediaStreamList::item):
3292         * Modules/mediastream/MediaStreamTrackList.cpp:
3293         (WebCore::MediaStreamTrackList::item):
3294
3295 2012-02-29  Leo Yang  <leo.yang@torchmobile.com.cn>
3296
3297         [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatSize.h
3298         https://bugs.webkit.org/show_bug.cgi?id=79893
3299
3300         Reviewed by Antonio Gomes.
3301
3302         Add conversion convenience between WebCore::FloatSize and BlackBerry::Platform::FloatSize.
3303
3304         The porting can't be built yet, no new tests.
3305
3306         * platform/graphics/FloatSize.h:
3307         (Platform):
3308         (FloatSize):
3309
3310 2012-02-29  Leo Yang  <leo.yang@torchmobile.com.cn>
3311
3312         [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatRect.h
3313         https://bugs.webkit.org/show_bug.cgi?id=79891
3314
3315         Reviewed by Antonio Gomes.
3316
3317         Add conversion convenience between WebCore::FloatRect and BlackBerry::Platform::FloatRect.
3318
3319         The porting can't be built yet, no new tests.
3320
3321         * platform/graphics/FloatRect.h:
3322         (Platform):
3323         (FloatRect):
3324
3325 2012-02-29  Tim Horton  <timothy_horton@apple.com>
3326
3327         Make use of CG rounded-rect primitives
3328         https://bugs.webkit.org/show_bug.cgi?id=79932
3329         <rdar://problem/9274953>
3330
3331         Reviewed by Simon Fraser.
3332
3333         Dispatch to potentially platform-specific rounded rectangle path
3334         construction from addPathForRoundedRect. Make use of this to call
3335         wkCGPathAddRoundedRect on Lion and above, as long as the rounded
3336         corners are all equivalent.
3337
3338         No new tests, as this is covered by many that use rounded corners,
3339         and is only a performance improvement.
3340
3341         * WebCore.exp.in:
3342         * platform/graphics/Path.cpp:
3343         (WebCore::Path::addRoundedRect):
3344         (WebCore):
3345         (WebCore::Path::addPathForRoundedRect):
3346         * platform/graphics/Path.h:
3347         (Path):
3348         * platform/graphics/cg/PathCG.cpp:
3349         (WebCore::Path::addPathForRoundedRect):
3350         (WebCore):
3351         * platform/mac/WebCoreSystemInterface.h:
3352         * platform/mac/WebCoreSystemInterface.mm:
3353
3354 2012-02-29  Leo Yang  <leo.yang@torchmobile.com.cn>
3355
3356         [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatPoint.h
3357         https://bugs.webkit.org/show_bug.cgi?id=79887
3358
3359         Reviewed by Antonio Gomes.
3360
3361         Add conversion convenience between WebCore::FloatPoint and BlackBerry::Platform::FloatPoint.
3362
3363         The porting can't be built yet, no new tests.
3364
3365         * platform/graphics/FloatPoint.h:
3366         (Platform):
3367         (FloatPoint):
3368
3369 2012-02-29  Kaustubh Atrawalkar  <kaustubh@motorola.com>
3370
3371         ShadowRoot need innerHTML
3372         https://bugs.webkit.org/show_bug.cgi?id=78473
3373
3374         Reviewed by Hajime Morita.
3375
3376         Refactor code for sharing common code between HTMLElement & ShadowRoot.
3377         Implement innerHTML attribute for ShadowRoot.
3378
3379         Test: fast/dom/shadow/shadow-root-innerHTML.html
3380
3381         * dom/ShadowRoot.cpp:
3382         (WebCore::ShadowRoot::cloneNode):
3383         (WebCore):
3384         (WebCore::ShadowRoot::innerHTML):
3385         (WebCore::ShadowRoot::setInnerHTML):
3386         * dom/ShadowRoot.h:
3387         (ShadowRoot):
3388         * dom/ShadowRoot.idl:
3389         * editing/markup.cpp:
3390         (WebCore::urlToMarkup):
3391         (WebCore):
3392         (WebCore::createFragmentFromSource):
3393         (WebCore::hasOneChild):
3394         (WebCore::hasOneTextChild):
3395         (WebCore::replaceChildrenWithFragment):
3396         (WebCore::replaceChildrenWithText):
3397         * editing/markup.h:
3398         * html/HTMLElement.cpp:
3399         (WebCore):
3400
3401 2012-02-29  Julien Chaffraix  <jchaffraix@webkit.org>
3402
3403         Stop doubling maximalOutlineSize during painting
3404         https://bugs.webkit.org/show_bug.cgi?id=79724
3405
3406         Reviewed by Tony Chang.
3407
3408         Refactoring only, covered by existing tests (mostly repaint ones).
3409
3410         * rendering/RenderReplaced.cpp:
3411         (WebCore::RenderReplaced::shouldPaint):
3412         * rendering/RenderTableCell.cpp:
3413         (WebCore::RenderTableCell::paintCollapsedBorders):
3414         Introduce a local repaint rectangle that we inflate by the maximalOutlineSize
3415         to simplify the comparison logic. Also tried to make it clearer what's going on
3416         by tweaking the existing code.
3417
3418         * rendering/RenderTableSection.cpp:
3419         (WebCore::RenderTableSection::paintObject):
3420         Remove the doubling.
3421
3422 2012-02-29  Ken Buchanan  <kenrb@chromium.org>
3423
3424         Crash when changing list marker locations
3425         https://bugs.webkit.org/show_bug.cgi?id=79681
3426
3427         Reviewed by David Hyatt.
3428
3429         This fixes a regression crash from r108548.
3430
3431         There are some conditions where removing the anonymous block
3432         parent at that point can cause problems. One is when there is
3433         a continuation from it, and another when it is a sibling of
3434         lineBoxParent and it causes lineBoxParent to be deleted
3435         incidentally. This patch delays the destruction until after
3436         lineBoxParent has been used and makes an exception for
3437         continuations.
3438
3439         * rendering/RenderListItem.cpp:
3440         (WebCore::RenderListItem::updateMarkerLocation)
3441
3442 2012-02-29  Max Feil  <mfeil@rim.com>
3443
3444         [BlackBerry] Add support for FLAC audio and OGG/Vorbis audio
3445         https://bugs.webkit.org/show_bug.cgi?id=79519
3446
3447         Reviewed by Antonio Gomes.
3448
3449         A layout test already exists for OGG. We do not support OGG
3450         video at this time, only audio.
3451
3452         Test: media/media-can-play-flac-audio.html
3453
3454         * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
3455         (WebCore):
3456
3457 2012-02-28  Beth Dakin  <bdakin@apple.com>
3458
3459         https://bugs.webkit.org/show_bug.cgi?id=79868
3460         Overlay scrollbars should respond to AppKit's NSEventPhaseMayBegin
3461         -and corresponding-
3462         <rdar://problem/10688637>
3463
3464         Reviewed by Anders Carlsson.
3465
3466         Scrollbars are currently drawn on the main thread even when scrolling happens 
3467         on the scrolling thread, so we have to call back to the main thread for the 
3468         time being to make the right drawing calls for NSEventPhaseMayBegin.
3469         * page/scrolling/ScrollingCoordinator.cpp:
3470         (WebCore::ScrollingCoordinator::handleWheelEventPhase):
3471         (WebCore):
3472         * page/scrolling/ScrollingCoordinator.h:
3473         (ScrollingCoordinator):
3474         * page/scrolling/ScrollingTree.cpp:
3475         (WebCore::ScrollingTree::handleWheelEventPhase):
3476         (WebCore):
3477         * page/scrolling/ScrollingTree.h:
3478         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
3479         (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
3480         * platform/ScrollAnimator.h:
3481         (WebCore::ScrollAnimator::handleWheelEventPhase):
3482         (ScrollAnimator):
3483
3484         Call into AppKit on NSEventPhaseMayBegin.
3485         * platform/mac/ScrollAnimatorMac.h:
3486         (ScrollAnimatorMac):
3487         * platform/mac/ScrollAnimatorMac.mm:
3488         (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
3489         (WebCore):
3490         (WebCore::ScrollAnimatorMac::handleWheelEventPhase):
3491         (WebCore::ScrollAnimatorMac::handleWheelEvent):
3492
3493 2012-02-28  Jer Noble  <jer.noble@apple.com>
3494
3495         Full screen video volume slider has "progress bar"
3496         https://bugs.webkit.org/show_bug.cgi?id=79812
3497
3498         Reviewed by Eric Carlson.
3499
3500         No new tests; strictly a platform-specific look-and-feel change.
3501
3502         The full-screen volume slider has a "media-slider"" appearance, which is rendering as if
3503         the volume slider has a "progress".  Make a concrete "media-fullscreen-volume-slider" appearance
3504         which has the correct look-and-feel.
3505
3506         Add two new appearance keywords, media-fullscreen-volume-slider and thumb, and their associated
3507         types and CSS keywords:
3508         * css/CSSValueKeywords.in:
3509         * css/CSSPrimitiveValueMappings.h:
3510         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3511         * html/shadow/MediaControlElements.h:
3512         * platform/ThemeTypes.h:
3513
3514         Handle the new slider and thumb types when rendering:
3515         * rendering/RenderMediaControls.cpp:
3516         (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
3517         (WebCore::RenderMediaControls::paintMediaControlsPart):
3518         * rendering/RenderTheme.cpp:
3519         (WebCore::RenderTheme::adjustStyle):
3520         (WebCore::RenderTheme::paint):
3521         * rendering/RenderTheme.h:
3522         (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack):
3523         (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb):
3524         * rendering/RenderThemeMac.h:
3525         (RenderThemeMac):
3526         * rendering/RenderThemeMac.mm:
3527         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize):
3528         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack):
3529         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb):
3530         * rendering/RenderMediaControlsChromium.cpp:
3531         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
3532
3533         * accessibility/AccessibilitySlider.cpp:
3534         (WebCore::AccessibilitySlider::orientation): Mark the fullscreen volume slider as horizontal.
3535         * html/shadow/SliderThumbElement.cpp:
3536         (WebCore::RenderSliderThumb::updateAppearance): Give MediaFullScreenVolumeSliderParts 
3537             MediaFullScreenVolumeSliderThumbParts.
3538         * css/fullscreenQuickTime.css: Change the styles for the fullscreen slider, min, and max buttons.
3539         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-min-button):
3540         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-slider):
3541         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-max-button):
3542         * html/shadow/MediaControlRootElement.cpp:
3543         (WebCore::MediaControlRootElement::reset): Set the value of the fullscreen volume slider
3544             when resetting.
3545
3546 2012-02-29  Antti Koivisto  <antti@apple.com>
3547
3548         Applying region style should not need to access parent rules
3549         https://bugs.webkit.org/show_bug.cgi?id=79910 
3550          
3551         Reviewed by Andreas Kling.
3552
3553         Currently CSSStyleSelector::applyProperties looks into parent rules to see if a rule is
3554         part of region style. The plan is to eliminate the rule parent pointer so this needs to be refactored.
3555         
3556         Add a bit to RuleData to indicate if the StyleRule is part of a region style.
3557
3558         * css/CSSStyleSelector.cpp:
3559         (RuleData):
3560         (WebCore::RuleData::isInRegionRule):
3561         (RuleSet):
3562         (WebCore::CSSStyleSelector::addMatchedProperties):
3563         (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
3564         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3565         * css/CSSStyleSelector.h:
3566         (CSSStyleSelector):
3567
3568 2012-02-27  Vsevolod Vlasov  <vsevik@chromium.org>
3569
3570         Web Inspector: [InspectorIndexedDB] Add refresh to IndexedDB support.
3571         https://bugs.webkit.org/show_bug.cgi?id=79695
3572
3573         Reviewed by Pavel Feldman.
3574
3575         * inspector/front-end/IndexedDBViews.js:
3576         (WebInspector.IDBDataView):
3577         (WebInspector.IDBDataView.prototype._refreshButtonClicked):
3578         (WebInspector.IDBDataView.prototype.get statusBarItems):
3579         * inspector/front-end/ResourcesPanel.js:
3580         (WebInspector.IndexedDBTreeElement):
3581         (WebInspector.IndexedDBTreeElement.prototype.onattach):
3582         (WebInspector.IndexedDBTreeElement.prototype._handleContextMenuEvent):
3583         (WebInspector.IDBDatabaseTreeElement.prototype.onattach):
3584         (WebInspector.IDBDatabaseTreeElement.prototype._handleContextMenuEvent):
3585         (WebInspector.IDBDatabaseTreeElement.prototype._refreshIndexedDB):
3586
3587 2012-02-29  Andrey Kosyakov  <caseq@chromium.org>
3588
3589         Web Inspector: timeline markers are not shown on the timeline panel
3590         https://bugs.webkit.org/show_bug.cgi?id=79921
3591
3592         Reviewed by Pavel Feldman.
3593
3594         * inspector/front-end/TimelinePanel.js:
3595         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords):
3596         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3597
3598 2012-02-29  Kenichi Ishibashi  <bashi@chromium.org>
3599
3600         Align InlineBox::m_expansion to a byte boundary
3601         https://bugs.webkit.org/show_bug.cgi?id=79761
3602
3603         Add a bit to m_expansion to align a byte boundary.
3604         This will make valgrind memcheck happy.
3605         I confirmed sizeof(InlineBox) is unchanged.
3606
3607         Reviewed by Hajime Morita.
3608
3609         No new tests. No behavior changes.
3610
3611         * rendering/InlineBox.h:
3612         (InlineBox): Aligned m_expansion to a byte boundary.
3613
3614 2012-02-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3615
3616         Do not iterate all tiles for resizing when the content didn't change
3617         https://bugs.webkit.org/show_bug.cgi?id=79787
3618
3619         Reviewed by Simon Hausmann.
3620
3621         * platform/graphics/TiledBackingStore.cpp:
3622         (WebCore::TiledBackingStore::createTiles):
3623
3624 2012-02-29  Parag Radke  <parag@motorola.com>
3625
3626         Crash in WebCore::CompositeEditCommand::insertNodeAt
3627         https://bugs.webkit.org/show_bug.cgi?id=67764
3628
3629         Reviewed by Ryosuke Niwa.
3630
3631         If caret position after deletion and destination position coincides then
3632         removing the node will result in removing the destination node also. Hence crash.
3633
3634         Test: editing/deleting/delete-block-merge-contents-025.html
3635
3636         * editing/CompositeEditCommand.cpp:
3637         (WebCore::CompositeEditCommand::cleanupAfterDeletion):
3638         If the caret position after delete and the destination position
3639         renderes at the same place, pruning the node and making an early exit.
3640
3641 2012-02-29  Pavel Feldman  <pfeldman@google.com>
3642
3643         Web Inspector: remove calculator's updateBoundaries in the timeline panel.
3644         https://bugs.webkit.org/show_bug.cgi?id=79907
3645
3646         Reviewed by Yury Semikhatsky.
3647
3648         * inspector/front-end/NetworkPanel.js:
3649         (WebInspector.NetworkBaseCalculator.prototype.computeBarGraphLabels):
3650         (WebInspector.NetworkBaseCalculator.prototype.formatTime):
3651         (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphLabels):
3652         (WebInspector.NetworkTimeCalculator.prototype.formatTime):
3653         (WebInspector.NetworkTransferTimeCalculator.prototype.formatTime):
3654         (WebInspector.NetworkTransferDurationCalculator.prototype.formatTime):
3655         * inspector/front-end/TimelineGrid.js:
3656         (WebInspector.TimelineGrid.prototype.updateDividers):
3657         * inspector/front-end/TimelineOverviewPane.js:
3658         (WebInspector.TimelineOverviewCalculator.prototype.formatTime):
3659         (WebInspector.TimelineStartAtZeroOverview):
3660         (WebInspector.TimelineStartAtZeroOverview.prototype.update):
3661         * inspector/front-end/TimelinePanel.js:
3662         (WebInspector.TimelinePanel):
3663         (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
3664         (WebInspector.TimelinePanel.prototype._refresh):
3665         (WebInspector.TimelinePanel.prototype._refreshRecords):
3666         (WebInspector.TimelinePanel.prototype.get timelinePaddingLeft):
3667         (WebInspector.TimelineCalculator):
3668         (WebInspector.TimelineCalculator.prototype.setWindow):
3669         (WebInspector.TimelineCalculator.prototype.setRecords):
3670         (WebInspector.TimelineCalculator.prototype.formatTime):
3671         (WebInspector.TimelineFitInWindowCalculator):
3672         (WebInspector.TimelineFitInWindowCalculator.prototype.setWindow):
3673         (WebInspector.TimelineFitInWindowCalculator.prototype.setRecords):
3674         * inspector/front-end/TimelinePresentationModel.js:
3675         (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
3676
3677 2012-02-29  Yury Semikhatsky  <yurys@chromium.org>
3678
3679         Web Inspector: enable Profiles panel for workers
3680         https://bugs.webkit.org/show_bug.cgi?id=79908
3681
3682         Introduced worker profiler agent. Enabled script profiling for
3683         workers.
3684
3685         Reviewed by Pavel Feldman.
3686
3687         * bindings/js/ScriptProfiler.cpp:
3688         (WebCore::ScriptProfiler::startForPage):
3689         (WebCore):
3690         (WebCore::ScriptProfiler::startForWorkerContext):
3691         (WebCore::ScriptProfiler::stopForPage):
3692         (WebCore::ScriptProfiler::stopForWorkerContext):
3693         * bindings/js/ScriptProfiler.h:
3694         (WebCore):
3695         (ScriptProfiler):
3696         * bindings/v8/ScriptProfiler.cpp:
3697         (WebCore::ScriptProfiler::startForPage):
3698         (WebCore):
3699         (WebCore::ScriptProfiler::startForWorkerContext):
3700         (WebCore::ScriptProfiler::stopForPage):
3701         (WebCore::ScriptProfiler::stopForWorkerContext):
3702         * bindings/v8/ScriptProfiler.h:
3703         (WebCore):
3704         (ScriptProfiler):
3705         * inspector/InspectorProfilerAgent.cpp:
3706         (WebCore):
3707         (PageProfilerAgent):
3708         (WebCore::PageProfilerAgent::PageProfilerAgent):
3709         (WebCore::PageProfilerAgent::~PageProfilerAgent):
3710         (WebCore::PageProfilerAgent::startProfiling):
3711         (WebCore::PageProfilerAgent::stopProfiling):
3712         (WebCore::InspectorProfilerAgent::create):
3713         (WorkerProfilerAgent):
3714         (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
3715         (WebCore::WorkerProfilerAgent::~WorkerProfilerAgent):
3716         (WebCore::WorkerProfilerAgent::startProfiling):
3717         (WebCore::WorkerProfilerAgent::stopProfiling):
3718         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
3719         (WebCore::InspectorProfilerAgent::start):
3720         (WebCore::InspectorProfilerAgent::stop):
3721         * inspector/InspectorProfilerAgent.h:
3722         (WebCore):
3723         (InspectorProfilerAgent):
3724         * inspector/WorkerInspectorController.cpp:
3725         (WebCore::WorkerInspectorController::WorkerInspectorController):
3726         (WebCore::WorkerInspectorController::connectFrontend):
3727         (WebCore::WorkerInspectorController::disconnectFrontend):
3728         (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
3729         * inspector/WorkerInspectorController.h:
3730         (WebCore):
3731         (WorkerInspectorController):
3732         * inspector/front-end/ProfilesPanel.js:
3733         * inspector/front-end/inspector.js:
3734         (WebInspector._createPanels):
3735
3736 2012-02-29  Alexander Pavlov  <apavlov@chromium.org>
3737
3738         Web Inspector: Clicking relative links fails when query string contains a slash
3739         https://bugs.webkit.org/show_bug.cgi?id=79905
3740
3741         Reviewed by Vsevolod Vlasov.
3742
3743         * inspector/front-end/ResourceUtils.js:
3744         (WebInspector.completeURL):
3745
3746 2012-02-29  Pavel Feldman  <pfeldman@google.com>
3747
3748         Web Inspector: Ctrl R should reload page from the console panel as well.
3749         https://bugs.webkit.org/show_bug.cgi?id=79883
3750
3751         Reviewed by Vsevolod Vlasov.
3752
3753         * inspector/front-end/inspector.js:
3754         (WebInspector.documentKeyDown):
3755
3756 2012-02-28  Pavel Podivilov  <podivilov@chromium.org>
3757
3758         Extended attributes list should go before 'static' and 'const' modifiers in IDLs.
3759         https://bugs.webkit.org/show_bug.cgi?id=79807
3760
3761         Reviewed by Kentaro Hara.
3762
3763         No new tests. Generated code isn't changed.
3764
3765         * bindings/scripts/IDLParser.pm:
3766         (ParseInterface):
3767         * bindings/scripts/IDLStructure.pm:
3768         * bindings/scripts/test/TestObj.idl:
3769         * bindings/scripts/test/TestSupplemental.idl:
3770         * html/DOMURL.idl:
3771         * html/HTMLMediaElement.idl:
3772         * html/HTMLTrackElement.idl:
3773
3774 2012-02-28  Yury Semikhatsky  <yurys@chromium.org>
3775
3776         Web Inspector: move DOM counter graphs out of experimental
3777         https://bugs.webkit.org/show_bug.cgi?id=79802
3778
3779         Enable DOM counter graphs by default.
3780
3781         Reveal nearest record from the left hand side when there is no
3782         record containing the point where the user clicked.
3783
3784         Reviewed by Pavel Feldman.
3785
3786         * inspector/front-end/Settings.js:
3787         (WebInspector.ExperimentsSettings):
3788         * inspector/front-end/TimelinePanel.js:
3789         (WebInspector.TimelinePanel):
3790         (WebInspector.TimelinePanel.prototype._endSplitterDragging):
3791         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
3792         (WebInspector.TimelinePanel.prototype.sidebarResized):
3793         (WebInspector.TimelinePanel.prototype._resetPanel):
3794         (WebInspector.TimelinePanel.prototype._refresh):
3795         (WebInspector.TimelinePanel.prototype.revealRecordAt):
3796
3797 2012-02-28  MORITA Hajime  <morrita@google.com>
3798
3799         [Refactoring] Shadow related attach paths should be in ShadowTree.
3800         https://bugs.webkit.org/show_bug.cgi?id=79854
3801
3802         Reviewed by Ryosuke Niwa.
3803
3804         No new tests. No behavior change.
3805
3806         This change introduces ShadowTree::attachHost() and ShadowTree::detachHost()
3807         and moves shadow-enabled attachment code from Element to ShadowRoot.
3808         This also factored out small ContainerNode method to use it from ShadowTree.
3809
3810         Even after this change, the traveral order in ShadowTree
3811         attachment has some unclear part. Coming changes will clarify
3812         these. This change is aimed to be purely textural.
3813
3814         * dom/ContainerNode.cpp:
3815         (WebCore::ContainerNode::attach):
3816         (WebCore::ContainerNode::detach):
3817         * dom/ContainerNode.h:
3818         (ContainerNode):
3819         (WebCore::ContainerNode::attachAsNode): Added.
3820         (WebCore::ContainerNode::attachChildren): Added.
3821         (WebCore::ContainerNode::attachChildrenIfNeeded): Added.
3822         (WebCore::ContainerNode::attachChildrenLazily): Added.
3823         (WebCore::ContainerNode::detachAsNode): Added.
3824         (WebCore::ContainerNode::detachChildrenIfNeeded): Added.
3825         (WebCore::ContainerNode::detachChildren): Added.
3826         * dom/Element.cpp:
3827         (WebCore::Element::attach):
3828         (WebCore::Element::detach):
3829         * dom/ShadowTree.cpp:
3830         (WebCore::ShadowTree::addShadowRoot):
3831         (WebCore::ShadowTree::removeAllShadowRoots):
3832         (WebCore::ShadowTree::detachHost):
3833         (WebCore):
3834         (WebCore::ShadowTree::attachHost):
3835         (WebCore::ShadowTree::reattachHostChildrenAndShadow):
3836         * dom/ShadowTree.h:
3837         (ShadowTree):
3838
3839 2012-02-28  Arko Saha  <arko@motorola.com>
3840
3841         Microdata: Implement HTMLPropertiesCollection collection.namedItem().
3842         https://bugs.webkit.org/show_bug.cgi?id=73156
3843
3844         Reviewed by Kentaro Hara.
3845
3846         Tests: fast/dom/MicroData/nameditem-must-be-case-sensitive.html
3847                fast/dom/MicroData/nameditem-must-return-correct-item-properties.html
3848                fast/dom/MicroData/properties-collection-nameditem-test.html
3849
3850         * bindings/scripts/CodeGeneratorJS.pm: Modified code generator to generate
3851         JS bindings code for HTMLPropertiesCollection [NamedGetter] property.
3852         (GenerateImplementation):
3853         * html/HTMLPropertiesCollection.cpp:
3854         (WebCore::HTMLPropertiesCollection::names):
3855         (WebCore):
3856         (WebCore::HTMLPropertiesCollection::namedItem): Returns a NodeList object
3857         containing any elements that add a property named name.
3858         (WebCore::HTMLPropertiesCollection::hasNamedItem): Checks if the items can
3859         be retrieved or not based on the property named name.
3860         * html/HTMLPropertiesCollection.h: Added namedItem(), hasProperty(),
3861         hasNamedItem() methods.
3862         (HTMLPropertiesCollection):
3863         * html/HTMLPropertiesCollection.idl: Added namedItem() IDL method.
3864
3865 2012-02-28  Kinuko Yasuda  <kinuko@chromium.org>
3866
3867         Add size field to Metadata in FileSystem API
3868         https://bugs.webkit.org/show_bug.cgi?id=79813
3869
3870         Reviewed by David Levin.
3871
3872         Test: fast/filesystem/op-get-metadata.html
3873
3874         * fileapi/FileSystemCallbacks.cpp:
3875         (WebCore::MetadataCallbacks::didReadMetadata):
3876         * fileapi/Metadata.h:
3877         (WebCore::Metadata::create):
3878         (WebCore::Metadata::modificationTime):
3879         (WebCore::Metadata::size): Added.
3880         (WebCore::Metadata::Metadata):
3881         * fileapi/Metadata.idl:
3882
3883 2012-02-28  Dmitry Lomov  <dslomov@google.com>
3884
3885         [JSC] Implement ArrayBuffer transfer
3886         https://bugs.webkit.org/show_bug.cgi?id=73493.
3887         Implement ArrayBuffer transfer, per Khronos spec:  http://www.khronos.org/registry/typedarray/specs/latest/#9.
3888         This brings parity with V8 implementation of transferable typed arrays.
3889
3890         Reviewed by Oliver Hunt.
3891
3892         Covered by existing tests.
3893
3894         * bindings/js/JSDOMWindowCustom.cpp:
3895         (WebCore::handlePostMessage):
3896         * bindings/js/JSDictionary.cpp:
3897         (WebCore::JSDictionary::convertValue):
3898         * bindings/js/JSHistoryCustom.cpp:
3899         (WebCore::JSHistory::pushState):
3900         (WebCore::JSHistory::replaceState):
3901         * bindings/js/JSMessageEventCustom.cpp:
3902         (WebCore::handleInitMessageEvent):
3903         * bindings/js/JSMessagePortCustom.cpp:
3904         (WebCore::fillMessagePortArray):
3905         * bindings/js/JSMessagePortCustom.h:
3906         (WebCore):
3907         (WebCore::handlePostMessage):
3908         * bindings/js/ScriptValue.cpp:
3909         (WebCore::ScriptValue::serialize):
3910         * bindings/js/SerializedScriptValue.cpp:
3911         (WebCore):
3912         (WebCore::CloneSerializer::serialize):
3913         (CloneSerializer):
3914         (WebCore::CloneSerializer::CloneSerializer):
3915         (WebCore::CloneSerializer::fillTransferMap):
3916         (WebCore::CloneSerializer::dumpArrayBufferView):
3917         (WebCore::CloneSerializer::dumpIfTerminal):
3918         (WebCore::CloneDeserializer::deserialize):
3919         (WebCore::CloneDeserializer::CloneDeserializer):
3920         (WebCore::CloneDeserializer::readTerminal):
3921         (CloneDeserializer):
3922         (WebCore::SerializedScriptValue::SerializedScriptValue):
3923         (WebCore::SerializedScriptValue::transferArrayBuffers):
3924         (WebCore::SerializedScriptValue::create):
3925         (WebCore::SerializedScriptValue::deserialize):
3926         * bindings/js/SerializedScriptValue.h:
3927         (WebCore):
3928         (SerializedScriptValue):
3929
3930 2012-02-28  Kevin Ollivier  <kevino@theolliviers.com>
3931
3932         [wx] Unreviewed. Build fixes after recent bindings changes.
3933
3934         * bindings/scripts/CodeGeneratorCPP.pm: 
3935         (ShouldSkipType):
3936         * testing/Internals.idl:
3937
3938 2012-02-28  Yoshifumi Inoue  <yosin@chromium.org>
3939
3940         [Forms] Spin button sometimes ignores Indeterminate of m_upDownState
3941         https://bugs.webkit.org/show_bug.cgi?id=79754
3942
3943         Reviewed by Kent Tamura.
3944
3945         This patch checks enum value Indeterminate before using m_upDownState. This make
3946         sure Indeterminate state doesn't act like Down state.
3947
3948         m_upDownState can be Indeterminate at mousedown event if mouse pointer is on
3949         spin button when it is displayed.
3950
3951         Test: fast/forms/number/spin-button-state.html
3952
3953         * html/shadow/TextControlInnerElements.cpp:
3954         (WebCore::SpinButtonElement::defaultEventHandler):
3955         (WebCore::SpinButtonElement::repeatingTimerFired):
3956
3957 2012-02-27  MORITA Hajime  <morrita@google.com>
3958
3959         [Refactoring] RenderSummary and RenderDetail is no longer needed.
3960         https://bugs.webkit.org/show_bug.cgi?id=79641
3961
3962         Reviewed by Kent Tamura.
3963
3964         Removed RenderDetails and RenderSummary because its only
3965         modification they had is already handled by RenderBlock::styleWillChange().
3966         These are just a historical artifact. We could have removed these
3967         classes when they were switched to shadow-based implementations.
3968
3969         Tests: fast/html/details-inline-expected.html
3970                fast/html/details-inline.html
3971
3972         * CMakeLists.txt:
3973         * GNUmakefile.list.am:
3974         * Target.pri:
3975         * WebCore.gypi:
3976         * WebCore.vcproj/WebCore.vcproj:
3977         * WebCore.xcodeproj/project.pbxproj:
3978         * html/HTMLDetailsElement.cpp:
3979         (WebCore::HTMLDetailsElement::createRenderer):
3980         * html/HTMLSummaryElement.cpp:
3981         (WebCore::HTMLSummaryElement::createRenderer):
3982         (WebCore::HTMLSummaryElement::defaultEventHandler):
3983         * rendering/RenderDetails.cpp: Removed.
3984         * rendering/RenderDetails.h: Removed.
3985         * rendering/RenderDetailsMarker.cpp:
3986         (WebCore::RenderDetailsMarker::isOpen):
3987         * rendering/RenderDetailsMarker.h:
3988         (RenderDetailsMarker):
3989         * rendering/RenderObject.h:
3990         (RenderObject):
3991         * rendering/RenderSummary.cpp: Removed.
3992         * rendering/RenderSummary.h: Removed.
3993         * rendering/RenderingAllInOne.cpp:
3994
3995 2012-02-28  Simon Fraser  <simon.fraser@apple.com>
3996
3997         Optimize the rects being drawn into compositing layers
3998         https://bugs.webkit.org/show_bug.cgi?id=79852
3999
4000         Reviewed by Dan Bernstein.
4001
4002         Use the newly added WebKitSystemInterface method
4003         to limit the area being painted in a CALayer
4004         -drawInContext callback. This avoids redundant drawing,
4005         for performance.
4006
4007         * platform/graphics/mac/WebLayer.mm:
4008         (drawLayerContents):
4009
4010 2012-02-28  Simon Fraser  <simon.fraser@apple.com>
4011
4012         Fix the SnowLeopard build.
4013
4014         * WebCore.exp.in:
4015
4016 2012-02-28  Anders Carlsson  <andersca@apple.com>
4017
4018         With tiled drawing enabled, pressing Down arrow after scrolling via mouse gesture causes page to jump back up to top
4019         https://bugs.webkit.org/show_bug.cgi?id=79249
4020         <rdar://problem/10866273>
4021
4022         Reviewed by Sam Weinig.
4023
4024         ScrollableArea::notifyScrollPositionChanged must make sure that the scroll animator position is kept up to date.
4025
4026         * platform/ScrollAnimator.cpp:
4027         (WebCore::ScrollAnimator::setCurrentPosition):
4028         (WebCore):
4029         * platform/ScrollAnimator.h:
4030         (ScrollAnimator):
4031         * platform/ScrollableArea.cpp:
4032         (WebCore::ScrollableArea::notifyScrollPositionChanged):
4033
4034 2012-02-28  Daniel Cheng  <dcheng@chromium.org>
4035
4036         Unreviewed, rolling out r107894.
4037         http://trac.webkit.org/changeset/107894
4038         https://bugs.webkit.org/show_bug.cgi?id=30416
4039
4040         dataTransfer.types should be an Array since DOMStringList is deprecated.
4041
4042         * bindings/js/JSClipboardCustom.cpp:
4043         (WebCore::JSClipboard::types):
4044         (WebCore):
4045         * bindings/v8/custom/V8ClipboardCustom.cpp:
4046         (WebCore::V8Clipboard::typesAccessorGetter):
4047         (WebCore):
4048         * dom/Clipboard.cpp:
4049         (WebCore::Clipboard::hasStringOfType):
4050         * dom/Clipboard.h:
4051         (Clipboard):
4052         * dom/Clipboard.idl:
4053         * platform/blackberry/ClipboardBlackBerry.cpp:
4054         (WebCore::ClipboardBlackBerry::types):
4055         * platform/blackberry/ClipboardBlackBerry.h:
4056         (ClipboardBlackBerry):
4057         * platform/chromium/ChromiumDataObject.cpp:
4058         (WebCore::ChromiumDataObject::types):
4059         * platform/chromium/ChromiumDataObject.h:
4060         (ChromiumDataObject):
4061         * platform/chromium/ClipboardChromium.cpp:
4062         (WebCore::ClipboardChromium::types):
4063         (WebCore::ClipboardChromium::mayUpdateItems):
4064         * platform/chromium/ClipboardChromium.h:
4065         (ClipboardChromium):
4066         * platform/chromium/DragDataChromium.cpp:
4067         (WebCore::containsHTML):
4068         (WebCore::DragData::containsURL):
4069         (WebCore::DragData::asURL):
4070         (WebCore::DragData::containsPlainText):
4071         (WebCore::DragData::canSmartReplace):
4072         (WebCore::DragData::asFragment):
4073         * platform/efl/ClipboardEfl.cpp:
4074         (WebCore::ClipboardEfl::types):
4075         * platform/efl/ClipboardEfl.h:
4076         (ClipboardEfl):
4077         * platform/gtk/ClipboardGtk.cpp:
4078         (WebCore::ClipboardGtk::types):
4079         * platform/gtk/ClipboardGtk.h:
4080         (ClipboardGtk):
4081         * platform/mac/ClipboardMac.h:
4082         (ClipboardMac):
4083         * platform/mac/ClipboardMac.mm:
4084         (WebCore::addHTMLClipboardTypesForCocoaType):
4085         (WebCore::ClipboardMac::types):
4086         * platform/qt/ClipboardQt.cpp:
4087         (WebCore::ClipboardQt::types):
4088         * platform/qt/ClipboardQt.h:
4089         (ClipboardQt):
4090         * platform/win/ClipboardWin.cpp:
4091         (WebCore::addMimeTypesForFormat):
4092         (WebCore::ClipboardWin::types):
4093         * platform/win/ClipboardWin.h:
4094         (ClipboardWin):
4095         * platform/wx/ClipboardWx.cpp:
4096         (WebCore::ClipboardWx::types):
4097         * platform/wx/ClipboardWx.h:
4098         (ClipboardWx):
4099
4100 2012-02-28  Simon Fraser  <simon.fraser@apple.com>
4101
4102         Update WebKitSystemInterface.
4103
4104         Reviewed by Sam Weinig.
4105
4106         * WebCore.exp.in:
4107         (drawLayerContents):
4108         * platform/mac/WebCoreSystemInterface.h:
4109         * platform/mac/WebCoreSystemInterface.mm:
4110
4111 2012-02-27  MORITA Hajime  <morrita@google.com>
4112
4113         <content> element should behave as HTMLUnknownElement outside of a shadow DOM subtree
4114         https://bugs.webkit.org/show_bug.cgi?id=79551
4115
4116         Reviewed by Dimitri Glazkov.
4117
4118         The problem happened because HTMLContentElement doesn't create renderer anytime.
4119         
4120         This change allows it to create a renderer unless the HTMLContentElement is shadowed.
4121         Since this could happen not only on <content> but also on upcoming <shadow>,
4122         the corresponding part of the code is pulled up to InsertionPoint.
4123
4124         Tests: fast/dom/shadow/content-element-outside-shadow-style-expected.html
4125                fast/dom/shadow/content-element-outside-shadow-style.html
4126
4127         * dom/NodeRenderingContext.cpp:
4128         (WebCore::NodeRenderingContext::NodeRenderingContext):
4129         * dom/ShadowRoot.h:
4130         (WebCore):
4131         (WebCore::TreeScope::isShadowRoot):
4132         * dom/TreeScope.h:
4133         (TreeScope):
4134         * html/shadow/HTMLContentElement.h:
4135         * html/shadow/InsertionPoint.cpp:
4136         (WebCore::InsertionPoint::isShadowBoundary):
4137         (WebCore):
4138         * html/shadow/InsertionPoint.h:
4139         (InsertionPoint):
4140         (WebCore::isShadowBoundary):
4141         (WebCore):
4142
4143 2012-02-28  Daniel Cheng  <dcheng@chromium.org>
4144
4145         Clipboard::getData should return an empty string instead of undefined
4146         https://bugs.webkit.org/show_bug.cgi?id=79712
4147
4148         Reviewed by Tony Chang.
4149
4150         Per the spec, an empty string should be returned when there is no data for the given typestring.
4151
4152         Test: fast/events/dataTransfer-getData-returns-empty-string.html
4153
4154         * bindings/js/JSClipboardCustom.cpp:
4155         * bindings/v8/custom/V8ClipboardCustom.cpp:
4156         * dom/Clipboard.h:
4157         (Clipboard):
4158         * dom/Clipboard.idl:
4159         * platform/blackberry/ClipboardBlackBerry.cpp:
4160         (WebCore::ClipboardBlackBerry::getData):
4161         * platform/blackberry/ClipboardBlackBerry.h:
4162         (ClipboardBlackBerry):
4163         * platform/chromium/ClipboardChromium.cpp:
4164         (WebCore::ClipboardChromium::getData):
4165         * platform/chromium/ClipboardChromium.h:
4166         (ClipboardChromium):
4167         * platform/efl/ClipboardEfl.cpp:
4168         (WebCore::ClipboardEfl::getData):
4169         * platform/efl/ClipboardEfl.h:
4170         (ClipboardEfl):
4171         * platform/gtk/ClipboardGtk.cpp:
4172         (WebCore::ClipboardGtk::getData):
4173         * platform/gtk/ClipboardGtk.h:
4174         (ClipboardGtk):
4175         * platform/mac/ClipboardMac.h:
4176         (ClipboardMac):
4177         * platform/mac/ClipboardMac.mm:
4178         (WebCore::ClipboardMac::getData):
4179         * platform/qt/ClipboardQt.cpp:
4180         (WebCore::ClipboardQt::getData):
4181         * platform/qt/ClipboardQt.h:
4182         (ClipboardQt):
4183         * platform/win/ClipboardUtilitiesWin.cpp:
4184         (WebCore::getFullCFHTML):
4185         (WebCore::getURL):
4186         (WebCore::getPlainText):
4187         (WebCore::getTextHTML):
4188         (WebCore::getCFHTML):
4189         (WebCore::fragmentFromHTML):
4190         * platform/win/ClipboardUtilitiesWin.h:
4191       &nb