font shorthand with inherit keyword incorrectly parsed and rendered
[WebKit.git] / Source / WebCore / ChangeLog
1 2012-02-14  Alexis Menard  <alexis.menard@openbossa.org>
2
3         font shorthand with inherit keyword incorrectly parsed and rendered
4         https://bugs.webkit.org/show_bug.cgi?id=20181
5
6         Reviewed by Tony Chang.
7
8         As stated in http://www.w3.org/TR/CSS21/changes.html#q142
9         if the inherit (and also by extension initial) is encountered in the
10         middle of the shorthand then the property becomes invalid.
11
12         Test: fast/css/font-shorthand-mix-inherit.html
13
14         * css/CSSParser.cpp:
15         (WebCore::CSSParser::parseFont):
16         (WebCore::CSSParser::parseFontFamily):
17
18 2012-02-14  Abhishek Arya  <inferno@chromium.org>
19
20         Crash due to incorrect firing of mutation event during class attribute parsing.
21         https://bugs.webkit.org/show_bug.cgi?id=78537
22
23         Reviewed by Ryosuke Niwa.
24
25         Test: fast/dom/class-attr-change-double-mutation-fire.html
26
27         * dom/StyledElement.cpp:
28         (WebCore::StyledElement::classAttributeChanged):
29
30 2012-02-14  Mike Lawther  <mikelawther@chromium.org>
31
32         CSS3 calc: add isZero implementations to catch divide by zero
33         https://bugs.webkit.org/show_bug.cgi?id=78603
34
35         Reviewed by Ojan Vafai.
36
37         * css/CSSCalculationValue.cpp:
38         (WebCore::CSSCalcPrimitiveValue::isZero):
39         (CSSCalcPrimitiveValue):
40         (WebCore::CSSCalcBinaryOperation::isZero):
41         (CSSCalcBinaryOperation):
42         * css/CSSCalculationValue.h:
43         (CSSCalcExpressionNode):
44
45 2012-02-12  Timothy Hatcher  <timothy@apple.com>
46
47         Don't include CachedResources that haven't downloaded when populating the Web Inspector on load.
48
49         https://webkit.org/b/78447
50         rdar://problem/10843542
51
52         Reviewed by Brian Weinstein.
53
54         Test: inspector/protocol/page-agent.html
55
56         * inspector/InspectorPageAgent.cpp:
57         (WebCore::InspectorPageAgent::cachedResourcesForFrame): Skip CachedFonts and CachedImages that
58         return true for stillNeedsLoad.
59         * loader/cache/CachedFont.h:
60         (WebCore::CachedFont::stillNeedsLoad): Added.
61
62 2012-02-12  Timothy Hatcher  <timothy@apple.com>
63
64         Web Inspector: include failed and canceled in FrameResourceTree.
65
66         https://webkit.org/b/78445
67
68         Reviewed by Pavel Feldman.
69
70         Test: inspector/protocol/page-agent.html
71
72         * WebCore.xcodeproj/project.pbxproj: Added Inspector.json, Inspector-0.1.json and Inspector-1.0.json
73         for quick access and easy editing.
74         * inspector/Inspector.json: Added failed and canceled as optional properties to the object for resources in FrameResourceTree.
75         * inspector/InspectorPageAgent.cpp:
76         (WebCore::InspectorPageAgent::buildObjectForFrameTree): Set those properties.
77
78 2012-02-14  Csaba Osztrogon√°c  <ossy@webkit.org>
79
80         Typo fix after r107707.
81
82         * platform/graphics/texmap/TextureMapperNode.cpp:
83         (WebCore::TextureMapperNode::updateBackingStore):
84
85 2012-02-14  Andrey Kosyakov  <caseq@chromium.org>
86
87         Web Inspector: [refactoring] extract TimelineOverviewWindow from TimelineOverviewPanel
88         https://bugs.webkit.org/show_bug.cgi?id=78599
89
90         Reviewed by Pavel Feldman.
91
92         * inspector/front-end/TimelineOverviewPane.js:
93         (WebInspector.TimelineOverviewPane):
94         (WebInspector.TimelineOverviewPane.prototype.reset):
95         (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
96         (WebInspector.TimelineOverviewWindow):
97         (WebInspector.TimelineOverviewWindow.prototype.reset):
98         (WebInspector.TimelineOverviewWindow.prototype.scrollWindow):
99         (WebInspector.TimelineOverviewWindow.prototype._windowResizeDragging):
100         (WebInspector.TimelineOverviewWindow.prototype._dragWindow):
101         (WebInspector.TimelineOverviewWindow.prototype._windowSelectorDragging):
102         (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):
103         (WebInspector.TimelineOverviewWindow.prototype._windowDragging):
104         (WebInspector.TimelineOverviewWindow.prototype._resizeWindowRight):
105         (WebInspector.TimelineOverviewWindow.prototype._resizeWindowMaximum):
106         (WebInspector.TimelineOverviewWindow.prototype._setWindowPosition):
107         (WebInspector.TimelineOverviewWindow.prototype._endWindowDragging):
108         (WebInspector.TimelinePanel.WindowSelector):
109
110 2012-02-14  Vsevolod Vlasov  <vsevik@chromium.org>
111
112         Web Inspector: Make ScriptsNavigator default file selector.
113         https://bugs.webkit.org/show_bug.cgi?id=78349
114
115         Reviewed by Pavel Feldman.
116
117         Moved ScriptsNavigator out of experiments.
118         Introduced new setting "useScriptsNavigator" with true as default value.
119         Updated scripts panel tests related to file selector.
120
121         Tests: inspector/debugger/scripts-combobox-file-selector-history.html
122                inspector/debugger/scripts-file-selector.html
123
124         * English.lproj/localizedStrings.js:
125         * inspector/front-end/DebuggerPresentationModel.js:
126         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
127         * inspector/front-end/ScriptsNavigator.js:
128         (WebInspector.ScriptsNavigator.prototype._removeUISourceCode):
129         (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
130         * inspector/front-end/ScriptsPanel.js:
131         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
132         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
133         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
134         * inspector/front-end/Settings.js:
135         (WebInspector.ExperimentsSettings):
136         * inspector/front-end/SettingsScreen.js:
137         (WebInspector.SettingsScreen):
138
139 2012-02-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
140
141         [Qt][Texmap] Refactor backing-store code in TextureMapper
142         https://bugs.webkit.org/show_bug.cgi?id=78305
143
144         Instead of dealing with tiling inside of TextureMapperNode, we now deal with that in a new
145         TextureMapperBackingStore class. Since the class is abstract, WebKit2 can overload it to
146         support remotely-managed tiles.
147         The backing-store for directly composited images is handled separately, in a new class
148         TextureMapperCompositedImage. The TextureMapper implementation decides the dimension of
149         the tiles, for example 2000 in the case of OpenGL.
150         Also, directly composited content is now handled correctly, by painting it after the regular
151         content and not as part of the same texture.
152
153         To make this work, the functions in TextureMapperPlatformLayers had to become non-const,
154         thus the changes to that file and GraphicsContext3DQt.
155
156         Reviewed by Kenneth Rohde Christiansen.
157
158         No new functionality, no new tests.
159
160         * GNUmakefile.list.am:
161         * Target.pri:
162         * WebCore.gypi:
163         * platform/graphics/opengl/TextureMapperGL.h:
164         (WebCore::TextureMapperGL::maxTextureDimension):
165         * platform/graphics/qt/GraphicsContext3DQt.cpp:
166         (GraphicsContext3DPrivate):
167         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
168         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
169         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
170         (WebCore::GraphicsLayerTextureMapper::didSynchronize):
171         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
172         (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
173         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
174         (WebCore::GraphicsLayerTextureMapper::addChildBelow):
175         (WebCore):
176         (WebCore::GraphicsLayerTextureMapper::getContentsLayer):
177         (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
178         (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
179         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
180         (GraphicsLayerTextureMapper):
181         (WebCore::GraphicsLayerTextureMapper::platformLayer):
182         (WebCore::GraphicsLayerTextureMapper::needsDisplay):
183         (WebCore::GraphicsLayerTextureMapper::needsDisplayRect):
184         * platform/graphics/texmap/TextureMapper.cpp:
185         * platform/graphics/texmap/TextureMapper.h:
186         (WebCore::TextureMapper::maxTextureDimension):
187         (TextureMapper):
188         * platform/graphics/texmap/TextureMapperBackingStore.cpp: Added.
189         * platform/graphics/texmap/TextureMapperBackingStore.h: Added.
190         * platform/graphics/texmap/TextureMapperNode.cpp:
191         (WebCore::TextureMapperNode::backingStore):
192         (WebCore::TextureMapperNode::updateBackingStore):
193         (WebCore::TextureMapperNode::paint):
194         (WebCore::TextureMapperNode::paintSelf):
195         (WebCore::TextureMapperNode::intermediateSurfaceRect):
196         (WebCore::TextureMapperNode::paintRecursive):
197         (WebCore::TextureMapperNode::syncCompositingStateSelf):
198         (WebCore::TextureMapperNode::syncCompositingState):
199         * platform/graphics/texmap/TextureMapperNode.h:
200         (TextureMapperPaintOptions):
201         (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
202         (WebCore::TextureMapperNode::TextureMapperNode):
203         (TextureMapperNode):
204         (WebCore::TextureMapperNode::setBackingStore):
205         (WebCore::TextureMapperNode::texture):
206         (WebCore::TextureMapperNode::layerRect):
207         (WebCore::TextureMapperNode::createBackingStore):
208         (State):
209         (WebCore::TextureMapperNode::State::State):
210         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
211         (TextureMapperPlatformLayer):
212         (WebCore::TextureMapperPlatformLayer::swapBuffers):
213
214 2012-02-14  Shinya Kawanaka  <shinyak@google.com>
215
216         Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot().
217         https://bugs.webkit.org/show_bug.cgi?id=78455
218
219         Reviewed by Hajime Morita.
220
221         Element::shadowRoot() was used for these 3 purposes.
222         1. checks a shadow root exists.
223         2. gets author shadow root.
224         3. gets user agent shadow root.
225
226         We have to distinguish them when implementing multiple shadow subtrees.
227
228         Calling for (1), (2), and (3) are convered to hasShadowRoot(),
229         ShadowRootList()->youngestShadowRoot(), and ShadowRootList()->oldestShadowRoot() respectively.
230
231         No new tests, no change in behavior.
232
233         * WebCore.exp.in:
234         * dom/Document.cpp:
235         (WebCore::Document::buildAccessKeyMap):
236         * dom/Element.cpp:
237         (WebCore::Element::insertedIntoDocument):
238         (WebCore::Element::removedFromDocument):
239         (WebCore::Element::insertedIntoTree):
240         (WebCore::Element::removedFromTree):
241         (WebCore::Element::attach):
242         (WebCore::Element::detach):
243         (WebCore::Element::recalcStyle):
244         (WebCore::Element::ensureShadowRoot):
245         (WebCore::Element::childrenChanged):
246         (WebCore::Element::focus):
247         * dom/Element.h:
248         (Element):
249         * dom/EventDispatcher.cpp:
250         (WebCore::isShadowHost):
251         * dom/Node.cpp:
252         (WebCore::shadowRoot):
253         * dom/NodeRenderingContext.cpp:
254         (WebCore::NodeRenderingContext::NodeRenderingContext):
255         * dom/ShadowRoot.cpp:
256         (WebCore::ShadowRoot::create):
257         * dom/ShadowRootList.cpp:
258         (WebCore::ShadowRootList::insertedIntoDocument):
259         (WebCore):
260         (WebCore::ShadowRootList::removedFromDocument):
261         (WebCore::ShadowRootList::insertedIntoTree):
262         (WebCore::ShadowRootList::removedFromTree):
263         (WebCore::ShadowRootList::hostChildrenChanged):
264         (WebCore::ShadowRootList::attach):
265         (WebCore::ShadowRootList::detach):
266         * dom/ShadowRootList.h:
267         (ShadowRootList):
268         * dom/TreeScopeAdopter.cpp:
269         (WebCore::shadowRootFor):
270         * html/FileInputType.cpp:
271         (WebCore::FileInputType::createShadowSubtree):
272         (WebCore::FileInputType::multipleAttributeChanged):
273         * html/HTMLDetailsElement.cpp:
274         (WebCore::HTMLDetailsElement::createShadowSubtree):
275         (WebCore::HTMLDetailsElement::findMainSummary):
276         * html/HTMLInputElement.cpp:
277         (WebCore::HTMLInputElement::createShadowSubtree):
278         * html/HTMLKeygenElement.cpp:
279         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
280         (WebCore::HTMLKeygenElement::shadowSelect):
281         * html/HTMLMediaElement.cpp:
282         (WebCore::HTMLMediaElement::mediaControls):
283         (WebCore::HTMLMediaElement::hasMediaControls):
284         * html/HTMLMeterElement.cpp:
285         (WebCore::HTMLMeterElement::createShadowSubtree):
286         * html/HTMLProgressElement.cpp:
287         (WebCore::HTMLProgressElement::createShadowSubtree):
288         * html/HTMLSummaryElement.cpp:
289         (WebCore::HTMLSummaryElement::createShadowSubtree):
290         * html/HTMLTextAreaElement.cpp:
291         (WebCore::HTMLTextAreaElement::createShadowSubtree):
292         (WebCore::HTMLTextAreaElement::innerTextElement):
293         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
294         * html/InputType.cpp:
295         (WebCore::InputType::destroyShadowSubtree):
296         * html/RangeInputType.cpp:
297         (WebCore::RangeInputType::handleMouseDownEvent):
298         (WebCore::RangeInputType::createShadowSubtree):
299         * html/TextFieldInputType.cpp:
300         (WebCore::TextFieldInputType::createShadowSubtree):
301         (WebCore::TextFieldInputType::updatePlaceholderText):
302         * html/ValidationMessage.cpp:
303         (WebCore::ValidationMessage::deleteBubbleTree):
304         * html/shadow/SliderThumbElement.cpp:
305         (WebCore::sliderThumbElementOf):
306         (WebCore::RenderSliderContainer::layout):
307         (WebCore::trackLimiterElementOf):
308         * page/FocusController.cpp:
309         (WebCore::shadowRoot):
310         * rendering/RenderFileUploadControl.cpp:
311         (WebCore::RenderFileUploadControl::uploadButton):
312         * svg/SVGTRefElement.cpp:
313         (WebCore::SVGTRefElement::updateReferencedText):
314         * testing/Internals.cpp:
315         (WebCore::Internals::ensureShadowRoot):
316         (WebCore::Internals::shadowRoot):
317         (WebCore):
318         (WebCore::Internals::youngestShadowRoot):
319         (WebCore::Internals::oldestShadowRoot):
320         * testing/Internals.h:
321         (Internals):
322         * testing/Internals.idl:
323
324 2012-02-14  Alexander Pavlov  <apavlov@chromium.org>
325
326         Elements panel needs to be able to preview images
327         https://bugs.webkit.org/show_bug.cgi?id=21570
328
329         Reviewed by Pavel Feldman.
330
331         * inspector/front-end/ElementsPanel.js:
332         (WebInspector.ElementsPanel):
333         (WebInspector.ElementsPanel.prototype.willHide):
334         (WebInspector.ElementsPanel.prototype._getPopoverAnchor):
335         (WebInspector.ElementsPanel.prototype._loadDimensionsForNode.resolvedNode.dimensions):
336         (WebInspector.ElementsPanel.prototype._loadDimensionsForNode.resolvedNode):
337         (WebInspector.ElementsPanel.prototype._loadDimensionsForNode):
338         (WebInspector.ElementsPanel.prototype._showPopover.dimensionsCallback):
339         (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
340         (WebInspector.ElementsPanel.prototype._showPopover.buildPopoverContents):
341         (WebInspector.ElementsPanel.prototype._showPopover):
342         * inspector/front-end/ElementsTreeOutline.js:
343         (WebInspector.ElementsTreeOutline.prototype._onmousemove):
344         * inspector/front-end/StylesSidebarPane.js:
345         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.get g):
346         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
347         * inspector/front-end/elementsPanel.css:
348         (.image-preview-container):
349         (.image-preview-container img):
350
351 2012-02-14  Pavel Feldman  <pfeldman@chromium.org>
352
353         Web Inspector: List expansion arrows is pointing down even
354         when the list of eventListeners are hidden in the Elements tab
355         https://bugs.webkit.org/show_bug.cgi?id=78360
356
357         Reviewed by Timothy Hatcher.
358
359         * inspector/front-end/elementsPanel.css:
360         (.section .event-bar .header):
361         (.section .event-bars .event-bar .header .title):
362         (.section .event-bar .header .subtitle):
363         (.section .event-bar .header::before):
364         (.section .event-bar.expanded .header::before):
365
366 2012-02-14  Hayato Ito  <hayato@chromium.org>
367
368         Make ShadowRoot.nodeType return DOCUMENT_FRAGMENT_NODE.
369         https://bugs.webkit.org/show_bug.cgi?id=77514
370
371         Reviewed by Dimitri Glazkov.
372
373         NodeType.SHADOW_ROOT_NODE type is finally gone.
374
375         * bindings/js/JSNodeCustom.cpp:
376         (WebCore::createWrapperInline):
377         * bindings/objc/DOM.mm:
378         (kitClass):
379         * bindings/v8/custom/V8NodeCustom.cpp:
380         (WebCore::toV8Slow):
381         * dom/ContainerNode.cpp:
382         (WebCore::collectTargetNodes):
383         (WebCore::ContainerNode::replaceChild):
384         * dom/Document.cpp:
385         (WebCore::Document::importNode):
386         (WebCore::Document::childTypeAllowed):
387         (WebCore::Document::canReplaceChild):
388         * dom/Node.cpp:
389         (WebCore::Node::dumpStatistics):
390         (WebCore::Node::isDefaultNamespace):
391         (WebCore::Node::lookupPrefix):
392         (WebCore::Node::lookupNamespaceURI):
393         (WebCore::appendTextContent):
394         (WebCore::Node::setTextContent):
395         * dom/Node.h:
396         * dom/Range.cpp:
397         (WebCore::lengthOfContentsInNode):
398         (WebCore::Range::processContentsBetweenOffsets):
399         (WebCore::Range::insertNode):
400         (WebCore::Range::checkNodeWOffset):
401         (WebCore::Range::checkNodeBA):
402         (WebCore::Range::selectNode):
403         (WebCore::Range::selectNodeContents):
404         (WebCore::Range::surroundContents):
405         * dom/ShadowRoot.cpp:
406         * dom/ShadowRoot.h:
407         (ShadowRoot):
408         (WebCore::toShadowRoot):
409         * editing/FrameSelection.cpp:
410         (WebCore::nodeIsDetachedFromDocument):
411         (WebCore):
412         (WebCore::FrameSelection::textWillBeReplaced):
413         * editing/MarkupAccumulator.cpp:
414         (WebCore::MarkupAccumulator::appendStartMarkup):
415         * html/parser/HTMLElementStack.cpp:
416         (WebCore::HTMLNames::isRootNode):
417         (WebCore::HTMLElementStack::pushRootNode):
418         * html/parser/HTMLElementStack.h:
419         (WebCore::isInHTMLNamespace):
420         * inspector/InspectorDOMAgent.cpp:
421         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
422         (WebCore::InspectorDOMAgent::buildObjectForNode):
423         * xml/XPathUtil.cpp:
424         (WebCore::XPath::isValidContextNode):
425
426 2012-02-14  Andreas Kling  <awesomekling@apple.com>
427
428         StylePropertySet: Try to find a CSSValuePool for identifier values.
429         <http://webkit.org/b/78590>
430
431         Reviewed by Antti Koivisto.
432
433         For StylePropertySets with a parent element (inline and attribute style),
434         grab at the parentElement()->document() to locate a CSSValuePool.
435         This code will change soon in the CSSOM refactoring and moreso once we
436         figure out how to have a global CSSValuePool, but I'm hoping it will buy
437         us some perf back in the meantime.
438
439         * css/StylePropertySet.cpp:
440         (WebCore::StylePropertySet::setProperty):
441
442 2012-02-14  Nikolas Zimmermann  <nzimmermann@rim.com>
443
444         Convert svg/animations to use SMIL methods for driving the timeline
445         https://bugs.webkit.org/show_bug.cgi?id=78422
446
447         Reviewed by Hajime Morita.
448
449         Fix last-minute typo in clearTimesWithDynamicOrigins, leading to assertions browsing the W3C SVG animation tests.
450         Covered by existing tests in svg/animations.
451
452         * svg/SVGAnimationElement.cpp: Remove unused endedActiveInterval.
453         * svg/SVGAnimationElement.h: Ditto.
454         * svg/animation/SVGSMILElement.cpp:
455         (WebCore::clearTimesWithDynamicOrigins): Fix order of walking the times list.
456         (WebCore::SVGSMILElement::reset): Move calls to clearTimesWithDynamicOrigins into endedActiveInterval.
457         (WebCore::SVGSMILElement::endedActiveInterval):
458         * svg/animation/SVGSMILElement.h:
459         (SVGSMILElement): Devirtualize endedActiveInterval.
460
461 2012-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
462
463         Unreviewed, rolling out r107661.
464         http://trac.webkit.org/changeset/107661
465         https://bugs.webkit.org/show_bug.cgi?id=78591
466
467         crash on lion/qt bots (Requested by hayato on #webkit).
468
469         * bindings/js/JSNodeCustom.cpp:
470         (WebCore::createWrapperInline):
471         * bindings/objc/DOM.mm:
472         (kitClass):
473         * bindings/v8/custom/V8NodeCustom.cpp:
474         (WebCore::toV8Slow):
475         * dom/ContainerNode.cpp:
476         (WebCore::collectTargetNodes):
477         (WebCore::ContainerNode::replaceChild):
478         * dom/Document.cpp:
479         (WebCore::Document::importNode):
480         (WebCore::Document::childTypeAllowed):
481         (WebCore::Document::canReplaceChild):
482         * dom/Node.cpp:
483         (WebCore::Node::dumpStatistics):
484         (WebCore::Node::isDefaultNamespace):
485         (WebCore::Node::lookupPrefix):
486         (WebCore::Node::lookupNamespaceURI):
487         (WebCore::appendTextContent):
488         (WebCore::Node::setTextContent):
489         * dom/Node.h:
490         * dom/Range.cpp:
491         (WebCore::lengthOfContentsInNode):
492         (WebCore::Range::processContentsBetweenOffsets):
493         (WebCore::Range::insertNode):
494         (WebCore::Range::checkNodeWOffset):
495         (WebCore::Range::checkNodeBA):
496         (WebCore::Range::selectNode):
497         (WebCore::Range::selectNodeContents):
498         (WebCore::Range::surroundContents):
499         * dom/ShadowRoot.cpp:
500         (WebCore::ShadowRoot::nodeType):
501         (WebCore):
502         * dom/ShadowRoot.h:
503         (ShadowRoot):
504         (WebCore::toShadowRoot):
505         * editing/FrameSelection.cpp:
506         (WebCore::FrameSelection::textWillBeReplaced):
507         * editing/MarkupAccumulator.cpp:
508         (WebCore::MarkupAccumulator::appendStartMarkup):
509         * html/parser/HTMLElementStack.cpp:
510         (WebCore::HTMLNames::isRootNode):
511         (WebCore::HTMLElementStack::pushRootNode):
512         * html/parser/HTMLElementStack.h:
513         (WebCore::isInHTMLNamespace):
514         * inspector/InspectorDOMAgent.cpp:
515         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
516         (WebCore::InspectorDOMAgent::buildObjectForNode):
517         * xml/XPathUtil.cpp:
518         (WebCore::XPath::isValidContextNode):
519
520 2012-02-14  Hayato Ito  <hayato@chromium.org>
521
522         Fix typo. HTMLContentSeleciton -> HTMLContentSelection.
523         https://bugs.webkit.org/show_bug.cgi?id=78571
524
525         Reviewed by Hajime Morita.
526
527         No tests. No change in behavior.
528
529         * dom/NodeRenderingContext.cpp:
530         (WebCore::nextRendererOf):
531         (WebCore::previousRendererOf):
532         (WebCore::firstRendererOf):
533         (WebCore::lastRendererOf):
534         * dom/ShadowRoot.cpp:
535         (WebCore::ShadowRoot::insertionPointFor):
536         * html/shadow/HTMLContentElement.cpp:
537         (WebCore::HTMLContentElement::attach):
538         * html/shadow/HTMLContentSelector.cpp:
539         (WebCore::HTMLContentSelection::append):
540         (WebCore::HTMLContentSelection::unlink):
541         (WebCore::HTMLContentSelectionList::find):
542         (WebCore::HTMLContentSelectionList::append):
543         (WebCore::HTMLContentSelector::select):
544         (WebCore::HTMLContentSelector::unselect):
545         (WebCore::HTMLContentSelector::findFor):
546         * html/shadow/HTMLContentSelector.h:
547         (HTMLContentSelection):
548         (WebCore::HTMLContentSelection::next):
549         (WebCore::HTMLContentSelection::previous):
550         (WebCore::HTMLContentSelection::HTMLContentSelection):
551         (WebCore::HTMLContentSelection::create):
552         (WebCore::HTMLContentSelectionList::first):
553         (WebCore::HTMLContentSelectionList::last):
554         (HTMLContentSelectionList):
555         (WebCore::HTMLContentSelectionSet::add):
556         (WebCore::HTMLContentSelectionSet::remove):
557         (HTMLContentSelectionSet):
558         (WebCore::HTMLContentSelectionSet::Translator::equal):
559         (WebCore::HTMLContentSelectionSet::Hash::hash):
560         (WebCore::HTMLContentSelectionSet::Hash::equal):
561         (WebCore::HTMLContentSelectionSet::find):
562         (HTMLContentSelector):
563
564 2012-02-14  Mike Lawther  <mikelawther@chromium.org>
565
566         CSS3 calc: embed calc expressions in CSSPrimitiveValue
567         https://bugs.webkit.org/show_bug.cgi?id=78446
568
569         Reviewed by Ojan Vafai.
570         
571         Adds calc expressions to CSSPrimitiveValue. This enables simple (ie no mixing of
572         percents with numbers/lengths) expressions to be evaluated on most properties.
573
574         Tests: css3/calc/block-mask-overlay-image-outset-expected.html
575                css3/calc/css3-radial-gradients-expected.html
576                css3/calc/gradient-color-stops-expected.html
577
578         * css/CSSCalculationValue.cpp:
579         (WebCore::CSSCalcValue::computeLengthPx):
580         (WebCore):
581         (WebCore::CSSCalcPrimitiveValue::doubleValue):
582         (CSSCalcPrimitiveValue):
583         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
584         (CSSCalcBinaryOperation):
585         (WebCore::CSSCalcBinaryOperation::computeLengthPx):
586         * css/CSSCalculationValue.h:
587         (CSSCalcExpressionNode):
588         (CSSCalcValue):
589         * css/CSSParser.cpp:
590         (WebCore::CSSParser::createPrimitiveNumericValue):
591         (WebCore::CSSParser::parseValidPrimitive):
592         * css/CSSPrimitiveValue.cpp:
593         (WebCore::isValidCSSUnitTypeForDoubleConversion):
594         (WebCore::CSSPrimitiveValue::primitiveType):
595         (WebCore::CSSPrimitiveValue::init):
596         (WebCore):
597         (WebCore::CSSPrimitiveValue::cleanup):
598         (WebCore::CSSPrimitiveValue::computeLengthDouble):
599         (WebCore::CSSPrimitiveValue::getDoubleValue):
600         (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
601         (WebCore::CSSPrimitiveValue::customCssText):
602         * css/CSSPrimitiveValue.h:
603         (WebCore):
604         (WebCore::CSSPrimitiveValue::isLength):
605         (WebCore::CSSPrimitiveValue::isNumber):
606         (WebCore::CSSPrimitiveValue::isPercentage):
607         (WebCore::CSSPrimitiveValue::isPx):
608         (WebCore::CSSPrimitiveValue::isCalculated):
609         (WebCore::CSSPrimitiveValue::isCalculatedPercentageNumber):
610         (WebCore::CSSPrimitiveValue::isCalculatedPercentageLength):
611         (CSSPrimitiveValue):
612         (WebCore::CSSPrimitiveValue::getValue):
613         (WebCore::CSSPrimitiveValue::cssCalcValue):
614         * css/CSSStyleApplyProperty.cpp:
615         (WebCore::ApplyPropertyBorderRadius::applyValue):
616
617 2012-02-14  Pavel Feldman  <pfeldman@chromium.org>
618
619         Not reviewed: follow up to r107683: protect inspector sidebar from updating
620         while inserting new rule.
621
622         * inspector/front-end/StylesSidebarPane.js:
623         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
624         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
625
626 2012-02-14  Rick Byers  <rbyers@.com>
627
628         Extend Chromium V8 tracing to cover more cases
629         https://bugs.webkit.org/show_bug.cgi?id=78507
630
631         Reviewed by Eric Seidel.
632
633         No tests modified because this affects only chrome tracing which we
634         currently don't try to validate with automated tests.
635
636         * bindings/v8/V8EventListener.cpp:
637         (WebCore::V8EventListener::callListenerFunction):
638         * bindings/v8/V8Proxy.cpp:
639         (WebCore::V8Proxy::instrumentedCallFunction):
640         (WebCore::V8Proxy::newInstance):
641
642 2012-02-14  Pavel Feldman  <pfeldman@google.com>
643
644         Web Inspector: fire stylesheet changed event upon CSS modifications.
645         https://bugs.webkit.org/show_bug.cgi?id=78500
646
647         Reviewed by Yury Semikhatsky.
648
649         * inspector/Inspector.json:
650         * inspector/InspectorCSSAgent.cpp:
651         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::mergeId):
652         (InspectorCSSAgent::SetStyleSheetTextAction):
653         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::merge):
654         (WebCore::InspectorCSSAgent::setStyleSheetText):
655         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
656         (WebCore::InspectorCSSAgent::bindStyleSheet):
657         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
658         (WebCore::InspectorCSSAgent::styleSheetChanged):
659         (WebCore):
660         * inspector/InspectorCSSAgent.h:
661         (InspectorCSSAgent):
662         * inspector/InspectorStyleSheet.cpp:
663         (WebCore::InspectorStyleSheet::create):
664         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
665         (WebCore::InspectorStyleSheet::reparseStyleSheet):
666         (WebCore::InspectorStyleSheet::setRuleSelector):
667         (WebCore::InspectorStyleSheet::addRule):
668         (WebCore::InspectorStyleSheet::deleteRule):
669         (WebCore::InspectorStyleSheet::setPropertyText):
670         (WebCore::InspectorStyleSheet::toggleProperty):
671         (WebCore::InspectorStyleSheet::fireStyleSheetChanged):
672         (WebCore):
673         (WebCore::InspectorStyleSheetForInlineStyle::create):
674         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
675         * inspector/InspectorStyleSheet.h:
676         (WebCore::InspectorStyleSheet::Listener::~Listener):
677         (Listener):
678         (InspectorStyleSheet):
679         (InspectorStyleSheetForInlineStyle):
680         * inspector/front-end/CSSStyleModel.js:
681         (WebInspector.CSSStyleModel):
682         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
683         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
684         (WebInspector.CSSStyleModel.prototype.addRule):
685         (WebInspector.CSSStyleModel.prototype.addRule.callback):
686         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.callback):
687         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
688         (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
689         (WebInspector.CSSStyleModel.prototype._undoRequested):
690         (WebInspector.CSSStyleModel.prototype._undoCompleted):
691         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
692         (WebInspector.CSSProperty.prototype.setText):
693         (WebInspector.CSSProperty.prototype.setText.callback):
694         (WebInspector.CSSProperty.prototype.setDisabled.callback):
695         (WebInspector.CSSProperty.prototype.setDisabled):
696         (WebInspector.CSSStyleSheet.prototype.setText):
697         (WebInspector.CSSDispatcher.prototype.mediaQueryResultChanged):
698         (WebInspector.CSSDispatcher.prototype.styleSheetChanged):
699         * inspector/front-end/DOMAgent.js:
700         (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
701         (WebInspector.DOMAgent.prototype.get undo):
702         * inspector/front-end/ElementsPanel.js:
703         (WebInspector.ElementsPanel.prototype.handleShortcut):
704
705 2012-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>
706
707         Convert svg/animations to use SMIL methods for driving the timeline
708         https://bugs.webkit.org/show_bug.cgi?id=78422
709
710         Reviewed by Dirk Schulze.
711
712         Switch the svg/animations tests to use SVGSVGElement.setCurrentTime to drive the animation timeline.
713         This should fix all flakiness we previously had with these tests - and as nice side-effect we're now
714         using the standard SVG methods to drive the timeline, and thus have more coverage for these methods.
715         It already exposed several SMIL bugs, that had to be fixed, before this worked:
716
717         - beginElement()/endElement() modify the begin/end times of a SVGSMILElement. When beginElement() is
718           called a new begin time is added to the list - and the same happens for endElement() with the end list.
719           Unfortunately the begin/end times never get removed again, leading to incorrect instance time resolving
720           when begin/endElement is called repeatedly, combined with moving the timeline through setCurrentTime.
721
722           SMIL3 specifically demands that all 'dynamic' times in the begin/endTimes list, such that got inserted
723           via beginElement/endElement - get removed if the begin/endTimes list is updated. Why?
724           When calling beginElement, then endElement, then beginElement again, the begin/endTimes lists should be
725           identical, w/o leftovers from any previous begin/endElement call.
726
727           To keep track of that introduce SMILTimeWithOrigin, which holds a SMILTime and an Origin enum,
728           which determines whether this SMILTime was created by the parser or dynamically created via
729           beginElement/endElement.
730
731         - SMILTimeContainer::setElapsed() (called by SVGSVGElement::setCurrentTime) forgot to update the
732           animation state, when it was not paused.
733
734         - document.getElementsByTagName('animateMotion')[0], always returned 'object SVGElement', instead of
735           SVGAnimateMotion element making it impossible to query the animation start time, as the interfaces
736           from SVGAnimationElement were not available. Fix that by removing the last hacks from svgtags.in,
737           now that all IDLs are available.
738
739         Now that we use SVGSVGElement::setCurrentTime to drive the animation testing, we can remove
740         the DRT specific sampleSVGAnimationAtTime functionality, and its code springled all over WebCore.
741
742         Covered by all existing tests in svg/animations.
743
744         * WebCore.exp.in: Remove sampleAnimationAtTime() symbols.
745         * WebCore.order: Ditto.
746         * svg/SVGAnimationElement.cpp: Add a flag to begin/endElement, SMILTimeWithOrigin::ScriptOrigin, to indicate that these are dynamic SMILTimes, added by a script. 
747         (WebCore::SVGAnimationElement::beginElementAt):
748         (WebCore::SVGAnimationElement::endElementAt):
749         * svg/SVGDocumentExtensions.cpp: Remove sampleAnimationAtTime.
750         * svg/SVGDocumentExtensions.h: Ditto.
751         * svg/animation/SMILTime.h: Add SMILTimeWithOrigin helper.
752         (SMILTimeWithOrigin): Needs a SMILTime and an Origin enum entry.
753         (WebCore::SMILTimeWithOrigin::SMILTimeWithOrigin):
754         (WebCore::SMILTimeWithOrigin::time): Returns the SMILTime.
755         (WebCore::SMILTimeWithOrigin::originIsScript): Determines if this SMILTime got added by a script.
756         (WebCore::operator<): Used by std::sort.
757         * svg/animation/SMILTimeContainer.cpp:
758         (WebCore::SMILTimeContainer::setElapsed): Always call updateAnimations, even if the animation is not paused. Use the right elpased time value, to seek precisely to the desired position.
759         (WebCore::SMILTimeContainer::timerFired): Cleanup code, no need for a local variable 'elapsed'.
760         (WebCore::SMILTimeContainer::updateAnimations): Remove DRT specific sampling code, which is no longer needed.
761         * svg/animation/SMILTimeContainer.h: Remove sampleAnimationAtTime.
762         * svg/animation/SVGSMILElement.cpp:
763         (WebCore::SVGSMILElement::SVGSMILElement): Only call resolveFirstInterval, not reset, from the constructor - it wastes unnecessary time, as everything is already initialized.
764         (WebCore::clearTimesWithDynamicOrigins): Helper function to clear all SMILTimes from the begin/endTimes list, that are dynamic.
765         (WebCore::SVGSMILElement::reset): Clear begin/endTimes lists, on any reset() call (when driving the animation timeline through setElapsed).
766         (WebCore::SVGSMILElement::insertedIntoDocument): m_beginTimes now stores SMILTimeWithOrigins, adapt the code.
767         (WebCore::sortTimeList): Ditto.
768         (WebCore::SVGSMILElement::parseBeginOrEnd): Ditto.
769         (WebCore::SVGSMILElement::addBeginTime): Ditto.
770         (WebCore::SVGSMILElement::addEndTime): Ditto.
771         (WebCore::extractTimeFromVector): Ditto.
772         (WebCore::SVGSMILElement::findInstanceTime): Ditto.
773         * svg/animation/SVGSMILElement.h: 
774         * svg/svgtags.in: Enable animateMotion/hkern/mpath JS interfaces, which were not enabled, despite their IDLs existed.
775
776 2012-02-14  Pavel Feldman  <pfeldman@chromium.org>
777
778         Web Inspector: [REGRESSION] Copy Stack Trace is broken
779         https://bugs.webkit.org/show_bug.cgi?id=78583
780
781         Reviewed by Yury Semikhatsky.
782
783         Test: inspector/debugger/copy-stack-trace.html
784
785         * inspector/front-end/CallStackSidebarPane.js:
786         (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):
787
788 2012-02-14  Eric Seidel  <eric@webkit.org>
789
790         Upstream Android's support for SK_B32_SHIFT to JPEGImageEncoder
791         https://bugs.webkit.org/show_bug.cgi?id=78540
792
793         Reviewed by Adam Barth.
794
795         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
796         (WebCore::encodePixels):
797
798 2012-02-13  Pavel Feldman  <pfeldman@chromium.org>
799
800         [Qt] inspector/styles/undo-add-new-rule.html crashes
801         https://bugs.webkit.org/show_bug.cgi?id=78502
802
803         Reviewed by Yury Semikhatsky.
804
805         * inspector/InspectorStyleSheet.cpp:
806         (WebCore::InspectorStyleSheet::deleteRule):
807
808 2012-02-13  Nate Chapin  <japhet@chromium.org>
809
810         Reuse CachedRawResources (e.g., XHRs) that are stored
811         in the MemoryCache when appropriate.
812         https://bugs.webkit.org/show_bug.cgi?id=76564
813
814         Reviewed by Antti Koivisto.
815
816         No new tests, expected behavior covered by existing tests.
817
818         * html/DOMURL.cpp:
819         (WebCore::DOMURL::revokeObjectURL): Objects shouldn't remain in the
820             MemoryCache if revokeObjectURL is called on them.
821         * inspector/InspectorPageAgent.cpp:
822         (WebCore::InspectorPageAgent::cachedResourceContent): Add CachedRawResource support.
823         * inspector/InspectorResourceAgent.cpp:
824         (WebCore::InspectorResourceAgent::setCacheDisabled): Immediately
825             evict resources, rather than waiting for navigation, since XHRs
826             should hit the cache if it has been disabled.
827         * loader/cache/CachedRawResource.cpp:
828         (CachedRawResourceCallback): Encapsulates the async callback for
829             a cache hit for CachedRawResources.
830         (WebCore::CachedRawResource::sendCallbacks): Do the work defered in didAddClient.
831         (WebCore::CachedRawResource::didAddClient): Scheduled a CachedRawResourceCallback if
832             we already have a response, since async XHRs may not play nicely with receiving
833             their data synchronously.
834         (WebCore::CachedRawResource::removeClient): Ensure we cancel a callback to a client if
835             it removes itself.
836         (WebCore::CachedRawResource::canReuse): Provide some basic rules for when a
837             CachedRawResource can be reused.
838         * loader/cache/CachedRawResource.h:
839         * loader/cache/CachedResource.h:
840         * loader/cache/CachedResourceLoader.cpp:
841         (WebCore::CachedResourceLoader::determineRevalidationPolicy): Don't automatically reload
842             CachedRawResources, and add a check for whether this request has already been
843             made conditional.
844         * xml/XMLHttpRequest.cpp:
845
846 2012-02-13  Dana Jansens  <danakj@chromium.org>
847
848         [chromium] Set opaque flag on SkBitmap in per-tile layer updater
849         https://bugs.webkit.org/show_bug.cgi?id=78498
850
851         Reviewed by Stephen White.
852
853         No new tests.
854
855         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
856         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
857         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
858         (SkPictureCanvasLayerTextureUpdater):
859         (WebCore::SkPictureCanvasLayerTextureUpdater::layerIsOpaque):
860
861 2012-02-13  W. James MacLean  <wjmaclean@chromium.org>
862
863         [chromium] Remove obsolete zoom animation pathway.
864         https://bugs.webkit.org/show_bug.cgi?id=78359
865
866         Reviewed by James Robinson.
867
868         Tests for existing pathways should not be broken. Tests for removed pathway removed previously.
869
870         This patch removes dead code from the previous incarnation of zoom animation for chromium.
871
872         * page/EventHandler.cpp:
873         (WebCore::EventHandler::handleGestureEvent):
874         * page/FrameView.cpp:
875         * page/FrameView.h:
876         (FrameView):
877         * platform/ScrollAnimator.cpp:
878         (WebCore::ScrollAnimator::ScrollAnimator):
879         * platform/ScrollAnimator.h:
880         (ScrollAnimator):
881         * platform/ScrollAnimatorNone.cpp:
882         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
883         (WebCore::ScrollAnimatorNone::animationTimerFired):
884         * platform/ScrollAnimatorNone.h:
885         (ScrollAnimatorNone):
886         * platform/ScrollableArea.cpp:
887         * platform/ScrollableArea.h:
888         * testing/InternalSettings.cpp:
889         * testing/InternalSettings.h:
890         (InternalSettings):
891         * testing/InternalSettings.idl:
892         * testing/Internals.cpp:
893
894 2012-02-13  Shinya Kawanaka  <shinyak@chromium.org>
895
896         [Regression] r107650 broke the windows build.
897         https://bugs.webkit.org/show_bug.cgi?id=78569
898
899         Build fix, Unreviewed.
900
901         The variable defined in switch statement should not escape from the switch statement.
902
903         * dom/Element.cpp:
904         (WebCore::Element::webkitRegionOverflow):
905
906 2012-02-13  ChangSeok Oh  <shivamidow@gmail.com>
907
908         [GTK] Mutation Observers build is broken
909         https://bugs.webkit.org/show_bug.cgi?id=78433
910
911         Reviewed by Martin Robinson.
912
913         Added some files missed.
914
915         No new tests since no new feature.
916
917         * GNUmakefile.list.am:
918
919 2012-02-13  Hayato Ito  <hayato@chromium.org>
920
921         Make ShadowRoot.nodeType return DOCUMENT_FRAGMENT_NODE.
922         https://bugs.webkit.org/show_bug.cgi?id=77514
923
924         Reviewed by Dimitri Glazkov.
925
926         NodeType.SHADOW_ROOT_NODE type is finally gone.
927
928         * bindings/js/JSNodeCustom.cpp:
929         (WebCore::createWrapperInline):
930         * bindings/objc/DOM.mm:
931         (kitClass):
932         * bindings/v8/custom/V8NodeCustom.cpp:
933         (WebCore::toV8Slow):
934         * dom/ContainerNode.cpp:
935         (WebCore::collectTargetNodes):
936         (WebCore::ContainerNode::replaceChild):
937         * dom/Document.cpp:
938         (WebCore::Document::importNode):
939         (WebCore::Document::childTypeAllowed):
940         (WebCore::Document::canReplaceChild):
941         * dom/Node.cpp:
942         (WebCore::Node::dumpStatistics):
943         (WebCore::Node::isDefaultNamespace):
944         (WebCore::Node::lookupPrefix):
945         (WebCore::Node::lookupNamespaceURI):
946         (WebCore::appendTextContent):
947         (WebCore::Node::setTextContent):
948         * dom/Node.h:
949         * dom/Range.cpp:
950         (WebCore::lengthOfContentsInNode):
951         (WebCore::Range::processContentsBetweenOffsets):
952         (WebCore::Range::insertNode):
953         (WebCore::Range::checkNodeWOffset):
954         (WebCore::Range::checkNodeBA):
955         (WebCore::Range::selectNode):
956         (WebCore::Range::selectNodeContents):
957         (WebCore::Range::surroundContents):
958         * dom/ShadowRoot.cpp:
959         * dom/ShadowRoot.h:
960         (ShadowRoot):
961         (WebCore::toShadowRoot):
962         * editing/FrameSelection.cpp:
963         (WebCore::nodeIsDetachedFromDocument):
964         (WebCore):
965         (WebCore::FrameSelection::textWillBeReplaced):
966         * editing/MarkupAccumulator.cpp:
967         (WebCore::MarkupAccumulator::appendStartMarkup):
968         * html/parser/HTMLElementStack.cpp:
969         (WebCore::HTMLNames::isRootNode):
970         (WebCore::HTMLElementStack::pushRootNode):
971         * html/parser/HTMLElementStack.h:
972         (WebCore::isInHTMLNamespace):
973         * inspector/InspectorDOMAgent.cpp:
974         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
975         (WebCore::InspectorDOMAgent::buildObjectForNode):
976         * xml/XPathUtil.cpp:
977         (WebCore::XPath::isValidContextNode):
978
979 2012-02-13  Ojan Vafai  <ojan@chromium.org>
980
981         rtl + flex-direction:column is positioning elements incorrectly
982         https://bugs.webkit.org/show_bug.cgi?id=78555
983
984         Reviewed by Tony Chang.
985
986         Do the y-axis flipping after we have adjusted the y-position for
987         flex-align instead of before.
988
989         Tests: css3/flexbox/flex-align-baseline.html
990                css3/flexbox/flex-align-end.html
991
992         * rendering/RenderFlexibleBox.cpp:
993         (WebCore::RenderFlexibleBox::alignChildren):
994         The amount we adjust by also needs to be flipped for rtl+column,
995         so the flipping needs to be done after we align the flex items.
996
997 2012-02-09  Ojan Vafai  <ojan@chromium.org>
998
999         nesting horizontal flexboxes is broken
1000         https://bugs.webkit.org/show_bug.cgi?id=76867
1001
1002         Reviewed by David Hyatt.
1003
1004         This is copied from RenderDeprecatedFlexibleBox and updated
1005         for RenderFlexibleBox and to handle vertical writing mode.
1006
1007         Tests: css3/flexbox/preferred-widths-orthogonal.html
1008                css3/flexbox/preferred-widths.html
1009
1010         * rendering/RenderBlock.cpp:
1011         (WebCore::RenderBlock::computePreferredLogicalWidths):
1012         * rendering/RenderFlexibleBox.cpp:
1013         (WebCore::marginWidthForChild):
1014         (WebCore):
1015         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
1016         * rendering/RenderFlexibleBox.h:
1017         (RenderFlexibleBox):
1018
1019 2012-02-13  Anders Carlsson  <andersca@apple.com>
1020
1021         The tile cache layer should have its background set to the page background
1022         https://bugs.webkit.org/show_bug.cgi?id=78560
1023         <rdar://problem/10857472>
1024
1025         Reviewed by Sam Weinig.
1026
1027         * page/FrameView.cpp:
1028         (WebCore::FrameView::recalculateScrollbarOverlayStyle):
1029         Inform the RenderLayerCompositor that the background color has changed.
1030
1031         * platform/graphics/ca/GraphicsLayerCA.cpp:
1032         (WebCore::GraphicsLayerCA::updateLayerBackgroundColor):
1033         For tile cache layers we don't need a separate contents layer for the background color so
1034         just set the background color on the layer directly.
1035
1036         * rendering/RenderLayerCompositor.cpp:
1037         (WebCore::RenderLayerCompositor::documentBackgroundColorDidChange):
1038         If the root render layer is using a tile cache layer, update its background color.
1039
1040 2012-02-13  Raul Hudea  <rhudea@adobe.com>
1041
1042         Implement Element.webkitRegionOverflow
1043
1044         [CSSRegions][CSSOM] Implement Element.regionOverflow
1045         https://bugs.webkit.org/show_bug.cgi?id=77863
1046
1047         Reviewed by David Hyatt.
1048
1049         On each layout, compute the overflowState for each region belonging to the flow thread
1050
1051         Tests: fast/regions/element-region-overflow-state-vertical-rl.html
1052                fast/regions/element-region-overflow-state.html
1053
1054         * dom/Element.cpp:
1055         (WebCore::Element::webkitRegionOverflow):
1056         (WebCore):
1057         * dom/Element.h:
1058         * dom/Element.idl:
1059         * rendering/RenderBlock.cpp:
1060         (WebCore::RenderBlock::computeOverflow):
1061         * rendering/RenderFlowThread.cpp:
1062         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
1063         (WebCore):
1064         * rendering/RenderFlowThread.h:
1065         * rendering/RenderRegion.cpp:
1066         (WebCore::RenderRegion::RenderRegion):
1067         * rendering/RenderRegion.h:
1068         (RenderRegion):
1069         (WebCore::RenderRegion::regionState):
1070         (WebCore::RenderRegion::setRegionState):
1071
1072 2012-02-13  Alexey Proskuryakov  <ap@apple.com>
1073
1074         File API IDLs are incorrect in Xcode project
1075         https://bugs.webkit.org/show_bug.cgi?id=78551
1076
1077         Rubber-stamped by Dan Bernstein.
1078
1079         * WebCore.xcodeproj/project.pbxproj: Corrected paths, and added missing files.
1080
1081 2012-02-13  Benjamin Poulain  <bpoulain@apple.com>
1082
1083         SharedBuffer::getSomeData() can potentially return a pointer past the data
1084         https://bugs.webkit.org/show_bug.cgi?id=77799
1085
1086         Reviewed by David Kilzer.
1087
1088         The expected behavior from SharedBuffer::getSomeData() is to return a size and pointer of value 0
1089         if position is past the data.
1090
1091         However, the code handling the memory mapped data is before the code ensuring the aforementioned
1092         condition. It is possible to return a pointer past the data, and a non-null size.
1093
1094         This patch aims at preventing such invalid memory access by checking position is in the boundaries
1095         before any attempt is made to return the data.
1096
1097         * platform/SharedBuffer.cpp:
1098         (WebCore::SharedBuffer::getSomeData):
1099
1100 2012-02-13  Benjamin Poulain  <bpoulain@apple.com>
1101
1102         SharedBuffer::getSomeData() must support m_dataArray if NETWORK_CFDATA_ARRAY_CALLBACK is defined
1103         https://bugs.webkit.org/show_bug.cgi?id=77718
1104
1105         Reviewed by David Kilzer.
1106
1107         Previously, the last part of SharedBuffer::getSomeData() was systematically accessing
1108         the data from the segments. When NETWORK_CFDATA_ARRAY_CALLBACK is defined, there can
1109         be data in m_dataArray past the segment.
1110
1111         The previous code was making invalid memory access pass the segment vector. This patch
1112         adds support for getting the data out of m_dataArray to make SharedBuffer::getSomeData()
1113         works with NETWORK_CFDATA_ARRAY_CALLBACK.
1114
1115         This is covered by existing tests when NETWORK_CFDATA_ARRAY_CALLBACK is defined.
1116         The test 'fast/events/constructors/track-event-constructor.html' is a reliable test
1117         for this.
1118
1119         * platform/SharedBuffer.cpp:
1120         (WebCore::SharedBuffer::getSomeData):
1121         * platform/SharedBuffer.h:
1122         (SharedBuffer):
1123         * platform/cf/SharedBufferCF.cpp:
1124         (WebCore):
1125         (WebCore::SharedBuffer::copySomeDataFromDataArray):
1126
1127 2012-02-13  Anders Carlsson  <andersca@apple.com>
1128
1129         Force slow-scrolling mode when there are position:fixed elements on a page
1130         https://bugs.webkit.org/show_bug.cgi?id=78553
1131         <rdar://problem/10247934>
1132
1133         Reviewed by Dan Bernstein.
1134
1135         Eventually, the scrolling tree will know about fixed positioning layers so their position can be updated
1136         when the scroll layer position is updated. For now we'll take the simple route however.
1137
1138         * page/FrameView.cpp:
1139         (WebCore::FrameView::addFixedObject):
1140         (WebCore::FrameView::removeFixedObject):
1141         Inform the scrolling coordinator when the number of fixed objects changes between 0 and 1.
1142
1143         * page/FrameView.h:
1144         (WebCore::FrameView::hasFixedObjects):
1145         Make this public.
1146
1147         * page/scrolling/ScrollingCoordinator.cpp:
1148         (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
1149         Call updateShouldUpdateScrollLayerPositionOnMainThread.
1150
1151         (WebCore::ScrollingCoordinator::frameViewHasFixedObjectsDidChange):
1152         Call updateShouldUpdateScrollLayerPositionOnMainThread.
1153
1154         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
1155         Make sure to update compositing layers here. Normally, they will be updated by layout but doing a layout
1156         here is too intrusive since it could potentially change the size of the page.
1157
1158         (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
1159         If we have fixed objects or slow repaint objects we need to update the scroll layer position on the main thread.
1160
1161 2012-02-13  Adrienne Walker  <enne@google.com>
1162
1163         [chromium] Use HashMap<..., OwnPtr<Tile>> for compositor tilemap
1164         https://bugs.webkit.org/show_bug.cgi?id=74154
1165
1166         Reviewed by James Robinson.
1167
1168         Covered by the compositing/ layout tests.
1169
1170         * platform/graphics/chromium/TiledLayerChromium.cpp:
1171         (WebCore::UpdatableTile::create):
1172         (WebCore::UpdatableTile::UpdatableTile):
1173         (WebCore::TiledLayerChromium::createTile):
1174         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
1175         (WebCore::CCLayerTilingData::addTile):
1176         (WebCore::CCLayerTilingData::takeTile):
1177         (WebCore::CCLayerTilingData::tileAt):
1178         * platform/graphics/chromium/cc/CCLayerTilingData.h:
1179         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1180         (WebCore::DrawableTile::create):
1181         (WebCore::DrawableTile::DrawableTile):
1182         (WebCore::CCTiledLayerImpl::createTile):
1183
1184 2012-02-13  Kentaro Hara  <haraken@chromium.org>
1185
1186         Add [CustomToJSObject] to interfaces which have custom toJS() and toV8()
1187         https://bugs.webkit.org/show_bug.cgi?id=78489
1188
1189         Reviewed by Adam Barth.
1190
1191         This is the final step to remove hard-coding from HasCustomToV8Implementation()
1192         in CodeGeneratorV8.pm. This patch replaces [JSCustomToJS] with [CustomToJSObject]
1193         for interfaces which have custom toJS() and custom toV8().
1194
1195         No tests. No change in behavior.
1196
1197         * bindings/scripts/CodeGeneratorJS.pm:
1198         (GenerateHeader):
1199         (GenerateImplementation):
1200         * bindings/scripts/CodeGeneratorV8.pm:
1201         (GenerateHeader):
1202
1203         * bindings/scripts/test/TestTypedArray.idl:
1204         * css/CSSRule.idl:
1205         * css/CSSValue.idl:
1206         * css/StyleSheet.idl:
1207         * dom/Document.idl:
1208         * dom/Event.idl:
1209         * dom/Node.idl:
1210         * fileapi/Blob.idl:
1211         * fileapi/Entry.idl:
1212         * fileapi/EntrySync.idl:
1213         * html/HTMLCollection.idl:
1214         * html/ImageData.idl:
1215         * html/canvas/ArrayBufferView.idl:
1216         * html/canvas/DataView.idl:
1217         * html/canvas/Float32Array.idl:
1218         * html/canvas/Float64Array.idl:
1219         * html/canvas/Int16Array.idl:
1220         * html/canvas/Int32Array.idl:
1221         * html/canvas/Int8Array.idl:
1222         * html/canvas/Uint16Array.idl:
1223         * html/canvas/Uint32Array.idl:
1224         * html/canvas/Uint8Array.idl:
1225         * html/canvas/Uint8ClampedArray.idl:
1226         * storage/IDBAny.idl:
1227         * storage/IDBKey.idl:
1228         * svg/SVGPathSeg.idl:
1229
1230 2012-02-13  Arun Patole  <bmf834@motorola.com>
1231
1232         Chrome crashes when attempting to add cue to track element
1233         https://bugs.webkit.org/show_bug.cgi?id=77951
1234
1235         Reviewed by Eric Carlson.
1236
1237         Allocate text track's text track list of cues before using it.
1238
1239         * html/TextTrack.cpp:
1240         (WebCore::TextTrack::cues):
1241         (WebCore::TextTrack::addCue):
1242         (WebCore::TextTrack::removeCue): return if text track list of cues is not allocated.
1243         (WebCore::TextTrack::ensureTextTrackCueList):Added.
1244         * html/TextTrack.h:
1245         (TextTrack):
1246
1247 2012-02-13  Andy Estes  <aestes@apple.com>
1248
1249         Fix the Windows build.
1250
1251         * platform/PlatformPasteboard.h:
1252         (PlatformPasteboard):
1253
1254 2012-02-13  Abhishek Arya  <inferno@chromium.org>
1255
1256         Crash with button in multi-column layout.
1257         https://bugs.webkit.org/show_bug.cgi?id=78378
1258
1259         Reviewed by David Hyatt.
1260
1261         Button creates an anonymous wrapper and expects that new children
1262         be added to its m_inner anonymous block. However, splitBlock code
1263         incorrectly creates column blocks directly under the button.
1264
1265         Test: fast/multicol/span/split-flow-anonymous-wrapper-crash.html
1266
1267         * rendering/RenderBlock.cpp:
1268         (WebCore::RenderBlock::containingColumnsBlock):
1269         (WebCore::RenderBlock::columnsBlockForSpanningElement):
1270
1271 2012-02-09  Ojan Vafai  <ojan@chromium.org>
1272
1273         nesting horizontal flexboxes is broken
1274         https://bugs.webkit.org/show_bug.cgi?id=76867
1275
1276         Reviewed by David Hyatt.
1277
1278         This is copied from RenderDeprecatedFlexibleBox and updated
1279         for RenderFlexibleBox and to handle vertical writing mode.
1280
1281         Tests: css3/flexbox/preferred-widths-orthogonal.html
1282                css3/flexbox/preferred-widths.html
1283
1284         * rendering/RenderBlock.cpp:
1285         (WebCore::RenderBlock::computePreferredLogicalWidths):
1286         * rendering/RenderFlexibleBox.cpp:
1287         (WebCore::marginWidthForChild):
1288         (WebCore):
1289         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
1290         * rendering/RenderFlexibleBox.h:
1291         (RenderFlexibleBox):
1292
1293 2012-02-13  Mihnea Ovidenie  <mihnea@adobe.com>
1294
1295         Crash in RenderFlowThread::setRegionBoxesRegionStyle
1296         https://bugs.webkit.org/show_bug.cgi?id=78298
1297
1298         Reviewed by David Hyatt.
1299
1300         Test: fast/regions/set-box-style-in-region-crash.html
1301
1302         We have to make sure that anonymous block objects get their information in RenderFlowThread
1303         removed properly.
1304
1305         * dom/Node.cpp:
1306         (WebCore::Node::diff):
1307         Correct a comment.
1308         * rendering/RenderBlock.cpp:
1309         (WebCore::RenderBlock::collapseAnonymousBoxChild):
1310         Remove the information for anonymous block from render flow thread.
1311         * rendering/RenderFlowThread.cpp:
1312         (WebCore::RenderFlowThread::removeFlowChildInfo):
1313         (WebCore):
1314         (WebCore::RenderFlowThread::setRegionRangeForBox):
1315         Do not set region range if the flow thread does not have regions.
1316         * rendering/RenderFlowThread.h:
1317         * rendering/RenderObject.cpp:
1318         (WebCore::RenderObject::willBeDestroyed):
1319         Add an assert to make sure that after we remove an object, there is no remaining info
1320         in any render flow thread.
1321
1322 2012-02-13  Tony Chang  <tony@chromium.org>
1323
1324         Unreviewed, rolling out r107582.
1325         http://trac.webkit.org/changeset/107582
1326         https://bugs.webkit.org/show_bug.cgi?id=78349
1327
1328         Broke three inspector interactive_ui_tests
1329
1330         * English.lproj/localizedStrings.js:
1331         * inspector/front-end/DebuggerPresentationModel.js:
1332         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
1333         * inspector/front-end/ScriptsNavigator.js:
1334         (WebInspector.ScriptsNavigator.prototype._removeUISourceCode.get while):
1335         (WebInspector.ScriptsNavigator.prototype._removeUISourceCode):
1336         (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
1337         * inspector/front-end/ScriptsPanel.js:
1338         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
1339         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
1340         * inspector/front-end/Settings.js:
1341         (WebInspector.ExperimentsSettings):
1342         * inspector/front-end/SettingsScreen.js:
1343         (WebInspector.SettingsScreen):
1344
1345 2012-02-13  Abhishek Arya  <inferno@chromium.org>
1346
1347         Incorrect children placement in multi-column layout.
1348         https://bugs.webkit.org/show_bug.cgi?id=78160
1349
1350         Reviewed by David Hyatt.
1351
1352         Test: fast/multicol/span/clone-before-after-content-crash.html
1353
1354         * rendering/RenderBlock.cpp:
1355         (WebCore::RenderBlock::clone): no longer need to take care of making
1356         children noninline (remove fix r105769) since moveChild functions take
1357         care of adding the child properly if type of children differ. this
1358         function just makes sure to set the right value of childrenInline property.
1359         (WebCore::RenderBlock::splitBlocks): similar to moveChild functions below.
1360         (WebCore::RenderBlock::moveChildTo): when child is fullRemoveInsert (across
1361         different parents, e.g clones), we should use addChild function to make sure
1362         it handles the case of different type of children between fromBlock and
1363         toBlock correctly (specifically making children non-inline/wrapping inline
1364         children under anonymous blocks.).
1365         (WebCore::RenderBlock::moveChildrenTo):
1366         * rendering/RenderBlock.h:
1367         (RenderBlock):
1368         (WebCore::RenderBlock::moveAllChildrenTo): Rename to->toBlock.
1369         (WebCore::RenderBlock::moveChildrenTo): Rename to->toBlock.
1370
1371 2012-02-13  Stephen White  <senorblanco@chromium.org>
1372
1373         [chromium] Implement Brightness and Contrast filters on composited
1374         layers.  Fix Saturation filter.
1375         https://bugs.webkit.org/show_bug.cgi?id=78527
1376
1377         Reviewed by Kenneth Russell.
1378
1379         Will be covered by existing tests in css3/filters, when enabled.
1380
1381         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
1382         (WebCore::CCRenderSurfaceFilters::apply):
1383
1384 2012-02-13  Anders Carlsson  <andersca@apple.com>
1385
1386         Turn off edge antialiasing for tile cache tile layers
1387         https://bugs.webkit.org/show_bug.cgi?id=78533
1388         <rdar://problem/10710798>
1389
1390         Reviewed by Sam Weinig.
1391
1392         * platform/graphics/ca/mac/TileCache.mm:
1393         (WebCore::TileCache::createTileLayer):
1394
1395 2012-02-13  Enrica Casucci  <enrica@apple.com>
1396
1397         Build fix. Unreviewed.
1398
1399         * WebCore.xcodeproj/project.pbxproj:
1400
1401 2012-02-13  Brady Eidson  <beidson@apple.com>
1402
1403         <rdar://problem/7196487> and https://bugs.webkit.org/show_bug.cgi?id=26777
1404         Add https pages to the page cache in some cases
1405
1406         Reviewed by Anders Carlsson.
1407
1408         Test: http/tests/navigation/https-in-page-cache.html
1409
1410         * history/PageCache.cpp:
1411         (WebCore::PageCache::canCachePageContainingThisFrame): Allow HTTPS pages that do not specify cache-control: no-cache
1412           or cache-control: no-store into the page cache. This will match Firefox's behavior for HTTPS in their bfcache.
1413
1414 2012-02-10  Enrica Casucci  <enrica@apple.com>
1415
1416         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
1417         https://bugs.webkit.org/show_bug.cgi?id=78282
1418
1419         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
1420         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
1421         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
1422         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
1423         interface but this one more step in the direction of removing access to NSPasteboard from
1424         the WebProcess.
1425         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
1426
1427         Reviewed by Anders Carlsson.
1428
1429         No new tests. No change in behavior, just code refactoring.
1430
1431         * WebCore.exp.in: Added exported class PlatformPasteboard.
1432         * WebCore.xcodeproj/project.pbxproj: Added new files to the build.
1433         * editing/mac/EditorMac.mm:
1434         (WebCore::Editor::writeSelectionToPasteboard): New method signature that doesn't use OBJ-C types.
1435         * platform/Pasteboard.h:
1436
1437         * platform/PasteboardStrategy.h: Added PasteboardStrategy abstract class.
1438         * platform/PlatformPasteboard.h: Added. This class implements access to NSPasteboard.
1439         * platform/PlatformStrategies.h:
1440         (WebCore::PlatformStrategies::pasteboardStrategy): Added.
1441         * platform/mac/DragDataMac.mm:
1442         (WebCore::DragData::canSmartReplace):
1443         (WebCore::insertablePasteboardTypes): 
1444         (WebCore::DragData::asURL):
1445         * platform/mac/PasteboardMac.mm:
1446         (WebCore::selectionPasteboardTypes): Changed to use Vector<String> instead of NSArray.
1447         (WebCore::writableTypesForURL): Ditto.
1448         (WebCore::createWritableTypesForImage): Ditto.
1449         (WebCore::writableTypesForImage): Ditto.
1450         (WebCore::Pasteboard::Pasteboard): Removed access to NSPasteboard.
1451         (WebCore::Pasteboard::clear): Modified to use platformStrategies()->pasteboardStrategy().
1452         (WebCore::Pasteboard::writeSelectionForTypes): Ditto.
1453         (WebCore::Pasteboard::writePlainText): Ditto.
1454         (WebCore::Pasteboard::writeSelection): Ditto.
1455         (WebCore::writeURLForTypes): Ditto.
1456         (WebCore::Pasteboard::writeURL): Ditto.
1457         (WebCore::writeFileWrapperAsRTFDAttachment): Ditto.
1458         (WebCore::Pasteboard::writeImage): Ditto.
1459         (WebCore::Pasteboard::writeClipboard): Ditto.
1460         (WebCore::Pasteboard::canSmartReplace): Ditto.
1461         (WebCore::Pasteboard::plainText): Ditto.
1462         (WebCore::documentFragmentWithRTF): Ditto.
1463         (WebCore::Pasteboard::documentFragment): Ditto.
1464         * platform/mac/PlatformPasteboardMac.mm: Added.
1465         (WebCore::PlatformPasteboard::PlatformPasteboard):
1466         (WebCore::PlatformPasteboard::getTypes):
1467         (WebCore::PlatformPasteboard::bufferForType):
1468         (WebCore::PlatformPasteboard::getPathnamesForType):
1469         (WebCore::PlatformPasteboard::stringForType):
1470         (WebCore::PlatformPasteboard::copy):
1471         (WebCore::PlatformPasteboard::setTypes):
1472         (WebCore::PlatformPasteboard::setBufferForType):
1473         (WebCore::PlatformPasteboard::setPathnamesForType):
1474         (WebCore::PlatformPasteboard::setStringForType):
1475
1476 2012-02-13  Raul Hudea  <rhudea@adobe.com>
1477
1478         [CSS Regions] Inconsistent text selection behavior in regions
1479         https://bugs.webkit.org/show_bug.cgi?id=76456
1480
1481         Reviewed by David Hyatt.
1482
1483         Use the proper bounding rect when doing hit testing on flow threads.
1484         Based on initial patch by Alexandru Chiculita.
1485
1486         Test: fast/regions/hit-test-region.html
1487
1488         * rendering/RenderFlowThread.cpp:
1489         (WebCore::RenderFlowThread::hitTestRegion):
1490         * rendering/RenderLayer.cpp:
1491         (WebCore::RenderLayer::hitTest):
1492         * rendering/RenderRegion.cpp:
1493         (WebCore::RenderRegion::nodeAtPoint):
1494
1495 2012-02-12  Andy Estes  <aestes@apple.com>
1496
1497         [Windows] Add API to enable inverted color drawing on a WebView
1498         https://bugs.webkit.org/show_bug.cgi?id=77382
1499
1500         Reviewed by Adam Roben.
1501
1502         Implement CACFLayerTreeHost::setShouldInvertColors(), which instructs
1503         the layer tree host to render composited content with inverted colors.
1504
1505         Test: platform/win/inverted-colors/non-composited.html
1506
1507         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
1508         (WebCore::CACFLayerTreeHost::setShouldInvertColors):
1509         (WebCore):
1510         * platform/graphics/ca/win/CACFLayerTreeHost.h:
1511         (CACFLayerTreeHost):
1512         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Use
1513         SOFT_LINK_OPTIONAL since WKCACFViewSetShouldInvertColors might not
1514         exist in older versions of WebKitQuartzCoreAdditions.
1515         (WebCore::WKCACFViewLayerTreeHost::setShouldInvertColors):
1516         (WebCore):
1517         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
1518         (WKCACFViewLayerTreeHost):
1519
1520 2012-02-13  Anders Carlsson  <andersca@apple.com>
1521
1522         The scrolling tree needs to know about the back forward state of the page
1523         https://bugs.webkit.org/show_bug.cgi?id=78523
1524         <rdar://problem/10756548>
1525
1526         Reviewed by Sam Weinig.
1527
1528         In order to know if a page should rubber-band in the horizontal direction, the scrolling tree
1529         needs to know about the back/forward state of the page.
1530
1531         * WebCore.exp.in:
1532         Export new symbols.
1533
1534         * WebCore.xcodeproj/project.pbxproj:
1535         * page/scrolling/ScrollingTree.cpp:
1536         (WebCore::ScrollingTree::ScrollingTree):
1537         Initialize m_canGoBack and m_canGoForward.
1538
1539         (WebCore::ScrollingTree::updateBackForwardState):
1540         Update m_canGoBack and m_canGoForward.
1541
1542         * page/scrolling/ScrollingTree.h:
1543         (WebCore::ScrollingTree::canGoBack):
1544         (WebCore::ScrollingTree::canGoForward):
1545         Add getters.
1546
1547         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
1548         (WebCore::ScrollingTreeNodeMac::shouldRubberBandInDirection):
1549         Implement this, using canGoBack and canGoForward.
1550
1551 2012-02-13  Brady Eidson  <beidson@apple.com>
1552
1553         https://bugs.webkit.org/show_bug.cgi?id=78520
1554         Cleanup PageCache::canCachePageContainingThisFrame readability
1555
1556         Reviewed by Anders Carlsson.
1557
1558         No new tests. (Code cleanup, no change in behavior)
1559
1560         * history/PageCache.cpp:
1561         (WebCore::PageCache::canCachePageContainingThisFrame): Store three commonly
1562           getter-accessed variables in local variables for readability.
1563
1564 2012-02-13  Timothy Hatcher  <timothy@apple.com>
1565
1566         Don't include a separator before the "Inspect Element" context menu item when the context menu is empty.
1567
1568         https://webkit.org/b/78312
1569
1570         Reviewed by Brian Weinstein.
1571
1572         * page/ContextMenuController.cpp:
1573         (WebCore::ContextMenuController::addInspectElementItem): Check itemCount before appending the separator.
1574         * platform/gtk/ContextMenuGtk.cpp:
1575         (WebCore::ContextMenu::itemCount): Added. Implement so this builds on GTK.
1576
1577 2012-02-13  Patrick Gansterer  <paroga@webkit.org>
1578
1579         [WIN] Define HWND_MESSAGE if not done already
1580         https://bugs.webkit.org/show_bug.cgi?id=78341
1581
1582         Reviewed by Adam Roben.
1583
1584         HWND_MESSAGE is not defined on WinCE.
1585         Set it to 0 when not defined to avoid #ifdefs.
1586
1587         * platform/win/PasteboardWin.cpp:
1588         (WebCore::Pasteboard::Pasteboard):
1589         * platform/win/WindowsExtras.h:
1590         (WebCore):
1591
1592 2012-02-13  Chris Fleizach  <cfleizach@apple.com>
1593
1594         AX: <mark> element should be exposed through attributes
1595         https://bugs.webkit.org/show_bug.cgi?id=75727
1596
1597         Reviewed by Beth Dakin.
1598
1599         Exposes an attribute indicating that an element has highlighting through attributedStringForRange.
1600         Also allows the search mechanism to find elements with this style.
1601
1602         Test: platform/mac/accessibility/attributed-string-includes-highlighting.html
1603
1604         * accessibility/AccessibilityObject.cpp:
1605         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
1606         (WebCore::AccessibilityObject::hasHighlighting):
1607         * accessibility/AccessibilityObject.h:
1608         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1609         (createAccessibilitySearchKeyMap):
1610         (AXAttributeStringSetStyle):
1611
1612 2012-02-13  Chris Fleizach  <cfleizach@apple.com>
1613
1614         AX: the web area should report that focus can be set to itself
1615         https://bugs.webkit.org/show_bug.cgi?id=78272
1616
1617         Reviewed by Beth Dakin.
1618
1619         Test: platform/mac/accessibility/webarea-can-set-focus.html
1620
1621         * accessibility/AccessibilityRenderObject.cpp:
1622         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
1623         * accessibility/AccessibilityTable.cpp:
1624         (WebCore::AccessibilityTable::isDataTable):
1625            Fixed erroneous comment.
1626
1627 2012-02-13  Patrick Gansterer  <paroga@webkit.org>
1628
1629         Port RunLoop to WinCE
1630         https://bugs.webkit.org/show_bug.cgi?id=76781
1631
1632         Reviewed by Adam Roben.
1633
1634         * platform/win/RunLoopWin.cpp:
1635         (WebCore::RunLoop::registerRunLoopMessageWindowClass):
1636
1637 2012-02-10  Vsevolod Vlasov  <vsevik@chromium.org>
1638
1639         Web Inspector: Make ScriptsNavigator default file selector.
1640         https://bugs.webkit.org/show_bug.cgi?id=78349
1641
1642         Reviewed by Pavel Feldman.
1643
1644         Moved ScriptsNavigator out of experiments.
1645         Introduced new setting "useScriptsNavigator" with true as default value.
1646         Updated scripts panel tests related to file selector.
1647
1648         Tests: inspector/debugger/scripts-combobox-file-selector-history.html
1649                inspector/debugger/scripts-file-selector.html
1650
1651         * English.lproj/localizedStrings.js:
1652         * inspector/front-end/DebuggerPresentationModel.js:
1653         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
1654         * inspector/front-end/ScriptsNavigator.js:
1655         (WebInspector.ScriptsNavigator.prototype._removeUISourceCode):
1656         (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
1657         * inspector/front-end/ScriptsPanel.js:
1658         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
1659         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
1660         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
1661         * inspector/front-end/Settings.js:
1662         (WebInspector.ExperimentsSettings):
1663         * inspector/front-end/SettingsScreen.js:
1664         (WebInspector.SettingsScreen):
1665
1666 2012-02-13  Andreas Kling  <awesomekling@apple.com>
1667
1668         Make HTMLTableCaptionElement inherit from HTMLElement.
1669         <http://webkit.org/b/78505>
1670
1671         Reviewed by Antti Koivisto.
1672
1673         HTMLTableCaptionElement was already bypassing its base class (HTMLTablePartElement)
1674         and calling up to HTMLElement in all its overrides. Just make it an HTMLElement
1675         instead since it doesn't use anything from HTMLTablePartElement.
1676         Remove parseAttribute() overload since it's no longer needed.
1677
1678         * html/HTMLTableCaptionElement.cpp:
1679         (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
1680         (WebCore::HTMLTableCaptionElement::isPresentationAttribute):
1681         (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
1682         * html/HTMLTableCaptionElement.h:
1683
1684 2012-02-13  Andreas Kling  <awesomekling@apple.com>
1685
1686         HTMLMarqueeElement: Don't cache presence of truespeed attribute.
1687         <http://webkit.org/b/78483>
1688
1689         Reviewed by Antti Koivisto.
1690
1691         Out-of-line minimumDelay() and look up the "truespeed" attribute there instead
1692         of caching the minimum delay in parseAttribute().
1693         Remove HTMLMarqueeElement::parseAttribute() as it's no longer needed.
1694
1695         * html/HTMLMarqueeElement.cpp:
1696         (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
1697         (WebCore::HTMLMarqueeElement::minimumDelay):
1698         * html/HTMLMarqueeElement.h:
1699         (HTMLMarqueeElement):
1700
1701 2012-02-13  Andrey Kosyakov  <caseq@chromium.org>
1702
1703         Web Inspector: [refactoring] factor common timeline UI state into TimelinePresentationModel
1704         https://bugs.webkit.org/show_bug.cgi?id=78501
1705
1706         Reviewed by Pavel Feldman.
1707
1708         * inspector/front-end/TimelineOverviewPane.js:
1709         (WebInspector.TimelineOverviewPane):
1710         (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
1711         (WebInspector.TimelineOverviewPane.prototype.update):
1712         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
1713         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
1714         (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
1715         * inspector/front-end/TimelinePanel.js:
1716         (WebInspector.TimelinePanel):
1717         (WebInspector.TimelinePanel.prototype._createTopPane):
1718         (WebInspector.TimelinePanel.prototype.get statusBarItems):
1719         (WebInspector.TimelinePanel.prototype.get _recordStyles):
1720         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
1721         (WebInspector.TimelinePanel.prototype._createTimelineCategoryStatusBarCheckbox):
1722         (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked):
1723         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1724         (WebInspector.TimelinePanel.prototype.sidebarResized):
1725         (WebInspector.TimelinePanel.prototype._updateBoundaries):
1726         (WebInspector.TimelinePanel.prototype._showPopover):
1727         (WebInspector.TimelinePresentationModel):
1728         (WebInspector.TimelinePresentationModel.prototype.get categories):
1729         (WebInspector.TimelinePresentationModel.prototype.addCategory):
1730         (WebInspector.TimelinePresentationModel.prototype.setWindowPosition):
1731         (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility):
1732
1733 2012-02-13  Joel Webber  <jgw@google.com>
1734
1735         Use requestAnimationFrame callbacks to pump CSS animations
1736         https://bugs.webkit.org/show_bug.cgi?id=64591
1737
1738         Reviewed by James Robinson.
1739
1740         No new tests needed (covered by tests in animations/*).
1741
1742         * page/FrameView.cpp:
1743         (WebCore::FrameView::serviceScriptedAnimations):
1744         * page/animation/AnimationController.cpp:
1745         (WebCore::AnimationControllerPrivate::updateAnimations):
1746         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1747         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
1748         (WebCore::AnimationControllerPrivate::animationFrameCallbackFired):
1749         (WebCore::AnimationController::updateAnimations):
1750         (WebCore::AnimationController::serviceAnimations):
1751         * page/animation/AnimationController.h:
1752         * page/animation/AnimationControllerPrivate.h:
1753
1754 2012-02-13  Patrick Gansterer  <paroga@webkit.org>
1755
1756         Add WindowsExtras.h
1757         https://bugs.webkit.org/show_bug.cgi?id=78340
1758
1759         Reviewed by Adam Roben.
1760
1761         Add a new file to share common code for Win32/WinCE differences.
1762
1763         * platform/win/PopupMenuWin.cpp:
1764         (WebCore::PopupMenuWin::PopupMenuWndProc):
1765         * platform/win/RunLoopWin.cpp:
1766         (WebCore::RunLoop::RunLoopWndProc):
1767         * platform/win/WindowsExtras.h: Added.
1768         (WebCore):
1769         (WebCore::getWindowPointer):
1770         (WebCore::setWindowPointer):
1771
1772 2012-02-13  Andreas Kling  <awesomekling@apple.com>
1773
1774         Don't mark element for style recalc when modifying its attribute style.
1775         <http://webkit.org/b/78497>
1776
1777         Reviewed by Antti Koivisto.
1778
1779         StylePropertySet::setNeedsStyleRecalc() shouldn't do anything for attribute styles.
1780         Their invalidation is handled exclusively by StyledElement::attributeChanged().
1781         Elements with presentation attributes were being marked for style recalc twice,
1782         once when the attribute changed, and again during attribute style update, below the
1783         call to collectStyleForAttribute().
1784
1785         * css/StylePropertySet.cpp:
1786         (WebCore::StylePropertySet::setNeedsStyleRecalc):
1787
1788 2012-02-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1789
1790         Move attribute storage from NamedNodeMap to ElementAttributeData
1791         https://bugs.webkit.org/show_bug.cgi?id=77674
1792
1793         Reviewed by Andreas Kling.
1794
1795         Move m_attributes vector from NamedNodeMap to ElementAttributeData. Make the
1796         remaining callsites interact with ElementAttributeData if possible. The parsing
1797         code is still interacting with NamedNodeMap, so some functions remained as
1798         wrappers there. A next change will it use ElementAttributeData instead.
1799
1800         The code for DOM exported functions remained in NamedNodeMap. This implementation
1801         should move to Element in a next change, too.
1802
1803         * dom/Attr.h:
1804         (Attr):
1805         * dom/Element.cpp:
1806         (WebCore::Element::setAttribute):
1807         (WebCore::Element::setAttributeInternal):
1808         (WebCore::Element::parserSetAttributeMap):
1809         (WebCore::Element::removeAttribute):
1810         (WebCore::Element::hasAttribute):
1811         (WebCore::Element::hasAttributeNS):
1812         (WebCore::Element::normalizeAttributes):
1813         * dom/Element.h:
1814         (Element):
1815         (WebCore::Element::ensureUpdatedAttributes):
1816         (WebCore::Element::ensureAttributeData):
1817         (WebCore):
1818         (WebCore::Element::updatedAttributeData):
1819         (WebCore::Element::ensureUpdatedAttributeData):
1820         These *AttributeData functions are the correct correct way for callers to touch
1821         the details of attribute storage. The "updated" variants will update invalid
1822         attributes before return.
1823
1824         (WebCore::Element::setAttributesFromElement):
1825         * dom/ElementAttributeData.cpp:
1826         (WebCore::ElementAttributeData::~ElementAttributeData):
1827         (WebCore):
1828         (WebCore::ElementAttributeData::ensureInlineStyleDecl):
1829         (WebCore::ElementAttributeData::addAttribute):
1830         (WebCore::ElementAttributeData::removeAttribute):
1831         (WebCore::ElementAttributeData::detachAttributesFromElement):
1832         (WebCore::ElementAttributeData::copyAttributesToVector):
1833         (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
1834         (WebCore::ElementAttributeData::setAttributes): Make use of the assumption that
1835         this will only be called with a valid Element, since the only call site is an
1836         Element method.
1837         (WebCore::ElementAttributeData::clearAttributes):
1838         (WebCore::ElementAttributeData::replaceAttribute): Make use of the assumption
1839         this will only be called with a valid Element, since the only call site return
1840         early if there's no Element.
1841         * dom/ElementAttributeData.h:
1842         (ElementAttributeData):
1843         (WebCore::ElementAttributeData::length):
1844         (WebCore::ElementAttributeData::isEmpty):
1845         (WebCore::ElementAttributeData::attributeItem):
1846         (WebCore::ElementAttributeData::removeAttribute):
1847         (WebCore):
1848         (WebCore::ElementAttributeData::getAttributeItem):
1849         (WebCore::ElementAttributeData::getAttributeItemIndex):
1850         * dom/NamedNodeMap.cpp:
1851         (WebCore::NamedNodeMap::getNamedItem):
1852         (WebCore::NamedNodeMap::removeNamedItem):
1853         (WebCore::NamedNodeMap::setNamedItem):
1854         (WebCore::NamedNodeMap::item):
1855         (WebCore::NamedNodeMap::detachFromElement):
1856         * dom/NamedNodeMap.h:
1857         (WebCore::NamedNodeMap::length):
1858         (WebCore::NamedNodeMap::isEmpty):
1859         (WebCore::NamedNodeMap::attributeItem):
1860         (WebCore::NamedNodeMap::getAttributeItem):
1861         (WebCore::NamedNodeMap::getAttributeItemIndex):
1862         (WebCore::NamedNodeMap::shrinkToLength):
1863         (WebCore::NamedNodeMap::reserveInitialCapacity):
1864         (WebCore::NamedNodeMap::addAttribute):
1865         (WebCore::NamedNodeMap::removeAttribute):
1866         (NamedNodeMap):
1867         * dom/StyledElement.cpp:
1868         (WebCore::StyledElement::updateAttributeStyle):
1869         * dom/StyledElement.h:
1870         (WebCore::StyledElement::ensureInlineStyleDecl):
1871         * html/HTMLInputElement.cpp:
1872         (WebCore::HTMLInputElement::updateType):
1873         * svg/properties/SVGAnimatedPropertySynchronizer.h:
1874         * xml/parser/XMLDocumentParserQt.cpp:
1875         (WebCore::XMLDocumentParser::XMLDocumentParser):
1876
1877 2012-02-13  Alexei Filippov  <alexeif@chromium.org>
1878
1879         Web Inspector: wrong percent calculations for empty snapshot.
1880         https://bugs.webkit.org/show_bug.cgi?id=78329
1881
1882         Reviewed by Yury Semikhatsky.
1883
1884         * inspector/front-end/DetailedHeapshotGridNodes.js:
1885         (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
1886
1887 2012-02-13  Alexei Filippov  <alexeif@chromium.org>
1888
1889         Web Inspector: add class filter to heap profiler.
1890         https://bugs.webkit.org/show_bug.cgi?id=78362
1891
1892         Reviewed by Yury Semikhatsky.
1893
1894         * inspector/front-end/DataGrid.js:
1895         (WebInspector.DataGrid.prototype.insertChild):
1896         * inspector/front-end/DetailedHeapshotView.js:
1897         (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
1898         (WebInspector.HeapSnapshotConstructorsDataGrid):
1899         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._nameFilterChanged):
1900         (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
1901         * inspector/front-end/heapProfiler.css:
1902         (.detailed-heapshot-view .constructors-view-grid):
1903         (.detailed-heapshot-view .constructors-view-toolbar):
1904         (.detailed-heapshot-view .constructors-view-toolbar input.constructors-view-filter):
1905
1906 2012-02-13  Peter Rybin  <peter.rybin@gmail.com>
1907
1908         Web Inspector: In Inspector.json PropertyDescriptor.writable should be declared optional
1909         https://bugs.webkit.org/show_bug.cgi?id=77917
1910
1911         Reviewed by Pavel Feldman.
1912
1913         Property descriptor is fixed in Inspector.json. Also retroactively in
1914         0.1 and 1.0.
1915         Injected script in instructed to never return null property values.
1916
1917         * inspector/InjectedScriptSource.js:
1918         (.):
1919         * inspector/Inspector-0.1.json:
1920         * inspector/Inspector-1.0.json:
1921         * inspector/Inspector.json:
1922
1923 2012-02-13  ChangSeok Oh  <shivamidow@gmail.com>
1924
1925         [GTK] Revise configuration for MHTML
1926         https://bugs.webkit.org/show_bug.cgi?id=78364
1927
1928         Reviewed by Gustavo Noronha Silva.
1929
1930         Added mhtml directory and removed target files duplicated to build when enabling mhtml.
1931         Archive.cpp, ArchiveFactory.cpp & their headers are included at the above line.
1932         This duplication has caused build-break if mhtml is enabled.
1933
1934         No new tests, since no new features.
1935
1936         * GNUmakefile.am:
1937         * GNUmakefile.list.am:
1938
1939 2012-02-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
1940
1941         [EFL] Drop support for the Curl network backend.
1942         https://bugs.webkit.org/show_bug.cgi?id=77874
1943
1944         Reviewed by Eric Seidel.
1945
1946         Nobody seems to be maintaining the Curl backend in WebCore, the
1947         EFL port developers all seem to be using the Soup backend and the
1948         port itself has many features which are only implemented for the
1949         latter.
1950
1951         No new tests, just some dependency plumbing.
1952
1953         * PlatformEfl.cmake: Build the glib/soup source files
1954         unconditionally.
1955         * platform/efl/FileSystemEfl.cpp: Remove ENABLE(GLIB_SUPPORT) check.
1956
1957 2012-02-13  Pavel Feldman  <pfeldman@google.com>
1958
1959         Web Inspector: wrap settings selector text and adding a rule with undoable actions.
1960         https://bugs.webkit.org/show_bug.cgi?id=78482
1961
1962         Reviewed by Yury Semikhatsky.
1963
1964         Tests: inspector/styles/undo-add-new-rule.html
1965                inspector/styles/undo-set-selector-text.html
1966
1967         * inspector/InspectorCSSAgent.cpp:
1968         (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
1969         (InspectorCSSAgent::StyleSheetAction):
1970         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
1971         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
1972         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
1973         (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
1974         (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
1975         (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
1976         (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
1977         (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
1978         (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
1979         (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
1980         (InspectorCSSAgent::SetRuleSelectorAction):
1981         (WebCore::InspectorCSSAgent::SetRuleSelectorAction::SetRuleSelectorAction):
1982         (WebCore::InspectorCSSAgent::SetRuleSelectorAction::perform):
1983         (WebCore::InspectorCSSAgent::SetRuleSelectorAction::undo):
1984         (WebCore):
1985         (InspectorCSSAgent::AddRuleAction):
1986         (WebCore::InspectorCSSAgent::AddRuleAction::AddRuleAction):
1987         (WebCore::InspectorCSSAgent::AddRuleAction::perform):
1988         (WebCore::InspectorCSSAgent::AddRuleAction::undo):
1989         (WebCore::InspectorCSSAgent::AddRuleAction::newRuleId):
1990         (WebCore::InspectorCSSAgent::setStyleSheetText):
1991         (WebCore::InspectorCSSAgent::setPropertyText):
1992         (WebCore::InspectorCSSAgent::toggleProperty):
1993         (WebCore::InspectorCSSAgent::setRuleSelector):
1994         (WebCore::InspectorCSSAgent::addRule):
1995         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
1996         (WebCore::InspectorCSSAgent::bindStyleSheet):
1997         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
1998         (WebCore::InspectorCSSAgent::styleSheetChanged):
1999         * inspector/InspectorCSSAgent.h:
2000         (InspectorCSSAgent):
2001         * inspector/InspectorStyleSheet.cpp:
2002         (WebCore::InspectorStyleSheet::create):
2003         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
2004         (WebCore::InspectorStyleSheet::reparseStyleSheet):
2005         (WebCore::InspectorStyleSheet::ruleSelector):
2006         (WebCore):
2007         (WebCore::InspectorStyleSheet::setRuleSelector):
2008         (WebCore::InspectorStyleSheet::addRule):
2009         (WebCore::InspectorStyleSheet::deleteRule):
2010         (WebCore::InspectorStyleSheet::setPropertyText):
2011         (WebCore::InspectorStyleSheet::toggleProperty):
2012         (WebCore::InspectorStyleSheet::fireStyleSheetChanged):
2013         (WebCore::InspectorStyleSheetForInlineStyle::create):
2014         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
2015         * inspector/InspectorStyleSheet.h:
2016         (InspectorStyleSheet):
2017         (WebCore::InspectorStyleSheet::styleId):
2018         (InspectorStyleSheetForInlineStyle):
2019
2020 2012-02-13  Hayato Ito  <hayato@chromium.org>
2021
2022         Rename names defined in ContentInclutionSelector to more intuitive names.
2023         https://bugs.webkit.org/show_bug.cgi?id=78333
2024
2025         Reviewed by Hajime Morita.
2026
2027         This is just refactoring, renaming non-intuitive names to more intuitive names
2028         so that they match the terms in the spec.
2029
2030         No tests. No change in behavior.
2031
2032         * CMakeLists.txt:
2033         * GNUmakefile.list.am:
2034         * Target.pri:
2035         * WebCore.gypi:
2036         * WebCore.vcproj/WebCore.vcproj:
2037         * WebCore.xcodeproj/project.pbxproj:
2038         * dom/NodeRenderingContext.cpp:
2039         (WebCore::NodeRenderingContext::NodeRenderingContext):
2040         (WebCore::nextRendererOf):
2041         (WebCore::previousRendererOf):
2042         (WebCore::firstRendererOf):
2043         (WebCore::lastRendererOf):
2044         (WebCore::NodeRenderingContext::nextRenderer):
2045         (WebCore::NodeRenderingContext::previousRenderer):
2046         * dom/NodeRenderingContext.h:
2047         (NodeRenderingContext):
2048         (WebCore::NodeRenderingContext::insertionPoint):
2049         * dom/ShadowRoot.cpp:
2050         (WebCore::ShadowRoot::insertionPointFor):
2051         (WebCore::ShadowRoot::isSelectorActive):
2052         (WebCore::ShadowRoot::attach):
2053         (WebCore::ShadowRoot::selector):
2054         (WebCore::ShadowRoot::ensureSelector):
2055         * dom/ShadowRoot.h:
2056         (WebCore):
2057         (ShadowRoot):
2058         * html/shadow/ContentInclusionSelector.h: Removed.
2059         * html/shadow/HTMLContentElement.cpp:
2060         (WebCore::HTMLContentElement::HTMLContentElement):
2061         (WebCore::HTMLContentElement::attach):
2062         (WebCore::HTMLContentElement::detach):
2063         * html/shadow/HTMLContentElement.h:
2064         (WebCore):
2065         (WebCore::HTMLContentElement::selections):
2066         (WebCore::HTMLContentElement::hasSelection):
2067         (HTMLContentElement):
2068         * html/shadow/HTMLContentSelector.cpp: Renamed from Source/WebCore/html/shadow/ContentInclusionSelector.cpp.
2069         (WebCore):
2070         (WebCore::HTMLContentSeleciton::append):
2071         (WebCore::HTMLContentSeleciton::unlink):
2072         (WebCore::HTMLContentSelectionList::HTMLContentSelectionList):
2073         (WebCore::HTMLContentSelectionList::~HTMLContentSelectionList):
2074         (WebCore::HTMLContentSelectionList::find):
2075         (WebCore::HTMLContentSelectionList::clear):
2076         (WebCore::HTMLContentSelectionList::append):
2077         (WebCore::HTMLContentSelector::HTMLContentSelector):
2078         (WebCore::HTMLContentSelector::~HTMLContentSelector):
2079         (WebCore::HTMLContentSelector::select):
2080         (WebCore::HTMLContentSelector::unselect):
2081         (WebCore::HTMLContentSelector::findFor):
2082         (WebCore::HTMLContentSelector::didSelect):
2083         (WebCore::HTMLContentSelector::willSelectOver):
2084         * html/shadow/HTMLContentSelector.h: Added.
2085         (WebCore):
2086         (HTMLContentSeleciton):
2087         (WebCore::HTMLContentSeleciton::insertionPoint):
2088         (WebCore::HTMLContentSeleciton::node):
2089         (WebCore::HTMLContentSeleciton::next):
2090         (WebCore::HTMLContentSeleciton::previous):
2091         (WebCore::HTMLContentSeleciton::HTMLContentSeleciton):
2092         (WebCore::HTMLContentSeleciton::create):
2093         (HTMLContentSelectionList):
2094         (WebCore::HTMLContentSelectionList::first):
2095         (WebCore::HTMLContentSelectionList::last):
2096         (WebCore::HTMLContentSelectionList::isEmpty):
2097         (HTMLContentSelectionSet):
2098         (WebCore::HTMLContentSelectionSet::add):
2099         (WebCore::HTMLContentSelectionSet::remove):
2100         (WebCore::HTMLContentSelectionSet::isEmpty):
2101         (Translator):
2102         (WebCore::HTMLContentSelectionSet::Translator::hash):
2103         (WebCore::HTMLContentSelectionSet::Translator::equal):
2104         (WebCore::HTMLContentSelectionSet::Hash::hash):
2105         (WebCore::HTMLContentSelectionSet::Hash::equal):
2106         (Hash):
2107         (WebCore::HTMLContentSelectionSet::find):
2108         (HTMLContentSelector):
2109         (WebCore::HTMLContentSelector::hasCandidates):
2110         * testing/Internals.cpp:
2111         (WebCore::Internals::includerFor):
2112
2113 2012-02-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
2114
2115         [Texmap] morphing-cubes animation appears too close when clicking the button
2116         https://bugs.webkit.org/show_bug.cgi?id=78476
2117
2118         Fixed bug in TextureMapperAnimation that made transform animations that go to/from identity
2119         to not work.
2120
2121         Reviewed by Simon Hausmann.
2122
2123         No behavior changes.
2124
2125         * platform/graphics/texmap/TextureMapperAnimation.cpp:
2126         (WebCore::applyTransformAnimation):
2127
2128 2012-02-13  Yosifumi Inoue  <yosin@chromium.org>
2129
2130         [Forms] Use enum instead of bool for HTMLInputElement::setValue
2131         https://bugs.webkit.org/show_bug.cgi?id=75217
2132
2133         Reviewed by Kent Tamura.
2134
2135         Use TextFieldEventBehavior enum instead of sendChangeEvent bool
2136         parameter for HTMLInputElement::setValue method. This new enum
2137         parameter will be extended to dispatch input and change events
2138         when user agent populates input field as specified in
2139         "Common events behavior" of HTML5 standard.
2140
2141         This patch is required for fixing bug 75067 "[Forms] Spin buttons
2142         of number input type should fire both input and change event."
2143
2144         No new tests. Existing tests cover this patch.
2145
2146         * html/BaseButtonInputType.cpp:
2147         (WebCore::BaseButtonInputType::setValue):
2148         * html/BaseButtonInputType.h:
2149         * html/BaseCheckableInputType.cpp:
2150         (WebCore::BaseCheckableInputType::setValue):
2151         * html/BaseCheckableInputType.h:
2152         * html/BaseDateAndTimeInputType.cpp:
2153         (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
2154         * html/BaseDateAndTimeInputType.h:
2155         * html/CheckboxInputType.cpp:
2156         (WebCore::CheckboxInputType::willDispatchClick):
2157         * html/ColorInputType.cpp:
2158         (WebCore::ColorInputType::setValue):
2159         * html/ColorInputType.h:
2160         * html/FileInputType.cpp:
2161         (WebCore::FileInputType::setValue):
2162         * html/FileInputType.h:
2163         * html/HTMLInputElement.cpp:
2164         (WebCore::HTMLInputElement::applyStep):
2165         (WebCore::HTMLInputElement::stepUp):
2166         (WebCore::HTMLInputElement::stepDown):
2167         (WebCore::HTMLInputElement::setChecked):
2168         (WebCore::HTMLInputElement::setValueForUser):
2169         (WebCore::HTMLInputElement::setValue):
2170         (WebCore::HTMLInputElement::setValueInternal):
2171         (WebCore::HTMLInputElement::setValueAsNumber):
2172         (WebCore::HTMLInputElement::stepUpFromRenderer):
2173         * html/HTMLInputElement.h:
2174         * html/HTMLTextFormControlElement.h:
2175         * html/HiddenInputType.cpp:
2176         (WebCore::HiddenInputType::setValue):
2177         * html/HiddenInputType.h:
2178         * html/InputType.cpp:
2179         (WebCore::InputType::setValueAsNumber):
2180         (WebCore::InputType::setValue):
2181         * html/InputType.h:
2182         * html/NumberInputType.cpp:
2183         (WebCore::NumberInputType::setValueAsNumber):
2184         * html/NumberInputType.h:
2185         * html/RadioInputType.cpp:
2186         (WebCore::RadioInputType::willDispatchClick):
2187         * html/RangeInputType.cpp:
2188         (WebCore::RangeInputType::setValueAsNumber):
2189         (WebCore::RangeInputType::handleKeydownEvent):
2190         (WebCore::RangeInputType::setValue):
2191         * html/RangeInputType.h:
2192         * html/TextFieldInputType.cpp:
2193         (WebCore::TextFieldInputType::setValue):
2194         * html/TextFieldInputType.h:
2195
2196 2012-02-13  Andreas Kling  <awesomekling@apple.com>
2197
2198         Move attribute style invalidation to attributeChanged().
2199         <http://webkit.org/b/78461>
2200
2201         Reviewed by Antti Koivisto.
2202
2203         Moved attribute style invalidation out of the parseAttribute() overloads
2204         and added an "isPresentationAttribute(Attribute*) virtual to StyledElement.
2205         Returning true for a given Attribute will cause attribute style invalidation
2206         when that attribute passes through attributeChanged().
2207
2208         Removed a couple of parseAttribute() overloads whose only remaining purpose
2209         was invalidating attribute style.
2210
2211         For form elements that deliberately don't map the "align" attribute, added
2212         short-circuits in isPresentationAttribute instead of falling back to the
2213         respective base class (which may othweise then map "align")
2214
2215         * dom/StyledElement.cpp:
2216         (WebCore::StyledElement::attributeChanged):
2217         * dom/StyledElement.h:
2218         (WebCore::StyledElement::isPresentationAttribute):
2219         * html/HTMLBRElement.cpp:
2220         (WebCore::HTMLBRElement::isPresentationAttribute):
2221         * html/HTMLBRElement.h:
2222         * html/HTMLBodyElement.cpp:
2223         (WebCore::HTMLBodyElement::isPresentationAttribute):
2224         (WebCore::HTMLBodyElement::collectStyleForAttribute):
2225         (WebCore::HTMLBodyElement::parseAttribute):
2226         * html/HTMLBodyElement.h:
2227         * html/HTMLButtonElement.cpp:
2228         (WebCore::HTMLButtonElement::isPresentationAttribute):
2229         (WebCore::HTMLButtonElement::parseAttribute):
2230         * html/HTMLButtonElement.h:
2231         * html/HTMLDivElement.cpp:
2232         (WebCore::HTMLDivElement::isPresentationAttribute):
2233         * html/HTMLDivElement.h:
2234         * html/HTMLElement.cpp:
2235         (WebCore::HTMLElement::isPresentationAttribute):
2236         (WebCore::HTMLElement::parseAttribute):
2237         * html/HTMLElement.h:
2238         * html/HTMLEmbedElement.cpp:
2239         (WebCore::HTMLEmbedElement::isPresentationAttribute):
2240         (WebCore::HTMLEmbedElement::parseAttribute):
2241         * html/HTMLEmbedElement.h:
2242         * html/HTMLFontElement.cpp:
2243         (WebCore::HTMLFontElement::isPresentationAttribute):
2244         * html/HTMLFontElement.h:
2245         * html/HTMLFrameSetElement.cpp:
2246         (WebCore::HTMLFrameSetElement::isPresentationAttribute):
2247         (WebCore::HTMLFrameSetElement::parseAttribute):
2248         * html/HTMLFrameSetElement.h:
2249         * html/HTMLHRElement.cpp:
2250         (WebCore::HTMLHRElement::isPresentationAttribute):
2251         (WebCore::HTMLHRElement::collectStyleForAttribute):
2252         * html/HTMLHRElement.h:
2253         * html/HTMLIFrameElement.cpp:
2254         (WebCore::HTMLIFrameElement::isPresentationAttribute):
2255         (WebCore::HTMLIFrameElement::collectStyleForAttribute):
2256         (WebCore::HTMLIFrameElement::parseAttribute):
2257         * html/HTMLIFrameElement.h:
2258         * html/HTMLImageElement.cpp:
2259         (WebCore::HTMLImageElement::isPresentationAttribute):
2260         (WebCore::HTMLImageElement::collectStyleForAttribute):
2261         (WebCore::HTMLImageElement::parseAttribute):
2262         * html/HTMLImageElement.h:
2263         * html/HTMLInputElement.cpp:
2264         (WebCore::HTMLInputElement::isPresentationAttribute):
2265         (WebCore::HTMLInputElement::collectStyleForAttribute):
2266         (WebCore::HTMLInputElement::parseAttribute):
2267         * html/HTMLInputElement.h:
2268         * html/HTMLLIElement.cpp:
2269         (WebCore::HTMLLIElement::isPresentationAttribute):
2270         (WebCore::HTMLLIElement::parseAttribute):
2271         * html/HTMLLIElement.h:
2272         * html/HTMLMarqueeElement.cpp:
2273         (WebCore::HTMLMarqueeElement::isPresentationAttribute):
2274         (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
2275         (WebCore::HTMLMarqueeElement::parseAttribute):
2276         * html/HTMLMarqueeElement.h:
2277         * html/HTMLOListElement.cpp:
2278         (WebCore::HTMLOListElement::isPresentationAttribute):
2279         (WebCore::HTMLOListElement::parseAttribute):
2280         * html/HTMLOListElement.h:
2281         * html/HTMLObjectElement.cpp:
2282         (WebCore::HTMLObjectElement::isPresentationAttribute):
2283         (WebCore::HTMLObjectElement::parseAttribute):
2284         * html/HTMLObjectElement.h:
2285         * html/HTMLParagraphElement.cpp:
2286         (WebCore::HTMLParagraphElement::isPresentationAttribute):
2287         * html/HTMLParagraphElement.h:
2288         * html/HTMLPlugInElement.cpp:
2289         (WebCore::HTMLPlugInElement::isPresentationAttribute):
2290         (WebCore::HTMLPlugInElement::collectStyleForAttribute):
2291         * html/HTMLPlugInElement.h:
2292         * html/HTMLPreElement.cpp:
2293         (WebCore::HTMLPreElement::isPresentationAttribute):
2294         (WebCore::HTMLPreElement::collectStyleForAttribute):
2295         * html/HTMLPreElement.h:
2296         * html/HTMLSelectElement.cpp:
2297         (WebCore::HTMLSelectElement::isPresentationAttribute):
2298         (WebCore::HTMLSelectElement::parseAttribute):
2299         * html/HTMLSelectElement.h:
2300         * html/HTMLTableCaptionElement.cpp:
2301         (WebCore::HTMLTableCaptionElement::isPresentationAttribute):
2302         (WebCore::HTMLTableCaptionElement::parseAttribute):
2303         * html/HTMLTableCaptionElement.h:
2304         * html/HTMLTableCellElement.cpp:
2305         (WebCore::HTMLTableCellElement::isPresentationAttribute):
2306         (WebCore::HTMLTableCellElement::collectStyleForAttribute):
2307         (WebCore::HTMLTableCellElement::parseAttribute):
2308         * html/HTMLTableCellElement.h:
2309         * html/HTMLTableColElement.cpp:
2310         (WebCore::HTMLTableColElement::isPresentationAttribute):
2311         (WebCore::HTMLTableColElement::parseAttribute):
2312         * html/HTMLTableColElement.h:
2313         * html/HTMLTableElement.cpp:
2314         (WebCore::HTMLTableElement::isPresentationAttribute):
2315         (WebCore::HTMLTableElement::parseAttribute):
2316         * html/HTMLTableElement.h:
2317         * html/HTMLTablePartElement.cpp:
2318         (WebCore::HTMLTablePartElement::isPresentationAttribute):
2319         (WebCore::HTMLTablePartElement::collectStyleForAttribute):
2320         * html/HTMLTablePartElement.h:
2321         * html/HTMLTextAreaElement.cpp:
2322         (WebCore::HTMLTextAreaElement::isPresentationAttribute):
2323         (WebCore::HTMLTextAreaElement::parseAttribute):
2324         * html/HTMLTextAreaElement.h:
2325         * html/HTMLUListElement.cpp:
2326         (WebCore::HTMLUListElement::isPresentationAttribute):
2327         (WebCore::HTMLUListElement::collectStyleForAttribute):
2328         * html/HTMLUListElement.h:
2329         * html/HTMLVideoElement.cpp:
2330         (WebCore::HTMLVideoElement::isPresentationAttribute):
2331         (WebCore::HTMLVideoElement::parseAttribute):
2332         * html/HTMLVideoElement.h:
2333         * mathml/MathMLElement.cpp:
2334         (WebCore::MathMLElement::isPresentationAttribute):
2335         (WebCore::MathMLElement::collectStyleForAttribute):
2336         * mathml/MathMLElement.h:
2337         * svg/SVGImageElement.cpp:
2338         (WebCore::SVGImageElement::isPresentationAttribute):
2339         (WebCore::SVGImageElement::parseAttribute):
2340         * svg/SVGImageElement.h:
2341         * svg/SVGStyledElement.cpp:
2342         (WebCore::SVGStyledElement::isPresentationAttribute):
2343         (WebCore::SVGStyledElement::parseAttribute):
2344         * svg/SVGStyledElement.h:
2345         * svg/SVGTextContentElement.cpp:
2346         (WebCore::SVGTextContentElement::isPresentationAttribute):
2347         (WebCore::SVGTextContentElement::parseAttribute):
2348         * svg/SVGTextContentElement.h:
2349
2350 2012-02-13  Kentaro Hara  <haraken@chromium.org>
2351
2352         Add [JSCustomToJSObject] IDL attribute to interfaces that have
2353         custom toJS() but do not have custom toV8()
2354         https://bugs.webkit.org/show_bug.cgi?id=78466
2355
2356         Reviewed by Adam Barth.
2357
2358         This is the second step to remove hard-coding in HasCustomToV8Implementation()
2359         in CodeGeneratorV8.pm. This patch replaces [JSCustomToJS] with [JSCustomToJSObject]
2360         for interfaces which have custom toJS() but do not have custom toV8().
2361
2362         No tests. No change in behavior.
2363
2364         * bindings/scripts/CodeGeneratorJS.pm:
2365         (GenerateHeader):
2366         (GenerateImplementation):
2367         * bindings/scripts/CodeGeneratorV8.pm:
2368         (HasCustomToV8Implementation): I found that AbstractWorker and CanvasRenderingContext
2369         are the only IDL files to which I need to add [JSCustomToJSObject].
2370         Other IDL files which had been listed here do not have [JSCustomToJS].
2371         * html/canvas/CanvasRenderingContext.idl:
2372         * workers/AbstractWorker.idl:
2373
2374 2012-02-13  Andreas Kling  <awesomekling@apple.com>
2375
2376         Avoid unnecessary work when evaluating style sharing candidates.
2377         <http://webkit.org/b/78220>
2378
2379         Reviewed by Antti Koivisto.
2380
2381         Do the cheap checks (bitfields, pointers) before calling virtuals and doing hash lookups.
2382         Remove comparison of attributes that are reflected in the attribute styles (cellpadding.)
2383         Moved comparison of "type" and "readonly" attributes into the more specific
2384         canShareStyleWithControl() since they are only relevant for input elements. Don't bother
2385         calling isFormControlElement() on both elements as they already have the same tagQName().
2386
2387         Altogether this knocks off ~8ms worth of samples per cycle of the "Moz" page cycler test.
2388
2389         * css/CSSStyleSelector.cpp:
2390         (WebCore::CSSStyleSelector::canShareStyleWithControl):
2391         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2392         (WebCore::isCommonAttributeSelectorAttribute):
2393
2394 2012-02-13  Arko Saha  <arko@motorola.com>
2395
2396         <summary> is not keyboard accessible.
2397         https://bugs.webkit.org/show_bug.cgi?id=75478
2398
2399         Reviewed by Hajime Morita.
2400
2401         Toggle the content of <details> element on pressing Enter or Spacebar
2402         key on a focused <summary> element.
2403
2404         Test: fast/html/details-keyboard-show-hide.html
2405
2406         * html/HTMLSummaryElement.cpp:
2407         (WebCore::HTMLSummaryElement::supportsFocus):
2408         (WebCore):
2409         (WebCore::HTMLSummaryElement::defaultEventHandler):
2410         * html/HTMLSummaryElement.h:
2411         (HTMLSummaryElement):
2412
2413 2012-02-13  Gavin Barraclough  <barraclough@apple.com>
2414
2415         https://bugs.webkit.org/show_bug.cgi?id=78434
2416         Unreviewed - temporarily reverting r107498 will I fix a couple of testcases.
2417
2418         * bindings/js/JSDOMWindowBase.cpp:
2419         (WebCore):
2420         * bindings/js/JSDOMWindowBase.h:
2421         (JSDOMWindowBase):
2422
2423 2012-02-13  Ilya Tikhonovsky  <loislo@chromium.org>
2424
2425         Web Inspector: get rid of cycles in containment view of an object.
2426         https://bugs.webkit.org/show_bug.cgi?id=78462
2427
2428         Reviewed by Yury Semikhatsky.
2429
2430         * inspector/front-end/DetailedHeapshotGridNodes.js:
2431         (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
2432         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
2433
2434 2012-02-12  Adam Barth  <abarth@webkit.org>
2435
2436         Remove ENABLE(MEDIA_STREAM) from Navigator.h
2437         https://bugs.webkit.org/show_bug.cgi?id=78467
2438
2439         Reviewed by Kentaro Hara.
2440
2441         Navigator.webkitGetUser media doesn't really have anything to do with
2442         Navigator.cpp.  This patch moves it into the mediastream directory and
2443         removes the ENABLE(MEDIA_STREAM) ifdefs in Navigator.h and
2444         Navigator.cpp.
2445
2446         * GNUmakefile.list.am:
2447         * WebCore.gypi:
2448         * mediastream/NavigatorMediaStream.cpp: Added.
2449         (WebCore):
2450         (WebCore::NavigatorMediaStream::NavigatorMediaStream):
2451         (WebCore::NavigatorMediaStream::~NavigatorMediaStream):
2452         (WebCore::NavigatorMediaStream::webkitGetUserMedia):
2453         * mediastream/NavigatorMediaStream.h: Added.
2454         (WebCore):
2455         (NavigatorMediaStream):
2456         * mediastream/NavigatorMediaStream.idl: Added.
2457         * page/Navigator.cpp:
2458         (WebCore):
2459         * page/Navigator.h:
2460         (WebCore):
2461         (Navigator):
2462         * page/Navigator.idl:
2463
2464 2012-02-12  Adam Barth  <abarth@webkit.org>
2465
2466         Navigator.webkitGetUserMedia doesn't need to be custom
2467         https://bugs.webkit.org/show_bug.cgi?id=78464
2468
2469         Reviewed by Eric Seidel.
2470
2471         The code generator has gotten smarter since this function was added.
2472
2473         * GNUmakefile.list.am:
2474         * UseV8.cmake:
2475         * WebCore.gypi:
2476         * bindings/js/JSNavigatorCustom.cpp: Removed.
2477         * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
2478         * page/Navigator.idl:
2479
2480 2012-02-12  Adam Barth  <abarth@webkit.org>
2481
2482         Move ENABLE(GAMEPAD) logic out of Navigator.h/cpp
2483         https://bugs.webkit.org/show_bug.cgi?id=78457
2484
2485         Reviewed by Hajime Morita.
2486
2487         This patch moves GAMEPAD-specific logic out of Navigator by introducing
2488         the concept of a NavigatorSupplement, analogous to the recently
2489         introduced PageSupplement.
2490
2491         * Modules/gamepad/NavigatorGamepad.cpp:
2492         (WebCore::NavigatorGamepad::from):
2493         (WebCore):
2494         (WebCore::NavigatorGamepad::webkitGamepads):
2495         (WebCore::NavigatorGamepad::gamepads):
2496         * Modules/gamepad/NavigatorGamepad.h:
2497         (NavigatorGamepad):
2498         * WebCore.gypi:
2499         * dom/DeviceMotionController.cpp:
2500         (WebCore::DeviceMotionController::supplementName):
2501         * page/Navigator.cpp:
2502         (WebCore::Navigator::provideSupplement):
2503         (WebCore):
2504         (WebCore::Navigator::requireSupplement):
2505         * page/Navigator.h:
2506         (Navigator):
2507         * page/Page.h:
2508         (Page):
2509         * page/PageSupplement.h:
2510             - This patch cleans up some nits in PageSupplement.
2511         (WebCore):
2512         (PageSupplement):
2513
2514 2012-02-12  Kentaro Hara  <haraken@chromium.org>
2515
2516         Add a [V8CustomToJSObject] IDL attribute
2517         https://bugs.webkit.org/show_bug.cgi?id=78450
2518
2519         Reviewed by Adam Barth.
2520
2521         This is the first step to remove hard-coding in HasCustomToV8Implementation()
2522         in CodeGeneratorV8.pm. This patch adds [V8CustomToJSObject]
2523         to interfaces which have custom toV8() but do not have custom toJS().
2524
2525         No tests. No change in behavior.
2526
2527         * bindings/scripts/CodeGeneratorV8.pm: Replaced hard-coding with [V8CustomToJSObject].
2528         (HasCustomToV8Implementation):
2529
2530         * css/CSSStyleSheet.idl: Added [V8CustomToJSObject].
2531         * dom/DOMStringMap.idl:
2532         * dom/Element.idl:
2533         * dom/NamedNodeMap.idl:
2534         * html/DOMTokenList.idl:
2535         * html/HTMLDocument.idl:
2536         * html/HTMLElement.idl:
2537         * html/canvas/CanvasPixelArray.idl:
2538         * inspector/ScriptProfile.idl:
2539         * inspector/ScriptProfileNode.idl:
2540         * page/DOMWindow.idl:
2541         * page/Location.idl:
2542         * svg/SVGDocument.idl:
2543         * svg/SVGElement.idl:
2544         * workers/WorkerContext.idl:
2545
2546 2012-02-12  David Barr  <davidbarr@chromium.org>
2547
2548         CSS3 currentColor on outline-color gets treated as inherit
2549         https://bugs.webkit.org/show_bug.cgi?id=73180
2550
2551         Reviewed by Antti Koivisto.
2552
2553         The CSS2 and CSS3 UI modules state that outline-color
2554         is not inherited. Make it so.
2555         http://www.w3.org/TR/CSS2/ui.html#propdef-outline-color
2556         http://www.w3.org/TR/css3-ui/#outline-color
2557
2558         Test: fast/css/outline-currentcolor.html
2559
2560         * css/CSSStyleApplyProperty.cpp:
2561         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2562
2563 2012-02-12  Antti Koivisto  <antti@apple.com>
2564
2565         CSSPageRule should inherit from CSSRule instead of CSSStyleRule
2566         https://bugs.webkit.org/show_bug.cgi?id=78452
2567
2568         Reviewed by Anders Carlsson.
2569
2570         This matches CSSOM and eliminates the only subclass of CSSStyleRule, enabling further refactoring.
2571
2572         * css/CSSPageRule.cpp:
2573         (WebCore::CSSPageRule::CSSPageRule):
2574         (WebCore::CSSPageRule::~CSSPageRule):
2575         (WebCore):
2576         (WebCore::CSSPageRule::selectorText):
2577         (WebCore::CSSPageRule::setSelectorText):
2578         (WebCore::CSSPageRule::cssText):
2579         * css/CSSPageRule.h:
2580         (CSSPageRule):
2581         (WebCore::CSSPageRule::style):
2582         (WebCore::CSSPageRule::selector):
2583         (WebCore::CSSPageRule::properties):
2584         (WebCore::CSSPageRule::adoptSelectorVector):
2585         (WebCore::CSSPageRule::setDeclaration):
2586         * css/CSSRule.cpp:
2587         (WebCore::CSSRule::cssText):
2588         * css/CSSStyleRule.cpp:
2589         (WebCore::CSSStyleRule::generateSelectorText):
2590         * css/CSSStyleSelector.cpp:
2591         (WebCore::RuleSet::pageRules):
2592         (RuleSet):
2593         (WebCore::RuleSet::addPageRule):
2594         (WebCore::comparePageRules):
2595         (WebCore::CSSStyleSelector::matchPageRules):
2596         (WebCore::CSSStyleSelector::matchPageRulesForList):
2597         * css/CSSStyleSelector.h:
2598         (CSSStyleSelector):
2599
2600 2012-02-12  Shinya Kawanaka  <shinyak@google.com>
2601
2602         Introduce ShadowRootList.
2603         https://bugs.webkit.org/show_bug.cgi?id=78069
2604
2605         Reviewed by Hajime Morita.
2606
2607         This is a step to implement multiple shadow subtrees.
2608
2609         This patch introduces a shadow root list. ShadowRootList is a doubly linked list,
2610         and each shadow root now has a younger shadow root and older shadow root,
2611         which are a previous element and a next element respectively.
2612         Since a visual tree traversal, which will be introduced in coming patches, will need a older shadow root,
2613         we make a shadow root list a doubly linked list.
2614
2615         However, ShadowRootList does not have more than one shadow root now.
2616         This will be changed in a series of coming patches.
2617
2618         Element::shadowRoot(), setShadowRoot(), ensureShadowRoot(), and removeShadowRoot() are
2619         emulated using ShadowRootList for a while. These API will be replaced to ShadowRootList API later.
2620
2621         No new tests, no change in behavior.
2622
2623         * CMakeLists.txt:
2624         * GNUmakefile.list.am:
2625         * Target.pri:
2626         * WebCore.gypi:
2627         * WebCore.xcodeproj/project.pbxproj:
2628         * dom/DOMAllInOne.cpp:
2629         * dom/Element.cpp:
2630         (WebCore::Element::hasShadowRoot):
2631           Retruns true if an element has a shadowRoot.
2632         (WebCore::Element::shadowRootList):
2633           Gets shadow root list if any.
2634         (WebCore::Element::shadowRoot):
2635           Gets the first shadow root from the shadow root list.
2636         (WebCore::Element::setShadowRoot):
2637           Sets the first shadow root to the shadow root list.
2638         (WebCore::Element::removeShadowRoot):
2639           Removes all the shadow roots in the shadow root list.
2640         * dom/Element.h:
2641         (WebCore):
2642         (Element):
2643         * dom/ElementRareData.h:
2644         (ElementRareData):
2645         (WebCore::ElementRareData::ElementRareData):
2646           Has shadow root lists instead of shadow root.
2647         (WebCore::ElementRareData::~ElementRareData):
2648         * dom/ShadowRoot.cpp:
2649         (WebCore::ShadowRoot::ShadowRoot):
2650         (WebCore::ShadowRoot::~ShadowRoot):
2651         * dom/ShadowRoot.h:
2652         (ShadowRoot):
2653         (WebCore::ShadowRoot::youngerShadowRoot):
2654         (WebCore::ShadowRoot::olderShadowRoot):
2655         * dom/ShadowRootList.cpp: Added.
2656         (WebCore):
2657         (WebCore::ShadowRootList::ShadowRootList):
2658         (WebCore::ShadowRootList::~ShadowRootList):
2659         (WebCore::ShadowRootList::pushShadowRoot):
2660           Adds a shadow root into the list. Currently we limit the list can have only one shadow root.
2661         (WebCore::ShadowRootList::popShadowRoot):
2662           Removes and returns the youngest shadow root if any.
2663         * dom/ShadowRootList.h: Added.
2664         (WebCore):
2665         (ShadowRootList):
2666         (WebCore::ShadowRootList::hasShadowRoot):
2667         (WebCore::ShadowRootList::youngestShadowRoot):
2668         (WebCore::ShadowRootList::oldestShadowRoot):
2669
2670 2012-02-12  Shinya Kawanaka  <shinyak@google.com>
2671
2672         INPUT shouldn't create ShadowRoot dynamically.
2673         https://bugs.webkit.org/show_bug.cgi?id=77930
2674
2675         Reviewed by Dimitri Glazkov.
2676
2677         When input type is changed, ShadowRoot was being re-created. This makes it difficult to
2678         support multiple shadow subtrees. This patch makes input re-use the existing shadow root
2679         instead of re-creating a shaow root. A shadow root should be created when an element is created.
2680
2681         Since media control elements are implemented using input elements, these elements should also
2682         create a shadow root in their construction phase.
2683
2684         Test: fast/dom/shadow/input-shadow-nochange.html
2685         Tests related to media controls should be covered by existing tests.
2686
2687         * html/ColorInputType.cpp:
2688         (WebCore::ColorInputType::createShadowSubtree):
2689         * html/FileInputType.cpp:
2690         (WebCore::FileInputType::createShadowSubtree):
2691         (WebCore::FileInputType::multipleAttributeChanged):
2692         * html/HTMLInputElement.cpp:
2693         (WebCore::HTMLInputElement::createShadowSubtree):
2694         * html/InputType.cpp:
2695         (WebCore::InputType::destroyShadowSubtree):
2696         * html/RangeInputType.cpp:
2697         (WebCore::RangeInputType::createShadowSubtree):
2698         * html/TextFieldInputType.cpp:
2699         (WebCore::TextFieldInputType::createShadowSubtree):
2700         * html/shadow/MediaControlElements.cpp:
2701           Creates a shadow tree in the construction phase.
2702         (WebCore::MediaControlPanelMuteButtonElement::create):
2703         (WebCore::MediaControlVolumeSliderMuteButtonElement::create):
2704         (WebCore::MediaControlPlayButtonElement::create):
2705         (WebCore::MediaControlSeekForwardButtonElement::create):
2706         (WebCore::MediaControlSeekBackButtonElement::create):
2707         (WebCore::MediaControlRewindButtonElement::create):
2708         (WebCore::MediaControlReturnToRealtimeButtonElement::create):
2709         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
2710         (WebCore::MediaControlTimelineElement::create):
2711         (WebCore::MediaControlVolumeSliderElement::create):
2712         (WebCore::MediaControlFullscreenVolumeSliderElement::create):
2713         (WebCore::MediaControlFullscreenButtonElement::create):
2714         (WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
2715         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
2716
2717 2012-02-12  Shinya Kawanaka  <shinyak@google.com>
2718
2719         SVGTRefElement shouldn't create a shadow root dynamically.
2720         https://bugs.webkit.org/show_bug.cgi?id=77938
2721
2722         Reviewed by Hajime Morita.
2723
2724         SVGTRefElement creates a shadow root dynamically. This will cause a problem to support
2725         multiple shadow subtrees. So it should be created in a constructor phase.
2726
2727         Test: svg/custom/tref-shadowdom.html
2728
2729         * svg/SVGTRefElement.cpp:
2730         (WebCore::SVGTRefElement::create):
2731         (WebCore::SVGTRefElement::createShadowSubtree):
2732         (WebCore):
2733         (WebCore::SVGTRefElement::updateReferencedText):
2734         * svg/SVGTRefElement.h:
2735         (SVGTRefElement):
2736
2737 2012-02-12  Kentaro Hara  <haraken@chromium.org>
2738
2739         Unreviewed. Rebaselined run-bindings-tests results.
2740
2741         * bindings/scripts/test/JS/JSFloat64Array.cpp:
2742         (WebCore):
2743         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2744         (WebCore):
2745         (WebCore::JSTestActiveDOMObject::destroy):
2746         (WebCore::JSTestActiveDOMObject::~JSTestActiveDOMObject):
2747         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
2748         (JSTestActiveDOMObject):
2749         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2750         (WebCore):
2751         (WebCore::JSTestCustomNamedGetter::destroy):
2752         (WebCore::JSTestCustomNamedGetter::~JSTestCustomNamedGetter):
2753         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
2754         (JSTestCustomNamedGetter):
2755         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2756         (WebCore):
2757         (WebCore::JSTestEventConstructor::destroy):
2758         (WebCore::JSTestEventConstructor::~JSTestEventConstructor):
2759         * bindings/scripts/test/JS/JSTestEventConstructor.h:
2760         (JSTestEventConstructor):
2761         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2762         (WebCore):
2763         (WebCore::JSTestEventTarget::destroy):
2764         (WebCore::JSTestEventTarget::~JSTestEventTarget):
2765         * bindings/scripts/test/JS/JSTestEventTarget.h:
2766         (JSTestEventTarget):
2767         * bindings/scripts/test/JS/JSTestInterface.cpp:
2768         (WebCore):
2769         (WebCore::JSTestInterface::destroy):
2770         (WebCore::JSTestInterface::~JSTestInterface):
2771         * bindings/scripts/test/JS/JSTestInterface.h:
2772         (JSTestInterface):
2773         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2774         (WebCore):
2775         (WebCore::JSTestMediaQueryListListener::destroy):
2776         (WebCore::JSTestMediaQueryListListener::~JSTestMediaQueryListListener):
2777         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2778         (JSTestMediaQueryListListener):
2779         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2780         (WebCore):
2781         (WebCore::JSTestNamedConstructor::destroy):
2782         (WebCore::JSTestNamedConstructor::~JSTestNamedConstructor):
2783         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2784         (JSTestNamedConstructor):
2785         * bindings/scripts/test/JS/JSTestObj.cpp:
2786         (WebCore):
2787         (WebCore::JSTestObj::destroy):
2788         (WebCore::JSTestObj::~JSTestObj):
2789         * bindings/scripts/test/JS/JSTestObj.h:
2790         (JSTestObj):
2791         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2792         (WebCore):
2793         (WebCore::JSTestSerializedScriptValueInterface::destroy):
2794         (WebCore::JSTestSerializedScriptValueInterface::~JSTestSerializedScriptValueInterface):
2795         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2796         (JSTestSerializedScriptValueInterface):
2797
2798 2012-02-12  Abhishek Arya  <inferno@chromium.org>
2799
2800         Regression (r104528): Crash when moving nodes across documents.
2801         https://bugs.webkit.org/show_bug.cgi?id=78432
2802
2803         Reviewed by Hajime Morita.
2804
2805         Test: fast/dom/node-move-to-new-document-crash-main.html
2806
2807         * dom/TreeScopeAdopter.cpp:
2808         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2809         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
2810         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
2811
2812 2012-02-12  Hajime Morrita  <morrita@chromium.org>
2813
2814         Page should have less intrusive way to associate API implementation objects.
2815         https://bugs.webkit.org/show_bug.cgi?id=78085
2816
2817         Reviewed by Adam Barth.
2818
2819         Introducing PageSupplement interface to attach behind-the-flag-ish
2820         objects to Page instances.
2821
2822         This change aims to improve modularity of Modules/ entries. With
2823         PageSupplement mechinary, we can eliminate ifdef conditionals from
2824         Page.h/Page.cpp and are able to add Modules/ entries without
2825         touching non-Module WebCore files. WebKit API classes like WebPage
2826         can "provide" these objects dynamically during the Page setup phase.
2827
2828         In this change, DeviceMotionController and
2829         DeviceOrientationController is updated to adopt PageSupplement
2830         inteface for an illustrative purpose because they are going to
2831         move into Modules/ shortly. Other Page associated API backing
2832         objects also should be transformed to PageSupplement family.
2833
2834         Reviewed by Adam Barth.
2835
2836         No new tests. No behavior change.
2837
2838         * CMakeLists.txt:
2839         * GNUmakefile.list.am:
2840         * Target.pri:
2841         * WebCore.gypi:
2842         * WebCore.vcproj/WebCore.vcproj:
2843         * WebCore.xcodeproj/project.pbxproj:
2844         * dom/DeviceMotionClient.h:
2845         (WebCore):
2846         * dom/DeviceMotionController.cpp:
2847         (WebCore::DeviceMotionController::supplementName):
2848         (WebCore):
2849         (WebCore::DeviceMotionController::isActiveAt):
2850         (WebCore::provideDeviceMotionTo):
2851         * dom/DeviceMotionController.h:
2852         (DeviceMotionController):
2853         (WebCore::DeviceMotionController::from):
2854         * dom/DeviceOrientationClient.h:
2855         (WebCore):
2856         * dom/DeviceOrientationController.cpp:
2857         (WebCore::DeviceOrientationController::supplementName):
2858         (WebCore):
2859         (WebCore::DeviceOrientationController::isActiveAt):
2860         (WebCore::provideDeviceOrientationTo):
2861         * dom/DeviceOrientationController.h:
2862         (DeviceOrientationController):
2863         (WebCore::DeviceOrientationController::from):
2864         * dom/Document.cpp:
2865         (WebCore::Document::suspendActiveDOMObjects):
2866         (WebCore::Document::resumeActiveDOMObjects):
2867         * history/PageCache.cpp:
2868         (WebCore::logCanCachePageDecision):
2869         (WebCore::PageCache::canCache):
2870         * page/DOMWindow.cpp:
2871         (WebCore::DOMWindow::addEventListener):
2872         (WebCore::DOMWindow::removeEventListener):
2873         (WebCore::DOMWindow::removeAllEventListeners):
2874         * page/PageSupplement.cpp:
2875         (WebCore::PageSupplement::~PageSupplement):
2876         (WebCore::PageSupplement::provideTo):
2877         (WebCore::PageSupplement::from):
2878         * page/PageSupplement.h:
2879         * page/Page.cpp:
2880         (WebCore::Page::Page):
2881         (WebCore::Page::~Page):
2882         (WebCore::Page::provideSupplement):
2883         (WebCore):
2884         (WebCore::Page::requireSupplement):
2885         (WebCore::Page::notifyDestroyedToSupplements):
2886         (WebCore::Page::PageClients::PageClients):
2887         * page/Page.h:
2888         (WebCore):
2889         (PageClients):
2890         (Page):
2891         * svg/graphics/SVGImage.cpp:
2892         (WebCore::SVGImage::dataChanged):
2893
2894 2012-02-12  Nico Weber  <nicolasweber@gmx.de>
2895
2896         [chromium/mac] Change the type of webkit_system_interface from static_library to none
2897         https://bugs.webkit.org/show_bug.cgi?id=78441
2898
2899         This target exists only run an action and to add a dependency to the
2900         action's output to targets depending on webkit_system_interface.
2901         This is what target type 'none' is for. With this, no dummy source
2902         file is needed, and no empty libwebkit_system_interface.a is created.
2903         This also fixes this (harmless) libtool warning:
2904
2905         libtool: warning for library: libwebkit_system_interface.a the table
2906         of contents is empty (no object file members in the library define
2907         global symbols)
2908
2909         Reviewed by Adam Barth.
2910
2911         * WebCore.gyp/WebCore.gyp:
2912         * WebCore.gyp/mac/Empty.cpp: Removed.
2913
2914 2012-02-12  Kenichi Ishibashi  <bashi@chromium.org>
2915
2916         If @font-face does not provide an explicit italic/bold variant, regular is used.
2917         https://bugs.webkit.org/show_bug.cgi?id=34147
2918
2919         Reviewed by Dan Bernstein.
2920
2921         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.
2922         - Drops support for "bolder", "lighter", and "all" value. These are no longer allowed.
2923         - Only allows one value for font-style and font-weight.
2924
2925         Tests: fast/css/font-face-synthetic-bold-italic.html
2926                fast/css/font-face-weight-matching.html
2927
2928         * css/CSSFontSelector.cpp:
2929         (WebCore::CSSFontSelector::addFontFaceRule): Removed "all", "lighter", "bolder" handling code.
2930         (WebCore::compareFontFaces):Updated the weight matching algortihm.
2931         * css/CSSParser.cpp:
2932         (WebCore::CSSParser::parseValue): Replaced parseFontStyle() call with checking primitive values.
2933         (WebCore::CSSParser::parseFontWeight): Changed to allow only primitive values.
2934         (WebCore::CSSParser::createFontFaceRule): Removed checks for font-weight and font-style.
2935         (WebCore::CSSParser::deleteFontFaceOnlyValues): Ditto.
2936         * css/CSSParser.h: Removed parseFontStyle().
2937
2938 2012-02-12  David Reveman  <reveman@chromium.org>
2939
2940         [Chromium] Avoid unnecessary memset in per-tile layer updater.
2941         https://bugs.webkit.org/show_bug.cgi?id=78426
2942
2943         Reviewed by Stephen White.
2944
2945         Use our own SkBitmap and call SkBitmap::allocPixels() instead of
2946         letting SkDevice construct a SkBitmap. This avoids an unnecessary
2947         memset otherwise done by SkDevice.
2948
2949         No new tests.
2950
2951         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
2952         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
2953         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
2954         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
2955         (Texture):
2956
2957 2012-02-12  Joe Thomas  <joethomas@motorola.com>
2958
2959         Add toText and isTextNode helpers in Text class.
2960         https://bugs.webkit.org/show_bug.cgi?id=78140
2961
2962         Added a new helper function toText() in dom/Text.h which does the type casting operation to Text object.
2963         Modified the code to make use of this helper function.
2964
2965         Reviewed by Adam Barth.
2966
2967         No new tests.
2968
2969         * accessibility/AccessibilityRenderObject.cpp:
2970         (WebCore::accessibleNameForNode):
2971         * bindings/v8/custom/V8NodeCustom.cpp:
2972         (WebCore::toV8Slow):
2973         * css/SelectorChecker.cpp:
2974         (WebCore::SelectorChecker::checkOneSelector):
2975         * dom/Attr.cpp:
2976         (WebCore::Attr::childrenChanged):
2977         * dom/Element.cpp:
2978         (WebCore::Element::recalcStyle):
2979         * dom/Node.cpp:
2980         (WebCore::Node::normalize):
2981         * dom/Position.cpp:
2982         (WebCore::Position::containerText):
2983         (WebCore::Position::leadingWhitespacePosition):
2984         * dom/Range.cpp:
2985         (WebCore::Range::insertNode):
2986         (WebCore::Range::getBorderAndTextQuads):
2987         * dom/ScriptElement.cpp:
2988         (WebCore::ScriptElement::scriptContent):
2989         * dom/ShadowRoot.cpp:
2990         (WebCore::ShadowRoot::recalcShadowTreeStyle):
2991         * dom/Text.h: Added new helper function toText.
2992         (WebCore::toText): new helper function which does the type casting operation to Text object.
2993         (WebCore):
2994         * editing/ApplyBlockElementCommand.cpp:
2995         (WebCore::isNewLineAtPosition):
2996         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded):
2997         * editing/ApplyStyleCommand.cpp:
2998         (WebCore::ApplyStyleCommand::splitTextAtEnd):
2999         (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
3000         (WebCore::ApplyStyleCommand::joinChildTextNodes):
3001         * editing/BreakBlockquoteCommand.cpp:
3002         (WebCore::BreakBlockquoteCommand::doApply):
3003         * editing/CompositeEditCommand.cpp:
3004         (WebCore::CompositeEditCommand::insertNodeAt):
3005         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
3006         (WebCore::CompositeEditCommand::canRebalance):
3007         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
3008         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
3009         (WebCore::CompositeEditCommand::deleteInsignificantText):
3010         (WebCore::CompositeEditCommand::removePlaceholderAt):
3011         (WebCore::CompositeEditCommand::cleanupAfterDeletion):
3012         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
3013         * editing/DeleteSelectionCommand.cpp:
3014         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3015         (WebCore::DeleteSelectionCommand::fixupWhitespace):
3016         * editing/Editor.cpp:
3017         (WebCore::Editor::setComposition):
3018         * editing/InsertLineBreakCommand.cpp:
3019         (WebCore::InsertLineBreakCommand::doApply):
3020         * editing/InsertParagraphSeparatorCommand.cpp:
3021         (WebCore::InsertParagraphSeparatorCommand::doApply):
3022         * editing/InsertTextCommand.cpp:
3023         (WebCore::InsertTextCommand::insertTab):
3024         * editing/MarkupAccumulator.cpp:
3025         (WebCore::MarkupAccumulator::appendStartMarkup):
3026         * editing/ReplaceSelectionCommand.cpp:
3027         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
3028         (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
3029         (WebCore::ReplaceSelectionCommand::insertAsListItems):
3030         (WebCore::ReplaceSelectionCommand::performTrivialReplace):
3031         * editing/htmlediting.cpp:
3032         (WebCore::lineBreakExistsAtPosition):
3033         * editing/visible_units.cpp:
3034         (WebCore::startPositionForLine):
3035         (WebCore::endPositionForLine):
3036         (WebCore::startOfParagraph):
3037         (WebCore::endOfParagraph):
3038         * html/HTMLElement.cpp:
3039         (WebCore::replaceChildrenWithFragment):
3040         (WebCore::replaceChildrenWithText):
3041         (WebCore::mergeWithNextTextNode):
3042         * html/HTMLObjectElement.cpp:
3043         (WebCore::HTMLObjectElement::hasFallbackContent):
3044         (WebCore::HTMLObjectElement::updateDocNamedItem):
3045         * html/HTMLOptionElement.cpp:
3046         (WebCore::HTMLOptionElement::setText):
3047         * html/HTMLScriptElement.cpp:
3048         (WebCore::HTMLScriptElement::setText):
3049         * html/HTMLTextAreaElement.cpp:
3050         (WebCore::HTMLTextAreaElement::defaultValue):
3051         * html/HTMLTextFormControlElement.cpp:
3052         (WebCore::HTMLTextFormControlElement::innerTextValue):
3053         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
3054         * html/HTMLTitleElement.cpp:
3055         (WebCore::HTMLTitleElement::text):
3056         (WebCore::HTMLTitleElement::setText):
3057         * inspector/InspectorDOMAgent.cpp:
3058         (WebCore::InspectorDOMAgent::setNodeValue):
3059         * rendering/RenderText.cpp:
3060         (WebCore::RenderText::originalText):
3061         * rendering/RenderTextFragment.cpp:
3062         (WebCore::RenderTextFragment::originalText):
3063         (WebCore::RenderTextFragment::previousCharacter):
3064
3065 2012-02-12  Kentaro Hara  <haraken@chromium.org>
3066
3067         Remove [CPPCustom] from CodeGeneratorCPP.pm
3068         https://bugs.webkit.org/show_bug.cgi?id=78342
3069
3070         Reviewed by Adam Barth.
3071
3072         This patch removes [CPPCustom].
3073
3074         [CPPCustom] has been used in DOMWindow.location only to indicate that
3075         DOMWindow.location should be ignored in CPP. However, there are many
3076         other attributes and methods that CPP does not support (e.g. [CallWith=...],
3077         [CustomSetter], etc), and they are not yet marked with [CPPCustom].
3078         CPP just generates "meaningless" code for those unsupported attributes
3079         and methods. Ideally we can mark all unsupported attributes and methods
3080         with [CPPCustom], but it would not be so practical. Otherwise, removing
3081         [CPPCustom] would make sense. The side effect of removing [CPPCustom]
3082         is just that CPP will generate "meaningless" code for DOMWindow.location.
3083
3084         No tests. No change in behavior.
3085
3086         * bindings/scripts/CodeGeneratorCPP.pm:
3087         (ShouldSkipType):
3088         * page/DOMWindow.idl:
3089
3090 2012-02-12  Kentaro Hara  <haraken@chromium.org>
3091
3092         Rename [JSCustomPrototypeDefineOwnProperty] to [JSCustomDefineOwnPropertyOnPrototype]
3093         https://bugs.webkit.org/show_bug.cgi?id=78354
3094
3095         Reviewed by Adam Barth.
3096
3097         This patch renames [JSCustomPrototypeDefineOwnProperty] to
3098         [JSCustomDefineOwnPropertyOnPrototype], for naming consistency with
3099         [JSCustomDefineOwnProperty] and [JSCustomNamedGetterOnPrototype].
3100
3101         No tests. No change in behavior.
3102
3103         * bindings/scripts/CodeGeneratorJS.pm:
3104         (GenerateHeader):
3105         * page/Location.idl:
3106
3107 2012-02-11  Filip Pizlo  <fpizlo@apple.com>
3108
3109         It should be possible to send all JSC debug logging to a file
3110         https://bugs.webkit.org/show_bug.cgi?id=78418
3111
3112         Reviewed by Sam Weinig.
3113         
3114         Introduced wtf/DataLog, which defines WTF::dataFile, WTF::dataLog,
3115         and WTF::dataLogV. Changed all debugging- and profiling-related printfs
3116         to use WTF::dataLog() or one of its friends. By default, debug logging
3117         goes to stderr, unless you change the setting in wtf/DataLog.cpp.
3118
3119         No new tests because behavior is unchanged.
3120
3121         * ForwardingHeaders/wtf/DataLog.h: Added.
3122
3123 2012-02-11  Gavin Barraclough  <barraclough@apple.com>
3124
3125         Move special __proto__ property to Object.prototype
3126         https://bugs.webkit.org/show_bug.cgi?id=78409
3127
3128         Reviewed by Oliver Hunt.
3129
3130         Re-implement this as a regular accessor property.  This has three key benefits:
3131         1) It makes it possible for objects to be given properties named __proto__.
3132         2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
3133         3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.
3134
3135         * bindings/js/JSDOMWindowBase.cpp:
3136         (WebCore::JSDOMWindowBase::allowsAccessFrom):
3137         (WebCore):
3138             - expose allowsAccessFrom check to JSC.
3139         * bindings/js/JSDOMWindowBase.h:
3140         (JSDOMWindowBase):
3141             - expose allowsAccessFrom check to JSC.
3142
3143 2012-02-11  Benjamin Poulain  <benjamin@webkit.org>
3144
3145         Get rid of WebCore::URLString
3146         https://bugs.webkit.org/show_bug.cgi?id=78429
3147
3148         Reviewed by Adam Barth.
3149
3150         URLString is unused, remove the class.
3151
3152         * GNUmakefile.list.am:
3153         * WebCore.gypi:
3154         * WebCore.xcodeproj/project.pbxproj:
3155         * platform/KURL.cpp:
3156         * platform/KURL.h:
3157         (KURL):
3158         * platform/URLString.h: Removed.
3159
3160 2012-02-11  Sam Weinig  <sam@webkit.org>
3161
3162         Fix the windows build.
3163
3164         Since Windows uses an all-in-one file to compile, the isRespectedPresentationAttribute()
3165         functions all need unique names.
3166
3167         * html/HTMLBodyElement.cpp:
3168         * html/HTMLHRElement.cpp:
3169         * html/HTMLIFrameElement.cpp:
3170         * html/HTMLImageElement.cpp:
3171         * html/HTMLInputElement.cpp:
3172         * html/HTMLMarqueeElement.cpp:
3173         * html/HTMLPlugInElement.cpp:
3174         * html/HTMLTableCellElement.cpp:
3175         * html/HTMLTablePartElement.cpp:
3176         * mathml/MathMLElement.cpp:
3177
3178 2012-02-11  Anders Carlsson  <andersca@apple.com>
3179
3180         Overlay scrollbars don't appear when scrolling on the scrolling thread
3181         https://bugs.webkit.org/show_bug.cgi?id=78427
3182
3183         Reviewed by Sam Weinig.
3184
3185         Add a ScrollAnimator::notifyContentAreaScrolled and call it from ScrollAnimator::notifyContentAreaScrolled.
3186         It is then overridden in ScrollAnimatorMac to tickle AppKit so that overlay scrollbars will be shown.
3187
3188         * platform/ScrollAnimator.h:
3189         (WebCore::ScrollAnimator::notifyContentAreaScrolled):
3190         (ScrollAnimator):
3191         * platform/ScrollableArea.cpp:
3192         (WebCore::ScrollableArea::notifyScrollPositionChanged):
3193         * platform/mac/ScrollAnimatorMac.h:
3194         (ScrollAnimatorMac):
3195         * platform/mac/ScrollAnimatorMac.mm:
3196         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
3197         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
3198         (WebCore):
3199
3200 2012-02-11  Anders Carlsson  <andersca@apple.com>
3201
3202         Implement more ScrollElasticityControllerClient member functions
3203         https://bugs.webkit.org/show_bug.cgi?id=78425
3204         <rdar://problem/10710727>
3205
3206         Reviewed by Sam Weinig.
3207
3208         * page/scrolling/ScrollingTreeNode.h:
3209         (ScrollingTreeNode):
3210         (WebCore::ScrollingTreeNode::horizontalScrollElasticity):
3211         (WebCore::ScrollingTreeNode::verticalScrollElasticity):
3212         (WebCore::ScrollingTreeNode::hasEnabledHorizontalScrollbar):
3213         (WebCore::ScrollingTreeNode::hasEnabledVerticalScrollbar):
3214         Add new getters.
3215
3216         * page/scrolling/mac/ScrollingTreeNodeMac.h:
3217         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
3218         (WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching):
3219         (WebCore::ScrollingTreeNodeMac::allowsVerticalStretching):
3220         (WebCore::ScrollingTreeNodeMac::stretchAmount):
3221         (WebCore::ScrollingTreeNodeMac::pinnedInDirection):
3222         (WebCore::ScrollingTreeNodeMac::canScrollHorizontally):
3223         (WebCore::ScrollingTreeNodeMac::canScrollVertically):
3224         (WebCore::ScrollingTreeNodeMac::absoluteScrollPosition):
3225         (WebCore::ScrollingTreeNodeMac::immediateScrollByWithoutContentEdgeConstraints):
3226         (WebCore::ScrollingTreeNodeMac::startSnapRubberbandTimer):
3227         (WebCore::ScrollingTreeNodeMac::stopSnapRubberbandTimer):
3228         (WebCore::ScrollingTreeNodeMac::scrollByWithoutContentEdgeConstraints):
3229         Implement ScrollElasticityControllerClient member functions.
3230
3231 2012-02-11  Antti Koivisto  <antti@apple.com>
3232
3233         Add size assert for Length
3234         https://bugs.webkit.org/show_bug.cgi?id=78420
3235
3236         Rubber-stamped by Andreas Kling.
3237
3238         Length type is memory critical and must not grow.
3239
3240         * platform/Length.cpp:
3241         (SameSizeAsLength):
3242         (WebCore):
3243
3244 2012-02-11  Anders Carlsson  <andersca@apple.com>
3245
3246         Pass wheel events to a scroll elasticity controller on the scrolling thread
3247         https://bugs.webkit.org/show_bug.cgi?id=78421
3248
3249         Reviewed by Sam Weinig.
3250
3251         Add a ScrollElasticityController to ScrollingTreeNodeMac and pass wheel events to it.
3252         Fix ScrollingTreeNodeMac::scrollBy to clamp by the minimum and maximum scroll positions.
3253
3254         * page/scrolling/mac/ScrollingTreeNodeMac.h:
3255         (ScrollingTreeNodeMac):
3256         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
3257         (WebCore::ScrollingTreeNodeMac::ScrollingTreeNodeMac):
3258         (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
3259         (WebCore::ScrollingTreeNodeMac::immediateScrollBy):
3260         (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
3261         (WebCore::ScrollingTreeNodeMac::minimumScrollPosition):
3262         (WebCore):
3263         (WebCore::ScrollingTreeNodeMac::maximumScrollPosition):
3264         (WebCore::ScrollingTreeNodeMac::scrollBy):
3265
3266 2012-02-11  Andreas Kling  <awesomekling@apple.com>
3267
3268         Attribute styles should be created lazily.
3269         <http://webkit.org/b/78381>
3270
3271         Reviewed by Antti Koivisto.
3272
3273         TL;DR summary: Lazily construct the StyledElement::attributeStyle() instead of
3274         moving properties in/out of it in parseAttribute(). This allows us to enable
3275         the matched declaration cache for elements with presentation attributes.
3276
3277         The matched declaration cache has been disabled for elements with presentation
3278         attributes because attributeStyle() was mutable, and (simply put) the cache maps
3279         a set of StylePropertySet pointers to a resulting RenderStyle. This requires
3280         that the StylePropertySets are immutable.
3281
3282         To make them immutable, we now construct the attribute style lazily by adding
3283         a flag (to Node) that gets set in parseAttribute() when a presentation attribute
3284         respected by the element changes. A subsequent call to attributeStyle() checks
3285         the flag and rebuilds the style by looping over the attributes and calling the
3286         new virtual StyledElement::collectStyleForAttribute() on each one. Any dangling
3287         references to the previous attribute style will be garbage collected by the
3288         cache in CSSStyleSelector::sweepMatchedDeclarationCache().
3289
3290         * css/CSSStyleSelector.cpp:
3291         (WebCore::CSSStyleSelector::matchAllRules):
3292
3293             Enable matched declaration cache for elements with attribute style.
3294
3295         * dom/Node.h:
3296         (WebCore::Node::attributeStyleDirty):
3297         (WebCore::Node::setAttributeStyleDirty):
3298         (WebCore::Node::clearAttributeStyleDirty):
3299
3300             Add a Node flag to signify that a presentation attribute has changed and
3301             the attribute style needs to be rebuilt.
3302
3303         * dom/ElementAttributeData.h:
3304         * dom/ElementAttributeData.cpp:
3305         (WebCore::ElementAttributeData::setAttributeStyle):
3306
3307             Added a setter for the attribute style, called by updateAttributeStyle().
3308
3309         * dom/StyledElement.cpp:
3310         (WebCore::StyledElement::addHTMLLengthToStyle):
3311         (WebCore::StyledElement::addHTMLColorToStyle):
3312
3313             Moved and renamed two of the old addCSS* helpers from StyledElement.
3314
3315         (WebCore::StyledElement::updateAttributeStyle):
3316
3317             Called by attributeStyle() in case the "attribute style dirty" flag is
3318             set. Rebuilds the attribute style from scratch by looping over the
3319             attribute map and calling collectStyleForAttribute() on each attribute.
3320
3321         * dom/StyledElement.h:
3322         (WebCore::StyledElement::collectStyleForAttribute):
3323         (WebCore::StyledElement::attributeStyle):
3324         (WebCore::StyledElement::setNeedsAttributeStyleUpdate):
3325
3326             Helper, sets the attribute style dirty flag and marks the element for
3327             full style recalc. This is what parseAttribute() calls in subclasses
3328             when they encounter a presentation attribute.
3329
3330         * html/HTMLBRElement.cpp:
3331         (WebCore::HTMLBRElement::collectStyleForAttribute):
3332         (WebCore::HTMLBRElement::parseAttribute):
3333         * html/HTMLBRElement.h:
3334         * html/HTMLBodyElement.cpp:
3335         (WebCore::isRespectedPresentationAttribute):
3336         (WebCore::HTMLBodyElement::collectStyleForAttribute):
3337         (WebCore::HTMLBodyElement::parseAttribute):
3338         * html/HTMLBodyElement.h:
3339         * html/HTMLDivElement.cpp:
3340         (WebCore::HTMLDivElement::collectStyleForAttribute):
3341         (WebCore::HTMLDivElement::parseAttribute):
3342         * html/HTMLDivElement.h:
3343         * html/HTMLElement.cpp:
3344         (WebCore::HTMLElement::applyBorderAttributeToStyle):
3345         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
3346         (WebCore::HTMLElement::collectStyleForAttribute):
3347         (WebCore::HTMLElement::parseAttribute):
3348         (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
3349         * html/HTMLElement.h:
3350         * html/HTMLEmbedElement.cpp:
3351         (WebCore::HTMLEmbedElement::collectStyleForAttribute):
3352         (WebCore::HTMLEmbedElement::parseAttribute):
3353         * html/HTMLEmbedElement.h:
3354         * html/HTMLFontElement.cpp:
3355         (WebCore::HTMLFontElement::collectStyleForAttribute):
3356         (WebCore::HTMLFontElement::parseAttribute):
3357         * html/HTMLFontElement.h:
3358         * html/HTMLFrameSetElement.cpp:
3359         (WebCore::HTMLFrameSetElement::collectStyleForAttribute):
3360         (WebCore::HTMLFrameSetElement::parseAttribute):
3361         * html/HTMLFrameSetElement.h:
3362         * html/HTMLHRElement.cpp:
3363         (WebCore::isRespectedPresentationAttribute):
3364         (WebCore::HTMLHRElement::collectStyleForAttribute):
3365         (WebCore::HTMLHRElement::parseAttribute):
3366         * html/HTMLHRElement.h:
3367         * html/HTMLIFrameElement.cpp:
3368         (WebCore::HTMLIFrameElement::collectStyleForAttribute):
3369         (WebCore::HTMLIFrameElement::parseAttribute):
3370         * html/HTMLIFrameElement.h:
3371         * html/HTMLImageElement.cpp:
3372         (WebCore::isRespectedPresentationAttribute):
3373         (WebCore::HTMLImageElement::collectStyleForAttribute):
3374         (WebCore::HTMLImageElement::parseAttribute):
3375         * html/HTMLImageElement.h:
3376         * html/HTMLInputElement.cpp:
3377         (WebCore::isRespectedPresentationAttribute):
3378         (WebCore::HTMLInputElement::collectStyleForAttribute):
3379         (WebCore::HTMLInputElement::parseAttribute):
3380         * html/HTMLInputElement.h:
3381         * html/HTMLLIElement.cpp:
3382         (WebCore::HTMLLIElement::collectStyleForAttribute):
3383         (WebCore::HTMLLIElement::parseAttribute):
3384         * html/HTMLLIElement.h:
3385         * html/HTMLMarqueeElement.cpp:
3386         (WebCore::isRespectedPresentationAttribute):
3387         (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
3388         (WebCore::HTMLMarqueeElement::parseAttribute):
3389         * html/HTMLMarqueeElement.h:
3390         * html/HTMLOListElement.cpp:
3391         (WebCore::HTMLOListElement::collectStyleForAttribute):
3392         (WebCore::HTMLOListElement::parseAttribute):
3393         * html/HTMLOListElement.h:
3394         * html/HTMLObjectElement.cpp:
3395         (WebCore::HTMLObjectElement::collectStyleForAttribute):
3396         (WebCore::HTMLObjectElement::parseAttribute):
3397         * html/HTMLObjectElement.h:
3398         * html/HTMLParagraphElement.cpp:
3399         (WebCore::HTMLParagraphElement::collectStyleForAttribute):
3400         (WebCore::HTMLParagraphElement::parseAttribute):
3401         * html/HTMLParagraphElement.h:
3402         * html/HTMLPlugInElement.cpp:
3403         (WebCore::isRespectedPresentationAttribute):
3404         (WebCore::HTMLPlugInElement::collectStyleForAttribute):
3405         (WebCore::HTMLPlugInElement::parseAttribute):
3406         * html/HTMLPlugInElement.h:
3407         * html/HTMLPreElement.cpp:
3408         (WebCore::HTMLPreElement::collectStyleForAttribute):
3409         (WebCore::HTMLPreElement::parseAttribute):
3410         * html/HTMLPreElement.h:
3411         * html/HTMLTableCaptionElement.cpp:
3412         (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
3413         (WebCore::HTMLTableCaptionElement::parseAttribute):
3414         * html/HTMLTableCaptionElement.h:
3415         * html/HTMLTableCellElement.cpp:
3416         (WebCore::isRespectedPresentationAttribute):
3417         (WebCore::HTMLTableCellElement::collectStyleForAttribute):
3418         (WebCore::HTMLTableCellElement::parseAttribute):
3419         * html/HTMLTableCellElement.h:
3420         * html/HTMLTableColElement.cpp:
3421         (WebCore::HTMLTableColElement::collectStyleForAttribute):
3422         (WebCore::HTMLTableColElement::parseAttribute):
3423         * html/HTMLTableColElement.h:
3424         * html/HTMLTableElement.cpp:
3425         (WebCore::getBordersFromFrameAttributeValue):
3426         (WebCore::HTMLTableElement::collectStyleForAttribute):
3427         (WebCore::HTMLTableElement::parseAttribute):
3428         * html/HTMLTableElement.h:
3429         * html/HTMLTablePartElement.cpp:
3430         (WebCore::isRespectedPresentationAttribute):
3431         (WebCore::HTMLTablePartElement::collectStyleForAttribute):
3432         (WebCore::HTMLTablePartElement::parseAttribute):
3433         * html/HTMLTablePartElement.h:
3434         * html/HTMLTextAreaElement.cpp:
3435         (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
3436         (WebCore::HTMLTextAreaElement::parseAttribute):
3437         * html/HTMLTextAreaElement.h:
3438         * html/HTMLUListElement.cpp:
3439         (WebCore::HTMLUListElement::collectStyleForAttribute):
3440         (WebCore::HTMLUListElement::parseAttribute):
3441         * html/HTMLUListElement.h:
3442         * html/HTMLVideoElement.cpp:
3443         (WebCore::HTMLVideoElement::collectStyleForAttribute):
3444         (WebCore::HTMLVideoElement::parseAttribute):
3445         * html/HTMLVideoElement.h:
3446         * mathml/MathMLElement.cpp:
3447         (WebCore::isRespectedPresentationAttribute):
3448         (WebCore::MathMLElement::collectStyleForAttribute):
3449         (WebCore::MathMLElement::parseAttribute):
3450         * mathml/MathMLElement.h:
3451         * svg/SVGImageElement.cpp:
3452         (WebCore::SVGImageElement::collectStyleForAttribute):
3453         (WebCore::SVGImageElement::parseAttribute):
3454         * svg/SVGImageElement.h:
3455         * svg/SVGStyledElement.cpp:
3456         (WebCore::SVGStyledElement::collectStyleForAttribute):
3457         (WebCore::SVGStyledElement::parseAttribute):
3458         * svg/SVGStyledElement.h:
3459         * svg/SVGTextContentElement.cpp:
3460         (WebCore::SVGTextContentElement::collectStyleForAttribute):
3461         (WebCore::SVGTextContentElement::parseAttribute):
3462         * svg/SVGTextContentElement.h:
3463
3464             Split handling of presentation attributes between parseAttribute() and
3465             collectStyleForAttribute() as appropriate. Some minor refactorings here and
3466             there (mostly in HTMLTableElement) to avoid excessive code duplication.
3467             Also sprinkled FIXMEs about inefficiencies we should clean up.
3468
3469 2012-02-11   Arko Saha  <arko@motorola.com>
3470
3471         HTML 5: Support click() method on HTMLElement.
3472         https://bugs.webkit.org/show_bug.cgi?id=27880
3473
3474         Reviewed by Timothy Hatcher.
3475
3476         Test: fast/dom/click-method-on-html-element.html
3477
3478         * bindings/objc/PublicDOMInterfaces.h: Added click() method in DOMHTMLElement
3479         with availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1.
3480         * html/HTMLButtonElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C.
3481         * html/HTMLElement.idl: Added click() IDL method.
3482         * html/HTMLInputElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C.
3483
3484 2012-02-11  Martin Robinson  <mrobinson@igalia.com>
3485
3486         [GStreamer] html5test.com says that gstreamer ports do not support WebM for audio
3487         https://bugs.webkit.org/show_bug.cgi?id=78244
3488
3489         Reviewed by Eric Seidel.
3490
3491         Specifically advertise support for audio/webm when we support the vorbis
3492         audio codec. This is necessary because gstreamer doesn't advertise it.
3493
3494         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3495         (WebCore::mimeTypeCache): Add an override for audio/webm.
3496
3497 2012-02-11  Anders Carlsson  <andersca@apple.com>
3498
3499         Try to fix the Windows build.
3500
3501         * platform/win/PopupMenuWin.cpp:
3502         (WebCore::PopupMenuWin::scrollToRevealSelection):
3503
3504 2012-02-08  Stephen White  <senorblanco@chromium.org>
3505
3506         [chromium] Enable CSS filters on composited layers.
3507         https://bugs.webkit.org/show_bug.cgi?id=77266
3508
3509         Reviewed by James Robinson.
3510
3511         Will be covered by existing tests in css3/filters (when enabled).
3512
3513         * WebCore.gypi:
3514         Add CCRenderSurfaceFilters.* to the Chromium build.
3515         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3516         (WebCore::GraphicsLayerChromium::setFilters):
3517         * platform/graphics/chromium/GraphicsLayerChromium.h:
3518         Override setFilters() virtual from GraphicsLayer.
3519         * platform/graphics/chromium/LayerChromium.cpp:
3520         (WebCore::LayerChromium::setFilters):
3521         Implement setFilters() to cache the filters here...
3522         (WebCore::LayerChromium::pushPropertiesTo):
3523         ... and push them to the CCLayerImpl at commit time.
3524         * platform/graphics/chromium/LayerChromium.h:
3525         (WebCore::LayerChromium::filters):
3526         Implement accessor.
3527         * platform/graphics/chromium/RenderSurfaceChromium.h:
3528         (WebCore::RenderSurfaceChromium::setFilters):
3529         Implement stub version of setFilters(), to satisfy the templates.
3530         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3531         (WebCore::CCLayerImpl::setFilters):
3532         Implement setter to receive filters at commit time.
3533         * platform/graphics/chromium/cc/CCLayerImpl.h:
3534         (WebCore::CCLayerImpl::filters):
3535         Implement member var and accessor for filters.
3536         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3537         (WebCore::calculateDrawTransformsAndVisibilityInternal):
3538         Add another clause here to force creation of a RenderSurface when
3539         filters are present, and to forward them from the layer to the
3540         RenderSurface.
3541         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3542         (WebCore::CCRenderSurface::draw):
3543         (WebCore::CCRenderSurface::drawLayer):
3544         Check for filters at draw time, apply them, and forward the result
3545         through the drawing traversal.
3546         (WebCore::CCRenderSurface::drawSurface):
3547         If filter bitmap is present, bind it instead of the normal
3548         RenderSurface texture.
3549         (WebCore::CCRenderSurface::applyFilters):
3550         Apply filters to the render surface texture, and return the result.
3551         This function is a no-op for the threaded compositor, due to use
3552         of the SharedGraphicsContext3D.
3553         * platform/graphics/chromium/cc/CCRenderSurface.h:
3554         (WebCore::CCRenderSurface::setFilters):
3555         (WebCore::CCRenderSurface::filters):
3556