If @font-face does not provide an explicit italic/bold variant, regular is used.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-12  Kenichi Ishibashi  <bashi@chromium.org>
2
3         If @font-face does not provide an explicit italic/bold variant, regular is used.
4         https://bugs.webkit.org/show_bug.cgi?id=34147
5
6         Reviewed by Dan Bernstein.
7
8         Update @font-face handling code so that it matches @font-face behavior to the current draft of CSS3 Font spec. The original patch was written by yusukes@chromium.org.
9         - Drops support for "bolder", "lighter", and "all" value. These are no longer allowed.
10         - Only allows one value for font-style and font-weight.
11
12         Tests: fast/css/font-face-synthetic-bold-italic.html
13                fast/css/font-face-weight-matching.html
14
15         * css/CSSFontSelector.cpp:
16         (WebCore::CSSFontSelector::addFontFaceRule): Removed "all", "lighter", "bolder" handling code.
17         (WebCore::compareFontFaces):Updated the weight matching algortihm.
18         * css/CSSParser.cpp:
19         (WebCore::CSSParser::parseValue): Replaced parseFontStyle() call with checking primitive values.
20         (WebCore::CSSParser::parseFontWeight): Changed to allow only primitive values.
21         (WebCore::CSSParser::createFontFaceRule): Removed checks for font-weight and font-style.
22         (WebCore::CSSParser::deleteFontFaceOnlyValues): Ditto.
23         * css/CSSParser.h: Removed parseFontStyle().
24
25 2012-02-12  David Reveman  <reveman@chromium.org>
26
27         [Chromium] Avoid unnecessary memset in per-tile layer updater.
28         https://bugs.webkit.org/show_bug.cgi?id=78426
29
30         Reviewed by Stephen White.
31
32         Use our own SkBitmap and call SkBitmap::allocPixels() instead of
33         letting SkDevice construct a SkBitmap. This avoids an unnecessary
34         memset otherwise done by SkDevice.
35
36         No new tests.
37
38         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
39         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
40         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
41         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
42         (Texture):
43
44 2012-02-12  Joe Thomas  <joethomas@motorola.com>
45
46         Add toText and isTextNode helpers in Text class.
47         https://bugs.webkit.org/show_bug.cgi?id=78140
48
49         Added a new helper function toText() in dom/Text.h which does the type casting operation to Text object.
50         Modified the code to make use of this helper function.
51
52         Reviewed by Adam Barth.
53
54         No new tests.
55
56         * accessibility/AccessibilityRenderObject.cpp:
57         (WebCore::accessibleNameForNode):
58         * bindings/v8/custom/V8NodeCustom.cpp:
59         (WebCore::toV8Slow):
60         * css/SelectorChecker.cpp:
61         (WebCore::SelectorChecker::checkOneSelector):
62         * dom/Attr.cpp:
63         (WebCore::Attr::childrenChanged):
64         * dom/Element.cpp:
65         (WebCore::Element::recalcStyle):
66         * dom/Node.cpp:
67         (WebCore::Node::normalize):
68         * dom/Position.cpp:
69         (WebCore::Position::containerText):
70         (WebCore::Position::leadingWhitespacePosition):
71         * dom/Range.cpp:
72         (WebCore::Range::insertNode):
73         (WebCore::Range::getBorderAndTextQuads):
74         * dom/ScriptElement.cpp:
75         (WebCore::ScriptElement::scriptContent):
76         * dom/ShadowRoot.cpp:
77         (WebCore::ShadowRoot::recalcShadowTreeStyle):
78         * dom/Text.h: Added new helper function toText.
79         (WebCore::toText): new helper function which does the type casting operation to Text object.
80         (WebCore):
81         * editing/ApplyBlockElementCommand.cpp:
82         (WebCore::isNewLineAtPosition):
83         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded):
84         * editing/ApplyStyleCommand.cpp:
85         (WebCore::ApplyStyleCommand::splitTextAtEnd):
86         (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
87         (WebCore::ApplyStyleCommand::joinChildTextNodes):
88         * editing/BreakBlockquoteCommand.cpp:
89         (WebCore::BreakBlockquoteCommand::doApply):
90         * editing/CompositeEditCommand.cpp:
91         (WebCore::CompositeEditCommand::insertNodeAt):
92         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
93         (WebCore::CompositeEditCommand::canRebalance):
94         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
95         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
96         (WebCore::CompositeEditCommand::deleteInsignificantText):
97         (WebCore::CompositeEditCommand::removePlaceholderAt):
98         (WebCore::CompositeEditCommand::cleanupAfterDeletion):
99         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
100         * editing/DeleteSelectionCommand.cpp:
101         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
102         (WebCore::DeleteSelectionCommand::fixupWhitespace):
103         * editing/Editor.cpp:
104         (WebCore::Editor::setComposition):
105         * editing/InsertLineBreakCommand.cpp:
106         (WebCore::InsertLineBreakCommand::doApply):
107         * editing/InsertParagraphSeparatorCommand.cpp:
108         (WebCore::InsertParagraphSeparatorCommand::doApply):
109         * editing/InsertTextCommand.cpp:
110         (WebCore::InsertTextCommand::insertTab):
111         * editing/MarkupAccumulator.cpp:
112         (WebCore::MarkupAccumulator::appendStartMarkup):
113         * editing/ReplaceSelectionCommand.cpp:
114         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
115         (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
116         (WebCore::ReplaceSelectionCommand::insertAsListItems):
117         (WebCore::ReplaceSelectionCommand::performTrivialReplace):
118         * editing/htmlediting.cpp:
119         (WebCore::lineBreakExistsAtPosition):
120         * editing/visible_units.cpp:
121         (WebCore::startPositionForLine):
122         (WebCore::endPositionForLine):
123         (WebCore::startOfParagraph):
124         (WebCore::endOfParagraph):
125         * html/HTMLElement.cpp:
126         (WebCore::replaceChildrenWithFragment):
127         (WebCore::replaceChildrenWithText):
128         (WebCore::mergeWithNextTextNode):
129         * html/HTMLObjectElement.cpp:
130         (WebCore::HTMLObjectElement::hasFallbackContent):
131         (WebCore::HTMLObjectElement::updateDocNamedItem):
132         * html/HTMLOptionElement.cpp:
133         (WebCore::HTMLOptionElement::setText):
134         * html/HTMLScriptElement.cpp:
135         (WebCore::HTMLScriptElement::setText):
136         * html/HTMLTextAreaElement.cpp:
137         (WebCore::HTMLTextAreaElement::defaultValue):
138         * html/HTMLTextFormControlElement.cpp:
139         (WebCore::HTMLTextFormControlElement::innerTextValue):
140         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
141         * html/HTMLTitleElement.cpp:
142         (WebCore::HTMLTitleElement::text):
143         (WebCore::HTMLTitleElement::setText):
144         * inspector/InspectorDOMAgent.cpp:
145         (WebCore::InspectorDOMAgent::setNodeValue):
146         * rendering/RenderText.cpp:
147         (WebCore::RenderText::originalText):
148         * rendering/RenderTextFragment.cpp:
149         (WebCore::RenderTextFragment::originalText):
150         (WebCore::RenderTextFragment::previousCharacter):
151
152 2012-02-12  Kentaro Hara  <haraken@chromium.org>
153
154         Remove [CPPCustom] from CodeGeneratorCPP.pm
155         https://bugs.webkit.org/show_bug.cgi?id=78342
156
157         Reviewed by Adam Barth.
158
159         This patch removes [CPPCustom].
160
161         [CPPCustom] has been used in DOMWindow.location only to indicate that
162         DOMWindow.location should be ignored in CPP. However, there are many
163         other attributes and methods that CPP does not support (e.g. [CallWith=...],
164         [CustomSetter], etc), and they are not yet marked with [CPPCustom].
165         CPP just generates "meaningless" code for those unsupported attributes
166         and methods. Ideally we can mark all unsupported attributes and methods
167         with [CPPCustom], but it would not be so practical. Otherwise, removing
168         [CPPCustom] would make sense. The side effect of removing [CPPCustom]
169         is just that CPP will generate "meaningless" code for DOMWindow.location.
170
171         No tests. No change in behavior.
172
173         * bindings/scripts/CodeGeneratorCPP.pm:
174         (ShouldSkipType):
175         * page/DOMWindow.idl:
176
177 2012-02-12  Kentaro Hara  <haraken@chromium.org>
178
179         Rename [JSCustomPrototypeDefineOwnProperty] to [JSCustomDefineOwnPropertyOnPrototype]
180         https://bugs.webkit.org/show_bug.cgi?id=78354
181
182         Reviewed by Adam Barth.
183
184         This patch renames [JSCustomPrototypeDefineOwnProperty] to
185         [JSCustomDefineOwnPropertyOnPrototype], for naming consistency with
186         [JSCustomDefineOwnProperty] and [JSCustomNamedGetterOnPrototype].
187
188         No tests. No change in behavior.
189
190         * bindings/scripts/CodeGeneratorJS.pm:
191         (GenerateHeader):
192         * page/Location.idl:
193
194 2012-02-11  Filip Pizlo  <fpizlo@apple.com>
195
196         It should be possible to send all JSC debug logging to a file
197         https://bugs.webkit.org/show_bug.cgi?id=78418
198
199         Reviewed by Sam Weinig.
200         
201         Introduced wtf/DataLog, which defines WTF::dataFile, WTF::dataLog,
202         and WTF::dataLogV. Changed all debugging- and profiling-related printfs
203         to use WTF::dataLog() or one of its friends. By default, debug logging
204         goes to stderr, unless you change the setting in wtf/DataLog.cpp.
205
206         No new tests because behavior is unchanged.
207
208         * ForwardingHeaders/wtf/DataLog.h: Added.
209
210 2012-02-11  Gavin Barraclough  <barraclough@apple.com>
211
212         Move special __proto__ property to Object.prototype
213         https://bugs.webkit.org/show_bug.cgi?id=78409
214
215         Reviewed by Oliver Hunt.
216
217         Re-implement this as a regular accessor property.  This has three key benefits:
218         1) It makes it possible for objects to be given properties named __proto__.
219         2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
220         3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.
221
222         * bindings/js/JSDOMWindowBase.cpp:
223         (WebCore::JSDOMWindowBase::allowsAccessFrom):
224         (WebCore):
225             - expose allowsAccessFrom check to JSC.
226         * bindings/js/JSDOMWindowBase.h:
227         (JSDOMWindowBase):
228             - expose allowsAccessFrom check to JSC.
229
230 2012-02-11  Benjamin Poulain  <benjamin@webkit.org>
231
232         Get rid of WebCore::URLString
233         https://bugs.webkit.org/show_bug.cgi?id=78429
234
235         Reviewed by Adam Barth.
236
237         URLString is unused, remove the class.
238
239         * GNUmakefile.list.am:
240         * WebCore.gypi:
241         * WebCore.xcodeproj/project.pbxproj:
242         * platform/KURL.cpp:
243         * platform/KURL.h:
244         (KURL):
245         * platform/URLString.h: Removed.
246
247 2012-02-11  Sam Weinig  <sam@webkit.org>
248
249         Fix the windows build.
250
251         Since Windows uses an all-in-one file to compile, the isRespectedPresentationAttribute()
252         functions all need unique names.
253
254         * html/HTMLBodyElement.cpp:
255         * html/HTMLHRElement.cpp:
256         * html/HTMLIFrameElement.cpp:
257         * html/HTMLImageElement.cpp:
258         * html/HTMLInputElement.cpp:
259         * html/HTMLMarqueeElement.cpp:
260         * html/HTMLPlugInElement.cpp:
261         * html/HTMLTableCellElement.cpp:
262         * html/HTMLTablePartElement.cpp:
263         * mathml/MathMLElement.cpp:
264
265 2012-02-11  Anders Carlsson  <andersca@apple.com>
266
267         Overlay scrollbars don't appear when scrolling on the scrolling thread
268         https://bugs.webkit.org/show_bug.cgi?id=78427
269
270         Reviewed by Sam Weinig.
271
272         Add a ScrollAnimator::notifyContentAreaScrolled and call it from ScrollAnimator::notifyContentAreaScrolled.
273         It is then overridden in ScrollAnimatorMac to tickle AppKit so that overlay scrollbars will be shown.
274
275         * platform/ScrollAnimator.h:
276         (WebCore::ScrollAnimator::notifyContentAreaScrolled):
277         (ScrollAnimator):
278         * platform/ScrollableArea.cpp:
279         (WebCore::ScrollableArea::notifyScrollPositionChanged):
280         * platform/mac/ScrollAnimatorMac.h:
281         (ScrollAnimatorMac):
282         * platform/mac/ScrollAnimatorMac.mm:
283         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
284         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
285         (WebCore):
286
287 2012-02-11  Anders Carlsson  <andersca@apple.com>
288
289         Implement more ScrollElasticityControllerClient member functions
290         https://bugs.webkit.org/show_bug.cgi?id=78425
291         <rdar://problem/10710727>
292
293         Reviewed by Sam Weinig.
294
295         * page/scrolling/ScrollingTreeNode.h:
296         (ScrollingTreeNode):
297         (WebCore::ScrollingTreeNode::horizontalScrollElasticity):
298         (WebCore::ScrollingTreeNode::verticalScrollElasticity):
299         (WebCore::ScrollingTreeNode::hasEnabledHorizontalScrollbar):
300         (WebCore::ScrollingTreeNode::hasEnabledVerticalScrollbar):
301         Add new getters.
302
303         * page/scrolling/mac/ScrollingTreeNodeMac.h:
304         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
305         (WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching):
306         (WebCore::ScrollingTreeNodeMac::allowsVerticalStretching):
307         (WebCore::ScrollingTreeNodeMac::stretchAmount):
308         (WebCore::ScrollingTreeNodeMac::pinnedInDirection):
309         (WebCore::ScrollingTreeNodeMac::canScrollHorizontally):
310         (WebCore::ScrollingTreeNodeMac::canScrollVertically):
311         (WebCore::ScrollingTreeNodeMac::absoluteScrollPosition):
312         (WebCore::ScrollingTreeNodeMac::immediateScrollByWithoutContentEdgeConstraints):
313         (WebCore::ScrollingTreeNodeMac::startSnapRubberbandTimer):
314         (WebCore::ScrollingTreeNodeMac::stopSnapRubberbandTimer):
315         (WebCore::ScrollingTreeNodeMac::scrollByWithoutContentEdgeConstraints):
316         Implement ScrollElasticityControllerClient member functions.
317
318 2012-02-11  Antti Koivisto  <antti@apple.com>
319
320         Add size assert for Length
321         https://bugs.webkit.org/show_bug.cgi?id=78420
322
323         Rubber-stamped by Andreas Kling.
324
325         Length type is memory critical and must not grow.
326
327         * platform/Length.cpp:
328         (SameSizeAsLength):
329         (WebCore):
330
331 2012-02-11  Anders Carlsson  <andersca@apple.com>
332
333         Pass wheel events to a scroll elasticity controller on the scrolling thread
334         https://bugs.webkit.org/show_bug.cgi?id=78421
335
336         Reviewed by Sam Weinig.
337
338         Add a ScrollElasticityController to ScrollingTreeNodeMac and pass wheel events to it.
339         Fix ScrollingTreeNodeMac::scrollBy to clamp by the minimum and maximum scroll positions.
340
341         * page/scrolling/mac/ScrollingTreeNodeMac.h:
342         (ScrollingTreeNodeMac):
343         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
344         (WebCore::ScrollingTreeNodeMac::ScrollingTreeNodeMac):
345         (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
346         (WebCore::ScrollingTreeNodeMac::immediateScrollBy):
347         (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
348         (WebCore::ScrollingTreeNodeMac::minimumScrollPosition):
349         (WebCore):
350         (WebCore::ScrollingTreeNodeMac::maximumScrollPosition):
351         (WebCore::ScrollingTreeNodeMac::scrollBy):
352
353 2012-02-11  Andreas Kling  <awesomekling@apple.com>
354
355         Attribute styles should be created lazily.
356         <http://webkit.org/b/78381>
357
358         Reviewed by Antti Koivisto.
359
360         TL;DR summary: Lazily construct the StyledElement::attributeStyle() instead of
361         moving properties in/out of it in parseAttribute(). This allows us to enable
362         the matched declaration cache for elements with presentation attributes.
363
364         The matched declaration cache has been disabled for elements with presentation
365         attributes because attributeStyle() was mutable, and (simply put) the cache maps
366         a set of StylePropertySet pointers to a resulting RenderStyle. This requires
367         that the StylePropertySets are immutable.
368
369         To make them immutable, we now construct the attribute style lazily by adding
370         a flag (to Node) that gets set in parseAttribute() when a presentation attribute
371         respected by the element changes. A subsequent call to attributeStyle() checks
372         the flag and rebuilds the style by looping over the attributes and calling the
373         new virtual StyledElement::collectStyleForAttribute() on each one. Any dangling
374         references to the previous attribute style will be garbage collected by the
375         cache in CSSStyleSelector::sweepMatchedDeclarationCache().
376
377         * css/CSSStyleSelector.cpp:
378         (WebCore::CSSStyleSelector::matchAllRules):
379
380             Enable matched declaration cache for elements with attribute style.
381
382         * dom/Node.h:
383         (WebCore::Node::attributeStyleDirty):
384         (WebCore::Node::setAttributeStyleDirty):
385         (WebCore::Node::clearAttributeStyleDirty):
386
387             Add a Node flag to signify that a presentation attribute has changed and
388             the attribute style needs to be rebuilt.
389
390         * dom/ElementAttributeData.h:
391         * dom/ElementAttributeData.cpp:
392         (WebCore::ElementAttributeData::setAttributeStyle):
393
394             Added a setter for the attribute style, called by updateAttributeStyle().
395
396         * dom/StyledElement.cpp:
397         (WebCore::StyledElement::addHTMLLengthToStyle):
398         (WebCore::StyledElement::addHTMLColorToStyle):
399
400             Moved and renamed two of the old addCSS* helpers from StyledElement.
401
402         (WebCore::StyledElement::updateAttributeStyle):
403
404             Called by attributeStyle() in case the "attribute style dirty" flag is
405             set. Rebuilds the attribute style from scratch by looping over the
406             attribute map and calling collectStyleForAttribute() on each attribute.
407
408         * dom/StyledElement.h:
409         (WebCore::StyledElement::collectStyleForAttribute):
410         (WebCore::StyledElement::attributeStyle):
411         (WebCore::StyledElement::setNeedsAttributeStyleUpdate):
412
413             Helper, sets the attribute style dirty flag and marks the element for
414             full style recalc. This is what parseAttribute() calls in subclasses
415             when they encounter a presentation attribute.
416
417         * html/HTMLBRElement.cpp:
418         (WebCore::HTMLBRElement::collectStyleForAttribute):
419         (WebCore::HTMLBRElement::parseAttribute):
420         * html/HTMLBRElement.h:
421         * html/HTMLBodyElement.cpp:
422         (WebCore::isRespectedPresentationAttribute):
423         (WebCore::HTMLBodyElement::collectStyleForAttribute):
424         (WebCore::HTMLBodyElement::parseAttribute):
425         * html/HTMLBodyElement.h:
426         * html/HTMLDivElement.cpp:
427         (WebCore::HTMLDivElement::collectStyleForAttribute):
428         (WebCore::HTMLDivElement::parseAttribute):
429         * html/HTMLDivElement.h:
430         * html/HTMLElement.cpp:
431         (WebCore::HTMLElement::applyBorderAttributeToStyle):
432         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
433         (WebCore::HTMLElement::collectStyleForAttribute):
434         (WebCore::HTMLElement::parseAttribute):
435         (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
436         * html/HTMLElement.h:
437         * html/HTMLEmbedElement.cpp:
438         (WebCore::HTMLEmbedElement::collectStyleForAttribute):
439         (WebCore::HTMLEmbedElement::parseAttribute):
440         * html/HTMLEmbedElement.h:
441         * html/HTMLFontElement.cpp:
442         (WebCore::HTMLFontElement::collectStyleForAttribute):
443         (WebCore::HTMLFontElement::parseAttribute):
444         * html/HTMLFontElement.h:
445         * html/HTMLFrameSetElement.cpp:
446         (WebCore::HTMLFrameSetElement::collectStyleForAttribute):
447         (WebCore::HTMLFrameSetElement::parseAttribute):
448         * html/HTMLFrameSetElement.h:
449         * html/HTMLHRElement.cpp:
450         (WebCore::isRespectedPresentationAttribute):
451         (WebCore::HTMLHRElement::collectStyleForAttribute):
452         (WebCore::HTMLHRElement::parseAttribute):
453         * html/HTMLHRElement.h:
454         * html/HTMLIFrameElement.cpp:
455         (WebCore::HTMLIFrameElement::collectStyleForAttribute):
456         (WebCore::HTMLIFrameElement::parseAttribute):
457         * html/HTMLIFrameElement.h:
458         * html/HTMLImageElement.cpp:
459         (WebCore::isRespectedPresentationAttribute):
460         (WebCore::HTMLImageElement::collectStyleForAttribute):
461         (WebCore::HTMLImageElement::parseAttribute):
462         * html/HTMLImageElement.h:
463         * html/HTMLInputElement.cpp:
464         (WebCore::isRespectedPresentationAttribute):
465         (WebCore::HTMLInputElement::collectStyleForAttribute):
466         (WebCore::HTMLInputElement::parseAttribute):
467         * html/HTMLInputElement.h:
468         * html/HTMLLIElement.cpp:
469         (WebCore::HTMLLIElement::collectStyleForAttribute):
470         (WebCore::HTMLLIElement::parseAttribute):
471         * html/HTMLLIElement.h:
472         * html/HTMLMarqueeElement.cpp:
473         (WebCore::isRespectedPresentationAttribute):
474         (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
475         (WebCore::HTMLMarqueeElement::parseAttribute):
476         * html/HTMLMarqueeElement.h:
477         * html/HTMLOListElement.cpp:
478         (WebCore::HTMLOListElement::collectStyleForAttribute):
479         (WebCore::HTMLOListElement::parseAttribute):
480         * html/HTMLOListElement.h:
481         * html/HTMLObjectElement.cpp:
482         (WebCore::HTMLObjectElement::collectStyleForAttribute):
483         (WebCore::HTMLObjectElement::parseAttribute):
484         * html/HTMLObjectElement.h:
485         * html/HTMLParagraphElement.cpp:
486         (WebCore::HTMLParagraphElement::collectStyleForAttribute):
487         (WebCore::HTMLParagraphElement::parseAttribute):
488         * html/HTMLParagraphElement.h:
489         * html/HTMLPlugInElement.cpp:
490         (WebCore::isRespectedPresentationAttribute):
491         (WebCore::HTMLPlugInElement::collectStyleForAttribute):
492         (WebCore::HTMLPlugInElement::parseAttribute):
493         * html/HTMLPlugInElement.h:
494         * html/HTMLPreElement.cpp:
495         (WebCore::HTMLPreElement::collectStyleForAttribute):
496         (WebCore::HTMLPreElement::parseAttribute):
497         * html/HTMLPreElement.h:
498         * html/HTMLTableCaptionElement.cpp:
499         (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
500         (WebCore::HTMLTableCaptionElement::parseAttribute):
501         * html/HTMLTableCaptionElement.h:
502         * html/HTMLTableCellElement.cpp:
503         (WebCore::isRespectedPresentationAttribute):
504         (WebCore::HTMLTableCellElement::collectStyleForAttribute):
505         (WebCore::HTMLTableCellElement::parseAttribute):
506         * html/HTMLTableCellElement.h:
507         * html/HTMLTableColElement.cpp:
508         (WebCore::HTMLTableColElement::collectStyleForAttribute):
509         (WebCore::HTMLTableColElement::parseAttribute):
510         * html/HTMLTableColElement.h:
511         * html/HTMLTableElement.cpp:
512         (WebCore::getBordersFromFrameAttributeValue):
513         (WebCore::HTMLTableElement::collectStyleForAttribute):
514         (WebCore::HTMLTableElement::parseAttribute):
515         * html/HTMLTableElement.h:
516         * html/HTMLTablePartElement.cpp:
517         (WebCore::isRespectedPresentationAttribute):
518         (WebCore::HTMLTablePartElement::collectStyleForAttribute):
519         (WebCore::HTMLTablePartElement::parseAttribute):
520         * html/HTMLTablePartElement.h:
521         * html/HTMLTextAreaElement.cpp:
522         (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
523         (WebCore::HTMLTextAreaElement::parseAttribute):
524         * html/HTMLTextAreaElement.h:
525         * html/HTMLUListElement.cpp:
526         (WebCore::HTMLUListElement::collectStyleForAttribute):
527         (WebCore::HTMLUListElement::parseAttribute):
528         * html/HTMLUListElement.h:
529         * html/HTMLVideoElement.cpp:
530         (WebCore::HTMLVideoElement::collectStyleForAttribute):
531         (WebCore::HTMLVideoElement::parseAttribute):
532         * html/HTMLVideoElement.h:
533         * mathml/MathMLElement.cpp:
534         (WebCore::isRespectedPresentationAttribute):
535         (WebCore::MathMLElement::collectStyleForAttribute):
536         (WebCore::MathMLElement::parseAttribute):
537         * mathml/MathMLElement.h:
538         * svg/SVGImageElement.cpp:
539         (WebCore::SVGImageElement::collectStyleForAttribute):
540         (WebCore::SVGImageElement::parseAttribute):
541         * svg/SVGImageElement.h:
542         * svg/SVGStyledElement.cpp:
543         (WebCore::SVGStyledElement::collectStyleForAttribute):
544         (WebCore::SVGStyledElement::parseAttribute):
545         * svg/SVGStyledElement.h:
546         * svg/SVGTextContentElement.cpp:
547         (WebCore::SVGTextContentElement::collectStyleForAttribute):
548         (WebCore::SVGTextContentElement::parseAttribute):
549         * svg/SVGTextContentElement.h:
550
551             Split handling of presentation attributes between parseAttribute() and
552             collectStyleForAttribute() as appropriate. Some minor refactorings here and
553             there (mostly in HTMLTableElement) to avoid excessive code duplication.
554             Also sprinkled FIXMEs about inefficiencies we should clean up.
555
556 2012-02-11   Arko Saha  <arko@motorola.com>
557
558         HTML 5: Support click() method on HTMLElement.
559         https://bugs.webkit.org/show_bug.cgi?id=27880
560
561         Reviewed by Timothy Hatcher.
562
563         Test: fast/dom/click-method-on-html-element.html
564
565         * bindings/objc/PublicDOMInterfaces.h: Added click() method in DOMHTMLElement
566         with availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1.
567         * html/HTMLButtonElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C.
568         * html/HTMLElement.idl: Added click() IDL method.
569         * html/HTMLInputElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C.
570
571 2012-02-11  Martin Robinson  <mrobinson@igalia.com>
572
573         [GStreamer] html5test.com says that gstreamer ports do not support WebM for audio
574         https://bugs.webkit.org/show_bug.cgi?id=78244
575
576         Reviewed by Eric Seidel.
577
578         Specifically advertise support for audio/webm when we support the vorbis
579         audio codec. This is necessary because gstreamer doesn't advertise it.
580
581         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
582         (WebCore::mimeTypeCache): Add an override for audio/webm.
583
584 2012-02-11  Anders Carlsson  <andersca@apple.com>
585
586         Try to fix the Windows build.
587
588         * platform/win/PopupMenuWin.cpp:
589         (WebCore::PopupMenuWin::scrollToRevealSelection):
590
591 2012-02-08  Stephen White  <senorblanco@chromium.org>
592
593         [chromium] Enable CSS filters on composited layers.
594         https://bugs.webkit.org/show_bug.cgi?id=77266
595
596         Reviewed by James Robinson.
597
598         Will be covered by existing tests in css3/filters (when enabled).
599
600         * WebCore.gypi:
601         Add CCRenderSurfaceFilters.* to the Chromium build.
602         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
603         (WebCore::GraphicsLayerChromium::setFilters):
604         * platform/graphics/chromium/GraphicsLayerChromium.h:
605         Override setFilters() virtual from GraphicsLayer.
606         * platform/graphics/chromium/LayerChromium.cpp:
607         (WebCore::LayerChromium::setFilters):
608         Implement setFilters() to cache the filters here...
609         (WebCore::LayerChromium::pushPropertiesTo):
610         ... and push them to the CCLayerImpl at commit time.
611         * platform/graphics/chromium/LayerChromium.h:
612         (WebCore::LayerChromium::filters):
613         Implement accessor.
614         * platform/graphics/chromium/RenderSurfaceChromium.h:
615         (WebCore::RenderSurfaceChromium::setFilters):
616         Implement stub version of setFilters(), to satisfy the templates.
617         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
618         (WebCore::CCLayerImpl::setFilters):
619         Implement setter to receive filters at commit time.
620         * platform/graphics/chromium/cc/CCLayerImpl.h:
621         (WebCore::CCLayerImpl::filters):
622         Implement member var and accessor for filters.
623         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
624         (WebCore::calculateDrawTransformsAndVisibilityInternal):
625         Add another clause here to force creation of a RenderSurface when
626         filters are present, and to forward them from the layer to the
627         RenderSurface.
628         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
629         (WebCore::CCRenderSurface::draw):
630         (WebCore::CCRenderSurface::drawLayer):
631         Check for filters at draw time, apply them, and forward the result
632         through the drawing traversal.
633         (WebCore::CCRenderSurface::drawSurface):
634         If filter bitmap is present, bind it instead of the normal
635         RenderSurface texture.
636         (WebCore::CCRenderSurface::applyFilters):
637         Apply filters to the render surface texture, and return the result.
638         This function is a no-op for the threaded compositor, due to use
639         of the SharedGraphicsContext3D.
640         * platform/graphics/chromium/cc/CCRenderSurface.h:
641         (WebCore::CCRenderSurface::setFilters):
642         (WebCore::CCRenderSurface::filters):
643         (CCRenderSurface):
644         Filters getters and setters.
645         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: Added.
646         (WebCore::CCRenderSurfaceFilters::apply):
647         External interface for this (static) class.  All internal
648         implementation and helper functions are in the unnamed namespace.
649         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h: Added.
650
651 2012-02-11  Andreas Kling  <awesomekling@apple.com>
652
653         Node.isEqualNode() compares attributes twice.
654         <http://webkit.org/b/78414>
655
656         Reviewed by Anders Carlsson.
657
658         A single pass across the attribute maps should be enough for anyone.
659
660         Added a test verifying correct behavior of Node.isEqualNode() when comparing
661         two elements, one of which has had attributes that were all removed,
662         resulting in an empty but non-null NamedNodeMap hanging off of the element.
663         Note that this change is not fixing a regression, I'm just adding the test
664         since I came close to introducing a bug here.
665
666         Test: fast/dom/isEqualNode-after-removeAttribute.html
667
668         * dom/Node.cpp:
669         (WebCore::Node::isEqualNode):
670
671 2012-02-11  Andreas Kling  <awesomekling@apple.com>
672
673         HTMLTablePartElement: Add helper method to find parent table.
674         <http://webkit.org/b/78413>
675
676         Reviewed by Anders Carlsson.
677
678         Add HTMLTablePartElement::findParentTable() and use that in subclasses instead
679         of duplicating the code.
680
681         * html/HTMLTableCellElement.cpp:
682         (WebCore::HTMLTableCellElement::additionalAttributeStyle):
683         * html/HTMLTableColElement.cpp:
684         (WebCore::HTMLTableColElement::additionalAttributeStyle):
685         * html/HTMLTablePartElement.cpp:
686         (WebCore::HTMLTablePartElement::findParentTable):
687         (WebCore):
688         * html/HTMLTablePartElement.h:
689         (WebCore):
690         (HTMLTablePartElement):
691         * html/HTMLTableSectionElement.cpp:
692         (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
693
694 2012-02-11  Andreas Kling  <awesomekling@apple.com>
695
696         Use Element's hasName/hasID flags to avoid unnecessary work when looking up name/id attributes.
697         <http://webkit.org/b/77845>
698
699         Reviewed by Anders Carlsson.
700
701         Have Element::getIdAttribute() check the hasID() flag before looking up the attribute.
702         Add an Element::getNameAttribute() to do the same thing with hasName().
703         Update call sites to make use of these helpers whenever possible.
704
705         * accessibility/AccessibilityRenderObject.cpp:
706         (WebCore::AccessibilityRenderObject::accessibilityDescription):
707         * dom/DocumentOrderedMap.cpp:
708         (WebCore::keyMatchesId):
709         * dom/Element.h:
710         (Element):
711         (WebCore::Element::getIdAttribute):
712         (WebCore):
713         (WebCore::Element::getNameAttribute):
714         * dom/NameNodeList.cpp:
715         (WebCore::NameNodeList::nodeMatches):
716         * dom/StaticHashSetNodeList.cpp:
717         (WebCore::StaticHashSetNodeList::itemWithName):
718         * dom/StaticNodeList.cpp:
719         (WebCore::StaticNodeList::itemWithName):
720         * html/HTMLAnchorElement.cpp:
721         (WebCore::HTMLAnchorElement::name):
722         * html/HTMLAppletElement.cpp:
723         (WebCore::HTMLAppletElement::createRenderer):
724         * html/HTMLCollection.cpp:
725         (WebCore::HTMLCollection::checkForNameMatch):
726         (WebCore::HTMLCollection::updateNameCache):
727         * html/HTMLEmbedElement.cpp:
728         (WebCore::HTMLEmbedElement::updateWidget):
729         * html/HTMLFormCollection.cpp:
730         (WebCore::HTMLFormCollection::updateNameCache):
731         * html/HTMLFormControlElement.cpp:
732         (WebCore::HTMLFormControlElement::formControlName):
733         * html/HTMLFormElement.cpp:
734         (WebCore::HTMLFormElement::name):
735         * html/HTMLFrameElementBase.cpp:
736         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
737         * html/HTMLMetaElement.cpp:
738         (WebCore::HTMLMetaElement::name):
739         * html/HTMLNameCollection.cpp:
740         (WebCore::HTMLNameCollection::itemAfter):
741         * html/HTMLObjectElement.cpp:
742         (WebCore::HTMLObjectElement::updateWidget):
743         (WebCore::HTMLObjectElement::updateDocNamedItem):
744         (WebCore::HTMLObjectElement::containsJavaApplet):
745         (WebCore::HTMLObjectElement::formControlName):
746         * inspector/InspectorPageAgent.cpp:
747         (WebCore::InspectorPageAgent::buildObjectForFrame):
748         * page/Frame.cpp:
749         (WebCore::Frame::matchLabelsAgainstElement):
750         * rendering/svg/RenderSVGResourceContainer.cpp:
751         (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
752         * svg/SVGSVGElement.cpp:
753         (WebCore::SVGSVGElement::getElementById):
754
755 2012-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
756
757         Unreviewed, rolling out r107435.
758         http://trac.webkit.org/changeset/107435
759         https://bugs.webkit.org/show_bug.cgi?id=78410
760
761         It broke the Qt build (Requested by Ossy on #webkit).
762
763         * WebCore.exp.in:
764         * WebCore.xcodeproj/project.pbxproj:
765         * editing/mac/EditorMac.mm:
766         (WebCore::Editor::writeSelectionToPasteboard):
767         * platform/Pasteboard.h:
768         (WebCore):
769         (Pasteboard):
770         * platform/PasteboardStrategy.h: Removed.
771         * platform/PlatformPasteboard.h: Removed.
772         * platform/PlatformStrategies.h:
773         (WebCore):
774         (WebCore::PlatformStrategies::PlatformStrategies):
775         (PlatformStrategies):
776         * platform/mac/DragDataMac.mm:
777         (WebCore::DragData::canSmartReplace):
778         (WebCore::insertablePasteboardTypes):
779         (WebCore::DragData::asURL):
780         * platform/mac/PasteboardMac.mm:
781         (WebCore):
782         (WebCore::selectionPasteboardTypes):
783         (WebCore::writableTypesForURL):
784         (WebCore::createWritableTypesForImage):
785         (WebCore::writableTypesForImage):
786         (WebCore::Pasteboard::Pasteboard):
787         (WebCore::Pasteboard::clear):
788         (WebCore::Pasteboard::writeSelectionForTypes):
789         (WebCore::Pasteboard::writePlainText):
790         (WebCore::Pasteboard::writeSelection):
791         (WebCore::writeURLForTypes):
792         (WebCore::Pasteboard::writeURL):
793         (WebCore::writeFileWrapperAsRTFDAttachment):
794         (WebCore::Pasteboard::writeImage):
795         (WebCore::Pasteboard::writeClipboard):
796         (WebCore::Pasteboard::canSmartReplace):
797         (WebCore::Pasteboard::plainText):
798         (WebCore::documentFragmentWithRTF):
799         (WebCore::Pasteboard::documentFragment):
800         * platform/mac/PlatformPasteboardMac.mm: Removed.
801
802 2012-02-10  Antti Koivisto  <antti@apple.com>
803
804         Move CSSOM wrapper pointer out of StylePropertySet
805         https://bugs.webkit.org/show_bug.cgi?id=78406
806
807         Reviewed by Andreas Kling.
808         
809         Most StylePropertySet instances never have CSSOM wrappers so having a pointer to one in
810         each and and every object makes no sense.
811
812         Move the PropertySetCSSStyleDeclaration instances to a global HashMap. This shrinks
813         StylePropertySet by a pointer.
814         
815         Added COMPILE_ASSERT for StylePropertySet size.
816
817         * css/StylePropertySet.cpp:
818         (WebCore):
819         (WebCore::StylePropertySet::StylePropertySet):
820         (WebCore::StylePropertySet::~StylePropertySet):
821         (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
822         * css/StylePropertySet.h:
823         (StylePropertySet):
824
825 2012-02-10  David Barton  <dbarton@mathscribe.com>
826
827         MathML internals - use createXXX() function naming, ASSERT()s
828         https://bugs.webkit.org/show_bug.cgi?id=78384
829
830         Reviewed by Eric Seidel.
831
832         Standard RefPtr function naming uses "createXXX" instead of "makeXXX".
833         I also added a couple of ASSERT()s.
834
835         No new tests.
836
837         * rendering/mathml/RenderMathMLBlock.cpp:
838         (WebCore::RenderMathMLBlock::createBlockStyle):
839         * rendering/mathml/RenderMathMLBlock.h:
840         (RenderMathMLBlock):
841         * rendering/mathml/RenderMathMLFenced.cpp:
842         (WebCore::RenderMathMLFenced::createOperatorStyle):
843         (WebCore::RenderMathMLFenced::makeFences):
844         (WebCore::RenderMathMLFenced::addChild):
845         * rendering/mathml/RenderMathMLFenced.h:
846         (RenderMathMLFenced):
847         * rendering/mathml/RenderMathMLFraction.cpp:
848         (WebCore::RenderMathMLFraction::addChild):
849         * rendering/mathml/RenderMathMLRoot.cpp:
850         (WebCore::RenderMathMLRoot::addChild):
851         * rendering/mathml/RenderMathMLSubSup.cpp:
852         (WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
853         * rendering/mathml/RenderMathMLUnderOver.cpp:
854         (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
855         (WebCore::RenderMathMLUnderOver::addChild):
856
857 2012-02-10  Dan Bernstein  <mitz@apple.com>
858
859         Non-threaded scrolling build fix.
860
861         * page/FrameView.cpp:
862         (WebCore::FrameView::requestScrollPositionUpdate):
863
864 2012-02-10  Edward O'Connor  <eoconnor@apple.com>
865
866         Change values for WEBKIT_KEYFRAMES_RULE, WEBKIT_KEYFRAME_RULE
867         https://bugs.webkit.org/show_bug.cgi?id=71293
868
869         Reviewed by Chris Marrin.
870
871         Tests: animations/animation-css-rule-types.html
872
873         * css/CSSRule.h: Change WEBKIT_KEYFRAMES_RULE to 7 and
874         WEBKIT_KEYFRAME_RULE to 8.
875         * css/CSSRule.idl: Ditto.
876
877 2012-02-10  Eric Seidel  <eric@webkit.org>
878
879         AtomicMarkupTokenBase::initializeAttributes should not create a StringImpl if it doesn't need to
880         https://bugs.webkit.org/show_bug.cgi?id=78394
881
882         Reviewed by Adam Barth.
883
884         On the very next line is passes value to Attribute::create which takes
885         an AtomicString, so this code was just allocating a StringImpl (every time)
886         only to (much of the time) just release that StringImpl on the next line
887         when it got the AtomicString instead.
888
889         I discovered this while looking at DOM/Events.html, but it's unclear
890         if this fix actually makes that benchmark faster.
891
892         * xml/parser/MarkupTokenBase.h:
893         (WebCore::::initializeAttributes):
894
895 2012-02-10  Anders Carlsson  <andersca@apple.com>
896
897         Always update the scroll position through the scrolling coordinator
898         https://bugs.webkit.org/show_bug.cgi?id=78403
899
900         Reviewed by Sam Weinig.
901
902         To get correct behavior, we always want to update the scrolling layer position
903         on the scrolling thread. Do this by allowing the scrolling coordinator to intercept
904         scroll position update requests and send them to the scrolling tree.
905
906         * page/FrameView.cpp:
907         (WebCore::FrameView::requestScrollPositionUpdate):
908         Let the scrolling coordinator have a go at updating the scroll position for this frame view.
909
910         * page/scrolling/ScrollingCoordinator.cpp:
911         (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
912         If it's a frame view we're coordinating scrolling for, tell the scrolling tree to update 
913         the scroll position.
914
915         * page/scrolling/ScrollingTree.cpp:
916         (WebCore::ScrollingTree::setMainFrameScrollPosition):
917         Call through to the scrolling tree node.
918
919         * page/scrolling/ScrollingTreeNode.h:
920         Add a new pure virtual setScrollPosition member function.
921
922         (WebCore::ScrollingTreeNodeMac::setScrollPosition):
923         Move most of the code from scrollBy here.
924
925         (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
926         Rename this member function from setScrollPosition to avoid conflicts.
927
928         (WebCore::ScrollingTreeNodeMac::scrollBy):
929         Just call setScsrollPosition.
930
931         * platform/ScrollableArea.cpp:
932         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
933         Call requestScrollPositionUpdate, which allows subclasses of scrollable area to intercept
934         the scroll operation and call it asynchronously.
935
936 2012-02-10  Anders Carlsson  <andersca@apple.com>
937
938         ScrollableArea should have a function for noting that the scroll position changed
939         https://bugs.webkit.org/show_bug.cgi?id=78402
940
941         Reviewed by Sam Weinig.
942
943         The scrolling coordinator needs a specialized function to call whenever the main frame
944         scrolling position has changed, so add ScrollableArea::notifyScrollPositionChanged and
945         call it from the scrolling coordinator.
946
947         * page/scrolling/ScrollingCoordinator.cpp:
948         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
949         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
950         * platform/ScrollableArea.cpp:
951         (WebCore::ScrollableArea::notifyScrollPositionChanged):
952         New function.
953
954         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
955         Call ScrollableArea::notifyScrollPositionChanged.
956
957 2012-02-09  Levi Weintraub  <leviw@chromium.org>
958
959         Unreviewed build fix.
960
961         Fixing the build by removing a duplicate definition of pixelSnappedIntRect in LayoutTypes.h and
962         removing conflict markers from the changelog.
963
964         * rendering/LayoutTypes.h:
965         (pixelSnappedIntRect):
966         * ChangeLog:
967
968 2012-02-09  Levi Weintraub  <leviw@chromium.org>
969
970         Add pixelSnappedIntRect method
971         https://bugs.webkit.org/show_bug.cgi?id=78054
972
973         Reviewed by Eric Seidel.
974
975         This patch introduces a pixelSnappedIntRect method that will snap a sub-pixel LayoutRect to
976         pixel boundaries. These pixel snapped forms are what is used to communicate with the graphics
977         engine (to paint at whole pixel boundaries) and the embedding app (so they don't need to 
978         understand we're using sub-pixel units).
979
980         No new tests. No change in behavior.
981
982         * accessibility/AccessibilityRenderObject.cpp:
983         (WebCore::AccessibilityRenderObject::isOffScreen):
984         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
985         * dom/Range.cpp:
986         (WebCore::Range::boundingBox):
987         * html/HTMLCanvasElement.cpp:
988         (WebCore::HTMLCanvasElement::paint):
989         * html/shadow/TextControlInnerElements.cpp:
990         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
991         * page/Frame.cpp:
992         (WebCore::Frame::nodeImage):
993         * page/FrameView.cpp:
994         (WebCore::FrameView::repaintContentRectangle):
995         (WebCore::FrameView::doDeferredRepaints):
996         (WebCore::FrameView::windowClipRectForLayer):
997         * platform/graphics/GraphicsLayer.cpp:
998         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
999         * rendering/InlineFlowBox.cpp:
1000         (WebCore::InlineFlowBox::paint):
1001         * rendering/LayoutTypes.h:
1002         (WebCore::pixelSnappedIntRect):
1003         (WebCore):
1004         * rendering/RenderBlock.cpp:
1005         (WebCore::RenderBlock::paintColumnContents):
1006         (WebCore::RenderBlock::selectionGaps):
1007         * rendering/RenderBox.cpp:
1008         (WebCore::RenderBox::paintBoxDecorations):
1009         (WebCore::RenderBox::pushContentsClip):
1010         * rendering/RenderBoxModelObject.cpp:
1011         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1012         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1013         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
1014         (WebCore::RenderBoxModelObject::paintBoxShadow):
1015         * rendering/RenderDetailsMarker.cpp:
1016         (WebCore::RenderDetailsMarker::paint):
1017         * rendering/RenderFlowThread.cpp:
1018         (WebCore::RenderFlowThread::paintIntoRegion):
1019         * rendering/RenderFrameSet.cpp:
1020         (WebCore::RenderFrameSet::paintColumnBorder):
1021         (WebCore::RenderFrameSet::paintRowBorder):
1022         (WebCore::RenderFrameSet::positionFramesWithFlattening):
1023         * rendering/RenderImage.cpp:
1024         (WebCore::RenderImage::paintReplaced):
1025         * rendering/RenderLayer.cpp:
1026         (WebCore::RenderLayer::scrollRectToVisible):
1027         (WebCore::RenderLayer::positionOverflowControls):
1028         (WebCore::RenderLayer::calculateRects):
1029         * rendering/RenderLayerBacking.cpp:
1030         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1031         (WebCore::paintScrollbar):
1032         * rendering/RenderLayerCompositor.cpp:
1033         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1034         * rendering/RenderObject.cpp:
1035         (WebCore::RenderObject::drawLineForBoxSide):
1036         (WebCore::RenderObject::addPDFURLRect):
1037         * rendering/RenderTextControlSingleLine.cpp:
1038         (WebCore::RenderTextControlSingleLine::showPopup):
1039         (WebCore::RenderTextControlSingleLine::paint):
1040         * rendering/RenderWidget.cpp:
1041         (WebCore::RenderWidget::paint):
1042         * rendering/style/RenderStyle.cpp:
1043         (WebCore::RenderStyle::getRoundedBorderFor):
1044         (WebCore::RenderStyle::getRoundedInnerBorderFor):
1045
1046 <<<<<<< .mine
1047 2012-02-09  Levi Weintraub  <leviw@chromium.org>
1048
1049         Add pixelSnappedIntRect method
1050         https://bugs.webkit.org/show_bug.cgi?id=78054
1051
1052         Reviewed by Eric Seidel.
1053
1054         This patch introduces a pixelSnappedIntRect method that will snap a sub-pixel LayoutRect to
1055         pixel boundaries. These pixel snapped forms are what is used to communicate with the graphics
1056         engine (to paint at whole pixel boundaries) and the embedding app (so they don't need to 
1057         understand we're using sub-pixel units).
1058
1059         No new tests. No change in behavior.
1060
1061         * accessibility/AccessibilityRenderObject.cpp:
1062         (WebCore::AccessibilityRenderObject::isOffScreen):
1063         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
1064         * dom/Range.cpp:
1065         (WebCore::Range::boundingBox):
1066         * html/HTMLCanvasElement.cpp:
1067         (WebCore::HTMLCanvasElement::paint):
1068         * html/shadow/TextControlInnerElements.cpp:
1069         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
1070         * page/Frame.cpp:
1071         (WebCore::Frame::nodeImage):
1072         * page/FrameView.cpp:
1073         (WebCore::FrameView::repaintContentRectangle):
1074         (WebCore::FrameView::doDeferredRepaints):
1075         (WebCore::FrameView::windowClipRectForLayer):
1076         * platform/graphics/GraphicsLayer.cpp:
1077         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
1078         * rendering/InlineFlowBox.cpp:
1079         (WebCore::InlineFlowBox::paint):
1080         * rendering/LayoutTypes.h:
1081         (WebCore::pixelSnappedIntRect):
1082         (WebCore):
1083         * rendering/RenderBlock.cpp:
1084         (WebCore::RenderBlock::paintColumnContents):
1085         (WebCore::RenderBlock::selectionGaps):
1086         * rendering/RenderBox.cpp:
1087         (WebCore::RenderBox::paintBoxDecorations):
1088         (WebCore::RenderBox::pushContentsClip):
1089         * rendering/RenderBoxModelObject.cpp:
1090         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1091         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1092         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
1093         (WebCore::RenderBoxModelObject::paintBoxShadow):
1094         * rendering/RenderDetailsMarker.cpp:
1095         (WebCore::RenderDetailsMarker::paint):
1096         * rendering/RenderFlowThread.cpp:
1097         (WebCore::RenderFlowThread::paintIntoRegion):
1098         * rendering/RenderFrameSet.cpp:
1099         (WebCore::RenderFrameSet::paintColumnBorder):
1100         (WebCore::RenderFrameSet::paintRowBorder):
1101         (WebCore::RenderFrameSet::positionFramesWithFlattening):
1102         * rendering/RenderImage.cpp:
1103         (WebCore::RenderImage::paintReplaced):
1104         * rendering/RenderLayer.cpp:
1105         (WebCore::RenderLayer::scrollRectToVisible):
1106         (WebCore::RenderLayer::positionOverflowControls):
1107         (WebCore::RenderLayer::calculateRects):
1108         * rendering/RenderLayerBacking.cpp:
1109         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1110         (WebCore::paintScrollbar):
1111         * rendering/RenderLayerCompositor.cpp:
1112         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1113         * rendering/RenderObject.cpp:
1114         (WebCore::RenderObject::drawLineForBoxSide):
1115         (WebCore::RenderObject::addPDFURLRect):
1116         * rendering/RenderTextControlSingleLine.cpp:
1117         (WebCore::RenderTextControlSingleLine::showPopup):
1118         (WebCore::RenderTextControlSingleLine::paint):
1119         * rendering/RenderWidget.cpp:
1120         (WebCore::RenderWidget::paint):
1121         * rendering/style/RenderStyle.cpp:
1122         (WebCore::RenderStyle::getRoundedBorderFor):
1123         (WebCore::RenderStyle::getRoundedInnerBorderFor):
1124
1125 2012-02-10  Brian Weinstein  <bweinstein@apple.com>
1126
1127         Web Inspector: Add the ability to jump to the source for a given frame
1128         https://bugs.webkit.org/show_bug.cgi?id=78396
1129
1130         Reviewed by Tim Hatcher.
1131
1132         * WebCore.exp.in: Add a new exported function.
1133         * inspector/InspectorController.cpp: Add and expose the InspectorPageAgent.
1134         (WebCore::InspectorController::InspectorController): Set m_pageAgent.
1135         * inspector/InspectorController.h: Add m_pageAgent.
1136         (WebCore::InspectorController::pageAgent): Return m_pageAgent.
1137
1138         * inspector/InspectorFrontendClientLocal.cpp:
1139         (WebCore::InspectorFrontendClientLocal::showMainResourceForFrame): Get the inspector's frame ID
1140             of the frame that was passed in, and add a call to evaluate on load.
1141         * inspector/InspectorFrontendClientLocal.h:
1142
1143         * inspector/front-end/InspectorFrontendAPI.js:
1144         (InspectorFrontendAPI.showMainResourceForFrame): Add a FIXME to show the source code for the main
1145             resource of the given frame.
1146
1147 2012-02-10  Vineet Chaudhary  <rgf748@motorola.com>
1148
1149         https://bugs.webkit.org/show_bug.cgi?id=72756
1150         DOMHTMLElement’s accessKey property is declared as available in WebKit version that didn’t have it. 
1151
1152         Reviewed by Timothy Hatcher.
1153
1154         No new tests.
1155
1156         * bindings/objc/PublicDOMInterfaces.h: Moving accessKey property to DOMHTMLElement
1157           with an appropriate availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1.
1158           Also Moving accessKey property to HTMLAnchorElement, HTMLAreaElement, HTMLButtonElement,
1159           HTMLInputElement, HTMLLabelElement, HTMLLegendElement  and HTMLTextAreaElement idls
1160           with an availability macro AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_5_1.
1161         * html/HTMLAnchorElement.idl: Adding accessKey entries back to idls under LANGUAGE_OBJECTIVE_C.
1162         * html/HTMLAreaElement.idl: Ditto.
1163         * html/HTMLButtonElement.idl: Ditto.
1164         * html/HTMLInputElement.idl: Ditto.
1165         * html/HTMLLabelElement.idl: Ditto.
1166         * html/HTMLLegendElement.idl: Ditto.
1167         * html/HTMLTextAreaElement.idl: Ditto.
1168
1169 2012-02-10  Beth Dakin  <bdakin@apple.com>
1170
1171         Speculative build fix.
1172
1173         * platform/win/PopupMenuWin.cpp:
1174         (WebCore::PopupMenuWin::scrollToRevealSelection):
1175
1176 2012-02-10  Adam Klein  <adamk@chromium.org>
1177
1178         Enable MUTATION_OBSERVERS by default on all platforms
1179         https://bugs.webkit.org/show_bug.cgi?id=78196
1180
1181         Reviewed by Ojan Vafai.
1182
1183         * Configurations/FeatureDefines.xcconfig:
1184         * UseV8.cmake: Add some previously-missing files.
1185         * WebCore.vcproj/WebCore.vcproj: ditto.
1186         * bindings/js/JSBindingsAllInOne.cpp: ditto.
1187         * dom/DOMAllInOne.cpp: ditto.
1188
1189 2012-02-10  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
1190
1191         Add FractionalLayoutUnit type for sub-pixel layout
1192         https://bugs.webkit.org/show_bug.cgi?id=77485
1193
1194         Reviewed by Eric Seidel.
1195
1196         Add fixed point implementation (FractionalLayoutUnit).
1197
1198         FractionalLayoutUnit represents values as multiples of 1/60th pixel. This allows us
1199         to represent sub-pixel values using integer math and avoids floating point precision
1200         problems.
1201
1202         No new tests.
1203
1204         * WebCore.vcproj/WebCore.vcproj:
1205         * WebCore.xcodeproj/project.pbxproj:
1206         * platform/FractionalLayoutUnit.h: Added.
1207
1208 2012-02-10  Adam Langley  <agl@chromium.org>
1209
1210         Don't lowercase ping URLs.
1211
1212         Previously, ping URLs would be lowercased when splitting them apart.
1213         URLs are not, however, case-insensitive.
1214
1215         https://bugs.webkit.org/show_bug.cgi?id=78371
1216
1217         Reviewed by Tony Chang.
1218
1219         * html/HTMLAnchorElement.cpp:
1220         (WebCore::HTMLAnchorElement::sendPings): Don't lowercase URL.
1221
1222 2012-02-10  Ojan Vafai  <ojan@chromium.org>
1223
1224         flex-pack:center and flex-item-align:center should do true centering
1225         https://bugs.webkit.org/show_bug.cgi?id=77385
1226
1227         Reviewed by Tony Chang.
1228
1229         Also, removed passing totalPositiveFlexibility around. We don't
1230         need to know about positive/negative flex once we run the flexing algorithm.
1231         We used to need to know this in order to flex margins, but margins can
1232         no longer be flexed.
1233
1234         Test: css3/flexbox/true-centering.html
1235
1236         * rendering/RenderFlexibleBox.cpp:
1237         (WebCore::RenderFlexibleBox::layoutFlexItems):
1238         (WebCore::initialPackingOffset):
1239         (WebCore::packingSpaceBetweenChildren):
1240         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
1241         (WebCore::RenderFlexibleBox::layoutColumnReverse):
1242         * rendering/RenderFlexibleBox.h:
1243         (RenderFlexibleBox):
1244
1245 2012-02-10  Mark Hahnenberg  <mhahnenberg@apple.com>
1246
1247         Split MarkedSpace into destructor and destructor-free subspaces
1248         https://bugs.webkit.org/show_bug.cgi?id=77761
1249
1250         Reviewed by Geoffrey Garen.
1251
1252         No new tests.
1253
1254         * bindings/js/JSDOMWindowShell.cpp: Removed old operator new, which was just used in the create
1255         function so that we can use allocateCell instead.
1256         (WebCore):
1257         * bindings/js/JSDOMWindowShell.h:
1258         (WebCore::JSDOMWindowShell::create):
1259         (JSDOMWindowShell):
1260         * bindings/scripts/CodeGeneratorJS.pm: Added destructor back to root JS DOM nodes (e.g. JSNode, etc)
1261         because their destroy functions need to be called, so we don't want the NeedsDestructor struct to 
1262         think they don't need destruction due to having empty/trivial destructors.
1263         Removed ASSERT_HAS_TRIVIAL_DESTRUCTOR from all JS DOM wrapper auto-generated objects because their 
1264         ancestors now have non-trivial destructors. 
1265         (GenerateHeader):
1266         (GenerateImplementation):
1267         (GenerateConstructorDefinition):
1268
1269 2012-02-10  Anders Carlsson  <andersca@apple.com>
1270
1271         Remove a bunch of unused ScrollableArea member functions
1272         https://bugs.webkit.org/show_bug.cgi?id=78388
1273
1274         Reviewed by Beth Dakin.
1275
1276         * platform/ScrollableArea.cpp:
1277         * platform/ScrollableArea.h:
1278
1279 2012-02-10  Pavel Podivilov  <podivilov@chromium.org>
1280
1281         Fix a few typos in IDL exception names.
1282         https://bugs.webkit.org/show_bug.cgi?id=78356
1283
1284         Reviewed by Adam Barth.
1285
1286         * dom/Node.idl:
1287         * notifications/NotificationCenter.idl:
1288         * page/Navigator.idl:
1289
1290 2012-02-10  Benjamin Poulain  <bpoulain@apple.com>
1291
1292         DefaultLocalizationStrategy::htmlSelectMultipleItems() should use size_t instead of int
1293         https://bugs.webkit.org/show_bug.cgi?id=78374
1294
1295         Reviewed by Joseph Pecoraro.
1296
1297         The value comes from size_t and is converted to int for no good reason. We should use
1298         size_t.
1299
1300         * platform/DefaultLocalizationStrategy.cpp:
1301         (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
1302         * platform/DefaultLocalizationStrategy.h:
1303         (DefaultLocalizationStrategy):
1304
1305 2012-02-10  Anders Carlsson  <andersca@apple.com>
1306
1307         More ScrollableArea cleanup
1308         https://bugs.webkit.org/show_bug.cgi?id=78383
1309
1310         Reviewed by Beth Dakin.
1311
1312         Get rid of setScrollOriginX and setScrollOriginY. Make ScrollableArea::setScrollOrigin private.
1313
1314         * platform/ScrollView.cpp:
1315         (WebCore::ScrollView::updateScrollbars):
1316         * platform/ScrollableArea.cpp:
1317         (WebCore::ScrollableArea::setScrollOrigin):
1318         * platform/ScrollableArea.h:
1319         (ScrollableArea):
1320
1321 2012-02-10  Kentaro Hara  <haraken@chromium.org>
1322
1323         Rename [JSCustomPrototypePutDelegate] to [JSCustomNamedGetterOnPrototype]
1324         https://bugs.webkit.org/show_bug.cgi?id=78353
1325
1326         Reviewed by Adam Barth.
1327
1328         [JSCustomPrototypePutDelegate] is used to write custom code for named
1329         getters on a prototype interface. "PutDelegate" is just a method name
1330         in implementation and not so descriptive. This patch renames it to
1331         [JSCustomNamedGetterOnPrototype]. This is also for naming consistency
1332         with [CustomNamedGetter].
1333
1334         No tests. No change in behavior.
1335
1336         * bindings/scripts/CodeGeneratorJS.pm:
1337         (GenerateHeader):
1338         (GenerateImplementation):
1339         * page/Location.idl:
1340
1341 2012-02-10  Enrica Casucci  <enrica@apple.com>
1342
1343         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
1344         https://bugs.webkit.org/show_bug.cgi?id=78282
1345
1346         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
1347         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
1348         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
1349         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
1350         interface but this one more step in the direction of removing access to NSPasteboard from
1351         the WebProcess.
1352         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
1353         
1354         Reviewed by Anders Carlsson.
1355
1356         No new tests. No change in behavior, just code refactoring.
1357
1358         * WebCore.exp.in: Added exported class PlatformPasteboard.
1359         * WebCore.xcodeproj/project.pbxproj: Added new files to the build.
1360         * editing/mac/EditorMac.mm:
1361         (WebCore::Editor::writeSelectionToPasteboard): New method signature that doesn't use OBJ-C types.
1362         * platform/Pasteboard.h:
1363
1364         * platform/PasteboardStrategy.h: Added PasteboardStrategy abstract class.
1365         * platform/PlatformPasteboard.h: Added. This class implements access to NSPasteboard.
1366         * platform/PlatformStrategies.h:
1367         (WebCore::PlatformStrategies::pasteboardStrategy): Added.
1368         * platform/mac/DragDataMac.mm:
1369         (WebCore::DragData::canSmartReplace):
1370         (WebCore::insertablePasteboardTypes): 
1371         (WebCore::DragData::asURL):
1372         * platform/mac/PasteboardMac.mm:
1373         (WebCore::selectionPasteboardTypes): Changed to use Vector<String> instead of NSArray.
1374         (WebCore::writableTypesForURL): Ditto.
1375         (WebCore::createWritableTypesForImage): Ditto.
1376         (WebCore::writableTypesForImage): Ditto.
1377         (WebCore::Pasteboard::Pasteboard): Removed access to NSPasteboard.
1378         (WebCore::Pasteboard::clear): Modified to use platformStrategies()->pasteboardStrategy().
1379         (WebCore::Pasteboard::writeSelectionForTypes): Ditto.
1380         (WebCore::Pasteboard::writePlainText): Ditto.
1381         (WebCore::Pasteboard::writeSelection): Ditto.
1382         (WebCore::writeURLForTypes): Ditto.
1383         (WebCore::Pasteboard::writeURL): Ditto.
1384         (WebCore::writeFileWrapperAsRTFDAttachment): Ditto.
1385         (WebCore::Pasteboard::writeImage): Ditto.
1386         (WebCore::Pasteboard::writeClipboard): Ditto.
1387         (WebCore::Pasteboard::canSmartReplace): Ditto.
1388         (WebCore::Pasteboard::plainText): Ditto.
1389         (WebCore::documentFragmentWithRTF): Ditto.
1390         (WebCore::Pasteboard::documentFragment): Ditto.
1391         * platform/mac/PlatformPasteboardMac.mm: Added.
1392         (WebCore::PlatformPasteboard::PlatformPasteboard):
1393         (WebCore::PlatformPasteboard::getTypes):
1394         (WebCore::PlatformPasteboard::bufferForType):
1395         (WebCore::PlatformPasteboard::getPathnamesForType):
1396         (WebCore::PlatformPasteboard::stringForType):
1397         (WebCore::PlatformPasteboard::copy):
1398         (WebCore::PlatformPasteboard::setTypes):
1399         (WebCore::PlatformPasteboard::setBufferForType):
1400         (WebCore::PlatformPasteboard::setPathnamesForType):
1401         (WebCore::PlatformPasteboard::setStringForType):
1402
1403 2012-02-10  Kentaro Hara  <haraken@chromium.org>
1404
1405         Rename [JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor]
1406         https://bugs.webkit.org/show_bug.cgi?id=78352
1407
1408         Reviewed by Adam Barth.
1409
1410         [JSCustomGetOwnPropertySlotDelegate] is used for "flexibly customizable"
1411         named getter. It allows us to write custom code for getOwnPropertySlotDelegate()
1412         and getOwnPropertyDescriptorDelegate(). To clarify that, we can rename
1413         [JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor].
1414
1415         No tests. No change in behavior.
1416
1417         * bindings/scripts/CodeGeneratorJS.pm:
1418         (GenerateGetOwnPropertySlotBody):
1419         (GenerateGetOwnPropertyDescriptorBody):
1420         (GenerateHeader):
1421         (GenerateImplementation):
1422
1423         * html/HTMLAppletElement.idl:
1424         * html/HTMLEmbedElement.idl:
1425         * html/HTMLObjectElement.idl:
1426         * page/History.idl:
1427         * page/Location.idl:
1428         * workers/WorkerContext.idl:
1429
1430 2012-02-10  Anders Carlsson  <andersca@apple.com>
1431
1432         Minor ScrollAnimatorMac cleanup
1433         https://bugs.webkit.org/show_bug.cgi?id=78375
1434
1435         Reviewed by Beth Dakin.
1436
1437         Get rid of adjustScrollXPositionIfNecessary and adjustScrollYPositionIfNecessary.
1438         Also, reduce nesting in willAdd/didAdd functions by using early returns.
1439
1440         * platform/mac/ScrollAnimatorMac.h:
1441         (ScrollAnimatorMac):
1442         * platform/mac/ScrollAnimatorMac.mm:
1443         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1444         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
1445         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1446         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
1447         (WebCore::ScrollAnimatorMac::immediateScrollBy):
1448
1449 2012-02-10  Anders Carlsson  <andersca@apple.com>
1450
1451         Minor ScrollableArea cleanup
1452         https://bugs.webkit.org/show_bug.cgi?id=78372
1453
1454         Reviewed by Beth Dakin.
1455
1456         Get rid of scrollToXOffsetWithoutAnimation and scrollToYOffsetWithoutAnimation.
1457
1458         * platform/ScrollableArea.cpp:
1459         (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
1460         * platform/ScrollableArea.h:
1461         * rendering/RenderListBox.cpp:
1462         (WebCore::RenderListBox::computeLogicalHeight):
1463         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
1464         (WebCore::RenderListBox::setScrollTop):
1465
1466 2012-02-10  Benjamin Poulain  <bpoulain@apple.com>
1467
1468         [Mac] DYLIB_INSTALL_NAME_BASE should not be prefixed by the SDKROOT
1469         https://bugs.webkit.org/show_bug.cgi?id=78320
1470
1471         Reviewed by Joseph Pecoraro.
1472
1473         <rdar://problem/10839750>
1474
1475         * Configurations/WebCore.xcconfig:
1476
1477 2012-02-10  Anders Carlsson  <andersca@apple.com>
1478
1479         Update the non-fast-scrollable region for subframe layout as well
1480         https://bugs.webkit.org/show_bug.cgi?id=78366
1481         <rdar://problem/10844064>
1482
1483         Reviewed by Beth Dakin.
1484
1485         * page/scrolling/ScrollingCoordinator.cpp:
1486         (WebCore::computeNonFastScrollableRegion):
1487         Move the non-fast-scrollable region computation out into a new function.
1488
1489         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1490         Always recompute the non-fast-scrollable region whenever a frame view's layout is updated,
1491         not just the main frame.
1492
1493 >>>>>>> .r107433
1494 2012-02-09  Chris Marrin  <cmarrin@apple.com>
1495
1496         Implement hardware animation of CSS filters
1497         https://bugs.webkit.org/show_bug.cgi?id=78155
1498
1499         Added logic to PlatformCAAnimation to return enough information
1500         to GraphicsLayerCA to be able to construct a keyPath animation
1501         for each filter property. Some filters need to animate multiple
1502         properties per filter, so PlatformCAAnimation also returns the number
1503         of properties per filter and then an animation is constructed for 
1504         each one. Also added all the support logic to handle hardware filter
1505         animation in the higher level logic, just like we do for transforms and
1506         opacity.
1507
1508         Also stubbed out new PlatformCAAnimation functions for Windows. We don't yet
1509         support hardware filters on Windows.
1510
1511         Reviewed by Dean Jackson.
1512
1513         Tests: css3/filters/filter-animation-from-none-hw.html
1514                css3/filters/filter-animation-from-none-multi-hw.html
1515                css3/filters/filter-animation-from-none-multi.html
1516                css3/filters/filter-animation-hw.html
1517                css3/filters/filter-animation-multi-hw.html
1518                css3/filters/filter-animation-multi.html
1519
1520         * page/animation/AnimationBase.cpp:
1521         (WebCore):
1522         (PropertyWrapperAcceleratedFilter):
1523         (WebCore::PropertyWrapperAcceleratedFilter::PropertyWrapperAcceleratedFilter):
1524         (WebCore::PropertyWrapperAcceleratedFilter::animationIsAccelerated):
1525         (WebCore::PropertyWrapperAcceleratedFilter::blend):
1526         (WebCore::AnimationBase::ensurePropertyMap):
1527         * platform/graphics/GraphicsLayer.cpp:
1528         (WebCore):
1529         (WebCore::filterOperationsAt):
1530         (WebCore::GraphicsLayer::validateFilterOperations):
1531         * platform/graphics/GraphicsLayer.h:
1532         (WebCore):
1533         (FilterAnimationValue):
1534         (WebCore::FilterAnimationValue::FilterAnimationValue):
1535         (WebCore::FilterAnimationValue::clone):
1536         (WebCore::FilterAnimationValue::value):
1537         (GraphicsLayer):
1538         * platform/graphics/GraphicsLayerClient.h:
1539         * platform/graphics/ca/GraphicsLayerCA.cpp:
1540         (WebCore::propertyIdToString):
1541         (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
1542         (WebCore::GraphicsLayerCA::addAnimation):
1543         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
1544         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
1545         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
1546         (WebCore):
1547         (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
1548         (WebCore::GraphicsLayerCA::createBasicAnimation):
1549         (WebCore::GraphicsLayerCA::createKeyframeAnimation):
1550         (WebCore::GraphicsLayerCA::setFilterAnimationEndpoints):
1551         (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
1552         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
1553         (WebCore::GraphicsLayerCA::cloneLayer):
1554         * platform/graphics/ca/GraphicsLayerCA.h:
1555         (GraphicsLayerCA):
1556         * platform/graphics/ca/PlatformCAAnimation.h:
1557         (PlatformCAAnimation):
1558         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1559         (PlatformCAAnimation::setFromValue):
1560         (PlatformCAAnimation::setToValue):
1561         (PlatformCAAnimation::setValues):
1562         (PlatformCAAnimation::numAnimatedFilterProperties):
1563         (PlatformCAAnimation::animatedFilterPropertyName):
1564         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1565         (PlatformCAAnimation::setFromValue):
1566         (PlatformCAAnimation::setToValue):
1567         (PlatformCAAnimation::setValues):
1568         (PlatformCAAnimation::numAnimatedFilterProperties):
1569         (PlatformCAAnimation::animatedFilterPropertyName):
1570         * platform/graphics/filters/FilterOperation.h:
1571         (FilterOperation):
1572         (WebCore::FilterOperation::isDefault):
1573         (DefaultFilterOperation):
1574         (WebCore::DefaultFilterOperation::create):
1575         (WebCore::DefaultFilterOperation::operator==):
1576         (WebCore::DefaultFilterOperation::isDefault):
1577         (WebCore::DefaultFilterOperation::DefaultFilterOperation):
1578         (WebCore):
1579         * rendering/RenderLayer.h:
1580         (WebCore::RenderLayer::hasFilter):
1581         (RenderLayer):
1582         * rendering/RenderLayerBacking.cpp:
1583         (WebCore::RenderLayerBacking::startAnimation):
1584         (WebCore::RenderLayerBacking::startTransition):
1585         (WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
1586         (WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):
1587
1588 2012-02-10  Peter Rybin  <peter.rybin@gmail.com>
1589
1590         Web Inspector: CodeGeneratorInspector.py: properly resolve output types of commands
1591         https://bugs.webkit.org/show_bug.cgi?id=78025
1592
1593         Reviewed by Vsevolod Vlasov.
1594
1595         Code for generating ad-hoc types is added. It was reused from event
1596         generator part.
1597
1598         * inspector/CodeGeneratorInspector.py:
1599         (Generator.process_event):
1600         (Generator.process_command):
1601         (Generator.resolve_type_and_generate_ad_hoc):
1602         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext):
1603         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix):
1604         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix.NameFix):
1605         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
1606         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.add_type):
1607         (Generator.resolve_type_and_generate_ad_hoc.InterfaceForwardListener):
1608         (Generator.resolve_type_and_generate_ad_hoc.InterfaceForwardListener.add_type_data):
1609         (Generator.resolve_type_and_generate_ad_hoc.InterfaceResolveContext):
1610         (Generator.resolve_type_and_generate_ad_hoc.InterfaceGenerateContext):
1611         (Generator):
1612
1613 2012-02-10  Kentaro Hara  <haraken@chromium.org>
1614
1615         Rename [CustomPropertyNames] to [CustomEnumerateProperty]
1616         https://bugs.webkit.org/show_bug.cgi?id=78351
1617
1618         Reviewed by Adam Barth.
1619
1620         This patch renames [CustomPropertyNames] to [CustomEnumerateProperty],
1621         for clarification and for naming consistency with [CustomDeleteProperty].
1622
1623         No tests. No change in behavior.
1624
1625         * bindings/scripts/CodeGeneratorJS.pm:
1626         (GenerateHeader):
1627         (GenerateImplementation):
1628         * bindings/scripts/CodeGeneratorV8.pm:
1629         (GenerateHeaderNamedAndIndexedPropertyAccessors):
1630         (GenerateImplementationNamedPropertyGetter):
1631
1632         * css/CSSStyleDeclaration.idl:
1633         * dom/DOMStringMap.idl:
1634         * page/DOMWindow.idl:
1635         * page/History.idl:
1636         * page/Location.idl:
1637         * storage/Storage.idl:
1638
1639 2012-02-09  Antti Koivisto  <antti@apple.com>
1640
1641         Use underlying property set to refcount PropertySetCSSStyleDeclaration
1642         https://bugs.webkit.org/show_bug.cgi?id=78257
1643
1644         Reviewed by Andreas Kling.
1645
1646         Clean up the PropertySetCSSStyleDeclaration refcounting. PropertySetCSSStyleDeclaration now
1647         forwards the ref/deref to the underlying StylePropertySet.
1648
1649         Also made CSSComputedStyleDeclaration construction use the standard create() pattern.
1650
1651         * css/CSSComputedStyleDeclaration.cpp:
1652         (WebCore::CSSComputedStyleDeclaration::ref):
1653         (WebCore):
1654         (WebCore::CSSComputedStyleDeclaration::deref):
1655         * css/CSSComputedStyleDeclaration.h:
1656         (WebCore::CSSComputedStyleDeclaration::create):
1657         (CSSComputedStyleDeclaration):
1658         (WebCore):
1659         * css/CSSStyleDeclaration.h:
1660         (CSSStyleDeclaration):
1661         * css/StylePropertySet.cpp:
1662         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
1663         (WebCore):
1664         (WebCore::StylePropertySet::~StylePropertySet):
1665         (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
1666         (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
1667         * css/StylePropertySet.h:
1668         * editing/ApplyStyleCommand.cpp:
1669         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
1670         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1671         (WebCore::highestEmbeddingAncestor):
1672         (WebCore::ApplyStyleCommand::computedFontSize):
1673         * editing/EditingStyle.cpp:
1674         (WebCore::EditingStyle::init):
1675         (WebCore::EditingStyle::removeStyleAddedByNode):
1676         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
1677         (WebCore::EditingStyle::triStateOfStyle):
1678         (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
1679         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
1680         (WebCore::backgroundColorInEffect):
1681         * editing/Editor.cpp:
1682         (WebCore::Editor::textDirectionForSelection):
1683         * inspector/InspectorCSSAgent.cpp:
1684         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1685         * page/DOMWindow.cpp:
1686         (WebCore::DOMWindow::getComputedStyle):
1687         * svg/SVGAnimateElement.cpp:
1688         (WebCore::getPropertyValue):
1689         * svg/animation/SMILTimeContainer.cpp:
1690         (WebCore::SMILTimeContainer::baseValueFor):
1691
1692 2012-02-10  Alexander Pavlov  <apavlov@chromium.org>
1693
1694         Web Inspector: [TextPrompt] TAB should complete suggestions up to their common prefix in Console
1695         https://bugs.webkit.org/show_bug.cgi?id=78236
1696
1697         Reviewed by Vsevolod Vlasov.
1698
1699         * inspector/front-end/TextPrompt.js:
1700         (WebInspector.TextPrompt.prototype._completionsReady):
1701         (WebInspector.TextPrompt.prototype._completeCommonPrefix):
1702         (WebInspector.TextPrompt.prototype.acceptSuggestion):
1703         (WebInspector.TextPrompt.prototype.tabKeyPressed):
1704
1705 2012-02-10  Pavel Feldman  <pfeldman@google.com>
1706
1707         Web Inspector: implement undo for setOuterHTML via undo-ing nested primitive commands.
1708         https://bugs.webkit.org/show_bug.cgi?id=78346
1709
1710         Reviewed by Yury Semikhatsky.
1711
1712         Tests: inspector/elements/undo-set-outer-html-2.html
1713                inspector/elements/undo-set-outer-html.html
1714
1715         * inspector/DOMEditor.cpp:
1716         (WebCore::DOMEditor::RemoveChildAction::RemoveChildAction):
1717         (WebCore::DOMEditor::InsertBeforeAction::InsertBeforeAction):
1718         (WebCore::DOMEditor::InsertBeforeAction::undo):
1719         (WebCore::DOMEditor::RemoveAttributeAction::RemoveAttributeAction):
1720         (WebCore::DOMEditor::SetAttributeAction::SetAttributeAction):
1721         (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
1722         (WebCore::DOMEditor::SetOuterHTMLAction::perform):
1723         (WebCore::DOMEditor::SetOuterHTMLAction::undo):
1724         (DOMEditor::SetOuterHTMLAction):
1725         (WebCore::DOMEditor::ReplaceWholeTextAction::ReplaceWholeTextAction):
1726         (DOMEditor::ReplaceChildNodeAction):
1727         (WebCore::DOMEditor::ReplaceChildNodeAction::ReplaceChildNodeAction):
1728         (WebCore::DOMEditor::ReplaceChildNodeAction::perform):
1729         (WebCore::DOMEditor::ReplaceChildNodeAction::undo):
1730         (WebCore):
1731         (DOMEditor::SetNodeValueAction):
1732         (WebCore::DOMEditor::SetNodeValueAction::SetNodeValueAction):
1733         (WebCore::DOMEditor::SetNodeValueAction::perform):
1734         (WebCore::DOMEditor::SetNodeValueAction::undo):
1735         (WebCore::DOMEditor::insertBefore):
1736         (WebCore::DOMEditor::removeChild):
1737         (WebCore::DOMEditor::setAttribute):
1738         (WebCore::DOMEditor::removeAttribute):
1739         (WebCore::DOMEditor::setOuterHTML):
1740         (WebCore::DOMEditor::replaceWholeText):
1741         (WebCore::DOMEditor::replaceChild):
1742         (WebCore::DOMEditor::setNodeValue):
1743         (WebCore::populateErrorString):
1744         * inspector/DOMEditor.h:
1745         (DOMEditor):
1746         * inspector/DOMPatchSupport.cpp:
1747         (WebCore::DOMPatchSupport::patchDocument):
1748         (WebCore):
1749         (WebCore::DOMPatchSupport::DOMPatchSupport):
1750         (WebCore::DOMPatchSupport::patchNode):
1751         (WebCore::DOMPatchSupport::innerPatchNode):
1752         (WebCore::DOMPatchSupport::innerPatchChildren):
1753         (WebCore::DOMPatchSupport::insertBeforeAndMarkAsUsed):
1754         (WebCore::DOMPatchSupport::removeChildAndMoveToNew):
1755         * inspector/DOMPatchSupport.h:
1756         (WebCore):
1757         (DOMPatchSupport):
1758         * inspector/InspectorCSSAgent.cpp:
1759         (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
1760         (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
1761         (InspectorCSSAgent::StyleSheetAction):
1762         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
1763         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
1764         (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
1765         (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
1766         (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
1767         (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
1768         (WebCore::InspectorCSSAgent::setStyleSheetText):
1769         (WebCore::InspectorCSSAgent::setPropertyText):
1770         (WebCore::InspectorCSSAgent::toggleProperty):
1771         (WebCore::InspectorCSSAgent::assertStyleSheetForId):
1772         * inspector/InspectorDOMAgent.cpp:
1773         (WebCore::InspectorDOMAgent::toErrorString):
1774         (WebCore):
1775         (WebCore::InspectorDOMAgent::setAttributesAsText):
1776         (WebCore::InspectorDOMAgent::setOuterHTML):
1777         (WebCore::InspectorDOMAgent::undo):
1778         * inspector/InspectorDOMAgent.h:
1779         (InspectorDOMAgent):
1780         * inspector/InspectorHistory.cpp:
1781         (WebCore::InspectorHistory::perform):
1782         (WebCore::InspectorHistory::undo):
1783         * inspector/InspectorHistory.h:
1784         (WebCore):
1785         (Action):
1786         (InspectorHistory):
1787         * inspector/InspectorPageAgent.cpp:
1788         (WebCore::InspectorPageAgent::setDocumentContent):
1789         * inspector/InspectorStyleSheet.cpp:
1790         (WebCore::InspectorStyle::setPropertyText):
1791         (WebCore::InspectorStyle::toggleProperty):
1792         (WebCore::InspectorStyleSheet::setPropertyText):
1793         (WebCore::InspectorStyleSheet::toggleProperty):
1794         * inspector/InspectorStyleSheet.h:
1795         (InspectorStyle):
1796         (InspectorStyleSheet):
1797
1798 2012-02-10  Kentaro Hara  <haraken@chromium.org>
1799
1800         Replace [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack]
1801         https://bugs.webkit.org/show_bug.cgi?id=78327
1802
1803         Reviewed by Adam Barth.
1804
1805         This patch replaces [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack],
1806         and removes [CustomArgumentHandling].
1807
1808         Test: bindings/scripts/test/TestObj.idl
1809
1810         * bindings/scripts/CodeGeneratorJS.pm: Modified to replace
1811         [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack].
1812         (GenerateCallWith):
1813         (GenerateParametersCheck):
1814         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1815         (GenerateCallWith):
1816         * bindings/scripts/CodeGeneratorGObject.pm: Ditto.
1817         (SkipFunction):
1818         (GenerateFunction):
1819         * bindings/scripts/CodeGeneratorCPP.pm: Simply removed [CustomArgumentHandling]
1820         from the skipped list. By this fix, CodeGeneratorCPP.pm will generate
1821         meaningless code for attributes or methods which was previously marked as
1822         [CustomArgumentHandling], but this change will be harmless.
1823         (ShouldSkipType):
1824
1825         * bindings/v8/custom/V8ConsoleCustom.cpp: Changed the argument order.
1826         (WebCore::V8Console::assertCallback):
1827         * page/Console.cpp: Ditto.
1828         (WebCore::Console::assertCondition):
1829         (WebCore::Console::timeEnd):
1830         * page/Console.h: Ditto.
1831         (Console):
1832
1833         * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=ScriptArguments|CallStack].
1834
1835         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
1836         (WebDOMTestObj::withScriptArgumentsAndCallStackAttribute):
1837         (WebDOMTestObj::setWithScriptArgumentsAndCallStackAttribute):
1838         (WebDOMTestObj::withScriptArgumentsAndCallStack):
1839         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1840         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1841         (webkit_dom_test_obj_with_script_arguments_and_call_stack):
1842         (webkit_dom_test_obj_get_with_script_arguments_and_call_stack_attribute):
1843         (webkit_dom_test_obj_set_with_script_arguments_and_call_stack_attribute):
1844         (webkit_dom_test_obj_get_property):
1845         (webkit_dom_test_obj_class_init):
1846         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1847         * bindings/scripts/test/JS/JSTestObj.cpp:
1848         (WebCore):
1849         (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
1850         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
1851         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
1852         * bindings/scripts/test/JS/JSTestObj.h:
1853         (WebCore):
1854         * bindings/scripts/test/ObjC/DOMTestObj.h:
1855         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1856         (-[DOMTestObj withScriptArgumentsAndCallStackAttribute]):
1857         (-[DOMTestObj setWithScriptArgumentsAndCallStackAttribute:]):
1858         (-[DOMTestObj withScriptArgumentsAndCallStack]):
1859         * bindings/scripts/test/V8/V8TestObj.cpp:
1860         (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrGetter):
1861         (TestObjInternal):
1862         (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrSetter):
1863         (WebCore::TestObjInternal::withScriptArgumentsAndCallStackCallback):
1864         (WebCore):
1865         (WebCore::ConfigureV8TestObjTemplate):
1866
1867 2012-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1868
1869         [GTK] KURL::fileSystemPath() doesn't work if uri contains #
1870         https://bugs.webkit.org/show_bug.cgi?id=78339
1871
1872         Reviewed by Philippe Normand.
1873
1874         * platform/gtk/KURLGtk.cpp:
1875         (WebCore::KURL::fileSystemPath): Use GFile API instead of
1876         g_filename_from_uri() to convert the uri to a local
1877         path. g_file_get_path() removes the anchor from the uri and
1878         returns a valid path instead of NULL.
1879
1880 2012-02-10  Pablo Flouret  <pablof@motorola.com>
1881
1882         CodeGeneratorJS doesn't always generate visitChildren() implementation when required
1883         https://bugs.webkit.org/show_bug.cgi?id=78336
1884
1885         Reviewed by Kentaro Hara.
1886         
1887         In an IDL for an interface that declares no functions, but has
1888         attributes with [CachedAttribute], the implementation of visitChildren()
1889         is not generated by the JSC code generator.
1890
1891         * bindings/scripts/CodeGeneratorJS.pm:
1892         (GenerateImplementation):
1893         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1894         (WebCore::JSTestSerializedScriptValueInterface::visitChildren):
1895         (WebCore):
1896
1897 2012-02-10  Noel Gordon  <noel.gordon@gmail.com>
1898
1899         [chromium] Increase JPEG decoding performance some more
1900         https://bugs.webkit.org/show_bug.cgi?id=78323
1901
1902         Reviewed by Adam Barth.
1903
1904         Increase JPEG image decoding speed by another 9% (avg) according to libjpeg-turbo tjbench.
1905
1906         No new tests. Covered by many existing tests, all requiring subsequent rebaselines.
1907
1908         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1909         (dctMethod): Fast decode on the jpeg-turbo using ports (Chrome Android, Chrome, Chromium).
1910         (WebCore::JPEGImageReader::decode): Select DCT method via a helper routine.
1911
1912 2012-02-10  Vsevolod Vlasov  <vsevik@chromium.org>
1913
1914         Web Inspector: FileSelector should not depend on DebuggerPresentationModel.
1915         https://bugs.webkit.org/show_bug.cgi?id=78337
1916
1917         Reviewed by Pavel Feldman.
1918
1919         * inspector/front-end/ScriptsNavigator.js:
1920         (WebInspector.ScriptsNavigator):
1921         (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
1922         (WebInspector.ScriptsNavigator.prototype.reset):
1923         * inspector/front-end/ScriptsPanel.js:
1924         (WebInspector.ScriptsPanel.prototype._reset):
1925         (WebInspector.ScriptsPanel.FileSelector.prototype.replaceUISourceCodes):
1926         (WebInspector.ScriptsPanel.FileSelector.prototype.reset):
1927         (WebInspector.ScriptsPanel.ComboBoxFileSelector):
1928         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.reset):
1929
1930 2012-02-10  Kentaro Hara  <haraken@chromium.org>
1931
1932         Remove [ConvertingNullStringTo] from CloseEvent.idl
1933         https://bugs.webkit.org/show_bug.cgi?id=78328
1934
1935         Reviewed by Adam Barth.
1936
1937         In CloseEvent.idl, [ConvertingNullStringTo] is a typo of [ConvertNullStringTo],
1938         (although in bug 78108, [ConvertNullStringTo] was renamed to [TreatReturnedNullStringAs]).
1939
1940         Anyway, the spec says that "The reason attribute must return the value it was
1941         initialized to. When the object is created, this attribute must be initialized to empty string."
1942         http://dev.w3.org/html5/websockets/#event-definitions
1943         Thus, this patch removes [ConvertingNullStringTo] from CloseEvent.idl.
1944
1945         Test: fast/events/constructors/close-event-constructor.html
1946
1947         * websockets/CloseEvent.idl:
1948
1949 2012-02-10  Pavel Feldman  <pfeldman@google.com>
1950
1951         [Qt] REGRESSION(r107242): It made 5 inspector tests crash in debug mode
1952         https://bugs.webkit.org/show_bug.cgi?id=78330
1953
1954         Reviewed by Yury Semikhatsky.
1955
1956         * inspector/DOMPatchSupport.cpp:
1957         (WebCore::DOMPatchSupport::innerPatchChildren):
1958
1959 2012-02-09  Andrey Kosyakov  <caseq@chromium.org>
1960
1961         Web Inspector: [refactoring] TimelineModel should not depend on TimelinePanel
1962         https://bugs.webkit.org/show_bug.cgi?id=78254
1963
1964         Reviewed by Yury Semikhatsky.
1965
1966         * inspector/front-end/TimelinePanel.js:
1967         (WebInspector.TimelinePanel):
1968         (WebInspector.TimelinePanel.prototype._loadFromFile):
1969         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
1970         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
1971         (WebInspector.TimelinePanel.prototype._clearPanel):
1972         (WebInspector.TimelinePanel.prototype._onRecordsCleared):
1973         (WebInspector.TimelineModel):
1974         (WebInspector.TimelineModel.prototype.startRecord):
1975         (WebInspector.TimelineModel.prototype.stopRecord):
1976         (WebInspector.TimelineModel.prototype._onRecordAdded):
1977         (WebInspector.TimelineModel.prototype._addRecord):
1978         (WebInspector.TimelineModel.prototype._loadNextChunk):
1979         (WebInspector.TimelineModel.prototype._loadFromFile):
1980         (WebInspector.TimelineModel.prototype._reset):
1981
1982 2012-02-09  Kentaro Hara  <haraken@chromium.org>
1983
1984         Unreviewed, rolling out r107368.
1985         http://trac.webkit.org/changeset/107368
1986         https://bugs.webkit.org/show_bug.cgi?id=78327
1987
1988         break GTK build
1989
1990         * bindings/scripts/CodeGeneratorCPP.pm:
1991         (ShouldSkipType):
1992         * bindings/scripts/CodeGeneratorGObject.pm:
1993         (SkipFunction):
1994         (GenerateFunction):
1995         * bindings/scripts/CodeGeneratorJS.pm:
1996         (GenerateCallWith):
1997         (GenerateParametersCheck):
1998         * bindings/scripts/CodeGeneratorV8.pm:
1999         (GenerateFunctionCallback):
2000         (GenerateCallWith):
2001         (GenerateFunctionCallString):
2002         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2003         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2004         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2005         (webkit_dom_test_obj_get_property):
2006         (webkit_dom_test_obj_class_init):
2007         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2008         * bindings/scripts/test/JS/JSTestObj.cpp:
2009         (WebCore):
2010         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
2011         * bindings/scripts/test/JS/JSTestObj.h:
2012         (WebCore):
2013         * bindings/scripts/test/ObjC/DOMTestObj.h:
2014         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2015         (-[DOMTestObj customArgsAndException:]):
2016         * bindings/scripts/test/TestObj.idl:
2017         * bindings/scripts/test/V8/V8TestObj.cpp:
2018         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
2019         (TestObjInternal):
2020         (WebCore):
2021         (WebCore::ConfigureV8TestObjTemplate):
2022         * bindings/v8/custom/V8ConsoleCustom.cpp:
2023         (WebCore::V8Console::assertCallback):
2024         * page/Console.cpp:
2025         (WebCore::Console::assertCondition):
2026         (WebCore::Console::timeEnd):
2027         * page/Console.h:
2028         (Console):
2029         * page/Console.idl:
2030
2031 2012-02-09  Zoltan Herczeg  <zherczeg@webkit.org>
2032
2033         Heap-buffer-overflow in WebCore::CSSParser::lex
2034         https://bugs.webkit.org/show_bug.cgi?id=77402
2035
2036         Reviewed by Antti Koivisto.
2037
2038         Comments should check only a single \0 terminator.
2039
2040         Test: fast/css/parsing-css-comment.html
2041
2042         * css/CSSParser.cpp:
2043         (WebCore::CSSParser::lex):
2044
2045 2012-02-09  Kentaro Hara  <haraken@chromium.org>
2046
2047         Replace [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack]
2048         https://bugs.webkit.org/show_bug.cgi?id=78327
2049
2050         Reviewed by Adam Barth.
2051
2052         This patch replaces [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack],
2053         and removes [CustomArgumentHandling].
2054
2055         Test: bindings/scripts/test/TestObj.idl
2056
2057         * bindings/scripts/CodeGeneratorJS.pm: Modified to replace
2058         [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack].
2059         (GenerateCallWith):
2060         (GenerateParametersCheck):
2061         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2062         (GenerateCallWith):
2063         * bindings/scripts/CodeGeneratorCPP.pm: Simply removed [CustomArgumentHandling]
2064         from the skipped list. By this fix, CodeGeneratorCPP.pm will generate
2065         meaningless code for attributes or methods which was previously marked as
2066         [CustomArgumentHandling], but this change will be harmless.
2067         (ShouldSkipType):
2068         * bindings/scripts/CodeGeneratorGObject.pm: Ditto.
2069         (SkipFunction):
2070         (GenerateFunction):
2071
2072         * bindings/v8/custom/V8ConsoleCustom.cpp: Changed the argument order.
2073         (WebCore::V8Console::assertCallback):
2074         * page/Console.cpp: Ditto.
2075         (WebCore::Console::assertCondition):
2076         (WebCore::Console::timeEnd):
2077         * page/Console.h: Ditto.
2078         (Console):
2079
2080         * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=ScriptArguments|CallStack].
2081
2082         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
2083         (WebDOMTestObj::withScriptArgumentsAndCallStackAttribute):
2084         (WebDOMTestObj::setWithScriptArgumentsAndCallStackAttribute):
2085         (WebDOMTestObj::withScriptArgumentsAndCallStack):
2086         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2087         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2088         (webkit_dom_test_obj_with_script_arguments_and_call_stack):
2089         (webkit_dom_test_obj_get_with_script_arguments_and_call_stack_attribute):
2090         (webkit_dom_test_obj_set_with_script_arguments_and_call_stack_attribute):
2091         (webkit_dom_test_obj_get_property):
2092         (webkit_dom_test_obj_class_init):
2093         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2094         * bindings/scripts/test/JS/JSTestObj.cpp:
2095         (WebCore):
2096         (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
2097         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
2098         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
2099         * bindings/scripts/test/JS/JSTestObj.h:
2100         (WebCore):
2101         * bindings/scripts/test/ObjC/DOMTestObj.h:
2102         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2103         (-[DOMTestObj withScriptArgumentsAndCallStackAttribute]):
2104         (-[DOMTestObj setWithScriptArgumentsAndCallStackAttribute:]):
2105         (-[DOMTestObj withScriptArgumentsAndCallStack]):
2106         * bindings/scripts/test/V8/V8TestObj.cpp:
2107         (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrGetter):
2108         (TestObjInternal):
2109         (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrSetter):
2110         (WebCore::TestObjInternal::withScriptArgumentsAndCallStackCallback):
2111         (WebCore):
2112         (WebCore::ConfigureV8TestObjTemplate):
2113
2114 2012-02-09  Adam Barth  <abarth@webkit.org>
2115
2116         Dromaeo/dom-traverse.html should go fast
2117         https://bugs.webkit.org/show_bug.cgi?id=78307
2118
2119         Reviewed by Eric Seidel.
2120
2121         This patch improves Dromaeo/dom-traverse.html by roughly 2.5% by
2122         removing a branch.  Previously, we null-checked the result of
2123         V8DOMWrapper::getWrapper in a hot code path, but the only case where we
2124         return a non-empty wrapper comes from a cold code path.  By pushing the
2125         null check into the cold codepath, we eliminate the branch from the
2126         hot code path.
2127
2128         This patch also annotates the branches in the hot code path with their
2129         likely outcome.  I didn't measure a statistically significant
2130         improvement with that aspect of the change, but it seems worthwhile.
2131
2132         * bindings/scripts/CodeGeneratorV8.pm:
2133         (GenerateHeader):
2134         * bindings/v8/V8DOMWrapper.cpp:
2135         (WebCore::getExistingWrapperInline):
2136         (WebCore):
2137         (WebCore::V8DOMWrapper::getExistingWrapperSlow):
2138         (WebCore::V8DOMWrapper::getWrapperSlow):
2139         * bindings/v8/V8DOMWrapper.h:
2140         (WebCore::V8DOMWrapper::getExistingWrapper):
2141         (V8DOMWrapper):
2142         (WebCore::V8DOMWrapper::getWrapper):
2143         * bindings/v8/custom/V8NodeCustom.cpp:
2144         (WebCore::toV8Slow):
2145
2146 2012-02-09  Emil A Eklund  <eae@chromium.org>
2147
2148         Convert Frame/FrameView to LayoutUnits in preparation for turning on subpixel layout
2149         https://bugs.webkit.org/show_bug.cgi?id=78311
2150
2151         Reviewed by Eric Seidel.
2152
2153         No new tests, no new functionality.
2154
2155         * page/Frame.cpp:
2156         (WebCore::Frame::nodeImage):
2157         Pixel snap painting rect for image to ensure that it is painted aligned
2158         to device pixels. This avoids avoid unwanted anti-aliasing.
2159
2160         * page/FrameView.cpp:
2161         (WebCore::FrameView::windowClipRectForLayer):
2162         Pixel snap clip rects as all window coordinates and sizes are exposed as
2163         integers.
2164
2165         * page/GestureTapHighlighter.cpp:
2166         * page/Page.cpp:
2167         (WebCore::Page::addRelevantRepaintedObject):
2168         As the painting is done aligned on pixel boundaries we need to pixel snap
2169         the view rect when checking if it intersects the objects paint rect.
2170
2171         * page/mac/FrameMac.mm:
2172         (WebCore::Frame::snapshotDragImage):
2173         (WebCore::Frame::nodeImage):
2174         Pixel snap painting rect for image to ensure that it is painted aligned
2175         to device pixels. This avoids avoid unwanted anti-aliasing.
2176
2177         * page/win/FrameCGWin.cpp:
2178         (WebCore::Frame::nodeImage):
2179         Pixel snap painting rect for image to ensure that it is painted aligned
2180         to device pixels. This avoids avoid unwanted anti-aliasing.
2181
2182         * rendering/LayoutTypes.h:
2183         (WebCore::pixelSnappedIntRect):
2184         (WebCore):
2185         No-op implementation of pixelSnappedIntRect for now.
2186
2187 2012-02-09  Kenichi Ishibashi  <bashi@chromium.org>
2188
2189         Add WebSocket extension support
2190         https://bugs.webkit.org/show_bug.cgi?id=78079
2191
2192         This patch introduces WebSocketExtensionDispatcher class, which creates client's
2193         Sec-WebSocket-Extensions header field and parses the server response.
2194         This patch doesn't add any actual extension, so no changes in behavior.
2195
2196         Reviewed by Kent Tamura.
2197
2198         No new tests except for chromium port.
2199
2200         * CMakeLists.txt: Added WebSocketExtensionDispatcher.(cpp|h) and WebSocketExtensionProcessor.h.
2201         * GNUmakefile.list.am: Ditto.
2202         * Target.pri: Ditto.
2203         * WebCore.gypi: Ditto.
2204         * WebCore.vcproj/WebCore.vcproj: Ditto.
2205         * WebCore.xcodeproj/project.pbxproj: Ditto.
2206         * websockets/WebSocketExtensionDispatcher.cpp: Added.
2207         (WebCore):
2208         (ExtensionParser):
2209         (WebCore::ExtensionParser::ExtensionParser):
2210         (WebCore::ExtensionParser::currentToken):
2211         (WebCore::ExtensionParser::finished):
2212         (WebCore::ExtensionParser::parsedSuccessfully):
2213         (WebCore::isTokenCharacter):
2214         (WebCore::isSeparator):
2215         (WebCore::ExtensionParser::skipSpaces):
2216         (WebCore::ExtensionParser::consumeToken):
2217         (WebCore::ExtensionParser::consumeQuotedString):
2218         (WebCore::ExtensionParser::consumeQuotedStringOrToken):
2219         (WebCore::ExtensionParser::consumeCharacter):
2220         (WebCore::WebSocketExtensionDispatcher::reset):
2221         (WebCore::WebSocketExtensionDispatcher::addProcessor):
2222         (WebCore::WebSocketExtensionDispatcher::createHeaderValue):
2223         (WebCore::WebSocketExtensionDispatcher::processHeaderValue):
2224         (WebCore::WebSocketExtensionDispatcher::failureReason):
2225         * websockets/WebSocketExtensionDispatcher.h: Added.
2226         (WebCore):
2227         (WebSocketExtensionDispatcher):
2228         (WebCore::WebSocketExtensionDispatcher::WebSocketExtensionDispatcher):
2229         * websockets/WebSocketExtensionProcessor.h: Added.
2230         (WebCore):
2231         (WebSocketExtensionProcessor):
2232         (WebCore::WebSocketExtensionProcessor::~WebSocketExtensionProcessor):
2233         (WebCore::WebSocketExtensionProcessor::extensionToken):
2234         (WebCore::WebSocketExtensionProcessor::failureReason):
2235         (WebCore::WebSocketExtensionProcessor::WebSocketExtensionProcessor):
2236         * websockets/WebSocketHandshake.cpp:
2237         (WebCore::WebSocketHandshake::clientHandshakeMessage): Adds extension header value if exists.
2238         (WebCore::WebSocketHandshake::clientHandshakeRequest): Ditto.
2239         (WebCore::WebSocketHandshake::reset): Resets WebSocketExtensionDispatcher object.
2240         (WebCore::WebSocketHandshake::serverHandshakeResponse): Removed.
2241         (WebCore::WebSocketHandshake::addExtensionProcessor): Added.
2242         (WebCore::WebSocketHandshake::readHTTPHeaders): Parses and checks every time Sec-WebSocket-Extensions header appears.
2243         (WebCore::WebSocketHandshake::checkResponseHeaders): Removed the check of Sec-WebSocket-Extensions.
2244         * websockets/WebSocketHandshake.h: Removed serverHandshakeResponse().
2245
2246 2012-02-09  Xianzhu Wang  <wangxianzhu@chromium.org>
2247
2248         Avoid compositing invisible fixed positioned elements
2249         https://bugs.webkit.org/show_bug.cgi?id=78186
2250
2251         Reviewed by James Robinson.
2252
2253         Test: compositing/layer-creation/fixed-position-out-of-view.html
2254
2255         * rendering/RenderLayerCompositor.cpp:
2256         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2257
2258 2012-02-09  Timothy Hatcher  <timothy@apple.com>
2259
2260         Prevent attaching when inspecting the Web Inspector.
2261
2262         https://webkit.org/b/78304
2263
2264         Reviewed by Brian Weinstein.
2265
2266         * inspector/InspectorFrontendClientLocal.cpp:
2267         (WebCore::InspectorFrontendClientLocal::canAttachWindow): Prevent attaching when the page is an inspector page.
2268
2269 2012-02-09  Dana Jansens  <danakj@chromium.org>
2270
2271         [Chromium] Assertion failure minX <= maxX in Region.cpp
2272         https://bugs.webkit.org/show_bug.cgi?id=78038
2273
2274         Reviewed by James Robinson.
2275
2276         Covered by existing tests (should make them stop asserting).
2277
2278         Clamp sizes for composited layers coming out of WebCore to make sure they are valid non-negative values.
2279
2280         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2281         (WebCore::GraphicsLayerChromium::setSize):
2282
2283 2012-02-09  Gregg Tavares  <gman@google.com>
2284
2285         Make WebGLRenderingContext::printWarningToConsole safer
2286         https://bugs.webkit.org/show_bug.cgi?id=78284
2287
2288         Reviewed by Kenneth Russell.
2289
2290         No new tests because no change in functionality.
2291
2292         * html/canvas/WebGLRenderingContext.cpp:
2293         (WebCore):
2294         (WebCore::WebGLRenderingContext::printWarningToConsole):
2295
2296 2012-02-09  W. James MacLean  <wjmaclean@chromium.org>
2297
2298         [chromium] Add support for starting page/scale animations on CC impl thread from WebViewImpl
2299         https://bugs.webkit.org/show_bug.cgi?id=77872
2300
2301         Reviewed by James Robinson.
2302
2303         Added unit test.
2304
2305         Provides a pathway to invoke CCLayerTreeHostImpl::startPageScaleAnimation() from
2306         WebViewImpl. This is intended to support scale and scroll animations, such as WebInputEvent::GestureDoubleTap.
2307
2308         * platform/CrossThreadCopier.h:
2309         (WebCore):
2310         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2311         (WebCore::CCLayerTreeHost::startPageScaleAnimation):
2312         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2313         (CCLayerTreeHost):
2314         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2315         (CCLayerTreeHostImpl):
2316         * platform/graphics/chromium/cc/CCProxy.h:
2317         (CCProxy):
2318         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2319         (WebCore::CCSingleThreadProxy::startPageScaleAnimation):
2320         (WebCore):
2321         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2322         (CCSingleThreadProxy):
2323         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2324         (WebCore::CCThreadProxy::startPageScaleAnimation):
2325         (WebCore):
2326         (WebCore::CCThreadProxy::requestStartPageScaleAnimationOnImplThread):
2327         * platform/graphics/chromium/cc/CCThreadProxy.h:
2328         (CCThreadProxy):
2329
2330 2012-02-09  Xianzhu Wang  <wangxianzhu@chromium.org>
2331
2332         [Chromium] TiledLayerChromium::protectVisibleTileTextures() should only protect the visible textures
2333         https://bugs.webkit.org/show_bug.cgi?id=78249
2334
2335         Reviewed by James Robinson.
2336
2337         * platform/graphics/chromium/TiledLayerChromium.cpp:
2338         (WebCore::TiledLayerChromium::protectVisibleTileTextures):
2339
2340 2012-02-09  Hayato Ito  <hayato@chromium.org>
2341
2342         Add Node::isShadowElement() member function.
2343         https://bugs.webkit.org/show_bug.cgi?id=78201
2344
2345         Reviewed by Dimitri Glazkov.
2346
2347         No tests. No change in behavior. An upcoming change requires this to detect HTMLShadowElement.
2348
2349         * dom/Node.h:
2350         (Node):
2351         (WebCore::Node::isShadowElement):
2352         * html/shadow/HTMLShadowElement.h:
2353         (WebCore::HTMLShadowElement::isShadowElement):
2354
2355 2012-02-09  Ryosuke Niwa  <rniwa@webkit.org>
2356
2357         CachedResourceLoader is destroyed before CSSFontSelector is destroyed
2358         https://bugs.webkit.org/show_bug.cgi?id=77817
2359
2360         Reviewed by Adam Barth.
2361
2362         Explicitly clear style selector before destorying the cached resource loader.
2363
2364         No new tests but PerformanceTests/Parser/html5-full-render.html was crashing
2365         on performance bots due to this bug.
2366
2367         * dom/Document.cpp:
2368         (WebCore::Document::~Document):
2369
2370 2012-02-09  Anders Carlsson  <andersca@apple.com>
2371
2372         Update the scroll layer position on the main thread when we have slow repaint objects
2373         https://bugs.webkit.org/show_bug.cgi?id=78300
2374         <rdar://problem/10710754>
2375
2376         Reviewed by Dan Bernstein.
2377
2378         When we have slow repaint objects (background-attachment: fixed), we need to update the
2379         scroll layer position on the main thread, otherwise the web page will appear to jiggle.
2380     
2381         * page/FrameView.cpp:
2382         (WebCore::FrameView::addSlowRepaintObject):
2383         (WebCore::FrameView::removeSlowRepaintObject):
2384         Call ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange if needed.
2385
2386         * page/FrameView.h:
2387         (WebCore::FrameView::hasSlowRepaintObjects):
2388         Add new getter.
2389
2390         * page/scrolling/ScrollingCoordinator.cpp:
2391         (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
2392         Call ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThread.
2393
2394         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
2395         New function that will update both the main frame scroll position and the scroll layer position.
2396
2397         * page/scrolling/ScrollingTree.cpp:
2398         (WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition):
2399         Dispatch a call to ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition on the main thread.
2400
2401         * page/scrolling/ScrollingTreeNode.cpp:
2402         (WebCore::ScrollingTreeNode::ScrollingTreeNode):
2403         Initialize m_shouldUpdateScrollLayerPositionOnMainThread.
2404
2405         (WebCore::ScrollingTreeNode::update):
2406         Set m_shouldUpdateScrollLayerPositionOnMainThread.
2407
2408         * page/scrolling/ScrollingTreeState.cpp:
2409         (WebCore::ScrollingTreeState::ScrollingTreeState):
2410         Initialize m_shouldUpdateScrollLayerPositionOnMainThread.
2411
2412         (WebCore::ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThread):
2413         Update m_shouldUpdateScrollLayerPositionOnMainThread if needed.
2414
2415         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
2416         (WebCore::ScrollingTreeNodeMac::setScrollPosition):
2417         Assert that we're not supposed to update the scroll layer position on the main thread.
2418
2419         (WebCore::ScrollingTreeNodeMac::scrollBy):
2420         If we're supposed to update the scroll layer position on the main thread, 
2421         call ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition.
2422
2423         * rendering/RenderLayerCompositor.cpp:
2424         (WebCore::RenderLayerCompositor::frameViewDidScroll):
2425         If the frame view has its scrolling coordinated by a scrolling coordinator, don't update the scroll layer position.
2426
2427 2012-02-09  Anders Carlsson  <andersca@apple.com>
2428
2429         FrameView::addSlowRepaintObject() doesn't update m_canBlitOnScroll correctly
2430         https://bugs.webkit.org/show_bug.cgi?id=78291
2431
2432         Reviewed by Dan Bernstein.
2433
2434         m_slowRepaintObjectCount needs to be incremented before calling updateCanBlitOnScrollRecursively(),
2435         because otherwise useSlowRepaints() will return false even though we have to use slow repaints.
2436
2437         I was unable to make a layout test for this because it requires that updateCanBlitOnScrollRecursively() isn't
2438         called again after m_slowRepaintObjectCount has been incremented.
2439
2440         * page/FrameView.cpp:
2441         (WebCore::FrameView::addSlowRepaintObject):
2442
2443 2012-02-09  Ojan Vafai  <ojan@chromium.org>
2444
2445         Remove TreeOrderIterator and iterate over the child boxes directly.
2446         https://bugs.webkit.org/show_bug.cgi?id=78294
2447
2448         Reviewed by Tony Chang.
2449
2450         No new tests. This is purely a refactor. No change in behavior. 
2451
2452         * rendering/RenderFlexibleBox.cpp:
2453         (WebCore::RenderFlexibleBox::layoutFlexItems):
2454         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
2455         * rendering/RenderFlexibleBox.h:
2456         (RenderFlexibleBox):
2457         (FlexOrderHashTraits):
2458         (WebCore::RenderFlexibleBox::FlexOrderHashTraits::emptyValue):
2459         (WebCore::RenderFlexibleBox::FlexOrderHashTraits::constructDeletedValue):
2460         (WebCore::RenderFlexibleBox::FlexOrderHashTraits::isDeletedValue):
2461
2462 2012-02-09  Kentaro Hara  <haraken@chromium.org>
2463
2464         Code generators should support multiple values for the [CallWith=] attribute
2465         https://bugs.webkit.org/show_bug.cgi?id=78224
2466
2467         Reviewed by Adam Barth.
2468
2469         Currently we can specify only one value for one [CallWith=],
2470         like [CallWith=ScriptExecutionContext] or [CallWith=ScriptState].
2471         To reduce redundant IDL attributes, we are planning to support multiple
2472         values for [CallWith=], like [CallWith=ScriptExecutionContext|ScriptArguments|CallStack].
2473         This patch makes a change on code generators to support it.
2474
2475         Test: bindings/scripts/test/TestObj.idl
2476         No change in WebKit behavior since IDL files have not yet used [CallWith=X|Y|Z].
2477
2478         * bindings/scripts/CodeGenerator.pm: Modified to support [CallWith=X|Y|Z].
2479         (ExtendedAttributeContains):
2480         * bindings/scripts/CodeGeneratorJS.pm:
2481         (GenerateImplementation):
2482         (GenerateCallWith):
2483         (GenerateParametersCheck):
2484         (GenerateImplementationFunctionCall):
2485         (GenerateConstructorDeclaration):
2486         (GenerateConstructorDefinition):
2487         * bindings/scripts/CodeGeneratorV8.pm:
2488         (GenerateNormalAttrGetter):
2489         (GenerateNormalAttrSetter):
2490         (GenerateCallWith):
2491         (GenerateFunctionCallString):
2492
2493         * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=X|Y|Z].
2494
2495         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
2496         (WebDOMTestObj::withScriptExecutionContextAndScriptStateAttribute):
2497         (WebDOMTestObj::setWithScriptExecutionContextAndScriptStateAttribute):
2498         (WebDOMTestObj::withScriptExecutionContextAndScriptStateAttributeRaises):
2499         (WebDOMTestObj::setWithScriptExecutionContextAndScriptStateAttributeRaises):
2500         (WebDOMTestObj::withScriptExecutionContextAndScriptStateWithSpacesAttribute):
2501         (WebDOMTestObj::setWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2502         (WebDOMTestObj::withScriptExecutionContextAndScriptState):
2503         (WebDOMTestObj::withScriptExecutionContextAndScriptStateObjException):
2504         (WebDOMTestObj::withScriptExecutionContextAndScriptStateWithSpaces):
2505         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2506         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2507         (webkit_dom_test_obj_with_script_execution_context_and_script_state):
2508         (webkit_dom_test_obj_with_script_execution_context_and_script_state_obj_exception):
2509         (webkit_dom_test_obj_with_script_execution_context_and_script_state_with_spaces):
2510         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute):
2511         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute):
2512         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute_raises):
2513         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute_raises):
2514         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_with_spaces_attribute):
2515         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_with_spaces_attribute):
2516         (webkit_dom_test_obj_get_property):
2517         (webkit_dom_test_obj_class_init):
2518         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2519         * bindings/scripts/test/JS/JSTestObj.cpp:
2520         (WebCore):
2521         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
2522         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2523         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2524         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
2525         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2526         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2527         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
2528         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
2529         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
2530         * bindings/scripts/test/JS/JSTestObj.h:
2531         (WebCore):
2532         * bindings/scripts/test/ObjC/DOMTestObj.h:
2533         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2534         (-[DOMTestObj withScriptExecutionContextAndScriptStateAttribute]):
2535         (-[DOMTestObj setWithScriptExecutionContextAndScriptStateAttribute:]):
2536         (-[DOMTestObj withScriptExecutionContextAndScriptStateAttributeRaises]):
2537         (-[DOMTestObj setWithScriptExecutionContextAndScriptStateAttributeRaises:]):
2538         (-[DOMTestObj withScriptExecutionContextAndScriptStateWithSpacesAttribute]):
2539         (-[DOMTestObj setWithScriptExecutionContextAndScriptStateWithSpacesAttribute:]):
2540         (-[DOMTestObj withScriptExecutionContextAndScriptState]):
2541         (-[DOMTestObj withScriptExecutionContextAndScriptStateObjException]):
2542         (-[DOMTestObj withScriptExecutionContextAndScriptStateWithSpaces]):
2543         * bindings/scripts/test/V8/V8TestObj.cpp:
2544         (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
2545         (TestObjInternal):
2546         (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
2547         (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
2548         (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
2549         (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
2550         (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
2551         (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateCallback):
2552         (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
2553         (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
2554         (WebCore):
2555
2556 2012-02-09  Kentaro Hara  <haraken@chromium.org>
2557
2558         Rename [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]
2559         https://bugs.webkit.org/show_bug.cgi?id=78108
2560
2561         Reviewed by Adam Barth.
2562
2563         [ConvertNullStringTo=] is not descriptive. To clarify that it specifies
2564         the behavior when the null string is returned by WebCore, this patch renames
2565         [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]. This change is also
2566         for naming consistency with [TreatNullAs] and [TreatUndefinedAs].
2567
2568         No tests. No change in behavior.
2569
2570         * bindings/scripts/CodeGeneratorJS.pm:
2571         (GenerateGetOwnPropertySlotBody):
2572         (NativeToJSValue):
2573         * bindings/scripts/CodeGeneratorV8.pm:
2574         (GenerateImplementationIndexer):
2575         (NativeToJSValue):
2576         * bindings/scripts/test/TestObj.idl:
2577         * css/CSSCharsetRule.idl:
2578         * css/CSSImportRule.idl:
2579         * css/CSSPageRule.idl:
2580         * css/CSSRule.idl:
2581         * css/CSSStyleDeclaration.idl:
2582         * css/CSSStyleRule.idl:
2583         * css/CSSValue.idl:
2584         * css/MediaList.idl:
2585         * css/StyleSheet.idl:
2586         * css/WebKitCSSKeyframesRule.idl:
2587         * dom/Attr.idl:
2588         * dom/CharacterData.idl:
2589         * dom/Clipboard.idl:
2590         * dom/DOMStringList.idl:
2591         * dom/Document.idl:
2592         * dom/DocumentType.idl:
2593         * dom/Element.idl:
2594         * dom/Entity.idl:
2595         * dom/MutationRecord.idl:
2596         * dom/Node.idl:
2597         * dom/Notation.idl:
2598         * dom/ProcessingInstruction.idl:
2599         * html/DOMTokenList.idl:
2600         * html/DOMURL.idl:
2601         * html/HTMLMediaElement.idl:
2602         * html/canvas/WebGLDebugShaders.idl:
2603         * html/canvas/WebGLRenderingContext.idl:
2604         * page/DOMWindow.idl:
2605         * storage/IDBObjectStore.idl:
2606         * storage/IDBRequest.idl:
2607         * storage/Storage.idl:
2608         * storage/StorageEvent.idl:
2609         * websockets/WebSocket.idl:
2610         * xml/XMLHttpRequest.idl:
2611         * xml/XPathNSResolver.idl:
2612         * xml/XSLTProcessor.idl:
2613
2614 2012-02-09  Tony Chang  <tony@chromium.org>
2615
2616         more refactoring of RenderFlexibleBox in preparation for multiline
2617         https://bugs.webkit.org/show_bug.cgi?id=78281
2618
2619         Reviewed by Ojan Vafai.
2620
2621         Previously, we were creating Vector of each flex item's preferred size in document order,
2622         but for multiline, we need to break the lines in the flex order.  I just removed this code
2623         since it was the wrong order.
2624
2625         Instead, have 2 funtions, computeMainAxisPreferredSizes which only does the necessary
2626         layouts and margin computations to compute preferred sizes and computeFlexOrder which
2627         does the work of computing the flex order, preferred sizes, positive/negative flex.
2628
2629         For multiline, we will have computeFlexOrder drive a while loop and it will return the
2630         flex items, preferred size, and positive/negative flex values for each line.
2631
2632         No new tests, just refactoring.
2633
2634         * rendering/RenderFlexibleBox.cpp:
2635         (WebCore::RenderFlexibleBox::layoutFlexItems):
2636         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Only layout auto sized children and set margins.
2637         (WebCore::RenderFlexibleBox::computeFlexOrder): Compute flex order, preferred size, positive/negative flex.
2638         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Use the precomputed flex order.
2639         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use the precomputed flex order.
2640         (WebCore::RenderFlexibleBox::layoutColumnReverse): Use the precomputed flex order.
2641         (WebCore::RenderFlexibleBox::alignChildren): Use the precomputed flex order.
2642         * rendering/RenderFlexibleBox.h:
2643         (RenderFlexibleBox):
2644
2645 2012-02-09  Kentaro Hara  <haraken@chromium.org>
2646
2647         Rename [Optional=CallWithDefaultValue] and [Optional=CallWithNullValue]
2648         https://bugs.webkit.org/show_bug.cgi?id=78200
2649
2650         Reviewed by Adam Barth.
2651
2652         [Optional=CallWithDefaultValue] and [Optional=CallWithNullValue] are confusing.
2653
2654         - [Optional=CallWithDefaultValue] indicates that a missing value should be treated
2655         as if the JavaScript undefined is passed.
2656         - [Optional=CallWithNullValue] indicates that a missing value should be treated as
2657         the WebKit null value (i.e. JSValue() or v8::Local<v8::Value>()).
2658         - Actually, the difference between [Optional=CallWithDefaultValue] and
2659         [Optional=CallWithNullValue] will appear only when the type of the missing value
2660         is DOMString. In case of [Optional=CallWithDefaultValue], the missing value is
2661         converted to the string "undefined". On the other hand, in case of
2662         [Optional=CallWithNullValue], the missing value is converted to the WebKit null string.
2663
2664         With these observations, this patch renames as follows:
2665
2666         - Rename [Optional=CallWithDefaultValue] to [Optional=DefaultIsUndefined].
2667         - Rename [Optional=CallWithNullValue] to [Optional=DefaultIsNullString].
2668
2669         Test: bindings/scripts/test/TestObj.idl
2670
2671         * bindings/js/JSDOMBinding.h: Renamed MissingIsEmpty to DefaultIsNullString,
2672         renamed MissingIsUndefined to DefaultIsUndefined.
2673         * bindings/v8/V8Binding.h: Ditto.
2674         * bindings/v8/custom/V8BindingMacros.h: Ditto.
2675
2676         * bindings/scripts/CodeGeneratorJS.pm: Modified to support the renaming.
2677         (GenerateParametersCheck):
2678         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2679         (GenerateParametersCheck):
2680         (RequiresCustomSignature):
2681
2682         * bindings/scripts/test/TestObj.idl: Renamed [Optional=...] as described above.
2683         * bindings/scripts/test/TestInterface.idl: Ditto.
2684         * bindings/scripts/test/TestNamedConstructor.idl: Ditto.
2685
2686         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
2687         (WebDOMTestObj::methodWithOptionalString):
2688         (WebDOMTestObj::methodWithOptionalStringIsUndefinedString):
2689         (WebDOMTestObj::methodWithOptionalStringIsNullString):
2690         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2691         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2692         (webkit_dom_test_obj_method_with_optional_string):
2693         (webkit_dom_test_obj_method_with_optional_string_is_undefined_string):
2694         (webkit_dom_test_obj_method_with_optional_string_is_null_string):
2695         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2696         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2697         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
2698         * bindings/scripts/test/JS/JSTestObj.cpp:
2699         (WebCore):
2700         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
2701         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedString):
2702         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
2703         * bindings/scripts/test/JS/JSTestObj.h:
2704         (WebCore):
2705         * bindings/scripts/test/ObjC/DOMTestObj.h:
2706         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2707         (-[DOMTestObj methodWithOptionalString:]):
2708         (-[DOMTestObj methodWithOptionalStringIsUndefinedString:]):
2709         (-[DOMTestObj methodWithOptionalStringIsNullString:]):
2710         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2711         (WebCore::V8TestNamedConstructorConstructorCallback):
2712         * bindings/scripts/test/V8/V8TestObj.cpp:
2713         (WebCore::TestObjInternal::methodWithOptionalStringCallback):
2714         (TestObjInternal):
2715         (WebCore::TestObjInternal::methodWithOptionalStringIsUndefinedStringCallback):
2716         (WebCore::TestObjInternal::methodWithOptionalStringIsNullStringCallback):
2717         (WebCore):
2718
2719         * Modules/gamepad/GamepadList.idl: Renamed [Optional=...] as described above.
2720         * Modules/intents/Intent.idl:
2721         * css/CSSMediaRule.idl:
2722         * css/CSSPrimitiveValue.idl:
2723         * css/CSSRuleList.idl:
2724         * css/CSSStyleDeclaration.idl:
2725         * css/CSSStyleSheet.idl:
2726         * css/CSSValueList.idl:
2727         * css/MediaList.idl:
2728         * css/MediaQueryList.idl:
2729         * css/MediaQueryListListener.idl:
2730         * css/StyleMedia.idl:
2731         * css/StyleSheetList.idl:
2732         * css/WebKitCSSKeyframesRule.idl:
2733         * css/WebKitCSSMatrix.idl:
2734         * dom/CharacterData.idl:
2735         * dom/ClientRectList.idl:
2736         * dom/CompositionEvent.idl:
2737         * dom/CustomEvent.idl:
2738         * dom/DOMImplementation.idl:
2739         * dom/DOMStringList.idl:
2740         * dom/DataTransferItem.idl:
2741         * dom/DataTransferItemList.idl:
2742         * dom/DeviceMotionEvent.idl:
2743         * dom/DeviceOrientationEvent.idl:
2744         * dom/Document.idl:
2745         * dom/Element.idl:
2746         * dom/Event.idl:
2747         * dom/HashChangeEvent.idl:
2748         * dom/KeyboardEvent.idl:
2749         * dom/MessageEvent.idl:
2750         * dom/MouseEvent.idl:
2751         * dom/MutationEvent.idl:
2752         * dom/NamedNodeMap.idl:
2753         * dom/Node.idl:
2754         * dom/NodeFilter.idl:
2755         * dom/NodeList.idl:
2756         * dom/OverflowEvent.idl:
2757         * dom/Range.idl:
2758         * dom/ShadowRoot.idl:
2759         * dom/Text.idl:
2760         * dom/TextEvent.idl:
2761         * dom/TouchEvent.idl:
2762         * dom/UIEvent.idl:
2763         * dom/WheelEvent.idl:
2764         * html/DOMFormData.idl:
2765         * html/HTMLAllCollection.idl:
2766         * html/HTMLAudioElement.idl:
2767         * html/HTMLCanvasElement.idl:
2768         * html/HTMLCollection.idl:
2769         * html/HTMLDocument.idl:
2770         * html/HTMLElement.idl:
2771         * html/HTMLInputElement.idl:
2772         * html/HTMLMediaElement.idl:
2773         * html/HTMLOptionElement.idl:
2774         * html/HTMLOptionsCollection.idl:
2775         * html/HTMLSelectElement.idl:
2776         * html/HTMLTableElement.idl:
2777         * html/HTMLTableRowElement.idl:
2778         * html/HTMLTableSectionElement.idl:
2779         * html/HTMLTextAreaElement.idl:
2780         * html/TextTrackCue.idl:
2781         * html/canvas/CanvasGradient.idl:
2782         * html/canvas/CanvasRenderingContext2D.idl:
2783         * html/canvas/Float32Array.idl:
2784         * html/canvas/Float64Array.idl:
2785         * html/canvas/Int16Array.idl:
2786         * html/canvas/Int32Array.idl:
2787         * html/canvas/Int8Array.idl:
2788         * html/canvas/OESVertexArrayObject.idl:
2789         * html/canvas/Uint16Array.idl:
2790         * html/canvas/Uint32Array.idl:
2791         * html/canvas/Uint8Array.idl:
2792         * html/canvas/Uint8ClampedArray.idl:
2793         * page/Console.idl:
2794         * page/DOMSelection.idl:
2795         * page/DOMWindow.idl:
2796         * page/History.idl:
2797         * page/Location.idl:
2798         * plugins/DOMMimeTypeArray.idl:
2799         * plugins/DOMPlugin.idl:
2800         * plugins/DOMPluginArray.idl:
2801         * storage/IDBDatabase.idl:
2802         * storage/StorageEvent.idl:
2803         * svg/ElementTimeControl.idl:
2804         * svg/SVGDocument.idl:
2805         * svg/SVGElementInstanceList.idl:
2806         * svg/SVGFEDropShadowElement.idl:
2807         * svg/SVGFEGaussianBlurElement.idl:
2808         * svg/SVGFEMorphologyElement.idl:
2809         * svg/SVGFilterElement.idl:
2810         * svg/SVGLocatable.idl:
2811         * svg/SVGMarkerElement.idl:
2812         * svg/SVGPathElement.idl:
2813         * svg/SVGSVGElement.idl:
2814         * svg/SVGStylable.idl:
2815         * svg/SVGTests.idl:
2816         * svg/SVGTextContentElement.idl:
2817         * webaudio/AudioNode.idl:
2818         * workers/SharedWorker.idl:
2819         * workers/WorkerContext.idl:
2820         * xml/DOMParser.idl:
2821         * xml/XMLSerializer.idl:
2822         * xml/XPathEvaluator.idl:
2823         * xml/XPathExpression.idl:
2824         * xml/XPathNSResolver.idl:
2825         * xml/XPathResult.idl:
2826
2827 2012-02-09  Matthew Delaney  <mdelaney@apple.com>
2828
2829         getComputedStyle() returns different values for different zoom levels
2830         https://bugs.webkit.org/show_bug.cgi?id=32230
2831
2832         Reviewed by Beth Dakin.
2833
2834         Test: fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size.html
2835
2836         * css/CSSComputedStyleDeclaration.cpp:
2837         (WebCore::fillSizeToCSSValue): Pass down the RenderStyle for use in adjusting
2838         values to account for zoom.
2839         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Adjust additional
2840         properties that are affected by zoom.
2841
2842 2012-02-09  Kentaro Hara  <haraken@chromium.org>
2843
2844         Rename [Return] to [CustomReturn]
2845         https://bugs.webkit.org/show_bug.cgi?id=78225
2846
2847         Reviewed by Adam Barth.
2848
2849         [Return] is used to handle custom code for a returned value.
2850         To clarify it, this patch renames [Return] to [CustomReturn].
2851
2852         No tests. No change in behavior.
2853
2854         * bindings/scripts/CodeGeneratorCPP.pm:
2855         (GenerateImplementation):
2856         * bindings/scripts/CodeGeneratorGObject.pm:
2857         (GenerateFunction):
2858         * bindings/scripts/CodeGeneratorObjC.pm:
2859         (GenerateImplementation):
2860         * dom/Node.idl:
2861
2862 2012-02-09  Levi Weintraub  <leviw@chromium.org>
2863
2864         Add roundedIntPoint method for LayoutPoints
2865         https://bugs.webkit.org/show_bug.cgi?id=78262
2866
2867         Reviewed by Eric Seidel.
2868
2869         Adding a roundedIntPoint method that operates on a LayoutPoint. Currently, this does
2870         nothing as LayoutPoint is a typedef to IntPoint. When we enable sub-pixel LayoutUnits,
2871         this is a critical part in our pixel snapping strategy, where we round the logical top-
2872         left point, then snap the right and bottom edges.
2873
2874         Also using this new method where we wish to convert LayoutPoints to IntPoints, which
2875         we're currently doing implicitly (since they're the same thing).
2876
2877         No new tests. No change in functionality.
2878
2879         * accessibility/AccessibilityRenderObject.cpp:
2880         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
2881         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
2882         * page/EventHandler.cpp:
2883         (WebCore::EventHandler::eventMayStartDrag):
2884         (WebCore::EventHandler::hitTestResultAtPoint):
2885         (WebCore::EventHandler::selectCursor):
2886         * rendering/LayoutTypes.h:
2887         (WebCore::roundedIntPoint):
2888         (WebCore):
2889         * rendering/RenderEmbeddedObject.cpp:
2890         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
2891         * rendering/RenderFlowThread.cpp:
2892         (WebCore::RenderFlowThread::paintIntoRegion):
2893         * rendering/RenderFrameSet.cpp:
2894         (WebCore::RenderFrameSet::getCursor):
2895         * rendering/RenderImage.cpp:
2896         (WebCore::RenderImage::paintReplaced):
2897         * rendering/RenderLayer.cpp:
2898         (WebCore::RenderLayer::scrollRectToVisible):
2899         (WebCore::RenderLayer::offsetFromResizeCorner):
2900         (WebCore::RenderLayer::isPointInResizeControl):
2901         (WebCore::RenderLayer::paintLayerContents):
2902         * rendering/RenderLayerBacking.cpp:
2903         (WebCore::RenderLayerBacking::paintContents):
2904         * rendering/RenderLayerCompositor.cpp:
2905         (WebCore::RenderLayerCompositor::paintContents):
2906         * rendering/mathml/RenderMathMLBlock.cpp:
2907         (WebCore::RenderMathMLBlock::paint):
2908         * rendering/mathml/RenderMathMLFraction.cpp:
2909         (WebCore::RenderMathMLFraction::paint):
2910         * rendering/mathml/RenderMathMLRoot.cpp:
2911         (WebCore::RenderMathMLRoot::paint):
2912         * rendering/mathml/RenderMathMLSquareRoot.cpp:
2913         (WebCore::RenderMathMLSquareRoot::paint):
2914
2915 2012-02-09  John Bates  <jbates@google.com>
2916
2917         [Chromium] Add chromium-style tracing support
2918         https://bugs.webkit.org/show_bug.cgi?id=76885
2919
2920         Reviewed by Darin Fisher.
2921
2922         This code enables WebKit trace events to pass through more data to the
2923         chromium platform tracing API and generally to use the full tracing
2924         API provided by chromium.
2925
2926         * bindings/v8/V8Proxy.cpp:
2927         (WebCore::V8Proxy::evaluate): Replace old tracing API.
2928         * page/Console.cpp:
2929         (WebCore::Console::time): Replace old tracing API.
2930         (WebCore::Console::timeEnd): Replace old tracing API.
2931         * platform/chromium/PlatformSupport.h:
2932         * platform/chromium/TraceEvent.h:
2933         (WebCore::TraceEvent::TraceID::TraceID):
2934         (WebCore::TraceEvent::TraceID::data):
2935         (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
2936         (WebCore::TraceEvent::TraceStringWithCopy::operator const char* ):
2937         (WebCore::TraceEvent::setTraceValue):
2938         (WebCore::TraceEvent::addTraceEvent):
2939         (WebCore::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
2940         (WebCore::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
2941         (WebCore::TraceEvent::TraceEndOnScopeClose::initialize):
2942         (WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
2943         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::TraceEndOnScopeCloseThreshold):
2944         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::~TraceEndOnScopeCloseThreshold):
2945         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::initialize):
2946         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::addEventIfEnabled):
2947
2948 2012-02-09  David Hyatt  <hyatt@apple.com>
2949
2950         https://bugs.webkit.org/show_bug.cgi?id=78256
2951         
2952         Rename line-grid-snap to line-snap so that it matches the draft proposal for the
2953         property.
2954
2955         Reviewed by Dan Bernstein.
2956
2957         * css/CSSComputedStyleDeclaration.cpp:
2958         (WebCore):
2959         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2960         * css/CSSParser.cpp:
2961         (WebCore::CSSParser::parseValue):
2962         * css/CSSPrimitiveValueMappings.h:
2963         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2964         (WebCore::CSSPrimitiveValue::operator LineSnap):
2965         * css/CSSProperty.cpp:
2966         (WebCore::CSSProperty::isInheritedProperty):
2967         * css/CSSPropertyNames.in:
2968         * css/CSSStyleApplyProperty.cpp:
2969         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2970         * css/CSSStyleSelector.cpp:
2971         (WebCore::CSSStyleSelector::applyProperty):
2972         * rendering/RootInlineBox.cpp:
2973         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2974         (WebCore::RootInlineBox::lineSnapAdjustment):
2975         * rendering/RootInlineBox.h:
2976         (RootInlineBox):
2977         * rendering/style/RenderStyle.cpp:
2978         (WebCore::RenderStyle::diff):
2979         * rendering/style/RenderStyle.h:
2980         * rendering/style/RenderStyleConstants.h:
2981         * rendering/style/StyleRareInheritedData.cpp:
2982         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2983         (WebCore::StyleRareInheritedData::operator==):
2984         * rendering/style/StyleRareInheritedData.h:
2985         (StyleRareInheritedData):
2986
2987 2012-02-09  Benjamin Poulain  <bpoulain@apple.com>
2988
2989         The localization of htmlSelectMultipleItems() needs better support of pluralization
2990         https://bugs.webkit.org/show_bug.cgi?id=78197
2991
2992         Reviewed by Joseph Pecoraro.
2993
2994         For translation, the localization of 0 and 1 depends on the language.
2995
2996         * English.lproj/Localizable.strings:
2997         * platform/DefaultLocalizationStrategy.cpp:
2998         (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
2999
3000 2012-02-09  Anders Carlsson  <andersca@apple.com>
3001
3002         ScrollingTreeNodeMac should implement ScrollElasticityController
3003         https://bugs.webkit.org/show_bug.cgi?id=78277
3004
3005         Reviewed by Andreas Kling.
3006
3007         Add stubbed out implementations of the ScrollElasticityController member functions.
3008
3009         * page/scrolling/mac/ScrollingTreeNodeMac.h:
3010         (ScrollingTreeNodeMac):
3011         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
3012         (WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching):
3013         (WebCore):
3014         (WebCore::ScrollingTreeNodeMac::allowsVerticalStretching):
3015         (WebCore::ScrollingTreeNodeMac::stretchAmount):
3016         (WebCore::ScrollingTreeNodeMac::pinnedInDirection):
3017         (WebCore::ScrollingTreeNodeMac::canScrollHorizontally):
3018         (WebCore::ScrollingTreeNodeMac::canScrollVertically):
3019         (WebCore::ScrollingTreeNodeMac::shouldRubberBandInDirection):
3020         (WebCore::ScrollingTreeNodeMac::absoluteScrollPosition):
3021         (WebCore::ScrollingTreeNodeMac::immediateScrollBy):
3022         (WebCore::ScrollingTreeNodeMac::immediateScrollByWithoutContentEdgeConstraints):
3023         (WebCore::ScrollingTreeNodeMac::startSnapRubberbandTimer):
3024         (WebCore::ScrollingTreeNodeMac::stopSnapRubberbandTimer):
3025
3026 2012-02-09  Adrienne Walker  <enne@google.com>
3027
3028         [chromium] Correct potential double reserveTextures() in CCLayerTreeHost
3029         https://bugs.webkit.org/show_bug.cgi?id=78258
3030
3031         Reviewed by James Robinson.
3032
3033         This isn't a problem currently, because scrollbar layers don't create
3034         render surfaces. However, if this ever got used for other layers, we
3035         could call reserve on them twice needlessly. It's also just bad form
3036         to have an iterator doing the wrong thing.
3037
3038         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3039         (WebCore::CCLayerTreeHost::reserveTextures):
3040
3041 2012-02-09  Sheriff Bot  <webkit.review.bot@gmail.com>
3042
3043         Unreviewed, rolling out r107261.
3044         http://trac.webkit.org/changeset/107261
3045         https://bugs.webkit.org/show_bug.cgi?id=78274
3046
3047         It has regressed svg/W3C-SVG-1.1/styling-css-05-b.svg (using
3048         lang() selectors) (Requested by jchaffraix on #webkit).
3049
3050         * css/CSSStyleSelector.cpp:
3051         (WebCore::CSSStyleSelector::canShareStyleWithControl):
3052         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3053         (WebCore::isCommonAttributeSelectorAttribute):
3054
3055 2012-02-09  Joshua Bell  <jsbell@chromium.org>
3056
3057         [Chromium] IndexedDB: IDBVersionChangeRequest V8 wrapper not generated as ActiveDOMObject
3058         https://bugs.webkit.org/show_bug.cgi?id=78167
3059
3060         Add ActiveDOMObject annotation to IDBVersionChangeRequest.idl; it is not
3061         automagically inherited from IDBRequest.idl.
3062
3063         Reviewed by Adam Barth.
3064
3065         Test: storage/indexeddb/versionchangerequest-activedomobject.html
3066
3067         * storage/IDBVersionChangeRequest.idl:
3068
3069 2012-02-09  Anders Carlsson  <andersca@apple.com>
3070
3071         The scrolling tree should know more about the scrollbar state
3072         https://bugs.webkit.org/show_bug.cgi?id=78268
3073
3074         Reviewed by Andreas Kling.
3075
3076         With this change, the scroll tree now keeps track of the horizontal scroll elasticity,
3077         the vertical scroll elasticity and whether the page has enabled scrollbars.
3078
3079         This is needed in order to make rubber-banding work correctly when doing fast scrolling.
3080
3081         * page/scrolling/ScrollingCoordinator.cpp:
3082         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
3083         * page/scrolling/ScrollingTreeNode.cpp:
3084         (WebCore::ScrollingTreeNode::ScrollingTreeNode):
3085         (WebCore::ScrollingTreeNode::update):
3086         * page/scrolling/ScrollingTreeNode.h:
3087         (ScrollingTreeNode):
3088         * page/scrolling/ScrollingTreeState.cpp:
3089         (WebCore::ScrollingTreeState::ScrollingTreeState):
3090         (WebCore::ScrollingTreeState::setHorizontalScrollElasticity):
3091         (WebCore):
3092         (WebCore::ScrollingTreeState::setVerticalScrollElasticity):
3093         (WebCore::ScrollingTreeState::setHasEnabledHorizontalScrollbar):
3094         (WebCore::ScrollingTreeState::setHasEnabledVerticalScrollbar):
3095         * page/scrolling/ScrollingTreeState.h:
3096         (WebCore::ScrollingTreeState::horizontalScrollElasticity):
3097         (ScrollingTreeState):
3098         (WebCore::ScrollingTreeState::verticalScrollElasticity):
3099         (WebCore::ScrollingTreeState::hasEnabledHorizontalScrollbar):
3100         (WebCore::ScrollingTreeState::hasEnabledVerticalScrollbar):
3101
3102 2012-02-09  Xianzhu Wang  <wangxianzhu@chromium.org>
3103
3104         Unnecessary and incorrect invalidation about composited fixed-position layers
3105         https://bugs.webkit.org/show_bug.cgi?id=75638
3106
3107         When a FrameView scrolls, composited fixed-position layers should
3108         not contribute to the invalidation rect of the root layer.
3109
3110         Reviewed by Simon Fraser.
3111
3112         No new tests. Haven't found a good way to test this programatically.
3113
3114         * page/FrameView.cpp:
3115         (WebCore::FrameView::scrollContentsFastPath):
3116
3117 2012-02-09  Sheriff Bot  <webkit.review.bot@gmail.com>
3118
3119         Unreviewed, rolling out r107035.
3120         http://trac.webkit.org/changeset/107035
3121         https://bugs.webkit.org/show_bug.cgi?id=78253
3122
3123         Regressed DOMDivWalk (Requested by arv on #webkit).
3124
3125         * Target.pri:
3126         * UseV8.cmake:
3127         * WebCore.gypi:
3128         * bindings/scripts/CodeGeneratorV8.pm:
3129         (GenerateNormalAttrGetter):
3130         (HasCustomToV8Implementation):
3131         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
3132         (WebCore::toV8):
3133         (WebCore):
3134         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp.
3135         (WebCore):
3136         (WebCore::toV8):
3137         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3138         (WebCore::toV8):
3139         (WebCore):
3140
3141 2012-02-09  David Barton  <dbarton@mathscribe.com>
3142
3143         MathML internals for bug 52444 fix - type checking, PassRefPtr
3144         https://bugs.webkit.org/show_bug.cgi?id=78180
3145
3146         Reviewed by Eric Seidel.
3147         
3148         static_cast<Element*>(node()) is done in methods in RenderMathMLFenced.cpp and a few
3149         other files. It is more type-safe if the RenderMathMLFenced() or other constructor only
3150         accepts an Element*, not a Node*. Also a couple functions were changed to return a
3151         PassRefPtr instead of a RefPtr.
3152
3153         No new tests.
3154
3155         * rendering/mathml/RenderMathMLFenced.cpp:
3156         (WebCore::RenderMathMLFenced::RenderMathMLFenced):
3157         (WebCore::RenderMathMLFenced::updateFromElement):
3158         (WebCore::RenderMathMLFenced::makeOperatorStyle):
3159         (WebCore::RenderMathMLFenced::makeFences):
3160         (WebCore::RenderMathMLFenced::addChild):
3161         * rendering/mathml/RenderMathMLFenced.h:
3162         (RenderMathMLFenced):
3163         * rendering/mathml/RenderMathMLFraction.cpp:
3164         (WebCore::RenderMathMLFraction::RenderMathMLFraction):
3165         * rendering/mathml/RenderMathMLFraction.h:
3166         (RenderMathMLFraction):
3167         * rendering/mathml/RenderMathMLMath.cpp:
3168         (WebCore::RenderMathMLMath::RenderMathMLMath):
3169         * rendering/mathml/RenderMathMLMath.h:
3170         (RenderMathMLMath):
3171         * rendering/mathml/RenderMathMLOperator.cpp:
3172         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
3173         (WebCore::RenderMathMLOperator::updateFromElement):
3174         (WebCore::RenderMathMLOperator::createStackableStyle):
3175         (WebCore::RenderMathMLOperator::createGlyph):
3176         * rendering/mathml/RenderMathMLOperator.h:
3177         (RenderMathMLOperator):
3178         * rendering/mathml/RenderMathMLRoot.cpp:
3179         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
3180         (WebCore::RenderMathMLRoot::layout):
3181         * rendering/mathml/RenderMathMLRoot.h:
3182         (RenderMathMLRoot):
3183         * rendering/mathml/RenderMathMLRow.cpp:
3184         (WebCore::RenderMathMLRow::RenderMathMLRow):
3185         * rendering/mathml/RenderMathMLRow.h:
3186         (RenderMathMLRow):
3187         * rendering/mathml/RenderMathMLSquareRoot.cpp:
3188         (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
3189         * rendering/mathml/RenderMathMLSquareRoot.h:
3190         (RenderMathMLSquareRoot):
3191         * rendering/mathml/RenderMathMLSubSup.cpp:
3192         (WebCore::RenderMathMLSubSup::addChild):
3193         * rendering/mathml/RenderMathMLSubSup.h:
3194         (RenderMathMLSubSup):
3195         * rendering/mathml/RenderMathMLUnderOver.cpp:
3196         (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
3197         * rendering/mathml/RenderMathMLUnderOver.h:
3198         (RenderMathMLUnderOver):
3199
3200 2012-02-09  Andreas Kling  <awesomekling@apple.com>
3201
3202         Avoid unnecessary work when evaluating style sharing candidates.
3203         <http://webkit.org/b/78220>
3204
3205         Reviewed by Antti Koivisto.
3206
3207         Do the cheap checks (bitfields, pointers) before calling virtuals and doing hash lookups.
3208         Remove comparison of attributes that are reflected in the attribute styles (cellpadding,
3209         lang and xml:lang.) Moved comparison of "type" and "readonly" attributes into the more
3210         specific canShareStyleWithControl() since they are only relevant for input elements.
3211         Don't bother calling isFormControlElement() on both elements since we already know they
3212         have the same tagQName().
3213
3214         Altogether this knocks off 8-9ms worth of samples per cycle of the "Moz" page cycler test.
3215
3216         * css/CSSStyleSelector.cpp:
3217         (WebCore::CSSStyleSelector::canShareStyleWithControl):
3218         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3219         (WebCore::isCommonAttributeSelectorAttribute):
3220
3221 2012-02-09  Mike Lawther  <mikelawther@chromium.org>
3222
3223         CSS3 calc() - remove mod
3224         https://bugs.webkit.org/show_bug.cgi?id=78226
3225
3226         mod has been removed from the spec for calc().
3227
3228         Reviewed by Ojan Vafai.
3229
3230         * css/CSSCalculationValue.cpp:
3231         (WebCore::CSSCalcBinaryOperation::create):
3232         (WebCore::CSSCalcBinaryOperation::evaluate):
3233         (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
3234         * css/CSSGrammar.y:
3235         * platform/CalculationValue.h:
3236
3237 2012-02-09  Pavel Feldman  <pfeldman@google.com>
3238
3239         Web Inspector: rename DOMEditor to DOMPatchSupport, move undoable actions from
3240         InspectorDOMAgent to the new DOMEditor.
3241         https://bugs.webkit.org/show_bug.cgi?id=78245
3242
3243         Reviewed by Yury Semikhatsky.
3244
3245         * CMakeLists.txt:
3246         * GNUmakefile.list.am:
3247         * Target.pri:
3248         * WebCore.gypi:
3249         * WebCore.vcproj/WebCore.vcproj:
3250         * WebCore.xcodeproj/project.pbxproj:
3251         * inspector/DOMEditor.cpp:
3252         (DOMEditor::DOMAction):
3253         (WebCore::DOMEditor::DOMAction::DOMAction):
3254         (WebCore::DOMEditor::DOMAction::perform):
3255         (WebCore::DOMEditor::DOMAction::undo):
3256         (DOMEditor::RemoveChildAction):
3257         (WebCore::DOMEditor::RemoveChildAction::RemoveChildAction):
3258         (WebCore::DOMEditor::RemoveChildAction::perform):
3259         (WebCore::DOMEditor::RemoveChildAction::undo):
3260         (DOMEditor::InsertBeforeAction):
3261         (WebCore::DOMEditor::InsertBeforeAction::InsertBeforeAction):
3262         (WebCore::DOMEditor::InsertBeforeAction::perform):
3263         (WebCore::DOMEditor::InsertBeforeAction::undo):
3264         (DOMEditor::RemoveAttributeAction):
3265         (WebCore::DOMEditor::RemoveAttributeAction::RemoveAttributeAction):
3266         (WebCore::DOMEditor::RemoveAttributeAction::perform):
3267         (WebCore::DOMEditor::RemoveAttributeAction::undo):
3268         (DOMEditor::SetAttributeAction):
3269         (WebCore::DOMEditor::SetAttributeAction::SetAttributeAction):
3270         (WebCore::DOMEditor::SetAttributeAction::perform):
3271         (WebCore::DOMEditor::SetAttributeAction::undo):
3272         (DOMEditor::SetOuterHTMLAction):
3273         (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
3274         (WebCore::DOMEditor::SetOuterHTMLAction::perform):
3275         (WebCore::DOMEditor::SetOuterHTMLAction::undo):
3276         (WebCore::DOMEditor::SetOuterHTMLAction::newNode):
3277         (DOMEditor::ReplaceWholeTextAction):
3278         (WebCore::DOMEditor::ReplaceWholeTextAction::ReplaceWholeTextAction):
3279         (WebCore::DOMEditor::ReplaceWholeTextAction::perform):
3280         (WebCore::DOMEditor::ReplaceWholeTextAction::undo):
3281         (WebCore::DOMEditor::DOMEditor):
3282         (WebCore):
3283         (WebCore::DOMEditor::~DOMEditor):
3284         (WebCore::DOMEditor::insertBefore):
3285         (WebCore::DOMEditor::removeChild):
3286         (WebCore::DOMEditor::setAttribute):
3287         (WebCore::DOMEditor::removeAttribute):
3288         (WebCore::DOMEditor::setOuterHTML):
3289         (WebCore::DOMEditor::replaceWholeText):
3290         * inspector/DOMEditor.h:
3291         (WebCore):
3292         (DOMEditor):
3293         * inspector/DOMPatchSupport.cpp: Copied from Source/WebCore/inspector/DOMEditor.cpp.
3294         (WebCore::DOMPatchSupport::DOMPatchSupport):
3295         (WebCore::DOMPatchSupport::~DOMPatchSupport):
3296         (WebCore::DOMPatchSupport::patchDocument):
3297         (WebCore::DOMPatchSupport::patchNode):
3298         (WebCore::DOMPatchSupport::innerPatchNode):
3299         (WebCore):
3300         (WebCore::DOMPatchSupport::diff):
3301         (WebCore::DOMPatchSupport::innerPatchChildren):
3302         (WebCore::DOMPatchSupport::createDigest):
3303         (WebCore::DOMPatchSupport::insertBefore):
3304         (WebCore::DOMPatchSupport::removeChild):
3305         (WebCore::DOMPatchSupport::markNodeAsUsed):
3306         (WebCore::DOMPatchSupport::dumpMap):
3307         * inspector/DOMPatchSupport.h: Copied from Source/WebCore/inspector/DOMEditor.h.
3308         (DOMPatchSupport):
3309         * inspector/InspectorDOMAgent.cpp:
3310         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3311         (WebCore::InspectorDOMAgent::setFrontend):
3312         (WebCore::InspectorDOMAgent::clearFrontend):
3313         (WebCore::InspectorDOMAgent::reset):
3314         (WebCore::InspectorDOMAgent::setAttributeValue):
3315         (WebCore::InspectorDOMAgent::setAttributesAsText):
3316         (WebCore::InspectorDOMAgent::removeAttribute):
3317         (WebCore::InspectorDOMAgent::removeNode):
3318         (WebCore::InspectorDOMAgent::setNodeName):
3319         (WebCore::InspectorDOMAgent::setOuterHTML):
3320         (WebCore::InspectorDOMAgent::setNodeValue):
3321         (WebCore::InspectorDOMAgent::moveTo):
3322         * inspector/InspectorDOMAgent.h:
3323         (WebCore):
3324         (InspectorDOMAgent):
3325         * inspector/InspectorPageAgent.cpp:
3326         (WebCore::InspectorPageAgent::setDocumentContent):
3327
3328 2012-02-09  Mark Rowe  <mrowe@apple.com>
3329
3330         REGRESSION (r104746): iframes load PDFs as media documents
3331         <http://webkit.org/b/77079> / <rdar://problem/10757933>
3332
3333         Roll out r104746 since it completely broke support for loading PDF documents in subframes.
3334
3335         Reviewed by Adam Treat.
3336
3337         * dom/DOMImplementation.cpp:
3338         (WebCore::DOMImplementation::createDocument):
3339
3340 2012-02-09  Andrey Kosyakov  <caseq@chromium.org>
3341
3342         Web Inspector: [refactoring] take _showShortEvents out of timeline calculator
3343         https://bugs.webkit.org/show_bug.cgi?id=78230
3344
3345         Reviewed by Pavel Feldman.
3346
3347         * inspector/front-end/TimelinePanel.js:
3348         (WebInspector.TimelinePanel):
3349         (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
3350         (WebInspector.TimelinePanel.prototype._refresh):
3351         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
3352
3353 2012-02-08  Dan Vrátil  <dvratil@redhat.com>, Milan Crha <mcrha@redhat.com>
3354
3355         [GTK] Embedded GtkWidgets are not drawn
3356         https://bugs.webkit.org/show_bug.cgi?id=63451
3357
3358         Remove widget from it's parent container when GtkPluginWidget is destroyed.
3359         Remove paint() method because real expose even is used for drawing child widgets now.
3360
3361         Reviewed by Martin Robinson.
3362
3363         * platform/gtk/GtkPluginWidget.cpp:
3364         (WebCore::GtkPluginWidget::~GtkPluginWidget):
3365         (WebCore):
3366         * platform/gtk/GtkPluginWidget.h:
3367         (GtkPluginWidget):
3368
3369 2012-02-09  Arun Patole  <arun.patole@motorola.com>
3370
3371         Setting media element 'src' attribute to "" should trigger load
3372         https://bugs.webkit.org/show_bug.cgi?id=47907
3373
3374         Reviewed by Eric Carlson.
3375
3376         Test: media/video-src-empty.html
3377
3378         * html/HTMLMediaElement.cpp:
3379         (WebCore::HTMLMediaElement::attributeChanged):Trigger a load, as long as the 'src' attribute is present.
3380
3381 2012-02-09  Jonathan Backer  <backer@chromium.org>
3382
3383         [chromium] Add setNeedsRedraw to WebWidget
3384         https://bugs.webkit.org/show_bug.cgi?id=77555
3385
3386         Reviewed by James Robinson.
3387
3388         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3389         (WebCore::CCLayerTreeHost::setNeedsRedraw):
3390         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3391         (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage):
3392         (WebCore):
3393         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3394         (CCLayerTreeHostImpl):
3395         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3396         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
3397         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3398         (WebCore::CCThreadProxy::setNeedsRedraw):
3399         (WebCore::CCThreadProxy::setFullRootLayerDamageOnImplThread):
3400         (WebCore):
3401         * platform/graphics/chromium/cc/CCThreadProxy.h:
3402         (CCThreadProxy):
3403
3404 2012-02-09  Pavel Feldman  <pfeldman@google.com>
3405
3406         Web Inspector: fix setOuterHTML for the case that adds / removes duplicate.
3407         https://bugs.webkit.org/show_bug.cgi?id=78235
3408
3409         Reviewed by Yury Semikhatsky.
3410
3411         * inspector/DOMEditor.cpp:
3412         (WebCore::DOMEditor::diff):
3413         (WebCore::DOMEditor::innerPatchChildren):
3414         (WebCore):
3415         (WebCore::nodeName):
3416         (WebCore::DOMEditor::dumpMap):
3417         * inspector/DOMEditor.h:
3418         (DOMEditor):
3419
3420 2012-02-09  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3421
3422         Ensure timers and other active DOM objects do not fire in suspended documents.
3423         https://bugs.webkit.org/show_bug.cgi?id=53733
3424
3425         ScriptExecutionContext now remembers it has suspended active DOM objects
3426         and suspends all newly installed active DOM objects as well.
3427
3428         All create-calls active DOM objects now calls the post constructor method
3429         suspendIfNeeded that updates the suspend state. It is post constructor
3430         because the suspend/resume functions are virtual and thus can not be called
3431         from constructors.
3432
3433         Reviewed by Mihai Parparita.
3434
3435         Test: fast/events/suspend-timers.html
3436
3437         * Modules/intents/IntentRequest.cpp:
3438         (WebCore::IntentRequest::create):
3439         * bindings/generic/ActiveDOMCallback.cpp:
3440         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
3441         * dom/ActiveDOMObject.cpp:
3442         (WebCore::ActiveDOMObject::ActiveDOMObject):
3443         (WebCore::ActiveDOMObject::~ActiveDOMObject):
3444         (WebCore::ActiveDOMObject::suspendIfNeeded):
3445         * dom/ActiveDOMObject.h:
3446         (WebCore::ActiveDOMObject::suspendIfNeededCalled):
3447         * dom/DocumentEventQueue.cpp:
3448         (WebCore::DocumentEventQueue::DocumentEventQueue):
3449         * dom/ScriptExecutionContext.cpp:
3450         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
3451         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3452         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
3453         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
3454         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
3455         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
3456         (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
3457         * dom/ScriptExecutionContext.h:
3458         (ScriptExecutionContext):
3459         (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
3460         * fileapi/DOMFileSystem.cpp:
3461         (WebCore::DOMFileSystem::create):
3462         * fileapi/FileReader.cpp:
3463         (WebCore::FileReader::create):
3464         * fileapi/FileReader.h:
3465         * fileapi/FileWriter.cpp:
3466         (WebCore::FileWriter::create):
3467         * fileapi/FileWriter.h:
3468         * history/CachedFrame.cpp:
3469         (WebCore::CachedFrame::CachedFrame):
3470         * html/HTMLAudioElement.cpp:
3471         (WebCore::HTMLAudioElement::create):
3472         (WebCore::HTMLAudioElement::createForJSConstructor):
3473         * html/HTMLMarqueeElement.cpp:
3474         (WebCore::HTMLMarqueeElement::create):
3475         * html/HTMLVideoElement.cpp:
3476         (WebCore::HTMLVideoElement::create):
3477         * mediastream/PeerConnection.cpp:
3478         (WebCore::PeerConnection::create):
3479         * notifications/Notification.cpp:
3480         (WebCore::Notification::create):
3481         * notifications/NotificationCenter.cpp:
3482</